<?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>136487</bug_id>
          
          <creation_ts>2014-09-03 11:06:26 -0700</creation_ts>
          <short_desc>[iOS] Make WebCore build and link with public SDK</short_desc>
          <delta_ts>2017-11-02 03:32:25 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</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>
          <dependson>137536</dependson>
    
    <dependson>138709</dependson>
    
    <dependson>138742</dependson>
    
    <dependson>138751</dependson>
    
    <dependson>138756</dependson>
    
    <dependson>138760</dependson>
    
    <dependson>138802</dependson>
          <blocked>136863</blocked>
    
    <blocked>137371</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jeremyj-wk</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mjs</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1032933</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-03 11:06:26 -0700</bug_when>
    <thetext>Towards building the iOS WebKit port using the the public iOS SDK, we need to build WebCore for iOS using the public iOS SDK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032936</commentid>
    <comment_count>1</comment_count>
      <attachid>237563</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-03 11:14:06 -0700</bug_when>
    <thetext>Created attachment 237563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032940</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-03 11:16:41 -0700</bug_when>
    <thetext>Attachment 237563 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:34:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:43:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:44:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/dispatch/DispatchSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/dispatch/DispatchSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/dispatch/DispatchSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGImageSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGImageSPI.h:35:  __CG_DEPRECATED_ENUMERATOR is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cg/CGContextSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGContextSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cui/CUICatalogSPI.h:34:  Extra space before [  [whitespace/braces] [5]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 23 in 80 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032974</commentid>
    <comment_count>3</comment_count>
      <attachid>237570</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-03 12:36:52 -0700</bug_when>
    <thetext>Created attachment 237570
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032975</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-03 12:39:29 -0700</bug_when>
    <thetext>Attachment 237570 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:34:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:43:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:44:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/dispatch/DispatchSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/dispatch/DispatchSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/dispatch/DispatchSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGImageSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGImageSPI.h:35:  __CG_DEPRECATED_ENUMERATOR is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cg/CGContextSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGContextSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cui/CUICatalogSPI.h:34:  Extra space before [  [whitespace/braces] [5]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 23 in 81 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033006</commentid>
    <comment_count>5</comment_count>
      <attachid>237579</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-03 14:00:45 -0700</bug_when>
    <thetext>Created attachment 237579
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033009</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-03 14:03:34 -0700</bug_when>
    <thetext>Attachment 237579 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:34:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:43:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:44:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/dispatch/DispatchSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/dispatch/DispatchSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/dispatch/DispatchSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGImageSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGImageSPI.h:35:  __CG_DEPRECATED_ENUMERATOR is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cg/CGContextSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGContextSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cui/CUICatalogSPI.h:34:  Extra space before [  [whitespace/braces] [5]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 23 in 82 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033203</commentid>
    <comment_count>7</comment_count>
      <attachid>237624</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-04 08:30:11 -0700</bug_when>
    <thetext>Created attachment 237624
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033204</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-04 08:32:28 -0700</bug_when>
    <thetext>Attachment 237624 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:34:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:43:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:44:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/dispatch/DispatchSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/dispatch/DispatchSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/dispatch/DispatchSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ct/CTFontSPI.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cui/CUICatalogSPI.h:34:  Extra space before [  [whitespace/braces] [5]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGContextSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGContextSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGImageSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGImageSPI.h:35:  __CG_DEPRECATED_ENUMERATOR is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 23 in 84 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033378</commentid>
    <comment_count>9</comment_count>
      <attachid>237624</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-09-04 18:20:50 -0700</bug_when>
    <thetext>Comment on attachment 237624
Patch

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

I think this goes a little overboard with the directory structure under platform/spi/, so I&apos;d like to see another pass at this.

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:5758
&gt; +		CE4F6D2D19B774D500BFC64A /* AVPlayerControllerSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D2919B774D500BFC64A /* AVPlayerControllerSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D2E19B774D500BFC64A /* AVPlayerViewControllerSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D2A19B774D500BFC64A /* AVPlayerViewControllerSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D2F19B774D500BFC64A /* AVValueTimingSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D2B19B774D500BFC64A /* AVValueTimingSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D3019B774D500BFC64A /* AVVideoLayerSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D2C19B774D500BFC64A /* AVVideoLayerSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D3419B774F600BFC64A /* CALayerSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D3219B774F600BFC64A /* CALayerSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D3519B774F600BFC64A /* CATiledLayerSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D3319B774F600BFC64A /* CATiledLayerSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D4119B7751200BFC64A /* CGColorTransformSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D3719B7751200BFC64A /* CGColorTransformSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D4219B7751200BFC64A /* CGContextGStateSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D3819B7751200BFC64A /* CGContextGStateSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D4319B7751200BFC64A /* CGContextSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D3919B7751200BFC64A /* CGContextSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D4419B7751200BFC64A /* CGFloatSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D3A19B7751200BFC64A /* CGFloatSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D4519B7751200BFC64A /* CGFontGlyphSupportSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D3B19B7751200BFC64A /* CGFontGlyphSupportSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D4619B7751200BFC64A /* CGFontInfoSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D3C19B7751200BFC64A /* CGFontInfoSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D4719B7751200BFC64A /* CGFontRenderingSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D3D19B7751200BFC64A /* CGFontRenderingSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D4819B7751200BFC64A /* CGFontUnicodeSupportSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D3E19B7751200BFC64A /* CGFontUnicodeSupportSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D4919B7751200BFC64A /* CGImageSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D3F19B7751200BFC64A /* CGImageSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D4A19B7751200BFC64A /* CGSRegionSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D4019B7751200BFC64A /* CGSRegionSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D5719B7757B00BFC64A /* CTFontDescriptorSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D4C19B7757B00BFC64A /* CTFontDescriptorSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D5819B7757B00BFC64A /* CTFontSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D4D19B7757B00BFC64A /* CTFontSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D5919B7757B00BFC64A /* CUICatalogSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D4F19B7757B00BFC64A /* CUICatalogSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D5A19B7757B00BFC64A /* CUIStyleEffectConfigurationSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D5019B7757B00BFC64A /* CUIStyleEffectConfigurationSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D5B19B7757B00BFC64A /* MobileGestaltSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D5219B7757B00BFC64A /* MobileGestaltSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D5C19B7757B00BFC64A /* MPAVRoutingControllerSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D5319B7757B00BFC64A /* MPAVRoutingControllerSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D5D19B7757B00BFC64A /* QLPreviewConverterSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D5519B7757B00BFC64A /* QLPreviewConverterSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D5E19B7757B00BFC64A /* QuickLookSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D5619B7757B00BFC64A /* QuickLookSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D6419B775F800BFC64A /* DispatchSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D5F19B775F800BFC64A /* DispatchSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D6519B775F800BFC64A /* dyldSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D6019B775F800BFC64A /* dyldSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D6619B775F800BFC64A /* NSFileManagerSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D6119B775F800BFC64A /* NSFileManagerSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D6719B775F800BFC64A /* NSGeometrySPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D6219B775F800BFC64A /* NSGeometrySPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D6819B775F800BFC64A /* NSPointerFunctionsSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D6319B775F800BFC64A /* NSPointerFunctionsSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		CE4F6D6A19B7854E00BFC64A /* IOPMLibSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE4F6D6919B7854E00BFC64A /* IOPMLibSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };

Does every single one of these new headers actually need to be Private? I didn&apos;t check every one of them, but at least one doesn&apos;t seem to be used outside of WebCore (CGFontUnicodeSupportSPI.h).

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:16206
&gt; +				CE4F6D2819B774D500BFC64A /* avkit */,
&gt; +				CE4F6D3119B774F600BFC64A /* ca */,
&gt;  				65086DA619AC1719009AF46B /* cf */,
&gt; +				CE4F6D3619B7751200BFC64A /* cg */,
&gt;  				653EF83719A043AE0052202C /* cocoa */,
&gt; +				CE4F6D4B19B7757B00BFC64A /* ct */,
&gt; +				CE4F6D4E19B7757B00BFC64A /* cui */,
&gt; +				CE4F6D5119B7757B00BFC64A /* ios */,
&gt; +				CE4F6D5419B7757B00BFC64A /* quicklook */,

These groups/directories are too fine-grained in my opinion, since the header names themselves already indicate the framework or library they come from. I would think simply having cocoa (for shared Mac and iOS SPI), mac, and ios directories would be sufficient.

&gt; Source/WebCore/platform/spi/cg/CGColorTransformSPI.h:40
&gt; +typedef const struct CGColorTransform *CGColorTransformRef;
&gt; +extern &quot;C&quot; {
&gt; +CGColorTransformRef CGColorTransformCreate(CGColorSpaceRef, CFDictionaryRef attributes);
&gt; +CGColorRef CGColorTransformConvertColor(CGColorTransformRef, CGColorRef, CGColorRenderingIntent);
&gt; +}

Are these declarations necessary if USE(APPLE_INTERNAL_SDK) is true? They seem identical to what&apos;s in the SPI header.

&gt; Source/WebCore/platform/spi/cg/CGContextGStateSPI.h:41
&gt; +extern &quot;C&quot; {
&gt; +CGFloat CGContextGetLineWidth(CGContextRef);
&gt; +void CGContextSetCTM(CGContextRef, CGAffineTransform);
&gt; +CGColorRef CGContextGetFillColorAsColor(CGContextRef);
&gt; +CGCompositeOperation CGContextGetCompositeOperation(CGContextRef);
&gt; +void CGContextSetCompositeOperation(CGContextRef, CGCompositeOperation);
&gt; +}

Ditto.

&gt; Source/WebCore/platform/spi/cg/CGContextSPI.h:40
&gt; +extern &quot;C&quot; CGAffineTransform CGContextGetBaseCTM(CGContextRef);

Ditto.

&gt; Source/WebCore/platform/spi/cg/CGFontGlyphSupportSPI.h:37
&gt; +extern &quot;C&quot; bool CGFontGetGlyphAdvancesForStyle(CGFontRef font, const CGAffineTransform* , CGFontRenderingStyle, const CGGlyph glyphs[], size_t count, CGSize advances[]);

Ditto.

&gt; Source/WebCore/platform/spi/cg/CGFontInfoSPI.h:66
&gt; +extern &quot;C&quot; {
&gt; +const CGFontHMetrics* CGFontGetHMetrics(CGFontRef);
&gt; +bool CGFontGetDescriptor(CGFontRef, CGFontDescriptor*);
&gt; +const char* CGFontGetPostScriptName(CGFontRef);
&gt; +CFStringRef CGFontCopyFamilyName(CGFontRef);
&gt; +bool CGFontIsFixedPitch(CGFontRef);
&gt; +}

Ditto.

&gt; Source/WebCore/platform/spi/cg/CGFontUnicodeSupportSPI.h:35
&gt; +extern &quot;C&quot; void CGFontGetGlyphsForUnichars(CGFontRef, const UniChar[], CGGlyph[], size_t count);

Ditto.

&gt; Source/WebCore/platform/spi/cg/CGImageSPI.h:41
&gt; +extern &quot;C&quot; void CGImageSetCachingFlags(CGImageRef, CGImageCachingFlags);

Ditto.

&gt; Source/WebCore/platform/spi/cg/CGSRegionSPI.h:43
&gt; +extern &quot;C&quot; {
&gt; +CGSRegionEnumeratorObj CGSRegionEnumerator(CGRegionRef);
&gt; +CGRect *CGSNextRect(const CGSRegionEnumeratorObj);
&gt; +CGError CGSReleaseRegionEnumerator(const CGSRegionEnumeratorObj);
&gt; +}

Ditto.

&gt; Source/WebCore/platform/spi/cocoa/DispatchSPI.h:42
&gt; +DISPATCH_EXPORT const struct dispatch_source_type_s _dispatch_source_type_memorystatus;

Ditto.

&gt; Source/WebCore/platform/spi/cocoa/IOPMLibSPI.h:44
&gt; +extern &quot;C&quot; {
&gt; +IOReturn IOPMAssertionCreateWithDescription(CFStringRef assertionType, CFStringRef name, CFStringRef details,
&gt; +    CFStringRef humanReadableReason, CFStringRef localizationBundlePath, CFTimeInterval timeout, CFStringRef timeoutAction, IOPMAssertionID *);
&gt; +IOReturn IOPMAssertionRelease(IOPMAssertionID);
&gt; +}

Ditto.

&gt; Source/WebCore/platform/spi/cocoa/dyldSPI.h:39
&gt; +extern &quot;C&quot; uint32_t dyld_get_program_sdk_version();

Ditto.

&gt; Source/WebCore/platform/spi/ct/CTFontDescriptorSPI.h:57
&gt; +extern &quot;C&quot; {
&gt; +CTFontDescriptorRef CTFontDescriptorCreateWithTextStyle(CFStringRef style, CFStringRef size, CFStringRef language);
&gt; +CTFontDescriptorRef CTFontDescriptorCreateForUIType(CTFontUIFontType, CGFloat size, CFStringRef language);
&gt; +bool CTFontDescriptorIsSystemUIFont(CTFontDescriptorRef);
&gt; +}

Ditto.

&gt; Source/WebCore/platform/spi/ct/CTFontSPI.h:47
&gt; +extern &quot;C&quot; {
&gt; +CTFontRef CTFontCreatePhysicalFontForCharactersWithLanguage(CTFontRef, const UTF16Char* characters, CFIndex length, CFStringRef language, CFIndex* coveredLength);
&gt; +bool CTFontIsAppleColorEmoji(CTFontRef);
&gt; +bool CTFontDescriptorIsSystemUIFont(CTFontDescriptorRef);
&gt; +CTFontRef CTFontCreateForCSS(CFStringRef name, uint16_t weight, CTFontSymbolicTraits, CGFloat size);
&gt; +}

Ditto.

&gt; Source/WebCore/platform/spi/dispatch/DispatchSPI.h:42
&gt; +DISPATCH_EXPORT const struct dispatch_source_type_s _dispatch_source_type_memorystatus;

Ditto.

&gt; Source/WebCore/platform/spi/ios/MobileGestaltSPI.h:37
&gt; +extern &quot;C&quot; CFTypeRef MGCopyAnswer(CFStringRef question, CFDictionaryRef options);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033379</commentid>
    <comment_count>10</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-09-04 18:28:21 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 237624 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=237624&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:16206
&gt; &gt; +				CE4F6D2819B774D500BFC64A /* avkit */,
&gt; &gt; +				CE4F6D3119B774F600BFC64A /* ca */,
&gt; &gt;  				65086DA619AC1719009AF46B /* cf */,
&gt; &gt; +				CE4F6D3619B7751200BFC64A /* cg */,
&gt; &gt;  				653EF83719A043AE0052202C /* cocoa */,
&gt; &gt; +				CE4F6D4B19B7757B00BFC64A /* ct */,
&gt; &gt; +				CE4F6D4E19B7757B00BFC64A /* cui */,
&gt; &gt; +				CE4F6D5119B7757B00BFC64A /* ios */,
&gt; &gt; +				CE4F6D5419B7757B00BFC64A /* quicklook */,
&gt; 
&gt; These groups/directories are too fine-grained in my opinion, since the header names themselves already indicate the framework or library they come from. I would think simply having cocoa (for shared Mac and iOS SPI), mac, and ios directories would be sufficient.

Actually, I guess it&apos;s more nuanced than this. For instance, having a separate cf/ directory makes sense since that&apos;s used on Windows. So I&apos;m not against having separate directories for frameworks that exist outside of Mac/iOS. I was primarily objecting to having things like CoreUI and QuickLook in their own directories.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034976</commentid>
    <comment_count>11</comment_count>
      <attachid>238066</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-12 15:28:21 -0700</bug_when>
    <thetext>Created attachment 238066
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034978</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-12 15:30:52 -0700</bug_when>
    <thetext>Attachment 238066 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/cocoa/dyldSPI.h:43:  dyld_get_program_sdk_version is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:34:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:43:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:44:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ios/CTFontSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ios/CTFontSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ios/CTFontSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ios/CTFontSPI.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:39:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:40:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:41:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:46:  _dispatch_source_type_memorystatus is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cocoa/MachVMSPI.h:41:  mach_vm_allocate is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cocoa/MachVMSPI.h:42:  mach_vm_deallocate is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cocoa/MachVMSPI.h:43:  mach_vm_map is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cocoa/MachVMSPI.h:45:  mach_vm_protect is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cocoa/MachVMSPI.h:46:  mach_vm_region is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cg/CGImageSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 23 in 94 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035047</commentid>
    <comment_count>13</comment_count>
      <attachid>238066</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2014-09-12 23:12:02 -0700</bug_when>
    <thetext>Comment on attachment 238066
Patch

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

The only essential issue is explaining the IntRect.h change since it is not obviously related. Plus there are many optional comments. r- for now but looking good.

&gt; Source/WebCore/platform/graphics/IntRect.h:45
&gt; +typedef CGRect NSRect;

This change does not appear to be explained in the ChangeLog.

&gt; Source/WebCore/platform/ios/wak/WAKAppKitStubs.h:37
&gt; -#import &lt;Foundation/NSGeometry.h&gt;
&gt; +#import &lt;WebCore/NSGeometrySPI.h&gt;

Why this change? NSGeometry is public API, at least on Mac. Is that not the case on iOS?

&gt; Source/WebCore/platform/spi/ca/CALayerSPI.h:30
&gt; +#import &lt;CoreGraphics/CoreGraphics.h&gt;
&gt; +#import &lt;QuartzCore/QuartzCore.h&gt;

Does CALayerPrivate.h include these headers? I don&apos;t think it does, so it might be better to include them unconditionally, for consistency in what this header pulls in.

&gt; Source/WebCore/platform/spi/ca/CATiledLayerSPI.h:32
&gt; +#import &lt;CoreGraphics/CoreGraphics.h&gt;
&gt; +#import &lt;QuartzCore/QuartzCore.h&gt;

Does CALayerPrivate.h include these headers? I don&apos;t think it does, so it might be better to include them unconditionally, for consistency in what this header pulls in.

&gt; Source/WebCore/platform/spi/cg/CGColorTransformSPI.h:40
&gt; +#ifdef __cplusplus
&gt; +extern &quot;C&quot; {
&gt; +#endif

Maybe it would be worthwhile making an EXTERN_C macro in a WTF header (Compiler.h maybe?) that expands to extern &quot;C&quot; for C++, and nothing or just extern for C, so you could avoid these repeated ifdef blocks. This comment is optional, it applies to a bunch of files but I won&apos;t mention it every time.

&gt; Source/WebCore/platform/spi/cg/CGColorTransformSPI.h:43
&gt; +extern CGColorRef CGColorTransformConvertColor(CGColorTransformRef, CGColorRef, CGColorRenderingIntent);
&gt; +extern CGColorTransformRef CGColorTransformCreate(CGColorSpaceRef, CFDictionaryRef attributes);

I&apos;m not sure the &quot;extern&quot; specifiers here do anything. Again, this might apply to a bunch of files.

&gt; Source/WebCore/platform/spi/cg/CGContextGStateSPI.h:27
&gt; +#ifndef CGContextGStateSPI_h
&gt; +#define CGContextGStateSPI_h

I know CGContext SPI calls in reality are split among multiple files, but maybe we should put them all in one WebCore SPI header, since the split is not super meaningful.

&gt; Source/WebCore/platform/spi/cg/CGFloatSPI.h:38
&gt; +    if (sizeof(value) == sizeof(float))

Seems like it would be better to make this an explicit #if on CGFLOAT_IS_DOUBLE. I know the compiler will optimize out the dead path but it seems lame to rely on that, and with the #if you would not need any of the casts. Heck you could just #define CGRound to be round when CG_FLOAT_IS_DOUBLE and roundf otherwise.

Similar comments apply to almost all the other functions in this file.

&gt; Source/WebCore/platform/spi/cg/CGFloatSPI.h:45
&gt; +#if defined(__STDC_VERSION__) &amp;&amp; __STDC_VERSION__ &gt;= 199901L

I strongly suspect all compilers we care about support C99, so I am not sure the conditionality is needed.

&gt; Source/WebCore/platform/spi/cocoa/MachVMSPI.h:33
&gt; +#if (TARGET_OS_MAC &amp;&amp; !TARGET_OS_IPHONE) || (defined(WTF_USE_APPLE_INTERNAL_SDK) &amp;&amp; WTF_USE_APPLE_INTERNAL_SDK)

Why write it out this way instead of if PLATFORM(MAC) || USE(APPLE_INTERNAL_SDK), as in the previous file?

&gt; Source/WebCore/platform/spi/cocoa/NSFileManagerSPI.h:29
&gt; +#import &lt;Foundation/Foundation.h&gt;

Probably should include Foundation.h unconditionally.

&gt; Source/WebCore/platform/spi/ios/AVPlayerControllerSPI.h:31
&gt; +#import &lt;AVKit/AVKit.h&gt;
&gt; +#import &lt;Foundation/Foundation.h&gt;
&gt; +#import &lt;UIKit/UIKit.h&gt;

These should probably be imported unconditionally.

&gt; Source/WebCore/platform/spi/ios/AVPlayerViewControllerSPI.h:33
&gt; +#import &lt;AVKit/AVKit.h&gt;
&gt; +#import &lt;Foundation/Foundation.h&gt;
&gt; +#import &lt;QuartzCore/QuartzCore.h&gt;
&gt; +#import &lt;UIKit/UIKit.h&gt;

Should probably import these unconditionally.

&gt; Source/WebCore/platform/spi/ios/AVValueTimingSPI.h:29
&gt; +#import &lt;Foundation/Foundation.h&gt;

Again.

&gt; Source/WebCore/platform/spi/ios/AVVideoLayerSPI.h:31
&gt; +#import &lt;AVKit/AVKit.h&gt;
&gt; +#import &lt;CoreGraphics/CoreGraphics.h&gt;
&gt; +#import &lt;Foundation/Foundation.h&gt;

And here.

&gt; Source/WebCore/platform/spi/ios/CTFontDescriptorSPI.h:54
&gt; +extern const CFStringRef kCTUIFontTextStyleShortHeadline CT_AVAILABLE(10_10, 7_0);
&gt; +extern const CFStringRef kCTUIFontTextStyleShortBody CT_AVAILABLE(10_10, 7_0);
&gt; +extern const CFStringRef kCTUIFontTextStyleShortSubhead CT_AVAILABLE(10_10, 7_0);
&gt; +extern const CFStringRef kCTUIFontTextStyleShortFootnote CT_AVAILABLE(10_10, 7_0);
&gt; +extern const CFStringRef kCTUIFontTextStyleShortCaption1 CT_AVAILABLE(10_10, 7_0);
&gt; +extern const CFStringRef kCTUIFontTextStyleTallBody CT_AVAILABLE(10_10, 7_0);
&gt; +
&gt; +extern const CFStringRef kCTUIFontTextStyleHeadline CT_AVAILABLE(10_10, 7_0);
&gt; +extern const CFStringRef kCTUIFontTextStyleBody CT_AVAILABLE(10_10, 7_0);
&gt; +extern const CFStringRef kCTUIFontTextStyleSubhead CT_AVAILABLE(10_10, 7_0);
&gt; +extern const CFStringRef kCTUIFontTextStyleFootnote CT_AVAILABLE(10_10, 7_0);
&gt; +extern const CFStringRef kCTUIFontTextStyleCaption1 CT_AVAILABLE(10_10, 7_0);
&gt; +extern const CFStringRef kCTUIFontTextStyleCaption2 CT_AVAILABLE(10_10, 7_0);
&gt; +
&gt; +extern const CFStringRef kCTFontDescriptorTextStyleEmphasized CT_AVAILABLE(10_10, 7_0);

I don&apos;t think you should include the CT_AVAILABLE tags here.

&gt; Source/WebCore/platform/spi/ios/CUICatalogSPI.h:31
&gt; +#import &lt;CoreGraphics/CoreGraphics.h&gt;
&gt; +#import &lt;CoreText/CoreText.h&gt;
&gt; +#import &lt;Foundation/Foundation.h&gt;

These includes should probably be unconditional.

&gt; Source/WebCore/platform/spi/ios/QLPreviewConverterSPI.h:29
&gt; +#import &lt;Foundation/Foundation.h&gt;

Probably should include Foundation.h unconditionally.

&gt; Source/WebCore/platform/spi/ios/QuickLookSPI.h:29
&gt; +#import &lt;Foundation/Foundation.h&gt;

Unconditional.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035282</commentid>
    <comment_count>14</comment_count>
      <attachid>238066</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-15 12:13:52 -0700</bug_when>
    <thetext>Comment on attachment 238066
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/IntRect.h:45
&gt;&gt; +typedef CGRect NSRect;
&gt; 
&gt; This change does not appear to be explained in the ChangeLog.

I&apos;ll revert this change.

I made the change because I thought it was heavy handed to either use the C preprocessor to substitute CGRect for every occurrence of NSRect when a file includes IntRect.h or include NSGeometrySPI.h. The former seemed heavy handed compared to a typedef that better integrates with the compiler&apos;s type checking machinery. The latter seemed heavy handed given that we are only interested in a single definition from NSGeometrySPI.h and, obviously, a modification to NSGeometrySPI.h would cause IntRect.h and its dependents to be compiled again (although it&apos;s unlikely NSGeometrySPI.h would change much and there is value in centralizing the definition of NSRect; maybe we should do this?).

&gt;&gt; Source/WebCore/platform/ios/wak/WAKAppKitStubs.h:37
&gt;&gt; +#import &lt;WebCore/NSGeometrySPI.h&gt;
&gt; 
&gt; Why this change? NSGeometry is public API, at least on Mac. Is that not the case on iOS?

Yes, that is not the case on iOS. NSGeometry.h is a private API on iOS as of the time of writing.

&gt;&gt; Source/WebCore/platform/spi/ca/CALayerSPI.h:30
&gt;&gt; +#import &lt;QuartzCore/QuartzCore.h&gt;
&gt; 
&gt; Does CALayerPrivate.h include these headers? I don&apos;t think it does, so it might be better to include them unconditionally, for consistency in what this header pulls in.

No, CALayerPrivate.h doesn&apos;t include these headers. Moreover, it&apos;s sufficient to unconditionally include the public SDK header CALayer.h. Will update patch.

&gt;&gt; Source/WebCore/platform/spi/ca/CATiledLayerSPI.h:32
&gt;&gt; +#import &lt;QuartzCore/QuartzCore.h&gt;
&gt; 
&gt; Does CALayerPrivate.h include these headers? I don&apos;t think it does, so it might be better to include them unconditionally, for consistency in what this header pulls in.

No, CALayerPrivate.h doesn&apos;t include these headers. Moreover, it&apos;s sufficient to unconditionally include the header CATiledLayer.h instead of &lt;CoreGraphics/CoreGraphics.h&gt;, &lt;QuartzCore/QuartzCore.h&gt;, and &lt;Foundation/Foundation.h&gt;. Will update patch.

&gt;&gt; Source/WebCore/platform/spi/cg/CGColorTransformSPI.h:40
&gt;&gt; +#endif
&gt; 
&gt; Maybe it would be worthwhile making an EXTERN_C macro in a WTF header (Compiler.h maybe?) that expands to extern &quot;C&quot; for C++, and nothing or just extern for C, so you could avoid these repeated ifdef blocks. This comment is optional, it applies to a bunch of files but I won&apos;t mention it every time.

Will add macro EXTERN_C to Compiler.h and update these files to make use of it.

&gt;&gt; Source/WebCore/platform/spi/cg/CGColorTransformSPI.h:43
&gt;&gt; +extern CGColorTransformRef CGColorTransformCreate(CGColorSpaceRef, CFDictionaryRef attributes);
&gt; 
&gt; I&apos;m not sure the &quot;extern&quot; specifiers here do anything. Again, this might apply to a bunch of files.

Using your suggestion above, I&apos;ll substitute EXTERN_C for extern in this file and the other files included in the patch.

&gt;&gt; Source/WebCore/platform/spi/cg/CGContextGStateSPI.h:27
&gt;&gt; +#define CGContextGStateSPI_h
&gt; 
&gt; I know CGContext SPI calls in reality are split among multiple files, but maybe we should put them all in one WebCore SPI header, since the split is not super meaningful.

Will coalesce the contents of files CGContextGStateSPI.h and CGContextSPI.h into a single file, Source/WebCore/platform/spi/cg/CGContextSPI.h.

&gt;&gt; Source/WebCore/platform/spi/cg/CGFloatSPI.h:38
&gt;&gt; +    if (sizeof(value) == sizeof(float))
&gt; 
&gt; Seems like it would be better to make this an explicit #if on CGFLOAT_IS_DOUBLE. I know the compiler will optimize out the dead path but it seems lame to rely on that, and with the #if you would not need any of the casts. Heck you could just #define CGRound to be round when CG_FLOAT_IS_DOUBLE and roundf otherwise.
&gt; 
&gt; Similar comments apply to almost all the other functions in this file.

I&apos;ll simplify the implementation of this function and the other functions in this file using #if CGFLOAT_IS_DOUBLE. While I could use the C preprocessor to substitute CGRound for the appropriate math.h function, it seems less error prone to define actual functions so that the compiler can type check its usage (maybe we shouldn&apos;t be concerned about incorrect usage that would be caught by the type checking machinery in the compiler?). The compiler should optimize away the function call (if applicable). Let me know if you prefer using the C preprocessor for these functions.

&gt;&gt; Source/WebCore/platform/spi/cg/CGFloatSPI.h:45
&gt;&gt; +#if defined(__STDC_VERSION__) &amp;&amp; __STDC_VERSION__ &gt;= 199901L
&gt; 
&gt; I strongly suspect all compilers we care about support C99, so I am not sure the conditionality is needed.

Will remove C99-guarded code.

&gt;&gt; Source/WebCore/platform/spi/cocoa/MachVMSPI.h:33
&gt;&gt; +#if (TARGET_OS_MAC &amp;&amp; !TARGET_OS_IPHONE) || (defined(WTF_USE_APPLE_INTERNAL_SDK) &amp;&amp; WTF_USE_APPLE_INTERNAL_SDK)
&gt; 
&gt; Why write it out this way instead of if PLATFORM(MAC) || USE(APPLE_INTERNAL_SDK), as in the previous file?

I don&apos;t recall my reason for writing this out. Will fix.

&gt;&gt; Source/WebCore/platform/spi/cocoa/NSFileManagerSPI.h:29
&gt;&gt; +#import &lt;Foundation/Foundation.h&gt;
&gt; 
&gt; Probably should include Foundation.h unconditionally.

It&apos;s sufficient to unconditionally include &lt;Foundation/NSFileManager.h&gt;. Will update patch.

&gt;&gt; Source/WebCore/platform/spi/ios/AVPlayerControllerSPI.h:31
&gt;&gt; +#import &lt;UIKit/UIKit.h&gt;
&gt; 
&gt; These should probably be imported unconditionally.

Will fix.

&gt;&gt; Source/WebCore/platform/spi/ios/AVPlayerViewControllerSPI.h:33
&gt;&gt; +#import &lt;UIKit/UIKit.h&gt;
&gt; 
&gt; Should probably import these unconditionally.

Will fix.

&gt;&gt; Source/WebCore/platform/spi/ios/AVValueTimingSPI.h:29
&gt;&gt; +#import &lt;Foundation/Foundation.h&gt;
&gt; 
&gt; Again.

Will fix.

&gt;&gt; Source/WebCore/platform/spi/ios/AVVideoLayerSPI.h:31
&gt;&gt; +#import &lt;Foundation/Foundation.h&gt;
&gt; 
&gt; And here.

Will fix.

&gt;&gt; Source/WebCore/platform/spi/ios/CTFontDescriptorSPI.h:54
&gt;&gt; +extern const CFStringRef kCTFontDescriptorTextStyleEmphasized CT_AVAILABLE(10_10, 7_0);
&gt; 
&gt; I don&apos;t think you should include the CT_AVAILABLE tags here.

Will remove.

&gt;&gt; Source/WebCore/platform/spi/ios/CUICatalogSPI.h:31
&gt;&gt; +#import &lt;Foundation/Foundation.h&gt;
&gt; 
&gt; These includes should probably be unconditional.

Will fix.

&gt;&gt; Source/WebCore/platform/spi/ios/QLPreviewConverterSPI.h:29
&gt;&gt; +#import &lt;Foundation/Foundation.h&gt;
&gt; 
&gt; Probably should include Foundation.h unconditionally.

Will fix.

&gt;&gt; Source/WebCore/platform/spi/ios/QuickLookSPI.h:29
&gt;&gt; +#import &lt;Foundation/Foundation.h&gt;
&gt; 
&gt; Unconditional.

Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035283</commentid>
    <comment_count>15</comment_count>
      <attachid>238134</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-15 12:14:39 -0700</bug_when>
    <thetext>Created attachment 238134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035286</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-15 12:16:39 -0700</bug_when>
    <thetext>Attachment 238134 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:33:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:34:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:43:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGFontRenderingSPI.h:44:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ios/CTFontSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ios/CTFontSPI.h:36:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ios/CTFontSPI.h:37:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/ios/CTFontSPI.h:38:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:48:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:49:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cocoa/DispatchSPI.h:50:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/spi/cg/CGImageSPI.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 16 in 97 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035505</commentid>
    <comment_count>17</comment_count>
      <attachid>238134</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-09-16 11:08:48 -0700</bug_when>
    <thetext>Comment on attachment 238134
Patch

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

r=me with a couple comments

&gt; Source/WebCore/platform/spi/ios/CUICatalogSPI.h:37
&gt; +@interface CUICatalog : NSObject
&gt; +
&gt; +@end

NIt: Any reason to leave a blank line here?  Could be removed in other files as well.  Not necessary to fix to land the patch, though.

&gt; Source/WebKit/mac/MigrateHeaders.make:245
&gt; -WEBCORE_HEADER_REPLACE_RULES = -e s/\&lt;WebCore/\&lt;WebKitLegacy/ -e s/DOMDOMImplementation/DOMImplementation/ -e &quot;s/(^ *)WEBCORE_EXPORT /\1/&quot;
&gt; -WEBCORE_HEADER_MIGRATE_CMD = sed -E $(WEBCORE_HEADER_REPLACE_RULES) $&lt; &gt; $@
&gt; +WEBCORE_HEADER_REPLACE_RULES = &apos;s/&lt;WebCore/&lt;WebKitLegacy/ if m|&lt;WebCore/([^&gt;]+)&gt;| &amp;&amp; $$1 !~ /SPI.h$$/; s/DOMDOMImplementation/DOMImplementation/; s/^(\s*)WEBCORE_EXPORT /$$1/;&apos;
&gt; +WEBCORE_HEADER_MIGRATE_CMD = perl -p -e $(WEBCORE_HEADER_REPLACE_RULES) $&lt; &gt; $@

Do you have to double-up the backslash in &quot;(\s*)&quot; to &quot;(\\s*)&quot;?

Did you do a recursive diff (diff -urN) between a DerivedSources directory with clean builds including this change and a clean build without this change to make sure there were no unexpected differences?  (Or something similar.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035735</commentid>
    <comment_count>18</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-17 11:02:23 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 238134 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=238134&amp;action=review
&gt; &gt; Source/WebCore/platform/spi/ios/CUICatalogSPI.h:37
&gt; &gt; +@interface CUICatalog : NSObject
&gt; &gt; +
&gt; &gt; +@end
&gt; 
&gt; NIt: Any reason to leave a blank line here?  Could be removed in other files as well.  Not necessary to fix to land the patch, though.
&gt; 

I&apos;ll remove the empty line.

We don&apos;t have a documented convention for the presence/omission of an empty line as the body of an empty @interface declaration as both styles are used in our code base. From briefly searching the code and disregarding the proposed SPI files, the majority of empty @interface declarations omit an empty line for the body. We should look to standardize a convention for writing an empty @interface declaration and update the WebKit Code Style Guidelines.

For completeness, one instance of declaring an empty @interface with a empty line for its body is in &lt;http://trac.webkit.org/browser/trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigation.h?rev=171626&gt;. One instance of declaring an empty @interface without an empty line for the body is in &lt;http://trac.webkit.org/browser/trunk/Source/WebKit2/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrameInternal.h?rev=163629&gt;.

&gt; &gt; Source/WebKit/mac/MigrateHeaders.make:245
&gt; &gt; -WEBCORE_HEADER_REPLACE_RULES = -e s/\&lt;WebCore/\&lt;WebKitLegacy/ -e s/DOMDOMImplementation/DOMImplementation/ -e &quot;s/(^ *)WEBCORE_EXPORT /\1/&quot;
&gt; &gt; -WEBCORE_HEADER_MIGRATE_CMD = sed -E $(WEBCORE_HEADER_REPLACE_RULES) $&lt; &gt; $@
&gt; &gt; +WEBCORE_HEADER_REPLACE_RULES = &apos;s/&lt;WebCore/&lt;WebKitLegacy/ if m|&lt;WebCore/([^&gt;]+)&gt;| &amp;&amp; $$1 !~ /SPI.h$$/; s/DOMDOMImplementation/DOMImplementation/; s/^(\s*)WEBCORE_EXPORT /$$1/;&apos;
&gt; &gt; +WEBCORE_HEADER_MIGRATE_CMD = perl -p -e $(WEBCORE_HEADER_REPLACE_RULES) $&lt; &gt; $@
&gt; 
&gt; Do you have to double-up the backslash in &quot;(\s*)&quot; to &quot;(\\s*)&quot;?
&gt; 

From briefly reading &lt;http://www.gnu.org/software/make/manual/make.html&gt;, it isn&apos;t necessary to escape the backslash in &quot;\s&quot; with respect to how we are using it in MigrateHeaders.make. This behavior is consistent with my observation of the preservation of the backslash character in &quot;\s&quot; when running make on a Makefile with the following contents:

WEBCORE_HEADER_REPLACE_RULES = &apos;s/&lt;WebCore/&lt;WebKitLegacy/ if m|&lt;WebCore/([^&gt;]+)&gt;| &amp;&amp; $$1 !~ /SPI.h$$/; s/DOMDOMImplementation/DOMImplementation/; s/^(\s*)WEBCORE_EXPORT /$$1/;&apos;
all : ; @echo $(WEBCORE_HEADER_REPLACE_RULES)

The output was, as expected:

s/&lt;WebCore/&lt;WebKitLegacy/ if m|&lt;WebCore/([^&gt;]+)&gt;| &amp;&amp; $1 !~ /SPI.h$/; s/DOMDOMImplementation/DOMImplementation/; s/^(\s*)WEBCORE_EXPORT /$1/;

&gt; Did you do a recursive diff (diff -urN) between a DerivedSources directory with clean builds including this change and a clean build without this change to make sure there were no unexpected differences?  (Or something similar.)

Notice that the script MigrateHeaders.make only affects the files in WebKitLegacy.framework/PrivateHeaders.

I ensured that there were no unexpected differences made to the files in WebKitLegacy.framework/PrivateHeaders between a build without the proposed patch and with the proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035739</commentid>
    <comment_count>19</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-17 11:18:22 -0700</bug_when>
    <thetext>Committed r173695: &lt;http://trac.webkit.org/changeset/173695&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035808</commentid>
    <comment_count>20</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-17 18:15:16 -0700</bug_when>
    <thetext>Reverted r173695 for reason:

Broke building third-party Legacy WebKit apps; will investigate offline

Committed r173710: &lt;http://trac.webkit.org/changeset/173710&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040402</commentid>
    <comment_count>21</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-10-08 13:22:15 -0700</bug_when>
    <thetext>I chose to separate out the addition of the SPI wrapper header NSGeometrySPI.h from the patch (attachment #238134) into its own bug (bug #137536) so as to make it straightforward to review its correctness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049558</commentid>
    <comment_count>22</comment_count>
      <attachid>241803</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-11-18 12:43:14 -0800</bug_when>
    <thetext>Created attachment 241803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049562</commentid>
    <comment_count>23</comment_count>
      <attachid>241803</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-11-18 12:53:11 -0800</bug_when>
    <thetext>Comment on attachment 241803
Patch

r=me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049564</commentid>
    <comment_count>24</comment_count>
      <attachid>241803</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-11-18 12:56:21 -0800</bug_when>
    <thetext>Comment on attachment 241803
Patch

Clearing flags on attachment: 241803

Committed r176278: &lt;http://trac.webkit.org/changeset/176278&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049565</commentid>
    <comment_count>25</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-11-18 12:56:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237563</attachid>
            <date>2014-09-03 11:14:06 -0700</date>
            <delta_ts>2014-09-03 12:36:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136487-20140903111400.patch</filename>
            <type>text/plain</type>
            <size>144542</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczMjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2NmMmEzNzY1NzQzNjgy
Y2Y3ODcwZjliZTNmN2ZiYTY2YzZkNzQ2Ni4uYzIzMzZkOWJhODRlMWE0NmNlY2RkN2UzNDkwYzY2
ODc4M2Y3OWU2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk4IEBACisyMDE0LTA5LTAzICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNYWtlIFdlYkNv
cmUgYnVpbGQgd2l0aCBwdWJsaWMgaU9TIFNESworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIFNQSSBoZWFkZXJzIGFuZCB1cGRhdGUgZmlsZXMgdG8g
bWFrZSB1c2Ugb2YgdGhlbSBzbyB0aGF0IHdlIGNhbiBidWlsZCBXZWJDb3JlCisgICAgICAgIGZv
ciBpT1MgdXNpbmcgdGhlIHB1YmxpYyBpT1MgU0RLLgorCisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NSW50ZXJu
YWwubW06IEltcG9ydCBoZWFkZXIgTlNQb2ludGVyRnVuY3Rpb25zU1BJLmguCisgICAgICAgICog
YnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5tbTogSW1wb3J0IGhlYWRlciBOU1BvaW50ZXJGdW5j
dGlvbnNTUEkuaDsgYWxzbyBzb3J0IHRoZSBsaXN0IG9mIGltcG9ydGVkIGhlYWRlcnMuCisgICAg
ICAgICogZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVyLm1tOiBJbXBvcnQgaGVhZGVyIE5TR2Vv
bWV0cnlTUEkuaC4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFu
YWdlcklPUy5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmgg
Zm9yIDxNZWRpYVBsYXllci9NUEFWUm91dGluZ0NvbnRyb2xsZXIuaD4uCisgICAgICAgICogcGxh
dGZvcm0vY29jb2EvRGlzcGxheVNsZWVwRGlzYWJsZXJDb2NvYS5jcHA6IFN1YnN0aXR1dGUgaGVh
ZGVyIElPUE1MaWJTUEkuaCBmb3IgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPi4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbTogU3Vic3RpdHV0
ZSBoZWFkZXIgRGlzcGF0Y2hTUEkuaCBmb3IgPGRpc3BhdGNoL3ByaXZhdGUuaD4uCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oOiBTdWJzdGl0dXRlIHR5cGVkZWYgZm9yIG1h
Y3JvIGRlZmluZSBvZiBOU1JlY3QuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuaDogTW92ZSBpbmxpbmUgZGVmaW5pdGlvbnMgZm9yIDxDb3JlR3JhcGhpY3MvQ0dG
b250UmVuZGVyaW5nLmg+IHRvIENHRm9udFJlbmRlcmluZ1NQSS5oIGFuZCBpbmNsdWRlCisgICAg
ICAgIENHRm9udFJlbmRlcmluZ1NQSS5oLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06IFN1
YnN0aXR1dGUgaGVhZGVyIE5TR2VvbWV0cnlTUEkuaCBmb3IgPEZvdW5kYXRpb24vTlNHZW9tZXRy
eS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVy
TWFjLm1tOiBTdWJzdGl0dXRlIGhlYWRlciBDQVRpbGVkTGF5ZXJTUEkuaCwgTlNHZW9tZXRyeVNQ
SS5oIGZvciA8UXVhcnR6Q29yZS9DQVRpbGVkTGF5ZXJQcml2YXRlLmg+LAorICAgICAgICA8Rm91
bmRhdGlvbi9OU0dlb21ldHJ5Lmg+LCByZXNwZWN0aXZlbHkuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvQml0bWFwSW1hZ2VDRy5jcHA6IFJlbW92ZSB1bm5lY2Vzc2FyeSBpbmNsdWRl
IG9mIGhlYWRlciA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dFByaXZhdGUuaD4uCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvQ29sb3JDRy5jcHA6IFN1YnN0aXR1dGUgaGVhZGVyIENHQ29s
b3JUcmFuc2Zvcm1TUEkuaCBmb3IgPENvcmVHcmFwaGljcy9DR0NvbG9yVHJhbnNmb3JtLmg+OyBh
bHNvIHJlbW92ZSBoZWFkZXIKKyAgICAgICAgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4g
YXMgQ0dDb2xvclRyYW5zZm9ybVNQSS5oIHdpbGwgaW5jbHVkZSBpdC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHA6IE1vdmUgQ29yZUdyYXBoaWNz
IGZvcndhcmQgZGVjbGFyYXRpb25zIGludG8gaGVhZGVycyBDR0NvbnRleHRHU3RhdGVTUEkuaCBh
bmQgQ0dDb250ZXh0U1BJLmgKKyAgICAgICAgYW5kIGluY2x1ZGUgaGVhZGVycyBDR0NvbnRleHRH
U3RhdGVTUEkuaCBhbmQgQ0dDb250ZXh0U1BJLmguIEFsc28gc29ydCB0aGUgbGlzdCBvZiBoZWFk
ZXJzLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwOiBT
dWJzdGl0dXRlIGhlYWRlciBDR0ltYWdlU1BJLmggZm9yIDxDb3JlR3JhcGhpY3MvQ0dJbWFnZVBy
aXZhdGUuaD4uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERGRG9jdW1lbnRJbWFn
ZS5jcHA6IFJlbW92ZSB1bm5lY2Vzc2FyeSBoZWFkZXJzIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0
e1ByaXZhdGUsIEdTdGF0ZX0uaD4uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udFBsYXRmb3JtRGF0YUNvY29hLm1tOiBTdWJzdGl0dXRlIGhlYWRlciBDR0ZvbnRJbmZvU1BJ
LmggZm9yIDxDb3JlR3JhcGhpY3MvQ0dGb250SW5mby5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tOiBTdWJzdGl0dXRlIGhlYWRlciBDR0ZvbnRVbmlj
b2RlU3VwcG9ydFNQSS5oLCBDVEZvbnREZXNjcmlwdG9yU1BJLmgsIENURm9udFNQSS5oIGZvcgor
ICAgICAgICA8Q29yZUdyYXBoaWNzL0NHRm9udFVuaWNvZGVTdXBwb3J0Lmg+LCA8Q29yZVRleHQv
Q1RGb250e0Rlc2NyaXB0b3JQcml2LCBQcml2fS5oPiwgcmVzcGVjdGl2ZWx5LgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250U2VydmljZXNJT1MubW06IFN1YnN0aXR1dGUgaGVh
ZGVyIENHRm9udEluZm9TUEkuaCBhbmQgZHlsZFNQSS5oIGZvciA8Q29yZUdyYXBoaWNzL3tDb3Jl
R3JhcGhpY3MsIENvcmVHcmFwaGljc1ByaXZhdGV9Lmg+LAorICAgICAgICBhbmQgPG1hY2gtby9k
eWxkX3ByaXYuaD4sIHJlc3BlY3RpdmVseS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9p
b3MvU2ltcGxlRm9udERhdGFJT1MubW06IFN1YnN0aXR1dGUgaGVhZGVycyBDR0ZvbnRJbmZvU1BJ
LmggYW5kIENHRm9udFJlbmRlcmluZ1NQSS5oIGZvciA8Q29yZUdyYXBoaWNzL0NHRm9udEluZm8u
aD4uIAorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tOiBNb3ZlIGlu
bGluZSBmb3J3YXJkIGRlY2xhcmF0aW9ucyBmb3IgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQ
cml2Lmg+IGFuZCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljc1ByaXZhdGUuaD4KKyAgICAgICAg
aW50byBDVEZvbnREZXNjcmlwdG9yU1BJLmggYW5kIENHQ29udGV4dEdTdGF0ZVNQSS5oLCByZXNw
ZWN0aXZlbHkgYW5kIGluY2x1ZGUgaGVhZGVycyBDVEZvbnREZXNjcmlwdG9yU1BJLmggYW5kIENH
Q29udGV4dEdTdGF0ZVNQSS5oLiBBbHNvIGluY2x1ZGUKKyAgICAgICAgaGVhZGVycyBDVUlDYXRh
bG9nU1BJLmggYW5kIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hYy5jcHA6IFN1YnN0aXR1
dGUgaGVhZGVyIENHRm9udFVuaWNvZGVTdXBwb3J0U1BJLmggZm9yIDxDb3JlR3JhcGhpY3MvQ0dG
b250VW5pY29kZVN1cHBvcnQuaD4gYW5kIDxDb3JlVGV4dC9DVEZvbnRQcml2Lmg+LgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByb3h5Lmg6IFN1YnN0aXR1dGUg
aGVhZGVyIE5TR2VvbWV0cnlTUEkuaCBmb3IgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPi4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW06IE1vdmUg
aW5saW5lIGZvcndhcmQgZGVjbGFyYXRpb25zIGZvciA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRv
clByaXYuaD4gYW5kIDxDb3JlR3JhcGhpY3MvQ0dGb250R2x5cGhTdXBwb3J0Lmg+CisgICAgICAg
IGFuZCBpbmNsdWRlIGhlYWRlcnMgQ1RGb250RGVzY3JpcHRvclNQSS5oIGFuZCBDR0ZvbnRHbHlw
aFN1cHBvcnRTUEkuaC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1t
OiBTdWJzdGl0dXRlIGhlYWRlcnMgQ0FMYXllclNQSS5oIGFuZCBDR1NSZWdpb25TUEkuaCBmb3Ig
PFF1YXJ0ekNvcmUvUXVhcnR6Q29yZVByaXZhdGUuaD4uCisgICAgICAgICogcGxhdGZvcm0vaW9z
L0xlZ2FjeVRpbGVHcmlkLm1tOiBTdWJzdGl0dXRlIGhlYWRlcnMgQ0FMYXllclNQSS5oLCBDR0Zs
b2F0U1BJLmgsIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+IGZvciA8Q29yZUdyYXBoaWNz
L0NvcmVHcmFwaGljc1ByaXZhdGUuaD4KKyAgICAgICAgYW5kIDxRdWFydHpDb3JlL1F1YXJ0ekNv
cmVQcml2YXRlLmg+LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZFRpbGUu
bW06IFN1YnN0aXR1dGUgaGVhZGVyIENBTGF5ZXJTUEkuaCBmb3IgPFF1YXJ0ekNvcmUvUXVhcnR6
Q29yZVByaXZhdGUuaD4uCisgICAgICAgICogcGxhdGZvcm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0
b3J5SU9TLm1tOiBTdWJzdGl0dXRlIGhlYWRlciBOU0dlb21ldHJ5U1BJLmggZm9yIDxGb3VuZGF0
aW9uL05TR2VvbWV0cnkuaD4uIEFsc28gaW5jbHVkZSBoZWFkZXIgPHd0Zi9DdXJyZW50VGltZS5o
Pi4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW06IFN1YnN0aXR1
dGUgaGVhZGVyIE1vYmlsZUdlc3RhbHRTUEkuaCBmb3IgPE1vYmlsZUdlc3RhbHQuaD4uCisgICAg
ICAgICogcGxhdGZvcm0vaW9zL1dlYkV2ZW50Lm1tOiBTdWJzdGl0dXRlIGhlYWRlciBOU0dlb21l
dHJ5U1BJLmggZm9yIDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4uCisgICAgICAgICogcGxhdGZv
cm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tOiBTdWJzdGl0dXRlIGhl
YWRlcnMgQVZQbGF5ZXJDb250cm9sbGVyU1BJLmgsIEFWUGxheWVyVmlld0NvbnRyb2xsZXJTUEku
aCwgQVZWYWx1ZVRpbWluZ1NQSS5oLCBBVlZpZGVvTGF5ZXJTUEkuaAorICAgICAgICBmb3IgPEFW
S2l0L0FWUGxheWVye0NvbnRyb2xsZXIsIFZpZXdDb250cm9sbGVyX1ByaXZhdGUsIFZpZXdDb250
cm9sbGVyX1dlYktpdE9ubHl9Lmg+IGFuZCA8QVZLaXQvQVZ7VmFsdWVUaW1pbmcsIEFWVmlkZW9M
YXllcn0uaD4uCisgICAgICAgICogcGxhdGZvcm0vaW9zL3dhay9XQUtBcHBLaXRTdHVicy5oOiBT
dWJzdGl0dXRlIGhlYWRlciBOU0dlb21ldHJ5U1BJLmggZm9yIDxGb3VuZGF0aW9uL05TR2VvbWV0
cnkuaD4uCisgICAgICAgICogcGxhdGZvcm0vaW9zL3dhay9XQUtWaWV3Lmg6IEluY2x1ZGUgaGVh
ZGVyIE5TR2VvbWV0cnlTUEkuaCBhbmQgcmVtb3ZlIG1hY3JvIGRlZmluZXMgZm9yIE5TUmVjdCwg
TlNQb2ludCwgYW5kIE5TU2l6ZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dLR3JhcGhp
Y3MuaDogU3Vic3RpdHV0ZSBoZWFkZXJzIENHQ29udGV4dFNQSS5oIGFuZCBDR0ZvbnRSZW5kZXJp
bmdTUEkuaCBmb3IgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4gYW5kIDxDb3JlR3JhcGhp
Y3MvQ29yZUdyYXBoaWNzUHJpdmF0ZS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dL
R3JhcGhpY3MubW06IEltcG9ydCBoZWFkZXIgQ0dDb250ZXh0R1N0YXRlU1BJLmguIEFsc28gc29y
dCB0aGUgbGlzdCBvZiBoZWFkZXJzLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy93YWsvV2ViQ29y
ZVRocmVhZC5tbTogUmVtb3ZlIHVubmVjZXNzYXJ5IGhlYWRlciA8Q29yZUZvdW5kYXRpb24vQ0ZQ
cml2Lmg+LgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNrTG9vay5tbTogU3Vi
c3RpdHV0ZSBoZWFkZXIgTlNGaWxlTWFuYWdlclNQSS5oLCBRTFByZXZpZXdDb252ZXJ0ZXJTUEku
aCwgYW5kIFF1aWNrTG9va1NQSS5oIGZvciA8Rm91bmRhdGlvbi9OU0ZpbGVNYW5hZ2VyX05TVVJM
RXh0cmFzLmg+LAorICAgICAgICA8UXVpY2tMb29rL3tRTFByZXZpZXdDb252ZXJ0ZXIsIFF1aWNr
TG9va1ByaXZhdGUuaH0uaD4sIHJlc3BlY3RpdmVseS4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkv
YXZraXQvQVZQbGF5ZXJDb250cm9sbGVyU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L3NwaS9hdmtpdC9BVlBsYXllclZpZXdDb250cm9sbGVyU1BJLmg6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL3NwaS9hdmtpdC9BVlZhbHVlVGltaW5nU1BJLmg6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL3NwaS9hdmtpdC9BVlZpZGVvTGF5ZXJTUEkuaDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vc3BpL2NhL0NBTGF5ZXJTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
c3BpL2NhL0NBVGlsZWRMYXllclNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkv
Y2cvQ0dDb2xvclRyYW5zZm9ybVNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkv
Y2cvQ0dDb250ZXh0R1N0YXRlU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9j
Zy9DR0NvbnRleHRTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NnL0NHRmxv
YXRTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NnL0NHRm9udEdseXBoU3Vw
cG9ydFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2cvQ0dGb250SW5mb1NQ
SS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2cvQ0dGb250UmVuZGVyaW5nU1BJ
Lmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR0ZvbnRVbmljb2RlU3VwcG9y
dFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2cvQ0dJbWFnZVNQSS5oOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2cvQ0dTUmVnaW9uU1BJLmg6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9EaXNwYXRjaFNQSS5oOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9zcGkvY29jb2EvSU9QTUxpYlNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9zcGkvY29jb2EvTlNGaWxlTWFuYWdlclNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9zcGkvY29jb2EvTlNHZW9tZXRyeVNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9zcGkvY29jb2EvTlNQb2ludGVyRnVuY3Rpb25zU1BJLmg6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL3NwaS9jb2NvYS9keWxkU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L3NwaS9jdC9DVEZvbnREZXNjcmlwdG9yU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L3NwaS9jdC9DVEZvbnRTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2N1aS9D
VUlDYXRhbG9nU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jdWkvQ1VJU3R5
bGVFZmZlY3RDb25maWd1cmF0aW9uU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3Nw
aS9kaXNwYXRjaC9EaXNwYXRjaFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkv
aW9zL01QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9zcGkvaW9zL01vYmlsZUdlc3RhbHRTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
c3BpL21hY2gtby9keWxkU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tZWRp
YXBsYXllci9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vc3BpL3F1aWNrbG9vay9RTFByZXZpZXdDb252ZXJ0ZXJTUEkuaDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vc3BpL3F1aWNrbG9vay9RdWlja0xvb2tTUEkuaDogQWRkZWQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tOiBNb3ZlIGlubGluZSBleHRlcm5zIGlu
dG8gQ1RGb250RGVzY3JpcHRvclNQSS5oLCBzdWJzdGl0dXRlIGhlYWRlciBDVEZvbnREZXNjcmlw
dG9yU1BJLmggZm9yIDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPiwgYW5kCisgICAg
ICAgIHJlbW92ZSB1bm5lY2Vzc2FyeSBoZWFkZXIgPENvcmVHcmFwaGljcy9DR1BhdGhQcml2YXRl
Lmg+LgorCiAyMDE0LTA5LTAzICBCZWFyIFRyYXZpcyAgPGJldHJhdmlzQGFkb2JlLmNvbT4KIAog
ICAgICAgICBbQ1NTIEZvbnQgTG9hZGluZ10gRW5hYmxlIFBhZ2UgQ2FjaGluZwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCmluZGV4IGI1ZThjNmExZmI3ODMwNzk2ZjNiZDdmZDNhNzg4ZGQ1YzYzYWQ4ODIuLjRkNmI2
NGNiZThlNDcxNDk3ZDFlYWRlYTM0ZDAzYmUxNWYwY2I1Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAxNC0wOS0wMyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5j
b20+CisKKyAgICAgICAgW2lPU10gTWFrZSBXZWJDb3JlIGJ1aWxkIHdpdGggcHVibGljIGlPUyBT
REsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjQ4
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCB1
cCBzb21lICNpbmNsdWRlIHN0YXRlbWVudHMgdG8gcmVmZXJlbmNlIFdlYkNvcmUgU1BJIGhlYWRl
cnMuIFdlJ2xsIGxvb2sgdG8gbWFrZQorICAgICAgICBXZWJLaXQgYnVpbGQgd2l0aCB0aGUgcHVi
bGljIGlPUyBTREsgaW4gc3Vic2VxdWVudCBjb21taXQocykuCisKKyAgICAgICAgKiBET00vV2Vi
RE9NT3BlcmF0aW9uc1ByaXZhdGUuaDogU3Vic3RpdHV0ZSBoZWFkZXIgPFdlYkNvcmUvTlNHZW9t
ZXRyeVNQSS5oPiBmb3IgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPi4KKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgPFdl
YkNvcmUvTlNGaWxlTWFuYWdlclNQSS5oPiBmb3IgPEZvdW5kYXRpb24vTlNGaWxlTWFuYWdlcl9O
U1VSTEV4dHJhcy5oPi4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlJlbmRlckxheWVyLmg6IFN1YnN0
aXR1dGUgaGVhZGVyIDxXZWJDb3JlL05TR2VvbWV0cnlTUEkuaD4gZm9yIDxGb3VuZGF0aW9uL05T
R2VvbWV0cnkuaD4uCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOiBTdWJzdGl0dXRlIGhl
YWRlciA8V2ViQ29yZS9Nb2JpbGVHZXN0YWx0U1BJLmg+IGZvciA8TW9iaWxlR2VzdGFsdC5oPi4K
KwogMjAxNC0wOC0zMSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgKGFuZCB1bm5lY2Vzc2FyaWx5IGlPUy1zcGVjaWZp
Yykgc2V0U3Ryb2tlQW5kRmlsbENvbG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDQ3MzY3MTVlNTdhNGM2MWIw
NDJmYjg1MmEyYmNhZDkyZTEyNjAzZC4uYjBkNjkwNTVhOWEwYTMxNDljMzMwMmJkNDE3MGYwNWZm
ZDliZGYxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTA5LTAzICBEYW5pZWwg
QmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNYWtlIFdlYkNvcmUg
YnVpbGQgd2l0aCBwdWJsaWMgaU9TIFNESworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRml4IHVwIHNvbWUgI2luY2x1ZGUgc3RhdGVtZW50cyB0byByZWZl
cmVuY2UgV2ViQ29yZSBTUEkgaGVhZGVycy4gV2UnbGwgbG9vayB0byBtYWtlCisgICAgICAgIFdl
YktpdDIgYnVpbGQgd2l0aCB0aGUgcHVibGljIGlPUyBTREsgaW4gc3Vic2VxdWVudCBjb21taXQo
cykuCisKKyAgICAgICAgKiBTaGFyZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW06IFN1
YnN0aXR1dGUgaGVhZGVyIDxXZWJDb3JlL05TR2VvbWV0cnlTUEkuaD4gZm9yIDxGb3VuZGF0aW9u
L05TR2VvbWV0cnkuaD4uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW06IFN1YnN0aXR1dGUgaGVhZGVyIDxXZWJDb3JlL0NHRmxvYXRTUEkuaD4gZm9yIDxDb3JlR3Jh
cGhpY3MvQ0dGbG9hdC5oPi4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNz
dXJlSGFuZGxlcklPUy5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgPFdlYkNvcmUvRGlzcGF0Y2hTUEku
aD4gZm9yIDxkaXNwYXRjaC9wcml2YXRlLmg+LgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZm9y
bXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW06IFN1YnN0aXR1dGUgaGVhZGVyIDxXZWJDb3JlL01Q
QVZSb3V0aW5nQ29udHJvbGxlclNQSS5oPiBmb3IgPE1lZGlhUGxheWVyL01QQVZSb3V0aW5nQ29u
dHJvbGxlci5oPi4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6IFN1
YnN0aXR1dGUgaGVhZGVyIDxXZWJDb3JlL0NURm9udHtEZXNjcmlwdG9yU1BJLCBTUEl9Lmg+IGZv
ciA8Q29yZVRleHQvQ1RGb250e0Rlc2NyaXB0b3JQcml2LCBQcml2fS5oPiwgcmVzcGVjdGl2ZWx5
LgorCiAyMDE0LTA5LTAyICBZb25nanVuIFpoYW5nICA8eW9uZ2p1bl96aGFuZ0BhcHBsZS5jb20+
CiAKICAgICAgICAgUGFzcyB0aGUgcmVzb3VyY2UgaWRlbnRpZmllciBpbiB3aWxsU2VuZFJlcXVl
c3QgY2FsbGJhY2suCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggN2YzYzE2ZmZjNDVkNzBmNDFlMjViNTk0MjNiZDIxMGYzYTBlZGVj
Ny4uYmJhMGZjZjA1ZjM3ZTI0OGUwYTJmNDU2NTI0ODE3YTJkODE1OTFhMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTcyOCw2
ICs1NzI4LDM2IEBACiAJCUNFMDU3RkE2MTIyMDczMTEwMEE0NzZENSAvKiBEb2N1bWVudE1hcmtl
ckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENFMDU3RkE0MTIyMDczMTEwMEE0NzZENSAvKiBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTA4
QzNEMTE1MkI1OTlBMDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTA4QzNDRjE1MkI1
OTlBMDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAgKi87IH07CiAJCUNF
MDhDM0QyMTUyQjU5OUEwMDIxQjhDMiAvKiBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTA4QzNEMDE1MkI1
OTlBMDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CisJCUNFNEY2RDJEMTlCNzc0RDUwMEJGQzY0QSAvKiBB
VlBsYXllckNvbnRyb2xsZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENFNEY2RDI5MTlCNzc0RDUwMEJGQzY0QSAvKiBBVlBsYXllckNvbnRyb2xs
ZXJTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlDRTRGNkQyRTE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEMkEx
OUI3NzRENTAwQkZDNjRBIC8qIEFWUGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQyRjE5Qjc3NEQ1
MDBCRkM2NEEgLyogQVZWYWx1ZVRpbWluZ1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEMkIxOUI3NzRENTAwQkZDNjRBIC8qIEFWVmFsdWVU
aW1pbmdTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlDRTRGNkQzMDE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZWaWRlb0xheWVyU1BJLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQyQzE5Qjc3NEQ1
MDBCRkM2NEEgLyogQVZWaWRlb0xheWVyU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZEMzQxOUI3NzRGNjAwQkZDNjRBIC8qIENBTGF5
ZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENF
NEY2RDMyMTlCNzc0RjYwMEJGQzY0QSAvKiBDQUxheWVyU1BJLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZEMzUxOUI3NzRGNjAwQkZDNjRB
IC8qIENBVGlsZWRMYXllclNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0U0RjZEMzMxOUI3NzRGNjAwQkZDNjRBIC8qIENBVGlsZWRMYXllclNQSS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2
RDQxMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0NvbG9yVHJhbnNmb3JtU1BJLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzNzE5Qjc3NTEyMDBCRkM2
NEEgLyogQ0dDb2xvclRyYW5zZm9ybVNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDQyMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0NvbnRl
eHRHU3RhdGVTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENFNEY2RDM4MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0NvbnRleHRHU3RhdGVTUEkuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ0MzE5
Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzOTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250
ZXh0U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQ0U0RjZENDQxOUI3NzUxMjAwQkZDNjRBIC8qIENHRmxvYXRTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDNBMTlCNzc1MTIwMEJGQzY0
QSAvKiBDR0Zsb2F0U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQ0U0RjZENDUxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEdseXBoU3VwcG9y
dFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0
RjZEM0IxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEdseXBoU3VwcG9ydFNQSS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDQ2MTlCNzc1
MTIwMEJGQzY0QSAvKiBDR0ZvbnRJbmZvU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzQzE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250SW5m
b1NQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUNFNEY2RDQ3MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRSZW5kZXJpbmdTUEkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDNEMTlCNzc1MTIw
MEJGQzY0QSAvKiBDR0ZvbnRSZW5kZXJpbmdTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ0ODE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dG
b250VW5pY29kZVN1cHBvcnRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENFNEY2RDNFMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRVbmljb2RlU3Vw
cG9ydFNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUNFNEY2RDQ5MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ltYWdlU1BJLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzRjE5Qjc3NTEyMDBCRkM2
NEEgLyogQ0dJbWFnZVNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUNFNEY2RDRBMTlCNzc1MTIwMEJGQzY0QSAvKiBDR1NSZWdpb25TUEkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDQwMTlC
Nzc1MTIwMEJGQzY0QSAvKiBDR1NSZWdpb25TUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ1NzE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RG
b250RGVzY3JpcHRvclNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0U0RjZENEMxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9udERlc2NyaXB0b3JTUEku
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRG
NkQ1ODE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RGb250U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ0RDE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RG
b250U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQ0U0RjZENTkxOUI3NzU3QjAwQkZDNjRBIC8qIENVSUNhdGFsb2dTUEkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDRGMTlCNzc1N0IwMEJG
QzY0QSAvKiBDVUlDYXRhbG9nU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENUExOUI3NzU3QjAwQkZDNjRBIC8qIENVSVN0eWxlRWZm
ZWN0Q29uZmlndXJhdGlvblNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0U0RjZENTAxOUI3NzU3QjAwQkZDNjRBIC8qIENVSVN0eWxlRWZmZWN0Q29u
ZmlndXJhdGlvblNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUNFNEY2RDVCMTlCNzc1N0IwMEJGQzY0QSAvKiBNb2JpbGVHZXN0YWx0U1BJLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ1MjE5
Qjc3NTdCMDBCRkM2NEEgLyogTW9iaWxlR2VzdGFsdFNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDVDMTlCNzc1N0IwMEJGQzY0QSAv
KiBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDUzMTlCNzc1N0IwMEJGQzY0QSAvKiBNUEFWUm91dGlu
Z0NvbnRyb2xsZXJTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlDRTRGNkQ1RDE5Qjc3NTdCMDBCRkM2NEEgLyogUUxQcmV2aWV3Q29udmVydGVy
U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRG
NkQ1NTE5Qjc3NTdCMDBCRkM2NEEgLyogUUxQcmV2aWV3Q29udmVydGVyU1BJLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENUUxOUI3NzU3
QjAwQkZDNjRBIC8qIFF1aWNrTG9va1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENTYxOUI3NzU3QjAwQkZDNjRBIC8qIFF1aWNrTG9va1NQ
SS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNF
NEY2RDY0MTlCNzc1RjgwMEJGQzY0QSAvKiBEaXNwYXRjaFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENUYxOUI3NzVGODAwQkZDNjRBIC8q
IERpc3BhdGNoU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQ0U0RjZENjUxOUI3NzVGODAwQkZDNjRBIC8qIGR5bGRTUEkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDYwMTlCNzc1RjgwMEJG
QzY0QSAvKiBkeWxkU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQ0U0RjZENjYxOUI3NzVGODAwQkZDNjRBIC8qIE5TRmlsZU1hbmFnZXJTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDYx
MTlCNzc1RjgwMEJGQzY0QSAvKiBOU0ZpbGVNYW5hZ2VyU1BJLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENjcxOUI3NzVGODAwQkZDNjRB
IC8qIE5TR2VvbWV0cnlTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENFNEY2RDYyMTlCNzc1RjgwMEJGQzY0QSAvKiBOU0dlb21ldHJ5U1BJLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENjgx
OUI3NzVGODAwQkZDNjRBIC8qIE5TUG9pbnRlckZ1bmN0aW9uc1NQSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENjMxOUI3NzVGODAwQkZDNjRB
IC8qIE5TUG9pbnRlckZ1bmN0aW9uc1NQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDZBMTlCNzg1NEUwMEJGQzY0QSAvKiBJT1BNTGli
U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRG
NkQ2OTE5Qjc4NTRFMDBCRkM2NEEgLyogSU9QTUxpYlNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNFN0IyREIzMTU4NkFCQUQwMDk4QjNGQSAv
KiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREFGMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5h
dGl2ZVRleHRVSUNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlDRTdCMkRCNDE1ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVU
ZXh0VUlDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0U3QjJEQjAxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJQ29u
dHJvbGxlci5tbSAqLzsgfTsKIAkJQ0U3QjJEQjUxNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRl
cm5hdGl2ZVdpdGhSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0U3QjJEQjExNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhS
YW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC0xMzE4Niw2ICsxMzIxNiwzNiBAQAogCQlDRTA1N0ZBNDEyMjA3MzExMDBBNDc2RDUgLyogRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERvY3VtZW50TWFya2VyQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDRTA4QzNDRjE1MkI1OTlBMDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBbHRlcm5hdGl2ZVRleHRD
b250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0UwOEMzRDAxNTJC
NTk5QTAwMjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQyOTE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5
ZXJDb250cm9sbGVyU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFWUGxh
eWVyQ29udHJvbGxlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQy
QTE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBVlBsYXllclZpZXdDb250cm9sbGVyU1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDJCMTlCNzc0RDUwMEJGQzY0QSAvKiBB
VlZhbHVlVGltaW5nU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFWVmFs
dWVUaW1pbmdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEMkMxOUI3
NzRENTAwQkZDNjRBIC8qIEFWVmlkZW9MYXllclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBVlZpZGVvTGF5ZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0U0RjZEMzIxOUI3NzRGNjAwQkZDNjRBIC8qIENBTGF5ZXJTUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ0FMYXllclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDRTRGNkQzMzE5Qjc3NEY2MDBCRkM2NEEgLyogQ0FUaWxlZExheWVyU1BJLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENBVGlsZWRMYXllclNQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzNzE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb2xv
clRyYW5zZm9ybVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDR0NvbG9y
VHJhbnNmb3JtU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDM4MTlC
Nzc1MTIwMEJGQzY0QSAvKiBDR0NvbnRleHRHU3RhdGVTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ0dDb250ZXh0R1N0YXRlU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNFNEY2RDM5MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0NvbnRleHRTUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0dDb250ZXh0U1BJLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDNBMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0Zsb2F0U1BJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHRmxvYXRTUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEM0IxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9u
dEdseXBoU3VwcG9ydFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDR0Zv
bnRHbHlwaFN1cHBvcnRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZE
M0MxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEluZm9TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ0dGb250SW5mb1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDRTRGNkQzRDE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250UmVuZGVyaW5nU1BJLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHRm9udFJlbmRlcmluZ1NQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzRTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dG
b250VW5pY29kZVN1cHBvcnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q0dGb250VW5pY29kZVN1cHBvcnRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0U0RjZEM0YxOUI3NzUxMjAwQkZDNjRBIC8qIENHSW1hZ2VTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ0dJbWFnZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDRTRGNkQ0MDE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dTUmVnaW9uU1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHU1JlZ2lvblNQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDRTRGNkQ0QzE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RGb250RGVzY3JpcHRv
clNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDVEZvbnREZXNjcmlwdG9y
U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDREMTlCNzc1N0IwMEJG
QzY0QSAvKiBDVEZvbnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1RG
b250U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDRGMTlCNzc1N0Iw
MEJGQzY0QSAvKiBDVUlDYXRhbG9nU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENVSUNhdGFsb2dTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZE
NTAxOUI3NzU3QjAwQkZDNjRBIC8qIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRp
b25TUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENTIxOUI3NzU3QjAw
QkZDNjRBIC8qIE1vYmlsZUdlc3RhbHRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTW9iaWxlR2VzdGFsdFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
RTRGNkQ1MzE5Qjc3NTdCMDBCRkM2NEEgLyogTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQ1NTE5Qjc3NTdCMDBCRkM2NEEg
LyogUUxQcmV2aWV3Q29udmVydGVyU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFFMUHJldmlld0NvbnZlcnRlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDRTRGNkQ1NjE5Qjc3NTdCMDBCRkM2NEEgLyogUXVpY2tMb29rU1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1aWNrTG9va1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDRTRGNkQ1RjE5Qjc3NUY4MDBCRkM2NEEgLyogRGlzcGF0Y2hTUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzcGF0Y2hTUEkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENjAxOUI3NzVGODAwQkZDNjRBIC8qIGR5bGRTUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gZHlsZFNQSS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDRTRGNkQ2MTE5Qjc3NUY4MDBCRkM2NEEgLyogTlNGaWxlTWFuYWdl
clNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0ZpbGVNYW5hZ2VyU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDYyMTlCNzc1RjgwMEJGQzY0
QSAvKiBOU0dlb21ldHJ5U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5T
R2VvbWV0cnlTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENjMxOUI3
NzVGODAwQkZDNjRBIC8qIE5TUG9pbnRlckZ1bmN0aW9uc1NQSS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBOU1BvaW50ZXJGdW5jdGlvbnNTUEkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENjkxOUI3ODU0RTAwQkZDNjRBIC8qIElPUE1MaWJTUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSU9QTUxpYlNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDRTVDQjFCMzE0RURBQjZGMDBCQjI3OTUgLyogRXZlbnRTZW5k
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRTZW5kZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U2RDg5Mjk0QzdBQUNFMEFEODlCM0REIC8qIE1h
dGhNTE1lbmNsb3NlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
YXRoTUxNZW5jbG9zZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U3
QjJEQUYxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xs
ZXIuaDsgcGF0aCA9IG1hYy9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MTM5LDggKzE2MTk5LDE1IEBACiAJCTY1M0VGODM2MTlB
MDQzQUUwMDUyMjAyQyAvKiBzcGkgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKAorCQkJCUNFNEY2RDI4MTlCNzc0RDUwMEJGQzY0QSAvKiBhdmtpdCAqLywKKwkJCQlD
RTRGNkQzMTE5Qjc3NEY2MDBCRkM2NEEgLyogY2EgKi8sCiAJCQkJNjUwODZEQTYxOUFDMTcxOTAw
OUFGNDZCIC8qIGNmICovLAorCQkJCUNFNEY2RDM2MTlCNzc1MTIwMEJGQzY0QSAvKiBjZyAqLywK
IAkJCQk2NTNFRjgzNzE5QTA0M0FFMDA1MjIwMkMgLyogY29jb2EgKi8sCisJCQkJQ0U0RjZENEIx
OUI3NzU3QjAwQkZDNjRBIC8qIGN0ICovLAorCQkJCUNFNEY2RDRFMTlCNzc1N0IwMEJGQzY0QSAv
KiBjdWkgKi8sCisJCQkJQ0U0RjZENTExOUI3NzU3QjAwQkZDNjRBIC8qIGlvcyAqLywKKwkJCQlD
RTRGNkQ1NDE5Qjc3NTdCMDBCRkM2NEEgLyogcXVpY2tsb29rICovLAogCQkJKTsKIAkJCXBhdGgg
PSBzcGk7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTYxNDgsNiArMTYyMTUsMTIg
QEAKIAkJNjUzRUY4MzcxOUEwNDNBRTAwNTIyMDJDIC8qIGNvY29hICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDRTRGNkQ1RjE5Qjc3NUY4MDBCRkM2NEEg
LyogRGlzcGF0Y2hTUEkuaCAqLywKKwkJCQlDRTRGNkQ2MDE5Qjc3NUY4MDBCRkM2NEEgLyogZHls
ZFNQSS5oICovLAorCQkJCUNFNEY2RDY5MTlCNzg1NEUwMEJGQzY0QSAvKiBJT1BNTGliU1BJLmgg
Ki8sCisJCQkJQ0U0RjZENjExOUI3NzVGODAwQkZDNjRBIC8qIE5TRmlsZU1hbmFnZXJTUEkuaCAq
LywKKwkJCQlDRTRGNkQ2MjE5Qjc3NUY4MDBCRkM2NEEgLyogTlNHZW9tZXRyeVNQSS5oICovLAor
CQkJCUNFNEY2RDYzMTlCNzc1RjgwMEJGQzY0QSAvKiBOU1BvaW50ZXJGdW5jdGlvbnNTUEkuaCAq
LywKIAkJCQk2NTNFRjgzODE5QTA0M0FFMDA1MjIwMkMgLyogTlNVUkxGaWxlVHlwZU1hcHBpbmdz
U1BJLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IGNvY29hOwpAQCAtMjE1NDQsNiArMjE2MTcsNzkg
QEAKIAkJCXBhdGggPSBpb3M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQlD
RTRGNkQyODE5Qjc3NEQ1MDBCRkM2NEEgLyogYXZraXQgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91
cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNFNEY2RDI5MTlCNzc0RDUwMEJGQzY0QSAvKiBBVlBs
YXllckNvbnRyb2xsZXJTUEkuaCAqLywKKwkJCQlDRTRGNkQyQTE5Qjc3NEQ1MDBCRkM2NEEgLyog
QVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oICovLAorCQkJCUNFNEY2RDJCMTlCNzc0RDUwMEJG
QzY0QSAvKiBBVlZhbHVlVGltaW5nU1BJLmggKi8sCisJCQkJQ0U0RjZEMkMxOUI3NzRENTAwQkZD
NjRBIC8qIEFWVmlkZW9MYXllclNQSS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBhdmtpdDsKKwkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUNFNEY2RDMxMTlCNzc0RjYwMEJGQzY0
QSAvKiBjYSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJ
Q0U0RjZEMzIxOUI3NzRGNjAwQkZDNjRBIC8qIENBTGF5ZXJTUEkuaCAqLywKKwkJCQlDRTRGNkQz
MzE5Qjc3NEY2MDBCRkM2NEEgLyogQ0FUaWxlZExheWVyU1BJLmggKi8sCisJCQkpOworCQkJcGF0
aCA9IGNhOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQ0U0RjZEMzYxOUI3
NzUxMjAwQkZDNjRBIC8qIGNnICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJl
biA9ICgKKwkJCQlDRTRGNkQzNzE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb2xvclRyYW5zZm9ybVNQ
SS5oICovLAorCQkJCUNFNEY2RDM4MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0NvbnRleHRHU3RhdGVT
UEkuaCAqLywKKwkJCQlDRTRGNkQzOTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0U1BJLmgg
Ki8sCisJCQkJQ0U0RjZEM0ExOUI3NzUxMjAwQkZDNjRBIC8qIENHRmxvYXRTUEkuaCAqLywKKwkJ
CQlDRTRGNkQzQjE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250R2x5cGhTdXBwb3J0U1BJLmggKi8s
CisJCQkJQ0U0RjZEM0MxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEluZm9TUEkuaCAqLywKKwkJ
CQlDRTRGNkQzRDE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250UmVuZGVyaW5nU1BJLmggKi8sCisJ
CQkJQ0U0RjZEM0UxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udFVuaWNvZGVTdXBwb3J0U1BJLmgg
Ki8sCisJCQkJQ0U0RjZEM0YxOUI3NzUxMjAwQkZDNjRBIC8qIENHSW1hZ2VTUEkuaCAqLywKKwkJ
CQlDRTRGNkQ0MDE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dTUmVnaW9uU1BJLmggKi8sCisJCQkpOwor
CQkJcGF0aCA9IGNnOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQ0U0RjZE
NEIxOUI3NzU3QjAwQkZDNjRBIC8qIGN0ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQlDRTRGNkQ0QzE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RGb250RGVzY3Jp
cHRvclNQSS5oICovLAorCQkJCUNFNEY2RDREMTlCNzc1N0IwMEJGQzY0QSAvKiBDVEZvbnRTUEku
aCAqLywKKwkJCSk7CisJCQlwYXRoID0gY3Q7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwor
CQl9OworCQlDRTRGNkQ0RTE5Qjc3NTdCMDBCRkM2NEEgLyogY3VpICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDRTRGNkQ0RjE5Qjc3NTdCMDBCRkM2NEEg
LyogQ1VJQ2F0YWxvZ1NQSS5oICovLAorCQkJCUNFNEY2RDUwMTlCNzc1N0IwMEJGQzY0QSAvKiBD
VUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEkuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gY3Vp
OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQ0U0RjZENTExOUI3NzU3QjAw
QkZDNjRBIC8qIGlvcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJQ0U0RjZENTIxOUI3NzU3QjAwQkZDNjRBIC8qIE1vYmlsZUdlc3RhbHRTUEkuaCAqLywK
KwkJCQlDRTRGNkQ1MzE5Qjc3NTdCMDBCRkM2NEEgLyogTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJ
LmggKi8sCisJCQkpOworCQkJcGF0aCA9IGlvczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CisJCX07CisJCUNFNEY2RDU0MTlCNzc1N0IwMEJGQzY0QSAvKiBxdWlja2xvb2sgKi8gPSB7CisJ
CQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNFNEY2RDU1MTlCNzc1N0Iw
MEJGQzY0QSAvKiBRTFByZXZpZXdDb252ZXJ0ZXJTUEkuaCAqLywKKwkJCQlDRTRGNkQ1NjE5Qjc3
NTdCMDBCRkM2NEEgLyogUXVpY2tMb29rU1BJLmggKi8sCisJCQkpOworCQkJcGF0aCA9IHF1aWNr
bG9vazsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUNFNzlENjg2MTdGMjIw
RUQwMDgxNUMwMCAvKiBpb3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKApAQCAtMjMzMzUsOCArMjM0ODEsMTIgQEAKIAkJCQkwNzAzNjNFMDE4MUExQ0RDMDBDMDc0
QTUgLyogQVZBdWRpb0NhcHR1cmVTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3MDM2M0Uy
MTgxQTFDREMwMEMwNzRBNSAvKiBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwNzAzNjNFNDE4MUExQ0RDMDBDMDc0QTUgLyogQVZNZWRpYUNhcHR1cmVTb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDJEMTlCNzc0RDUwMEJGQzY0QSAvKiBBVlBsYXll
ckNvbnRyb2xsZXJTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDJFMTlCNzc0RDUwMEJG
QzY0QSAvKiBBVlBsYXllclZpZXdDb250cm9sbGVyU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
RDMzNkY2MjE3RjlGNjQ3MDBERERDRDAgLyogQVZUcmFja1ByaXZhdGVBVkZPYmpDSW1wbC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZEMkYxOUI3NzRENTAwQkZDNjRBIC8qIEFWVmFsdWVUaW1p
bmdTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3MDM2M0U2MTgxQTFDREMwMEMwNzRBNSAvKiBB
VlZpZGVvQ2FwdHVyZVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZEMzAxOUI3NzRE
NTAwQkZDNjRBIC8qIEFWVmlkZW9MYXllclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjlBODEy
MzgwRkJCOUMxRDAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxNzQxRDBGMEIwNzI1OUEwMEVENDQyQyAvKiBCYWNrRm9yd2FyZENsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkNBOEM4MUUxMUUzRDM2OTAwODEyRkI3IC8qIEJhY2tGb3J3YXJkQ29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzQxMCw2ICsyMzU2MCw3IEBACiAJCQkJQkNCMTZD
MjgwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTkzRjE5OTUwMDgyNDVFNTkwMDFFOUFCQyAvKiBDYWNoZVBvbGljeS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTE4RjUwMDIxOTRDQUMzQTAwODFCQUFFIC8qIEpTR2FtZXBhZC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQ0U0RjZEMzQxOUI3NzRGNjAwQkZDNjRBIC8qIENBTGF5ZXJTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCTQ5QUUyRDk3MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlv
blZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMUQ1RUNCNTEzNEI1OERBMDA4N0M3OEYgLyog
Q2FsbGJhY2tGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkU0RTkxQUQxMEY3RkIzMTAw
QTI3NzlDIC8qIENhbnZhc0NvbnRleHRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLywKQEAgLTIz
NDI0LDYgKzIzNTc1LDcgQEAKIAkJCQkwNzlEMDg2ODE2MkYyMEU4MDBEQjg2NTggLyogQ2FwdGlv
blVzZXJQcmVmZXJlbmNlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc5RDA4NkIxNjJGMjFGOTAw
REI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5OUNDMEI0RjE4QkU5ODQ5MDA2Q0VCQ0MgLyogQ2FwdHVyaW5nSW5wdXRDdXJzb3IuaCBp
biBIZWFkZXJzICovLAorCQkJCUNFNEY2RDM1MTlCNzc0RjYwMEJGQzY0QSAvKiBDQVRpbGVkTGF5
ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNTUxNUY1MTkxODMwQTMwMDk2ODdEMiAvKiBZ
b3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1NTBCNjlFMDk5
REYwMjcwMDkwRDc4MSAvKiBDREFUQVNlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUNEREQ1
NzE1MThCNTdBODIwMEE5NEZDQiAvKiBDRE1TZXNzaW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTIz
NDMxLDYgKzIzNTgzLDE2IEBACiAJCQkJQ0U4MjQ1RjAxOUI2NzFCQTAwQUMwMTIyIC8qIENGTmV0
d29ya0Nvbm5lY3Rpb25DYWNoZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBOEU1NjcxNzU1
MkIyQTAwNzQ4OEU3IC8qIENGVVJMRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTgyNDVG
MjE5QjY3MUQ1MDBBQzAxMjIgLyogQ0ZVUkxSZXF1ZXN0U1BJLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlDRTRGNkQ0MzE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0U1BJLmggaW4gSGVhZGVycyAq
LywKKwkJCQlDRTRGNkQ0MjE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0R1N0YXRlU1BJLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ0MTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb2xvclRy
YW5zZm9ybVNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENDUxOUI3NzUxMjAwQkZDNjRB
IC8qIENHRm9udEdseXBoU3VwcG9ydFNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENDYx
OUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEluZm9TUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNF
NEY2RDQ3MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRSZW5kZXJpbmdTUEkuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUNFNEY2RDQ4MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRVbmljb2RlU3VwcG9y
dFNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENDQxOUI3NzUxMjAwQkZDNjRBIC8qIENH
RmxvYXRTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDQ5MTlCNzc1MTIwMEJGQzY0QSAv
KiBDR0ltYWdlU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ0QTE5Qjc3NTEyMDBCRkM2
NEEgLyogQ0dTUmVnaW9uU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTM2RkQxNTE2Qzc4MjY1
MDBGODg3QzEgLyogQ2hhbmdlVmVyc2lvbkRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QkM2
OUREMTUwNUYwNzYwMDFCNzRBQyAvKiBDaGFuZ2VWZXJzaW9uV3JhcHBlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkQzMTVGRkYxMkIwMjY3NjAwQzFBMzU5IC8qIENoYW5uZWxNZXJnZXJOb2RlLmgg
aW4gSGVhZGVycyAqLywKQEAgLTIzNjE5LDEwICsyMzc4MSwxNSBAQAogCQkJCTY1NjU4MTUxMDlE
MTMwNDMwMDBFNjFENyAvKiBDU1NWYWx1ZUtleXdvcmRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
ODBFNkNFOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTVmFsdWVMaXN0LmggaW4gSGVhZGVycyAqLywK
IAkJCQlFNDlCRDlGQTEzMUZEMkVEMDAzQzU2RjAgLyogQ1NTVmFsdWVQb29sLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlDRTRGNkQ1NzE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RGb250RGVzY3JpcHRvclNQ
SS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENTgxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9u
dFNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENTkxOUI3NzU3QjAwQkZDNjRBIC8qIENV
SUNhdGFsb2dTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDVBMTlCNzc1N0IwMEJGQzY0
QSAvKiBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTkzRjE5OTJGMDgyNDVFNTkwMDFFOUFCQyAvKiBDdXJzb3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMjI3MkEyMEU4MkU4N0MwMEU3Rjk3NSAvKiBDdXJzb3JEYXRhLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzIyNzJBRDBFODJFOEYzMDBFN0Y5NzUgLyogQ3Vyc29yTGlzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNjJDRDMyNUExMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmggaW4gSGVh
ZGVycyAqLywKKwkJCQlDRTRGNkQ2NTE5Qjc3NUY4MDBCRkM2NEEgLyogZHlsZFNQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQThDQjQxM0UwRTg2MzNGRDAwMzJDNEYwIC8qIERhc2hBcnJheS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZEMEIwQTE5ODlDQTAwN0ZCOEM1IC8qIERhc2hib2FyZFJl
Z2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3OUNFMkExOTVDOTE4NjAwMTlDMTk4IC8qIEdh
bWVwYWRQcm92aWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzY5NSw2ICsyMzg2Miw3
IEBACiAJCQkJRkRBRjE5OTkxNTEzRDEzMTAwOERCMEMzIC8qIERpcmVjdENvbnZvbHZlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTVDNTY2QUIxMjdBM0FBRDAwRThBM0ZGIC8qIERpc2tJbWFnZUNh
Y2hlQ2xpZW50SU9TLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUY5RUY3MTEyNjY3NTBEMDBGQ0NG
NTIgLyogRGlza0ltYWdlQ2FjaGVJT1MuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDY0MTlC
Nzc1RjgwMEJGQzY0QSAvKiBEaXNwYXRjaFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlBRjJE
NjkxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNUQ4QzREQzAxNDI4MjIyQzAwMjZDRTcyIC8qIERpc3BsYXlTbGVlcERpc2FibGVy
Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDkxMTJCMDI2RjcwMEMxQTM1OSAvKiBE
aXN0YW5jZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDU3Myw2ICsyNDc0MSw3IEBACiAJCQkJRTEz
NEY1QUIxMkVFMzQzRjAwNEVDNThEIC8qIEludFJlY3RIYXNoLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMjc1MzU3NTBCMDUzODE0MDAyQ0U2NEYgLyogSW50U2l6ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjI3NTM1NzYwQjA1MzgxNDAwMkNFNjRGIC8qIEludFNpemVIYXNoLmggaW4gSGVhZGVycyAq
LywKKwkJCQlDRTRGNkQ2QTE5Qjc4NTRFMDBCRkM2NEEgLyogSU9QTUxpYlNQSS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDE4Rjg4MDUwRkY5NTdBRjAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTA3MDU4NTFCMTdGQjQ0QjQwMDVGMkJDQiAvKiBKU0FsbEF1
ZGlvQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzA1ODUwMzE3RkExMEQwMDA1
RjJCQ0IgLyogSlNBbGxWaWRlb0NhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTI5
NSw2ICsyNTQ2NCw3IEBACiAJCQkJMzdERENEOTUxMzg0NEZENTAwMDhCNzkzIC8qIE1JTUVIZWFk
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNzcyQzRGMEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1F
VHlwZVJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MkYxMDg2NjE2MkI2REE4MDA5QUM4
MUUgLyogTWl4ZWRDb250ZW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENUIx
OUI3NzU3QjAwQkZDNjRBIC8qIE1vYmlsZUdlc3RhbHRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUNERjJCMDExMTgyMDU0MDYwMEYyQjQyNCAvKiBNb2NrQm94LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDREYyQjAxMzE4MjA1NDA2MDBGMkI0MjQgLyogTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNERjJCMDE1MTgyMDU0MDYwMEYyQjQyNCAvKiBNb2NrTWVk
aWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLywKQEAgLTI1MzA3LDYgKzI1NDc3LDcgQEAK
IAkJCQk5MzVDNDc2MzA5QUM0Q0U2MDBBNkFBQjQgLyogTW91c2VFdmVudFdpdGhIaXRUZXN0UmVz
dWx0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNDgwQTQ0RUZDNzAwRjk5MkUwIC8qIE1v
dXNlUmVsYXRlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQzA5OUU2NDkyMDA1
NkU1ODEgLyogTW92ZVNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2
RDVDMTlCNzc1N0IwMEJGQzY0QSAvKiBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUZEQjE3MDA2MTRBMkJBQjIwMEEyQjVEOSAvKiBNdWx0aUNoYW5uZWxSZXNh
bXBsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUM2RjA5MDBBMTQzMjdCNjEwMDY4NTg0OSAvKiBN
dXRhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0QTBBNDRFRkM3MDBG
OTkyRTAgLyogTXV0YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTMxNCw2ICsyNTQ4
NSw5IEBACiAJCQkJRDZFNTI4QTQxNDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJ
bnRlcmVzdEdyb3VwLmggaW4gSGVhZGVycyAqLywKIAkJCQlENkUyNzZCMDE0NjM3NDU1MDAxRDI4
MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzZGMDhGQkQxNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAq
LywKKwkJCQlDRTRGNkQ2NjE5Qjc3NUY4MDBCRkM2NEEgLyogTlNGaWxlTWFuYWdlclNQSS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENjcxOUI3NzVGODAwQkZDNjRBIC8qIE5TR2VvbWV0cnlT
UEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDY4MTlCNzc1RjgwMEJGQzY0QSAvKiBOU1Bv
aW50ZXJGdW5jdGlvbnNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUyQjZDOUM2MTVFM0Y0REYw
MDY5MEIwNSAvKiBOYW1lZEZsb3dDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODE4
NzIyMzA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZWROb2RlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBODE4NzIxRTA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZU5vZGVMaXN0LmggaW4gSGVhZGVycyAq
LywKQEAgLTI1NTAzLDggKzI1Njc3LDEwIEBACiAJCQkJRkY5NDVFQ0MxNjFGN0YzNjAwOTcxQkM4
IC8qIFBzZXVkb0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTAwODFGRjAwMTZCMEEyRDMw
MDhBQUE3QSAvKiBQdWJsaWNTdWZmaXguaCBpbiBIZWFkZXJzICovLAogCQkJCTEwRkIwODRCMTRF
MTVDN0UwMEEzREI5OCAvKiBQdWJsaWNVUkxNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQlD
RTRGNkQ1RDE5Qjc3NTdCMDBCRkM2NEEgLyogUUxQcmV2aWV3Q29udmVydGVyU1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1NTBBMEJDQTA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDQyQUY3QTkxMDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9v
ay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENUUxOUI3NzU3QjAwQkZDNjRBIC8qIFF1aWNr
TG9va1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcyQUUxRTgxODNDMDc0MTAwMEE1OTg4IC8q
IFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzlFMzcx
NzEzNzM2QTY2MDBCOUU5MTkgLyogUXVvdGVkUHJpbnRhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1QTU3NEYyOTEzMURCOTZEMDA0NzFCODggLyogUXVvdGVzRGF0YS5oIGluIEhlYWRlcnMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUludGVybmFsLm1t
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5tbQppbmRleCBiYjNm
YzY5YTJkN2ZkNmEzY2I3ZjM3OWU1MmY4Nzc3NDc2OGM4NzY3Li5iMGIyZTM2ZWUzOTEzNWI5NzI1
YTNmMDRiYjg1OGVmYWI3YmNlMTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9vYmpjL0RPTUludGVybmFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMv
RE9NSW50ZXJuYWwubW0KQEAgLTM1LDYgKzM1LDggQEAKIAogI2lmIFBMQVRGT1JNKElPUykKICNk
ZWZpbmUgTkVFRFNfV1JBUFBFUl9DQUNIRV9MT0NLIDEKKworI2ltcG9ydCAiTlNQb2ludGVyRnVu
Y3Rpb25zU1BJLmgiCiAjZW5kaWYKIAogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfaW5zdGFuY2Uu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNlLm1tCmluZGV4IDAx
NWE2ZmJkY2NiN2E0ZTU3NDZhYTA2MWQ1ODllOTg0ODcyYmJhYmMuLjc3YmJlNWZmYTBhOWIxOTZk
MGNlNjQzNWU4NjRkM2M0ZGUyNTkzMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9vYmpjL29iamNfaW5zdGFuY2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMv
b2JqY19pbnN0YW5jZS5tbQpAQCAtMjYsMjAgKzI2LDIxIEBACiAjaW1wb3J0ICJjb25maWcuaCIK
ICNpbXBvcnQgIm9iamNfaW5zdGFuY2UuaCIKIAotI2ltcG9ydCAicnVudGltZV9tZXRob2QuaCIK
LSNpbXBvcnQgPHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmg+CiAjaW1wb3J0ICJKU0RPTUJpbmRp
bmcuaCIKKyNpbXBvcnQgIk5TUG9pbnRlckZ1bmN0aW9uc1NQSS5oIgogI2ltcG9ydCAiT2JqQ1J1
bnRpbWVPYmplY3QuaCIKICNpbXBvcnQgIldlYlNjcmlwdE9iamVjdC5oIgorI2ltcG9ydCAicnVu
dGltZV9tZXRob2QuaCIKICNpbXBvcnQgPG9iamMvb2JqYy1hdXRvLmg+CiAjaW1wb3J0IDxydW50
aW1lL0Vycm9yLmg+CisjaW1wb3J0IDxydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg+CiAjaW1w
b3J0IDxydW50aW1lL0pTTG9jay5oPgotI2ltcG9ydCAicnVudGltZS9GdW5jdGlvblByb3RvdHlw
ZS5oIgorI2ltcG9ydCA8cnVudGltZS9PYmplY3RQcm90b3R5cGUuaD4KICNpbXBvcnQgPHd0Zi9B
c3NlcnRpb25zLmg+CiAKICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0IDxGb3VuZGF0aW9uL05T
TWFwVGFibGUuaD4KLSNlbmRpZiAvLyBQTEFURk9STShJT1MpCisjZW5kaWYKIAogI2lmZGVmIE5E
RUJVRwogI2RlZmluZSBPQkpDX0xPRyhmb3JtYXRBbmRBcmdzLi4uKSAoKHZvaWQpMCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvSFRNTENvbnZlcnRlci5tbSBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvSFRNTENvbnZlcnRlci5tbQppbmRleCA2ZDRkNjhl
YmNkOGMwMzNmZWU1MGMyYmE1Mjg1ODc5NzA5YmM4OWE0Li44MjExY2YzODMwZDg2NzkyMzNkMDg3
YzQ4YTczYTdjZTRhM2ZhZjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2Nv
Y29hL0hUTUxDb252ZXJ0ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9I
VE1MQ29udmVydGVyLm1tCkBAIC02Miw2ICs2Miw4IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAK
KyNpbXBvcnQgIk5TR2VvbWV0cnlTUEkuaCIKKwogU09GVF9MSU5LX0ZSQU1FV09SSyhVSUtpdCkK
IFNPRlRfTElOS19DTEFTUyhVSUtpdCwgVUlDb2xvcikKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbQpp
bmRleCBkZmEyYjY2MjljZmRlNmIxMDUzZDkxNjBjM2RkYTJiYmE2ZDQwOWUzLi45OWVkZTBjYzNm
NDg1MTIzNThhMTI3OTUwYTViODZkMThkNTRjMDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbQpA
QCAtMjksMTMgKzI5LDEzIEBACiAjaWYgUExBVEZPUk0oSU9TKQogCiAjaW1wb3J0ICJMb2dnaW5n
LmgiCisjaW1wb3J0ICJNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCIKICNpbXBvcnQgIk1lZGlh
UGxheWVyLmgiCiAjaW1wb3J0ICJNZWRpYVNlc3Npb24uaCIKICNpbXBvcnQgIlNvZnRMaW5raW5n
LmgiCiAjaW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0ICJXZWJDb3Jl
VGhyZWFkUnVuLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBdWRpb1Nlc3Npb24uaD4KLSNp
bXBvcnQgPE1lZGlhUGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxlci5oPgogI2ltcG9ydCA8TWVk
aWFQbGF5ZXIvTVBNZWRpYUl0ZW0uaD4KICNpbXBvcnQgPE1lZGlhUGxheWVyL01QTm93UGxheWlu
Z0luZm9DZW50ZXIuaD4KICNpbXBvcnQgPE1lZGlhUGxheWVyL01QVm9sdW1lVmlldy5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGlzcGxheVNsZWVwRGlzYWJs
ZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EaXNwbGF5U2xlZXBE
aXNhYmxlckNvY29hLmNwcAppbmRleCA3ZWUyZTA4M2Q0NzZjMTU4YTc4MWEzNjYwOTllMzllNDhm
MGIzOTFkLi5hYjllMjMxMTM2NGJlNDUzNGQ3NGJjMTEyZWU4MTNmNzZlMmE2M2I3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EaXNwbGF5U2xlZXBEaXNhYmxlckNv
Y29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EaXNwbGF5U2xlZXBE
aXNhYmxlckNvY29hLmNwcApAQCAtMjgsNyArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAKLSNpbmNsdWRlIDxJT0tpdC9wd3JfbWd0L0lPUE1MaWIuaD4KKyNpbmNsdWRlICJJT1BNTGli
U1BJLmgiCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZW1vcnlQcmVzc3Vy
ZUhhbmRsZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL01lbW9yeVBy
ZXNzdXJlSGFuZGxlckNvY29hLm1tCmluZGV4IDgwNDI1MGE0YTM1YTE5N2U3YWI1ZWFmNTk1YzNk
NjNmMDdlNjU2YWYuLjM0NDFhYmFlODNiZmQ5ODM1ODYxZjc0M2JlYzdhYjgyNDg4MjNhZTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL01lbW9yeVByZXNzdXJlSGFu
ZGxlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL01lbW9yeVBy
ZXNzdXJlSGFuZGxlckNvY29hLm1tCkBAIC0yNiw2ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcu
aCIKICNpbXBvcnQgIk1lbW9yeVByZXNzdXJlSGFuZGxlci5oIgogCisjaW1wb3J0ICJEaXNwYXRj
aFNQSS5oIgogI2ltcG9ydCAiSU9TdXJmYWNlUG9vbC5oIgogI2ltcG9ydCAiR0NDb250cm9sbGVy
LmgiCiAjaW1wb3J0ICJKU0RPTVdpbmRvd0Jhc2UuaCIKQEAgLTQxLDcgKzQyLDYgQEAKICNpZiBQ
TEFURk9STShJT1MpCiAjaW1wb3J0ICJTeXN0ZW1NZW1vcnkuaCIKICNpbXBvcnQgIldlYkNvcmVU
aHJlYWQuaCIKLSNpbXBvcnQgPGRpc3BhdGNoL3ByaXZhdGUuaD4KICNlbmRpZgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbnRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgK
aW5kZXggNTg0OWUzYWFhOGE1MTAyZjM0YTM4MjdmMWUyNTg5YzJlZjBjMWY0OC4uYjIzMTg5MDg5
YjgzZDU3MDU1NjlmZGYxMWI0MjExNDgxNmIzNDg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ludFJlY3QuaApAQCAtNDIsOSArNDIsNyBAQCB0eXBlZGVmIHN0cnVjdCBf
TlNSZWN0IE5TUmVjdDsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQotI2lmbmRlZiBOU1Jl
Y3QKLSNkZWZpbmUgTlNSZWN0IENHUmVjdAotI2VuZGlmCit0eXBlZGVmIENHUmVjdCBOU1JlY3Q7
CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdJTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCmluZGV4IDA0YTgyNTNkZTc2ODBiZTQxYWNl
MGY4YTQ2N2UzN2ZhMDQyMTQ2OWYuLjY4ZWZjOTBiZDg0NDg3MDkwYTEyMDQ1NDY4ODcxZThlZjgy
M2I3ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBs
ZUZvbnREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuaApAQCAtNTUsMTkgKzU1LDcgQEAKICNlbmRpZgogCiAjaWYgVVNFKENHKQotI2lm
IGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVkZSg8Q29yZUdyYXBoaWNzL0NH
Rm9udFJlbmRlcmluZy5oPikKLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGb250UmVuZGVyaW5n
Lmg+Ci0jZWxzZQotZW51bSB7Ci0gICAga0NHRm9udFJlbmRlcmluZ1N0eWxlQW50aWFsaWFzaW5n
ID0gKDEgPDwgMCksCi0gICAga0NHRm9udFJlbmRlcmluZ1N0eWxlU21vb3RoaW5nID0gKDEgPDwg
MSksCi0gICAga0NHRm9udFJlbmRlcmluZ1N0eWxlU3VicGl4ZWxQb3NpdGlvbmluZyA9ICgxIDw8
IDIpLAotICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVN1YnBpeGVsUXVhbnRpemF0aW9uID0gKDEg
PDwgMyksCi0gICAga0NHRm9udFJlbmRlcmluZ1N0eWxlUGxhdGZvcm1OYXRpdmUgPSAoMSA8PCA5
KSwKLSAgICBrQ0dGb250UmVuZGVyaW5nU3R5bGVNYXNrID0gMHgyMEYKLX07Ci0jZW5kaWYKLXR5
cGVkZWYgdWludDMyX3QgQ0dGb250UmVuZGVyaW5nU3R5bGU7CisjaW5jbHVkZSAiQ0dGb250UmVu
ZGVyaW5nU1BJLmgiCiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMubW0KaW5kZXggOGYwODIxMTNkNWJjMDQwNjY4YzE5NDg0ODdjNTVlOTcwMDA3NjQ2My4u
YzIyYThjNjU0Y2E0ZmRlNGU2OWE4NTUzYWQ4ZGFlYjgxYmNmMDNlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLm1tCkBAIC00Myw2ICs0Myw3IEBACiAjaW1wb3J0ICJJbmJhbmRNZXRhZGF0YVRleHRU
cmFja1ByaXZhdGVBVkYuaCIKICNpbXBvcnQgIkluYmFuZFRleHRUcmFja1ByaXZhdGVBVkZPYmpD
LmgiCiAjaW1wb3J0ICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlTGVnYWN5QVZGT2JqQy5oIgorI2lt
cG9ydCAiTlNHZW9tZXRyeVNQSS5oIgogI2ltcG9ydCAiT3V0T2ZCYW5kVGV4dFRyYWNrUHJpdmF0
ZUFWRi5oIgogI2ltcG9ydCAiVVJMLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCkBAIC03NCw3ICs3
NSw2IEBACiAjaW5jbHVkZSAiVGV4dFRyYWNrLmgiCiAjZW5kaWYKIAotI2ltcG9ydCA8Rm91bmRh
dGlvbi9OU0dlb21ldHJ5Lmg+CiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZGb3VuZGF0aW9uLmg+
CiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCA8Q29yZUltYWdlL0NvcmVJbWFnZS5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3Jt
Q0FMYXllck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9Q
bGF0Zm9ybUNBTGF5ZXJNYWMubW0KaW5kZXggODM3N2U5NTQ5YmJlZTIyNTAwZGZmMmVhMmFiZTkx
YmY1YWEzYzNhNi4uMmExOGNkYzAyZGM5NWZhMzkyM2QyOTNmNjIyZjViYjNkNjFmYjI2ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3Jt
Q0FMYXllck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9t
YWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tCkBAIC01MiwxMiArNTIsMTIgQEAKICNpbXBvcnQgPHd0
Zi9SZXRhaW5QdHIuaD4KIAogI2lmIFBMQVRGT1JNKElPUykKKyNpbXBvcnQgIkNBVGlsZWRMYXll
clNQSS5oIgorI2ltcG9ydCAiTlNHZW9tZXRyeVNQSS5oIgogI2ltcG9ydCAiV0FLV2luZG93Lmgi
CiAjaW1wb3J0ICJXS0dyYXBoaWNzLmgiCiAjaW1wb3J0ICJXZWJDb3JlVGhyZWFkLmgiCiAjaW1w
b3J0ICJXZWJUaWxlZExheWVyLmgiCi0jaW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4K
LSNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FUaWxlZExheWVyUHJpdmF0ZS5oPgogI2Vsc2UKICNpbXBv
cnQgIlRoZW1lTWFjLmgiCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0JpdG1hcEltYWdlQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvQml0bWFwSW1hZ2VDRy5jcHAKaW5kZXggOGE0YTEzZTg5YjZiMTY0ZDFl
ZTViNTE2NmRlYTE0MjA1NmRjZDQwYi4uZDI1MTljODI2ZmZmNTlhYjY3NzFhMmYwMmM2OTkyNjUw
ZjA4Y2VmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
Qml0bWFwSW1hZ2VDRy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvQml0bWFwSW1hZ2VDRy5jcHAKQEAgLTM5LDEwICszOSw2IEBACiAjaW5jbHVkZSA8QXBwbGlj
YXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRG
T1JNKElPUykKLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0UHJpdmF0ZS5oPgotI2Vu
ZGlmCi0KICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlICJXZWJDb3JlU3lzdGVtSW50ZXJm
YWNlLmgiCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0NvbG9yQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
Q29sb3JDRy5jcHAKaW5kZXggYmNhODMwZmZkNWE5N2U2NDA5OGMyYzBkYTc5YTRiY2Y2YTYxODMz
ZS4uZmE4ZmMzNjc4ZjRiMzc5ODM5YWYyMTc5MjJmMzNlOTMwMGI3OGUxNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvQ29sb3JDRy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvQ29sb3JDRy5jcHAKQEAgLTM0LDggKzM0
LDcgQEAKICNpZiAhUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMv
QXBwbGljYXRpb25TZXJ2aWNlcy5oPgogI2Vsc2UKLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dD
b2xvclRyYW5zZm9ybS5oPgotI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4K
KyNpbmNsdWRlICJDR0NvbG9yVHJhbnNmb3JtU1BJLmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4
dHJhcy5oPgogI2VuZGlmIC8vICFQTEFURk9STShJT1MpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAppbmRl
eCAxZTNhYTc1YTY5NDEyNjY3ZDYwYjJlOGRmZTg1NTU2ZDMyNmI4ZDgxLi4wOTU5NjdmMTk3NmJl
ZGZhNTQxNGYyNmJjOTAxMjk4ZGU2MTcyOTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCkBAIC0yOSwx
NiArMjksMTggQEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHRDRy5oIgogCiAjaW5jbHVkZSAi
QWZmaW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiQ0dDb250ZXh0R1N0YXRlU1BJLmgiCisjaW5j
bHVkZSAiQ0dDb250ZXh0U1BJLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCiAjaW5j
bHVkZSAiR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlQ0cuaCIKICNpbmNsdWRlICJJbWFn
ZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkltYWdlT3JpZW50YXRpb24uaCIKLSNpbmNsdWRlICJVUkwu
aCIKICNpbmNsdWRlICJQYXRoLmgiCiAjaW5jbHVkZSAiUGF0dGVybi5oIgogI2luY2x1ZGUgIlNo
YWRvd0JsdXIuaCIKICNpbmNsdWRlICJTdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmgiCiAjaW5jbHVk
ZSAiVGltZXIuaCIKKyNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29y
ZUdyYXBoaWNzLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYv
UmV0YWluUHRyLmg+CkBAIC01MiwxNyArNTQsOSBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShJ
T1MpCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dEdTdGF0ZS5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAjZW5kaWYKIAotI2lmICFQTEFURk9STShJT1MpCi1leHRlcm4gIkMi
IHsKLSAgICBDR19FWFRFUk4gdm9pZCBDR0NvbnRleHRTZXRDVE0oQ0dDb250ZXh0UmVmLCBDR0Fm
ZmluZVRyYW5zZm9ybSk7Ci0gICAgQ0dfRVhURVJOIENHQWZmaW5lVHJhbnNmb3JtIENHQ29udGV4
dEdldEJhc2VDVE0oQ0dDb250ZXh0UmVmKTsKLX07Ci0jZW5kaWYgLy8gIVBMQVRGT1JNKElPUykK
LQogLy8gRklYTUU6IFRoZSBmb2xsb3dpbmcgdXNpbmcgZGVjbGFyYXRpb24gc2hvdWxkIGJlIGlu
IDx3dGYvSGFzaEZ1bmN0aW9ucy5oPi4KIHVzaW5nIFdURjo6cGFpckludEhhc2g7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VTb3VyY2VDRy5j
cHAKaW5kZXggODVhYWM4NTUyYjVhYTE4N2ViMGFhNmZmY2RlNTI2NzRjZGE3OTU3ZS4uOTRjMDA0
OTUzMDMwN2ZiMTUyOTJkOTI4NmRjMGMzOTU3Njg1MzNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VTb3VyY2VDRy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VTb3VyY2VDRy5jcHAKQEAgLTM3LDcg
KzM3LDcgQEAKICNpZiAhUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2Vydmlj
ZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogI2Vsc2UKLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3Mv
Q0dJbWFnZVByaXZhdGUuaD4KKyNpbmNsdWRlICJDR0ltYWdlU1BJLmgiCiAjaW5jbHVkZSA8SW1h
Z2VJTy9JbWFnZUlPLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvUERGRG9jdW1lbnRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdlLmNwcAppbmRleCA0MDIyZmFkMTFlN2E2NDNm
MDJhYzRhMTVlYTYzZjJhMzE1OTNhMWJlLi4wNTRkNjNlYzg4MTdkNzNmYmJiYjNkNDVhYTdhZTA5
YjU3MDlkMTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9QREZEb2N1bWVudEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9QREZEb2N1bWVudEltYWdlLmNwcApAQCAtMzAsOCArMzAsNiBAQAogI2lmIFVTRShD
RykKIAogI2lmIFBMQVRGT1JNKElPUykKLSNpbXBvcnQgPENvcmVHcmFwaGljcy9DR0NvbnRleHRQ
cml2YXRlLmg+Ci0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0R1N0YXRlLmg+CiAjaW1w
b3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CiAjaW1wb3J0IDxJbWFnZUlPL0ltYWdl
SU8uaD4KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCmluZGV4IDNmZjE4MjNm
ZmUyMjg4NzM3NDkxNDg4YjEyMDYwNDM4NTU3N2ZkNDguLjgxMWY1N2VlZjg0MTlhYmU1Zjk0Mjhm
MGI3YzU3ZTlhMGNmYjM2ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KQEAgLTI4
LDggKzI4LDggQEAKICNpZiAhUExBVEZPUk0oSU9TKQogI2ltcG9ydCA8QXBwS2l0L05TRm9udC5o
PgogI2Vsc2UKKyNpbXBvcnQgIkNHRm9udEluZm9TUEkuaCIKICNpbXBvcnQgPENvcmVUZXh0L0Nv
cmVUZXh0Lmg+Ci0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dGb250SW5mby5oPgogI2VuZGlmCiAK
ICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW0KaW5kZXggNGZiODQ1YjhiZTcy
NDYxNDEzMzUzNmMzOTE5YzMzNGUxMGM4NjJlNS4uM2M4Nzg4MWQ1NWZlOTI4MzViNWNlMTVkZTA1
YWE3ZDdhNWExMmQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvaW9zL0ZvbnRDYWNoZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9pb3MvRm9udENhY2hlSU9TLm1tCkBAIC0yOSwxMSArMjksMTEgQEAKICNpbXBvcnQgImNv
bmZpZy5oIgogI2ltcG9ydCAiRm9udENhY2hlLmgiCiAKKyNpbXBvcnQgIkNHRm9udFVuaWNvZGVT
dXBwb3J0U1BJLmgiCisjaW1wb3J0ICJDVEZvbnREZXNjcmlwdG9yU1BJLmgiCisjaW1wb3J0ICJD
VEZvbnRTUEkuaCIKICNpbXBvcnQgIkZvbnQuaCIKICNpbXBvcnQgIlJlbmRlclRoZW1lSU9TLmgi
Ci0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dGb250VW5pY29kZVN1cHBvcnQuaD4KLSNpbXBvcnQg
PENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2Lmg+Ci0jaW1wb3J0IDxDb3JlVGV4dC9DVEZv
bnRQcml2Lmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9S
ZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250U2VydmljZXNJT1MubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udFNlcnZpY2VzSU9TLm1tCmlu
ZGV4IGMyMjJiNTI1MWNlYTljMWVhYTQ3MGQ2MWFjNjRkNDk1NjI1YjBmMTMuLjM2YzEwZDUyNTE5
MjFjNjJiNzAzNTI3NTNhOGVjYTU5YTBlODE2OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250U2VydmljZXNJT1MubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRTZXJ2aWNlc0lPUy5tbQpAQCAtMjUsMTAg
KzI1LDkgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiRm9udFNlcnZpY2VzSU9TLmgi
CiAKKyNpbXBvcnQgIkNHRm9udEluZm9TUEkuaCIKICNpbXBvcnQgIkZvbnRNZXRyaWNzLmgiCi0j
aW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+Ci0jaW1wb3J0IDxDb3JlR3JhcGhp
Y3MvQ29yZUdyYXBoaWNzUHJpdmF0ZS5oPgotI2ltcG9ydCA8bWFjaC1vL2R5bGRfcHJpdi5oPgor
I2ltcG9ydCAiZHlsZFNQSS5oIgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9pb3MvU2ltcGxlRm9udERhdGFJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9pb3MvU2ltcGxlRm9udERhdGFJT1MubW0KaW5kZXggZDNhYzFhNTMyZGQwNmNlNDc2Mjdk
MGQzOTk2MzM4ODU1NjcwNzMwMy4uOTg4ZmRlYzU2MzU1NzI2NzU0ZGY0MDkxZWY5OGQ5NjYxYTM5
YzE3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL1Np
bXBsZUZvbnREYXRhSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2lvcy9TaW1wbGVGb250RGF0YUlPUy5tbQpAQCAtMjgsMTEgKzI4LDEyIEBACiAjaW1wb3J0ICJT
aW1wbGVGb250RGF0YS5oIgogCiAjaW1wb3J0ICJCbG9ja0V4Y2VwdGlvbnMuaCIKKyNpbXBvcnQg
IkNHRm9udEluZm9TUEkuaCIKKyNpbXBvcnQgIkNHRm9udFJlbmRlcmluZ1NQSS5oIgogI2ltcG9y
dCAiRm9udC5oIgogI2ltcG9ydCAiRm9udENhY2hlLmgiCiAjaW1wb3J0ICJGb250RGVzY3JpcHRp
b24uaCIKICNpbXBvcnQgIkZvbnRTZXJ2aWNlc0lPUy5oIgotI2ltcG9ydCA8Q29yZUdyYXBoaWNz
L0NHRm9udEluZm8uaD4KICNpbXBvcnQgPENvcmVUZXh0L0NvcmVUZXh0Lmg+CiAjaW1wb3J0IDxm
bG9hdC5oPgogI2ltcG9ydCA8dW5pY29kZS91Y2hhci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQppbmRleCBmODQzYTEyMTZmYzIwYzY4ZTAz
NmEyYTM3Njg5MmFkZjNiN2JiNWYwLi5kMzE5ZjFjOGU0N2EzN2Q3YzA2NmY5OGFhYThkZWNjODdj
ODY4YjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Rm9udE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9u
dE1hYy5tbQpAQCAtMjMsNiArMjMsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJG
b250LmgiCiAKKyNpbXBvcnQgIkNURm9udERlc2NyaXB0b3JTUEkuaCIKICNpbXBvcnQgIkRhc2hB
cnJheS5oIgogI2ltcG9ydCAiR2x5cGhCdWZmZXIuaCIKICNpbXBvcnQgIkdyYXBoaWNzQ29udGV4
dC5oIgpAQCAtMzQsMjAgKzM1LDExIEBACiAjZW5kaWYKICNpbXBvcnQgPHd0Zi9NYXRoRXh0cmFz
Lmg+CiAKLSNpZiBfX2hhc19pbmNsdWRlKDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5o
PikKLSNpbXBvcnQgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2Lmg+Ci0jZW5kaWYKLWV4
dGVybiAiQyIgYm9vbCBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1VSUZvbnQoQ1RGb250RGVzY3Jp
cHRvclJlZik7Ci0KICNpZiBFTkFCTEUoTEVUVEVSUFJFU1MpCisjaW1wb3J0ICJDR0NvbnRleHRH
U3RhdGVTUEkuaCIKKyNpbXBvcnQgIkNVSUNhdGFsb2dTUEkuaCIKKyNpbXBvcnQgIkNVSVN0eWxl
RWZmZWN0Q29uZmlndXJhdGlvblNQSS5oIgogI2ltcG9ydCAiU29mdExpbmtpbmcuaCIKLSNpZiBf
X2hhc19pbmNsdWRlKDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzUHJpdmF0ZS5oPikKLSNpbXBv
cnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3NQcml2YXRlLmg+Ci0jZWxzZQotZXh0ZXJuIENH
Q29sb3JSZWYgQ0dDb250ZXh0R2V0RmlsbENvbG9yQXNDb2xvcihDR0NvbnRleHRSZWYpOwotI2Vu
ZGlmCi0jaW1wb3J0IDxDb3JlVUkvQ1VJQ2F0YWxvZy5oPgotI2ltcG9ydCA8Q29yZVVJL0NVSVN0
eWxlRWZmZWN0Q29uZmlndXJhdGlvbi5oPgogCiBTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUkso
Q29yZVVJKQogU09GVF9MSU5LX0NMQVNTKENvcmVVSSwgQ1VJQ2F0YWxvZykKQEAgLTU1LDcgKzQ3
LDcgQEAgU09GVF9MSU5LX0NMQVNTKENvcmVVSSwgQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9u
KQogCiBTT0ZUX0xJTktfRlJBTUVXT1JLKFVJS2l0KQogU09GVF9MSU5LKFVJS2l0LCBfVUlLaXRH
ZXRUZXh0RWZmZWN0c0NhdGFsb2csIENVSUNhdGFsb2cgKiwgKHZvaWQpLCAoKSkKLSNlbmRpZgor
I2VuZGlmIC8vIEVOQUJMRShMRVRURVJQUkVTUykKIAogI2RlZmluZSBTWU5USEVUSUNfT0JMSVFV
RV9BTkdMRSAxNAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvR2x5cGhQYWdlVHJlZU5vZGVNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0dseXBoUGFnZVRyZWVOb2RlTWFjLmNwcAppbmRleCAxNzQ1Y2Y2MmI0YzIx
Njg5Y2Q3M2Q3NTMxMGJhYmM2ZDA1OGQ4MGE4Li5iYTQ5NWU4MmU4NTIxMGM3M2M4ZTE0OTM1Mzdj
ODQ1MjI5NWE0NGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvR2x5cGhQYWdlVHJlZU5vZGVNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hYy5jcHAKQEAgLTM1LDggKzM1LDcg
QEAKICNpZiAhUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBw
bGljYXRpb25TZXJ2aWNlcy5oPgogI2Vsc2UKLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGb250
VW5pY29kZVN1cHBvcnQuaD4KLSNpbmNsdWRlIDxDb3JlVGV4dC9DVEZvbnRQcml2Lmg+CisjaW5j
bHVkZSAiQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaCIKICNpbmNsdWRlIDxDb3JlVGV4dC9Db3Jl
VGV4dC5oPgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9NZWRpYVBsYXllclByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4IGU5M2JlMjQwYTZkMWE4ODIzZmEz
NzYwNzAyZDA2OGYxMzRiZDdkYzUuLmYwMjFjMmFmMmZmMThkYWUyZjhhODc4N2VhMGFjYjQzYTZh
Zjk4OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9N
ZWRpYVBsYXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL01lZGlhUGxheWVyUHJveHkuaApAQCAtMjgsNyArMjgsNyBAQAogCiAjaWYgVEFSR0VUX09T
X0lQSE9ORQogI2lmIGRlZmluZWQoX19PQkpDX18pCi0jaW1wb3J0IDxGb3VuZGF0aW9uL05TR2Vv
bWV0cnkuaD4KKyNpbXBvcnQgIk5TR2VvbWV0cnlTUEkuaCIKICNlbmRpZgogCiAvLyBOZWVkZWQg
c2luY2UgdGhpcyBpcyBhIFdlYktpdCBwcml2YXRlIGhlYWRlciBvbiBpT1MuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFN
YWMubW0KaW5kZXggZjkwNDE1MjYwN2MyZjkwNzBlZjQ3OTdjZTliY2JmMDQ1ZDFjZmI3MC4uNTg4
ZjdiMmM4MTQ2YjExYzcxZmVhNDQ0ZjEwY2Q1MzIxZjlmYjc3NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5t
bQpAQCAtMjgsNiArMjgsOCBAQAogI2ltcG9ydCAiU2ltcGxlRm9udERhdGEuaCIKIAogI2ltcG9y
dCAiQmxvY2tFeGNlcHRpb25zLmgiCisjaW1wb3J0ICJDR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaCIK
KyNpbXBvcnQgIkNURm9udERlc2NyaXB0b3JTUEkuaCIKICNpbXBvcnQgIkNvbG9yLmgiCiAjaW1w
b3J0ICJGbG9hdFJlY3QuaCIKICNpbXBvcnQgIkZvbnQuaCIKQEAgLTQ0LDIwICs0Niw4IEBACiAj
aW1wb3J0IDxmbG9hdC5oPgogI2ltcG9ydCA8dW5pY29kZS91Y2hhci5oPgogI2ltcG9ydCA8d3Rm
L0Fzc2VydGlvbnMuaD4KLSNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0
Zi9SZXRhaW5QdHIuaD4KLQotI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYgX19oYXNfaW5j
bHVkZSg8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4pCi0jaW1wb3J0IDxDb3JlVGV4
dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPgotI2VuZGlmCi1leHRlcm4gIkMiIGJvb2wgQ1RGb250
RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2NyaXB0b3JSZWYpOwotCi0jaWYgZGVm
aW5lZChfX2hhc19pbmNsdWRlKSAmJiBfX2hhc19pbmNsdWRlKDxDb3JlR3JhcGhpY3MvQ0dGb250
R2x5cGhTdXBwb3J0Lmg+KQotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHRm9udEdseXBoU3VwcG9y
dC5oPgotI2VuZGlmCi1leHRlcm4gIkMiIGJvb2wgQ0dGb250R2V0R2x5cGhBZHZhbmNlc0ZvclN0
eWxlKENHRm9udFJlZiBmb250LAotICAgIGNvbnN0IENHQWZmaW5lVHJhbnNmb3JtICp0LCBDR0Zv
bnRSZW5kZXJpbmdTdHlsZSBzdHlsZSwKLSAgICBjb25zdCBDR0dseXBoIGdseXBoc1tdLCBzaXpl
X3QgY291bnQsIENHU2l6ZSBhZHZhbmNlc1tdKTsKKyNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMu
aD4KIAogI2lmICFQTEFURk9STShJT1MpCiBAaW50ZXJmYWNlIE5TRm9udCAoV2ViQXBwS2l0U2Vj
cmV0QVBJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRp
bGVDYWNoZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUu
bW0KaW5kZXggNmMwMDE0MmI5NmY2MDE3ZGI1YjhlNTk3ZmNlODFkNjc0MzQ5NTU2Ni4uYTBlMmI5
MGFkMTRjOWNjODFmZjQ0YTZkNmNkNzg5YTE3YTNmYjMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCkBAIC0yOCw2ICsyOCw4IEBACiAKICNp
ZiBQTEFURk9STShJT1MpCiAKKyNpbmNsdWRlICJDQUxheWVyU1BJLmgiCisjaW5jbHVkZSAiQ0dT
UmVnaW9uU1BJLmgiCiAjaW5jbHVkZSAiTGVnYWN5VGlsZUdyaWQuaCIKICNpbmNsdWRlICJMZWdh
Y3lUaWxlR3JpZFRpbGUuaCIKICNpbmNsdWRlICJMZWdhY3lUaWxlTGF5ZXIuaCIKQEAgLTQwLDcg
KzQyLDYgQEAKICNpbmNsdWRlICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAi
V2ViQ29yZVRocmVhZFJ1bi5oIgogI2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgot
I2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZVByaXZhdGUuaD4KICNpbmNsdWRlIDx3dGYv
Q3VycmVudFRpbWUuaD4KIAogQGludGVyZmFjZSBXQUtWaWV3IChXZWJWaWV3RXh0cmFzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkLm1tCmluZGV4IGE5MmRm
MTNiY2I4ODUzNjk4ZTY4NDkxOTM1OTRlZDNiMzU1NmNmYWIuLjVjZTM3YjRlMDY5ZjFlZDdjOTM1
YTFlYjJjNTgxZDg5ZTlkY2UxMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9MZWdhY3lUaWxlR3JpZC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
TGVnYWN5VGlsZUdyaWQubW0KQEAgLTI4LDE1ICsyOCwxNiBAQAogCiAjaWYgUExBVEZPUk0oSU9T
KQogCisjaW5jbHVkZSAiQ0FMYXllclNQSS5oIgorI2luY2x1ZGUgIkNHRmxvYXRTUEkuaCIKICNp
bmNsdWRlICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCIKICNpbmNsdWRlICJTeXN0ZW1NZW1vcnku
aCIKICNpbmNsdWRlICJMZWdhY3lUaWxlR3JpZFRpbGUuaCIKICNpbmNsdWRlICJMZWdhY3lUaWxl
TGF5ZXIuaCIKICNpbmNsdWRlICJMZWdhY3lUaWxlTGF5ZXJQb29sLmgiCiAjaW5jbHVkZSAiV0FL
V2luZG93LmgiCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljc1ByaXZhdGUuaD4K
KyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CiAjaW5jbHVkZSA8UXVhcnR6
Q29yZS9RdWFydHpDb3JlLmg+Ci0jaW5jbHVkZSA8UXVhcnR6Q29yZS9RdWFydHpDb3JlUHJpdmF0
ZS5oPgogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDxmdW5jdGlvbmFsPgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWRUaWxlLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5tbQppbmRl
eCBjY2Y0ZWI4YWUxMzZhOWM2NDhkMDRiNDFiYTlmZGQxMjM3NjY1ZTBhLi40MGYyYjk2YzJjZDhh
NzkzYzA0NTZkNzg1YWMwZTNkNjI0NzdiMmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWRUaWxlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZFRpbGUubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lm
IFBMQVRGT1JNKElPUykKIAorI2luY2x1ZGUgIkNBTGF5ZXJTUEkuaCIKICNpbmNsdWRlICJDb2xv
ci5oIgogI2luY2x1ZGUgIkxlZ2FjeVRpbGVDYWNoZS5oIgogI2luY2x1ZGUgIkxlZ2FjeVRpbGVH
cmlkLmgiCkBAIC0zNSw3ICszNiw2IEBACiAjaW5jbHVkZSAiTGVnYWN5VGlsZUxheWVyUG9vbC5o
IgogI2luY2x1ZGUgIldBS1dpbmRvdy5oIgogI2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29y
ZS5oPgotI2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZVByaXZhdGUuaD4KICNpbmNsdWRl
IDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0b3J5SU9TLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0b3J5SU9TLm1tCmluZGV4IDQ2
NTMxNWJjNzNjNmFhM2RhMzAyYzVlZDg3YTRiNGY4YWEyMWY4NmMuLjBlMDhjZjJiNDBmMzcyM2Zk
MWNlM2FmZjcxYjYyODQwZGQwOWY5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MubW0KQEAgLTI2LDExICsyNiwxMiBA
QAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5o
IgogCi0jaW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KKyNpbXBvcnQgIk5TR2VvbWV0
cnlTUEkuaCIKICNpbXBvcnQgPEludFBvaW50Lmg+CiAjaW1wb3J0IDxLZXlFdmVudENvY29hLmg+
CiAjaW1wb3J0IDxMb2dnaW5nLmg+CiAjaW1wb3J0IDxXZWJFdmVudC5oPgorI2ltcG9ydCA8d3Rm
L0N1cnJlbnRUaW1lLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tCmluZGV4IGVmMjVmMjQ1ODNl
ZWE3YTdiNDM4ZDEyOWJiZWM0YjhlOTYxM2ViNWEuLjVkYzViN2RlY2IyNzMyYmRkNDc1ODIwNTll
MTJiMGY5MjVmZGNiNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9Q
bGF0Zm9ybVNjcmVlbklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxh
dGZvcm1TY3JlZW5JT1MubW0KQEAgLTMwLDEwICszMCwxMCBAQAogI2ltcG9ydCAiRnJhbWVWaWV3
LmgiCiAjaW1wb3J0ICJIb3N0V2luZG93LmgiCiAjaW1wb3J0ICJJbnRSZWN0LmgiCisjaW1wb3J0
ICJNb2JpbGVHZXN0YWx0U1BJLmgiCiAjaW1wb3J0ICJXQUtXaW5kb3cuaCIKICNpbXBvcnQgIldl
YkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQgIldpZGdldC5oIgotI2ltcG9ydCA8TW9i
aWxlR2VzdGFsdC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJFdmVudC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9XZWJFdmVudC5tbQppbmRleCBiN2RlOTZjZWViMDQyZDFiMGEzMWUzYjViZGQ5YmJj
MmU4MTE0OTNhLi5hNTg4NmY2MDIzZTE5NmFmYzhlNmI3MWJkM2I0ZDU5MWYzZjJhNzc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZlbnQubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkV2ZW50Lm1tCkBAIC0yOSw3ICsyOSw3IEBACiAj
aW1wb3J0ICJXZWJFdmVudC5oIgogCiAjaW1wb3J0ICJLZXlFdmVudENvY29hLmgiCi0jaW1wb3J0
IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KKyNpbXBvcnQgIk5TR2VvbWV0cnlTUEkuaCIKICNp
bXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCmluZGV4IDZiZWRhOGFjZWZhYWIyMDg0NzU2ODBmNWU1
Yjg1MjRiNThhZTBiNzMuLjlkOTI2NmMwMzRhMGM3MTAwNTg2ZTQyMjYyYmE1YTVhNjkwMjNmN2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTMwLDE2ICszMCwxNSBAQAogCiAj
aW1wb3J0ICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oIgogCisjaW1wb3J0ICJB
VlBsYXllckNvbnRyb2xsZXJTUEkuaCIKKyNpbXBvcnQgIkFWUGxheWVyVmlld0NvbnRyb2xsZXJT
UEkuaCIKKyNpbXBvcnQgIkFWVmFsdWVUaW1pbmdTUEkuaCIKKyNpbXBvcnQgIkFWVmlkZW9MYXll
clNQSS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiR2VvbWV0cnlVdGlsaXRpZXMu
aCIKICNpbXBvcnQgIldlYlZpZGVvRnVsbHNjcmVlbk1vZGVsLmgiCiAjaW1wb3J0IDxBVkZvdW5k
YXRpb24vQVZUaW1lLmg+CiAjaW1wb3J0IDxBVktpdC9BVktpdC5oPgotI2ltcG9ydCA8QVZLaXQv
QVZQbGF5ZXJDb250cm9sbGVyLmg+Ci0jaW1wb3J0IDxBVktpdC9BVlBsYXllclZpZXdDb250cm9s
bGVyX1ByaXZhdGUuaD4KLSNpbXBvcnQgPEFWS2l0L0FWUGxheWVyVmlld0NvbnRyb2xsZXJfV2Vi
S2l0T25seS5oPgotI2ltcG9ydCA8QVZLaXQvQVZWYWx1ZVRpbWluZy5oPgotI2ltcG9ydCA8QVZL
aXQvQVZWaWRlb0xheWVyLmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01UaW1lLmg+CiAjaW1wb3J0
IDxVSUtpdC9VSUtpdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3NJT1MuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0FL
QXBwS2l0U3R1YnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0FLQXBwS2l0
U3R1YnMuaAppbmRleCA3Mzg1ZWMwYjNjNmE5ZWE5MWExNmI3YzA0YzgyZGJjZDYyMTcwMWRiLi40
YmY0Zjk4NDIxNjY1NzQ1ZGIyYTExOWZmYWFhZjU0NTUzMzZjNTRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS0FwcEtpdFN0dWJzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XQUtBcHBLaXRTdHVicy5oCkBAIC0zMCwxMCArMzAs
MTEgQEAKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKIAorLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxl
bS82NjY5NDM0PiBTd2l0Y2ggZnJvbSB1c2luZyBOU0dlb21ldHJ5IG1ldGhvZHMgdG8gQ0dHZW9t
ZXRyeSBtZXRob2RzCisjaW1wb3J0ICJOU0dlb21ldHJ5U1BJLmgiCisKICNpbXBvcnQgPENvcmVH
cmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KICNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5o
PgotLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS82NjY5NDM0PiBTd2l0Y2ggZnJvbSB1c2luZyBO
U0dlb21ldHJ5IG1ldGhvZHMgdG8gQ0dHZW9tZXRyeSBtZXRob2RzCi0jaW1wb3J0IDxGb3VuZGF0
aW9uL05TR2VvbWV0cnkuaD4KIAogI2lmbmRlZiBOU0NsaXBWaWV3CiAjZGVmaW5lIE5TQ2xpcFZp
ZXcgV0FLQ2xpcFZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93
YWsvV0FLVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XQUtWaWV3LmgK
aW5kZXggOTk5OGY3MDExZWQ2N2E1ZDQ5YzQxM2VlYzdiMjM5NTZhOGNhZTQ4ZC4uNjcwMTdhN2Iz
OWFlMWY5NWJmOWZlMzU2ODgxYjI5Mzg1MTRiMTU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL3dhay9XQUtWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL3dhay9XQUtWaWV3LmgKQEAgLTI4LDE1ICsyOCwxMCBAQAogCiAjaWYgVEFSR0VUX09T
X0lQSE9ORQogCisjaW1wb3J0ICJOU0dlb21ldHJ5U1BJLmgiCiAjaW1wb3J0ICJXQUtSZXNwb25k
ZXIuaCIKLSNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgogI2ltcG9ydCA8Q29yZUdy
YXBoaWNzL0NvcmVHcmFwaGljcy5oPgotCi0jaWZuZGVmIE5TUmVjdAotI2RlZmluZSBOU1JlY3Qg
Q0dSZWN0Ci0jZW5kaWYKLSNkZWZpbmUgTlNQb2ludCBDR1BvaW50Ci0jZGVmaW5lIE5TU2l6ZSBD
R1NpemUKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgogCiBleHRlcm4gTlNTdHJp
bmcgKldBS1ZpZXdGcmFtZVNpemVEaWRDaGFuZ2VOb3RpZmljYXRpb247CiBleHRlcm4gTlNTdHJp
bmcgKldBS1ZpZXdEaWRTY3JvbGxOb3RpZmljYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dLR3JhcGhpY3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy93YWsvV0tHcmFwaGljcy5oCmluZGV4IGJmMzg1OTY4ZjQ4MzZkY2U5NjQ4NmM2NjBm
N2I0YzRjZjk3MGYxOTguLjYyNjJmNzk3ODllYTdmOGI2NzU0ZTFkYThjMmVhMmYwOGZlM2Q5YmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5oCkBAIC0y
OCw4ICsyOCw4IEBACiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiAKLSNpbXBvcnQgPENvcmVHcmFw
aGljcy9Db3JlR3JhcGhpY3MuaD4KLSNpbXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3NQ
cml2YXRlLmg+CisjaW1wb3J0ICJDR0NvbnRleHRTUEkuaCIKKyNpbXBvcnQgIkNHRm9udFJlbmRl
cmluZ1NQSS5oIgogCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBoaWNzLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBoaWNzLm1tCmluZGV4IDMxYzZlYzAyYTk5
OWNiMjc3ZTJjYjQwODg2ZmE0NDM0ZjQ0MjFlY2EuLjlkYmJlZDRjY2Y5NjdiNjUxZDhjYWQwMWNh
NGIyNGZiMDNjY2YxN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93
YWsvV0tHcmFwaGljcy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dL
R3JhcGhpY3MubW0KQEAgLTI4LDggKzI4LDkgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAotI2lt
cG9ydCAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgorI2ltcG9ydCAiQ0dDb250ZXh0R1N0YXRl
U1BJLmgiCiAjaW1wb3J0ICJGb250LmgiCisjaW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNl
LmgiCiAjaW1wb3J0ICJXZWJDb3JlVGhyZWFkLmgiCiAjaW1wb3J0IDxJbWFnZUlPL0ltYWdlSU8u
aD4KICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbQppbmRleCA1YzAxYzY2NmViYzhlZDc2OTE3
MWZjNDNmOWQ4NDk1OWY0YWM3MjM3Li40YjA5ZDFmMDZkYTgyMzhmNzM2MDQzNWMxN2YzYTE5YTk1
YzNiM2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNv
cmVUaHJlYWQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3Jl
VGhyZWFkLm1tCkBAIC00NSw3ICs0NSw2IEBACiAjaW1wb3J0IDx3dGYvVGhyZWFkaW5nLmg+CiAj
aW1wb3J0IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAotI2ltcG9ydCA8Q29yZUZvdW5kYXRp
b24vQ0ZQcml2Lmg+CiAjaW1wb3J0IDxGb3VuZGF0aW9uL05TSW52b2NhdGlvbi5oPgogI2ltcG9y
dCA8bGlia2Vybi9PU0F0b21pYy5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2subW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2subW0KaW5kZXggOGY4
NDllMzgyZjY1ODc0YWQ3OGQ4NjhlY2ZkZDg2NmM3ZjVlOTBlZi4uMTE1MTBhOGZkMTVjYmUwN2Ey
M2Q4Yzc2OWQwNWE4OTg0MzAxZGZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvaW9zL1F1aWNrTG9vay5tbQpAQCAtMzEsNiArMzEsOSBAQAogI2ltcG9ydCAiRG9j
dW1lbnRMb2FkZXIuaCIKICNpbXBvcnQgIkZpbGVTeXN0ZW1JT1MuaCIKICNpbXBvcnQgIkxvZ2dp
bmcuaCIKKyNpbXBvcnQgIk5TRmlsZU1hbmFnZXJTUEkuaCIKKyNpbXBvcnQgIlFMUHJldmlld0Nv
bnZlcnRlclNQSS5oIgorI2ltcG9ydCAiUXVpY2tMb29rU1BJLmgiCiAjaW1wb3J0ICJSZXNvdXJj
ZUVycm9yLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUhhbmRsZS5oIgogI2ltcG9ydCAiUmVzb3VyY2VM
b2FkZXIuaCIKQEAgLTM5LDkgKzQyLDYgQEAKICNpbXBvcnQgIlN5bmNocm9ub3VzUmVzb3VyY2VI
YW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZS5oIgogI2ltcG9ydCAiV2ViQ29yZVVSTFJlc3Bv
bnNlSU9TLmgiCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KLSNpbXBvcnQgPEZv
dW5kYXRpb24vTlNGaWxlTWFuYWdlcl9OU1VSTEV4dHJhcy5oPgotI2ltcG9ydCA8UXVpY2tMb29r
L1FMUHJldmlld0NvbnZlcnRlci5oPgotI2ltcG9ydCA8UXVpY2tMb29rL1F1aWNrTG9va1ByaXZh
dGUuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3RmL1N0ZExp
YkV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL1RocmVhZGluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWUGxheWVyQ29udHJvbGxlclNQSS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWUGxheWVyQ29udHJvbGxlclNQSS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI1ZjlkMmViMmFjMWEwMDFlZDE1NmY1OTNjYjAyNTc3ODM5YzNmN2MKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvYXZraXQvQVZQbGF5ZXJD
b250cm9sbGVyU1BJLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBv
cnQgPEFWS2l0L0FWUGxheWVyQ29udHJvbGxlci5oPgorI2Vsc2UKKyNpbXBvcnQgPEFWS2l0L0FW
S2l0Lmg+CisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFVJS2l0
L1VJS2l0Lmg+CisKK0BpbnRlcmZhY2UgQVZQbGF5ZXJDb250cm9sbGVyIDogVUlSZXNwb25kZXIK
K3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIEFWUGxheWVyQ29udHJvbGxlclN0YXR1cykgewor
ICAgIEFWUGxheWVyQ29udHJvbGxlclN0YXR1c1JlYWR5VG9QbGF5ID0gMiwKK307CitAcHJvcGVy
dHkgKE5TX05PTkFUT01JQ19JT1NPTkxZLCByZWFkb25seSkgQVZQbGF5ZXJDb250cm9sbGVyU3Rh
dHVzIHN0YXR1czsKK0BlbmQKKworQGludGVyZmFjZSBBVlBsYXllckNvbnRyb2xsZXIgKEFWUGxh
eWVyQ29udHJvbGxlckV4dGVybmFsUGxheWJhY2tTdXBwb3J0KQordHlwZWRlZiBOU19FTlVNKE5T
SW50ZWdlciwgQVZQbGF5ZXJDb250cm9sbGVyRXh0ZXJuYWxQbGF5YmFja1R5cGUpIHsKKyAgICBB
VlBsYXllckNvbnRyb2xsZXJFeHRlcm5hbFBsYXliYWNrVHlwZU5vbmUgPSAwLAorICAgIEFWUGxh
eWVyQ29udHJvbGxlckV4dGVybmFsUGxheWJhY2tUeXBlQWlyUGxheSA9IDEsCisgICAgQVZQbGF5
ZXJDb250cm9sbGVyRXh0ZXJuYWxQbGF5YmFja1R5cGVUVk91dCA9IDIsCit9OworQGVuZAorI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvYXZraXQvQVZQbGF5
ZXJWaWV3Q29udHJvbGxlclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0
L0FWUGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTk0NGZmZWE0NjAxMmE1
NjU1YmVkOGI1ZmQ0N2VkNGJkZmU5MzlkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWUGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaApAQCAtMCww
ICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisK
KyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8QVZLaXQvQVZQbGF5ZXJWaWV3
Q29udHJvbGxlcl9Qcml2YXRlLmg+CisjaW1wb3J0IDxBVktpdC9BVlBsYXllclZpZXdDb250cm9s
bGVyX1dlYktpdE9ubHkuaD4KKyNlbHNlCisjaW1wb3J0IDxBVktpdC9BVktpdC5oPgorI2ltcG9y
dCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNv
cmUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CisKK0Bwcm90b2NvbCBBVlBsYXllclZpZXdD
b250cm9sbGVyRGVsZWdhdGU7CitAcHJvdG9jb2wgQVZWaWRlb0xheWVyOworCitAaW50ZXJmYWNl
IEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKEFWUGxheWVyVmlld0NvbnRyb2xsZXJfV2ViS2l0T25s
eSkKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aFZpZGVvTGF5ZXI6KENBTGF5ZXIgPEFWVmlkZW9M
YXllcj4gKil2aWRlb0xheWVyOworLSAodm9pZClleGl0RnVsbFNjcmVlbkFuaW1hdGVkOihCT09M
KWFuaW1hdGVkIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MIHN1Y2Nlc3MsIE5TRXJy
b3IgKikpY29tcGxldGlvbkhhbmRsZXI7CistICh2b2lkKWVudGVyRnVsbFNjcmVlbldpdGhDb21w
bGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBzdWNjZXNzLCBOU0Vycm9yICopKWNvbXBsZXRp
b25IYW5kbGVyOworLSAodm9pZClleGl0RnVsbFNjcmVlbldpdGhDb21wbGV0aW9uSGFuZGxlcjoo
dm9pZCAoXikoQk9PTCBzdWNjZXNzLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyOworQHBy
b3BlcnR5IChub25hdG9taWMsIHdlYWspIGlkIDxBVlBsYXllclZpZXdDb250cm9sbGVyRGVsZWdh
dGU+IGRlbGVnYXRlOworQGVuZAorCitAaW50ZXJmYWNlIEFWUGxheWVyVmlld0NvbnRyb2xsZXIg
KEFWUGxheWVyVmlld0NvbnRyb2xsZXJQbGF5ZXJDb250cm9sbGVyKQorQHByb3BlcnR5IChub25h
dG9taWMsIHN0cm9uZykgQVZQbGF5ZXJDb250cm9sbGVyICpwbGF5ZXJDb250cm9sbGVyOworQGVu
ZAorCitAcHJvdG9jb2wgQVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVnYXRlIDxOU09iamVjdD4K
K0BvcHRpb25hbAorCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBBVlBsYXllclZpZXdDb250
cm9sbGVyRXhpdEZ1bGxTY3JlZW5SZWFzb24pIHsKKyAgICBBVlBsYXllclZpZXdDb250cm9sbGVy
RXhpdEZ1bGxTY3JlZW5SZWFzb25Eb25lQnV0dG9uVGFwcGVkID0gMCwKKyAgICBBVlBsYXllclZp
ZXdDb250cm9sbGVyRXhpdEZ1bGxTY3JlZW5SZWFzb25SZW1vdGVDb250cm9sU3RvcEV2ZW50UmVj
ZWl2ZWQgPSAzLAorfTsKKworLSAoQk9PTClwbGF5ZXJWaWV3Q29udHJvbGxlcjooQVZQbGF5ZXJW
aWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyIHNob3VsZEV4aXRGdWxsU2NyZWVu
V2l0aFJlYXNvbjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4aXRGdWxsU2NyZWVuUmVhc29uKXJl
YXNvbjsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2F2a2l0L0FWVmFsdWVUaW1pbmdTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9hdmtpdC9BVlZhbHVlVGltaW5nU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU5ZGNjM2Y5Y2UzNzBlYmFh
ZGNmNWYwNmM4MTlkYmVhZmVjNmI1MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9hdmtpdC9BVlZhbHVlVGltaW5nU1BJLmgKQEAgLTAsMCArMSwzOCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPEFWS2l0L0FWVmFsdWVUaW1pbmcuaD4KKyNlbHNl
CisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworQGludGVyZmFjZSBBVlZhbHVl
VGltaW5nIDogTlNPYmplY3QgPE5TQ29kaW5nLCBOU0NvcHlpbmcsIE5TTXV0YWJsZUNvcHlpbmc+
CisrIChBVlZhbHVlVGltaW5nICopdmFsdWVUaW1pbmdXaXRoQW5jaG9yVmFsdWU6KGRvdWJsZSlh
bmNob3JWYWx1ZSBhbmNob3JUaW1lU3RhbXA6KE5TVGltZUludGVydmFsKXRpbWVTdGFtcCByYXRl
Oihkb3VibGUpcmF0ZTsKK0BlbmQKKworQGludGVyZmFjZSBBVlZhbHVlVGltaW5nIChBVkV4dGVu
ZGVkVmFsdWVUaW1pbmcpCitAcHJvcGVydHkgKE5TX05PTkFUT01JQ19JT1NPTkxZLCByZWFkb25s
eSkgZG91YmxlIGN1cnJlbnRWYWx1ZTsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWVmlkZW9MYXllclNQSS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWVmlkZW9MYXllclNQSS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4
ZDUxOGNjZGMyMjkzZTI1MGJkYTRhMTk5YzQzZTE1MDFlNWQyYzUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvYXZraXQvQVZWaWRlb0xheWVyU1BJLmgKQEAg
LTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPEFWS2l0L0FWVmlkZW9M
YXllci5oPgorI2Vsc2UKKyNpbXBvcnQgPEFWS2l0L0FWS2l0Lmg+CisjaW1wb3J0IDxDb3JlR3Jh
cGhpY3MvQ29yZUdyYXBoaWNzLmg+CisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4K
KworQHByb3RvY29sIEFWVmlkZW9MYXllcgorLSAodm9pZClzZXRQbGF5ZXJDb250cm9sbGVyOihB
VlBsYXllckNvbnRyb2xsZXIgKilwbGF5ZXJDb250cm9sbGVyOworCit0eXBlZGVmIE5TX0VOVU0o
TlNJbnRlZ2VyLCBBVlZpZGVvTGF5ZXJHcmF2aXR5KSB7CisgICAgQVZWaWRlb0xheWVyR3Jhdml0
eUludmFsaWQgPSAwLAorICAgIEFWVmlkZW9MYXllckdyYXZpdHlSZXNpemVBc3BlY3QgPSAxLAor
ICAgIEFWVmlkZW9MYXllckdyYXZpdHlSZXNpemVBc3BlY3RGaWxsID0gMiwKKyAgICBBVlZpZGVv
TGF5ZXJHcmF2aXR5UmVzaXplID0gMywKK307CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBBVlZp
ZGVvTGF5ZXJHcmF2aXR5IHZpZGVvTGF5ZXJHcmF2aXR5OworQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWRvbmx5LCBnZXR0ZXI9aXNSZWFkeUZvckRpc3BsYXkpIEJPT0wgcmVhZHlGb3JEaXNwbGF5
OworQHByb3BlcnR5IChub25hdG9taWMpIENHUmVjdCB2aWRlb1JlY3Q7CitAZW5kCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jYS9DQUxheWVyU1BJLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2EvQ0FMYXllclNQSS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ0NTlhODcyM2I3YjM0NGE5NGI4OTRiZmQ1NmRhZThkMjgzN2RkZjkKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2EvQ0FMYXllclNQSS5oCkBAIC0wLDAg
KzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxRdWFydHpDb3JlL0NBTGF5ZXJQ
cml2YXRlLmg+CisjZWxzZQorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgor
I2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+CisKK0BpbnRlcmZhY2UgQ0FMYXllciAo
Q0FMYXllckRldGFpbHMpCistIChDR1NpemUpc2l6ZTsKKy0gKHZvaWQgKilyZWdpb25CZWluZ0Ry
YXduOworQHByb3BlcnR5IEJPT0wgYWNjZWxlcmF0ZXNEcmF3aW5nOworQHByb3BlcnR5IEJPT0wg
bmVlZHNMYXlvdXRPbkdlb21ldHJ5Q2hhbmdlOworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2EvQ0FUaWxlZExheWVyU1BJLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2EvQ0FUaWxlZExheWVyU1BJLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDlj
ODNmOTgxY2NkZTNkNjhiZmE1NjBlZTM3ZTcxNTg2YTlhOWRhOAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jYS9DQVRpbGVkTGF5ZXJTUEkuaApAQCAtMCww
ICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisK
KyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8UXVhcnR6Q29yZS9DQVRpbGVk
TGF5ZXJQcml2YXRlLmg+CisjZWxzZQorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGlj
cy5oPgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDxRdWFydHpD
b3JlL1F1YXJ0ekNvcmUuaD4KKworQGludGVyZmFjZSBDQVRpbGVkTGF5ZXIgKENBVGlsZWRMYXll
ckRldGFpbHMpCistICh2b2lkKXNldE5lZWRzRGlzcGxheUluUmVjdDooQ0dSZWN0KXJlY3QgbGV2
ZWxPZkRldGFpbDooaW50KWxldmVsT2ZEZXRhaWwgb3B0aW9uczooTlNEaWN0aW9uYXJ5ICopZGlj
dGlvbmFyeTsKK0BlbmQKKworZXh0ZXJuIE5TU3RyaW5nICogY29uc3Qga0NBVGlsZWRMYXllclJl
bW92ZUltbWVkaWF0ZWx5OworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY2cvQ0dDb2xvclRyYW5zZm9ybVNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2NnL0NHQ29sb3JUcmFuc2Zvcm1TUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NjA5ZGRiOTMxZjk0
NTQ4YmY3ZWE0ZGYyNDg2Nzg3MGNhMDFlY2E3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHQ29sb3JUcmFuc2Zvcm1TUEkuaApAQCAtMCwwICsxLDQx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5k
ZWYgQ0dDb2xvclRyYW5zZm9ybVNQSV9oCisjZGVmaW5lIENHQ29sb3JUcmFuc2Zvcm1TUElfaAor
CisjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKyNpbmNsdWRlIDxD
b3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0NvbG9yVHJhbnNmb3JtLmg+CisjZW5kaWYKKwor
dHlwZWRlZiBjb25zdCBzdHJ1Y3QgQ0dDb2xvclRyYW5zZm9ybSAqQ0dDb2xvclRyYW5zZm9ybVJl
ZjsKK2V4dGVybiAiQyIgeworQ0dDb2xvclRyYW5zZm9ybVJlZiBDR0NvbG9yVHJhbnNmb3JtQ3Jl
YXRlKENHQ29sb3JTcGFjZVJlZiwgQ0ZEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXMpOworQ0dDb2xv
clJlZiBDR0NvbG9yVHJhbnNmb3JtQ29udmVydENvbG9yKENHQ29sb3JUcmFuc2Zvcm1SZWYsIENH
Q29sb3JSZWYsIENHQ29sb3JSZW5kZXJpbmdJbnRlbnQpOworfQorI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dDb250ZXh0R1N0YXRlU1BJLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dDb250ZXh0R1N0YXRlU1BJLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzA4NDYxZTdjY2VmNzY0YTNjZGU0YzAzNGE4NWEzYzlmYTRjYmMzOAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0NvbnRleHRHU3RhdGVT
UEkuaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpZm5kZWYgQ0dDb250ZXh0R1N0YXRlU1BJX2gKKyNkZWZpbmUgQ0dDb250
ZXh0R1N0YXRlU1BJX2gKKworI2luY2x1ZGUgIkNHQ29udGV4dFNQSS5oIgorCisjaWYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0R1N0YXRl
Lmg+CisjZW5kaWYKKworZXh0ZXJuICJDIiB7CitDR0Zsb2F0IENHQ29udGV4dEdldExpbmVXaWR0
aChDR0NvbnRleHRSZWYpOwordm9pZCBDR0NvbnRleHRTZXRDVE0oQ0dDb250ZXh0UmVmLCBDR0Fm
ZmluZVRyYW5zZm9ybSk7CitDR0NvbG9yUmVmIENHQ29udGV4dEdldEZpbGxDb2xvckFzQ29sb3Io
Q0dDb250ZXh0UmVmKTsKK0NHQ29tcG9zaXRlT3BlcmF0aW9uIENHQ29udGV4dEdldENvbXBvc2l0
ZU9wZXJhdGlvbihDR0NvbnRleHRSZWYpOwordm9pZCBDR0NvbnRleHRTZXRDb21wb3NpdGVPcGVy
YXRpb24oQ0dDb250ZXh0UmVmLCBDR0NvbXBvc2l0ZU9wZXJhdGlvbik7Cit9CisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0NvbnRleHRTUEkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0NvbnRleHRTUEkuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xZDgyODcwN2Y2MGFiNzIzNDFlZGQwOTMwYTFlNGM1NGU4ODMxN2ZhCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHQ29udGV4dFNQSS5oCkBAIC0w
LDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2lmbmRlZiBDR0NvbnRleHRTUElfaAorI2RlZmluZSBDR0NvbnRleHRTUElfaAorCisjaW5j
bHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0UHJpdmF0ZS5oPgorI2Vs
c2UKK2VudW0gQ0dDb21wb3NpdGVPcGVyYXRpb24geworICAgIGtDR0NvbXBvc2l0ZUNvcHkgPSAx
LAorICAgIGtDR0NvbXBvc2l0ZVNvdmVyID0gMiwKK307CisjZW5kaWYKKworZXh0ZXJuICJDIiBD
R0FmZmluZVRyYW5zZm9ybSBDR0NvbnRleHRHZXRCYXNlQ1RNKENHQ29udGV4dFJlZik7CisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0Zsb2F0U1BJ
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGbG9hdFNQSS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM1MTIzY2M3OWY0MTdiNDcxZGI2OTdkYWJiYmU0ODUyZGM1MGU3YTgKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGbG9hdFNQSS5oCkBAIC0w
LDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2lmbmRlZiBDR0Zsb2F0U1BJX2gKKyNkZWZpbmUgQ0dGbG9hdFNQSV9oCisKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0Zsb2F0Lmg+Cisj
ZWxzZQorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KK0NHX0lOTElORSBD
R0Zsb2F0IENHUm91bmQoQ0dGbG9hdCB2YWx1ZSkKK3sKKyAgICBpZiAoc2l6ZW9mKHZhbHVlKSA9
PSBzaXplb2YoZmxvYXQpKQorICAgICAgICByZXR1cm4gKENHRmxvYXQpcm91bmRmKChmbG9hdCl2
YWx1ZSk7CisgICAgcmV0dXJuIChDR0Zsb2F0KXJvdW5kKChkb3VibGUpdmFsdWUpOworfQorI2Vu
ZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9D
R0ZvbnRHbHlwaFN1cHBvcnRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9D
R0ZvbnRHbHlwaFN1cHBvcnRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTI3NmVjOWYwZjE3MjUyY2M2ZGEy
MTgxNWUxZTYxOGFlMmNiZjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL2NnL0NHRm9udEdseXBoU3VwcG9ydFNQSS5oCkBAIC0wLDAgKzEsMzggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDR0Zv
bnRHbHlwaFN1cHBvcnRTUElfaAorI2RlZmluZSBDR0ZvbnRHbHlwaFN1cHBvcnRTUElfaAorCisj
aW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorCisjaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGb250R2x5cGhTdXBwb3J0Lmg+
CisjZWxzZQordHlwZWRlZiB1aW50MzJfdCBDR0ZvbnRSZW5kZXJpbmdTdHlsZTsKKyNlbmRpZgor
CitleHRlcm4gIkMiIGJvb2wgQ0dGb250R2V0R2x5cGhBZHZhbmNlc0ZvclN0eWxlKENHRm9udFJl
ZiBmb250LCBjb25zdCBDR0FmZmluZVRyYW5zZm9ybSogLCBDR0ZvbnRSZW5kZXJpbmdTdHlsZSwg
Y29uc3QgQ0dHbHlwaCBnbHlwaHNbXSwgc2l6ZV90IGNvdW50LCBDR1NpemUgYWR2YW5jZXNbXSk7
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0Zv
bnRJbmZvU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250SW5mb1NQ
SS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNjZDYxMTQ0NTcwODU4ZmUxM2NmYWNiNzllNDgzYmIzZDhkYjMxMWIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250
SW5mb1NQSS5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDR0ZvbnRJbmZvU1BJX2gKKyNkZWZpbmUgQ0dGb250
SW5mb1NQSV9oCisKKyNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgor
I2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udEluZm8uaD4KKyNlbHNl
CitzdHJ1Y3QgQ0dGb250SE1ldHJpY3MgeworICAgIGludCBhc2NlbnQ7CisgICAgaW50IGRlc2Nl
bnQ7CisgICAgaW50IGxpbmVHYXA7CisgICAgaW50IG1heEFkdmFuY2VXaWR0aDsKKyAgICBpbnQg
bWluTGVmdFNpZGVCZWFyaW5nOworICAgIGludCBtaW5SaWdodFNpZGVCZWFyaW5nOworfTsKKwor
c3RydWN0IENHRm9udERlc2NyaXB0b3IgeworICAgIENHUmVjdCBiYm94OworICAgIENHRmxvYXQg
YXNjZW50OworICAgIENHRmxvYXQgZGVzY2VudDsKKyAgICBDR0Zsb2F0IGNhcEhlaWdodDsKKyAg
ICBDR0Zsb2F0IGl0YWxpY0FuZ2xlOworICAgIENHRmxvYXQgc3RlbVY7CisgICAgQ0dGbG9hdCBz
dGVtSDsKKyAgICBDR0Zsb2F0IGF2Z1dpZHRoOworICAgIENHRmxvYXQgbWF4V2lkdGg7CisgICAg
Q0dGbG9hdCBtaXNzaW5nV2lkdGg7CisgICAgQ0dGbG9hdCBsZWFkaW5nOworICAgIENHRmxvYXQg
eEhlaWdodDsKK307CisjZW5kaWYKKworZXh0ZXJuICJDIiB7Citjb25zdCBDR0ZvbnRITWV0cmlj
cyogQ0dGb250R2V0SE1ldHJpY3MoQ0dGb250UmVmKTsKK2Jvb2wgQ0dGb250R2V0RGVzY3JpcHRv
cihDR0ZvbnRSZWYsIENHRm9udERlc2NyaXB0b3IqKTsKK2NvbnN0IGNoYXIqIENHRm9udEdldFBv
c3RTY3JpcHROYW1lKENHRm9udFJlZik7CitDRlN0cmluZ1JlZiBDR0ZvbnRDb3B5RmFtaWx5TmFt
ZShDR0ZvbnRSZWYpOworYm9vbCBDR0ZvbnRJc0ZpeGVkUGl0Y2goQ0dGb250UmVmKTsKK30KKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9udFJl
bmRlcmluZ1NQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9udFJlbmRl
cmluZ1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxYTNlYjM5ZWM0MGUzMTY3YTY2YjFjOTIyZjE0NTBiOTY2
ODI3ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cv
Q0dGb250UmVuZGVyaW5nU1BJLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIENHRm9udFJlbmRlcmluZ1NQSV9o
CisjZGVmaW5lIENHRm9udFJlbmRlcmluZ1NQSV9oCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0ZvbnRSZW5kZXJpbmcuaD4KKyNlbHNlCitl
bnVtIHsKKyAgICBrQ0dGb250UmVuZGVyaW5nU3R5bGVBbnRpYWxpYXNpbmcgPSAxIDw8IDAsCisg
ICAga0NHRm9udFJlbmRlcmluZ1N0eWxlU21vb3RoaW5nID0gMSA8PCAxLAorICAgIGtDR0ZvbnRS
ZW5kZXJpbmdTdHlsZVN1YnBpeGVsUG9zaXRpb25pbmcgPSAxIDw8IDIsCisgICAga0NHRm9udFJl
bmRlcmluZ1N0eWxlU3VicGl4ZWxRdWFudGl6YXRpb24gPSAxIDw8IDMsCisgICAga0NHRm9udFJl
bmRlcmluZ1N0eWxlUGxhdGZvcm1OYXRpdmUgPSAxIDw8IDksCisgICAga0NHRm9udFJlbmRlcmlu
Z1N0eWxlTWFzayA9IDB4MjBGLAorfTsKK3R5cGVkZWYgdWludDMyX3QgQ0dGb250UmVuZGVyaW5n
U3R5bGU7CisKK2VudW0geworICAgIGtDR0ZvbnRBbnRpYWxpYXNpbmdTdHlsZVVuZmlsdGVyZWQg
PSAwIDw8IDcsCisgICAga0NHRm9udEFudGlhbGlhc2luZ1N0eWxlRmlsdGVyTGlnaHQgPSAxIDw8
IDcsCit9OwordHlwZWRlZiB1aW50MzJfdCBDR0ZvbnRBbnRpYWxpYXNpbmdTdHlsZTsKKyNlbmRp
ZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dG
b250VW5pY29kZVN1cHBvcnRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9D
R0ZvbnRVbmljb2RlU3VwcG9ydFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyZmFjNjkxMjRlNjJlNmUwNTAw
ZDFkOTBlYWI0MTAyNjE3ZGYzMDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvY2cvQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaApAQCAtMCwwICsxLDM2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYg
Q0dGb250VW5pY29kZVN1cHBvcnRTUElfaAorI2RlZmluZSBDR0ZvbnRVbmljb2RlU3VwcG9ydFNQ
SV9oCisKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0ZvbnRVbmljb2Rl
U3VwcG9ydC5oPgorI2VuZGlmCisKK2V4dGVybiAiQyIgdm9pZCBDR0ZvbnRHZXRHbHlwaHNGb3JV
bmljaGFycyhDR0ZvbnRSZWYsIGNvbnN0IFVuaUNoYXJbXSwgQ0dHbHlwaFtdLCBzaXplX3QgY291
bnQpOworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cv
Q0dJbWFnZVNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHSW1hZ2VTUEku
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMDJjZWU1NzZhMzg3ZDgxMzI5MzcxMDE2ODVhYTQ4ZDhkYTk0MTU2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHSW1hZ2VT
UEkuaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpZm5kZWYgQ0dJbWFnZVNQSV9oCisjZGVmaW5lIENHSW1hZ2VTUElfaAor
CisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorCisjaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dJbWFnZVByaXZhdGUuaD4K
KyNlbHNlCitlbnVtIHsKKyAgICBrQ0dJbWFnZUNhY2hpbmdUZW1wb3JhcnkgX19DR19ERVBSRUNB
VEVEX0VOVU1FUkFUT1IgPSAzLAorfTsKKwordHlwZWRlZiB1aW50MzJfdCBDR0ltYWdlQ2FjaGlu
Z0ZsYWdzOworI2VuZGlmCisKK2V4dGVybiAiQyIgdm9pZCBDR0ltYWdlU2V0Q2FjaGluZ0ZsYWdz
KENHSW1hZ2VSZWYsIENHSW1hZ2VDYWNoaW5nRmxhZ3MpOworI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dTUmVnaW9uU1BJLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dTUmVnaW9uU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDNkYTMyYzNj
MzQxNjg2NTUyNzQ0NzFjNmNmMTgxZmIyMTliZjI3MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR1NSZWdpb25TUEkuaApAQCAtMCwwICsxLDQ0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYg
Q0dTUmVnaW9uU1BJX2gKKyNkZWZpbmUgQ0dTUmVnaW9uU1BJX2gKKworI2luY2x1ZGUgPENvcmVH
cmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisj
aW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHU1JlZ2lvbi5oPgorI2Vsc2UKK3R5cGVkZWYgc3RydWN0
IENHU1JlZ2lvbk9iamVjdCAqQ0dTUmVnaW9uT2JqOwordHlwZWRlZiBzdHJ1Y3QgQ0dTUmVnaW9u
T2JqZWN0ICpDR1JlZ2lvblJlZjsKK3R5cGVkZWYgc3RydWN0IENHU1JlZ2lvbkVudW1lcmF0b3JP
YmplY3QgKkNHU1JlZ2lvbkVudW1lcmF0b3JPYmo7CisjZW5kaWYKKworZXh0ZXJuICJDIiB7CitD
R1NSZWdpb25FbnVtZXJhdG9yT2JqIENHU1JlZ2lvbkVudW1lcmF0b3IoQ0dSZWdpb25SZWYpOwor
Q0dSZWN0ICpDR1NOZXh0UmVjdChjb25zdCBDR1NSZWdpb25FbnVtZXJhdG9yT2JqKTsKK0NHRXJy
b3IgQ0dTUmVsZWFzZVJlZ2lvbkVudW1lcmF0b3IoY29uc3QgQ0dTUmVnaW9uRW51bWVyYXRvck9i
aik7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9j
b2NvYS9EaXNwYXRjaFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0Rp
c3BhdGNoU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTA3ZDIxMTUyOTY4MTMwNmZlOTEwMGE1YTllNDg5NGJh
YmE3ZDgwZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9j
b2NvYS9EaXNwYXRjaFNQSS5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBEaXNwYXRjaFNQSV9oCisjZGVmaW5l
IERpc3BhdGNoU1BJX2gKKworI2luY2x1ZGUgPGRpc3BhdGNoL2Rpc3BhdGNoLmg+CisKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPGRpc3BhdGNoL3ByaXZhdGUuaD4KKyNl
bHNlCitlbnVtIHsKKyAgICBESVNQQVRDSF9NRU1PUllTVEFUVVNfUFJFU1NVUkVfTk9STUFMID0g
MHgwMSwKKyAgICBESVNQQVRDSF9NRU1PUllTVEFUVVNfUFJFU1NVUkVfV0FSTiA9IDB4MDIsCisg
ICAgRElTUEFUQ0hfTUVNT1JZU1RBVFVTX1BSRVNTVVJFX0NSSVRJQ0FMID0gMHgwNCwKK307Cisj
ZGVmaW5lIERJU1BBVENIX1NPVVJDRV9UWVBFX01FTU9SWVNUQVRVUyAoJl9kaXNwYXRjaF9zb3Vy
Y2VfdHlwZV9tZW1vcnlzdGF0dXMpCisjZW5kaWYKKworRElTUEFUQ0hfRVhQT1JUIGNvbnN0IHN0
cnVjdCBkaXNwYXRjaF9zb3VyY2VfdHlwZV9zIF9kaXNwYXRjaF9zb3VyY2VfdHlwZV9tZW1vcnlz
dGF0dXM7CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9j
b2NvYS9JT1BNTGliU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvSU9Q
TUxpYlNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2MjgwZGMwNzZiODljODU2OGFlNzdiNTY4M2RhMjhjOGE5
NTQzYWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29j
b2EvSU9QTUxpYlNQSS5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBJT1BNTGliU1BJX2gKKyNkZWZpbmUgSU9Q
TUxpYlNQSV9oCisKKyNpZiBQTEFURk9STShNQUMpIHx8IChVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KSAmJiBQTEFURk9STShJT1MpKQorI2luY2x1ZGUgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgor
I2Vsc2UKKyNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgorI2luY2x1
ZGUgPG1hY2gva2Vybl9yZXR1cm4uaD4KKworc3RhdGljIGNvbnN0IENGU3RyaW5nUmVmIGtJT1BN
QXNzZXJ0aW9uVHlwZVByZXZlbnRVc2VySWRsZURpc3BsYXlTbGVlcCA9IENGU1RSKCJQcmV2ZW50
VXNlcklkbGVEaXNwbGF5U2xlZXAiKTsKK3R5cGVkZWYga2Vybl9yZXR1cm5fdCBJT1JldHVybjsK
K3R5cGVkZWYgdWludDMyX3QgSU9QTUFzc2VydGlvbklEOworI2VuZGlmCisKK2V4dGVybiAiQyIg
eworSU9SZXR1cm4gSU9QTUFzc2VydGlvbkNyZWF0ZVdpdGhEZXNjcmlwdGlvbihDRlN0cmluZ1Jl
ZiBhc3NlcnRpb25UeXBlLCBDRlN0cmluZ1JlZiBuYW1lLCBDRlN0cmluZ1JlZiBkZXRhaWxzLAor
ICAgIENGU3RyaW5nUmVmIGh1bWFuUmVhZGFibGVSZWFzb24sIENGU3RyaW5nUmVmIGxvY2FsaXph
dGlvbkJ1bmRsZVBhdGgsIENGVGltZUludGVydmFsIHRpbWVvdXQsIENGU3RyaW5nUmVmIHRpbWVv
dXRBY3Rpb24sIElPUE1Bc3NlcnRpb25JRCAqKTsKK0lPUmV0dXJuIElPUE1Bc3NlcnRpb25SZWxl
YXNlKElPUE1Bc3NlcnRpb25JRCk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU0ZpbGVNYW5hZ2VyU1BJLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNGaWxlTWFuYWdlclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiODJk
YjQ2OTA0MGQ0Y2Q5NGI3ZDYyOWI1MTBjZDIwYjFiMDE1ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNGaWxlTWFuYWdlclNQSS5oCkBAIC0w
LDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxGb3VuZGF0aW9uL05TRmls
ZU1hbmFnZXJfTlNVUkxFeHRyYXMuaD4KKyNlbHNlCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5k
YXRpb24uaD4KKworI2RlZmluZSBXRUJfVVJFQUQgKDAwNDAwKQorI2RlZmluZSBXRUJfVVdSSVRF
ICgwMDIwMCkKKyNkZWZpbmUgV0VCX1VFWEVDICgwMDEwMCkKKworQGludGVyZmFjZSBOU0ZpbGVN
YW5hZ2VyIChOU0ZpbGVNYW5hZ2VyRGV0YWlscykKKy0gKEJPT0wpX3dlYl9jcmVhdGVGaWxlQXRQ
YXRoV2l0aEludGVybWVkaWF0ZURpcmVjdG9yaWVzOihOU1N0cmluZyAqKXBhdGggY29udGVudHM6
KE5TRGF0YSAqKWNvbnRlbnRzIGF0dHJpYnV0ZXM6KE5TRGljdGlvbmFyeSAqKWF0dHJpYnV0ZXMg
ZGlyZWN0b3J5QXR0cmlidXRlczooTlNEaWN0aW9uYXJ5ICopZGlyZWN0b3J5QXR0cmlidXRlczsK
Ky0gKEJPT0wpX3dlYl9yZW1vdmVGaWxlT25seUF0UGF0aDooTlNTdHJpbmcgKilwYXRoOworLSAo
TlNTdHJpbmcgKilfd2ViX3BhdGhXaXRoVW5pcXVlRmlsZW5hbWVGb3JQYXRoOihOU1N0cmluZyAq
KXBhdGg7CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jb2NvYS9OU0dlb21ldHJ5U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkv
Y29jb2EvTlNHZW9tZXRyeVNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3MDkxNmZhMGNmMmFkNjJlODZlYTk2
MWUxOGU5YmVkMGMzMjNmOTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY29jb2EvTlNHZW9tZXRyeVNQSS5oCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmIFBMQVRGT1JNKE1BQykg
fHwgKFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIFBMQVRGT1JNKElPUykpCisjaW1wb3J0IDxG
b3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KKyNlbHNlCisjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dC
YXNlLmg+CisjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dHZW9tZXRyeS5oPgorI2ltcG9ydCA8Rm91
bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK3R5cGVkZWYgQ0dQb2ludCBOU1BvaW50OwordHlwZWRl
ZiBDR1JlY3QgTlNSZWN0OwordHlwZWRlZiBDR1NpemUgTlNTaXplOworCitAaW50ZXJmYWNlIE5T
VmFsdWUgKE5TVmFsdWVHZW9tZXRyeURldGFpbHMpCisrIChOU1ZhbHVlICopdmFsdWVXaXRoUG9p
bnQ6KE5TUG9pbnQpcG9pbnQ7CisrIChOU1ZhbHVlICopdmFsdWVXaXRoU2l6ZTooTlNTaXplKXNp
emU7CisrIChOU1ZhbHVlICopdmFsdWVXaXRoUmVjdDooTlNSZWN0KXJlY3Q7CisKK0Bwcm9wZXJ0
eSAocmVhZG9ubHkpIE5TUG9pbnQgcG9pbnRWYWx1ZTsKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIE5T
U2l6ZSBzaXplVmFsdWU7CitAcHJvcGVydHkgKHJlYWRvbmx5KSBOU1JlY3QgcmVjdFZhbHVlOwor
QGVuZAorCitGT1VOREFUSU9OX0VYUE9SVCBCT09MIE5TRXF1YWxQb2ludHMoTlNQb2ludCwgTlNQ
b2ludCk7CitGT1VOREFUSU9OX0VYUE9SVCBCT09MIE5TRXF1YWxTaXplcyhOU1NpemUsIE5TU2l6
ZSk7CitGT1VOREFUSU9OX0VYUE9SVCBCT09MIE5TRXF1YWxSZWN0cyhOU1JlY3QsIE5TUmVjdCk7
CitGT1VOREFUSU9OX0VYUE9SVCBCT09MIE5TSXNFbXB0eVJlY3QoTlNSZWN0KTsKKworI2RlZmlu
ZSBOU01pblhFZGdlIENHUmVjdE1pblhFZGdlCisjZGVmaW5lIE5TTWluWUVkZ2UgQ0dSZWN0TWlu
WUVkZ2UKKyNkZWZpbmUgTlNNYXhYRWRnZSBDR1JlY3RNYXhYRWRnZQorI2RlZmluZSBOU01heFlF
ZGdlIENHUmVjdE1heFlFZGdlCisKK3R5cGVkZWYgTlNVSW50ZWdlciBOU1JlY3RFZGdlOworCitO
U19JTkxJTkUgTlNQb2ludCBOU01ha2VQb2ludChDR0Zsb2F0IHgsIENHRmxvYXQgeSkKK3sKKyAg
ICBOU1BvaW50IHA7CisgICAgcC54ID0geDsKKyAgICBwLnkgPSB5OworICAgIHJldHVybiBwOwor
fQorCitOU19JTkxJTkUgTlNTaXplIE5TTWFrZVNpemUoQ0dGbG9hdCB3LCBDR0Zsb2F0IGgpCit7
CisgICAgTlNTaXplIHM7CisgICAgcy53aWR0aCA9IHc7CisgICAgcy5oZWlnaHQgPSBoOworICAg
IHJldHVybiBzOworfQorCitOU19JTkxJTkUgTlNSZWN0IE5TTWFrZVJlY3QoQ0dGbG9hdCB4LCBD
R0Zsb2F0IHksIENHRmxvYXQgdywgQ0dGbG9hdCBoKQoreworICAgIE5TUmVjdCByOworICAgIHIu
b3JpZ2luLnggPSB4OworICAgIHIub3JpZ2luLnkgPSB5OworICAgIHIuc2l6ZS53aWR0aCA9IHc7
CisgICAgci5zaXplLmhlaWdodCA9IGg7CisgICAgcmV0dXJuIHI7Cit9CisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU1BvaW50ZXJGdW5jdGlv
bnNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU1BvaW50ZXJGdW5j
dGlvbnNTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MzA3YjM1YmE3NWE5NDA0MDhjYTU2YTFmMTMzODY0MTM4
N2MwNTkwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2Nv
Y29hL05TUG9pbnRlckZ1bmN0aW9uc1NQSS5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCisKKyNpZiBQTEFURk9STShNQUMpCisjaW1wb3J0IDxGb3VuZGF0aW9uL05TUG9pbnRl
ckZ1bmN0aW9ucy5oPgorI2VsaWYgUExBVEZPUk0oSU9TKQorI2ltcG9ydCA8Rm91bmRhdGlvbi9O
U1BvaW50ZXJGdW5jdGlvbnNQcml2Lmg+CisjZW5kaWYKKworI2Vsc2UKKworZW51bSB7CisgICAg
TlNQb2ludGVyRnVuY3Rpb25zWmVyb2luZ1dlYWtNZW1vcnkgPSAxVUwgPDwgMCwKK307CisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL2R5bGRT
UEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9keWxkU1BJLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDJjZGExY2M1NTI4YWIxMTFlMzg5NGE1MzhhYWMyODMyMmIyZjgzOQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9keWxkU1BJLmgKQEAg
LTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWZuZGVmIGR5bGRTUElfaAorI2RlZmluZSBkeWxkU1BJX2gKKworI2luY2x1ZGUgPG1h
Y2gtby9keWxkLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPG1h
Y2gtby9keWxkX3ByaXYuaD4KKyNlbHNlCisjZGVmaW5lIERZTERfSU9TX1ZFUlNJT05fM18wIDB4
MDAwMzAwMDAKKyNkZWZpbmUgRFlMRF9JT1NfVkVSU0lPTl82XzAgMHgwMDA2MDAwMDsKKyNkZWZp
bmUgRFlMRF9JT1NfVkVSU0lPTl83XzAgMHgwMDA3MDAwMDsKKyNlbmRpZgorCitleHRlcm4gIkMi
IHVpbnQzMl90IGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKTsKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2N0L0NURm9udERlc2NyaXB0b3JTUEku
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jdC9DVEZvbnREZXNjcmlwdG9yU1BJLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWMwYzIzMzI1YTY5NzM1YmRmYjdjMjBiNmMxNmU0NzY4MmRlZTBlMwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jdC9DVEZvbnREZXNj
cmlwdG9yU1BJLmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIENURm9udERlc2NyaXB0b3JTUElfaAorI2RlZmlu
ZSBDVEZvbnREZXNjcmlwdG9yU1BJX2gKKworI2luY2x1ZGUgPENvcmVUZXh0L0NvcmVUZXh0Lmg+
CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvcmVUZXh0L0NURm9u
dERlc2NyaXB0b3JQcml2Lmg+CisjZW5kaWYKKworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtD
VFVJRm9udFRleHRTdHlsZVNob3J0SGVhZGxpbmUgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOwor
ZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0Qm9keSBDVF9B
VkFJTEFCTEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250
VGV4dFN0eWxlU2hvcnRTdWJoZWFkIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKK2V4dGVybiBj
b25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEZvb3Rub3RlIENUX0FWQUlM
QUJMRSgxMF8xMCwgN18wKTsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0
U3R5bGVTaG9ydENhcHRpb24xIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKK2V4dGVybiBjb25z
dCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVUYWxsQm9keSBDVF9BVkFJTEFCTEUoMTBf
MTAsIDdfMCk7CisKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVI
ZWFkbGluZSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdS
ZWYga0NUVUlGb250VGV4dFN0eWxlQm9keSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CitleHRl
cm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU3ViaGVhZCBDVF9BVkFJTEFC
TEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0
eWxlRm9vdG5vdGUgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOworZXh0ZXJuIGNvbnN0IENGU3Ry
aW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZUNhcHRpb24xIENUX0FWQUlMQUJMRSgxMF8xMCwgN18w
KTsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVDYXB0aW9uMiBD
VF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CisKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RG
b250RGVzY3JpcHRvclRleHRTdHlsZUVtcGhhc2l6ZWQgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzAp
OworCitleHRlcm4gIkMiIHsKK0NURm9udERlc2NyaXB0b3JSZWYgQ1RGb250RGVzY3JpcHRvckNy
ZWF0ZVdpdGhUZXh0U3R5bGUoQ0ZTdHJpbmdSZWYgc3R5bGUsIENGU3RyaW5nUmVmIHNpemUsIENG
U3RyaW5nUmVmIGxhbmd1YWdlKTsKK0NURm9udERlc2NyaXB0b3JSZWYgQ1RGb250RGVzY3JpcHRv
ckNyZWF0ZUZvclVJVHlwZShDVEZvbnRVSUZvbnRUeXBlLCBDR0Zsb2F0IHNpemUsIENGU3RyaW5n
UmVmIGxhbmd1YWdlKTsKK2Jvb2wgQ1RGb250RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9u
dERlc2NyaXB0b3JSZWYpOworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9jdC9DVEZvbnRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9jdC9DVEZvbnRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZGNlOWUzZWRlNzcwYmI2ZTg5YzM4Nzg2MGU1
ZDNhNTc0NTQ2MGFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2N0L0NURm9udFNQSS5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDVEZvbnRTUElfaAorI2RlZmluZSBD
VEZvbnRTUElfaAorCisjaW5jbHVkZSA8Q29yZVRleHQvQ29yZVRleHQuaD4KKworI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8Q29yZVRleHQvQ1RGb250UHJpdi5oPgorI2Vs
c2UKK2VudW0geworICAgIGtDVEZvbnRVSUZvbnRTeXN0ZW1JdGFsaWMgPSAyNywKKyAgICBrQ1RG
b250VUlGb250U3lzdGVtVGhpbiA9IDEwMiwKKyAgICBrQ1RGb250VUlGb250U3lzdGVtTGlnaHQg
PSAxMDMsCisgICAga0NURm9udFVJRm9udFN5c3RlbVVsdHJhTGlnaHQgPSAxMDQsCit9OworI2Vu
ZGlmCisKK2V4dGVybiAiQyIgeworQ1RGb250UmVmIENURm9udENyZWF0ZVBoeXNpY2FsRm9udEZv
ckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2UoQ1RGb250UmVmLCBjb25zdCBVVEYxNkNoYXIqIGNoYXJh
Y3RlcnMsIENGSW5kZXggbGVuZ3RoLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgQ0ZJbmRleCogY292
ZXJlZExlbmd0aCk7Citib29sIENURm9udElzQXBwbGVDb2xvckVtb2ppKENURm9udFJlZik7Citi
b29sIENURm9udERlc2NyaXB0b3JJc1N5c3RlbVVJRm9udChDVEZvbnREZXNjcmlwdG9yUmVmKTsK
K0NURm9udFJlZiBDVEZvbnRDcmVhdGVGb3JDU1MoQ0ZTdHJpbmdSZWYgbmFtZSwgdWludDE2X3Qg
d2VpZ2h0LCBDVEZvbnRTeW1ib2xpY1RyYWl0cywgQ0dGbG9hdCBzaXplKTsKK30KKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2N1aS9DVUlDYXRhbG9nU1BJ
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY3VpL0NVSUNhdGFsb2dTUEkuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hMzdiYjMzY2EyNDVjOWNiNzA3YzU3MjlkZmEwYzQ2OGFhYzc1OTFjCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2N1aS9DVUlDYXRhbG9nU1BJ
LmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPENvcmVVSS9D
VUlDYXRhbG9nLmg+CisjZWxzZQorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5o
PgorI2ltcG9ydCA8Q29yZVRleHQvQ29yZVRleHQuaD4KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91
bmRhdGlvbi5oPgorQGNsYXNzIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvbjsKK0BpbnRlcmZh
Y2UgQ1VJQ2F0YWxvZyA6IE5TT2JqZWN0CistIChCT09MKWRyYXdHbHlwaHM6KGNvbnN0IENHR2x5
cGggW10pZ2x5cGhzIGF0UG9zaXRpb25zOihjb25zdCBDR1BvaW50IFtdKXBvc2l0aW9ucyBpbkNv
bnRleHQ6KENHQ29udGV4dFJlZiljb250ZXh0IHdpdGhGb250OihDVEZvbnRSZWYpZm9udCBjb3Vu
dDooTlNVSW50ZWdlciljb3VudCBzdHlsZVByZXNldE5hbWU6KE5TU3RyaW5nICopc3R5bGVQcmVz
ZXROYW1lIHN0eWxlQ29uZmlndXJhdGlvbjooQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uICop
c3R5bGVDb25maWd1cmF0aW9uIGZvcmVncm91bmRDb2xvcjooQ0dDb2xvclJlZilmb3JlZ3JvdW5k
Q29sb3I7CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jdWkvQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uU1BJLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY3VpL0NVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFhOWEwNDBhNGNjNjg5Y2MwYzMzNzdlYmY4OGZhYzY4MWM3NDM2YmMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY3VpL0NVSVN0eWxlRWZmZWN0
Q29uZmlndXJhdGlvblNQSS5oCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisj
aW1wb3J0IDxDb3JlVUkvQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uLmg+CisjZWxzZQorI2lt
cG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CitAaW50ZXJmYWNlIENVSVN0eWxlRWZmZWN0
Q29uZmlndXJhdGlvbiA6IE5TT2JqZWN0IDxOU0NvcHlpbmc+CitAcHJvcGVydHkgKG5vbmF0b21p
YykgQk9PTCB1c2VTaW1wbGlmaWVkRWZmZWN0OworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvZGlzcGF0Y2gvRGlzcGF0Y2hTUEkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9kaXNwYXRjaC9EaXNwYXRjaFNQSS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFhZTUwNjg0MGNkMDVlNTRlMDdhN2E5MDg3OGZjYTZlMWQ0Y2ZhYTcKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvZGlzcGF0Y2gvRGlzcGF0Y2hTUEkuaApA
QCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaWZuZGVmIERpc3BhdGNoU1BJX2gKKyNkZWZpbmUgRGlzcGF0Y2hTUElfaAorCisj
aW5jbHVkZSA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9T
REspCisjaW5jbHVkZSA8ZGlzcGF0Y2gvcHJpdmF0ZS5oPgorI2Vsc2UKK2VudW0geworICAgIERJ
U1BBVENIX01FTU9SWVNUQVRVU19QUkVTU1VSRV9OT1JNQUwgPSAweDAxLAorICAgIERJU1BBVENI
X01FTU9SWVNUQVRVU19QUkVTU1VSRV9XQVJOID0gMHgwMiwKKyAgICBESVNQQVRDSF9NRU1PUllT
VEFUVVNfUFJFU1NVUkVfQ1JJVElDQUwgPSAweDA0LAorfTsKKyNkZWZpbmUgRElTUEFUQ0hfU09V
UkNFX1RZUEVfTUVNT1JZU1RBVFVTICgmX2Rpc3BhdGNoX3NvdXJjZV90eXBlX21lbW9yeXN0YXR1
cykKKyNlbmRpZgorCitESVNQQVRDSF9FWFBPUlQgY29uc3Qgc3RydWN0IGRpc3BhdGNoX3NvdXJj
ZV90eXBlX3MgX2Rpc3BhdGNoX3NvdXJjZV90eXBlX21lbW9yeXN0YXR1czsKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9NUEFWUm91dGluZ0NvbnRy
b2xsZXJTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvTVBBVlJvdXRpbmdD
b250cm9sbGVyU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWRmNzkwNDJiMjQwZjAwMjIxYTlkZWQ1MTRjNDZl
MTc0YzQ3OWEyZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9pb3MvTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKyNpbXBvcnQgPE1lZGlhUGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxlci5o
PgorI2Vsc2UKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorZW51bSB7CisgICAg
TVBSb3V0ZURpc2NvdmVyeU1vZGVQcmVzZW5jZSA9IDEsCit9OworCit0eXBlZGVmIE5TSW50ZWdl
ciBNUFJvdXRlRGlzY292ZXJ5TW9kZTsKKworQGludGVyZmFjZSBNUEFWUm91dGluZ0NvbnRyb2xs
ZXIgOiBOU09iamVjdAorQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgTVBSb3V0ZURpc2Nv
dmVyeU1vZGUgZGlzY292ZXJ5TW9kZTsKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aE5hbWU6KE5T
U3RyaW5nICopbmFtZTsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2lvcy9Nb2JpbGVHZXN0YWx0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvaW9zL01vYmlsZUdlc3RhbHRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTY3NDA1YjgwNTMz
OGQ1ODJkZDM3OTJhMjI0OTA3ODI2Mjk4ZmVjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9Nb2JpbGVHZXN0YWx0U1BJLmgKQEAgLTAsMCArMSwzOCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVm
IE1vYmlsZUdlc3RhbHRTUElfaAorI2RlZmluZSBNb2JpbGVHZXN0YWx0U1BJX2gKKworI2lmIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8TW9iaWxlR2VzdGFsdC5oPgorI2Vsc2UK
KyNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgorc3RhdGljIGNvbnN0
IENGU3RyaW5nUmVmIGtNR1FNYWluU2NyZWVuUGl0Y2ggPSBDRlNUUigibWFpbi1zY3JlZW4tcGl0
Y2giKTsKK3N0YXRpYyBjb25zdCBDRlN0cmluZ1JlZiBrTUdRTWFpblNjcmVlblNjYWxlID0gQ0ZT
VFIoIm1haW4tc2NyZWVuLXNjYWxlIik7CisjZW5kaWYKKworZXh0ZXJuICJDIiBDRlR5cGVSZWYg
TUdDb3B5QW5zd2VyKENGU3RyaW5nUmVmIHF1ZXN0aW9uLCBDRkRpY3Rpb25hcnlSZWYgb3B0aW9u
cyk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWNo
LW8vZHlsZFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hY2gtby9keWxkU1BJ
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZWIxM2RhMTIyNzIxMTE3YWY3N2ZhMjBkMThhMTkwZTBjMjhiY2RjOAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWNoLW8vZHls
ZFNQSS5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpZm5kZWYgZHlsZFNQSV9oCisjZGVmaW5lIGR5bGRTUElfaAorCisj
aW5jbHVkZSA8bWFjaC1vL2R5bGQuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisj
aW5jbHVkZSA8bWFjaC1vL2R5bGRfcHJpdi5oPgorI2Vsc2UKKyNkZWZpbmUgRFlMRF9JT1NfVkVS
U0lPTl8zXzAgMHgwMDAzMDAwMAorI2RlZmluZSBEWUxEX0lPU19WRVJTSU9OXzZfMCAweDAwMDYw
MDAwOworI2RlZmluZSBEWUxEX0lPU19WRVJTSU9OXzdfMCAweDAwMDcwMDAwOworI2VuZGlmCisK
K2V4dGVybiAiQyIgdWludDMyX3QgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOworCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tZWRpYXBsYXll
ci9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9tZWRpYXBsYXllci9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTI0
YWQxMDc2OGE4NzJlOTRkYjE0ZjZiY2E5MTMyMjJkNzlhMTg2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21lZGlhcGxheWVyL01QQVZSb3V0aW5nQ29udHJv
bGxlclNQSS5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8
TWVkaWFQbGF5ZXIvTVBBVlJvdXRpbmdDb250cm9sbGVyLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91
bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CitlbnVtIHsKKyAgICBNUFJvdXRlRGlzY292ZXJ5TW9kZVBy
ZXNlbmNlID0gMSwKK307CisKK3R5cGVkZWYgTlNJbnRlZ2VyIE1QUm91dGVEaXNjb3ZlcnlNb2Rl
OworCitAaW50ZXJmYWNlIE1QQVZSb3V0aW5nQ29udHJvbGxlciA6IE5TT2JqZWN0CitAcHJvcGVy
dHkgKG5vbmF0b21pYywgYXNzaWduKSBNUFJvdXRlRGlzY292ZXJ5TW9kZSBkaXNjb3ZlcnlNb2Rl
OworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoTmFtZTooTlNTdHJpbmcgKiluYW1lOworQGVuZAor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvcXVpY2tsb29r
L1FMUHJldmlld0NvbnZlcnRlclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL3F1
aWNrbG9vay9RTFByZXZpZXdDb252ZXJ0ZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTAxZDUxZjU0M2M3
MThhMzc2NzE2YTgxNzk1ZmJmZjUxYTNiN2YwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL3F1aWNrbG9vay9RTFByZXZpZXdDb252ZXJ0ZXJTUEkuaApAQCAt
MCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8UXVpY2tMb29rL1FMUHJl
dmlld0NvbnZlcnRlci5oPgorI2Vsc2UKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5o
PgorCitAaW50ZXJmYWNlIFFMUHJldmlld0NvbnZlcnRlciA6IE5TT2JqZWN0CitAcHJvcGVydHkg
KHJlYWRvbmx5LCBub25hdG9taWMpIE5TU3RyaW5nKiBwcmV2aWV3RmlsZU5hbWU7CitAcHJvcGVy
dHkgKHJlYWRvbmx5LCBub25hdG9taWMpIE5TU3RyaW5nKiBwcmV2aWV3VVRJOworQHByb3BlcnR5
IChyZWFkb25seSwgbm9uYXRvbWljKSBOU1VSTFJlcXVlc3QqIHByZXZpZXdSZXF1ZXN0OworQHBy
b3BlcnR5IChyZWFkb25seSwgbm9uYXRvbWljKSBOU1VSTFJlc3BvbnNlKiBwcmV2aWV3UmVzcG9u
c2U7CistIChpZClpbml0V2l0aERhdGE6KE5TRGF0YSAqKWRhdGEgbmFtZTooTlNTdHJpbmcgKilu
YW1lIHV0aTooTlNTdHJpbmcgKil1dGkgb3B0aW9uczooTlNEaWN0aW9uYXJ5ICopb3B0aW9uczsK
Ky0gKGlkKWluaXRXaXRoQ29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBk
ZWxlZ2F0ZTooaWQpZGVsZWdhdGUgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZSBv
cHRpb25zOihOU0RpY3Rpb25hcnkgKilvcHRpb25zOworLSAoTlNVUkxSZXF1ZXN0ICopc2FmZVJl
cXVlc3RGb3JSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OworLSAodm9pZClhcHBlbmRE
YXRhQXJyYXk6KE5TQXJyYXkgKilkYXRhQXJyYXk7CistICh2b2lkKWZpbmlzaGVkQXBwZW5kaW5n
RGF0YTsKKy0gKHZvaWQpZmluaXNoQ29udmVydGluZzsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL3F1aWNrbG9vay9RdWlja0xvb2tTUEkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9xdWlja2xvb2svUXVpY2tMb29rU1BJLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2QzNjdjYzJkYzQwYzNhYzhjOGFmMTUwNTUxMzVjNjQwNDMwYzg3ZAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9xdWlja2xvb2svUXVpY2tM
b29rU1BJLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFF1
aWNrTG9vay9RdWlja0xvb2tQcml2YXRlLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlvbi9G
b3VuZGF0aW9uLmg+CisKK05TU2V0ICpRTFByZXZpZXdHZXRTdXBwb3J0ZWRNSU1FVHlwZXMoKTsK
K05TU3RyaW5nICpRTFR5cGVDb3B5QmVzdE1pbWVUeXBlRm9yRmlsZU5hbWVBbmRNaW1lVHlwZShO
U1N0cmluZyAqZmlsZU5hbWUsIE5TU3RyaW5nICptaW1lVHlwZSk7CitOU1N0cmluZyAqUUxUeXBl
Q29weUJlc3RNaW1lVHlwZUZvclVSTEFuZE1pbWVUeXBlKE5TVVJMICosIE5TU3RyaW5nICptaW1l
VHlwZSk7CitOU1N0cmluZyAqUUxUeXBlQ29weVVUSUZvclVSTEFuZE1pbWVUeXBlKE5TVVJMICos
IE5TU3RyaW5nICptaW1lVHlwZSk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5tbQppbmRleCBiZTE0NjdiOWI2MWVmMDNhNmJjZGQxMDYxMzhlYWIyMmRi
OGFkNjQ2Li44MzlhNjRjODZjNzhhZTBmZGU1YjczZTU2YTFiYzY4NjRiZWM4ZGVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCkBAIC0zMCw2ICszMCw3IEBA
CiAjaW1wb3J0ICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2ltcG9ydCAiQ1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YS5oIgogI2ltcG9ydCAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgorI2ltcG9ydCAiQ1RG
b250RGVzY3JpcHRvclNQSS5oIgogI2ltcG9ydCAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbXBvcnQg
IkRvY3VtZW50LmgiCiAjaW1wb3J0ICJGbG9hdFJvdW5kZWRSZWN0LmgiCkBAIC01OCw4ICs1OSw3
IEBACiAjaW1wb3J0ICJVc2VyQWdlbnRTY3JpcHRzLmgiCiAjaW1wb3J0ICJVc2VyQWdlbnRTdHls
ZVNoZWV0cy5oIgogI2ltcG9ydCAiV2ViQ29yZVRocmVhZFJ1bi5oIgotI2ltcG9ydCA8Q29yZUdy
YXBoaWNzL0NHUGF0aFByaXZhdGUuaD4KLSNpbXBvcnQgPENvcmVUZXh0L0NURm9udERlc2NyaXB0
b3JQcml2Lmg+CisjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CiAjaW1wb3J0
IDxvYmpjL3J1bnRpbWUuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9y
dCA8d3RmL1JlZlB0ci5oPgpAQCAtODEsMTQgKzgxLDYgQEAgU09GVF9MSU5LX0NPTlNUQU5UKFVJ
S2l0LCBVSUNvbnRlbnRTaXplQ2F0ZWdvcnlEaWRDaGFuZ2VOb3RpZmljYXRpb24sIENGU3RyaW5n
UmUKIEBpbXBsZW1lbnRhdGlvbiBXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUKIEBlbmQKIAotLy8g
VGhpcyBpcyBhIHRlbXBvcmFyeSBoYWNrIHRvIGJ1aWxkIG9uIGlPUy4gU2hvdWxkIGJlIHJlbW92
ZWQgYXMgc29vbiBhcyBDVCBmaXhlcyB0aGUgaGVhZGVyIGZpbGVzLgotZXh0ZXJuIGNvbnN0IENG
U3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0SGVhZGxpbmUgQ1RfQVZBSUxBQkxFKDEw
XzEwLCA3XzApOwotZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNo
b3J0Qm9keSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7Ci1leHRlcm4gY29uc3QgQ0ZTdHJpbmdS
ZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRTdWJoZWFkIENUX0FWQUlMQUJMRSgxMF8xMCwgN18w
KTsKLWV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEZvb3Ru
b3RlIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKLWV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBr
Q1RVSUZvbnRUZXh0U3R5bGVTaG9ydENhcHRpb24xIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsK
LWV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVUYWxsQm9keSBDVF9B
VkFJTEFCTEUoMTBfMTAsIDdfMCk7Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgZmxv
YXQgQ29udHJvbEJhc2VIZWlnaHQgPSAyMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0RPTS9XZWJET01PcGVyYXRpb25zUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvRE9NL1dl
YkRPTU9wZXJhdGlvbnNQcml2YXRlLmgKaW5kZXggN2EwNjc2ZTNiZjU4NGJlM2Y1ZjdlZGUzMGVh
YjgwY2NmMWEzODJmMC4uNDBlMDJhN2E5ODg4Y2M4MjYxMmFkOWUyNWM1NjNkYmNiOThkMDVlMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRlLmgK
QEAgLTMwLDcgKzMwLDcgQEAKICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0pTQmFzZS5oPgogCiAj
aWYgVEFSR0VUX09TX0lQSE9ORQotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+Cisj
aW1wb3J0IDxXZWJDb3JlL05TR2VvbWV0cnlTUEkuaD4KICNlbHNlCiAjaW1wb3J0IDxBcHBLaXQv
TlNFdmVudC5oPgogI2ltcG9ydCA8V2ViS2l0TGVnYWN5L0RPTVdoZWVsRXZlbnQuaD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQubW0KaW5kZXggYzVmOWUzYWQzNWRmODc5ZTlhZjM0ZTQ4YjYwYjU3YWE0YmVmMjg5My4u
NWIxY2MyYjJhMTllMGFlNTlmY2VmNjQ2YzExMjJhMDNlYWZjMDc0OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
bW0KQEAgLTE0OSw4ICsxNDksOCBAQAogI2VuZGlmCiAKICNpZiBVU0UoUVVJQ0tfTE9PSykKLSNp
bXBvcnQgPEZvdW5kYXRpb24vTlNGaWxlTWFuYWdlcl9OU1VSTEV4dHJhcy5oPgogI2ltcG9ydCA8
V2ViQ29yZS9GaWxlU3lzdGVtSU9TLmg+CisjaW1wb3J0IDxXZWJDb3JlL05TRmlsZU1hbmFnZXJT
UEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvUXVpY2tMb29rLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0lPUy5oPgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlJlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlJlbmRlckxheWVyLmgKaW5kZXggNjdlNzdmMDI0Njc1NDM2NTAwOTBhNTFjOTkz
YTg2MzI1YWIwOTNiNC4uZjVhNDM5Y2MyZjE0MzhjNDlmMDI5MDFiMzk0Yjc2Mzk1ZWJlODczYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJSZW5kZXJMYXllci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUmVuZGVyTGF5ZXIuaApAQCAtMjYsNyAr
MjYsNyBAQAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAKICNpZiBUQVJHRVRf
T1NfSVBIT05FCi0jaW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvTlNHZW9tZXRyeVNQSS5oPgogI2VuZGlmCiAKIEBjbGFzcyBXZWJGcmFtZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAyNmNjYTQ0YWIwY2Y2Yzc1ZDA5ZDZmMWYx
ZDkzMGZiZGU4YTgwMThjLi44ZmJlYTBhZjc4ZDA2MWFmYzViZmMxNTY3MGE5MzNiMWY5M2E1MDYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yMjcsMTIgKzIyNywxMiBA
QAogI2ltcG9ydCAiV2ViVUlLaXRTdXBwb3J0LmgiCiAjaW1wb3J0ICJXZWJWaXNpYmxlUG9zaXRp
b24uaCIKICNpbXBvcnQgPENGTmV0d29yay9DRlVSTENhY2hlUHJpdi5oPgotI2ltcG9ydCA8TW9i
aWxlR2VzdGFsdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9FdmVudE5hbWVzLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0ZvbnRDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0ljb25Db250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xlZ2Fj
eVRpbGVDYWNoZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9Nb2JpbGVHZXN0YWx0U1BJLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0lPUy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TUUxpdGVEYXRh
YmFzZVRyYWNrZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvTmF0
aXZlV2ViVG91Y2hFdmVudElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvTmF0aXZl
V2ViVG91Y2hFdmVudElPUy5tbQppbmRleCA0YTFlZTQ5ZmM0NzRkODk2NTViYzViMGQ3OTdhNThk
NTg1MTcyOGJiLi4wZTg3MTZmNGZjMmY0M2YxM2U2NzQ2MjY1NzQ4YTY3MTAzZjBmZTk0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZlbnRJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9OYXRpdmVXZWJUb3VjaEV2ZW50SU9T
Lm1tCkBAIC0yNywxMiArMjcsMTEgQEAKICNpbXBvcnQgIk5hdGl2ZVdlYlRvdWNoRXZlbnQuaCIK
IAogI2lmIFBMQVRGT1JNKElPUykKLQogI2ltcG9ydCAiV2ViRXZlbnQuaCIKLSNpbXBvcnQgPEZv
dW5kYXRpb24vTlNHZW9tZXRyeS5oPgogI2ltcG9ydCA8VUlLaXQvVUlUb3VjaC5oPgogI2ltcG9y
dCA8VUlLaXQvVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0ludFBvaW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL05TR2VvbWV0cnlTUEkuaD4KICNp
bXBvcnQgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggZDY0OTJk
ZjBiYTc0ZDk3YzYyNmQ2MTg4YTBjM2Y5Y2YxZWJlNWE3Ni4uMTI2ODExMWNmOTgwOWM1MWZkZmUw
ODg2NjhlZjU5Y2RkNjExOTAwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTg4LDcgKzg4LDYgQEAKICNpbXBvcnQgIldLU2Nyb2xs
Vmlldy5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkuaCIKICNp
bXBvcnQgIldlYlBhZ2VNZXNzYWdlcy5oIgotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHRmxvYXQu
aD4KICNpbXBvcnQgPENvcmVHcmFwaGljcy9DR1BERkRvY3VtZW50UHJpdmF0ZS5oPgogI2ltcG9y
dCA8VUlLaXQvVUlBcHBsaWNhdGlvbi5oPgogI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0
ZS5oPgpAQCAtOTYsNiArOTUsNyBAQAogI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5o
PgogI2ltcG9ydCA8UXVhcnR6Q29yZS9DQVJlbmRlclNlcnZlci5oPgogI2ltcG9ydCA8UXVhcnR6
Q29yZS9RdWFydHpDb3JlUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9DR0Zsb2F0U1BJLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0luc3BlY3Rvck92ZXJsYXkuaD4KIAogQGludGVyZmFjZSBVSVNj
cm9sbFZpZXcgKFVJU2Nyb2xsVmlld0ludGVybmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9XZWJNZW1vcnlQcmVzc3VyZUhhbmRsZXJJT1MubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5tbQppbmRl
eCA1MjNkMGM4ZjE0NjVlN2NiYTg0MTJkMjNiNDYwMmE5OWZhNzNhNjA0Li5iZGQyMzYzZTBiNjI5
NDY0YmE5YWI0ODk4MDdjZThiYWY2MTVhOTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5tbQpAQCAt
MjksNyArMjksNyBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9ydCAiVmlld1NuYXBzaG90
U3RvcmUuaCIKLSNpbXBvcnQgPGRpc3BhdGNoL3ByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
RGlzcGF0Y2hTUEkuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLm1t
CmluZGV4IGQyNWUyODdlNTM0ODM4ZDc2NThiNmE2ZTUwMmI2YTM4NGY0ZTYwZjQuLmQ5YzVjMWEx
NmFjYzg4M2QxM2NhODNlNDAwNTAwZjNmMjc5MmMwMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbQpA
QCAtMzIsOSArMzIsOSBAQAogI2ltcG9ydCAiV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgiCiAj
aW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgPE1lZGlhUGxheWVyL01QQVZJdGVtLmg+
Ci0jaW1wb3J0IDxNZWRpYVBsYXllci9NUEFWUm91dGluZ0NvbnRyb2xsZXIuaD4KICNpbXBvcnQg
PE1lZGlhUGxheWVyL01QQXVkaW9WaWRlb1JvdXRpbmdQb3BvdmVyQ29udHJvbGxlci5oPgogI2lt
cG9ydCA8TWVkaWFQbGF5ZXIvTVBBdWRpb1ZpZGVvUm91dGluZ0FjdGlvblNoZWV0Lmg+CisjaW1w
b3J0IDxXZWJDb3JlL01QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8VUlLaXQvVUlBcHBsaWNhdGlvbl9Qcml2YXRlLmg+
CiAjaW1wb3J0IDxVSUtpdC9VSVdpbmRvd19Qcml2YXRlLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMDA2NjBjMjEzZTY1YTY0OGUzOWMz
NDk3MDgxY2U2ZTMwZWRkYmE0ZC4uM2YxMmMxYjYwODU1ZWM2OTA0YWQ5MzRkMzVmMjliZWZkOWE2
NmRiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtMTkzLDggKzE5Myw4IEBACiAjaW5jbHVkZSAiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWEuaCIKICNpbmNsdWRlICJXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLmgiCiAjaW5jbHVkZSA8
Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgotI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udERl
c2NyaXB0b3JQcml2Lmg+Ci0jaW5jbHVkZSA8Q29yZVRleHQvQ1RGb250UHJpdi5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvQ1RGb250RGVzY3JpcHRvclNQSS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ1RG
b250U1BJLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JY29uLmg+CiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237570</attachid>
            <date>2014-09-03 12:36:52 -0700</date>
            <delta_ts>2014-09-03 14:00:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136487-20140903123646.patch</filename>
            <type>text/plain</type>
            <size>146018</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczMjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2NmMmEzNzY1NzQzNjgy
Y2Y3ODcwZjliZTNmN2ZiYTY2YzZkNzQ2Ni4uMDUxMzQ5ODdiMjdlZjc2NDM4MmExODdmYzkxZjhl
NGI3ZTAyZmU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDE0LTA5LTAzICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNYWtlIFdlYkNv
cmUgYnVpbGQgd2l0aCBwdWJsaWMgaU9TIFNESworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIFNQSSBoZWFkZXJzIGFuZCB1cGRhdGUgZmlsZXMgdG8g
bWFrZSB1c2Ugb2YgdGhlbSBzbyB0aGF0IHdlIGNhbiBidWlsZCBXZWJDb3JlCisgICAgICAgIGZv
ciBpT1MgdXNpbmcgdGhlIHB1YmxpYyBpT1MgU0RLLgorCisgICAgICAgICogV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5tbTogSW1wb3J0
IGhlYWRlciBOU1BvaW50ZXJGdW5jdGlvbnNTUEkuaC4KKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9v
YmpjX2luc3RhbmNlLm1tOiBJbXBvcnQgaGVhZGVyIE5TUG9pbnRlckZ1bmN0aW9uc1NQSS5oOyBh
bHNvIHNvcnQgdGhlIGxpc3Qgb2YgaW1wb3J0ZWQgaGVhZGVycy4KKyAgICAgICAgKiBlZGl0aW5n
L2NvY29hL0hUTUxDb252ZXJ0ZXIubW06IEltcG9ydCBoZWFkZXIgTlNHZW9tZXRyeVNQSS5oLgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tOiBT
dWJzdGl0dXRlIGhlYWRlciBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCBmb3IgPE1lZGlhUGxh
eWVyL01QQVZSb3V0aW5nQ29udHJvbGxlci5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9E
aXNwbGF5U2xlZXBEaXNhYmxlckNvY29hLmNwcDogU3Vic3RpdHV0ZSBoZWFkZXIgSU9QTUxpYlNQ
SS5oIGZvciA8SU9LaXQvcHdyX21ndC9JT1BNTGliLmg+LgorICAgICAgICAqIHBsYXRmb3JtL2Nv
Y29hL01lbW9yeVByZXNzdXJlSGFuZGxlckNvY29hLm1tOiBTdWJzdGl0dXRlIGhlYWRlciBEaXNw
YXRjaFNQSS5oIGZvciA8ZGlzcGF0Y2gvcHJpdmF0ZS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0Lmg6IFN1YnN0aXR1dGUgdHlwZWRlZiBmb3IgbWFjcm8gZGVmaW5lIG9m
IE5TUmVjdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOiBN
b3ZlIGlubGluZSBkZWZpbml0aW9ucyBmb3IgPENvcmVHcmFwaGljcy9DR0ZvbnRSZW5kZXJpbmcu
aD4gdG8gQ0dGb250UmVuZGVyaW5nU1BJLmggYW5kIGluY2x1ZGUKKyAgICAgICAgQ0dGb250UmVu
ZGVyaW5nU1BJLmguCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbTogU3Vic3RpdHV0ZSBoZWFk
ZXIgTlNHZW9tZXRyeVNQSS5oIGZvciA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+LgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW06IFN1YnN0
aXR1dGUgaGVhZGVyIENBVGlsZWRMYXllclNQSS5oLCBOU0dlb21ldHJ5U1BJLmggZm9yIDxRdWFy
dHpDb3JlL0NBVGlsZWRMYXllclByaXZhdGUuaD4sCisgICAgICAgIDxGb3VuZGF0aW9uL05TR2Vv
bWV0cnkuaD4sIHJlc3BlY3RpdmVseS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9C
aXRtYXBJbWFnZUNHLmNwcDogUmVtb3ZlIHVubmVjZXNzYXJ5IGluY2x1ZGUgb2YgaGVhZGVyIDxD
b3JlR3JhcGhpY3MvQ0dDb250ZXh0UHJpdmF0ZS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jZy9Db2xvckNHLmNwcDogU3Vic3RpdHV0ZSBoZWFkZXIgQ0dDb2xvclRyYW5zZm9ybVNQ
SS5oIGZvciA8Q29yZUdyYXBoaWNzL0NHQ29sb3JUcmFuc2Zvcm0uaD47IGFsc28gcmVtb3ZlIGhl
YWRlcgorICAgICAgICA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPiBhcyBDR0NvbG9yVHJh
bnNmb3JtU1BJLmggd2lsbCBpbmNsdWRlIGl0LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcDogTW92ZSBDb3JlR3JhcGhpY3MgZm9yd2FyZCBkZWNs
YXJhdGlvbnMgaW50byBoZWFkZXJzIENHQ29udGV4dEdTdGF0ZVNQSS5oIGFuZCBDR0NvbnRleHRT
UEkuaAorICAgICAgICBhbmQgaW5jbHVkZSBoZWFkZXJzIENHQ29udGV4dEdTdGF0ZVNQSS5oIGFu
ZCBDR0NvbnRleHRTUEkuaC4gQWxzbyBzb3J0IHRoZSBsaXN0IG9mIGhlYWRlcnMuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VTb3VyY2VDRy5jcHA6IFN1YnN0aXR1dGUgaGVh
ZGVyIENHSW1hZ2VTUEkuaCBmb3IgPENvcmVHcmFwaGljcy9DR0ltYWdlUHJpdmF0ZS5oPi4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdlLmNwcDogUmVtb3Zl
IHVubmVjZXNzYXJ5IGhlYWRlcnMgPENvcmVHcmFwaGljcy9DR0NvbnRleHR7UHJpdmF0ZSwgR1N0
YXRlfS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1E
YXRhQ29jb2EubW06IFN1YnN0aXR1dGUgaGVhZGVyIENHRm9udEluZm9TUEkuaCBmb3IgPENvcmVH
cmFwaGljcy9DR0ZvbnRJbmZvLmg+LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9G
b250Q2FjaGVJT1MubW06IFN1YnN0aXR1dGUgaGVhZGVyIENHRm9udFVuaWNvZGVTdXBwb3J0U1BJ
LmgsIENURm9udERlc2NyaXB0b3JTUEkuaCwgQ1RGb250U1BJLmggZm9yCisgICAgICAgIDxDb3Jl
R3JhcGhpY3MvQ0dGb250VW5pY29kZVN1cHBvcnQuaD4sIDxDb3JlVGV4dC9DVEZvbnR7RGVzY3Jp
cHRvclByaXYsIFByaXZ9Lmg+LCByZXNwZWN0aXZlbHkuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvaW9zL0ZvbnRTZXJ2aWNlc0lPUy5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgQ0dGb250SW5m
b1NQSS5oIGFuZCBkeWxkU1BJLmggZm9yIDxDb3JlR3JhcGhpY3Mve0NvcmVHcmFwaGljcywgQ29y
ZUdyYXBoaWNzUHJpdmF0ZX0uaD4sCisgICAgICAgIGFuZCA8bWFjaC1vL2R5bGRfcHJpdi5oPiwg
cmVzcGVjdGl2ZWx5LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9TaW1wbGVGb250
RGF0YUlPUy5tbTogU3Vic3RpdHV0ZSBoZWFkZXJzIENHRm9udEluZm9TUEkuaCBhbmQgQ0dGb250
UmVuZGVyaW5nU1BJLmggZm9yIDxDb3JlR3JhcGhpY3MvQ0dGb250SW5mby5oPi4gCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW06IE1vdmUgaW5saW5lIGZvcndhcmQg
ZGVjbGFyYXRpb25zIGZvciA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4gYW5kIDxD
b3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzUHJpdmF0ZS5oPgorICAgICAgICBpbnRvIENURm9udERl
c2NyaXB0b3JTUEkuaCBhbmQgQ0dDb250ZXh0R1N0YXRlU1BJLmgsIHJlc3BlY3RpdmVseSBhbmQg
aW5jbHVkZSBoZWFkZXJzIENURm9udERlc2NyaXB0b3JTUEkuaCBhbmQgQ0dDb250ZXh0R1N0YXRl
U1BJLmguIEFsc28gaW5jbHVkZQorICAgICAgICBoZWFkZXJzIENVSUNhdGFsb2dTUEkuaCBhbmQg
Q1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uU1BJLmguCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0dseXBoUGFnZVRyZWVOb2RlTWFjLmNwcDogU3Vic3RpdHV0ZSBoZWFkZXIgQ0dG
b250VW5pY29kZVN1cHBvcnRTUEkuaCBmb3IgPENvcmVHcmFwaGljcy9DR0ZvbnRVbmljb2RlU3Vw
cG9ydC5oPiBhbmQgPENvcmVUZXh0L0NURm9udFByaXYuaD4uCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJveHkuaDogU3Vic3RpdHV0ZSBoZWFkZXIgTlNHZW9t
ZXRyeVNQSS5oIGZvciA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+LgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbTogTW92ZSBpbmxpbmUgZm9yd2Fy
ZCBkZWNsYXJhdGlvbnMgZm9yIDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPiBhbmQg
PENvcmVHcmFwaGljcy9DR0ZvbnRHbHlwaFN1cHBvcnQuaD4KKyAgICAgICAgYW5kIGluY2x1ZGUg
aGVhZGVycyBDVEZvbnREZXNjcmlwdG9yU1BJLmggYW5kIENHRm9udEdseXBoU3VwcG9ydFNQSS5o
LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW06IFN1YnN0aXR1dGUg
aGVhZGVycyBDQUxheWVyU1BJLmggYW5kIENHU1JlZ2lvblNQSS5oIGZvciA8UXVhcnR6Q29yZS9R
dWFydHpDb3JlUHJpdmF0ZS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdy
aWQubW06IFN1YnN0aXR1dGUgaGVhZGVycyBDQUxheWVyU1BJLmgsIENHRmxvYXRTUEkuaCwgPENv
cmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4gZm9yIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNz
UHJpdmF0ZS5oPgorICAgICAgICBhbmQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZVByaXZhdGUuaD4u
CisgICAgICAgICogcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5tbTogU3Vic3RpdHV0
ZSBoZWFkZXIgQ0FMYXllclNQSS5oIGZvciA8UXVhcnR6Q29yZS9RdWFydHpDb3JlUHJpdmF0ZS5o
Pi4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MubW06IFN1
YnN0aXR1dGUgaGVhZGVyIE5TR2VvbWV0cnlTUEkuaCBmb3IgPEZvdW5kYXRpb24vTlNHZW9tZXRy
eS5oPi4gQWxzbyBpbmNsdWRlIGhlYWRlciA8d3RmL0N1cnJlbnRUaW1lLmg+LgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgTW9i
aWxlR2VzdGFsdFNQSS5oIGZvciA8TW9iaWxlR2VzdGFsdC5oPi4KKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvV2ViRXZlbnQubW06IFN1YnN0aXR1dGUgaGVhZGVyIE5TR2VvbWV0cnlTUEkuaCBmb3Ig
PEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW06IFN1YnN0aXR1dGUgaGVhZGVycyBBVlBsYXll
ckNvbnRyb2xsZXJTUEkuaCwgQVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oLCBBVlZhbHVlVGlt
aW5nU1BJLmgsIEFWVmlkZW9MYXllclNQSS5oCisgICAgICAgIGZvciA8QVZLaXQvQVZQbGF5ZXJ7
Q29udHJvbGxlciwgVmlld0NvbnRyb2xsZXJfUHJpdmF0ZSwgVmlld0NvbnRyb2xsZXJfV2ViS2l0
T25seX0uaD4gYW5kIDxBVktpdC9BVntWYWx1ZVRpbWluZywgQVZWaWRlb0xheWVyfS5oPi4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dBS0FwcEtpdFN0dWJzLmg6IFN1YnN0aXR1dGUgaGVh
ZGVyIE5TR2VvbWV0cnlTUEkuaCBmb3IgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPi4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dBS1ZpZXcuaDogSW5jbHVkZSBoZWFkZXIgTlNHZW9tZXRy
eVNQSS5oIGFuZCByZW1vdmUgbWFjcm8gZGVmaW5lcyBmb3IgTlNSZWN0LCBOU1BvaW50LCBhbmQg
TlNTaXplLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5oOiBTdWJzdGl0
dXRlIGhlYWRlcnMgQ0dDb250ZXh0U1BJLmggYW5kIENHRm9udFJlbmRlcmluZ1NQSS5oIGZvciA8
Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPiBhbmQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhp
Y3NQcml2YXRlLmg+LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5tbTog
SW1wb3J0IGhlYWRlciBDR0NvbnRleHRHU3RhdGVTUEkuaC4gQWxzbyBzb3J0IHRoZSBsaXN0IG9m
IGhlYWRlcnMuCisgICAgICAgICogcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLm1tOiBS
ZW1vdmUgdW5uZWNlc3NhcnkgaGVhZGVyIDxDb3JlRm91bmRhdGlvbi9DRlByaXYuaD4uCisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tOiBTdWJzdGl0dXRlIGhlYWRl
ciBOU0ZpbGVNYW5hZ2VyU1BJLmgsIFFMUHJldmlld0NvbnZlcnRlclNQSS5oLCBhbmQgUXVpY2tM
b29rU1BJLmggZm9yIDxGb3VuZGF0aW9uL05TRmlsZU1hbmFnZXJfTlNVUkxFeHRyYXMuaD4sCisg
ICAgICAgIDxRdWlja0xvb2sve1FMUHJldmlld0NvbnZlcnRlciwgUXVpY2tMb29rUHJpdmF0ZS5o
fS5oPiwgcmVzcGVjdGl2ZWx5LgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9hdmtpdC9BVlBsYXll
ckNvbnRyb2xsZXJTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2F2a2l0L0FW
UGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3Bp
L2F2a2l0L0FWVmFsdWVUaW1pbmdTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3Bp
L2F2a2l0L0FWVmlkZW9MYXllclNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkv
Y2EvQ0FMYXllclNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2EvQ0FUaWxl
ZExheWVyU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR0NvbG9yVHJh
bnNmb3JtU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR0NvbnRleHRH
U3RhdGVTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NnL0NHQ29udGV4dFNQ
SS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2cvQ0dGbG9hdFNQSS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2cvQ0dGb250R2x5cGhTdXBwb3J0U1BJLmg6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR0ZvbnRJbmZvU1BJLmg6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR0ZvbnRSZW5kZXJpbmdTUEkuaDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vc3BpL2NnL0NHRm9udFVuaWNvZGVTdXBwb3J0U1BJLmg6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR0ltYWdlU1BJLmg6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL3NwaS9jZy9DR1NSZWdpb25TUEkuaDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vc3BpL2NvY29hL0Rpc3BhdGNoU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L3NwaS9jb2NvYS9JT1BNTGliU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9j
b2NvYS9OU0ZpbGVNYW5hZ2VyU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9j
b2NvYS9OU0dlb21ldHJ5U1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2Nv
YS9OU1BvaW50ZXJGdW5jdGlvbnNTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3Bp
L2NvY29hL2R5bGRTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2N0L0NURm9u
dERlc2NyaXB0b3JTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2N0L0NURm9u
dFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY3VpL0NVSUNhdGFsb2dTUEku
aDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2N1aS9DVUlTdHlsZUVmZmVjdENvbmZp
Z3VyYXRpb25TUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2Rpc3BhdGNoL0Rp
c3BhdGNoU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9pb3MvTVBBVlJvdXRp
bmdDb250cm9sbGVyU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9pb3MvTW9i
aWxlR2VzdGFsdFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvbWFjaC1vL2R5
bGRTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL21lZGlhcGxheWVyL01QQVZS
b3V0aW5nQ29udHJvbGxlclNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvcXVp
Y2tsb29rL1FMUHJldmlld0NvbnZlcnRlclNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9zcGkvcXVpY2tsb29rL1F1aWNrTG9va1NQSS5oOiBBZGRlZC4KKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MubW06IE1vdmUgaW5saW5lIGV4dGVybnMgaW50byBDVEZvbnREZXNj
cmlwdG9yU1BJLmgsIHN1YnN0aXR1dGUgaGVhZGVyIENURm9udERlc2NyaXB0b3JTUEkuaCBmb3Ig
PENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2Lmg+LCBhbmQKKyAgICAgICAgcmVtb3ZlIHVu
bmVjZXNzYXJ5IGhlYWRlciA8Q29yZUdyYXBoaWNzL0NHUGF0aFByaXZhdGUuaD4uCisKIDIwMTQt
MDktMDMgIEJlYXIgVHJhdmlzICA8YmV0cmF2aXNAYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1Mg
Rm9udCBMb2FkaW5nXSBFbmFibGUgUGFnZSBDYWNoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYjVl
OGM2YTFmYjc4MzA3OTZmM2JkN2ZkM2E3ODhkZDVjNjNhZDg4Mi4uNGQ2YjY0Y2JlOGU0NzE0OTdk
MWVhZGVhMzRkMDNiZTE1ZjBjYjVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBA
CisyMDE0LTA5LTAzICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAg
ICBbaU9TXSBNYWtlIFdlYkNvcmUgYnVpbGQgd2l0aCBwdWJsaWMgaU9TIFNESworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NDg3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IHVwIHNvbWUgI2luY2x1
ZGUgc3RhdGVtZW50cyB0byByZWZlcmVuY2UgV2ViQ29yZSBTUEkgaGVhZGVycy4gV2UnbGwgbG9v
ayB0byBtYWtlCisgICAgICAgIFdlYktpdCBidWlsZCB3aXRoIHRoZSBwdWJsaWMgaU9TIFNESyBp
biBzdWJzZXF1ZW50IGNvbW1pdChzKS4KKworICAgICAgICAqIERPTS9XZWJET01PcGVyYXRpb25z
UHJpdmF0ZS5oOiBTdWJzdGl0dXRlIGhlYWRlciA8V2ViQ29yZS9OU0dlb21ldHJ5U1BJLmg+IGZv
ciA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+LgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50Lm1tOiBTdWJzdGl0dXRlIGhlYWRlciA8V2ViQ29yZS9OU0ZpbGVN
YW5hZ2VyU1BJLmg+IGZvciA8Rm91bmRhdGlvbi9OU0ZpbGVNYW5hZ2VyX05TVVJMRXh0cmFzLmg+
LgorICAgICAgICAqIFdlYlZpZXcvV2ViUmVuZGVyTGF5ZXIuaDogU3Vic3RpdHV0ZSBoZWFkZXIg
PFdlYkNvcmUvTlNHZW9tZXRyeVNQSS5oPiBmb3IgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPi4K
KyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06IFN1YnN0aXR1dGUgaGVhZGVyIDxXZWJDb3Jl
L01vYmlsZUdlc3RhbHRTUEkuaD4gZm9yIDxNb2JpbGVHZXN0YWx0Lmg+LgorCiAyMDE0LTA4LTMx
ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92
ZSB1bm5lY2Vzc2FyeSAoYW5kIHVubmVjZXNzYXJpbHkgaU9TLXNwZWNpZmljKSBzZXRTdHJva2VB
bmRGaWxsQ29sb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwNDczNjcxNWU1N2E0YzYxYjA0MmZiODUyYTJiY2Fk
OTJlMTI2MDNkLi5iMGQ2OTA1NWE5YTBhMzE0OWMzMzAyYmQ0MTcwZjA1ZmZkOWJkZjE1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTQtMDktMDMgIERhbmllbCBCYXRlcyAgPGRhYmF0
ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE1ha2UgV2ViQ29yZSBidWlsZCB3aXRoIHB1
YmxpYyBpT1MgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzY0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXggdXAgc29tZSAjaW5jbHVkZSBzdGF0ZW1lbnRzIHRvIHJlZmVyZW5jZSBXZWJDb3Jl
IFNQSSBoZWFkZXJzLiBXZSdsbCBsb29rIHRvIG1ha2UKKyAgICAgICAgV2ViS2l0MiBidWlsZCB3
aXRoIHRoZSBwdWJsaWMgaU9TIFNESyBpbiBzdWJzZXF1ZW50IGNvbW1pdChzKS4KKworICAgICAg
ICAqIFNoYXJlZC9pb3MvTmF0aXZlV2ViVG91Y2hFdmVudElPUy5tbTogU3Vic3RpdHV0ZSBoZWFk
ZXIgPFdlYkNvcmUvTlNHZW9tZXRyeVNQSS5oPiBmb3IgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5o
Pi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbTogU3Vic3RpdHV0
ZSBoZWFkZXIgPFdlYkNvcmUvQ0dGbG9hdFNQSS5oPiBmb3IgPENvcmVHcmFwaGljcy9DR0Zsb2F0
Lmg+LgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVySU9T
Lm1tOiBTdWJzdGl0dXRlIGhlYWRlciA8V2ViQ29yZS9EaXNwYXRjaFNQSS5oPiBmb3IgPGRpc3Bh
dGNoL3ByaXZhdGUuaD4uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlS
b3V0ZVBpY2tlci5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgPFdlYkNvcmUvTVBBVlJvdXRpbmdDb250
cm9sbGVyU1BJLmg+IGZvciA8TWVkaWFQbGF5ZXIvTVBBVlJvdXRpbmdDb250cm9sbGVyLmg+Lgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDogU3Vic3RpdHV0ZSBoZWFk
ZXIgPFdlYkNvcmUvQ1RGb250e0Rlc2NyaXB0b3JTUEksIFNQSX0uaD4gZm9yIDxDb3JlVGV4dC9D
VEZvbnR7RGVzY3JpcHRvclByaXYsIFByaXZ9Lmg+LCByZXNwZWN0aXZlbHkuCisKIDIwMTQtMDkt
MDIgIFlvbmdqdW4gWmhhbmcgIDx5b25nanVuX3poYW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBQ
YXNzIHRoZSByZXNvdXJjZSBpZGVudGlmaWVyIGluIHdpbGxTZW5kUmVxdWVzdCBjYWxsYmFjay4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4
IDBmNzM3ZmRhM2Y5N2EzYTI0MjJkYzk5YWQ2MGU4N2E2ODZhYTE4NDIuLmY5MzU4YjJkMTQ4NzM3
YjdlZDM2OGYzMTYzNDRkMWQ5NTU2Yjc5ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTk5MDgsNiArMTk5MDgsMTIgQEAKICAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9D
dXN0b21CdWlsZFN0ZXA+CisgICAgPEN1c3RvbUJ1aWxkU3RlcCBJbmNsdWRlPSIuLlxwbGF0Zm9y
bVxzcGlcY2dcQ0dGb250UmVuZGVyaW5nU1BJLmgiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fp
cm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dp
bkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0N1
c3RvbUJ1aWxkU3RlcD4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXHNxbFxT
UUxpdGVEYXRhYmFzZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
c3FsXFNRTGl0ZURhdGFiYXNlVHJhY2tlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cc3FsXFNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oIiAvPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdm
M2MxNmZmYzQ1ZDcwZjQxZTI1YjU5NDIzYmQyMTBmM2EwZWRlYzcuLmJiYTBmY2YwNWYzN2UyNDhl
MGEyZjQ1NjUyNDgxN2EyZDgxNTkxYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU3MjgsNiArNTcyOCwzNiBAQAogCQlDRTA1
N0ZBNjEyMjA3MzExMDBBNDc2RDUgLyogRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTA1N0ZBNDEyMjA3MzEx
MDBBNDc2RDUgLyogRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0UwOEMzRDExNTJCNTk5QTAwMjFCOEMy
IC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UwOEMzQ0YxNTJCNTk5QTAwMjFCOEMyIC8qIEFsdGVy
bmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwICovOyB9OwogCQlDRTA4QzNEMjE1MkI1OTlBMDAyMUI4
QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UwOEMzRDAxNTJCNTk5QTAwMjFCOEMyIC8qIEFsdGVy
bmF0aXZlVGV4dENvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9
OyB9OworCQlDRTRGNkQyRDE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJDb250cm9sbGVyU1BJ
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQy
OTE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJDb250cm9sbGVyU1BJLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZEMkUxOUI3NzRENTAw
QkZDNjRBIC8qIEFWUGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDJBMTlCNzc0RDUwMEJGQzY0QSAvKiBB
VlBsYXllclZpZXdDb250cm9sbGVyU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZEMkYxOUI3NzRENTAwQkZDNjRBIC8qIEFWVmFsdWVU
aW1pbmdTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENFNEY2RDJCMTlCNzc0RDUwMEJGQzY0QSAvKiBBVlZhbHVlVGltaW5nU1BJLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZEMzAxOUI3NzRE
NTAwQkZDNjRBIC8qIEFWVmlkZW9MYXllclNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEMkMxOUI3NzRENTAwQkZDNjRBIC8qIEFWVmlkZW9M
YXllclNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUNFNEY2RDM0MTlCNzc0RjYwMEJGQzY0QSAvKiBDQUxheWVyU1BJLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzMjE5Qjc3NEY2MDBCRkM2
NEEgLyogQ0FMYXllclNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUNFNEY2RDM1MTlCNzc0RjYwMEJGQzY0QSAvKiBDQVRpbGVkTGF5ZXJTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDMz
MTlCNzc0RjYwMEJGQzY0QSAvKiBDQVRpbGVkTGF5ZXJTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ0MTE5Qjc3NTEyMDBCRkM2NEEg
LyogQ0dDb2xvclRyYW5zZm9ybVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0U0RjZEMzcxOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29sb3JUcmFuc2Zv
cm1TUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlDRTRGNkQ0MjE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0R1N0YXRlU1BJLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzODE5Qjc3NTEy
MDBCRkM2NEEgLyogQ0dDb250ZXh0R1N0YXRlU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENDMxOUI3NzUxMjAwQkZDNjRBIC8qIENH
Q29udGV4dFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0U0RjZEMzkxOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29udGV4dFNQSS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDQ0MTlCNzc1MTIw
MEJGQzY0QSAvKiBDR0Zsb2F0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRTRGNkQzQTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGbG9hdFNQSS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDQ1
MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDNCMTlCNzc1MTIwMEJGQzY0
QSAvKiBDR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ0NjE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250
SW5mb1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0U0RjZEM0MxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEluZm9TUEkuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ0NzE5Qjc3NTEyMDBC
RkM2NEEgLyogQ0dGb250UmVuZGVyaW5nU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzRDE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250UmVu
ZGVyaW5nU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJQ0U0RjZENDgxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udFVuaWNvZGVTdXBwb3J0U1BJ
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQz
RTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ0OTE5Qjc3NTEy
MDBCRkM2NEEgLyogQ0dJbWFnZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0U0RjZEM0YxOUI3NzUxMjAwQkZDNjRBIC8qIENHSW1hZ2VTUEkuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ0
QTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dTUmVnaW9uU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ0MDE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dT
UmVnaW9uU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJQ0U0RjZENTcxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9udERlc2NyaXB0b3JTUEkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDRDMTlC
Nzc1N0IwMEJGQzY0QSAvKiBDVEZvbnREZXNjcmlwdG9yU1BJLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENTgxOUI3NzU3QjAwQkZDNjRB
IC8qIENURm9udFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0U0RjZENEQxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9udFNQSS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDU5MTlCNzc1N0Iw
MEJGQzY0QSAvKiBDVUlDYXRhbG9nU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ0RjE5Qjc3NTdCMDBCRkM2NEEgLyogQ1VJQ2F0YWxvZ1NQ
SS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNF
NEY2RDVBMTlCNzc1N0IwMEJGQzY0QSAvKiBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDUw
MTlCNzc1N0IwMEJGQzY0QSAvKiBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEkuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ1QjE5
Qjc3NTdCMDBCRkM2NEEgLyogTW9iaWxlR2VzdGFsdFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENTIxOUI3NzU3QjAwQkZDNjRBIC8qIE1v
YmlsZUdlc3RhbHRTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlDRTRGNkQ1QzE5Qjc3NTdCMDBCRkM2NEEgLyogTVBBVlJvdXRpbmdDb250cm9s
bGVyU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RTRGNkQ1MzE5Qjc3NTdCMDBCRkM2NEEgLyogTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENUQx
OUI3NzU3QjAwQkZDNjRBIC8qIFFMUHJldmlld0NvbnZlcnRlclNQSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENTUxOUI3NzU3QjAwQkZDNjRB
IC8qIFFMUHJldmlld0NvbnZlcnRlclNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDVFMTlCNzc1N0IwMEJGQzY0QSAvKiBRdWlja0xv
b2tTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENF
NEY2RDU2MTlCNzc1N0IwMEJGQzY0QSAvKiBRdWlja0xvb2tTUEkuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ2NDE5Qjc3NUY4MDBCRkM2
NEEgLyogRGlzcGF0Y2hTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENFNEY2RDVGMTlCNzc1RjgwMEJGQzY0QSAvKiBEaXNwYXRjaFNQSS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDY1MTlC
Nzc1RjgwMEJGQzY0QSAvKiBkeWxkU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ2MDE5Qjc3NUY4MDBCRkM2NEEgLyogZHlsZFNQSS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDY2
MTlCNzc1RjgwMEJGQzY0QSAvKiBOU0ZpbGVNYW5hZ2VyU1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ2MTE5Qjc3NUY4MDBCRkM2NEEgLyog
TlNGaWxlTWFuYWdlclNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUNFNEY2RDY3MTlCNzc1RjgwMEJGQzY0QSAvKiBOU0dlb21ldHJ5U1BJLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ2MjE5
Qjc3NUY4MDBCRkM2NEEgLyogTlNHZW9tZXRyeVNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDY4MTlCNzc1RjgwMEJGQzY0QSAvKiBO
U1BvaW50ZXJGdW5jdGlvbnNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENFNEY2RDYzMTlCNzc1RjgwMEJGQzY0QSAvKiBOU1BvaW50ZXJGdW5jdGlv
bnNTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlDRTRGNkQ2QTE5Qjc4NTRFMDBCRkM2NEEgLyogSU9QTUxpYlNQSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENjkxOUI3ODU0RTAwQkZDNjRB
IC8qIElPUE1MaWJTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlDRTdCMkRCMzE1ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlD
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRTdCMkRBRjE1ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0U3
QjJEQjQxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREIwMTU4
NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0gKi87IH07CiAJ
CUNFN0IyREI1MTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREIxMTU4
NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTMxODYsNiArMTMyMTYsMzYg
QEAKIAkJQ0UwNTdGQTQxMjIwNzMxMTAwQTQ3NkQ1IC8qIERvY3VtZW50TWFya2VyQ29udHJvbGxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb2N1bWVudE1hcmtlckNvbnRy
b2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0UwOEMzQ0YxNTJCNTk5QTAw
MjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFMDhDM0QwMTUyQjU5OUEwMDIxQjhDMiAvKiBBbHRl
cm5hdGl2ZVRleHRDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0U0RjZEMjkxOUI3NzRENTAwQkZDNjRBIC8qIEFWUGxheWVyQ29udHJvbGxlclNQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBVlBsYXllckNvbnRyb2xsZXJTUEkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEMkExOUI3NzRENTAwQkZDNjRBIC8q
IEFWUGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDRTRGNkQyQjE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZWYWx1ZVRpbWluZ1NQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBVlZhbHVlVGltaW5nU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDJDMTlCNzc0RDUwMEJGQzY0QSAvKiBBVlZp
ZGVvTGF5ZXJTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVZWaWRlb0xh
eWVyU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDMyMTlCNzc0RjYw
MEJGQzY0QSAvKiBDQUxheWVyU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENBTGF5ZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEMzMxOUI3
NzRGNjAwQkZDNjRBIC8qIENBVGlsZWRMYXllclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDQVRpbGVkTGF5ZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0U0RjZEMzcxOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29sb3JUcmFuc2Zvcm1TUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0dDb2xvclRyYW5zZm9ybVNQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzODE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dD
b250ZXh0R1N0YXRlU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHQ29u
dGV4dEdTdGF0ZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzOTE5
Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENHQ29udGV4dFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
RTRGNkQzQTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGbG9hdFNQSS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDR0Zsb2F0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNFNEY2RDNCMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0dGb250R2x5cGhTdXBwb3J0U1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDNDMTlCNzc1MTIwMEJGQzY0QSAv
KiBDR0ZvbnRJbmZvU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHRm9u
dEluZm9TUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEM0QxOUI3NzUx
MjAwQkZDNjRBIC8qIENHRm9udFJlbmRlcmluZ1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDR0ZvbnRSZW5kZXJpbmdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQ0U0RjZEM0UxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udFVuaWNvZGVTdXBwb3J0U1BJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHRm9udFVuaWNvZGVTdXBwb3J0
U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDNGMTlCNzc1MTIwMEJG
QzY0QSAvKiBDR0ltYWdlU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENH
SW1hZ2VTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENDAxOUI3NzUx
MjAwQkZDNjRBIC8qIENHU1JlZ2lvblNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDR1NSZWdpb25TUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZE
NEMxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9udERlc2NyaXB0b3JTUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ1RGb250RGVzY3JpcHRvclNQSS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDRTRGNkQ0RDE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RGb250U1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENURm9udFNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQ0RjE5Qjc3NTdCMDBCRkM2NEEgLyogQ1VJQ2F0YWxv
Z1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDVUlDYXRhbG9nU1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDUwMTlCNzc1N0IwMEJGQzY0QSAv
KiBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uU1BJLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDUyMTlCNzc1N0IwMEJGQzY0QSAvKiBNb2JpbGVHZXN0
YWx0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vYmlsZUdlc3RhbHRT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENTMxOUI3NzU3QjAwQkZD
NjRBIC8qIE1QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQ0U0RjZENTUxOUI3NzU3QjAwQkZDNjRBIC8qIFFMUHJldmlld0NvbnZlcnRl
clNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBRTFByZXZpZXdDb252ZXJ0
ZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENTYxOUI3NzU3QjAw
QkZDNjRBIC8qIFF1aWNrTG9va1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBRdWlja0xvb2tTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENUYx
OUI3NzVGODAwQkZDNjRBIC8qIERpc3BhdGNoU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERpc3BhdGNoU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNF
NEY2RDYwMTlCNzc1RjgwMEJGQzY0QSAvKiBkeWxkU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IGR5bGRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0
RjZENjExOUI3NzVGODAwQkZDNjRBIC8qIE5TRmlsZU1hbmFnZXJTUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTlNGaWxlTWFuYWdlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDRTRGNkQ2MjE5Qjc3NUY4MDBCRkM2NEEgLyogTlNHZW9tZXRyeVNQSS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0dlb21ldHJ5U1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDYzMTlCNzc1RjgwMEJGQzY0QSAvKiBOU1Bv
aW50ZXJGdW5jdGlvbnNTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNQ
b2ludGVyRnVuY3Rpb25zU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2
RDY5MTlCNzg1NEUwMEJGQzY0QSAvKiBJT1BNTGliU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IElPUE1MaWJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
Q0U1Q0IxQjMxNEVEQUI2RjAwQkIyNzk1IC8qIEV2ZW50U2VuZGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50U2VuZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNFNkQ4OTI5NEM3QUFDRTBBRDg5QjNERCAvKiBNYXRoTUxNZW5jbG9zZUVsZW1lbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MTWVuY2xvc2VFbGVtZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFN0IyREFGMTU4NkFCQUQwMDk4QjNG
QSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmg7IHBhdGggPSBtYWMvQWx0
ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNjEzOSw4ICsxNjE5OSwxNSBAQAogCQk2NTNFRjgzNjE5QTA0M0FFMDA1MjIwMkMgLyogc3Bp
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDRTRGNkQy
ODE5Qjc3NEQ1MDBCRkM2NEEgLyogYXZraXQgKi8sCisJCQkJQ0U0RjZEMzExOUI3NzRGNjAwQkZD
NjRBIC8qIGNhICovLAogCQkJCTY1MDg2REE2MTlBQzE3MTkwMDlBRjQ2QiAvKiBjZiAqLywKKwkJ
CQlDRTRGNkQzNjE5Qjc3NTEyMDBCRkM2NEEgLyogY2cgKi8sCiAJCQkJNjUzRUY4MzcxOUEwNDNB
RTAwNTIyMDJDIC8qIGNvY29hICovLAorCQkJCUNFNEY2RDRCMTlCNzc1N0IwMEJGQzY0QSAvKiBj
dCAqLywKKwkJCQlDRTRGNkQ0RTE5Qjc3NTdCMDBCRkM2NEEgLyogY3VpICovLAorCQkJCUNFNEY2
RDUxMTlCNzc1N0IwMEJGQzY0QSAvKiBpb3MgKi8sCisJCQkJQ0U0RjZENTQxOUI3NzU3QjAwQkZD
NjRBIC8qIHF1aWNrbG9vayAqLywKIAkJCSk7CiAJCQlwYXRoID0gc3BpOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTE2MTQ4LDYgKzE2MjE1LDEyIEBACiAJCTY1M0VGODM3MTlBMDQz
QUUwMDUyMjAyQyAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCisJCQkJQ0U0RjZENUYxOUI3NzVGODAwQkZDNjRBIC8qIERpc3BhdGNoU1BJLmggKi8s
CisJCQkJQ0U0RjZENjAxOUI3NzVGODAwQkZDNjRBIC8qIGR5bGRTUEkuaCAqLywKKwkJCQlDRTRG
NkQ2OTE5Qjc4NTRFMDBCRkM2NEEgLyogSU9QTUxpYlNQSS5oICovLAorCQkJCUNFNEY2RDYxMTlC
Nzc1RjgwMEJGQzY0QSAvKiBOU0ZpbGVNYW5hZ2VyU1BJLmggKi8sCisJCQkJQ0U0RjZENjIxOUI3
NzVGODAwQkZDNjRBIC8qIE5TR2VvbWV0cnlTUEkuaCAqLywKKwkJCQlDRTRGNkQ2MzE5Qjc3NUY4
MDBCRkM2NEEgLyogTlNQb2ludGVyRnVuY3Rpb25zU1BJLmggKi8sCiAJCQkJNjUzRUY4MzgxOUEw
NDNBRTAwNTIyMDJDIC8qIE5TVVJMRmlsZVR5cGVNYXBwaW5nc1NQSS5oICovLAogCQkJKTsKIAkJ
CXBhdGggPSBjb2NvYTsKQEAgLTIxNTQ0LDYgKzIxNjE3LDc5IEBACiAJCQlwYXRoID0gaW9zOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJQ0U0RjZEMjgxOUI3NzRENTAwQkZD
NjRBIC8qIGF2a2l0ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgK
KwkJCQlDRTRGNkQyOTE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJDb250cm9sbGVyU1BJLmgg
Ki8sCisJCQkJQ0U0RjZEMkExOUI3NzRENTAwQkZDNjRBIC8qIEFWUGxheWVyVmlld0NvbnRyb2xs
ZXJTUEkuaCAqLywKKwkJCQlDRTRGNkQyQjE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZWYWx1ZVRpbWlu
Z1NQSS5oICovLAorCQkJCUNFNEY2RDJDMTlCNzc0RDUwMEJGQzY0QSAvKiBBVlZpZGVvTGF5ZXJT
UEkuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gYXZraXQ7CisJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOworCQl9OworCQlDRTRGNkQzMTE5Qjc3NEY2MDBCRkM2NEEgLyogY2EgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNFNEY2RDMyMTlCNzc0RjYwMEJG
QzY0QSAvKiBDQUxheWVyU1BJLmggKi8sCisJCQkJQ0U0RjZEMzMxOUI3NzRGNjAwQkZDNjRBIC8q
IENBVGlsZWRMYXllclNQSS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBjYTsKKwkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUNFNEY2RDM2MTlCNzc1MTIwMEJGQzY0QSAvKiBjZyAq
LyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQ0U0RjZEMzcx
OUI3NzUxMjAwQkZDNjRBIC8qIENHQ29sb3JUcmFuc2Zvcm1TUEkuaCAqLywKKwkJCQlDRTRGNkQz
ODE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0R1N0YXRlU1BJLmggKi8sCisJCQkJQ0U0RjZE
MzkxOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29udGV4dFNQSS5oICovLAorCQkJCUNFNEY2RDNBMTlC
Nzc1MTIwMEJGQzY0QSAvKiBDR0Zsb2F0U1BJLmggKi8sCisJCQkJQ0U0RjZEM0IxOUI3NzUxMjAw
QkZDNjRBIC8qIENHRm9udEdseXBoU3VwcG9ydFNQSS5oICovLAorCQkJCUNFNEY2RDNDMTlCNzc1
MTIwMEJGQzY0QSAvKiBDR0ZvbnRJbmZvU1BJLmggKi8sCisJCQkJQ0U0RjZEM0QxOUI3NzUxMjAw
QkZDNjRBIC8qIENHRm9udFJlbmRlcmluZ1NQSS5oICovLAorCQkJCUNFNEY2RDNFMTlCNzc1MTIw
MEJGQzY0QSAvKiBDR0ZvbnRVbmljb2RlU3VwcG9ydFNQSS5oICovLAorCQkJCUNFNEY2RDNGMTlC
Nzc1MTIwMEJGQzY0QSAvKiBDR0ltYWdlU1BJLmggKi8sCisJCQkJQ0U0RjZENDAxOUI3NzUxMjAw
QkZDNjRBIC8qIENHU1JlZ2lvblNQSS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBjZzsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUNFNEY2RDRCMTlCNzc1N0IwMEJGQzY0QSAv
KiBjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQ0U0
RjZENEMxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9udERlc2NyaXB0b3JTUEkuaCAqLywKKwkJCQlD
RTRGNkQ0RDE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RGb250U1BJLmggKi8sCisJCQkpOworCQkJcGF0
aCA9IGN0OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQ0U0RjZENEUxOUI3
NzU3QjAwQkZDNjRBIC8qIGN1aSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRy
ZW4gPSAoCisJCQkJQ0U0RjZENEYxOUI3NzU3QjAwQkZDNjRBIC8qIENVSUNhdGFsb2dTUEkuaCAq
LywKKwkJCQlDRTRGNkQ1MDE5Qjc3NTdCMDBCRkM2NEEgLyogQ1VJU3R5bGVFZmZlY3RDb25maWd1
cmF0aW9uU1BJLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGN1aTsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CisJCUNFNEY2RDUxMTlCNzc1N0IwMEJGQzY0QSAvKiBpb3MgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNFNEY2RDUyMTlCNzc1
N0IwMEJGQzY0QSAvKiBNb2JpbGVHZXN0YWx0U1BJLmggKi8sCisJCQkJQ0U0RjZENTMxOUI3NzU3
QjAwQkZDNjRBIC8qIE1QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oICovLAorCQkJKTsKKwkJCXBh
dGggPSBpb3M7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlDRTRGNkQ1NDE5
Qjc3NTdCMDBCRkM2NEEgLyogcXVpY2tsb29rICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQlDRTRGNkQ1NTE5Qjc3NTdCMDBCRkM2NEEgLyogUUxQcmV2aWV3
Q29udmVydGVyU1BJLmggKi8sCisJCQkJQ0U0RjZENTYxOUI3NzU3QjAwQkZDNjRBIC8qIFF1aWNr
TG9va1NQSS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBxdWlja2xvb2s7CisJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOworCQl9OwogCQlDRTc5RDY4NjE3RjIyMEVEMDA4MTVDMDAgLyogaW9zICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTIzMzM1LDggKzIz
NDgxLDEyIEBACiAJCQkJMDcwMzYzRTAxODFBMUNEQzAwQzA3NEE1IC8qIEFWQXVkaW9DYXB0dXJl
U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzAzNjNFMjE4MUExQ0RDMDBDMDc0QTUgLyog
QVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwMzYzRTQxODFB
MUNEQzAwQzA3NEE1IC8qIEFWTWVkaWFDYXB0dXJlU291cmNlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlDRTRGNkQyRDE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJDb250cm9sbGVyU1BJLmggaW4g
SGVhZGVycyAqLywKKwkJCQlDRTRGNkQyRTE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJWaWV3
Q29udHJvbGxlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QzMzZGNjIxN0Y5RjY0NzAwRERE
Q0QwIC8qIEFWVHJhY2tQcml2YXRlQVZGT2JqQ0ltcGwuaCBpbiBIZWFkZXJzICovLAorCQkJCUNF
NEY2RDJGMTlCNzc0RDUwMEJGQzY0QSAvKiBBVlZhbHVlVGltaW5nU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwNzAzNjNFNjE4MUExQ0RDMDBDMDc0QTUgLyogQVZWaWRlb0NhcHR1cmVTb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDMwMTlCNzc0RDUwMEJGQzY0QSAvKiBBVlZpZGVv
TGF5ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5QTgxMjM4MEZCQjlDMUQwMDUxMDI5MyAv
KiBBWE9iamVjdENhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTc0MUQwRjBCMDcyNTlBMDBF
RDQ0MkMgLyogQmFja0ZvcndhcmRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQThDODFF
MTFFM0QzNjkwMDgxMkZCNyAvKiBCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
LApAQCAtMjM0MTAsNiArMjM1NjAsNyBAQAogCQkJCUJDQjE2QzI4MDk3OUMzQkQwMDQ2Nzc0MSAv
KiBDYWNoZWRYU0xTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTk1MDA4MjQ1
RTU5MDAxRTlBQkMgLyogQ2FjaGVQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxOEY1MDAy
MTk0Q0FDM0EwMDgxQkFBRSAvKiBKU0dhbWVwYWQuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2
RDM0MTlCNzc0RjYwMEJGQzY0QSAvKiBDQUxheWVyU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
OUFFMkQ5NzEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQjFENUVDQjUxMzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCTZFNEU5MUFEMTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52YXNDb250
ZXh0QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzQyNCw2ICsyMzU3NSw3IEBACiAJ
CQkJMDc5RDA4NjgxNjJGMjBFODAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTA3OUQwODZCMTYyRjIxRjkwMERCODY1OCAvKiBDYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlDQzBCNEYxOEJFOTg0
OTAwNkNFQkNDIC8qIENhcHR1cmluZ0lucHV0Q3Vyc29yLmggaW4gSGVhZGVycyAqLywKKwkJCQlD
RTRGNkQzNTE5Qjc3NEY2MDBCRkM2NEEgLyogQ0FUaWxlZExheWVyU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3QTU1MTVGNTE5MTgzMEEzMDA5Njg3RDIgLyogWW91VHViZVBsdWdpblJlcGxhY2Vt
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTUwQjY5RTA5OURGMDI3MDA5MEQ3ODEgLyogQ0RB
VEFTZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRERENTcxNTE4QjU3QTgyMDBBOTRGQ0Ig
LyogQ0RNU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzQzMSw2ICsyMzU4MywxNiBAQAog
CQkJCUNFODI0NUYwMTlCNjcxQkEwMEFDMDEyMiAvKiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVT
UEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQThFNTY3MTc1NTJCMkEwMDc0ODhFNyAvKiBDRlVS
TEV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0U4MjQ1RjIxOUI2NzFENTAwQUMwMTIyIC8q
IENGVVJMUmVxdWVzdFNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENDMxOUI3NzUxMjAw
QkZDNjRBIC8qIENHQ29udGV4dFNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENDIxOUI3
NzUxMjAwQkZDNjRBIC8qIENHQ29udGV4dEdTdGF0ZVNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
Q0U0RjZENDExOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29sb3JUcmFuc2Zvcm1TUEkuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUNFNEY2RDQ1MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRHbHlwaFN1cHBv
cnRTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDQ2MTlCNzc1MTIwMEJGQzY0QSAvKiBD
R0ZvbnRJbmZvU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ0NzE5Qjc3NTEyMDBCRkM2
NEEgLyogQ0dGb250UmVuZGVyaW5nU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ0ODE5
Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaCBpbiBIZWFkZXJzICov
LAorCQkJCUNFNEY2RDQ0MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0Zsb2F0U1BJLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlDRTRGNkQ0OTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dJbWFnZVNQSS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQ0U0RjZENEExOUI3NzUxMjAwQkZDNjRBIC8qIENHU1JlZ2lvblNQSS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRkUzNkZEMTUxNkM3ODI2NTAwRjg4N0MxIC8qIENoYW5nZVZl
cnNpb25EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0JDNjlERDE1MDVGMDc2MDAxQjc0QUMg
LyogQ2hhbmdlVmVyc2lvbldyYXBwZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE1RkZGMTJC
MDI2NzYwMEMxQTM1OSAvKiBDaGFubmVsTWVyZ2VyTm9kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0y
MzYxOSwxMCArMjM3ODEsMTUgQEAKIAkJCQk2NTY1ODE1MTA5RDEzMDQzMDAwRTYxRDcgLyogQ1NT
VmFsdWVLZXl3b3Jkcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZDRTkwQTE5ODlDQTAwN0ZC
OEM1IC8qIENTU1ZhbHVlTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ5QkQ5RkExMzFGRDJF
RDAwM0M1NkYwIC8qIENTU1ZhbHVlUG9vbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENTcx
OUI3NzU3QjAwQkZDNjRBIC8qIENURm9udERlc2NyaXB0b3JTUEkuaCBpbiBIZWFkZXJzICovLAor
CQkJCUNFNEY2RDU4MTlCNzc1N0IwMEJGQzY0QSAvKiBDVEZvbnRTUEkuaCBpbiBIZWFkZXJzICov
LAorCQkJCUNFNEY2RDU5MTlCNzc1N0IwMEJGQzY0QSAvKiBDVUlDYXRhbG9nU1BJLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlDRTRGNkQ1QTE5Qjc3NTdCMDBCRkM2NEEgLyogQ1VJU3R5bGVFZmZlY3RD
b25maWd1cmF0aW9uU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTkyRjA4MjQ1RTU5MDAx
RTlBQkMgLyogQ3Vyc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzIyNzJBMjBFODJFODdDMDBF
N0Y5NzUgLyogQ3Vyc29yRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMjcyQUQwRTgyRThG
MzAwRTdGOTc1IC8qIEN1cnNvckxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTYyQ0QzMjVBMTE1
N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZE
NjUxOUI3NzVGODAwQkZDNjRBIC8qIGR5bGRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0I0
MTNFMEU4NjMzRkQwMDMyQzRGMCAvKiBEYXNoQXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
MEU2RDBCMEExOTg5Q0EwMDdGQjhDNSAvKiBEYXNoYm9hcmRSZWdpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxNzlDRTJBMTk1QzkxODYwMDE5QzE5OCAvKiBHYW1lcGFkUHJvdmlkZXJDbGllbnQu
aCBpbiBIZWFkZXJzICovLApAQCAtMjM2OTUsNiArMjM4NjIsNyBAQAogCQkJCUZEQUYxOTk5MTUx
M0QxMzEwMDhEQjBDMyAvKiBEaXJlY3RDb252b2x2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1
QzU2NkFCMTI3QTNBQUQwMEU4QTNGRiAvKiBEaXNrSW1hZ2VDYWNoZUNsaWVudElPUy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTVGOUVGNzExMjY2NzUwRDAwRkNDRjUyIC8qIERpc2tJbWFnZUNhY2hl
SU9TLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ2NDE5Qjc3NUY4MDBCRkM2NEEgLyogRGlz
cGF0Y2hTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QUYyRDY5MTQ0MzVEMDUwMDE2QTc4NCAv
KiBEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTVEOEM0REMwMTQy
ODIyMkMwMDI2Q0U3MiAvKiBEaXNwbGF5U2xlZXBEaXNhYmxlckNvY29hLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGRDMxNjA5MTEyQjAyNkY3MDBDMUEzNTkgLyogRGlzdGFuY2UuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjQ1NzMsNiArMjQ3NDEsNyBAQAogCQkJCUUxMzRGNUFCMTJFRTM0M0YwMDRFQzU4
RCAvKiBJbnRSZWN0SGFzaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjI3NTM1NzUwQjA1MzgxNDAw
MkNFNjRGIC8qIEludFNpemUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyNzUzNTc2MEIwNTM4MTQw
MDJDRTY0RiAvKiBJbnRTaXplSGFzaC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENkExOUI3
ODU0RTAwQkZDNjRBIC8qIElPUE1MaWJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxOEY4ODA1
MEZGOTU3QUYwMDgwRjA0NSAvKiBKU0Fic3RyYWN0V29ya2VyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwNzA1ODUxQjE3RkI0NEI0MDA1RjJCQ0IgLyogSlNBbGxBdWRpb0NhcGFiaWxpdGllcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMDcwNTg1MDMxN0ZBMTBEMDAwNUYyQkNCIC8qIEpTQWxsVmlkZW9D
YXBhYmlsaXRpZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjUyOTUsNiArMjU0NjQsNyBAQAogCQkJ
CTM3RERDRDk1MTM4NDRGRDUwMDA4Qjc5MyAvKiBNSU1FSGVhZGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzc3MkM0RjBDNEVCMzA0MDA4MzI4NUYgLyogTUlNRVR5cGVSZWdpc3RyeS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTJGMTA4NjYxNjJCNkRBODAwOUFDODFFIC8qIE1peGVkQ29udGVudENo
ZWNrZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDVCMTlCNzc1N0IwMEJGQzY0QSAvKiBN
b2JpbGVHZXN0YWx0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREYyQjAxMTE4MjA1NDA2MDBG
MkI0MjQgLyogTW9ja0JveC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGMkIwMTMxODIwNTQwNjAw
RjJCNDI0IC8qIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDREYyQjAxNTE4MjA1NDA2MDBGMkI0MjQgLyogTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNTMwNyw2ICsyNTQ3Nyw3IEBACiAJCQkJOTM1QzQ3NjMwOUFDNENF
NjAwQTZBQUI0IC8qIE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTg1MDMxQjQ4MEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJlbGF0ZWRFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERkMwOTlFNjQ5MjAwNTZFNTgxIC8qIE1vdmVTZWxlY3Rp
b25Db21tYW5kLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ1QzE5Qjc3NTdCMDBCRkM2NEEg
LyogTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlGREIxNzAw
NjE0QTJCQUIyMDBBMkI1RDkgLyogTXVsdGlDaGFubmVsUmVzYW1wbGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDNkYwOTAwQTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRpb25DYWxsYmFjay5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNEEwQTQ0RUZDNzAwRjk5MkUwIC8qIE11dGF0aW9uRXZl
bnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjUzMTQsNiArMjU0ODUsOSBAQAogCQkJCUQ2RTUyOEE0
MTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRDZFMjc2QjAxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2
ZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUM2RjA4RkJEMTQzMEZFOEYwMDY4
NTg0OSAvKiBNdXRhdGlvblJlY29yZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENjYxOUI3
NzVGODAwQkZDNjRBIC8qIE5TRmlsZU1hbmFnZXJTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNF
NEY2RDY3MTlCNzc1RjgwMEJGQzY0QSAvKiBOU0dlb21ldHJ5U1BJLmggaW4gSGVhZGVycyAqLywK
KwkJCQlDRTRGNkQ2ODE5Qjc3NUY4MDBCRkM2NEEgLyogTlNQb2ludGVyRnVuY3Rpb25zU1BJLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MkI2QzlDNjE1RTNGNERGMDA2OTBCMDUgLyogTmFtZWRGbG93
Q29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgxODcyMjMwOTc3RDNDMDAwNTgyNkQ5
IC8qIE5hbWVkTm9kZU1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgxODcyMUUwOTc3RDNDMDAw
NTgyNkQ5IC8qIE5hbWVOb2RlTGlzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTUwMyw4ICsyNTY3
NywxMCBAQAogCQkJCUZGOTQ1RUNDMTYxRjdGMzYwMDk3MUJDOCAvKiBQc2V1ZG9FbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwMDgxRkYwMDE2QjBBMkQzMDA4QUFBN0EgLyogUHVibGljU3Vm
Zml4LmggaW4gSGVhZGVycyAqLywKIAkJCQkxMEZCMDg0QjE0RTE1QzdFMDBBM0RCOTggLyogUHVi
bGljVVJMTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENUQxOUI3NzU3QjAwQkZD
NjRBIC8qIFFMUHJldmlld0NvbnZlcnRlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTUwQTBC
Q0EwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQ0MkFGN0E5MTAyQ0RERUEwMDhGRDREMyAvKiBRdWlja0xvb2suaCBpbiBIZWFkZXJzICovLAor
CQkJCUNFNEY2RDVFMTlCNzc1N0IwMEJGQzY0QSAvKiBRdWlja0xvb2tTUEkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTA3MkFFMUU4MTgzQzA3NDEwMDBBNTk4OCAvKiBRdWlja1RpbWVQbHVnaW5SZXBs
YWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5RTM3MTcxMzczNkE2NjAwQjlFOTE5IC8q
IFF1b3RlZFByaW50YWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUE1NzRGMjkxMzFEQjk2RDAw
NDcxQjg4IC8qIFF1b3Rlc0RhdGEuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5tbSBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NSW50ZXJuYWwubW0KaW5kZXggYmIzZmM2OWEyZDdmZDZhM2NiN2YzNzll
NTJmODc3NzQ3NjhjODc2Ny4uYjBiMmUzNmVlMzkxMzViOTcyNWEzZjA0YmI4NThlZmFiN2JjZTE3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUludGVybmFsLm1tCkBAIC0z
NSw2ICszNSw4IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAjZGVmaW5lIE5FRURTX1dSQVBQRVJf
Q0FDSEVfTE9DSyAxCisKKyNpbXBvcnQgIk5TUG9pbnRlckZ1bmN0aW9uc1NQSS5oIgogI2VuZGlm
CiAKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNlLm1tIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5tbQppbmRleCAwMTVhNmZiZGNjYjdhNGU1NzQ2YWEw
NjFkNTg5ZTk4NDg3MmJiYWJjLi43N2JiZTVmZmEwYTliMTk2ZDBjZTY0MzVlODY0ZDNjNGRlMjU5
MzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNl
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfaW5zdGFuY2UubW0KQEAg
LTI2LDIwICsyNiwyMSBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJvYmpjX2luc3Rh
bmNlLmgiCiAKLSNpbXBvcnQgInJ1bnRpbWVfbWV0aG9kLmgiCi0jaW1wb3J0IDxydW50aW1lL09i
amVjdFByb3RvdHlwZS5oPgogI2ltcG9ydCAiSlNET01CaW5kaW5nLmgiCisjaW1wb3J0ICJOU1Bv
aW50ZXJGdW5jdGlvbnNTUEkuaCIKICNpbXBvcnQgIk9iakNSdW50aW1lT2JqZWN0LmgiCiAjaW1w
b3J0ICJXZWJTY3JpcHRPYmplY3QuaCIKKyNpbXBvcnQgInJ1bnRpbWVfbWV0aG9kLmgiCiAjaW1w
b3J0IDxvYmpjL29iamMtYXV0by5oPgogI2ltcG9ydCA8cnVudGltZS9FcnJvci5oPgorI2ltcG9y
dCA8cnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oPgogI2ltcG9ydCA8cnVudGltZS9KU0xvY2su
aD4KLSNpbXBvcnQgInJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaCIKKyNpbXBvcnQgPHJ1bnRp
bWUvT2JqZWN0UHJvdG90eXBlLmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgogCiAjaWYg
UExBVEZPUk0oSU9TKQogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU01hcFRhYmxlLmg+Ci0jZW5kaWYg
Ly8gUExBVEZPUk0oSU9TKQorI2VuZGlmCiAKICNpZmRlZiBOREVCVUcKICNkZWZpbmUgT0JKQ19M
T0coZm9ybWF0QW5kQXJncy4uLikgKCh2b2lkKTApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2NvY29hL0hUTUxDb252ZXJ0ZXIubW0KaW5kZXggNmQ0ZDY4ZWJjZDhjMDMzZmVlNTBjMmJhNTI4
NTg3OTcwOWJjODlhNC4uODIxMWNmMzgzMGQ4Njc5MjMzZDA4N2M0OGE3M2E3Y2U0YTNmYWY1NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVyLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvSFRNTENvbnZlcnRlci5tbQpAQCAt
NjIsNiArNjIsOCBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisjaW1wb3J0ICJOU0dlb21ldHJ5
U1BJLmgiCisKIFNPRlRfTElOS19GUkFNRVdPUksoVUlLaXQpCiBTT0ZUX0xJTktfQ0xBU1MoVUlL
aXQsIFVJQ29sb3IpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0KaW5kZXggZGZhMmI2NjI5Y2ZkZTZi
MTA1M2Q5MTYwYzNkZGEyYmJhNmQ0MDllMy4uOTllZGUwY2MzZjQ4NTEyMzU4YTEyNzk1MGE1Yjg2
ZDE4ZDU0YzA3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9z
L01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0KQEAgLTI5LDEzICsyOSwxMyBAQAog
I2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9ydCAiTG9nZ2luZy5oIgorI2ltcG9ydCAiTVBBVlJv
dXRpbmdDb250cm9sbGVyU1BJLmgiCiAjaW1wb3J0ICJNZWRpYVBsYXllci5oIgogI2ltcG9ydCAi
TWVkaWFTZXNzaW9uLmgiCiAjaW1wb3J0ICJTb2Z0TGlua2luZy5oIgogI2ltcG9ydCAiV2ViQ29y
ZVN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCAiV2ViQ29yZVRocmVhZFJ1bi5oIgogI2ltcG9y
dCA8QVZGb3VuZGF0aW9uL0FWQXVkaW9TZXNzaW9uLmg+Ci0jaW1wb3J0IDxNZWRpYVBsYXllci9N
UEFWUm91dGluZ0NvbnRyb2xsZXIuaD4KICNpbXBvcnQgPE1lZGlhUGxheWVyL01QTWVkaWFJdGVt
Lmg+CiAjaW1wb3J0IDxNZWRpYVBsYXllci9NUE5vd1BsYXlpbmdJbmZvQ2VudGVyLmg+CiAjaW1w
b3J0IDxNZWRpYVBsYXllci9NUFZvbHVtZVZpZXcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL0Rpc3BsYXlTbGVlcERpc2FibGVyQ29jb2EuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGlzcGxheVNsZWVwRGlzYWJsZXJDb2NvYS5jcHAKaW5k
ZXggN2VlMmUwODNkNDc2YzE1OGE3ODFhMzY2MDk5ZTM5ZTQ4ZjBiMzkxZC4uYWI5ZTIzMTEzNjRi
ZTQ1MzRkNzRiYzExMmVlODEzZjc2ZTJhNjNiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvRGlzcGxheVNsZWVwRGlzYWJsZXJDb2NvYS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGlzcGxheVNsZWVwRGlzYWJsZXJDb2NvYS5jcHAKQEAg
LTI4LDcgKzI4LDcgQEAKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogCi0jaW5jbHVkZSA8SU9LaXQv
cHdyX21ndC9JT1BNTGliLmg+CisjaW5jbHVkZSAiSU9QTUxpYlNQSS5oIgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5t
bQppbmRleCA4MDQyNTBhNGEzNWExOTdlN2FiNWVhZjU5NWMzZDYzZjA3ZTY1NmFmLi4zNDQxYWJh
ZTgzYmZkOTgzNTg2MWY3NDNiZWM3YWI4MjQ4ODIzYWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5t
bQpAQCAtMjYsNiArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJNZW1vcnlQ
cmVzc3VyZUhhbmRsZXIuaCIKIAorI2ltcG9ydCAiRGlzcGF0Y2hTUEkuaCIKICNpbXBvcnQgIklP
U3VyZmFjZVBvb2wuaCIKICNpbXBvcnQgIkdDQ29udHJvbGxlci5oIgogI2ltcG9ydCAiSlNET01X
aW5kb3dCYXNlLmgiCkBAIC00MSw3ICs0Miw2IEBACiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9y
dCAiU3lzdGVtTWVtb3J5LmgiCiAjaW1wb3J0ICJXZWJDb3JlVGhyZWFkLmgiCi0jaW1wb3J0IDxk
aXNwYXRjaC9wcml2YXRlLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCmluZGV4IDU4NDllM2FhYThhNTEw
MmYzNGEzODI3ZjFlMjU4OWMyZWYwYzFmNDguLmIyMzE4OTA4OWI4M2Q1NzA1NTY5ZmRmMTFiNDIx
MTQ4MTZiMzQ4NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ludFJlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0
LmgKQEAgLTQyLDkgKzQyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX05TUmVjdCBOU1JlY3Q7CiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKElPUykKLSNpZm5kZWYgTlNSZWN0Ci0jZGVmaW5lIE5TUmVjdCBD
R1JlY3QKLSNlbmRpZgordHlwZWRlZiBDR1JlY3QgTlNSZWN0OwogI2VuZGlmCiAKICNpZiBQTEFU
Rk9STShXSU4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9T
aW1wbGVGb250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuaAppbmRleCAwNGE4MjUzZGU3NjgwYmU0MWFjZTBmOGE0NjdlMzdmYTA0MjE0Njlm
Li42OGVmYzkwYmQ4NDQ4NzA5MGExMjA0NTQ2ODg3MWU4ZWY4MjNiN2UwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKQEAgLTU1LDE5
ICs1NSw3IEBACiAjZW5kaWYKIAogI2lmIFVTRShDRykKLSNpZiBkZWZpbmVkKF9faGFzX2luY2x1
ZGUpICYmIF9faGFzX2luY2x1ZGUoPENvcmVHcmFwaGljcy9DR0ZvbnRSZW5kZXJpbmcuaD4pCi0j
aW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udFJlbmRlcmluZy5oPgotI2Vsc2UKLWVudW0gewot
ICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZUFudGlhbGlhc2luZyA9ICgxIDw8IDApLAotICAgIGtD
R0ZvbnRSZW5kZXJpbmdTdHlsZVNtb290aGluZyA9ICgxIDw8IDEpLAotICAgIGtDR0ZvbnRSZW5k
ZXJpbmdTdHlsZVN1YnBpeGVsUG9zaXRpb25pbmcgPSAoMSA8PCAyKSwKLSAgICBrQ0dGb250UmVu
ZGVyaW5nU3R5bGVTdWJwaXhlbFF1YW50aXphdGlvbiA9ICgxIDw8IDMpLAotICAgIGtDR0ZvbnRS
ZW5kZXJpbmdTdHlsZVBsYXRmb3JtTmF0aXZlID0gKDEgPDwgOSksCi0gICAga0NHRm9udFJlbmRl
cmluZ1N0eWxlTWFzayA9IDB4MjBGCi19OwotI2VuZGlmCi10eXBlZGVmIHVpbnQzMl90IENHRm9u
dFJlbmRlcmluZ1N0eWxlOworI2luY2x1ZGUgIkNHRm9udFJlbmRlcmluZ1NQSS5oIgogI2VuZGlm
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IDhmMDgy
MTEzZDViYzA0MDY2OGMxOTQ4NDg3YzU1ZTk3MDAwNzY0NjMuLmMyMmE4YzY1NGNhNGZkZTRlNjlh
ODU1M2FkOGRhZWI4MWJjZjAzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtNDMsNiAr
NDMsNyBAQAogI2ltcG9ydCAiSW5iYW5kTWV0YWRhdGFUZXh0VHJhY2tQcml2YXRlQVZGLmgiCiAj
aW1wb3J0ICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGT2JqQy5oIgogI2ltcG9ydCAiSW5iYW5k
VGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWRk9iakMuaCIKKyNpbXBvcnQgIk5TR2VvbWV0cnlTUEku
aCIKICNpbXBvcnQgIk91dE9mQmFuZFRleHRUcmFja1ByaXZhdGVBVkYuaCIKICNpbXBvcnQgIlVS
TC5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgpAQCAtNzQsNyArNzUsNiBAQAogI2luY2x1ZGUgIlRl
eHRUcmFjay5oIgogI2VuZGlmCiAKLSNpbXBvcnQgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPgog
I2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWRm91bmRhdGlvbi5oPgogI2lmIFBMQVRGT1JNKElPUykK
ICNpbXBvcnQgPENvcmVJbWFnZS9Db3JlSW1hZ2UuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1t
CmluZGV4IDgzNzdlOTU0OWJiZWUyMjUwMGRmZjJlYTJhYmU5MWJmNWFhM2MzYTYuLjJhMThjZGMw
MmRjOTVmYTM5MjNkMjkzZjYyMmY1YmIzZDYxZmIyNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1h
Yy5tbQpAQCAtNTIsMTIgKzUyLDEyIEBACiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKICNp
ZiBQTEFURk9STShJT1MpCisjaW1wb3J0ICJDQVRpbGVkTGF5ZXJTUEkuaCIKKyNpbXBvcnQgIk5T
R2VvbWV0cnlTUEkuaCIKICNpbXBvcnQgIldBS1dpbmRvdy5oIgogI2ltcG9ydCAiV0tHcmFwaGlj
cy5oIgogI2ltcG9ydCAiV2ViQ29yZVRocmVhZC5oIgogI2ltcG9ydCAiV2ViVGlsZWRMYXllci5o
IgotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+Ci0jaW1wb3J0IDxRdWFydHpDb3Jl
L0NBVGlsZWRMYXllclByaXZhdGUuaD4KICNlbHNlCiAjaW1wb3J0ICJUaGVtZU1hYy5oIgogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9CaXRt
YXBJbWFnZUNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0JpdG1h
cEltYWdlQ0cuY3BwCmluZGV4IDhhNGExM2U4OWI2YjE2NGQxZWU1YjUxNjZkZWExNDIwNTZkY2Q0
MGIuLmQyNTE5YzgyNmZmZjU5YWI2NzcxYTJmMDJjNjk5MjY1MGYwOGNlZjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0JpdG1hcEltYWdlQ0cuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0JpdG1hcEltYWdlQ0cuY3Bw
CkBAIC0zOSwxMCArMzksNiBAQAogI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGlj
YXRpb25TZXJ2aWNlcy5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1MpCi0jaW5jbHVkZSA8
Q29yZUdyYXBoaWNzL0NHQ29udGV4dFByaXZhdGUuaD4KLSNlbmRpZgotCiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAjaW5jbHVkZSAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvckNHLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0NvbG9yQ0cuY3BwCmluZGV4IGJj
YTgzMGZmZDVhOTdlNjQwOThjMmMwZGE3OWE0YmNmNmE2MTgzM2UuLmZhOGZjMzY3OGY0YjM3OTgz
OWFmMjE3OTIyZjMzZTkzMDBiNzhlMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0NvbG9yQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0NvbG9yQ0cuY3BwCkBAIC0zNCw4ICszNCw3IEBACiAjaWYgIVBMQVRGT1JN
KElPUykKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMu
aD4KICNlbHNlCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29sb3JUcmFuc2Zvcm0uaD4KLSNp
bmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisjaW5jbHVkZSAiQ0dDb2xvclRy
YW5zZm9ybVNQSS5oIgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNlbmRpZiAvLyAh
UExBVEZPUk0oSU9TKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKaW5kZXggMWUzYWE3NWE2OTQxMjY2N2Q2
MGIyZThkZmU4NTU1NmQzMjZiOGQ4MS4uMDk1OTY3ZjE5NzZiZWRmYTU0MTRmMjZiYzkwMTI5OGRl
NjE3MjkxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
R3JhcGhpY3NDb250ZXh0Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcApAQCAtMjksMTYgKzI5LDE4IEBACiAjaW5jbHVk
ZSAiR3JhcGhpY3NDb250ZXh0Q0cuaCIKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgor
I2luY2x1ZGUgIkNHQ29udGV4dEdTdGF0ZVNQSS5oIgorI2luY2x1ZGUgIkNHQ29udGV4dFNQSS5o
IgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4
dFBsYXRmb3JtUHJpdmF0ZUNHLmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKICNpbmNsdWRl
ICJJbWFnZU9yaWVudGF0aW9uLmgiCi0jaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiUGF0aC5o
IgogI2luY2x1ZGUgIlBhdHRlcm4uaCIKICNpbmNsdWRlICJTaGFkb3dCbHVyLmgiCiAjaW5jbHVk
ZSAiU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVk
ZSAiVVJMLmgiCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgogI2luY2x1
ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpAQCAtNTIs
MTcgKzU0LDkgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQotI2luY2x1ZGUgPENvcmVH
cmFwaGljcy9DR0NvbnRleHRHU3RhdGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2Vu
ZGlmCiAKLSNpZiAhUExBVEZPUk0oSU9TKQotZXh0ZXJuICJDIiB7Ci0gICAgQ0dfRVhURVJOIHZv
aWQgQ0dDb250ZXh0U2V0Q1RNKENHQ29udGV4dFJlZiwgQ0dBZmZpbmVUcmFuc2Zvcm0pOwotICAg
IENHX0VYVEVSTiBDR0FmZmluZVRyYW5zZm9ybSBDR0NvbnRleHRHZXRCYXNlQ1RNKENHQ29udGV4
dFJlZik7Ci19OwotI2VuZGlmIC8vICFQTEFURk9STShJT1MpCi0KIC8vIEZJWE1FOiBUaGUgZm9s
bG93aW5nIHVzaW5nIGRlY2xhcmF0aW9uIHNob3VsZCBiZSBpbiA8d3RmL0hhc2hGdW5jdGlvbnMu
aD4uCiB1c2luZyBXVEY6OnBhaXJJbnRIYXNoOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCmluZGV4IDg1YWFjODU1MmI1
YWExODdlYjBhYTZmZmNkZTUyNjc0Y2RhNzk1N2UuLjk0YzAwNDk1MzAzMDdmYjE1MjkyZDkyODZk
YzBjMzk1NzY4NTMzZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCkBAIC0zNyw3ICszNyw3IEBACiAjaWYgIVBMQVRG
T1JNKElPUykKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2Vydmlj
ZXMuaD4KICNlbHNlCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHSW1hZ2VQcml2YXRlLmg+Cisj
aW5jbHVkZSAiQ0dJbWFnZVNQSS5oIgogI2luY2x1ZGUgPEltYWdlSU8vSW1hZ2VJTy5oPgogI2lu
Y2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3Vt
ZW50SW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERGRG9j
dW1lbnRJbWFnZS5jcHAKaW5kZXggNDAyMmZhZDExZTdhNjQzZjAyYWM0YTE1ZWE2M2YyYTMxNTkz
YTFiZS4uMDU0ZDYzZWM4ODE3ZDczZmJiYmIzZDQ1YWE3YWUwOWI1NzA5ZDE5OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERGRG9jdW1lbnRJbWFnZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERGRG9jdW1lbnRJ
bWFnZS5jcHAKQEAgLTMwLDggKzMwLDYgQEAKICNpZiBVU0UoQ0cpCiAKICNpZiBQTEFURk9STShJ
T1MpCi0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0UHJpdmF0ZS5oPgotI2ltcG9ydCA8
Q29yZUdyYXBoaWNzL0NHQ29udGV4dEdTdGF0ZS5oPgogI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0Nv
cmVHcmFwaGljcy5oPgogI2ltcG9ydCA8SW1hZ2VJTy9JbWFnZUlPLmg+CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9y
bURhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRQbGF0Zm9ybURhdGFDb2NvYS5tbQppbmRleCAzZmYxODIzZmZlMjI4ODczNzQ5MTQ4OGIxMjA2
MDQzODU1NzdmZDQ4Li44MTFmNTdlZWY4NDE5YWJlNWY5NDI4ZjBiN2M1N2U5YTBjZmIzNmUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxh
dGZvcm1EYXRhQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCkBAIC0yOCw4ICsyOCw4IEBACiAjaWYgIVBM
QVRGT1JNKElPUykKICNpbXBvcnQgPEFwcEtpdC9OU0ZvbnQuaD4KICNlbHNlCisjaW1wb3J0ICJD
R0ZvbnRJbmZvU1BJLmgiCiAjaW1wb3J0IDxDb3JlVGV4dC9Db3JlVGV4dC5oPgotI2ltcG9ydCA8
Q29yZUdyYXBoaWNzL0NHRm9udEluZm8uaD4KICNlbmRpZgogCiAjaW1wb3J0IDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2lvcy9Gb250Q2FjaGVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9p
b3MvRm9udENhY2hlSU9TLm1tCmluZGV4IDRmYjg0NWI4YmU3MjQ2MTQxMzM1MzZjMzkxOWMzMzRl
MTBjODYyZTUuLjNjODc4ODFkNTVmZTkyODM1YjVjZTE1ZGUwNWFhN2Q3YTVhMTJkM2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1Mu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlP
Uy5tbQpAQCAtMjksMTEgKzI5LDExIEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkZv
bnRDYWNoZS5oIgogCisjaW1wb3J0ICJDR0ZvbnRVbmljb2RlU3VwcG9ydFNQSS5oIgorI2ltcG9y
dCAiQ1RGb250RGVzY3JpcHRvclNQSS5oIgorI2ltcG9ydCAiQ1RGb250U1BJLmgiCiAjaW1wb3J0
ICJGb250LmgiCiAjaW1wb3J0ICJSZW5kZXJUaGVtZUlPUy5oIgotI2ltcG9ydCA8Q29yZUdyYXBo
aWNzL0NHRm9udFVuaWNvZGVTdXBwb3J0Lmg+Ci0jaW1wb3J0IDxDb3JlVGV4dC9DVEZvbnREZXNj
cmlwdG9yUHJpdi5oPgotI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250UHJpdi5oPgogI2ltcG9ydCA8
d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9pb3MvRm9udFNlcnZpY2VzSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvaW9zL0ZvbnRTZXJ2aWNlc0lPUy5tbQppbmRleCBjMjIyYjUyNTFjZWE5YzFl
YWE0NzBkNjFhYzY0ZDQ5NTYyNWIwZjEzLi4zNmMxMGQ1MjUxOTIxYzYyYjcwMzUyNzUzYThlY2E1
OWEwZTgxNjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9p
b3MvRm9udFNlcnZpY2VzSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2lvcy9Gb250U2VydmljZXNJT1MubW0KQEAgLTI1LDEwICsyNSw5IEBACiAjaW1wb3J0ICJj
b25maWcuaCIKICNpbXBvcnQgIkZvbnRTZXJ2aWNlc0lPUy5oIgogCisjaW1wb3J0ICJDR0ZvbnRJ
bmZvU1BJLmgiCiAjaW1wb3J0ICJGb250TWV0cmljcy5oIgotI2ltcG9ydCA8Q29yZUdyYXBoaWNz
L0NvcmVHcmFwaGljcy5oPgotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljc1ByaXZh
dGUuaD4KLSNpbXBvcnQgPG1hY2gtby9keWxkX3ByaXYuaD4KKyNpbXBvcnQgImR5bGRTUEkuaCIK
ICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL1NpbXBsZUZvbnREYXRh
SU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL1NpbXBsZUZvbnRE
YXRhSU9TLm1tCmluZGV4IGQzYWMxYTUzMmRkMDZjZTQ3NjI3ZDBkMzk5NjMzODg1NTY3MDczMDMu
Ljk4OGZkZWM1NjM1NTcyNjc1NGRmNDA5MWVmOThkOTY2MWEzOWMxNzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9TaW1wbGVGb250RGF0YUlPUy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvU2ltcGxlRm9udERhdGFJ
T1MubW0KQEAgLTI4LDExICsyOCwxMiBAQAogI2ltcG9ydCAiU2ltcGxlRm9udERhdGEuaCIKIAog
I2ltcG9ydCAiQmxvY2tFeGNlcHRpb25zLmgiCisjaW1wb3J0ICJDR0ZvbnRJbmZvU1BJLmgiCisj
aW1wb3J0ICJDR0ZvbnRSZW5kZXJpbmdTUEkuaCIKICNpbXBvcnQgIkZvbnQuaCIKICNpbXBvcnQg
IkZvbnRDYWNoZS5oIgogI2ltcG9ydCAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW1wb3J0ICJGb250
U2VydmljZXNJT1MuaCIKLSNpbXBvcnQgPENvcmVHcmFwaGljcy9DR0ZvbnRJbmZvLmg+CiAjaW1w
b3J0IDxDb3JlVGV4dC9Db3JlVGV4dC5oPgogI2ltcG9ydCA8ZmxvYXQuaD4KICNpbXBvcnQgPHVu
aWNvZGUvdWNoYXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9Gb250TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0ZvbnRNYWMubW0KaW5kZXggZjg0M2ExMjE2ZmMyMGM2OGUwMzZhMmEzNzY4OTJhZGYzYjdiYjVm
MC4uZDMxOWYxYzhlNDdhMzdkN2MwNjZmOThhYWE4ZGVjYzg3Yzg2OGI0YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0KQEAgLTIzLDYgKzIz
LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiRm9udC5oIgogCisjaW1wb3J0ICJD
VEZvbnREZXNjcmlwdG9yU1BJLmgiCiAjaW1wb3J0ICJEYXNoQXJyYXkuaCIKICNpbXBvcnQgIkds
eXBoQnVmZmVyLmgiCiAjaW1wb3J0ICJHcmFwaGljc0NvbnRleHQuaCIKQEAgLTM0LDIwICszNSwx
MSBAQAogI2VuZGlmCiAjaW1wb3J0IDx3dGYvTWF0aEV4dHJhcy5oPgogCi0jaWYgX19oYXNfaW5j
bHVkZSg8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4pCi0jaW1wb3J0IDxDb3JlVGV4
dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPgotI2VuZGlmCi1leHRlcm4gIkMiIGJvb2wgQ1RGb250
RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2NyaXB0b3JSZWYpOwotCiAjaWYgRU5B
QkxFKExFVFRFUlBSRVNTKQorI2ltcG9ydCAiQ0dDb250ZXh0R1N0YXRlU1BJLmgiCisjaW1wb3J0
ICJDVUlDYXRhbG9nU1BJLmgiCisjaW1wb3J0ICJDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25T
UEkuaCIKICNpbXBvcnQgIlNvZnRMaW5raW5nLmgiCi0jaWYgX19oYXNfaW5jbHVkZSg8Q29yZUdy
YXBoaWNzL0NvcmVHcmFwaGljc1ByaXZhdGUuaD4pCi0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29y
ZUdyYXBoaWNzUHJpdmF0ZS5oPgotI2Vsc2UKLWV4dGVybiBDR0NvbG9yUmVmIENHQ29udGV4dEdl
dEZpbGxDb2xvckFzQ29sb3IoQ0dDb250ZXh0UmVmKTsKLSNlbmRpZgotI2ltcG9ydCA8Q29yZVVJ
L0NVSUNhdGFsb2cuaD4KLSNpbXBvcnQgPENvcmVVSS9DVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRp
b24uaD4KIAogU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLKENvcmVVSSkKIFNPRlRfTElOS19D
TEFTUyhDb3JlVUksIENVSUNhdGFsb2cpCkBAIC01NSw3ICs0Nyw3IEBAIFNPRlRfTElOS19DTEFT
UyhDb3JlVUksIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvbikKIAogU09GVF9MSU5LX0ZSQU1F
V09SSyhVSUtpdCkKIFNPRlRfTElOSyhVSUtpdCwgX1VJS2l0R2V0VGV4dEVmZmVjdHNDYXRhbG9n
LCBDVUlDYXRhbG9nICosICh2b2lkKSwgKCkpCi0jZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoTEVU
VEVSUFJFU1MpCiAKICNkZWZpbmUgU1lOVEhFVElDX09CTElRVUVfQU5HTEUgMTQKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dseXBoUGFnZVRyZWVO
b2RlTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlwaFBh
Z2VUcmVlTm9kZU1hYy5jcHAKaW5kZXggMTc0NWNmNjJiNGMyMTY4OWNkNzNkNzUzMTBiYWJjNmQw
NThkODBhOC4uYmE0OTVlODJlODUyMTBjNzNjOGUxNDkzNTM3Yzg0NTIyOTVhNDRkNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dseXBoUGFnZVRyZWVO
b2RlTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR2x5
cGhQYWdlVHJlZU5vZGVNYWMuY3BwCkBAIC0zNSw4ICszNSw3IEBACiAjaWYgIVBMQVRGT1JNKElP
UykKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4K
ICNlbHNlCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udFVuaWNvZGVTdXBwb3J0Lmg+Ci0j
aW5jbHVkZSA8Q29yZVRleHQvQ1RGb250UHJpdi5oPgorI2luY2x1ZGUgIkNHRm9udFVuaWNvZGVT
dXBwb3J0U1BJLmgiCiAjaW5jbHVkZSA8Q29yZVRleHQvQ29yZVRleHQuaD4KICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5
ZXJQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxh
eWVyUHJveHkuaAppbmRleCBlOTNiZTI0MGE2ZDFhODgyM2ZhMzc2MDcwMmQwNjhmMTM0YmQ3ZGM1
Li5mMDIxYzJhZjJmZjE4ZGFlMmY4YTg3ODdlYTBhY2I0M2E2YWY5ODk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByb3h5
LmgKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKICNpZiBkZWZpbmVk
KF9fT0JKQ19fKQotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CisjaW1wb3J0ICJO
U0dlb21ldHJ5U1BJLmgiCiAjZW5kaWYKIAogLy8gTmVlZGVkIHNpbmNlIHRoaXMgaXMgYSBXZWJL
aXQgcHJpdmF0ZSBoZWFkZXIgb24gaU9TLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCmluZGV4IGY5MDQxNTI2
MDdjMmY5MDcwZWY0Nzk3Y2U5YmNiZjA0NWQxY2ZiNzAuLjU4OGY3YjJjODE0NmIxMWM3MWZlYTQ0
NGYxMGNkNTMyMWY5ZmI3NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0KQEAgLTI4LDYgKzI4LDggQEAK
ICNpbXBvcnQgIlNpbXBsZUZvbnREYXRhLmgiCiAKICNpbXBvcnQgIkJsb2NrRXhjZXB0aW9ucy5o
IgorI2ltcG9ydCAiQ0dGb250R2x5cGhTdXBwb3J0U1BJLmgiCisjaW1wb3J0ICJDVEZvbnREZXNj
cmlwdG9yU1BJLmgiCiAjaW1wb3J0ICJDb2xvci5oIgogI2ltcG9ydCAiRmxvYXRSZWN0LmgiCiAj
aW1wb3J0ICJGb250LmgiCkBAIC00NCwyMCArNDYsOCBAQAogI2ltcG9ydCA8ZmxvYXQuaD4KICNp
bXBvcnQgPHVuaWNvZGUvdWNoYXIuaD4KICNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW1w
b3J0IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Ci0KLSNp
ZiBkZWZpbmVkKF9faGFzX2luY2x1ZGUpICYmIF9faGFzX2luY2x1ZGUoPENvcmVUZXh0L0NURm9u
dERlc2NyaXB0b3JQcml2Lmg+KQotI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclBy
aXYuaD4KLSNlbmRpZgotZXh0ZXJuICJDIiBib29sIENURm9udERlc2NyaXB0b3JJc1N5c3RlbVVJ
Rm9udChDVEZvbnREZXNjcmlwdG9yUmVmKTsKLQotI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkg
JiYgX19oYXNfaW5jbHVkZSg8Q29yZUdyYXBoaWNzL0NHRm9udEdseXBoU3VwcG9ydC5oPikKLSNp
bXBvcnQgPENvcmVHcmFwaGljcy9DR0ZvbnRHbHlwaFN1cHBvcnQuaD4KLSNlbmRpZgotZXh0ZXJu
ICJDIiBib29sIENHRm9udEdldEdseXBoQWR2YW5jZXNGb3JTdHlsZShDR0ZvbnRSZWYgZm9udCwK
LSAgICBjb25zdCBDR0FmZmluZVRyYW5zZm9ybSAqdCwgQ0dGb250UmVuZGVyaW5nU3R5bGUgc3R5
bGUsCi0gICAgY29uc3QgQ0dHbHlwaCBnbHlwaHNbXSwgc2l6ZV90IGNvdW50LCBDR1NpemUgYWR2
YW5jZXNbXSk7CisjaW1wb3J0IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKICNpZiAhUExBVEZPUk0o
SU9TKQogQGludGVyZmFjZSBOU0ZvbnQgKFdlYkFwcEtpdFNlY3JldEFQSSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCmluZGV4IDZjMDAxNDJiOTZm
NjAxN2RiNWI4ZTU5N2ZjZTgxZDY3NDM0OTU1NjYuLmEwZTJiOTBhZDE0YzljYzgxZmY0NGE2ZDZj
ZDc4OWExN2EzZmIzMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9M
ZWdhY3lUaWxlQ2FjaGUubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2Fj
eVRpbGVDYWNoZS5tbQpAQCAtMjgsNiArMjgsOCBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisj
aW5jbHVkZSAiQ0FMYXllclNQSS5oIgorI2luY2x1ZGUgIkNHU1JlZ2lvblNQSS5oIgogI2luY2x1
ZGUgIkxlZ2FjeVRpbGVHcmlkLmgiCiAjaW5jbHVkZSAiTGVnYWN5VGlsZUdyaWRUaWxlLmgiCiAj
aW5jbHVkZSAiTGVnYWN5VGlsZUxheWVyLmgiCkBAIC00MCw3ICs0Miw2IEBACiAjaW5jbHVkZSAi
V2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgogI2luY2x1ZGUgIldlYkNvcmVUaHJlYWRSdW4uaCIK
ICNpbmNsdWRlIDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KLSNpbmNsdWRlIDxRdWFydHpDb3Jl
L1F1YXJ0ekNvcmVQcml2YXRlLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIEBp
bnRlcmZhY2UgV0FLVmlldyAoV2ViVmlld0V4dHJhcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9MZWdhY3lUaWxlR3JpZC5tbQppbmRleCBhOTJkZjEzYmNiODg1MzY5OGU2ODQ5MTkz
NTk0ZWQzYjM1NTZjZmFiLi41Y2UzN2I0ZTA2OWYxZWQ3YzkzNWExZWIyYzU4MWQ4OWU5ZGNlMTE4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkLm1tCkBA
IC0yOCwxNSArMjgsMTYgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAorI2luY2x1ZGUgIkNBTGF5
ZXJTUEkuaCIKKyNpbmNsdWRlICJDR0Zsb2F0U1BJLmgiCiAjaW5jbHVkZSAiTWVtb3J5UHJlc3N1
cmVIYW5kbGVyLmgiCiAjaW5jbHVkZSAiU3lzdGVtTWVtb3J5LmgiCiAjaW5jbHVkZSAiTGVnYWN5
VGlsZUdyaWRUaWxlLmgiCiAjaW5jbHVkZSAiTGVnYWN5VGlsZUxheWVyLmgiCiAjaW5jbHVkZSAi
TGVnYWN5VGlsZUxheWVyUG9vbC5oIgogI2luY2x1ZGUgIldBS1dpbmRvdy5oIgotI2luY2x1ZGUg
PENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3NQcml2YXRlLmg+CisjaW5jbHVkZSA8Q29yZUdyYXBo
aWNzL0NvcmVHcmFwaGljcy5oPgogI2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgot
I2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZVByaXZhdGUuaD4KICNpbmNsdWRlIDxhbGdv
cml0aG0+CiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZFRpbGUubW0KaW5kZXggY2NmNGViOGFlMTM2YTljNjQ4
ZDA0YjQxYmE5ZmRkMTIzNzY2NWUwYS4uNDBmMmI5NmMyY2Q4YTc5M2MwNDU2ZDc4NWFjMGUzZDYy
NDc3YjJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRp
bGVHcmlkVGlsZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGls
ZUdyaWRUaWxlLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKKyNp
bmNsdWRlICJDQUxheWVyU1BJLmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJMZWdh
Y3lUaWxlQ2FjaGUuaCIKICNpbmNsdWRlICJMZWdhY3lUaWxlR3JpZC5oIgpAQCAtMzUsNyArMzYs
NiBAQAogI2luY2x1ZGUgIkxlZ2FjeVRpbGVMYXllclBvb2wuaCIKICNpbmNsdWRlICJXQUtXaW5k
b3cuaCIKICNpbmNsdWRlIDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KLSNpbmNsdWRlIDxRdWFy
dHpDb3JlL1F1YXJ0ekNvcmVQcml2YXRlLmg+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1
ZGUgPGZ1bmN0aW9uYWw+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbQppbmRleCA0NjUzMTViYzczYzZhYTNkYTMwMmM1
ZWQ4N2E0YjRmOGFhMjFmODZjLi4wZTA4Y2YyYjQwZjM3MjNmZDFjZTNhZmY3MWI2Mjg0MGRkMDlm
OTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1FdmVu
dEZhY3RvcnlJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3Jt
RXZlbnRGYWN0b3J5SU9TLm1tCkBAIC0yNiwxMSArMjYsMTIgQEAKICNpbXBvcnQgImNvbmZpZy5o
IgogI2ltcG9ydCAiUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MuaCIKIAotI2ltcG9ydCA8Rm91bmRh
dGlvbi9OU0dlb21ldHJ5Lmg+CisjaW1wb3J0ICJOU0dlb21ldHJ5U1BJLmgiCiAjaW1wb3J0IDxJ
bnRQb2ludC5oPgogI2ltcG9ydCA8S2V5RXZlbnRDb2NvYS5oPgogI2ltcG9ydCA8TG9nZ2luZy5o
PgogI2ltcG9ydCA8V2ViRXZlbnQuaD4KKyNpbXBvcnQgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9Q
bGF0Zm9ybVNjcmVlbklPUy5tbQppbmRleCBlZjI1ZjI0NTgzZWVhN2E3YjQzOGQxMjliYmVjNGI4
ZTk2MTNlYjVhLi41ZGM1YjdkZWNiMjczMmJkZDQ3NTgyMDU5ZTEyYjBmOTI1ZmRjYjc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tCkBA
IC0zMCwxMCArMzAsMTAgQEAKICNpbXBvcnQgIkZyYW1lVmlldy5oIgogI2ltcG9ydCAiSG9zdFdp
bmRvdy5oIgogI2ltcG9ydCAiSW50UmVjdC5oIgorI2ltcG9ydCAiTW9iaWxlR2VzdGFsdFNQSS5o
IgogI2ltcG9ydCAiV0FLV2luZG93LmgiCiAjaW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNl
LmgiCiAjaW1wb3J0ICJXaWRnZXQuaCIKLSNpbXBvcnQgPE1vYmlsZUdlc3RhbHQuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvV2ViRXZlbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZlbnQubW0K
aW5kZXggYjdkZTk2Y2VlYjA0MmQxYjBhMzFlM2I1YmRkOWJiYzJlODExNDkzYS4uYTU4ODZmNjAy
M2UxOTZhZmM4ZTZiNzFiZDNiNGQ1OTFmM2YyYTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYkV2ZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJFdmVudC5tbQpAQCAtMjksNyArMjksNyBAQAogI2ltcG9ydCAiV2ViRXZlbnQuaCIK
IAogI2ltcG9ydCAiS2V5RXZlbnRDb2NvYS5oIgotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21l
dHJ5Lmg+CisjaW1wb3J0ICJOU0dlb21ldHJ5U1BJLmgiCiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9u
cy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbQppbmRleCA2YmVkYThhY2VmYWFiMjA4NDc1NjgwZjVlNWI4NTI0YjU4YWUwYjczLi45ZDky
NjZjMDM0YTBjNzEwMDU4NmU0MjI2MmJhNWE1YTY5MDIzZjdkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0Lm1tCkBAIC0zMCwxNiArMzAsMTUgQEAKIAogI2ltcG9ydCAiV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQuaCIKIAorI2ltcG9ydCAiQVZQbGF5ZXJDb250cm9sbGVyU1BJ
LmgiCisjaW1wb3J0ICJBVlBsYXllclZpZXdDb250cm9sbGVyU1BJLmgiCisjaW1wb3J0ICJBVlZh
bHVlVGltaW5nU1BJLmgiCisjaW1wb3J0ICJBVlZpZGVvTGF5ZXJTUEkuaCIKICNpbXBvcnQgIkxv
Z2dpbmcuaCIKICNpbXBvcnQgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJWaWRl
b0Z1bGxzY3JlZW5Nb2RlbC5oIgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWVGltZS5oPgogI2lt
cG9ydCA8QVZLaXQvQVZLaXQuaD4KLSNpbXBvcnQgPEFWS2l0L0FWUGxheWVyQ29udHJvbGxlci5o
PgotI2ltcG9ydCA8QVZLaXQvQVZQbGF5ZXJWaWV3Q29udHJvbGxlcl9Qcml2YXRlLmg+Ci0jaW1w
b3J0IDxBVktpdC9BVlBsYXllclZpZXdDb250cm9sbGVyX1dlYktpdE9ubHkuaD4KLSNpbXBvcnQg
PEFWS2l0L0FWVmFsdWVUaW1pbmcuaD4KLSNpbXBvcnQgPEFWS2l0L0FWVmlkZW9MYXllci5oPgog
I2ltcG9ydCA8Q29yZU1lZGlhL0NNVGltZS5oPgogI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KICNp
bXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzSU9TLmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS0FwcEtpdFN0dWJzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS0FwcEtpdFN0dWJzLmgKaW5kZXggNzM4NWVj
MGIzYzZhOWVhOTFhMTZiN2MwNGM4MmRiY2Q2MjE3MDFkYi4uNGJmNGY5ODQyMTY2NTc0NWRiMmEx
MTlmZmFhYWY1NDU1MzM2YzU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL3dhay9XQUtBcHBLaXRTdHVicy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy93YWsvV0FLQXBwS2l0U3R1YnMuaApAQCAtMzAsMTAgKzMwLDExIEBACiAKICNpZiBUQVJHRVRf
T1NfSVBIT05FCiAKKy8vIEZJWE1FOiA8cmRhcjovL3Byb2JsZW0vNjY2OTQzND4gU3dpdGNoIGZy
b20gdXNpbmcgTlNHZW9tZXRyeSBtZXRob2RzIHRvIENHR2VvbWV0cnkgbWV0aG9kcworI2ltcG9y
dCAiTlNHZW9tZXRyeVNQSS5oIgorCiAjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNz
Lmg+CiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KLS8vIEZJWE1FOiA8cmRhcjov
L3Byb2JsZW0vNjY2OTQzND4gU3dpdGNoIGZyb20gdXNpbmcgTlNHZW9tZXRyeSBtZXRob2RzIHRv
IENHR2VvbWV0cnkgbWV0aG9kcwotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CiAK
ICNpZm5kZWYgTlNDbGlwVmlldwogI2RlZmluZSBOU0NsaXBWaWV3IFdBS0NsaXBWaWV3CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS1ZpZXcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0FLVmlldy5oCmluZGV4IDk5OThmNzAxMWVkNjdh
NWQ0OWM0MTNlZWM3YjIzOTU2YThjYWU0OGQuLjY3MDE3YTdiMzlhZTFmOTViZjlmZTM1Njg4MWIy
OTM4NTE0YjE1OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsv
V0FLVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0FLVmlldy5o
CkBAIC0yOCwxNSArMjgsMTAgQEAKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKIAorI2ltcG9ydCAi
TlNHZW9tZXRyeVNQSS5oIgogI2ltcG9ydCAiV0FLUmVzcG9uZGVyLmgiCi0jaW1wb3J0IDxGb3Vu
ZGF0aW9uL0ZvdW5kYXRpb24uaD4KICNpbXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3Mu
aD4KLQotI2lmbmRlZiBOU1JlY3QKLSNkZWZpbmUgTlNSZWN0IENHUmVjdAotI2VuZGlmCi0jZGVm
aW5lIE5TUG9pbnQgQ0dQb2ludAotI2RlZmluZSBOU1NpemUgQ0dTaXplCisjaW1wb3J0IDxGb3Vu
ZGF0aW9uL0ZvdW5kYXRpb24uaD4KIAogZXh0ZXJuIE5TU3RyaW5nICpXQUtWaWV3RnJhbWVTaXpl
RGlkQ2hhbmdlTm90aWZpY2F0aW9uOwogZXh0ZXJuIE5TU3RyaW5nICpXQUtWaWV3RGlkU2Nyb2xs
Tm90aWZpY2F0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dh
ay9XS0dyYXBoaWNzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dLR3JhcGhp
Y3MuaAppbmRleCBiZjM4NTk2OGY0ODM2ZGNlOTY0ODZjNjYwZjdiNGM0Y2Y5NzBmMTk4Li42MjYy
Zjc5Nzg5ZWE3ZjhiNjc1NGUxZGE4YzJlYTJmMDhmZTNkOWJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dLR3JhcGhpY3MuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3Mvd2FrL1dLR3JhcGhpY3MuaApAQCAtMjgsOCArMjgsOCBAQAogCiAjaWYg
VEFSR0VUX09TX0lQSE9ORQogCi0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+
Ci0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzUHJpdmF0ZS5oPgorI2ltcG9ydCAi
Q0dDb250ZXh0U1BJLmgiCisjaW1wb3J0ICJDR0ZvbnRSZW5kZXJpbmdTUEkuaCIKIAogI2lmZGVm
IF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy93YWsvV0tHcmFwaGljcy5tbQppbmRleCAzMWM2ZWMwMmE5OTljYjI3N2UyY2I0MDg4NmZhNDQz
NGY0NDIxZWNhLi45ZGJiZWQ0Y2NmOTY3YjY1MWQ4Y2FkMDFjYTRiMjRmYjAzY2NmMTdmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dLR3JhcGhpY3MubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBoaWNzLm1tCkBAIC0yOCw4
ICsyOCw5IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKLSNpbXBvcnQgIldlYkNvcmVTeXN0ZW1J
bnRlcmZhY2UuaCIKKyNpbXBvcnQgIkNHQ29udGV4dEdTdGF0ZVNQSS5oIgogI2ltcG9ydCAiRm9u
dC5oIgorI2ltcG9ydCAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCAiV2ViQ29y
ZVRocmVhZC5oIgogI2ltcG9ydCA8SW1hZ2VJTy9JbWFnZUlPLmg+CiAjaW1wb3J0IDx3dGYvU3Rk
TGliRXh0cmFzLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2Fr
L1dlYkNvcmVUaHJlYWQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNv
cmVUaHJlYWQubW0KaW5kZXggNWMwMWM2NjZlYmM4ZWQ3NjkxNzFmYzQzZjlkODQ5NTlmNGFjNzIz
Ny4uNGIwOWQxZjA2ZGE4MjM4ZjczNjA0MzVjMTdmM2ExOWE5NWMzYjNjOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbQpAQCAtNDUsNyAr
NDUsNiBAQAogI2ltcG9ydCA8d3RmL1RocmVhZGluZy5oPgogI2ltcG9ydCA8d3RmL3RleHQvQXRv
bWljU3RyaW5nLmg+CiAKLSNpbXBvcnQgPENvcmVGb3VuZGF0aW9uL0NGUHJpdi5oPgogI2ltcG9y
dCA8Rm91bmRhdGlvbi9OU0ludm9jYXRpb24uaD4KICNpbXBvcnQgPGxpYmtlcm4vT1NBdG9taWMu
aD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tCmluZGV4IDhmODQ5ZTM4MmY2NTg3NGFkNzhkODY4
ZWNmZGQ4NjZjN2Y1ZTkwZWYuLjExNTEwYThmZDE1Y2JlMDdhMjNkOGM3NjlkMDVhODk4NDMwMWRm
YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNr
TG9vay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xv
b2subW0KQEAgLTMxLDYgKzMxLDkgQEAKICNpbXBvcnQgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW1w
b3J0ICJGaWxlU3lzdGVtSU9TLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCisjaW1wb3J0ICJOU0Zp
bGVNYW5hZ2VyU1BJLmgiCisjaW1wb3J0ICJRTFByZXZpZXdDb252ZXJ0ZXJTUEkuaCIKKyNpbXBv
cnQgIlF1aWNrTG9va1NQSS5oIgogI2ltcG9ydCAiUmVzb3VyY2VFcnJvci5oIgogI2ltcG9ydCAi
UmVzb3VyY2VIYW5kbGUuaCIKICNpbXBvcnQgIlJlc291cmNlTG9hZGVyLmgiCkBAIC0zOSw5ICs0
Miw2IEBACiAjaW1wb3J0ICJTeW5jaHJvbm91c1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGUuaCIKICNpbXBvcnQgIldlYkNvcmVVUkxSZXNwb25zZUlPUy5oIgogI2ltcG9ydCA8
Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+Ci0jaW1wb3J0IDxGb3VuZGF0aW9uL05TRmlsZU1hbmFn
ZXJfTlNVUkxFeHRyYXMuaD4KLSNpbXBvcnQgPFF1aWNrTG9vay9RTFByZXZpZXdDb252ZXJ0ZXIu
aD4KLSNpbXBvcnQgPFF1aWNrTG9vay9RdWlja0xvb2tQcml2YXRlLmg+CiAjaW1wb3J0IDx3dGYv
TmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQg
PHd0Zi9UaHJlYWRpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9hdmtpdC9BVlBsYXllckNvbnRyb2xsZXJTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9hdmtpdC9BVlBsYXllckNvbnRyb2xsZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNWY5ZDJlYjJh
YzFhMDAxZWQxNTZmNTkzY2IwMjU3NzgzOWMzZjdjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWUGxheWVyQ29udHJvbGxlclNQSS5oCkBAIC0w
LDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxBVktpdC9BVlBsYXllckNv
bnRyb2xsZXIuaD4KKyNlbHNlCisjaW1wb3J0IDxBVktpdC9BVktpdC5oPgorI2ltcG9ydCA8Rm91
bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgorCitAaW50ZXJm
YWNlIEFWUGxheWVyQ29udHJvbGxlciA6IFVJUmVzcG9uZGVyCit0eXBlZGVmIE5TX0VOVU0oTlNJ
bnRlZ2VyLCBBVlBsYXllckNvbnRyb2xsZXJTdGF0dXMpIHsKKyAgICBBVlBsYXllckNvbnRyb2xs
ZXJTdGF0dXNSZWFkeVRvUGxheSA9IDIsCit9OworQHByb3BlcnR5IChOU19OT05BVE9NSUNfSU9T
T05MWSwgcmVhZG9ubHkpIEFWUGxheWVyQ29udHJvbGxlclN0YXR1cyBzdGF0dXM7CitAZW5kCisK
K0BpbnRlcmZhY2UgQVZQbGF5ZXJDb250cm9sbGVyIChBVlBsYXllckNvbnRyb2xsZXJFeHRlcm5h
bFBsYXliYWNrU3VwcG9ydCkKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIEFWUGxheWVyQ29u
dHJvbGxlckV4dGVybmFsUGxheWJhY2tUeXBlKSB7CisgICAgQVZQbGF5ZXJDb250cm9sbGVyRXh0
ZXJuYWxQbGF5YmFja1R5cGVOb25lID0gMCwKKyAgICBBVlBsYXllckNvbnRyb2xsZXJFeHRlcm5h
bFBsYXliYWNrVHlwZUFpclBsYXkgPSAxLAorICAgIEFWUGxheWVyQ29udHJvbGxlckV4dGVybmFs
UGxheWJhY2tUeXBlVFZPdXQgPSAyLAorfTsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWUGxheWVyVmlld0NvbnRyb2xsZXJTUEku
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9hdmtpdC9BVlBsYXllclZpZXdDb250cm9s
bGVyU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODE5NDRmZmVhNDYwMTJhNTY1NWJlZDhiNWZkNDdlZDRiZGZl
OTM5ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9hdmtp
dC9BVlBsYXllclZpZXdDb250cm9sbGVyU1BJLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbXBvcnQgPEFWS2l0L0FWUGxheWVyVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5o
PgorI2ltcG9ydCA8QVZLaXQvQVZQbGF5ZXJWaWV3Q29udHJvbGxlcl9XZWJLaXRPbmx5Lmg+Cisj
ZWxzZQorI2ltcG9ydCA8QVZLaXQvQVZLaXQuaD4KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+CisjaW1wb3J0IDxVSUtp
dC9VSUtpdC5oPgorCitAcHJvdG9jb2wgQVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVnYXRlOwor
QHByb3RvY29sIEFWVmlkZW9MYXllcjsKKworQGludGVyZmFjZSBBVlBsYXllclZpZXdDb250cm9s
bGVyIChBVlBsYXllclZpZXdDb250cm9sbGVyX1dlYktpdE9ubHkpCistIChpbnN0YW5jZXR5cGUp
aW5pdFdpdGhWaWRlb0xheWVyOihDQUxheWVyIDxBVlZpZGVvTGF5ZXI+ICopdmlkZW9MYXllcjsK
Ky0gKHZvaWQpZXhpdEZ1bGxTY3JlZW5BbmltYXRlZDooQk9PTClhbmltYXRlZCBjb21wbGV0aW9u
SGFuZGxlcjoodm9pZCAoXikoQk9PTCBzdWNjZXNzLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5k
bGVyOworLSAodm9pZCllbnRlckZ1bGxTY3JlZW5XaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQg
KF4pKEJPT0wgc3VjY2VzcywgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKKy0gKHZvaWQp
ZXhpdEZ1bGxTY3JlZW5XaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgc3VjY2Vz
cywgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCB3
ZWFrKSBpZCA8QVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVnYXRlPiBkZWxlZ2F0ZTsKK0BlbmQK
KworQGludGVyZmFjZSBBVlBsYXllclZpZXdDb250cm9sbGVyIChBVlBsYXllclZpZXdDb250cm9s
bGVyUGxheWVyQ29udHJvbGxlcikKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIEFWUGxh
eWVyQ29udHJvbGxlciAqcGxheWVyQ29udHJvbGxlcjsKK0BlbmQKKworQHByb3RvY29sIEFWUGxh
eWVyVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA8TlNPYmplY3Q+CitAb3B0aW9uYWwKKwordHlwZWRl
ZiBOU19FTlVNKE5TSW50ZWdlciwgQVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4aXRGdWxsU2NyZWVu
UmVhc29uKSB7CisgICAgQVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4aXRGdWxsU2NyZWVuUmVhc29u
RG9uZUJ1dHRvblRhcHBlZCA9IDAsCisgICAgQVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4aXRGdWxs
U2NyZWVuUmVhc29uUmVtb3RlQ29udHJvbFN0b3BFdmVudFJlY2VpdmVkID0gMywKK307CisKKy0g
KEJPT0wpcGxheWVyVmlld0NvbnRyb2xsZXI6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5
ZXJWaWV3Q29udHJvbGxlciBzaG91bGRFeGl0RnVsbFNjcmVlbldpdGhSZWFzb246KEFWUGxheWVy
Vmlld0NvbnRyb2xsZXJFeGl0RnVsbFNjcmVlblJlYXNvbilyZWFzb247CitAZW5kCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9hdmtpdC9BVlZhbHVlVGlt
aW5nU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvYXZraXQvQVZWYWx1ZVRpbWlu
Z1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjk1OWRjYzNmOWNlMzcwZWJhYWRjZjVmMDZjODE5ZGJlYWZlYzZi
NTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvYXZraXQv
QVZWYWx1ZVRpbWluZ1NQSS5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisj
aW1wb3J0IDxBVktpdC9BVlZhbHVlVGltaW5nLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlv
bi9Gb3VuZGF0aW9uLmg+CisKK0BpbnRlcmZhY2UgQVZWYWx1ZVRpbWluZyA6IE5TT2JqZWN0IDxO
U0NvZGluZywgTlNDb3B5aW5nLCBOU011dGFibGVDb3B5aW5nPgorKyAoQVZWYWx1ZVRpbWluZyAq
KXZhbHVlVGltaW5nV2l0aEFuY2hvclZhbHVlOihkb3VibGUpYW5jaG9yVmFsdWUgYW5jaG9yVGlt
ZVN0YW1wOihOU1RpbWVJbnRlcnZhbCl0aW1lU3RhbXAgcmF0ZTooZG91YmxlKXJhdGU7CitAZW5k
CisKK0BpbnRlcmZhY2UgQVZWYWx1ZVRpbWluZyAoQVZFeHRlbmRlZFZhbHVlVGltaW5nKQorQHBy
b3BlcnR5IChOU19OT05BVE9NSUNfSU9TT05MWSwgcmVhZG9ubHkpIGRvdWJsZSBjdXJyZW50VmFs
dWU7CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9hdmtpdC9BVlZpZGVvTGF5ZXJTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9h
dmtpdC9BVlZpZGVvTGF5ZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGQ1MThjY2RjMjI5M2UyNTBiZGE0
YTE5OWM0M2UxNTAxZTVkMmM1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL2F2a2l0L0FWVmlkZW9MYXllclNQSS5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisjaW1wb3J0IDxBVktpdC9BVlZpZGVvTGF5ZXIuaD4KKyNlbHNlCisjaW1w
b3J0IDxBVktpdC9BVktpdC5oPgorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5o
PgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK0Bwcm90b2NvbCBBVlZpZGVv
TGF5ZXIKKy0gKHZvaWQpc2V0UGxheWVyQ29udHJvbGxlcjooQVZQbGF5ZXJDb250cm9sbGVyICop
cGxheWVyQ29udHJvbGxlcjsKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgQVZWaWRlb0xh
eWVyR3Jhdml0eSkgeworICAgIEFWVmlkZW9MYXllckdyYXZpdHlJbnZhbGlkID0gMCwKKyAgICBB
VlZpZGVvTGF5ZXJHcmF2aXR5UmVzaXplQXNwZWN0ID0gMSwKKyAgICBBVlZpZGVvTGF5ZXJHcmF2
aXR5UmVzaXplQXNwZWN0RmlsbCA9IDIsCisgICAgQVZWaWRlb0xheWVyR3Jhdml0eVJlc2l6ZSA9
IDMsCit9OworCitAcHJvcGVydHkgKG5vbmF0b21pYykgQVZWaWRlb0xheWVyR3Jhdml0eSB2aWRl
b0xheWVyR3Jhdml0eTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVyPWlz
UmVhZHlGb3JEaXNwbGF5KSBCT09MIHJlYWR5Rm9yRGlzcGxheTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljKSBDR1JlY3QgdmlkZW9SZWN0OworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2EvQ0FMYXllclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL2NhL0NBTGF5ZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNDU5YTg3MjNiN2IzNDRhOTRi
ODk0YmZkNTZkYWU4ZDI4MzdkZGY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NhL0NBTGF5ZXJTUEkuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKQorI2ltcG9ydCA8UXVhcnR6Q29yZS9DQUxheWVyUHJpdmF0ZS5oPgorI2Vsc2UKKyNp
bXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKyNpbXBvcnQgPFF1YXJ0ekNvcmUv
UXVhcnR6Q29yZS5oPgorCitAaW50ZXJmYWNlIENBTGF5ZXIgKENBTGF5ZXJEZXRhaWxzKQorLSAo
Q0dTaXplKXNpemU7CistICh2b2lkICopcmVnaW9uQmVpbmdEcmF3bjsKK0Bwcm9wZXJ0eSBCT09M
IGFjY2VsZXJhdGVzRHJhd2luZzsKK0Bwcm9wZXJ0eSBCT09MIG5lZWRzTGF5b3V0T25HZW9tZXRy
eUNoYW5nZTsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2NhL0NBVGlsZWRMYXllclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2NhL0NBVGlsZWRMYXllclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5YzgzZjk4MWNjZGUzZDY4YmZhNTYw
ZWUzN2U3MTU4NmE5YTlkYTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY2EvQ0FUaWxlZExheWVyU1BJLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FUaWxlZExheWVyUHJpdmF0ZS5oPgorI2Vs
c2UKKyNpbXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKyNpbXBvcnQgPEZvdW5k
YXRpb24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+CisK
K0BpbnRlcmZhY2UgQ0FUaWxlZExheWVyIChDQVRpbGVkTGF5ZXJEZXRhaWxzKQorLSAodm9pZClz
ZXROZWVkc0Rpc3BsYXlJblJlY3Q6KENHUmVjdClyZWN0IGxldmVsT2ZEZXRhaWw6KGludClsZXZl
bE9mRGV0YWlsIG9wdGlvbnM6KE5TRGljdGlvbmFyeSAqKWRpY3Rpb25hcnk7CitAZW5kCisKK2V4
dGVybiBOU1N0cmluZyAqIGNvbnN0IGtDQVRpbGVkTGF5ZXJSZW1vdmVJbW1lZGlhdGVseTsKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHQ29sb3JU
cmFuc2Zvcm1TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0NvbG9yVHJh
bnNmb3JtU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODYwOWRkYjkzMWY5NDU0OGJmN2VhNGRmMjQ4Njc4NzBj
YTAxZWNhNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9j
Zy9DR0NvbG9yVHJhbnNmb3JtU1BJLmgKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIENHQ29sb3JUcmFuc2Zvcm1T
UElfaAorI2RlZmluZSBDR0NvbG9yVHJhbnNmb3JtU1BJX2gKKworI2luY2x1ZGUgPENvcmVGb3Vu
ZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFw
aGljcy5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3Jh
cGhpY3MvQ0dDb2xvclRyYW5zZm9ybS5oPgorI2VuZGlmCisKK3R5cGVkZWYgY29uc3Qgc3RydWN0
IENHQ29sb3JUcmFuc2Zvcm0gKkNHQ29sb3JUcmFuc2Zvcm1SZWY7CitleHRlcm4gIkMiIHsKK0NH
Q29sb3JUcmFuc2Zvcm1SZWYgQ0dDb2xvclRyYW5zZm9ybUNyZWF0ZShDR0NvbG9yU3BhY2VSZWYs
IENGRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzKTsKK0NHQ29sb3JSZWYgQ0dDb2xvclRyYW5zZm9y
bUNvbnZlcnRDb2xvcihDR0NvbG9yVHJhbnNmb3JtUmVmLCBDR0NvbG9yUmVmLCBDR0NvbG9yUmVu
ZGVyaW5nSW50ZW50KTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL2NnL0NHQ29udGV4dEdTdGF0ZVNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2NnL0NHQ29udGV4dEdTdGF0ZVNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwODQ2MWU3Y2NlZjc2
NGEzY2RlNGMwMzRhODVhM2M5ZmE0Y2JjMzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dDb250ZXh0R1N0YXRlU1BJLmgKQEAgLTAsMCArMSw0MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVm
IENHQ29udGV4dEdTdGF0ZVNQSV9oCisjZGVmaW5lIENHQ29udGV4dEdTdGF0ZVNQSV9oCisKKyNp
bmNsdWRlICJDR0NvbnRleHRTUEkuaCIKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisj
aW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dEdTdGF0ZS5oPgorI2VuZGlmCisKK2V4dGVy
biAiQyIgeworQ0dGbG9hdCBDR0NvbnRleHRHZXRMaW5lV2lkdGgoQ0dDb250ZXh0UmVmKTsKK3Zv
aWQgQ0dDb250ZXh0U2V0Q1RNKENHQ29udGV4dFJlZiwgQ0dBZmZpbmVUcmFuc2Zvcm0pOworQ0dD
b2xvclJlZiBDR0NvbnRleHRHZXRGaWxsQ29sb3JBc0NvbG9yKENHQ29udGV4dFJlZik7CitDR0Nv
bXBvc2l0ZU9wZXJhdGlvbiBDR0NvbnRleHRHZXRDb21wb3NpdGVPcGVyYXRpb24oQ0dDb250ZXh0
UmVmKTsKK3ZvaWQgQ0dDb250ZXh0U2V0Q29tcG9zaXRlT3BlcmF0aW9uKENHQ29udGV4dFJlZiwg
Q0dDb21wb3NpdGVPcGVyYXRpb24pOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dDb250ZXh0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY2cvQ0dDb250ZXh0U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWQ4Mjg3MDdmNjBhYjcyMzQx
ZWRkMDkzMGExZTRjNTRlODgzMTdmYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9jZy9DR0NvbnRleHRTUEkuaApAQCAtMCwwICsxLDQxIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ0dDb250ZXh0
U1BJX2gKKyNkZWZpbmUgQ0dDb250ZXh0U1BJX2gKKworI2luY2x1ZGUgPENvcmVHcmFwaGljcy9D
b3JlR3JhcGhpY3MuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8
Q29yZUdyYXBoaWNzL0NHQ29udGV4dFByaXZhdGUuaD4KKyNlbHNlCitlbnVtIENHQ29tcG9zaXRl
T3BlcmF0aW9uIHsKKyAgICBrQ0dDb21wb3NpdGVDb3B5ID0gMSwKKyAgICBrQ0dDb21wb3NpdGVT
b3ZlciA9IDIsCit9OworI2VuZGlmCisKK2V4dGVybiAiQyIgQ0dBZmZpbmVUcmFuc2Zvcm0gQ0dD
b250ZXh0R2V0QmFzZUNUTShDR0NvbnRleHRSZWYpOworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGbG9hdFNQSS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NnL0NHRmxvYXRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTEyM2NjNzlmNDE3YjQ3
MWRiNjk3ZGFiYmJlNDg1MmRjNTBlN2E4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3BpL2NnL0NHRmxvYXRTUEkuaApAQCAtMCwwICsxLDQwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ0dGbG9hdFNQ
SV9oCisjZGVmaW5lIENHRmxvYXRTUElfaAorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
KyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGbG9hdC5oPgorI2Vsc2UKKyNpbmNsdWRlIDxDb3Jl
R3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CitDR19JTkxJTkUgQ0dGbG9hdCBDR1JvdW5kKENHRmxv
YXQgdmFsdWUpCit7CisgICAgaWYgKHNpemVvZih2YWx1ZSkgPT0gc2l6ZW9mKGZsb2F0KSkKKyAg
ICAgICAgcmV0dXJuIChDR0Zsb2F0KXJvdW5kZigoZmxvYXQpdmFsdWUpOworICAgIHJldHVybiAo
Q0dGbG9hdClyb3VuZCgoZG91YmxlKXZhbHVlKTsKK30KKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250R2x5cGhTdXBwb3J0U1BJ
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250R2x5cGhTdXBwb3J0U1BJ
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzEyNzZlYzlmMGYxNzI1MmNjNmRhMjE4MTVlMWU2MThhZTJjYmYyMQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ZvbnRH
bHlwaFN1cHBvcnRTUEkuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ0dGb250R2x5cGhTdXBwb3J0U1BJX2gK
KyNkZWZpbmUgQ0dGb250R2x5cGhTdXBwb3J0U1BJX2gKKworI2luY2x1ZGUgPENvcmVHcmFwaGlj
cy9Db3JlR3JhcGhpY3MuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVk
ZSA8Q29yZUdyYXBoaWNzL0NHRm9udEdseXBoU3VwcG9ydC5oPgorI2Vsc2UKK3R5cGVkZWYgdWlu
dDMyX3QgQ0dGb250UmVuZGVyaW5nU3R5bGU7CisjZW5kaWYKKworZXh0ZXJuICJDIiBib29sIENH
Rm9udEdldEdseXBoQWR2YW5jZXNGb3JTdHlsZShDR0ZvbnRSZWYgZm9udCwgY29uc3QgQ0dBZmZp
bmVUcmFuc2Zvcm0qICwgQ0dGb250UmVuZGVyaW5nU3R5bGUsIGNvbnN0IENHR2x5cGggZ2x5cGhz
W10sIHNpemVfdCBjb3VudCwgQ0dTaXplIGFkdmFuY2VzW10pOworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250SW5mb1NQSS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9udEluZm9TUEkuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jY2Q2
MTE0NDU3MDg1OGZlMTNjZmFjYjc5ZTQ4M2JiM2Q4ZGIzMTFiCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9udEluZm9TUEkuaApAQCAtMCwwICsx
LDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
Zm5kZWYgQ0dGb250SW5mb1NQSV9oCisjZGVmaW5lIENHRm9udEluZm9TUElfaAorCisjaW5jbHVk
ZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKyNpbmNsdWRlIDxDb3JlR3JhcGhp
Y3MvQ29yZUdyYXBoaWNzLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1
ZGUgPENvcmVHcmFwaGljcy9DR0ZvbnRJbmZvLmg+CisjZWxzZQorc3RydWN0IENHRm9udEhNZXRy
aWNzIHsKKyAgICBpbnQgYXNjZW50OworICAgIGludCBkZXNjZW50OworICAgIGludCBsaW5lR2Fw
OworICAgIGludCBtYXhBZHZhbmNlV2lkdGg7CisgICAgaW50IG1pbkxlZnRTaWRlQmVhcmluZzsK
KyAgICBpbnQgbWluUmlnaHRTaWRlQmVhcmluZzsKK307CisKK3N0cnVjdCBDR0ZvbnREZXNjcmlw
dG9yIHsKKyAgICBDR1JlY3QgYmJveDsKKyAgICBDR0Zsb2F0IGFzY2VudDsKKyAgICBDR0Zsb2F0
IGRlc2NlbnQ7CisgICAgQ0dGbG9hdCBjYXBIZWlnaHQ7CisgICAgQ0dGbG9hdCBpdGFsaWNBbmds
ZTsKKyAgICBDR0Zsb2F0IHN0ZW1WOworICAgIENHRmxvYXQgc3RlbUg7CisgICAgQ0dGbG9hdCBh
dmdXaWR0aDsKKyAgICBDR0Zsb2F0IG1heFdpZHRoOworICAgIENHRmxvYXQgbWlzc2luZ1dpZHRo
OworICAgIENHRmxvYXQgbGVhZGluZzsKKyAgICBDR0Zsb2F0IHhIZWlnaHQ7Cit9OworI2VuZGlm
CisKK2V4dGVybiAiQyIgeworY29uc3QgQ0dGb250SE1ldHJpY3MqIENHRm9udEdldEhNZXRyaWNz
KENHRm9udFJlZik7Citib29sIENHRm9udEdldERlc2NyaXB0b3IoQ0dGb250UmVmLCBDR0ZvbnRE
ZXNjcmlwdG9yKik7Citjb25zdCBjaGFyKiBDR0ZvbnRHZXRQb3N0U2NyaXB0TmFtZShDR0ZvbnRS
ZWYpOworQ0ZTdHJpbmdSZWYgQ0dGb250Q29weUZhbWlseU5hbWUoQ0dGb250UmVmKTsKK2Jvb2wg
Q0dGb250SXNGaXhlZFBpdGNoKENHRm9udFJlZik7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ZvbnRSZW5kZXJpbmdTUEkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ZvbnRSZW5kZXJpbmdTUEkuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iMWEzZWIzOWVjNDBlMzE2N2E2NmIxYzkyMmYxNDUwYjk2NjgyN2VjCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9udFJlbmRlcmluZ1NQSS5o
CkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2lmbmRlZiBDR0ZvbnRSZW5kZXJpbmdTUElfaAorI2RlZmluZSBDR0ZvbnRSZW5k
ZXJpbmdTUElfaAorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3Jl
R3JhcGhpY3MvQ0dGb250UmVuZGVyaW5nLmg+CisjZWxzZQorZW51bSB7CisgICAga0NHRm9udFJl
bmRlcmluZ1N0eWxlQW50aWFsaWFzaW5nID0gMSA8PCAwLAorICAgIGtDR0ZvbnRSZW5kZXJpbmdT
dHlsZVNtb290aGluZyA9IDEgPDwgMSwKKyAgICBrQ0dGb250UmVuZGVyaW5nU3R5bGVTdWJwaXhl
bFBvc2l0aW9uaW5nID0gMSA8PCAyLAorICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVN1YnBpeGVs
UXVhbnRpemF0aW9uID0gMSA8PCAzLAorICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVBsYXRmb3Jt
TmF0aXZlID0gMSA8PCA5LAorICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZU1hc2sgPSAweDIwRiwK
K307Cit0eXBlZGVmIHVpbnQzMl90IENHRm9udFJlbmRlcmluZ1N0eWxlOworCitlbnVtIHsKKyAg
ICBrQ0dGb250QW50aWFsaWFzaW5nU3R5bGVVbmZpbHRlcmVkID0gMCA8PCA3LAorICAgIGtDR0Zv
bnRBbnRpYWxpYXNpbmdTdHlsZUZpbHRlckxpZ2h0ID0gMSA8PCA3LAorfTsKK3R5cGVkZWYgdWlu
dDMyX3QgQ0dGb250QW50aWFsaWFzaW5nU3R5bGU7CisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9udFVuaWNvZGVTdXBwb3J0U1BJ
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250VW5pY29kZVN1cHBvcnRT
UEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43MmZhYzY5MTI0ZTYyZTZlMDUwMGQxZDkwZWFiNDEwMjYxN2RmMzA4
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9u
dFVuaWNvZGVTdXBwb3J0U1BJLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIENHRm9udFVuaWNvZGVTdXBwb3J0
U1BJX2gKKyNkZWZpbmUgQ0dGb250VW5pY29kZVN1cHBvcnRTUElfaAorCisjaW5jbHVkZSA8Q29y
ZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
KyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGb250VW5pY29kZVN1cHBvcnQuaD4KKyNlbmRpZgor
CitleHRlcm4gIkMiIHZvaWQgQ0dGb250R2V0R2x5cGhzRm9yVW5pY2hhcnMoQ0dGb250UmVmLCBj
b25zdCBVbmlDaGFyW10sIENHR2x5cGhbXSwgc2l6ZV90IGNvdW50KTsKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHSW1hZ2VTUEkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ltYWdlU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTAyY2Vl
NTc2YTM4N2Q4MTMyOTM3MTAxNjg1YWE0OGQ4ZGE5NDE1NgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ltYWdlU1BJLmgKQEAgLTAsMCArMSw0MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVm
IENHSW1hZ2VTUElfaAorI2RlZmluZSBDR0ltYWdlU1BJX2gKKworI2luY2x1ZGUgPENvcmVHcmFw
aGljcy9Db3JlR3JhcGhpY3MuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5j
bHVkZSA8Q29yZUdyYXBoaWNzL0NHSW1hZ2VQcml2YXRlLmg+CisjZWxzZQorZW51bSB7CisgICAg
a0NHSW1hZ2VDYWNoaW5nVGVtcG9yYXJ5IF9fQ0dfREVQUkVDQVRFRF9FTlVNRVJBVE9SID0gMywK
K307CisKK3R5cGVkZWYgdWludDMyX3QgQ0dJbWFnZUNhY2hpbmdGbGFnczsKKyNlbmRpZgorCitl
eHRlcm4gIkMiIHZvaWQgQ0dJbWFnZVNldENhY2hpbmdGbGFncyhDR0ltYWdlUmVmLCBDR0ltYWdl
Q2FjaGluZ0ZsYWdzKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2NnL0NHU1JlZ2lvblNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2Nn
L0NHU1JlZ2lvblNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzZGEzMmMzYzM0MTY4NjU1Mjc0NDcxYzZjZjE4
MWZiMjE5YmYyNzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cGkvY2cvQ0dTUmVnaW9uU1BJLmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIENHU1JlZ2lvblNQSV9oCisjZGVm
aW5lIENHU1JlZ2lvblNQSV9oCisKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNz
Lmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvcmVHcmFwaGlj
cy9DR1NSZWdpb24uaD4KKyNlbHNlCit0eXBlZGVmIHN0cnVjdCBDR1NSZWdpb25PYmplY3QgKkNH
U1JlZ2lvbk9iajsKK3R5cGVkZWYgc3RydWN0IENHU1JlZ2lvbk9iamVjdCAqQ0dSZWdpb25SZWY7
Cit0eXBlZGVmIHN0cnVjdCBDR1NSZWdpb25FbnVtZXJhdG9yT2JqZWN0ICpDR1NSZWdpb25FbnVt
ZXJhdG9yT2JqOworI2VuZGlmCisKK2V4dGVybiAiQyIgeworQ0dTUmVnaW9uRW51bWVyYXRvck9i
aiBDR1NSZWdpb25FbnVtZXJhdG9yKENHUmVnaW9uUmVmKTsKK0NHUmVjdCAqQ0dTTmV4dFJlY3Qo
Y29uc3QgQ0dTUmVnaW9uRW51bWVyYXRvck9iaik7CitDR0Vycm9yIENHU1JlbGVhc2VSZWdpb25F
bnVtZXJhdG9yKGNvbnN0IENHU1JlZ2lvbkVudW1lcmF0b3JPYmopOworfQorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvRGlzcGF0Y2hTUEkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9EaXNwYXRjaFNQSS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmEwN2QyMTE1Mjk2ODEzMDZmZTkxMDBhNWE5ZTQ4OTRiYWJhN2Q4MGUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvRGlzcGF0Y2hTUEkuaApA
QCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpZm5kZWYgRGlzcGF0Y2hTUElfaAorI2RlZmluZSBEaXNwYXRjaFNQSV9oCisKKyNp
bmNsdWRlIDxkaXNwYXRjaC9kaXNwYXRjaC5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKKyNpbmNsdWRlIDxkaXNwYXRjaC9wcml2YXRlLmg+CisjZWxzZQorZW51bSB7CisgICAgRElT
UEFUQ0hfTUVNT1JZU1RBVFVTX1BSRVNTVVJFX05PUk1BTCA9IDB4MDEsCisgICAgRElTUEFUQ0hf
TUVNT1JZU1RBVFVTX1BSRVNTVVJFX1dBUk4gPSAweDAyLAorICAgIERJU1BBVENIX01FTU9SWVNU
QVRVU19QUkVTU1VSRV9DUklUSUNBTCA9IDB4MDQsCit9OworI2RlZmluZSBESVNQQVRDSF9TT1VS
Q0VfVFlQRV9NRU1PUllTVEFUVVMgKCZfZGlzcGF0Y2hfc291cmNlX3R5cGVfbWVtb3J5c3RhdHVz
KQorI2VuZGlmCisKK0RJU1BBVENIX0VYUE9SVCBjb25zdCBzdHJ1Y3QgZGlzcGF0Y2hfc291cmNl
X3R5cGVfcyBfZGlzcGF0Y2hfc291cmNlX3R5cGVfbWVtb3J5c3RhdHVzOworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvSU9QTUxpYlNQSS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0lPUE1MaWJTUEkuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40NjI4MGRjMDc2Yjg5Yzg1NjhhZTc3YjU2ODNkYTI4YzhhOTU0M2FmCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0lPUE1MaWJTUEkuaApAQCAt
MCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisKKyNpZm5kZWYgSU9QTUxpYlNQSV9oCisjZGVmaW5lIElPUE1MaWJTUElfaAorCisjaWYgUExB
VEZPUk0oTUFDKSB8fCAoVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYgUExBVEZPUk0oSU9TKSkK
KyNpbmNsdWRlIDxJT0tpdC9wd3JfbWd0L0lPUE1MaWIuaD4KKyNlbHNlCisjaW5jbHVkZSA8Q29y
ZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKyNpbmNsdWRlIDxtYWNoL2tlcm5fcmV0dXJu
Lmg+CisKK3N0YXRpYyBjb25zdCBDRlN0cmluZ1JlZiBrSU9QTUFzc2VydGlvblR5cGVQcmV2ZW50
VXNlcklkbGVEaXNwbGF5U2xlZXAgPSBDRlNUUigiUHJldmVudFVzZXJJZGxlRGlzcGxheVNsZWVw
Iik7Cit0eXBlZGVmIGtlcm5fcmV0dXJuX3QgSU9SZXR1cm47Cit0eXBlZGVmIHVpbnQzMl90IElP
UE1Bc3NlcnRpb25JRDsKKyNlbmRpZgorCitleHRlcm4gIkMiIHsKK0lPUmV0dXJuIElPUE1Bc3Nl
cnRpb25DcmVhdGVXaXRoRGVzY3JpcHRpb24oQ0ZTdHJpbmdSZWYgYXNzZXJ0aW9uVHlwZSwgQ0ZT
dHJpbmdSZWYgbmFtZSwgQ0ZTdHJpbmdSZWYgZGV0YWlscywKKyAgICBDRlN0cmluZ1JlZiBodW1h
blJlYWRhYmxlUmVhc29uLCBDRlN0cmluZ1JlZiBsb2NhbGl6YXRpb25CdW5kbGVQYXRoLCBDRlRp
bWVJbnRlcnZhbCB0aW1lb3V0LCBDRlN0cmluZ1JlZiB0aW1lb3V0QWN0aW9uLCBJT1BNQXNzZXJ0
aW9uSUQgKik7CitJT1JldHVybiBJT1BNQXNzZXJ0aW9uUmVsZWFzZShJT1BNQXNzZXJ0aW9uSUQp
OworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29j
b2EvTlNGaWxlTWFuYWdlclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29h
L05TRmlsZU1hbmFnZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYjgyZGI0NjkwNDBkNGNkOTRiN2Q2Mjli
NTEwY2QyMGIxYjAxNWU3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2NvY29hL05TRmlsZU1hbmFnZXJTUEkuaApAQCAtMCwwICsxLDQwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQorI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0ZpbGVNYW5hZ2VyX05TVVJMRXh0cmFz
Lmg+CisjZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNkZWZpbmUg
V0VCX1VSRUFEICgwMDQwMCkKKyNkZWZpbmUgV0VCX1VXUklURSAoMDAyMDApCisjZGVmaW5lIFdF
Ql9VRVhFQyAoMDAxMDApCisKK0BpbnRlcmZhY2UgTlNGaWxlTWFuYWdlciAoTlNGaWxlTWFuYWdl
ckRldGFpbHMpCistIChCT09MKV93ZWJfY3JlYXRlRmlsZUF0UGF0aFdpdGhJbnRlcm1lZGlhdGVE
aXJlY3RvcmllczooTlNTdHJpbmcgKilwYXRoIGNvbnRlbnRzOihOU0RhdGEgKiljb250ZW50cyBh
dHRyaWJ1dGVzOihOU0RpY3Rpb25hcnkgKilhdHRyaWJ1dGVzIGRpcmVjdG9yeUF0dHJpYnV0ZXM6
KE5TRGljdGlvbmFyeSAqKWRpcmVjdG9yeUF0dHJpYnV0ZXM7CistIChCT09MKV93ZWJfcmVtb3Zl
RmlsZU9ubHlBdFBhdGg6KE5TU3RyaW5nICopcGF0aDsKKy0gKE5TU3RyaW5nICopX3dlYl9wYXRo
V2l0aFVuaXF1ZUZpbGVuYW1lRm9yUGF0aDooTlNTdHJpbmcgKilwYXRoOworQGVuZAorI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNHZW9tZXRy
eVNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL05TR2VvbWV0cnlTUEku
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNzA5MTZmYTBjZjJhZDYyZTg2ZWE5NjFlMThlOWJlZDBjMzIzZjkwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL05TR2Vv
bWV0cnlTUEkuaApAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKKyNpZiBQTEFURk9STShNQUMpIHx8IChVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKSAmJiBQTEFURk9STShJT1MpKQorI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5
Lmg+CisjZWxzZQorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHQmFzZS5oPgorI2ltcG9ydCA8Q29y
ZUdyYXBoaWNzL0NHR2VvbWV0cnkuaD4KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5o
PgorCit0eXBlZGVmIENHUG9pbnQgTlNQb2ludDsKK3R5cGVkZWYgQ0dSZWN0IE5TUmVjdDsKK3R5
cGVkZWYgQ0dTaXplIE5TU2l6ZTsKKworQGludGVyZmFjZSBOU1ZhbHVlIChOU1ZhbHVlR2VvbWV0
cnlEZXRhaWxzKQorKyAoTlNWYWx1ZSAqKXZhbHVlV2l0aFBvaW50OihOU1BvaW50KXBvaW50Owor
KyAoTlNWYWx1ZSAqKXZhbHVlV2l0aFNpemU6KE5TU2l6ZSlzaXplOworKyAoTlNWYWx1ZSAqKXZh
bHVlV2l0aFJlY3Q6KE5TUmVjdClyZWN0OworCitAcHJvcGVydHkgKHJlYWRvbmx5KSBOU1BvaW50
IHBvaW50VmFsdWU7CitAcHJvcGVydHkgKHJlYWRvbmx5KSBOU1NpemUgc2l6ZVZhbHVlOworQHBy
b3BlcnR5IChyZWFkb25seSkgTlNSZWN0IHJlY3RWYWx1ZTsKK0BlbmQKKworRk9VTkRBVElPTl9F
WFBPUlQgQk9PTCBOU0VxdWFsUG9pbnRzKE5TUG9pbnQsIE5TUG9pbnQpOworRk9VTkRBVElPTl9F
WFBPUlQgQk9PTCBOU0VxdWFsU2l6ZXMoTlNTaXplLCBOU1NpemUpOworRk9VTkRBVElPTl9FWFBP
UlQgQk9PTCBOU0VxdWFsUmVjdHMoTlNSZWN0LCBOU1JlY3QpOworRk9VTkRBVElPTl9FWFBPUlQg
Qk9PTCBOU0lzRW1wdHlSZWN0KE5TUmVjdCk7CisKKyNkZWZpbmUgTlNNaW5YRWRnZSBDR1JlY3RN
aW5YRWRnZQorI2RlZmluZSBOU01pbllFZGdlIENHUmVjdE1pbllFZGdlCisjZGVmaW5lIE5TTWF4
WEVkZ2UgQ0dSZWN0TWF4WEVkZ2UKKyNkZWZpbmUgTlNNYXhZRWRnZSBDR1JlY3RNYXhZRWRnZQor
Cit0eXBlZGVmIE5TVUludGVnZXIgTlNSZWN0RWRnZTsKKworTlNfSU5MSU5FIE5TUG9pbnQgTlNN
YWtlUG9pbnQoQ0dGbG9hdCB4LCBDR0Zsb2F0IHkpCit7CisgICAgTlNQb2ludCBwOworICAgIHAu
eCA9IHg7CisgICAgcC55ID0geTsKKyAgICByZXR1cm4gcDsKK30KKworTlNfSU5MSU5FIE5TU2l6
ZSBOU01ha2VTaXplKENHRmxvYXQgdywgQ0dGbG9hdCBoKQoreworICAgIE5TU2l6ZSBzOworICAg
IHMud2lkdGggPSB3OworICAgIHMuaGVpZ2h0ID0gaDsKKyAgICByZXR1cm4gczsKK30KKworTlNf
SU5MSU5FIE5TUmVjdCBOU01ha2VSZWN0KENHRmxvYXQgeCwgQ0dGbG9hdCB5LCBDR0Zsb2F0IHcs
IENHRmxvYXQgaCkKK3sKKyAgICBOU1JlY3QgcjsKKyAgICByLm9yaWdpbi54ID0geDsKKyAgICBy
Lm9yaWdpbi55ID0geTsKKyAgICByLnNpemUud2lkdGggPSB3OworICAgIHIuc2l6ZS5oZWlnaHQg
PSBoOworICAgIHJldHVybiByOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNQb2ludGVyRnVuY3Rpb25zU1BJLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNQb2ludGVyRnVuY3Rpb25zU1BJLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTMwN2IzNWJhNzVhOTQwNDA4Y2E1NmExZjEzMzg2NDEzODdjMDU5MAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU1BvaW50ZXJGdW5jdGlv
bnNTUEkuaApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorCisjaWYgUExBVEZP
Uk0oTUFDKQorI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1BvaW50ZXJGdW5jdGlvbnMuaD4KKyNlbGlm
IFBMQVRGT1JNKElPUykKKyNpbXBvcnQgPEZvdW5kYXRpb24vTlNQb2ludGVyRnVuY3Rpb25zUHJp
di5oPgorI2VuZGlmCisKKyNlbHNlCisKK2VudW0geworICAgIE5TUG9pbnRlckZ1bmN0aW9uc1pl
cm9pbmdXZWFrTWVtb3J5ID0gMVVMIDw8IDAsCit9OworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9keWxkU1BJLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY29jb2EvZHlsZFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAyY2RhMWNjNTUyOGFi
MTExZTM4OTRhNTM4YWFjMjgzMjJiMmY4MzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvZHlsZFNQSS5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBkeWxkU1BJ
X2gKKyNkZWZpbmUgZHlsZFNQSV9oCisKKyNpbmNsdWRlIDxtYWNoLW8vZHlsZC5oPgorCisjaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxtYWNoLW8vZHlsZF9wcml2Lmg+Cisj
ZWxzZQorI2RlZmluZSBEWUxEX0lPU19WRVJTSU9OXzNfMCAweDAwMDMwMDAwCisjZGVmaW5lIERZ
TERfSU9TX1ZFUlNJT05fNl8wIDB4MDAwNjAwMDA7CisjZGVmaW5lIERZTERfSU9TX1ZFUlNJT05f
N18wIDB4MDAwNzAwMDA7CisjZW5kaWYKKworZXh0ZXJuICJDIiB1aW50MzJfdCBkeWxkX2dldF9w
cm9ncmFtX3Nka192ZXJzaW9uKCk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9jdC9DVEZvbnREZXNjcmlwdG9yU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvY3QvQ1RGb250RGVzY3JpcHRvclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxM2FhZjJk
NTY5MTdmZWM2YWE2MTE0NjJiNTVmNjlmN2ExNjExNDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY3QvQ1RGb250RGVzY3JpcHRvclNQSS5oCkBAIC0wLDAg
KzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2lmbmRlZiBDVEZvbnREZXNjcmlwdG9yU1BJX2gKKyNkZWZpbmUgQ1RGb250RGVzY3JpcHRvclNQ
SV9oCisKKyNpbmNsdWRlIDxDb3JlVGV4dC9Db3JlVGV4dC5oPgorCisjaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPgor
I2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxMDAKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5
bGVTaG9ydEhlYWRsaW5lIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKK2V4dGVybiBjb25zdCBD
RlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEJvZHkgQ1RfQVZBSUxBQkxFKDEwXzEw
LCA3XzApOworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0
U3ViaGVhZCBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdS
ZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRGb290bm90ZSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdf
MCk7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRDYXB0
aW9uMSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYg
a0NUVUlGb250VGV4dFN0eWxlVGFsbEJvZHkgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOworCitl
eHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlSGVhZGxpbmUgQ1RfQVZB
SUxBQkxFKDEwXzEwLCA3XzApOworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRl
eHRTdHlsZUJvZHkgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOworZXh0ZXJuIGNvbnN0IENGU3Ry
aW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVN1YmhlYWQgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzAp
OworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZUZvb3Rub3RlIENU
X0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZv
bnRUZXh0U3R5bGVDYXB0aW9uMSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29u
c3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlQ2FwdGlvbjIgQ1RfQVZBSUxBQkxFKDEw
XzEwLCA3XzApOworCitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NURm9udERlc2NyaXB0b3JU
ZXh0U3R5bGVFbXBoYXNpemVkIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKKyNlbmRpZgorCitl
eHRlcm4gIkMiIHsKK0NURm9udERlc2NyaXB0b3JSZWYgQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdp
dGhUZXh0U3R5bGUoQ0ZTdHJpbmdSZWYgc3R5bGUsIENGU3RyaW5nUmVmIHNpemUsIENGU3RyaW5n
UmVmIGxhbmd1YWdlKTsKK0NURm9udERlc2NyaXB0b3JSZWYgQ1RGb250RGVzY3JpcHRvckNyZWF0
ZUZvclVJVHlwZShDVEZvbnRVSUZvbnRUeXBlLCBDR0Zsb2F0IHNpemUsIENGU3RyaW5nUmVmIGxh
bmd1YWdlKTsKK2Jvb2wgQ1RGb250RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2Ny
aXB0b3JSZWYpOworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NwaS9jdC9DVEZvbnRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jdC9D
VEZvbnRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZGNlOWUzZWRlNzcwYmI2ZTg5YzM4Nzg2MGU1ZDNhNTc0
NTQ2MGFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2N0
L0NURm9udFNQSS5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDVEZvbnRTUElfaAorI2RlZmluZSBDVEZvbnRT
UElfaAorCisjaW5jbHVkZSA8Q29yZVRleHQvQ29yZVRleHQuaD4KKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisjaW5jbHVkZSA8Q29yZVRleHQvQ1RGb250UHJpdi5oPgorI2Vsc2UKK2Vu
dW0geworICAgIGtDVEZvbnRVSUZvbnRTeXN0ZW1JdGFsaWMgPSAyNywKKyAgICBrQ1RGb250VUlG
b250U3lzdGVtVGhpbiA9IDEwMiwKKyAgICBrQ1RGb250VUlGb250U3lzdGVtTGlnaHQgPSAxMDMs
CisgICAga0NURm9udFVJRm9udFN5c3RlbVVsdHJhTGlnaHQgPSAxMDQsCit9OworI2VuZGlmCisK
K2V4dGVybiAiQyIgeworQ1RGb250UmVmIENURm9udENyZWF0ZVBoeXNpY2FsRm9udEZvckNoYXJh
Y3RlcnNXaXRoTGFuZ3VhZ2UoQ1RGb250UmVmLCBjb25zdCBVVEYxNkNoYXIqIGNoYXJhY3RlcnMs
IENGSW5kZXggbGVuZ3RoLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgQ0ZJbmRleCogY292ZXJlZExl
bmd0aCk7Citib29sIENURm9udElzQXBwbGVDb2xvckVtb2ppKENURm9udFJlZik7Citib29sIENU
Rm9udERlc2NyaXB0b3JJc1N5c3RlbVVJRm9udChDVEZvbnREZXNjcmlwdG9yUmVmKTsKK0NURm9u
dFJlZiBDVEZvbnRDcmVhdGVGb3JDU1MoQ0ZTdHJpbmdSZWYgbmFtZSwgdWludDE2X3Qgd2VpZ2h0
LCBDVEZvbnRTeW1ib2xpY1RyYWl0cywgQ0dGbG9hdCBzaXplKTsKK30KKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2N1aS9DVUlDYXRhbG9nU1BJLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY3VpL0NVSUNhdGFsb2dTUEkuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMzdiYjMzY2EyNDVjOWNiNzA3YzU3MjlkZmEwYzQ2OGFhYzc1OTFjCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2N1aS9DVUlDYXRhbG9nU1BJLmgKQEAg
LTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPENvcmVVSS9DVUlDYXRh
bG9nLmg+CisjZWxzZQorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2lt
cG9ydCA8Q29yZVRleHQvQ29yZVRleHQuaD4KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlv
bi5oPgorQGNsYXNzIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvbjsKK0BpbnRlcmZhY2UgQ1VJ
Q2F0YWxvZyA6IE5TT2JqZWN0CistIChCT09MKWRyYXdHbHlwaHM6KGNvbnN0IENHR2x5cGggW10p
Z2x5cGhzIGF0UG9zaXRpb25zOihjb25zdCBDR1BvaW50IFtdKXBvc2l0aW9ucyBpbkNvbnRleHQ6
KENHQ29udGV4dFJlZiljb250ZXh0IHdpdGhGb250OihDVEZvbnRSZWYpZm9udCBjb3VudDooTlNV
SW50ZWdlciljb3VudCBzdHlsZVByZXNldE5hbWU6KE5TU3RyaW5nICopc3R5bGVQcmVzZXROYW1l
IHN0eWxlQ29uZmlndXJhdGlvbjooQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uICopc3R5bGVD
b25maWd1cmF0aW9uIGZvcmVncm91bmRDb2xvcjooQ0dDb2xvclJlZilmb3JlZ3JvdW5kQ29sb3I7
CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9j
dWkvQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY3VpL0NVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFhOWEwNDBhNGNjNjg5Y2MwYzMzNzdlYmY4OGZhYzY4MWM3NDM2YmMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY3VpL0NVSVN0eWxlRWZmZWN0Q29uZmln
dXJhdGlvblNQSS5oCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0
IDxDb3JlVUkvQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uLmg+CisjZWxzZQorI2ltcG9ydCA8
Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CitAaW50ZXJmYWNlIENVSVN0eWxlRWZmZWN0Q29uZmln
dXJhdGlvbiA6IE5TT2JqZWN0IDxOU0NvcHlpbmc+CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9P
TCB1c2VTaW1wbGlmaWVkRWZmZWN0OworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcGkvZGlzcGF0Y2gvRGlzcGF0Y2hTUEkuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9kaXNwYXRjaC9EaXNwYXRjaFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhZTUw
Njg0MGNkMDVlNTRlMDdhN2E5MDg3OGZjYTZlMWQ0Y2ZhYTcKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvZGlzcGF0Y2gvRGlzcGF0Y2hTUEkuaApAQCAtMCww
ICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaWZuZGVmIERpc3BhdGNoU1BJX2gKKyNkZWZpbmUgRGlzcGF0Y2hTUElfaAorCisjaW5jbHVk
ZSA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisj
aW5jbHVkZSA8ZGlzcGF0Y2gvcHJpdmF0ZS5oPgorI2Vsc2UKK2VudW0geworICAgIERJU1BBVENI
X01FTU9SWVNUQVRVU19QUkVTU1VSRV9OT1JNQUwgPSAweDAxLAorICAgIERJU1BBVENIX01FTU9S
WVNUQVRVU19QUkVTU1VSRV9XQVJOID0gMHgwMiwKKyAgICBESVNQQVRDSF9NRU1PUllTVEFUVVNf
UFJFU1NVUkVfQ1JJVElDQUwgPSAweDA0LAorfTsKKyNkZWZpbmUgRElTUEFUQ0hfU09VUkNFX1RZ
UEVfTUVNT1JZU1RBVFVTICgmX2Rpc3BhdGNoX3NvdXJjZV90eXBlX21lbW9yeXN0YXR1cykKKyNl
bmRpZgorCitESVNQQVRDSF9FWFBPUlQgY29uc3Qgc3RydWN0IGRpc3BhdGNoX3NvdXJjZV90eXBl
X3MgX2Rpc3BhdGNoX3NvdXJjZV90eXBlX21lbW9yeXN0YXR1czsKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9NUEFWUm91dGluZ0NvbnRyb2xsZXJT
UEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvTVBBVlJvdXRpbmdDb250cm9s
bGVyU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMWRmNzkwNDJiMjQwZjAwMjIxYTlkZWQ1MTRjNDZlMTc0YzQ3
OWEyZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3Mv
TVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKKyNpbXBvcnQgPE1lZGlhUGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxlci5oPgorI2Vs
c2UKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorZW51bSB7CisgICAgTVBSb3V0
ZURpc2NvdmVyeU1vZGVQcmVzZW5jZSA9IDEsCit9OworCit0eXBlZGVmIE5TSW50ZWdlciBNUFJv
dXRlRGlzY292ZXJ5TW9kZTsKKworQGludGVyZmFjZSBNUEFWUm91dGluZ0NvbnRyb2xsZXIgOiBO
U09iamVjdAorQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgTVBSb3V0ZURpc2NvdmVyeU1v
ZGUgZGlzY292ZXJ5TW9kZTsKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aE5hbWU6KE5TU3RyaW5n
ICopbmFtZTsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2lvcy9Nb2JpbGVHZXN0YWx0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cGkvaW9zL01vYmlsZUdlc3RhbHRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTY3NDA1YjgwNTMzOGQ1ODJk
ZDM3OTJhMjI0OTA3ODI2Mjk4ZmVjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2lvcy9Nb2JpbGVHZXN0YWx0U1BJLmgKQEAgLTAsMCArMSwzOCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIE1vYmls
ZUdlc3RhbHRTUElfaAorI2RlZmluZSBNb2JpbGVHZXN0YWx0U1BJX2gKKworI2lmIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8TW9iaWxlR2VzdGFsdC5oPgorI2Vsc2UKKyNpbmNs
dWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgorc3RhdGljIGNvbnN0IENGU3Ry
aW5nUmVmIGtNR1FNYWluU2NyZWVuUGl0Y2ggPSBDRlNUUigibWFpbi1zY3JlZW4tcGl0Y2giKTsK
K3N0YXRpYyBjb25zdCBDRlN0cmluZ1JlZiBrTUdRTWFpblNjcmVlblNjYWxlID0gQ0ZTVFIoIm1h
aW4tc2NyZWVuLXNjYWxlIik7CisjZW5kaWYKKworZXh0ZXJuICJDIiBDRlR5cGVSZWYgTUdDb3B5
QW5zd2VyKENGU3RyaW5nUmVmIHF1ZXN0aW9uLCBDRkRpY3Rpb25hcnlSZWYgb3B0aW9ucyk7Cisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWNoLW8vZHls
ZFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hY2gtby9keWxkU1BJLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZWIxM2RhMTIyNzIxMTE3YWY3N2ZhMjBkMThhMTkwZTBjMjhiY2RjOAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWNoLW8vZHlsZFNQSS5o
CkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNpZm5kZWYgZHlsZFNQSV9oCisjZGVmaW5lIGR5bGRTUElfaAorCisjaW5jbHVk
ZSA8bWFjaC1vL2R5bGQuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVk
ZSA8bWFjaC1vL2R5bGRfcHJpdi5oPgorI2Vsc2UKKyNkZWZpbmUgRFlMRF9JT1NfVkVSU0lPTl8z
XzAgMHgwMDAzMDAwMAorI2RlZmluZSBEWUxEX0lPU19WRVJTSU9OXzZfMCAweDAwMDYwMDAwOwor
I2RlZmluZSBEWUxEX0lPU19WRVJTSU9OXzdfMCAweDAwMDcwMDAwOworI2VuZGlmCisKK2V4dGVy
biAiQyIgdWludDMyX3QgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOworCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tZWRpYXBsYXllci9NUEFW
Um91dGluZ0NvbnRyb2xsZXJTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tZWRp
YXBsYXllci9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTI0YWQxMDc2
OGE4NzJlOTRkYjE0ZjZiY2E5MTMyMjJkNzlhMTg2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL21lZGlhcGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxlclNQ
SS5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8TWVkaWFQ
bGF5ZXIvTVBBVlJvdXRpbmdDb250cm9sbGVyLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlv
bi9Gb3VuZGF0aW9uLmg+CitlbnVtIHsKKyAgICBNUFJvdXRlRGlzY292ZXJ5TW9kZVByZXNlbmNl
ID0gMSwKK307CisKK3R5cGVkZWYgTlNJbnRlZ2VyIE1QUm91dGVEaXNjb3ZlcnlNb2RlOworCitA
aW50ZXJmYWNlIE1QQVZSb3V0aW5nQ29udHJvbGxlciA6IE5TT2JqZWN0CitAcHJvcGVydHkgKG5v
bmF0b21pYywgYXNzaWduKSBNUFJvdXRlRGlzY292ZXJ5TW9kZSBkaXNjb3ZlcnlNb2RlOworLSAo
aW5zdGFuY2V0eXBlKWluaXRXaXRoTmFtZTooTlNTdHJpbmcgKiluYW1lOworQGVuZAorI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvcXVpY2tsb29rL1FMUHJl
dmlld0NvbnZlcnRlclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL3F1aWNrbG9v
ay9RTFByZXZpZXdDb252ZXJ0ZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTAxZDUxZjU0M2M3MThhMzc2
NzE2YTgxNzk1ZmJmZjUxYTNiN2YwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL3F1aWNrbG9vay9RTFByZXZpZXdDb252ZXJ0ZXJTUEkuaApAQCAtMCwwICsx
LDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8UXVpY2tMb29rL1FMUHJldmlld0Nv
bnZlcnRlci5oPgorI2Vsc2UKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCitA
aW50ZXJmYWNlIFFMUHJldmlld0NvbnZlcnRlciA6IE5TT2JqZWN0CitAcHJvcGVydHkgKHJlYWRv
bmx5LCBub25hdG9taWMpIE5TU3RyaW5nKiBwcmV2aWV3RmlsZU5hbWU7CitAcHJvcGVydHkgKHJl
YWRvbmx5LCBub25hdG9taWMpIE5TU3RyaW5nKiBwcmV2aWV3VVRJOworQHByb3BlcnR5IChyZWFk
b25seSwgbm9uYXRvbWljKSBOU1VSTFJlcXVlc3QqIHByZXZpZXdSZXF1ZXN0OworQHByb3BlcnR5
IChyZWFkb25seSwgbm9uYXRvbWljKSBOU1VSTFJlc3BvbnNlKiBwcmV2aWV3UmVzcG9uc2U7Cist
IChpZClpbml0V2l0aERhdGE6KE5TRGF0YSAqKWRhdGEgbmFtZTooTlNTdHJpbmcgKiluYW1lIHV0
aTooTlNTdHJpbmcgKil1dGkgb3B0aW9uczooTlNEaWN0aW9uYXJ5ICopb3B0aW9uczsKKy0gKGlk
KWluaXRXaXRoQ29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkZWxlZ2F0
ZTooaWQpZGVsZWdhdGUgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZSBvcHRpb25z
OihOU0RpY3Rpb25hcnkgKilvcHRpb25zOworLSAoTlNVUkxSZXF1ZXN0ICopc2FmZVJlcXVlc3RG
b3JSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OworLSAodm9pZClhcHBlbmREYXRhQXJy
YXk6KE5TQXJyYXkgKilkYXRhQXJyYXk7CistICh2b2lkKWZpbmlzaGVkQXBwZW5kaW5nRGF0YTsK
Ky0gKHZvaWQpZmluaXNoQ29udmVydGluZzsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL3F1aWNrbG9vay9RdWlja0xvb2tTUEkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9xdWlja2xvb2svUXVpY2tMb29rU1BJLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2QzNjdjYzJkYzQwYzNhYzhjOGFmMTUwNTUxMzVjNjQwNDMwYzg3ZAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9xdWlja2xvb2svUXVpY2tMb29rU1BJ
LmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFF1aWNrTG9v
ay9RdWlja0xvb2tQcml2YXRlLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0
aW9uLmg+CisKK05TU2V0ICpRTFByZXZpZXdHZXRTdXBwb3J0ZWRNSU1FVHlwZXMoKTsKK05TU3Ry
aW5nICpRTFR5cGVDb3B5QmVzdE1pbWVUeXBlRm9yRmlsZU5hbWVBbmRNaW1lVHlwZShOU1N0cmlu
ZyAqZmlsZU5hbWUsIE5TU3RyaW5nICptaW1lVHlwZSk7CitOU1N0cmluZyAqUUxUeXBlQ29weUJl
c3RNaW1lVHlwZUZvclVSTEFuZE1pbWVUeXBlKE5TVVJMICosIE5TU3RyaW5nICptaW1lVHlwZSk7
CitOU1N0cmluZyAqUUxUeXBlQ29weVVUSUZvclVSTEFuZE1pbWVUeXBlKE5TVVJMICosIE5TU3Ry
aW5nICptaW1lVHlwZSk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUlPUy5tbQppbmRleCBiZTE0NjdiOWI2MWVmMDNhNmJjZGQxMDYxMzhlYWIyMmRiOGFkNjQ2
Li44MzlhNjRjODZjNzhhZTBmZGU1YjczZTU2YTFiYzY4NjRiZWM4ZGVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCkBAIC0zMCw2ICszMCw3IEBACiAjaW1w
b3J0ICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2ltcG9ydCAiQ1NTVG9MZW5ndGhDb252ZXJzaW9u
RGF0YS5oIgogI2ltcG9ydCAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgorI2ltcG9ydCAiQ1RGb250RGVz
Y3JpcHRvclNQSS5oIgogI2ltcG9ydCAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbXBvcnQgIkRvY3Vt
ZW50LmgiCiAjaW1wb3J0ICJGbG9hdFJvdW5kZWRSZWN0LmgiCkBAIC01OCw4ICs1OSw3IEBACiAj
aW1wb3J0ICJVc2VyQWdlbnRTY3JpcHRzLmgiCiAjaW1wb3J0ICJVc2VyQWdlbnRTdHlsZVNoZWV0
cy5oIgogI2ltcG9ydCAiV2ViQ29yZVRocmVhZFJ1bi5oIgotI2ltcG9ydCA8Q29yZUdyYXBoaWNz
L0NHUGF0aFByaXZhdGUuaD4KLSNpbXBvcnQgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2
Lmg+CisjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CiAjaW1wb3J0IDxvYmpj
L3J1bnRpbWUuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3Rm
L1JlZlB0ci5oPgpAQCAtODEsMTQgKzgxLDYgQEAgU09GVF9MSU5LX0NPTlNUQU5UKFVJS2l0LCBV
SUNvbnRlbnRTaXplQ2F0ZWdvcnlEaWRDaGFuZ2VOb3RpZmljYXRpb24sIENGU3RyaW5nUmUKIEBp
bXBsZW1lbnRhdGlvbiBXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUKIEBlbmQKIAotLy8gVGhpcyBp
cyBhIHRlbXBvcmFyeSBoYWNrIHRvIGJ1aWxkIG9uIGlPUy4gU2hvdWxkIGJlIHJlbW92ZWQgYXMg
c29vbiBhcyBDVCBmaXhlcyB0aGUgaGVhZGVyIGZpbGVzLgotZXh0ZXJuIGNvbnN0IENGU3RyaW5n
UmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0SGVhZGxpbmUgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3
XzApOwotZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0Qm9k
eSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7Ci1leHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NU
VUlGb250VGV4dFN0eWxlU2hvcnRTdWJoZWFkIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKLWV4
dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEZvb3Rub3RlIENU
X0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKLWV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZv
bnRUZXh0U3R5bGVTaG9ydENhcHRpb24xIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKLWV4dGVy
biBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVUYWxsQm9keSBDVF9BVkFJTEFC
TEUoMTBfMTAsIDdfMCk7Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgZmxvYXQgQ29u
dHJvbEJhc2VIZWlnaHQgPSAyMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0RPTS9X
ZWJET01PcGVyYXRpb25zUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRPTU9w
ZXJhdGlvbnNQcml2YXRlLmgKaW5kZXggN2EwNjc2ZTNiZjU4NGJlM2Y1ZjdlZGUzMGVhYjgwY2Nm
MWEzODJmMC4uNDBlMDJhN2E5ODg4Y2M4MjYxMmFkOWUyNWM1NjNkYmNiOThkMDVlMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRlLmgKQEAgLTMw
LDcgKzMwLDcgQEAKICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0pTQmFzZS5oPgogCiAjaWYgVEFS
R0VUX09TX0lQSE9ORQotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CisjaW1wb3J0
IDxXZWJDb3JlL05TR2VvbWV0cnlTUEkuaD4KICNlbHNlCiAjaW1wb3J0IDxBcHBLaXQvTlNFdmVu
dC5oPgogI2ltcG9ydCA8V2ViS2l0TGVnYWN5L0RPTVdoZWVsRXZlbnQuaD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1t
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
bW0KaW5kZXggYzVmOWUzYWQzNWRmODc5ZTlhZjM0ZTQ4YjYwYjU3YWE0YmVmMjg5My4uNWIxY2My
YjJhMTllMGFlNTlmY2VmNjQ2YzExMjJhMDNlYWZjMDc0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0KKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0KQEAg
LTE0OSw4ICsxNDksOCBAQAogI2VuZGlmCiAKICNpZiBVU0UoUVVJQ0tfTE9PSykKLSNpbXBvcnQg
PEZvdW5kYXRpb24vTlNGaWxlTWFuYWdlcl9OU1VSTEV4dHJhcy5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9GaWxlU3lzdGVtSU9TLmg+CisjaW1wb3J0IDxXZWJDb3JlL05TRmlsZU1hbmFnZXJTUEkuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvUXVpY2tMb29rLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrc0lPUy5oPgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlJlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlJlbmRlckxheWVyLmgKaW5kZXggNjdlNzdmMDI0Njc1NDM2NTAwOTBhNTFjOTkzYTg2MzI1
YWIwOTNiNC4uZjVhNDM5Y2MyZjE0MzhjNDlmMDI5MDFiMzk0Yjc2Mzk1ZWJlODczYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJSZW5kZXJMYXllci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUmVuZGVyTGF5ZXIuaApAQCAtMjYsNyArMjYsNyBA
QAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAKICNpZiBUQVJHRVRfT1NfSVBI
T05FCi0jaW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
TlNHZW9tZXRyeVNQSS5oPgogI2VuZGlmCiAKIEBjbGFzcyBXZWJGcmFtZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAyNmNjYTQ0YWIwY2Y2Yzc1ZDA5ZDZmMWYxZDkzMGZi
ZGU4YTgwMThjLi44ZmJlYTBhZjc4ZDA2MWFmYzViZmMxNTY3MGE5MzNiMWY5M2E1MDYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yMjcsMTIgKzIyNywxMiBAQAogI2lt
cG9ydCAiV2ViVUlLaXRTdXBwb3J0LmgiCiAjaW1wb3J0ICJXZWJWaXNpYmxlUG9zaXRpb24uaCIK
ICNpbXBvcnQgPENGTmV0d29yay9DRlVSTENhY2hlUHJpdi5oPgotI2ltcG9ydCA8TW9iaWxlR2Vz
dGFsdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9FdmVudE5hbWVzLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0ZvbnRDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0ljb25Db250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xlZ2FjeVRpbGVD
YWNoZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9Nb2JpbGVHZXN0YWx0U1BJLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrc0lPUy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TUUxpdGVEYXRhYmFzZVRy
YWNrZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvTmF0aXZlV2Vi
VG91Y2hFdmVudElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvTmF0aXZlV2ViVG91
Y2hFdmVudElPUy5tbQppbmRleCA0YTFlZTQ5ZmM0NzRkODk2NTViYzViMGQ3OTdhNThkNTg1MTcy
OGJiLi4wZTg3MTZmNGZjMmY0M2YxM2U2NzQ2MjY1NzQ4YTY3MTAzZjBmZTk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW0KKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9OYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1tCkBA
IC0yNywxMiArMjcsMTEgQEAKICNpbXBvcnQgIk5hdGl2ZVdlYlRvdWNoRXZlbnQuaCIKIAogI2lm
IFBMQVRGT1JNKElPUykKLQogI2ltcG9ydCAiV2ViRXZlbnQuaCIKLSNpbXBvcnQgPEZvdW5kYXRp
b24vTlNHZW9tZXRyeS5oPgogI2ltcG9ydCA8VUlLaXQvVUlUb3VjaC5oPgogI2ltcG9ydCA8VUlL
aXQvVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0ludFBvaW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL05TR2VvbWV0cnlTUEkuaD4KICNpbXBvcnQg
PHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggZDY0OTJkZjBiYTc0
ZDk3YzYyNmQ2MTg4YTBjM2Y5Y2YxZWJlNWE3Ni4uMTI2ODExMWNmOTgwOWM1MWZkZmUwODg2Njhl
ZjU5Y2RkNjExOTAwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KQEAgLTg4LDcgKzg4LDYgQEAKICNpbXBvcnQgIldLU2Nyb2xsVmlldy5o
IgogI2ltcG9ydCAiV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkuaCIKICNpbXBvcnQg
IldlYlBhZ2VNZXNzYWdlcy5oIgotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHRmxvYXQuaD4KICNp
bXBvcnQgPENvcmVHcmFwaGljcy9DR1BERkRvY3VtZW50UHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlL
aXQvVUlBcHBsaWNhdGlvbi5oPgogI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgpA
QCAtOTYsNiArOTUsNyBAQAogI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2lt
cG9ydCA8UXVhcnR6Q29yZS9DQVJlbmRlclNlcnZlci5oPgogI2ltcG9ydCA8UXVhcnR6Q29yZS9R
dWFydHpDb3JlUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9DR0Zsb2F0U1BJLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0luc3BlY3Rvck92ZXJsYXkuaD4KIAogQGludGVyZmFjZSBVSVNjcm9sbFZp
ZXcgKFVJU2Nyb2xsVmlld0ludGVybmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9XZWJNZW1vcnlQcmVzc3VyZUhhbmRsZXJJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5tbQppbmRleCA1MjNk
MGM4ZjE0NjVlN2NiYTg0MTJkMjNiNDYwMmE5OWZhNzNhNjA0Li5iZGQyMzYzZTBiNjI5NDY0YmE5
YWI0ODk4MDdjZThiYWY2MTVhOTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5tbQpAQCAtMjksNyAr
MjksNyBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9ydCAiVmlld1NuYXBzaG90U3RvcmUu
aCIKLSNpbXBvcnQgPGRpc3BhdGNoL3ByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRGlzcGF0
Y2hTUEkuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLm1tCmluZGV4
IGQyNWUyODdlNTM0ODM4ZDc2NThiNmE2ZTUwMmI2YTM4NGY0ZTYwZjQuLmQ5YzVjMWExNmFjYzg4
M2QxM2NhODNlNDAwNTAwZjNmMjc5MmMwMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbQpAQCAtMzIs
OSArMzIsOSBAQAogI2ltcG9ydCAiV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgiCiAjaW1wb3J0
ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgPE1lZGlhUGxheWVyL01QQVZJdGVtLmg+Ci0jaW1w
b3J0IDxNZWRpYVBsYXllci9NUEFWUm91dGluZ0NvbnRyb2xsZXIuaD4KICNpbXBvcnQgPE1lZGlh
UGxheWVyL01QQXVkaW9WaWRlb1JvdXRpbmdQb3BvdmVyQ29udHJvbGxlci5oPgogI2ltcG9ydCA8
TWVkaWFQbGF5ZXIvTVBBdWRpb1ZpZGVvUm91dGluZ0FjdGlvblNoZWV0Lmg+CisjaW1wb3J0IDxX
ZWJDb3JlL01QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0
TGlua2luZy5oPgogI2ltcG9ydCA8VUlLaXQvVUlBcHBsaWNhdGlvbl9Qcml2YXRlLmg+CiAjaW1w
b3J0IDxVSUtpdC9VSVdpbmRvd19Qcml2YXRlLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMDA2NjBjMjEzZTY1YTY0OGUzOWMzNDk3MDgx
Y2U2ZTMwZWRkYmE0ZC4uM2YxMmMxYjYwODU1ZWM2OTA0YWQ5MzRkMzVmMjliZWZkOWE2NmRiMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
MTkzLDggKzE5Myw4IEBACiAjaW5jbHVkZSAiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaCIK
ICNpbmNsdWRlICJXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLmgiCiAjaW5jbHVkZSA8Q29yZUdy
YXBoaWNzL0NvcmVHcmFwaGljcy5oPgotI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udERlc2NyaXB0
b3JQcml2Lmg+Ci0jaW5jbHVkZSA8Q29yZVRleHQvQ1RGb250UHJpdi5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvQ1RGb250RGVzY3JpcHRvclNQSS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ1RGb250U1BJ
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JY29uLmg+CiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237579</attachid>
            <date>2014-09-03 14:00:45 -0700</date>
            <delta_ts>2014-09-04 08:30:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136487-20140903140039.patch</filename>
            <type>text/plain</type>
            <size>154300</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczMjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2NmMmEzNzY1NzQzNjgy
Y2Y3ODcwZjliZTNmN2ZiYTY2YzZkNzQ2Ni4uMTk4MTY1OWE1MTQxNWIyYTU0NGUwNjM2ZTg1NDc0
YmEzMWRmNGM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAxNC0wOS0wMyAgRGFu
aWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTWFrZSBXZWJD
b3JlIGJ1aWxkIHdpdGggcHVibGljIGlPUyBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBTUEkgaGVhZGVycyBhbmQgdXBkYXRlIGZpbGVzIHRv
IG1ha2UgdXNlIG9mIHRoZW0gc28gdGhhdCB3ZSBjYW4gYnVpbGQgV2ViQ29yZQorICAgICAgICBm
b3IgaU9TIHVzaW5nIHRoZSBwdWJsaWMgaU9TIFNESy4KKworICAgICAgICAqIFdlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2o6IENvbmRpdGlvbmFsbHkgaW5jbHVkZSBoZWFkZXIgcGxhdGZv
cm0vc3BpL2NnL0NHRm9udFJlbmRlcmluZ1NQSS5oLgorICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlQ29tbW9uLnByb3BzOiBBZGQgaW5jbHVkZSBkaXJlY3RvcmllcyBwbGF0Zm9ybS9z
cGkgYW5kIHBsYXRmb3JtL3NwaS9jZy4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6IEFkZGVkIG5ldyBwbGF0Zm9ybS9zcGkgZmlsZXMuCisgICAgICAgICogYmlu
ZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5tbTogSW1wb3J0IGhlYWRlciBOU1BvaW50ZXJGdW5jdGlv
bnNTUEkuaC4KKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNlLm1tOiBJbXBvcnQg
aGVhZGVyIE5TUG9pbnRlckZ1bmN0aW9uc1NQSS5oOyBhbHNvIHNvcnQgdGhlIGxpc3Qgb2YgaW1w
b3J0ZWQgaGVhZGVycy4KKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIubW06
IEltcG9ydCBoZWFkZXIgTlNHZW9tZXRyeVNQSS5oLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlv
L2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tOiBTdWJzdGl0dXRlIGhlYWRlciBNUEFWUm91
dGluZ0NvbnRyb2xsZXJTUEkuaCBmb3IgPE1lZGlhUGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxl
ci5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9EaXNwbGF5U2xlZXBEaXNhYmxlckNvY29h
LmNwcDogU3Vic3RpdHV0ZSBoZWFkZXIgSU9QTUxpYlNQSS5oIGZvciA8SU9LaXQvcHdyX21ndC9J
T1BNTGliLmg+LgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL01lbW9yeVByZXNzdXJlSGFuZGxl
ckNvY29hLm1tOiBTdWJzdGl0dXRlIGhlYWRlciBEaXNwYXRjaFNQSS5oIGZvciA8ZGlzcGF0Y2gv
cHJpdmF0ZS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0Lmg6IFN1YnN0
aXR1dGUgdHlwZWRlZiBmb3IgbWFjcm8gZGVmaW5lIG9mIE5TUmVjdC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOiBNb3ZlIGlubGluZSBkZWZpbml0aW9ucyBm
b3IgPENvcmVHcmFwaGljcy9DR0ZvbnRSZW5kZXJpbmcuaD4gdG8gQ0dGb250UmVuZGVyaW5nU1BJ
LmggYW5kIGluY2x1ZGUKKyAgICAgICAgQ0dGb250UmVuZGVyaW5nU1BJLmguCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQy5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgTlNHZW9tZXRyeVNQSS5oIGZvciA8
Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nh
L21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW06IFN1YnN0aXR1dGUgaGVhZGVyIENBVGlsZWRMYXll
clNQSS5oLCBOU0dlb21ldHJ5U1BJLmggZm9yIDxRdWFydHpDb3JlL0NBVGlsZWRMYXllclByaXZh
dGUuaD4sCisgICAgICAgIDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4sIHJlc3BlY3RpdmVseS4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9CaXRtYXBJbWFnZUNHLmNwcDogUmVtb3Zl
IHVubmVjZXNzYXJ5IGluY2x1ZGUgb2YgaGVhZGVyIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0UHJp
dmF0ZS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvckNHLmNwcDogU3Vi
c3RpdHV0ZSBoZWFkZXIgQ0dDb2xvclRyYW5zZm9ybVNQSS5oIGZvciA8Q29yZUdyYXBoaWNzL0NH
Q29sb3JUcmFuc2Zvcm0uaD47IGFsc28gcmVtb3ZlIGhlYWRlcgorICAgICAgICA8Q29yZUdyYXBo
aWNzL0NvcmVHcmFwaGljcy5oPiBhcyBDR0NvbG9yVHJhbnNmb3JtU1BJLmggd2lsbCBpbmNsdWRl
IGl0LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNw
cDogTW92ZSBDb3JlR3JhcGhpY3MgZm9yd2FyZCBkZWNsYXJhdGlvbnMgaW50byBoZWFkZXJzIENH
Q29udGV4dEdTdGF0ZVNQSS5oIGFuZCBDR0NvbnRleHRTUEkuaAorICAgICAgICBhbmQgaW5jbHVk
ZSBoZWFkZXJzIENHQ29udGV4dEdTdGF0ZVNQSS5oIGFuZCBDR0NvbnRleHRTUEkuaC4gQWxzbyBz
b3J0IHRoZSBsaXN0IG9mIGhlYWRlcnMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SW1hZ2VTb3VyY2VDRy5jcHA6IFN1YnN0aXR1dGUgaGVhZGVyIENHSW1hZ2VTUEkuaCBmb3IgPENv
cmVHcmFwaGljcy9DR0ltYWdlUHJpdmF0ZS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jZy9QREZEb2N1bWVudEltYWdlLmNwcDogUmVtb3ZlIHVubmVjZXNzYXJ5IGhlYWRlcnMgPENv
cmVHcmFwaGljcy9DR0NvbnRleHR7UHJpdmF0ZSwgR1N0YXRlfS5oPi4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW06IFN1YnN0aXR1dGUg
aGVhZGVyIENHRm9udEluZm9TUEkuaCBmb3IgPENvcmVHcmFwaGljcy9DR0ZvbnRJbmZvLmg+Lgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW06IFN1YnN0aXR1
dGUgaGVhZGVyIENHRm9udFVuaWNvZGVTdXBwb3J0U1BJLmgsIENURm9udERlc2NyaXB0b3JTUEku
aCwgQ1RGb250U1BJLmggZm9yCisgICAgICAgIDxDb3JlR3JhcGhpY3MvQ0dGb250VW5pY29kZVN1
cHBvcnQuaD4sIDxDb3JlVGV4dC9DVEZvbnR7RGVzY3JpcHRvclByaXYsIFByaXZ9Lmg+LCByZXNw
ZWN0aXZlbHkuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRTZXJ2aWNlc0lP
Uy5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgQ0dGb250SW5mb1NQSS5oIGFuZCBkeWxkU1BJLmggZm9y
IDxDb3JlR3JhcGhpY3Mve0NvcmVHcmFwaGljcywgQ29yZUdyYXBoaWNzUHJpdmF0ZX0uaD4sCisg
ICAgICAgIGFuZCA8bWFjaC1vL2R5bGRfcHJpdi5oPiwgcmVzcGVjdGl2ZWx5LgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9TaW1wbGVGb250RGF0YUlPUy5tbTogU3Vic3RpdHV0ZSBo
ZWFkZXJzIENHRm9udEluZm9TUEkuaCBhbmQgQ0dGb250UmVuZGVyaW5nU1BJLmggZm9yIDxDb3Jl
R3JhcGhpY3MvQ0dGb250SW5mby5oPi4gCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0ZvbnRNYWMubW06IE1vdmUgaW5saW5lIGZvcndhcmQgZGVjbGFyYXRpb25zIGZvciA8Q29yZVRl
eHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4gYW5kIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNz
UHJpdmF0ZS5oPgorICAgICAgICBpbnRvIENURm9udERlc2NyaXB0b3JTUEkuaCBhbmQgQ0dDb250
ZXh0R1N0YXRlU1BJLmgsIHJlc3BlY3RpdmVseSBhbmQgaW5jbHVkZSBoZWFkZXJzIENURm9udERl
c2NyaXB0b3JTUEkuaCBhbmQgQ0dDb250ZXh0R1N0YXRlU1BJLmguIEFsc28gaW5jbHVkZQorICAg
ICAgICBoZWFkZXJzIENVSUNhdGFsb2dTUEkuaCBhbmQgQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0
aW9uU1BJLmguCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dseXBoUGFnZVRyZWVO
b2RlTWFjLmNwcDogU3Vic3RpdHV0ZSBoZWFkZXIgQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaCBm
b3IgPENvcmVHcmFwaGljcy9DR0ZvbnRVbmljb2RlU3VwcG9ydC5oPiBhbmQgPENvcmVUZXh0L0NU
Rm9udFByaXYuaD4uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVy
UHJveHkuaDogU3Vic3RpdHV0ZSBoZWFkZXIgTlNHZW9tZXRyeVNQSS5oIGZvciA8Rm91bmRhdGlv
bi9OU0dlb21ldHJ5Lmg+LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVG
b250RGF0YU1hYy5tbTogTW92ZSBpbmxpbmUgZm9yd2FyZCBkZWNsYXJhdGlvbnMgZm9yIDxDb3Jl
VGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPiBhbmQgPENvcmVHcmFwaGljcy9DR0ZvbnRHbHlw
aFN1cHBvcnQuaD4KKyAgICAgICAgYW5kIGluY2x1ZGUgaGVhZGVycyBDVEZvbnREZXNjcmlwdG9y
U1BJLmggYW5kIENHRm9udEdseXBoU3VwcG9ydFNQSS5oLgorICAgICAgICAqIHBsYXRmb3JtL2lv
cy9MZWdhY3lUaWxlQ2FjaGUubW06IFN1YnN0aXR1dGUgaGVhZGVycyBDQUxheWVyU1BJLmggYW5k
IENHU1JlZ2lvblNQSS5oIGZvciA8UXVhcnR6Q29yZS9RdWFydHpDb3JlUHJpdmF0ZS5oPi4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQubW06IFN1YnN0aXR1dGUgaGVhZGVy
cyBDQUxheWVyU1BJLmgsIENHRmxvYXRTUEkuaCwgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3Mu
aD4gZm9yIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzUHJpdmF0ZS5oPgorICAgICAgICBhbmQg
PFF1YXJ0ekNvcmUvUXVhcnR6Q29yZVByaXZhdGUuaD4uCisgICAgICAgICogcGxhdGZvcm0vaW9z
L0xlZ2FjeVRpbGVHcmlkVGlsZS5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgQ0FMYXllclNQSS5oIGZv
ciA8UXVhcnR6Q29yZS9RdWFydHpDb3JlUHJpdmF0ZS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9p
b3MvUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MubW06IFN1YnN0aXR1dGUgaGVhZGVyIE5TR2VvbWV0
cnlTUEkuaCBmb3IgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPi4gQWxzbyBpbmNsdWRlIGhlYWRl
ciA8d3RmL0N1cnJlbnRUaW1lLmg+LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNj
cmVlbklPUy5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgTW9iaWxlR2VzdGFsdFNQSS5oIGZvciA8TW9i
aWxlR2VzdGFsdC5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViRXZlbnQubW06IFN1YnN0
aXR1dGUgaGVhZGVyIE5TR2VvbWV0cnlTUEkuaCBmb3IgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5o
Pi4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQubW06IFN1YnN0aXR1dGUgaGVhZGVycyBBVlBsYXllckNvbnRyb2xsZXJTUEkuaCwgQVZQbGF5
ZXJWaWV3Q29udHJvbGxlclNQSS5oLCBBVlZhbHVlVGltaW5nU1BJLmgsIEFWVmlkZW9MYXllclNQ
SS5oCisgICAgICAgIGZvciA8QVZLaXQvQVZQbGF5ZXJ7Q29udHJvbGxlciwgVmlld0NvbnRyb2xs
ZXJfUHJpdmF0ZSwgVmlld0NvbnRyb2xsZXJfV2ViS2l0T25seX0uaD4gYW5kIDxBVktpdC9BVntW
YWx1ZVRpbWluZywgQVZWaWRlb0xheWVyfS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2Fr
L1dBS0FwcEtpdFN0dWJzLmg6IFN1YnN0aXR1dGUgaGVhZGVyIE5TR2VvbWV0cnlTUEkuaCBmb3Ig
PEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dB
S1ZpZXcuaDogSW5jbHVkZSBoZWFkZXIgTlNHZW9tZXRyeVNQSS5oIGFuZCByZW1vdmUgbWFjcm8g
ZGVmaW5lcyBmb3IgTlNSZWN0LCBOU1BvaW50LCBhbmQgTlNTaXplLgorICAgICAgICAqIHBsYXRm
b3JtL2lvcy93YWsvV0tHcmFwaGljcy5oOiBTdWJzdGl0dXRlIGhlYWRlcnMgQ0dDb250ZXh0U1BJ
LmggYW5kIENHRm9udFJlbmRlcmluZ1NQSS5oIGZvciA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGlj
cy5oPiBhbmQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3NQcml2YXRlLmg+LgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5tbTogSW1wb3J0IGhlYWRlciBDR0NvbnRleHRH
U3RhdGVTUEkuaC4gQWxzbyBzb3J0IHRoZSBsaXN0IG9mIGhlYWRlcnMuCisgICAgICAgICogcGxh
dGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLm1tOiBSZW1vdmUgdW5uZWNlc3NhcnkgaGVhZGVy
IDxDb3JlRm91bmRhdGlvbi9DRlByaXYuaD4uCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9p
b3MvUXVpY2tMb29rLm1tOiBTdWJzdGl0dXRlIGhlYWRlciBOU0ZpbGVNYW5hZ2VyU1BJLmgsIFFM
UHJldmlld0NvbnZlcnRlclNQSS5oLCBhbmQgUXVpY2tMb29rU1BJLmggZm9yIDxGb3VuZGF0aW9u
L05TRmlsZU1hbmFnZXJfTlNVUkxFeHRyYXMuaD4sCisgICAgICAgIDxRdWlja0xvb2sve1FMUHJl
dmlld0NvbnZlcnRlciwgUXVpY2tMb29rUHJpdmF0ZS5ofS5oPiwgcmVzcGVjdGl2ZWx5LgorICAg
ICAgICAqIHBsYXRmb3JtL3NwaS9hdmtpdC9BVlBsYXllckNvbnRyb2xsZXJTUEkuaDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vc3BpL2F2a2l0L0FWUGxheWVyVmlld0NvbnRyb2xsZXJTUEku
aDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2F2a2l0L0FWVmFsdWVUaW1pbmdTUEku
aDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2F2a2l0L0FWVmlkZW9MYXllclNQSS5o
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2EvQ0FMYXllclNQSS5oOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2EvQ0FUaWxlZExheWVyU1BJLmg6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR0NvbG9yVHJhbnNmb3JtU1BJLmg6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR0NvbnRleHRHU3RhdGVTUEkuaDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vc3BpL2NnL0NHQ29udGV4dFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9zcGkvY2cvQ0dGbG9hdFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9z
cGkvY2cvQ0dGb250R2x5cGhTdXBwb3J0U1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L3NwaS9jZy9DR0ZvbnRJbmZvU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9j
Zy9DR0ZvbnRSZW5kZXJpbmdTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2Nn
L0NHRm9udFVuaWNvZGVTdXBwb3J0U1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3Nw
aS9jZy9DR0ltYWdlU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR1NS
ZWdpb25TUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29hL0Rpc3BhdGNo
U1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9JT1BNTGliU1BJLmg6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9OU0ZpbGVNYW5hZ2VyU1BJLmg6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9OU0dlb21ldHJ5U1BJLmg6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9OU1BvaW50ZXJGdW5jdGlvbnNTUEku
aDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29hL2R5bGRTUEkuaDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vc3BpL2N0L0NURm9udERlc2NyaXB0b3JTUEkuaDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vc3BpL2N0L0NURm9udFNQSS5oOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9zcGkvY3VpL0NVSUNhdGFsb2dTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vc3BpL2N1aS9DVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEkuaDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vc3BpL2Rpc3BhdGNoL0Rpc3BhdGNoU1BJLmg6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL3NwaS9pb3MvTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmg6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9pb3MvTW9iaWxlR2VzdGFsdFNQSS5oOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvbWFjaC1vL2R5bGRTUEkuaDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vc3BpL21lZGlhcGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvcXVpY2tsb29rL1FMUHJldmlld0NvbnZlcnRl
clNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvcXVpY2tsb29rL1F1aWNrTG9v
a1NQSS5oOiBBZGRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW06IE1v
dmUgaW5saW5lIGV4dGVybnMgaW50byBDVEZvbnREZXNjcmlwdG9yU1BJLmgsIHN1YnN0aXR1dGUg
aGVhZGVyIENURm9udERlc2NyaXB0b3JTUEkuaCBmb3IgPENvcmVUZXh0L0NURm9udERlc2NyaXB0
b3JQcml2Lmg+LCBhbmQKKyAgICAgICAgcmVtb3ZlIHVubmVjZXNzYXJ5IGhlYWRlciA8Q29yZUdy
YXBoaWNzL0NHUGF0aFByaXZhdGUuaD4uCisKIDIwMTQtMDktMDMgIEJlYXIgVHJhdmlzICA8YmV0
cmF2aXNAYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1MgRm9udCBMb2FkaW5nXSBFbmFibGUgUGFn
ZSBDYWNoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYjVlOGM2YTFmYjc4MzA3OTZmM2JkN2ZkM2E3
ODhkZDVjNjNhZDg4Mi4uNGQ2YjY0Y2JlOGU0NzE0OTdkMWVhZGVhMzRkMDNiZTE1ZjBjYjVjYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTA5LTAzICBEYW5pZWwgQmF0
ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNYWtlIFdlYkNvcmUgYnVp
bGQgd2l0aCBwdWJsaWMgaU9TIFNESworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM2NDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRml4IHVwIHNvbWUgI2luY2x1ZGUgc3RhdGVtZW50cyB0byByZWZlcmVu
Y2UgV2ViQ29yZSBTUEkgaGVhZGVycy4gV2UnbGwgbG9vayB0byBtYWtlCisgICAgICAgIFdlYktp
dCBidWlsZCB3aXRoIHRoZSBwdWJsaWMgaU9TIFNESyBpbiBzdWJzZXF1ZW50IGNvbW1pdChzKS4K
KworICAgICAgICAqIERPTS9XZWJET01PcGVyYXRpb25zUHJpdmF0ZS5oOiBTdWJzdGl0dXRlIGhl
YWRlciA8V2ViQ29yZS9OU0dlb21ldHJ5U1BJLmg+IGZvciA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5
Lmg+LgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tOiBT
dWJzdGl0dXRlIGhlYWRlciA8V2ViQ29yZS9OU0ZpbGVNYW5hZ2VyU1BJLmg+IGZvciA8Rm91bmRh
dGlvbi9OU0ZpbGVNYW5hZ2VyX05TVVJMRXh0cmFzLmg+LgorICAgICAgICAqIFdlYlZpZXcvV2Vi
UmVuZGVyTGF5ZXIuaDogU3Vic3RpdHV0ZSBoZWFkZXIgPFdlYkNvcmUvTlNHZW9tZXRyeVNQSS5o
PiBmb3IgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPi4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZp
ZXcubW06IFN1YnN0aXR1dGUgaGVhZGVyIDxXZWJDb3JlL01vYmlsZUdlc3RhbHRTUEkuaD4gZm9y
IDxNb2JpbGVHZXN0YWx0Lmg+LgorCiAyMDE0LTA4LTMxICBUaW0gSG9ydG9uICA8dGltb3RoeV9o
b3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSAoYW5kIHVubmVj
ZXNzYXJpbHkgaU9TLXNwZWNpZmljKSBzZXRTdHJva2VBbmRGaWxsQ29sb3IKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCAwNDczNjcxNWU1N2E0YzYxYjA0MmZiODUyYTJiY2FkOTJlMTI2MDNkLi5iMGQ2OTA1NWE5YTBh
MzE0OWMzMzAyYmQ0MTcwZjA1ZmZkOWJkZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTQtMDktMDMgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAg
IFtpT1NdIE1ha2UgV2ViQ29yZSBidWlsZCB3aXRoIHB1YmxpYyBpT1MgU0RLCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY0ODcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggdXAgc29tZSAjaW5jbHVk
ZSBzdGF0ZW1lbnRzIHRvIHJlZmVyZW5jZSBXZWJDb3JlIFNQSSBoZWFkZXJzLiBXZSdsbCBsb29r
IHRvIG1ha2UKKyAgICAgICAgV2ViS2l0MiBidWlsZCB3aXRoIHRoZSBwdWJsaWMgaU9TIFNESyBp
biBzdWJzZXF1ZW50IGNvbW1pdChzKS4KKworICAgICAgICAqIFNoYXJlZC9pb3MvTmF0aXZlV2Vi
VG91Y2hFdmVudElPUy5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgPFdlYkNvcmUvTlNHZW9tZXRyeVNQ
SS5oPiBmb3IgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPi4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgPFdlYkNvcmUvQ0dGbG9h
dFNQSS5oPiBmb3IgPENvcmVHcmFwaGljcy9DR0Zsb2F0Lmg+LgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVySU9TLm1tOiBTdWJzdGl0dXRlIGhlYWRlciA8
V2ViQ29yZS9EaXNwYXRjaFNQSS5oPiBmb3IgPGRpc3BhdGNoL3ByaXZhdGUuaD4uCisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbTogU3Vic3RpdHV0
ZSBoZWFkZXIgPFdlYkNvcmUvTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmg+IGZvciA8TWVkaWFQ
bGF5ZXIvTVBBVlJvdXRpbmdDb250cm9sbGVyLmg+LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDogU3Vic3RpdHV0ZSBoZWFkZXIgPFdlYkNvcmUvQ1RGb250e0Rlc2Ny
aXB0b3JTUEksIFNQSX0uaD4gZm9yIDxDb3JlVGV4dC9DVEZvbnR7RGVzY3JpcHRvclByaXYsIFBy
aXZ9Lmg+LCByZXNwZWN0aXZlbHkuCisKIDIwMTQtMDktMDIgIFlvbmdqdW4gWmhhbmcgIDx5b25n
anVuX3poYW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNzIHRoZSByZXNvdXJjZSBpZGVudGlm
aWVyIGluIHdpbGxTZW5kUmVxdWVzdCBjYWxsYmFjay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDBmNzM3ZmRhM2Y5N2EzYTI0MjJkYzk5
YWQ2MGU4N2E2ODZhYTE4NDIuLmY5MzU4YjJkMTQ4NzM3YjdlZDM2OGYzMTYzNDRkMWQ5NTU2Yjc5
ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agpAQCAtMTk5MDgsNiArMTk5MDgsMTIgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DdXN0b21CdWlsZFN0ZXA+CisgICAgPEN1
c3RvbUJ1aWxkU3RlcCBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxzcGlcY2dcQ0dGb250UmVuZGVyaW5n
U1BJLmgiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0N1c3RvbUJ1aWxkU3RlcD4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXHNxbFxTUUxpdGVEYXRhYmFzZS5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cc3FsXFNRTGl0ZURhdGFiYXNlVHJhY2tl
ci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cc3FsXFNRTGl0ZURh
dGFiYXNlVHJhY2tlckNsaWVudC5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmVDb21tb24ucHJvcHMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZUNvbW1vbi5wcm9wcwppbmRleCA0ZDUwNTNhZjE2Yjg3YzhiZDRmYzY5
NWI3ZjAzOTczODg3M2EyMjQ1Li44ZjdiOGUwNjcyY2VhMzg1ODA1MzI4MzI0ZWU3OGFjNzM2YTI3
ZjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZUNv
bW1vbi5wcm9wcworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZUNv
bW1vbi5wcm9wcwpAQCAtNyw3ICs3LDcgQEAKICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SXRlbURl
ZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRl
RGlyZWN0b3JpZXM+JChQcm9qZWN0RGlyKS4uOyQoUHJvamVjdERpcikuLlxNb2R1bGVzXG1lZGlh
Y29udHJvbHM7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbWVkaWFzdHJlYW07JChQcm9qZWN0RGly
KS4uXE1vZHVsZXNcZW5jcnlwdGVkbWVkaWE7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcZmlsZXN5
c3RlbTskKFByb2plY3REaXIpLi5cTW9kdWxlc1xnYW1lcGFkOyQoUHJvamVjdERpcikuLlxNb2R1
bGVzXGdlb2xvY2F0aW9uOyQoUHJvamVjdERpcikuLlxNb2R1bGVzXGluZGV4ZWRkYjskKFByb2pl
Y3REaXIpLi5cTW9kdWxlc1xtZWRpYXNvdXJjZTskKFByb2plY3REaXIpLi5cTW9kdWxlc1xuYXZp
Z2F0b3Jjb250ZW50dXRpbHM7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNccGx1Z2luczskKFByb2pl
Y3REaXIpLi5cTW9kdWxlc1xzcGVlY2g7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNccHJveGltaXR5
OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHF1b3RhOyQoUHJvamVjdERpcikuLlxNb2R1bGVzXG5v
dGlmaWNhdGlvbnM7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcd2ViZGF0YWJhc2U7JChQcm9qZWN0
RGlyKS4uXE1vZHVsZXNcd2Vic29ja2V0czskKFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0eTsk
KFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0eVx3aW47JChQcm9qZWN0RGlyKS4uXGJyaWRnZTsk
KFByb2plY3REaXIpLi5cYnJpZGdlXGM7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxqc2M7JChQcm9q
ZWN0RGlyKS4uXGNzczskKFByb2plY3REaXIpLi5cY3Nzaml0OyQoUHJvamVjdERpcikuLlxlZGl0
aW5nOyQoUHJvamVjdERpcikuLlxmaWxlYXBpOyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmc7JChQ
cm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xsaW5lOyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcbWF0
aG1sOyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc2hhcGVzOyQoUHJvamVjdERpcikuLlxyZW5k
ZXJpbmdcc3R5bGU7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xzdmc7JChQcm9qZWN0RGlyKS4u
XGJpbmRpbmdzOyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xnZW5lcmljOyQoUHJvamVjdERpciku
LlxiaW5kaW5nc1xqczskKFByb2plY3REaXIpLi5cYmluZGluZ3NcanNcc3BlY2lhbGl6YXRpb247
JChQcm9qZWN0RGlyKS4uXGRvbTskKFByb2plY3REaXIpLi5cZG9tXGRlZmF1bHQ7JChQcm9qZWN0
RGlyKS4uXGhpc3Rvcnk7JChQcm9qZWN0RGlyKS4uXGh0bWw7JChQcm9qZWN0RGlyKS4uXGh0bWxc
Y2FudmFzOyQoUHJvamVjdERpcikuLlxodG1sXGZvcm1zOyQoUHJvamVjdERpcikuLlxodG1sXHBh
cnNlcjskKFByb2plY3REaXIpLi5caHRtbFxzaGFkb3c7JChQcm9qZWN0RGlyKS4uXGh0bWxcdHJh
Y2s7JChQcm9qZWN0RGlyKS4uXGluc3BlY3RvcjskKFByb2plY3REaXIpLi5cbG9hZGVyOyQoUHJv
amVjdERpcikuLlxsb2FkZXJcYXBwY2FjaGU7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcmNoaXZl
OyQoUHJvamVjdERpcikuLlxsb2FkZXJcYXJjaGl2ZVxjZjskKFByb2plY3REaXIpLi5cbG9hZGVy
XGNhY2hlOyQoUHJvamVjdERpcikuLlxsb2FkZXJcaWNvbjskKFByb2plY3REaXIpLi5cbWF0aG1s
OyQoUHJvamVjdERpcikuLlxwYWdlOyQoUHJvamVjdERpcikuLlxwYWdlXGFuaW1hdGlvbjskKFBy
b2plY3REaXIpLi5ccGFnZVxzY3JvbGxpbmc7JChQcm9qZWN0RGlyKS4uXHBhZ2Vcd2luOyQoUHJv
amVjdERpcikuLlxwbGF0Zm9ybTskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cYW5pbWF0aW9uOyQo
UHJvamVjdERpcikuLlxwbGF0Zm9ybVxhdWRpbzskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbW9j
azskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cc3FsOyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx3
aW47JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG5ldHdvcms7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXG5ldHdvcmtcd2luOyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxjZjskKFByb2plY3REaXIp
Li5ccGxhdGZvcm1cZ3JhcGhpY3M7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGNh
OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xjcHVcYXJtXGZpbHRlcnM7JChQcm9q
ZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnM7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXGdyYXBoaWNzXGZpbHRlcnNcYXJtOyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGlj
c1xvcGVudHlwZTskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcdHJhbnNmb3Jtczsk
KFByb2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cdGV4
dFxpY3U7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHRcdHJhbnNjb2RlcjskKFByb2plY3RE
aXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luOyQoUHJvamVjdERpcikuLlx4bWw7JChQcm9qZWN0
RGlyKS4uXHhtbFxwYXJzZXI7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1B
cmNoaXRlY3R1cmUpXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXM7JChQcm9qZWN0RGlyKS4uXHBsdWdp
bnM7JChQcm9qZWN0RGlyKS4uXHBsdWdpbnNcd2luOyQoUHJvamVjdERpcikuLlxyZXBsYXk7JChQ
cm9qZWN0RGlyKS4uXHN2Z1xhbmltYXRpb247JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljczsk
KFByb2plY3REaXIpLi5cc3ZnXHByb3BlcnRpZXM7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGlj
c1xmaWx0ZXJzOyQoUHJvamVjdERpcikuLlxzdmc7JChQcm9qZWN0RGlyKS4uXHRlc3Rpbmc7JChQ
cm9qZWN0RGlyKS4uXGNyeXB0bzskKFByb2plY3REaXIpLi5cY3J5cHRvXGtleXM7JChQcm9qZWN0
RGlyKS4uXHdtbDskKFByb2plY3REaXIpLi5cc3RvcmFnZTskKFByb2plY3REaXIpLi5cc3R5bGU7
JChQcm9qZWN0RGlyKS4uXHdlYnNvY2tldHM7JChQcm9qZWN0RGlyKS4uXHdvcmtlcnM7JChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGU7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1
ZGVccHJpdmF0ZTskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29y
ZTskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3Jl
OyQoUHJvamVjdERpcikuLlxGb3J3YXJkaW5nSGVhZGVyczskKFByb2plY3REaXIpLi5ccGxhdGZv
cm1cZ3JhcGhpY3NcZ3B1OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xlZ2w7JChQ
cm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXHN1cmZhY2VzOyQoUHJvamVjdERpcikuLlxw
bGF0Zm9ybVxncmFwaGljc1xzdXJmYWNlc1xlZ2w7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdy
YXBoaWNzXG9wZW5nbDskKFdlYktpdF9MaWJyYXJpZXMpXGluY2x1ZGU7JChXZWJLaXRfTGlicmFy
aWVzKVxpbmNsdWRlXHByaXZhdGU7JChXZWJLaXRfTGlicmFyaWVzKVxpbmNsdWRlXHByaXZhdGVc
SmF2YVNjcmlwdENvcmU7JChXZWJLaXRfTGlicmFyaWVzKVxpbmNsdWRlXHNxbGl0ZTskKFdlYktp
dF9MaWJyYXJpZXMpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmU7JChXZWJLaXRfTGlicmFyaWVzKVxp
bmNsdWRlXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQo
UHJvamVjdERpcikuLjskKFByb2plY3REaXIpLi5cTW9kdWxlc1xtZWRpYWNvbnRyb2xzOyQoUHJv
amVjdERpcikuLlxNb2R1bGVzXG1lZGlhc3RyZWFtOyQoUHJvamVjdERpcikuLlxNb2R1bGVzXGVu
Y3J5cHRlZG1lZGlhOyQoUHJvamVjdERpcikuLlxNb2R1bGVzXGZpbGVzeXN0ZW07JChQcm9qZWN0
RGlyKS4uXE1vZHVsZXNcZ2FtZXBhZDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xnZW9sb2NhdGlv
bjskKFByb2plY3REaXIpLi5cTW9kdWxlc1xpbmRleGVkZGI7JChQcm9qZWN0RGlyKS4uXE1vZHVs
ZXNcbWVkaWFzb3VyY2U7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbmF2aWdhdG9yY29udGVudHV0
aWxzOyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHBsdWdpbnM7JChQcm9qZWN0RGlyKS4uXE1vZHVs
ZXNcc3BlZWNoOyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHByb3hpbWl0eTskKFByb2plY3REaXIp
Li5cTW9kdWxlc1xxdW90YTskKFByb2plY3REaXIpLi5cTW9kdWxlc1xub3RpZmljYXRpb25zOyQo
UHJvamVjdERpcikuLlxNb2R1bGVzXHdlYmRhdGFiYXNlOyQoUHJvamVjdERpcikuLlxNb2R1bGVz
XHdlYnNvY2tldHM7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHk7JChQcm9qZWN0RGlyKS4u
XGFjY2Vzc2liaWxpdHlcd2luOyQoUHJvamVjdERpcikuLlxicmlkZ2U7JChQcm9qZWN0RGlyKS4u
XGJyaWRnZVxjOyQoUHJvamVjdERpcikuLlxicmlkZ2VcanNjOyQoUHJvamVjdERpcikuLlxjc3M7
JChQcm9qZWN0RGlyKS4uXGNzc2ppdDskKFByb2plY3REaXIpLi5cZWRpdGluZzskKFByb2plY3RE
aXIpLi5cZmlsZWFwaTskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nOyQoUHJvamVjdERpcikuLlxy
ZW5kZXJpbmdcbGluZTskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXG1hdGhtbDskKFByb2plY3RE
aXIpLi5ccmVuZGVyaW5nXHNoYXBlczskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXHN0eWxlOyQo
UHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3ZnOyQoUHJvamVjdERpcikuLlxiaW5kaW5nczskKFBy
b2plY3REaXIpLi5cYmluZGluZ3NcZ2VuZXJpYzskKFByb2plY3REaXIpLi5cYmluZGluZ3NcanM7
JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzXHNwZWNpYWxpemF0aW9uOyQoUHJvamVjdERpciku
Llxkb207JChQcm9qZWN0RGlyKS4uXGRvbVxkZWZhdWx0OyQoUHJvamVjdERpcikuLlxoaXN0b3J5
OyQoUHJvamVjdERpcikuLlxodG1sOyQoUHJvamVjdERpcikuLlxodG1sXGNhbnZhczskKFByb2pl
Y3REaXIpLi5caHRtbFxmb3JtczskKFByb2plY3REaXIpLi5caHRtbFxwYXJzZXI7JChQcm9qZWN0
RGlyKS4uXGh0bWxcc2hhZG93OyQoUHJvamVjdERpcikuLlxodG1sXHRyYWNrOyQoUHJvamVjdERp
cikuLlxpbnNwZWN0b3I7JChQcm9qZWN0RGlyKS4uXGxvYWRlcjskKFByb2plY3REaXIpLi5cbG9h
ZGVyXGFwcGNhY2hlOyQoUHJvamVjdERpcikuLlxsb2FkZXJcYXJjaGl2ZTskKFByb2plY3REaXIp
Li5cbG9hZGVyXGFyY2hpdmVcY2Y7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxjYWNoZTskKFByb2pl
Y3REaXIpLi5cbG9hZGVyXGljb247JChQcm9qZWN0RGlyKS4uXG1hdGhtbDskKFByb2plY3REaXIp
Li5ccGFnZTskKFByb2plY3REaXIpLi5ccGFnZVxhbmltYXRpb247JChQcm9qZWN0RGlyKS4uXHBh
Z2Vcc2Nyb2xsaW5nOyQoUHJvamVjdERpcikuLlxwYWdlXHdpbjskKFByb2plY3REaXIpLi5ccGxh
dGZvcm07JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGFuaW1hdGlvbjskKFByb2plY3REaXIpLi5c
cGxhdGZvcm1cYXVkaW87JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG1vY2s7JChQcm9qZWN0RGly
KS4uXHBsYXRmb3JtXHNwaTskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cc3BpXGNnOyQoUHJvamVj
dERpcikuLlxwbGF0Zm9ybVxzcWw7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHdpbjskKFByb2pl
Y3REaXIpLi5ccGxhdGZvcm1cbmV0d29yazskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0d29y
a1x3aW47JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGNmOyQoUHJvamVjdERpcikuLlxwbGF0Zm9y
bVxncmFwaGljczskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcY2E7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGNwdVxhcm1cZmlsdGVyczskKFByb2plY3REaXIpLi5c
cGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyczskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcZmlsdGVyc1xhcm07JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBl
OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1x0cmFuc2Zvcm1zOyQoUHJvamVjdERp
cikuLlxwbGF0Zm9ybVx0ZXh0OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx0ZXh0XGljdTskKFBy
b2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dFx0cmFuc2NvZGVyOyQoUHJvamVjdERpcikuLlxwbGF0
Zm9ybVxncmFwaGljc1x3aW47JChQcm9qZWN0RGlyKS4uXHhtbDskKFByb2plY3REaXIpLi5ceG1s
XHBhcnNlcjskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVy
ZSlcV2ViQ29yZVxEZXJpdmVkU291cmNlczskKFByb2plY3REaXIpLi5ccGx1Z2luczskKFByb2pl
Y3REaXIpLi5ccGx1Z2luc1x3aW47JChQcm9qZWN0RGlyKS4uXHJlcGxheTskKFByb2plY3REaXIp
Li5cc3ZnXGFuaW1hdGlvbjskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzOyQoUHJvamVjdERp
cikuLlxzdmdccHJvcGVydGllczskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzXGZpbHRlcnM7
JChQcm9qZWN0RGlyKS4uXHN2ZzskKFByb2plY3REaXIpLi5cdGVzdGluZzskKFByb2plY3REaXIp
Li5cY3J5cHRvOyQoUHJvamVjdERpcikuLlxjcnlwdG9ca2V5czskKFByb2plY3REaXIpLi5cd21s
OyQoUHJvamVjdERpcikuLlxzdG9yYWdlOyQoUHJvamVjdERpcikuLlxzdHlsZTskKFByb2plY3RE
aXIpLi5cd2Vic29ja2V0czskKFByb2plY3REaXIpLi5cd29ya2VyczskKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcaW5jbHVkZTskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxwcml2YXRl
OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXEphdmFTY3JpcHRDb3JlOyQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmU7JChQcm9qZWN0
RGlyKS4uXEZvcndhcmRpbmdIZWFkZXJzOyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGlj
c1xncHU7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGVnbDskKFByb2plY3REaXIp
Li5ccGxhdGZvcm1cZ3JhcGhpY3Ncc3VyZmFjZXM7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdy
YXBoaWNzXHN1cmZhY2VzXGVnbDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncb3Bl
bmdsOyQoV2ViS2l0X0xpYnJhcmllcylcaW5jbHVkZTskKFdlYktpdF9MaWJyYXJpZXMpXGluY2x1
ZGVccHJpdmF0ZTskKFdlYktpdF9MaWJyYXJpZXMpXGluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0
Q29yZTskKFdlYktpdF9MaWJyYXJpZXMpXGluY2x1ZGVcc3FsaXRlOyQoV2ViS2l0X0xpYnJhcmll
cylcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZTskKFdlYktpdF9MaWJyYXJpZXMpXGluY2x1ZGVcemxp
YjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPkRJU0FCTEVfM0RfUkVOREVS
SU5HO1dFQkNPUkVfQ09OVEVYVF9NRU5VUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnM+CiAgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+VXNlPC9QcmVj
b21waWxlZEhlYWRlcj4KICAgICAgIDxQcmVjb21waWxlZEhlYWRlckZpbGU+V2ViQ29yZVByZWZp
eC5oPC9QcmVjb21waWxlZEhlYWRlckZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2YzYzE2ZmZjNDVkNzBmNDFlMjViNTk0
MjNiZDIxMGYzYTBlZGVjNy4uYmJhMGZjZjA1ZjM3ZTI0OGUwYTJmNDU2NTI0ODE3YTJkODE1OTFh
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtNTcyOCw2ICs1NzI4LDM2IEBACiAJCUNFMDU3RkE2MTIyMDczMTEwMEE0NzZENSAv
KiBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENFMDU3RkE0MTIyMDczMTEwMEE0NzZENSAvKiBEb2N1bWVudE1h
cmtlckNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlDRTA4QzNEMTE1MkI1OTlBMDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29u
dHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRTA4QzNDRjE1MkI1OTlBMDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5j
cHAgKi87IH07CiAJCUNFMDhDM0QyMTUyQjU5OUEwMDIxQjhDMiAvKiBBbHRlcm5hdGl2ZVRleHRD
b250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRTA4QzNEMDE1MkI1OTlBMDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CisJCUNFNEY2RDJEMTlCNzc0
RDUwMEJGQzY0QSAvKiBBVlBsYXllckNvbnRyb2xsZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDI5MTlCNzc0RDUwMEJGQzY0QSAvKiBB
VlBsYXllckNvbnRyb2xsZXJTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlDRTRGNkQyRTE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJWaWV3
Q29udHJvbGxlclNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0U0RjZEMkExOUI3NzRENTAwQkZDNjRBIC8qIEFWUGxheWVyVmlld0NvbnRyb2xsZXJT
UEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlD
RTRGNkQyRjE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZWYWx1ZVRpbWluZ1NQSS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEMkIxOUI3NzRENTAwQkZD
NjRBIC8qIEFWVmFsdWVUaW1pbmdTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQzMDE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZWaWRlb0xh
eWVyU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RTRGNkQyQzE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZWaWRlb0xheWVyU1BJLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZEMzQxOUI3NzRGNjAw
QkZDNjRBIC8qIENBTGF5ZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENFNEY2RDMyMTlCNzc0RjYwMEJGQzY0QSAvKiBDQUxheWVyU1BJLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZEMzUx
OUI3NzRGNjAwQkZDNjRBIC8qIENBVGlsZWRMYXllclNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEMzMxOUI3NzRGNjAwQkZDNjRBIC8qIENB
VGlsZWRMYXllclNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUNFNEY2RDQxMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0NvbG9yVHJhbnNmb3JtU1BJ
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQz
NzE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb2xvclRyYW5zZm9ybVNQSS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDQyMTlCNzc1MTIwMEJG
QzY0QSAvKiBDR0NvbnRleHRHU3RhdGVTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDM4MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0NvbnRleHRH
U3RhdGVTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlDRTRGNkQ0MzE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0U1BJLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzOTE5Qjc3NTEyMDBC
RkM2NEEgLyogQ0dDb250ZXh0U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENDQxOUI3NzUxMjAwQkZDNjRBIC8qIENHRmxvYXRTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDNB
MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0Zsb2F0U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENDUxOUI3NzUxMjAwQkZDNjRBIC8qIENH
Rm9udEdseXBoU3VwcG9ydFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0U0RjZEM0IxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEdseXBoU3VwcG9y
dFNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUNFNEY2RDQ2MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRJbmZvU1BJLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzQzE5Qjc3NTEyMDBCRkM2
NEEgLyogQ0dGb250SW5mb1NQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUNFNEY2RDQ3MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRSZW5kZXJp
bmdTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENF
NEY2RDNEMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRSZW5kZXJpbmdTUEkuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ0ODE5Qjc3NTEy
MDBCRkM2NEEgLyogQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDNFMTlCNzc1MTIwMEJGQzY0QSAvKiBD
R0ZvbnRVbmljb2RlU3VwcG9ydFNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUNFNEY2RDQ5MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ltYWdlU1BJ
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQz
RjE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dJbWFnZVNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDRBMTlCNzc1MTIwMEJGQzY0QSAvKiBD
R1NSZWdpb25TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENFNEY2RDQwMTlCNzc1MTIwMEJGQzY0QSAvKiBDR1NSZWdpb25TUEkuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ1NzE5Qjc3NTdC
MDBCRkM2NEEgLyogQ1RGb250RGVzY3JpcHRvclNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENEMxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9u
dERlc2NyaXB0b3JTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlDRTRGNkQ1ODE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RGb250U1BJLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ0RDE5Qjc3NTdC
MDBCRkM2NEEgLyogQ1RGb250U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENTkxOUI3NzU3QjAwQkZDNjRBIC8qIENVSUNhdGFsb2dT
UEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2
RDRGMTlCNzc1N0IwMEJGQzY0QSAvKiBDVUlDYXRhbG9nU1BJLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENUExOUI3NzU3QjAwQkZDNjRB
IC8qIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENTAxOUI3NzU3QjAwQkZDNjRBIC8qIENV
SVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDVCMTlCNzc1N0IwMEJGQzY0QSAvKiBNb2Jp
bGVHZXN0YWx0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRTRGNkQ1MjE5Qjc3NTdCMDBCRkM2NEEgLyogTW9iaWxlR2VzdGFsdFNQSS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDVDMTlC
Nzc1N0IwMEJGQzY0QSAvKiBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDUzMTlCNzc1N0IwMEJGQzY0
QSAvKiBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ1RDE5Qjc3NTdCMDBCRkM2NEEgLyogUUxQ
cmV2aWV3Q29udmVydGVyU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRTRGNkQ1NTE5Qjc3NTdCMDBCRkM2NEEgLyogUUxQcmV2aWV3Q29udmVydGVy
U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
Q0U0RjZENUUxOUI3NzU3QjAwQkZDNjRBIC8qIFF1aWNrTG9va1NQSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENTYxOUI3NzU3QjAwQkZDNjRB
IC8qIFF1aWNrTG9va1NQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUNFNEY2RDY0MTlCNzc1RjgwMEJGQzY0QSAvKiBEaXNwYXRjaFNQSS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENUYxOUI3
NzVGODAwQkZDNjRBIC8qIERpc3BhdGNoU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENjUxOUI3NzVGODAwQkZDNjRBIC8qIGR5bGRT
UEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2
RDYwMTlCNzc1RjgwMEJGQzY0QSAvKiBkeWxkU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENjYxOUI3NzVGODAwQkZDNjRBIC8qIE5T
RmlsZU1hbmFnZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENFNEY2RDYxMTlCNzc1RjgwMEJGQzY0QSAvKiBOU0ZpbGVNYW5hZ2VyU1BJLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENjcx
OUI3NzVGODAwQkZDNjRBIC8qIE5TR2VvbWV0cnlTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDYyMTlCNzc1RjgwMEJGQzY0QSAvKiBOU0dl
b21ldHJ5U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJQ0U0RjZENjgxOUI3NzVGODAwQkZDNjRBIC8qIE5TUG9pbnRlckZ1bmN0aW9uc1NQSS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENjMx
OUI3NzVGODAwQkZDNjRBIC8qIE5TUG9pbnRlckZ1bmN0aW9uc1NQSS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDZBMTlCNzg1NEUwMEJG
QzY0QSAvKiBJT1BNTGliU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRTRGNkQ2OTE5Qjc4NTRFMDBCRkM2NEEgLyogSU9QTUxpYlNQSS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNFN0IyREIzMTU4
NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREFGMTU4NkFCQUQwMDk4
QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTdCMkRCNDE1ODZBQkFEMDA5OEIzRkEg
LyogQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U3QjJEQjAxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVy
bmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSAqLzsgfTsKIAkJQ0U3QjJEQjUxNTg2QUJBRDAwOThC
M0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U3QjJEQjExNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRB
bHRlcm5hdGl2ZVdpdGhSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CkBAIC0xMzE4Niw2ICsxMzIxNiwzNiBAQAogCQlDRTA1N0ZBNDEyMjA3MzEx
MDBBNDc2RDUgLyogRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERvY3VtZW50TWFya2VyQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDRTA4QzNDRjE1MkI1OTlBMDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVU
ZXh0Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBB
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0UwOEMzRDAxNTJCNTk5QTAwMjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWx0ZXJuYXRpdmVUZXh0Q29udHJv
bGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQyOTE5Qjc3NEQ1MDBC
RkM2NEEgLyogQVZQbGF5ZXJDb250cm9sbGVyU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFWUGxheWVyQ29udHJvbGxlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDRTRGNkQyQTE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJWaWV3Q29udHJvbGxl
clNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBVlBsYXllclZpZXdDb250
cm9sbGVyU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDJCMTlCNzc0
RDUwMEJGQzY0QSAvKiBBVlZhbHVlVGltaW5nU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFWVmFsdWVUaW1pbmdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0U0RjZEMkMxOUI3NzRENTAwQkZDNjRBIC8qIEFWVmlkZW9MYXllclNQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBVlZpZGVvTGF5ZXJTUEkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEMzIxOUI3NzRGNjAwQkZDNjRBIC8qIENBTGF5ZXJTUEku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0FMYXllclNQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzMzE5Qjc3NEY2MDBCRkM2NEEgLyogQ0FUaWxl
ZExheWVyU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENBVGlsZWRMYXll
clNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzNzE5Qjc3NTEyMDBC
RkM2NEEgLyogQ0dDb2xvclRyYW5zZm9ybVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDR0NvbG9yVHJhbnNmb3JtU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNFNEY2RDM4MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0NvbnRleHRHU3RhdGVTUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0dDb250ZXh0R1N0YXRlU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDM5MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0Nv
bnRleHRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0dDb250ZXh0U1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDNBMTlCNzc1MTIwMEJGQzY0
QSAvKiBDR0Zsb2F0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHRmxv
YXRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEM0IxOUI3NzUxMjAw
QkZDNjRBIC8qIENHRm9udEdseXBoU3VwcG9ydFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQ0U0RjZEM0MxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEluZm9TUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0dGb250SW5mb1NQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzRDE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250UmVu
ZGVyaW5nU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHRm9udFJlbmRl
cmluZ1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzRTE5Qjc3NTEy
MDBCRkM2NEEgLyogQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEM0YxOUI3NzUxMjAwQkZDNjRBIC8qIENHSW1hZ2VTUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0dJbWFnZVNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQ0MDE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dTUmVnaW9u
U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHU1JlZ2lvblNQSS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQ0QzE5Qjc3NTdCMDBCRkM2NEEgLyog
Q1RGb250RGVzY3JpcHRvclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
VEZvbnREZXNjcmlwdG9yU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2
RDREMTlCNzc1N0IwMEJGQzY0QSAvKiBDVEZvbnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ1RGb250U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNF
NEY2RDRGMTlCNzc1N0IwMEJGQzY0QSAvKiBDVUlDYXRhbG9nU1BJLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENVSUNhdGFsb2dTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQ0U0RjZENTAxOUI3NzU3QjAwQkZDNjRBIC8qIENVSVN0eWxlRWZmZWN0Q29uZmln
dXJhdGlvblNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDVUlTdHlsZUVm
ZmVjdENvbmZpZ3VyYXRpb25TUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0
RjZENTIxOUI3NzU3QjAwQkZDNjRBIC8qIE1vYmlsZUdlc3RhbHRTUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTW9iaWxlR2VzdGFsdFNQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDRTRGNkQ1MzE5Qjc3NTdCMDBCRkM2NEEgLyogTVBBVlJvdXRpbmdDb250
cm9sbGVyU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1QQVZSb3V0aW5n
Q29udHJvbGxlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQ1NTE5
Qjc3NTdCMDBCRkM2NEEgLyogUUxQcmV2aWV3Q29udmVydGVyU1BJLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFFMUHJldmlld0NvbnZlcnRlclNQSS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDRTRGNkQ1NjE5Qjc3NTdCMDBCRkM2NEEgLyogUXVpY2tMb29rU1BJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1aWNrTG9va1NQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQ1RjE5Qjc3NUY4MDBCRkM2NEEgLyogRGlz
cGF0Y2hTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzcGF0Y2hTUEku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENjAxOUI3NzVGODAwQkZDNjRB
IC8qIGR5bGRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gZHlsZFNQSS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQ2MTE5Qjc3NUY4MDBCRkM2NEEg
LyogTlNGaWxlTWFuYWdlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBO
U0ZpbGVNYW5hZ2VyU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDYy
MTlCNzc1RjgwMEJGQzY0QSAvKiBOU0dlb21ldHJ5U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5TR2VvbWV0cnlTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0U0RjZENjMxOUI3NzVGODAwQkZDNjRBIC8qIE5TUG9pbnRlckZ1bmN0aW9uc1NQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU1BvaW50ZXJGdW5jdGlvbnNTUEkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENjkxOUI3ODU0RTAwQkZDNjRBIC8q
IElPUE1MaWJTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSU9QTUxpYlNQ
SS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRTVDQjFCMzE0RURBQjZGMDBCQjI3
OTUgLyogRXZlbnRTZW5kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZl
bnRTZW5kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U2RDg5Mjk0QzdBQUNF
MEFEODlCM0REIC8qIE1hdGhNTE1lbmNsb3NlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNYXRoTUxNZW5jbG9zZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0U3QjJEQUYxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJ
Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBbHRlcm5hdGl2
ZVRleHRVSUNvbnRyb2xsZXIuaDsgcGF0aCA9IG1hYy9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xs
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MTM5LDggKzE2MTk5LDE1IEBA
CiAJCTY1M0VGODM2MTlBMDQzQUUwMDUyMjAyQyAvKiBzcGkgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUNFNEY2RDI4MTlCNzc0RDUwMEJGQzY0QSAvKiBh
dmtpdCAqLywKKwkJCQlDRTRGNkQzMTE5Qjc3NEY2MDBCRkM2NEEgLyogY2EgKi8sCiAJCQkJNjUw
ODZEQTYxOUFDMTcxOTAwOUFGNDZCIC8qIGNmICovLAorCQkJCUNFNEY2RDM2MTlCNzc1MTIwMEJG
QzY0QSAvKiBjZyAqLywKIAkJCQk2NTNFRjgzNzE5QTA0M0FFMDA1MjIwMkMgLyogY29jb2EgKi8s
CisJCQkJQ0U0RjZENEIxOUI3NzU3QjAwQkZDNjRBIC8qIGN0ICovLAorCQkJCUNFNEY2RDRFMTlC
Nzc1N0IwMEJGQzY0QSAvKiBjdWkgKi8sCisJCQkJQ0U0RjZENTExOUI3NzU3QjAwQkZDNjRBIC8q
IGlvcyAqLywKKwkJCQlDRTRGNkQ1NDE5Qjc3NTdCMDBCRkM2NEEgLyogcXVpY2tsb29rICovLAog
CQkJKTsKIAkJCXBhdGggPSBzcGk7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTYx
NDgsNiArMTYyMTUsMTIgQEAKIAkJNjUzRUY4MzcxOUEwNDNBRTAwNTIyMDJDIC8qIGNvY29hICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDRTRGNkQ1RjE5
Qjc3NUY4MDBCRkM2NEEgLyogRGlzcGF0Y2hTUEkuaCAqLywKKwkJCQlDRTRGNkQ2MDE5Qjc3NUY4
MDBCRkM2NEEgLyogZHlsZFNQSS5oICovLAorCQkJCUNFNEY2RDY5MTlCNzg1NEUwMEJGQzY0QSAv
KiBJT1BNTGliU1BJLmggKi8sCisJCQkJQ0U0RjZENjExOUI3NzVGODAwQkZDNjRBIC8qIE5TRmls
ZU1hbmFnZXJTUEkuaCAqLywKKwkJCQlDRTRGNkQ2MjE5Qjc3NUY4MDBCRkM2NEEgLyogTlNHZW9t
ZXRyeVNQSS5oICovLAorCQkJCUNFNEY2RDYzMTlCNzc1RjgwMEJGQzY0QSAvKiBOU1BvaW50ZXJG
dW5jdGlvbnNTUEkuaCAqLywKIAkJCQk2NTNFRjgzODE5QTA0M0FFMDA1MjIwMkMgLyogTlNVUkxG
aWxlVHlwZU1hcHBpbmdzU1BJLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IGNvY29hOwpAQCAtMjE1
NDQsNiArMjE2MTcsNzkgQEAKIAkJCXBhdGggPSBpb3M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwogCQl9OworCQlDRTRGNkQyODE5Qjc3NEQ1MDBCRkM2NEEgLyogYXZraXQgKi8gPSB7CisJ
CQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNFNEY2RDI5MTlCNzc0RDUw
MEJGQzY0QSAvKiBBVlBsYXllckNvbnRyb2xsZXJTUEkuaCAqLywKKwkJCQlDRTRGNkQyQTE5Qjc3
NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oICovLAorCQkJCUNFNEY2
RDJCMTlCNzc0RDUwMEJGQzY0QSAvKiBBVlZhbHVlVGltaW5nU1BJLmggKi8sCisJCQkJQ0U0RjZE
MkMxOUI3NzRENTAwQkZDNjRBIC8qIEFWVmlkZW9MYXllclNQSS5oICovLAorCQkJKTsKKwkJCXBh
dGggPSBhdmtpdDsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUNFNEY2RDMx
MTlCNzc0RjYwMEJGQzY0QSAvKiBjYSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hp
bGRyZW4gPSAoCisJCQkJQ0U0RjZEMzIxOUI3NzRGNjAwQkZDNjRBIC8qIENBTGF5ZXJTUEkuaCAq
LywKKwkJCQlDRTRGNkQzMzE5Qjc3NEY2MDBCRkM2NEEgLyogQ0FUaWxlZExheWVyU1BJLmggKi8s
CisJCQkpOworCQkJcGF0aCA9IGNhOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsK
KwkJQ0U0RjZEMzYxOUI3NzUxMjAwQkZDNjRBIC8qIGNnICovID0geworCQkJaXNhID0gUEJYR3Jv
dXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDRTRGNkQzNzE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dD
b2xvclRyYW5zZm9ybVNQSS5oICovLAorCQkJCUNFNEY2RDM4MTlCNzc1MTIwMEJGQzY0QSAvKiBD
R0NvbnRleHRHU3RhdGVTUEkuaCAqLywKKwkJCQlDRTRGNkQzOTE5Qjc3NTEyMDBCRkM2NEEgLyog
Q0dDb250ZXh0U1BJLmggKi8sCisJCQkJQ0U0RjZEM0ExOUI3NzUxMjAwQkZDNjRBIC8qIENHRmxv
YXRTUEkuaCAqLywKKwkJCQlDRTRGNkQzQjE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250R2x5cGhT
dXBwb3J0U1BJLmggKi8sCisJCQkJQ0U0RjZEM0MxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udElu
Zm9TUEkuaCAqLywKKwkJCQlDRTRGNkQzRDE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250UmVuZGVy
aW5nU1BJLmggKi8sCisJCQkJQ0U0RjZEM0UxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udFVuaWNv
ZGVTdXBwb3J0U1BJLmggKi8sCisJCQkJQ0U0RjZEM0YxOUI3NzUxMjAwQkZDNjRBIC8qIENHSW1h
Z2VTUEkuaCAqLywKKwkJCQlDRTRGNkQ0MDE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dTUmVnaW9uU1BJ
LmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNnOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJQ0U0RjZENEIxOUI3NzU3QjAwQkZDNjRBIC8qIGN0ICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDRTRGNkQ0QzE5Qjc3NTdCMDBCRkM2NEEg
LyogQ1RGb250RGVzY3JpcHRvclNQSS5oICovLAorCQkJCUNFNEY2RDREMTlCNzc1N0IwMEJGQzY0
QSAvKiBDVEZvbnRTUEkuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gY3Q7CisJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOworCQl9OworCQlDRTRGNkQ0RTE5Qjc3NTdCMDBCRkM2NEEgLyogY3VpICov
ID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDRTRGNkQ0RjE5
Qjc3NTdCMDBCRkM2NEEgLyogQ1VJQ2F0YWxvZ1NQSS5oICovLAorCQkJCUNFNEY2RDUwMTlCNzc1
N0IwMEJGQzY0QSAvKiBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEkuaCAqLywKKwkJCSk7
CisJCQlwYXRoID0gY3VpOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQ0U0
RjZENTExOUI3NzU3QjAwQkZDNjRBIC8qIGlvcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJQ0U0RjZENTIxOUI3NzU3QjAwQkZDNjRBIC8qIE1vYmlsZUdl
c3RhbHRTUEkuaCAqLywKKwkJCQlDRTRGNkQ1MzE5Qjc3NTdCMDBCRkM2NEEgLyogTVBBVlJvdXRp
bmdDb250cm9sbGVyU1BJLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGlvczsKKwkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUNFNEY2RDU0MTlCNzc1N0IwMEJGQzY0QSAvKiBxdWlj
a2xvb2sgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNF
NEY2RDU1MTlCNzc1N0IwMEJGQzY0QSAvKiBRTFByZXZpZXdDb252ZXJ0ZXJTUEkuaCAqLywKKwkJ
CQlDRTRGNkQ1NjE5Qjc3NTdCMDBCRkM2NEEgLyogUXVpY2tMb29rU1BJLmggKi8sCisJCQkpOwor
CQkJcGF0aCA9IHF1aWNrbG9vazsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJ
CUNFNzlENjg2MTdGMjIwRUQwMDgxNUMwMCAvKiBpb3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMjMzMzUsOCArMjM0ODEsMTIgQEAKIAkJCQkwNzAzNjNF
MDE4MUExQ0RDMDBDMDc0QTUgLyogQVZBdWRpb0NhcHR1cmVTb3VyY2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTA3MDM2M0UyMTgxQTFDREMwMEMwNzRBNSAvKiBBVkNhcHR1cmVEZXZpY2VNYW5hZ2Vy
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzAzNjNFNDE4MUExQ0RDMDBDMDc0QTUgLyogQVZNZWRp
YUNhcHR1cmVTb3VyY2UuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDJEMTlCNzc0RDUwMEJG
QzY0QSAvKiBBVlBsYXllckNvbnRyb2xsZXJTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2
RDJFMTlCNzc0RDUwMEJGQzY0QSAvKiBBVlBsYXllclZpZXdDb250cm9sbGVyU1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDRDMzNkY2MjE3RjlGNjQ3MDBERERDRDAgLyogQVZUcmFja1ByaXZhdGVB
VkZPYmpDSW1wbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZEMkYxOUI3NzRENTAwQkZDNjRB
IC8qIEFWVmFsdWVUaW1pbmdTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3MDM2M0U2MTgxQTFD
REMwMEMwNzRBNSAvKiBBVlZpZGVvQ2FwdHVyZVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
Q0U0RjZEMzAxOUI3NzRENTAwQkZDNjRBIC8qIEFWVmlkZW9MYXllclNQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMjlBODEyMzgwRkJCOUMxRDAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxNzQxRDBGMEIwNzI1OUEwMEVENDQyQyAvKiBCYWNrRm9yd2FyZENs
aWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBOEM4MUUxMUUzRDM2OTAwODEyRkI3IC8qIEJh
Y2tGb3J3YXJkQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzQxMCw2ICsyMzU2MCw3
IEBACiAJCQkJQkNCMTZDMjgwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OTUwMDgyNDVFNTkwMDFFOUFCQyAvKiBDYWNoZVBv
bGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RjUwMDIxOTRDQUMzQTAwODFCQUFFIC8qIEpT
R2FtZXBhZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZEMzQxOUI3NzRGNjAwQkZDNjRBIC8q
IENBTGF5ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QUUyRDk3MTM0RUU1RjkwMDcyOTIw
QSAvKiBDYWxjdWxhdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMUQ1RUNCNTEzNEI1
OERBMDA4N0M3OEYgLyogQ2FsbGJhY2tGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkU0
RTkxQUQxMEY3RkIzMTAwQTI3NzlDIC8qIENhbnZhc0NvbnRleHRBdHRyaWJ1dGVzLmggaW4gSGVh
ZGVycyAqLywKQEAgLTIzNDI0LDYgKzIzNTc1LDcgQEAKIAkJCQkwNzlEMDg2ODE2MkYyMEU4MDBE
Qjg2NTggLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc5
RDA4NkIxNjJGMjFGOTAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5OUNDMEI0RjE4QkU5ODQ5MDA2Q0VCQ0MgLyogQ2FwdHVyaW5n
SW5wdXRDdXJzb3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDM1MTlCNzc0RjYwMEJGQzY0
QSAvKiBDQVRpbGVkTGF5ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNTUxNUY1MTkxODMw
QTMwMDk2ODdEMiAvKiBZb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTY1NTBCNjlFMDk5REYwMjcwMDkwRDc4MSAvKiBDREFUQVNlY3Rpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCUNEREQ1NzE1MThCNTdBODIwMEE5NEZDQiAvKiBDRE1TZXNzaW9uLmggaW4gSGVh
ZGVycyAqLywKQEAgLTIzNDMxLDYgKzIzNTgzLDE2IEBACiAJCQkJQ0U4MjQ1RjAxOUI2NzFCQTAw
QUMwMTIyIC8qIENGTmV0d29ya0Nvbm5lY3Rpb25DYWNoZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTFBOEU1NjcxNzU1MkIyQTAwNzQ4OEU3IC8qIENGVVJMRXh0cmFzLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDRTgyNDVGMjE5QjY3MUQ1MDBBQzAxMjIgLyogQ0ZVUkxSZXF1ZXN0U1BJLmggaW4g
SGVhZGVycyAqLywKKwkJCQlDRTRGNkQ0MzE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0U1BJ
LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ0MjE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250
ZXh0R1N0YXRlU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ0MTE5Qjc3NTEyMDBCRkM2
NEEgLyogQ0dDb2xvclRyYW5zZm9ybVNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENDUx
OUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEdseXBoU3VwcG9ydFNQSS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQ0U0RjZENDYxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEluZm9TUEkuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUNFNEY2RDQ3MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRSZW5kZXJpbmdT
UEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDQ4MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0Zv
bnRVbmljb2RlU3VwcG9ydFNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENDQxOUI3NzUx
MjAwQkZDNjRBIC8qIENHRmxvYXRTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDQ5MTlC
Nzc1MTIwMEJGQzY0QSAvKiBDR0ltYWdlU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ0
QTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dTUmVnaW9uU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlG
RTM2RkQxNTE2Qzc4MjY1MDBGODg3QzEgLyogQ2hhbmdlVmVyc2lvbkRhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTk3QkM2OUREMTUwNUYwNzYwMDFCNzRBQyAvKiBDaGFuZ2VWZXJzaW9uV3JhcHBl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTVGRkYxMkIwMjY3NjAwQzFBMzU5IC8qIENoYW5u
ZWxNZXJnZXJOb2RlLmggaW4gSGVhZGVycyAqLywKQEAgLTIzNjE5LDEwICsyMzc4MSwxNSBAQAog
CQkJCTY1NjU4MTUxMDlEMTMwNDMwMDBFNjFENyAvKiBDU1NWYWx1ZUtleXdvcmRzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBODBFNkNFOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTVmFsdWVMaXN0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFNDlCRDlGQTEzMUZEMkVEMDAzQzU2RjAgLyogQ1NTVmFsdWVQ
b29sLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ1NzE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RG
b250RGVzY3JpcHRvclNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENTgxOUI3NzU3QjAw
QkZDNjRBIC8qIENURm9udFNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENTkxOUI3NzU3
QjAwQkZDNjRBIC8qIENVSUNhdGFsb2dTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDVB
MTlCNzc1N0IwMEJGQzY0QSAvKiBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTkzRjE5OTJGMDgyNDVFNTkwMDFFOUFCQyAvKiBDdXJzb3IuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDMjI3MkEyMEU4MkU4N0MwMEU3Rjk3NSAvKiBDdXJzb3JEYXRhLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzIyNzJBRDBFODJFOEYzMDBFN0Y5NzUgLyogQ3Vyc29yTGlz
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjJDRDMyNUExMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3Rv
bUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ2NTE5Qjc3NUY4MDBCRkM2NEEgLyog
ZHlsZFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDQjQxM0UwRTg2MzNGRDAwMzJDNEYwIC8q
IERhc2hBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZEMEIwQTE5ODlDQTAwN0ZCOEM1
IC8qIERhc2hib2FyZFJlZ2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3OUNFMkExOTVDOTE4
NjAwMTlDMTk4IC8qIEdhbWVwYWRQcm92aWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0y
MzY5NSw2ICsyMzg2Miw3IEBACiAJCQkJRkRBRjE5OTkxNTEzRDEzMTAwOERCMEMzIC8qIERpcmVj
dENvbnZvbHZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVDNTY2QUIxMjdBM0FBRDAwRThBM0ZG
IC8qIERpc2tJbWFnZUNhY2hlQ2xpZW50SU9TLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUY5RUY3
MTEyNjY3NTBEMDBGQ0NGNTIgLyogRGlza0ltYWdlQ2FjaGVJT1MuaCBpbiBIZWFkZXJzICovLAor
CQkJCUNFNEY2RDY0MTlCNzc1RjgwMEJGQzY0QSAvKiBEaXNwYXRjaFNQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDlBRjJENjkxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRv
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUQ4QzREQzAxNDI4MjIyQzAwMjZDRTcyIC8qIERpc3Bs
YXlTbGVlcERpc2FibGVyQ29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDkxMTJCMDI2
RjcwMEMxQTM1OSAvKiBEaXN0YW5jZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDU3Myw2ICsyNDc0
MSw3IEBACiAJCQkJRTEzNEY1QUIxMkVFMzQzRjAwNEVDNThEIC8qIEludFJlY3RIYXNoLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCMjc1MzU3NTBCMDUzODE0MDAyQ0U2NEYgLyogSW50U2l6ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjI3NTM1NzYwQjA1MzgxNDAwMkNFNjRGIC8qIEludFNpemVIYXNo
LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ2QTE5Qjc4NTRFMDBCRkM2NEEgLyogSU9QTUxp
YlNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE4Rjg4MDUwRkY5NTdBRjAwODBGMDQ1IC8qIEpT
QWJzdHJhY3RXb3JrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3MDU4NTFCMTdGQjQ0QjQwMDVG
MkJDQiAvKiBKU0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzA1
ODUwMzE3RkExMEQwMDA1RjJCQ0IgLyogSlNBbGxWaWRlb0NhcGFiaWxpdGllcy5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yNTI5NSw2ICsyNTQ2NCw3IEBACiAJCQkJMzdERENEOTUxMzg0NEZENTAwMDhC
NzkzIC8qIE1JTUVIZWFkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNzcyQzRGMEM0RUIzMDQw
MDgzMjg1RiAvKiBNSU1FVHlwZVJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MkYxMDg2
NjE2MkI2REE4MDA5QUM4MUUgLyogTWl4ZWRDb250ZW50Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQ0U0RjZENUIxOUI3NzU3QjAwQkZDNjRBIC8qIE1vYmlsZUdlc3RhbHRTUEkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUNERjJCMDExMTgyMDU0MDYwMEYyQjQyNCAvKiBNb2NrQm94LmggaW4g
SGVhZGVycyAqLywKIAkJCQlDREYyQjAxMzE4MjA1NDA2MDBGMkI0MjQgLyogTW9ja01lZGlhUGxh
eWVyTWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUNERjJCMDE1MTgyMDU0MDYwMEYy
QjQyNCAvKiBNb2NrTWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLywKQEAgLTI1MzA3
LDYgKzI1NDc3LDcgQEAKIAkJCQk5MzVDNDc2MzA5QUM0Q0U2MDBBNkFBQjQgLyogTW91c2VFdmVu
dFdpdGhIaXRUZXN0UmVzdWx0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNDgwQTQ0RUZD
NzAwRjk5MkUwIC8qIE1vdXNlUmVsYXRlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMw
OURGQzA5OUU2NDkyMDA1NkU1ODEgLyogTW92ZVNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUNFNEY2RDVDMTlCNzc1N0IwMEJGQzY0QSAvKiBNUEFWUm91dGluZ0NvbnRyb2xs
ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQjE3MDA2MTRBMkJBQjIwMEEyQjVEOSAvKiBN
dWx0aUNoYW5uZWxSZXNhbXBsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUM2RjA5MDBBMTQzMjdC
NjEwMDY4NTg0OSAvKiBNdXRhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAz
MUI0QTBBNDRFRkM3MDBGOTkyRTAgLyogTXV0YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNTMxNCw2ICsyNTQ4NSw5IEBACiAJCQkJRDZFNTI4QTQxNDlBOTI2RDAwRUZFMUYzIC8qIE11
dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmggaW4gSGVhZGVycyAqLywKIAkJCQlENkUyNzZC
MDE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQzZGMDhGQkQxNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3Jk
LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ2NjE5Qjc3NUY4MDBCRkM2NEEgLyogTlNGaWxl
TWFuYWdlclNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENjcxOUI3NzVGODAwQkZDNjRB
IC8qIE5TR2VvbWV0cnlTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDY4MTlCNzc1Rjgw
MEJGQzY0QSAvKiBOU1BvaW50ZXJGdW5jdGlvbnNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUy
QjZDOUM2MTVFM0Y0REYwMDY5MEIwNSAvKiBOYW1lZEZsb3dDb2xsZWN0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODE4NzIyMzA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZWROb2RlTWFwLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBODE4NzIxRTA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZU5vZGVMaXN0
LmggaW4gSGVhZGVycyAqLywKQEAgLTI1NTAzLDggKzI1Njc3LDEwIEBACiAJCQkJRkY5NDVFQ0Mx
NjFGN0YzNjAwOTcxQkM4IC8qIFBzZXVkb0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTAw
ODFGRjAwMTZCMEEyRDMwMDhBQUE3QSAvKiBQdWJsaWNTdWZmaXguaCBpbiBIZWFkZXJzICovLAog
CQkJCTEwRkIwODRCMTRFMTVDN0UwMEEzREI5OCAvKiBQdWJsaWNVUkxNYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlDRTRGNkQ1RDE5Qjc3NTdCMDBCRkM2NEEgLyogUUxQcmV2aWV3Q29udmVy
dGVyU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NTBBMEJDQTA4NUY2MDM5MDA3MzUzRDYgLyog
UXVhbGlmaWVkTmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQyQUY3QTkxMDJDRERFQTAwOEZE
NEQzIC8qIFF1aWNrTG9vay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENUUxOUI3NzU3QjAw
QkZDNjRBIC8qIFF1aWNrTG9va1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcyQUUxRTgxODND
MDc0MTAwMEE1OTg4IC8qIFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQkzNzlFMzcxNzEzNzM2QTY2MDBCOUU5MTkgLyogUXVvdGVkUHJpbnRhYmxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1QTU3NEYyOTEzMURCOTZEMDA0NzFCODggLyogUXVvdGVzRGF0YS5o
IGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpj
L0RPTUludGVybmFsLm1tIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5h
bC5tbQppbmRleCBiYjNmYzY5YTJkN2ZkNmEzY2I3ZjM3OWU1MmY4Nzc3NDc2OGM4NzY3Li5iMGIy
ZTM2ZWUzOTEzNWI5NzI1YTNmMDRiYjg1OGVmYWI3YmNlMTdkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUludGVybmFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwubW0KQEAgLTM1LDYgKzM1LDggQEAKIAogI2lmIFBM
QVRGT1JNKElPUykKICNkZWZpbmUgTkVFRFNfV1JBUFBFUl9DQUNIRV9MT0NLIDEKKworI2ltcG9y
dCAiTlNQb2ludGVyRnVuY3Rpb25zU1BJLmgiCiAjZW5kaWYKIAogLy8tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpj
L29iamNfaW5zdGFuY2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2luc3Rh
bmNlLm1tCmluZGV4IDAxNWE2ZmJkY2NiN2E0ZTU3NDZhYTA2MWQ1ODllOTg0ODcyYmJhYmMuLjc3
YmJlNWZmYTBhOWIxOTZkMGNlNjQzNWU4NjRkM2M0ZGUyNTkzMDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfaW5zdGFuY2UubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5tbQpAQCAtMjYsMjAgKzI2LDIxIEBACiAjaW1w
b3J0ICJjb25maWcuaCIKICNpbXBvcnQgIm9iamNfaW5zdGFuY2UuaCIKIAotI2ltcG9ydCAicnVu
dGltZV9tZXRob2QuaCIKLSNpbXBvcnQgPHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmg+CiAjaW1w
b3J0ICJKU0RPTUJpbmRpbmcuaCIKKyNpbXBvcnQgIk5TUG9pbnRlckZ1bmN0aW9uc1NQSS5oIgog
I2ltcG9ydCAiT2JqQ1J1bnRpbWVPYmplY3QuaCIKICNpbXBvcnQgIldlYlNjcmlwdE9iamVjdC5o
IgorI2ltcG9ydCAicnVudGltZV9tZXRob2QuaCIKICNpbXBvcnQgPG9iamMvb2JqYy1hdXRvLmg+
CiAjaW1wb3J0IDxydW50aW1lL0Vycm9yLmg+CisjaW1wb3J0IDxydW50aW1lL0Z1bmN0aW9uUHJv
dG90eXBlLmg+CiAjaW1wb3J0IDxydW50aW1lL0pTTG9jay5oPgotI2ltcG9ydCAicnVudGltZS9G
dW5jdGlvblByb3RvdHlwZS5oIgorI2ltcG9ydCA8cnVudGltZS9PYmplY3RQcm90b3R5cGUuaD4K
ICNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0
IDxGb3VuZGF0aW9uL05TTWFwVGFibGUuaD4KLSNlbmRpZiAvLyBQTEFURk9STShJT1MpCisjZW5k
aWYKIAogI2lmZGVmIE5ERUJVRwogI2RlZmluZSBPQkpDX0xPRyhmb3JtYXRBbmRBcmdzLi4uKSAo
KHZvaWQpMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvSFRNTENv
bnZlcnRlci5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvSFRNTENvbnZlcnRlci5t
bQppbmRleCA2ZDRkNjhlYmNkOGMwMzNmZWU1MGMyYmE1Mjg1ODc5NzA5YmM4OWE0Li44MjExY2Yz
ODMwZDg2NzkyMzNkMDg3YzQ4YTczYTdjZTRhM2ZhZjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVyLm1tCkBAIC02Miw2ICs2Miw4IEBACiAKICNpZiBQ
TEFURk9STShJT1MpCiAKKyNpbXBvcnQgIk5TR2VvbWV0cnlTUEkuaCIKKwogU09GVF9MSU5LX0ZS
QU1FV09SSyhVSUtpdCkKIFNPRlRfTElOS19DTEFTUyhVSUtpdCwgVUlDb2xvcikKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFn
ZXJJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9u
TWFuYWdlcklPUy5tbQppbmRleCBkZmEyYjY2MjljZmRlNmIxMDUzZDkxNjBjM2RkYTJiYmE2ZDQw
OWUzLi45OWVkZTBjYzNmNDg1MTIzNThhMTI3OTUwYTViODZkMThkNTRjMDdlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9u
TWFuYWdlcklPUy5tbQpAQCAtMjksMTMgKzI5LDEzIEBACiAjaWYgUExBVEZPUk0oSU9TKQogCiAj
aW1wb3J0ICJMb2dnaW5nLmgiCisjaW1wb3J0ICJNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCIK
ICNpbXBvcnQgIk1lZGlhUGxheWVyLmgiCiAjaW1wb3J0ICJNZWRpYVNlc3Npb24uaCIKICNpbXBv
cnQgIlNvZnRMaW5raW5nLmgiCiAjaW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCiAj
aW1wb3J0ICJXZWJDb3JlVGhyZWFkUnVuLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBdWRp
b1Nlc3Npb24uaD4KLSNpbXBvcnQgPE1lZGlhUGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxlci5o
PgogI2ltcG9ydCA8TWVkaWFQbGF5ZXIvTVBNZWRpYUl0ZW0uaD4KICNpbXBvcnQgPE1lZGlhUGxh
eWVyL01QTm93UGxheWluZ0luZm9DZW50ZXIuaD4KICNpbXBvcnQgPE1lZGlhUGxheWVyL01QVm9s
dW1lVmlldy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGlz
cGxheVNsZWVwRGlzYWJsZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9EaXNwbGF5U2xlZXBEaXNhYmxlckNvY29hLmNwcAppbmRleCA3ZWUyZTA4M2Q0NzZjMTU4YTc4
MWEzNjYwOTllMzllNDhmMGIzOTFkLi5hYjllMjMxMTM2NGJlNDUzNGQ3NGJjMTEyZWU4MTNmNzZl
MmE2M2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EaXNwbGF5
U2xlZXBEaXNhYmxlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9EaXNwbGF5U2xlZXBEaXNhYmxlckNvY29hLmNwcApAQCAtMjgsNyArMjgsNyBAQAogCiAjaWYg
UExBVEZPUk0oQ09DT0EpCiAKLSNpbmNsdWRlIDxJT0tpdC9wd3JfbWd0L0lPUE1MaWIuaD4KKyNp
bmNsdWRlICJJT1BNTGliU1BJLmgiCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NvY29hL01lbW9yeVByZXNzdXJlSGFuZGxlckNvY29hLm1tCmluZGV4IDgwNDI1MGE0YTM1YTE5
N2U3YWI1ZWFmNTk1YzNkNjNmMDdlNjU2YWYuLjM0NDFhYmFlODNiZmQ5ODM1ODYxZjc0M2JlYzdh
YjgyNDg4MjNhZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL01l
bW9yeVByZXNzdXJlSGFuZGxlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NvY29hL01lbW9yeVByZXNzdXJlSGFuZGxlckNvY29hLm1tCkBAIC0yNiw2ICsyNiw3IEBACiAj
aW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIk1lbW9yeVByZXNzdXJlSGFuZGxlci5oIgogCisj
aW1wb3J0ICJEaXNwYXRjaFNQSS5oIgogI2ltcG9ydCAiSU9TdXJmYWNlUG9vbC5oIgogI2ltcG9y
dCAiR0NDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJKU0RPTVdpbmRvd0Jhc2UuaCIKQEAgLTQxLDcg
KzQyLDYgQEAKICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0ICJTeXN0ZW1NZW1vcnkuaCIKICNp
bXBvcnQgIldlYkNvcmVUaHJlYWQuaCIKLSNpbXBvcnQgPGRpc3BhdGNoL3ByaXZhdGUuaD4KICNl
bmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbnRSZWN0LmgKaW5kZXggNTg0OWUzYWFhOGE1MTAyZjM0YTM4MjdmMWUyNTg5YzJlZjBj
MWY0OC4uYjIzMTg5MDg5YjgzZDU3MDU1NjlmZGYxMWI0MjExNDgxNmIzNDg1OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaApAQCAtNDIsOSArNDIsNyBAQCB0
eXBlZGVmIHN0cnVjdCBfTlNSZWN0IE5TUmVjdDsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9T
KQotI2lmbmRlZiBOU1JlY3QKLSNkZWZpbmUgTlNSZWN0IENHUmVjdAotI2VuZGlmCit0eXBlZGVm
IENHUmVjdCBOU1JlY3Q7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdJTikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCmluZGV4IDA0YTgy
NTNkZTc2ODBiZTQxYWNlMGY4YTQ2N2UzN2ZhMDQyMTQ2OWYuLjY4ZWZjOTBiZDg0NDg3MDkwYTEy
MDQ1NDY4ODcxZThlZjgyM2I3ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaApAQCAtNTUsMTkgKzU1LDcgQEAKICNlbmRpZgogCiAj
aWYgVVNFKENHKQotI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVkZSg8
Q29yZUdyYXBoaWNzL0NHRm9udFJlbmRlcmluZy5oPikKLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3Mv
Q0dGb250UmVuZGVyaW5nLmg+Ci0jZWxzZQotZW51bSB7Ci0gICAga0NHRm9udFJlbmRlcmluZ1N0
eWxlQW50aWFsaWFzaW5nID0gKDEgPDwgMCksCi0gICAga0NHRm9udFJlbmRlcmluZ1N0eWxlU21v
b3RoaW5nID0gKDEgPDwgMSksCi0gICAga0NHRm9udFJlbmRlcmluZ1N0eWxlU3VicGl4ZWxQb3Np
dGlvbmluZyA9ICgxIDw8IDIpLAotICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVN1YnBpeGVsUXVh
bnRpemF0aW9uID0gKDEgPDwgMyksCi0gICAga0NHRm9udFJlbmRlcmluZ1N0eWxlUGxhdGZvcm1O
YXRpdmUgPSAoMSA8PCA5KSwKLSAgICBrQ0dGb250UmVuZGVyaW5nU3R5bGVNYXNrID0gMHgyMEYK
LX07Ci0jZW5kaWYKLXR5cGVkZWYgdWludDMyX3QgQ0dGb250UmVuZGVyaW5nU3R5bGU7CisjaW5j
bHVkZSAiQ0dGb250UmVuZGVyaW5nU1BJLmgiCiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggOGYwODIxMTNkNWJjMDQwNjY4YzE5NDg0ODdj
NTVlOTcwMDA3NjQ2My4uYzIyYThjNjU0Y2E0ZmRlNGU2OWE4NTUzYWQ4ZGFlYjgxYmNmMDNlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBAIC00Myw2ICs0Myw3IEBACiAjaW1wb3J0ICJJbmJh
bmRNZXRhZGF0YVRleHRUcmFja1ByaXZhdGVBVkYuaCIKICNpbXBvcnQgIkluYmFuZFRleHRUcmFj
a1ByaXZhdGVBVkZPYmpDLmgiCiAjaW1wb3J0ICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlTGVnYWN5
QVZGT2JqQy5oIgorI2ltcG9ydCAiTlNHZW9tZXRyeVNQSS5oIgogI2ltcG9ydCAiT3V0T2ZCYW5k
VGV4dFRyYWNrUHJpdmF0ZUFWRi5oIgogI2ltcG9ydCAiVVJMLmgiCiAjaW1wb3J0ICJMb2dnaW5n
LmgiCkBAIC03NCw3ICs3NSw2IEBACiAjaW5jbHVkZSAiVGV4dFRyYWNrLmgiCiAjZW5kaWYKIAot
I2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CiAjaW1wb3J0IDxBVkZvdW5kYXRpb24v
QVZGb3VuZGF0aW9uLmg+CiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCA8Q29yZUltYWdlL0Nv
cmVJbWFnZS5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0KaW5kZXggODM3N2U5NTQ5YmJlZTIy
NTAwZGZmMmVhMmFiZTkxYmY1YWEzYzNhNi4uMmExOGNkYzAyZGM5NWZhMzkyM2QyOTNmNjIyZjVi
YjNkNjFmYjI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tCkBAIC01MiwxMiArNTIsMTIg
QEAKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogI2lmIFBMQVRGT1JNKElPUykKKyNpbXBv
cnQgIkNBVGlsZWRMYXllclNQSS5oIgorI2ltcG9ydCAiTlNHZW9tZXRyeVNQSS5oIgogI2ltcG9y
dCAiV0FLV2luZG93LmgiCiAjaW1wb3J0ICJXS0dyYXBoaWNzLmgiCiAjaW1wb3J0ICJXZWJDb3Jl
VGhyZWFkLmgiCiAjaW1wb3J0ICJXZWJUaWxlZExheWVyLmgiCi0jaW1wb3J0IDxGb3VuZGF0aW9u
L05TR2VvbWV0cnkuaD4KLSNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FUaWxlZExheWVyUHJpdmF0ZS5o
PgogI2Vsc2UKICNpbXBvcnQgIlRoZW1lTWFjLmgiCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0JpdG1hcEltYWdlQ0cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvQml0bWFwSW1hZ2VDRy5jcHAKaW5kZXggOGE0
YTEzZTg5YjZiMTY0ZDFlZTViNTE2NmRlYTE0MjA1NmRjZDQwYi4uZDI1MTljODI2ZmZmNTlhYjY3
NzFhMmYwMmM2OTkyNjUwZjA4Y2VmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvQml0bWFwSW1hZ2VDRy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvQml0bWFwSW1hZ2VDRy5jcHAKQEAgLTM5LDEwICszOSw2IEBACiAj
aW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAjZW5k
aWYKIAotI2lmIFBMQVRGT1JNKElPUykKLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0
UHJpdmF0ZS5oPgotI2VuZGlmCi0KICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlICJXZWJD
b3JlU3lzdGVtSW50ZXJmYWNlLmgiCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0NvbG9yQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvQ29sb3JDRy5jcHAKaW5kZXggYmNhODMwZmZkNWE5N2U2NDA5OGMyYzBk
YTc5YTRiY2Y2YTYxODMzZS4uZmE4ZmMzNjc4ZjRiMzc5ODM5YWYyMTc5MjJmMzNlOTMwMGI3OGUx
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvQ29sb3JD
Ry5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvQ29sb3JDRy5j
cHAKQEAgLTM0LDggKzM0LDcgQEAKICNpZiAhUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgPEFwcGxp
Y2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogI2Vsc2UKLSNpbmNsdWRlIDxD
b3JlR3JhcGhpY3MvQ0dDb2xvclRyYW5zZm9ybS5oPgotI2luY2x1ZGUgPENvcmVHcmFwaGljcy9D
b3JlR3JhcGhpY3MuaD4KKyNpbmNsdWRlICJDR0NvbG9yVHJhbnNmb3JtU1BJLmgiCiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2VuZGlmIC8vICFQTEFURk9STShJT1MpCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4
dENHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29u
dGV4dENHLmNwcAppbmRleCAxZTNhYTc1YTY5NDEyNjY3ZDYwYjJlOGRmZTg1NTU2ZDMyNmI4ZDgx
Li4wOTU5NjdmMTk3NmJlZGZhNTQxNGYyNmJjOTAxMjk4ZGU2MTcyOTEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0
Q0cuY3BwCkBAIC0yOSwxNiArMjksMTggQEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHRDRy5o
IgogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiQ0dDb250ZXh0R1N0
YXRlU1BJLmgiCisjaW5jbHVkZSAiQ0dDb250ZXh0U1BJLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252
ZXJzaW9uLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlQ0cuaCIK
ICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkltYWdlT3JpZW50YXRpb24uaCIK
LSNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAjaW5jbHVkZSAiUGF0dGVybi5o
IgogI2luY2x1ZGUgIlNoYWRvd0JsdXIuaCIKICNpbmNsdWRlICJTdWJpbWFnZUNhY2hlV2l0aFRp
bWVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlIDxD
b3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4K
ICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC01MiwxNyArNTQsOSBAQAogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShJT1MpCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dEdTdGF0
ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjZW5kaWYKIAotI2lmICFQTEFURk9STShJ
T1MpCi1leHRlcm4gIkMiIHsKLSAgICBDR19FWFRFUk4gdm9pZCBDR0NvbnRleHRTZXRDVE0oQ0dD
b250ZXh0UmVmLCBDR0FmZmluZVRyYW5zZm9ybSk7Ci0gICAgQ0dfRVhURVJOIENHQWZmaW5lVHJh
bnNmb3JtIENHQ29udGV4dEdldEJhc2VDVE0oQ0dDb250ZXh0UmVmKTsKLX07Ci0jZW5kaWYgLy8g
IVBMQVRGT1JNKElPUykKLQogLy8gRklYTUU6IFRoZSBmb2xsb3dpbmcgdXNpbmcgZGVjbGFyYXRp
b24gc2hvdWxkIGJlIGluIDx3dGYvSGFzaEZ1bmN0aW9ucy5oPi4KIHVzaW5nIFdURjo6cGFpcklu
dEhhc2g7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0ltYWdlU291cmNlQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SW1hZ2VTb3VyY2VDRy5jcHAKaW5kZXggODVhYWM4NTUyYjVhYTE4N2ViMGFhNmZmY2RlNTI2NzRj
ZGE3OTU3ZS4uOTRjMDA0OTUzMDMwN2ZiMTUyOTJkOTI4NmRjMGMzOTU3Njg1MzNmYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VTb3VyY2VDRy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VTb3VyY2VD
Ry5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKICNpZiAhUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgPEFw
cGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogI2Vsc2UKLSNpbmNsdWRl
IDxDb3JlR3JhcGhpY3MvQ0dJbWFnZVByaXZhdGUuaD4KKyNpbmNsdWRlICJDR0ltYWdlU1BJLmgi
CiAjaW5jbHVkZSA8SW1hZ2VJTy9JbWFnZUlPLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJv
eWVkLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERGRG9jdW1lbnRJbWFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdlLmNwcAppbmRleCA0
MDIyZmFkMTFlN2E2NDNmMDJhYzRhMTVlYTYzZjJhMzE1OTNhMWJlLi4wNTRkNjNlYzg4MTdkNzNm
YmJiYjNkNDVhYTdhZTA5YjU3MDlkMTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdlLmNwcApAQCAtMzAsOCArMzAs
NiBAQAogI2lmIFVTRShDRykKIAogI2lmIFBMQVRGT1JNKElPUykKLSNpbXBvcnQgPENvcmVHcmFw
aGljcy9DR0NvbnRleHRQcml2YXRlLmg+Ci0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0
R1N0YXRlLmg+CiAjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CiAjaW1wb3J0
IDxJbWFnZUlPL0ltYWdlSU8uaD4KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1t
CmluZGV4IDNmZjE4MjNmZmUyMjg4NzM3NDkxNDg4YjEyMDYwNDM4NTU3N2ZkNDguLjgxMWY1N2Vl
Zjg0MTlhYmU1Zjk0MjhmMGI3YzU3ZTlhMGNmYjM2ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRh
Q29jb2EubW0KQEAgLTI4LDggKzI4LDggQEAKICNpZiAhUExBVEZPUk0oSU9TKQogI2ltcG9ydCA8
QXBwS2l0L05TRm9udC5oPgogI2Vsc2UKKyNpbXBvcnQgIkNHRm9udEluZm9TUEkuaCIKICNpbXBv
cnQgPENvcmVUZXh0L0NvcmVUZXh0Lmg+Ci0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dGb250SW5m
by5oPgogI2VuZGlmCiAKICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW0KaW5k
ZXggNGZiODQ1YjhiZTcyNDYxNDEzMzUzNmMzOTE5YzMzNGUxMGM4NjJlNS4uM2M4Nzg4MWQ1NWZl
OTI4MzViNWNlMTVkZTA1YWE3ZDdhNWExMmQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tCkBAIC0yOSwxMSArMjksMTEg
QEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiRm9udENhY2hlLmgiCiAKKyNpbXBvcnQg
IkNHRm9udFVuaWNvZGVTdXBwb3J0U1BJLmgiCisjaW1wb3J0ICJDVEZvbnREZXNjcmlwdG9yU1BJ
LmgiCisjaW1wb3J0ICJDVEZvbnRTUEkuaCIKICNpbXBvcnQgIkZvbnQuaCIKICNpbXBvcnQgIlJl
bmRlclRoZW1lSU9TLmgiCi0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dGb250VW5pY29kZVN1cHBv
cnQuaD4KLSNpbXBvcnQgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2Lmg+Ci0jaW1wb3J0
IDxDb3JlVGV4dC9DVEZvbnRQcml2Lmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
ICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250U2Vy
dmljZXNJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udFNl
cnZpY2VzSU9TLm1tCmluZGV4IGMyMjJiNTI1MWNlYTljMWVhYTQ3MGQ2MWFjNjRkNDk1NjI1YjBm
MTMuLjM2YzEwZDUyNTE5MjFjNjJiNzAzNTI3NTNhOGVjYTU5YTBlODE2OTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250U2VydmljZXNJT1MubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRTZXJ2aWNlc0lP
Uy5tbQpAQCAtMjUsMTAgKzI1LDkgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiRm9u
dFNlcnZpY2VzSU9TLmgiCiAKKyNpbXBvcnQgIkNHRm9udEluZm9TUEkuaCIKICNpbXBvcnQgIkZv
bnRNZXRyaWNzLmgiCi0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+Ci0jaW1w
b3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzUHJpdmF0ZS5oPgotI2ltcG9ydCA8bWFjaC1v
L2R5bGRfcHJpdi5oPgorI2ltcG9ydCAiZHlsZFNQSS5oIgogI2ltcG9ydCA8d3RmL1JldGFpblB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9pb3MvU2ltcGxlRm9udERhdGFJT1MubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvU2ltcGxlRm9udERhdGFJT1MubW0KaW5kZXggZDNhYzFh
NTMyZGQwNmNlNDc2MjdkMGQzOTk2MzM4ODU1NjcwNzMwMy4uOTg4ZmRlYzU2MzU1NzI2NzU0ZGY0
MDkxZWY5OGQ5NjYxYTM5YzE3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvaW9zL1NpbXBsZUZvbnREYXRhSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2lvcy9TaW1wbGVGb250RGF0YUlPUy5tbQpAQCAtMjgsMTEgKzI4LDEy
IEBACiAjaW1wb3J0ICJTaW1wbGVGb250RGF0YS5oIgogCiAjaW1wb3J0ICJCbG9ja0V4Y2VwdGlv
bnMuaCIKKyNpbXBvcnQgIkNHRm9udEluZm9TUEkuaCIKKyNpbXBvcnQgIkNHRm9udFJlbmRlcmlu
Z1NQSS5oIgogI2ltcG9ydCAiRm9udC5oIgogI2ltcG9ydCAiRm9udENhY2hlLmgiCiAjaW1wb3J0
ICJGb250RGVzY3JpcHRpb24uaCIKICNpbXBvcnQgIkZvbnRTZXJ2aWNlc0lPUy5oIgotI2ltcG9y
dCA8Q29yZUdyYXBoaWNzL0NHRm9udEluZm8uaD4KICNpbXBvcnQgPENvcmVUZXh0L0NvcmVUZXh0
Lmg+CiAjaW1wb3J0IDxmbG9hdC5oPgogI2ltcG9ydCA8dW5pY29kZS91Y2hhci5oPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQppbmRleCBmODQz
YTEyMTZmYzIwYzY4ZTAzNmEyYTM3Njg5MmFkZjNiN2JiNWYwLi5kMzE5ZjFjOGU0N2EzN2Q3YzA2
NmY5OGFhYThkZWNjODdjODY4YjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvRm9udE1hYy5tbQpAQCAtMjMsNiArMjMsNyBAQAogI2ltcG9ydCAiY29uZmln
LmgiCiAjaW1wb3J0ICJGb250LmgiCiAKKyNpbXBvcnQgIkNURm9udERlc2NyaXB0b3JTUEkuaCIK
ICNpbXBvcnQgIkRhc2hBcnJheS5oIgogI2ltcG9ydCAiR2x5cGhCdWZmZXIuaCIKICNpbXBvcnQg
IkdyYXBoaWNzQ29udGV4dC5oIgpAQCAtMzQsMjAgKzM1LDExIEBACiAjZW5kaWYKICNpbXBvcnQg
PHd0Zi9NYXRoRXh0cmFzLmg+CiAKLSNpZiBfX2hhc19pbmNsdWRlKDxDb3JlVGV4dC9DVEZvbnRE
ZXNjcmlwdG9yUHJpdi5oPikKLSNpbXBvcnQgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2
Lmg+Ci0jZW5kaWYKLWV4dGVybiAiQyIgYm9vbCBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1VSUZv
bnQoQ1RGb250RGVzY3JpcHRvclJlZik7Ci0KICNpZiBFTkFCTEUoTEVUVEVSUFJFU1MpCisjaW1w
b3J0ICJDR0NvbnRleHRHU3RhdGVTUEkuaCIKKyNpbXBvcnQgIkNVSUNhdGFsb2dTUEkuaCIKKyNp
bXBvcnQgIkNVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oIgogI2ltcG9ydCAiU29mdExp
bmtpbmcuaCIKLSNpZiBfX2hhc19pbmNsdWRlKDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzUHJp
dmF0ZS5oPikKLSNpbXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3NQcml2YXRlLmg+Ci0j
ZWxzZQotZXh0ZXJuIENHQ29sb3JSZWYgQ0dDb250ZXh0R2V0RmlsbENvbG9yQXNDb2xvcihDR0Nv
bnRleHRSZWYpOwotI2VuZGlmCi0jaW1wb3J0IDxDb3JlVUkvQ1VJQ2F0YWxvZy5oPgotI2ltcG9y
dCA8Q29yZVVJL0NVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvbi5oPgogCiBTT0ZUX0xJTktfUFJJ
VkFURV9GUkFNRVdPUksoQ29yZVVJKQogU09GVF9MSU5LX0NMQVNTKENvcmVVSSwgQ1VJQ2F0YWxv
ZykKQEAgLTU1LDcgKzQ3LDcgQEAgU09GVF9MSU5LX0NMQVNTKENvcmVVSSwgQ1VJU3R5bGVFZmZl
Y3RDb25maWd1cmF0aW9uKQogCiBTT0ZUX0xJTktfRlJBTUVXT1JLKFVJS2l0KQogU09GVF9MSU5L
KFVJS2l0LCBfVUlLaXRHZXRUZXh0RWZmZWN0c0NhdGFsb2csIENVSUNhdGFsb2cgKiwgKHZvaWQp
LCAoKSkKLSNlbmRpZgorI2VuZGlmIC8vIEVOQUJMRShMRVRURVJQUkVTUykKIAogI2RlZmluZSBT
WU5USEVUSUNfT0JMSVFVRV9BTkdMRSAxNAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvR2x5cGhQYWdlVHJlZU5vZGVNYWMuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dseXBoUGFnZVRyZWVOb2RlTWFjLmNwcAppbmRl
eCAxNzQ1Y2Y2MmI0YzIxNjg5Y2Q3M2Q3NTMxMGJhYmM2ZDA1OGQ4MGE4Li5iYTQ5NWU4MmU4NTIx
MGM3M2M4ZTE0OTM1MzdjODQ1MjI5NWE0NGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvR2x5cGhQYWdlVHJlZU5vZGVNYWMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hYy5jcHAK
QEAgLTM1LDggKzM1LDcgQEAKICNpZiAhUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgPEFwcGxpY2F0
aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogI2Vsc2UKLSNpbmNsdWRlIDxDb3Jl
R3JhcGhpY3MvQ0dGb250VW5pY29kZVN1cHBvcnQuaD4KLSNpbmNsdWRlIDxDb3JlVGV4dC9DVEZv
bnRQcml2Lmg+CisjaW5jbHVkZSAiQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaCIKICNpbmNsdWRl
IDxDb3JlVGV4dC9Db3JlVGV4dC5oPgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByb3h5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4IGU5M2Jl
MjQwYTZkMWE4ODIzZmEzNzYwNzAyZDA2OGYxMzRiZDdkYzUuLmYwMjFjMmFmMmZmMThkYWUyZjhh
ODc4N2VhMGFjYjQzYTZhZjk4OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJveHkuaApAQCAtMjgsNyArMjgsNyBAQAog
CiAjaWYgVEFSR0VUX09TX0lQSE9ORQogI2lmIGRlZmluZWQoX19PQkpDX18pCi0jaW1wb3J0IDxG
b3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KKyNpbXBvcnQgIk5TR2VvbWV0cnlTUEkuaCIKICNlbmRp
ZgogCiAvLyBOZWVkZWQgc2luY2UgdGhpcyBpcyBhIFdlYktpdCBwcml2YXRlIGhlYWRlciBvbiBp
T1MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2lt
cGxlRm9udERhdGFNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
U2ltcGxlRm9udERhdGFNYWMubW0KaW5kZXggZjkwNDE1MjYwN2MyZjkwNzBlZjQ3OTdjZTliY2Jm
MDQ1ZDFjZmI3MC4uNTg4ZjdiMmM4MTQ2YjExYzcxZmVhNDQ0ZjEwY2Q1MzIxZjlmYjc3NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnRE
YXRhTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1w
bGVGb250RGF0YU1hYy5tbQpAQCAtMjgsNiArMjgsOCBAQAogI2ltcG9ydCAiU2ltcGxlRm9udERh
dGEuaCIKIAogI2ltcG9ydCAiQmxvY2tFeGNlcHRpb25zLmgiCisjaW1wb3J0ICJDR0ZvbnRHbHlw
aFN1cHBvcnRTUEkuaCIKKyNpbXBvcnQgIkNURm9udERlc2NyaXB0b3JTUEkuaCIKICNpbXBvcnQg
IkNvbG9yLmgiCiAjaW1wb3J0ICJGbG9hdFJlY3QuaCIKICNpbXBvcnQgIkZvbnQuaCIKQEAgLTQ0
LDIwICs0Niw4IEBACiAjaW1wb3J0IDxmbG9hdC5oPgogI2ltcG9ydCA8dW5pY29kZS91Y2hhci5o
PgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMu
aD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KLQotI2lmIGRlZmluZWQoX19oYXNfaW5jbHVk
ZSkgJiYgX19oYXNfaW5jbHVkZSg8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4pCi0j
aW1wb3J0IDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPgotI2VuZGlmCi1leHRlcm4g
IkMiIGJvb2wgQ1RGb250RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2NyaXB0b3JS
ZWYpOwotCi0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKSAmJiBfX2hhc19pbmNsdWRlKDxDb3Jl
R3JhcGhpY3MvQ0dGb250R2x5cGhTdXBwb3J0Lmg+KQotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NH
Rm9udEdseXBoU3VwcG9ydC5oPgotI2VuZGlmCi1leHRlcm4gIkMiIGJvb2wgQ0dGb250R2V0R2x5
cGhBZHZhbmNlc0ZvclN0eWxlKENHRm9udFJlZiBmb250LAotICAgIGNvbnN0IENHQWZmaW5lVHJh
bnNmb3JtICp0LCBDR0ZvbnRSZW5kZXJpbmdTdHlsZSBzdHlsZSwKLSAgICBjb25zdCBDR0dseXBo
IGdseXBoc1tdLCBzaXplX3QgY291bnQsIENHU2l6ZSBhZHZhbmNlc1tdKTsKKyNpbXBvcnQgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KIAogI2lmICFQTEFURk9STShJT1MpCiBAaW50ZXJmYWNlIE5TRm9u
dCAoV2ViQXBwS2l0U2VjcmV0QVBJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9M
ZWdhY3lUaWxlQ2FjaGUubW0KaW5kZXggNmMwMDE0MmI5NmY2MDE3ZGI1YjhlNTk3ZmNlODFkNjc0
MzQ5NTU2Ni4uYTBlMmI5MGFkMTRjOWNjODFmZjQ0YTZkNmNkNzg5YTE3YTNmYjMzNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCkBAIC0yOCw2
ICsyOCw4IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKKyNpbmNsdWRlICJDQUxheWVyU1BJLmgi
CisjaW5jbHVkZSAiQ0dTUmVnaW9uU1BJLmgiCiAjaW5jbHVkZSAiTGVnYWN5VGlsZUdyaWQuaCIK
ICNpbmNsdWRlICJMZWdhY3lUaWxlR3JpZFRpbGUuaCIKICNpbmNsdWRlICJMZWdhY3lUaWxlTGF5
ZXIuaCIKQEAgLTQwLDcgKzQyLDYgQEAKICNpbmNsdWRlICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNl
LmgiCiAjaW5jbHVkZSAiV2ViQ29yZVRocmVhZFJ1bi5oIgogI2luY2x1ZGUgPFF1YXJ0ekNvcmUv
UXVhcnR6Q29yZS5oPgotI2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZVByaXZhdGUuaD4K
ICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIAogQGludGVyZmFjZSBXQUtWaWV3IChXZWJW
aWV3RXh0cmFzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2Fj
eVRpbGVHcmlkLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlk
Lm1tCmluZGV4IGE5MmRmMTNiY2I4ODUzNjk4ZTY4NDkxOTM1OTRlZDNiMzU1NmNmYWIuLjVjZTM3
YjRlMDY5ZjFlZDdjOTM1YTFlYjJjNTgxZDg5ZTlkY2UxMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZC5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQubW0KQEAgLTI4LDE1ICsyOCwxNiBAQAogCiAj
aWYgUExBVEZPUk0oSU9TKQogCisjaW5jbHVkZSAiQ0FMYXllclNQSS5oIgorI2luY2x1ZGUgIkNH
RmxvYXRTUEkuaCIKICNpbmNsdWRlICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCIKICNpbmNsdWRl
ICJTeXN0ZW1NZW1vcnkuaCIKICNpbmNsdWRlICJMZWdhY3lUaWxlR3JpZFRpbGUuaCIKICNpbmNs
dWRlICJMZWdhY3lUaWxlTGF5ZXIuaCIKICNpbmNsdWRlICJMZWdhY3lUaWxlTGF5ZXJQb29sLmgi
CiAjaW5jbHVkZSAiV0FLV2luZG93LmgiCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFw
aGljc1ByaXZhdGUuaD4KKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CiAj
aW5jbHVkZSA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+Ci0jaW5jbHVkZSA8UXVhcnR6Q29yZS9R
dWFydHpDb3JlUHJpdmF0ZS5oPgogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDxmdW5j
dGlvbmFsPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5
VGlsZUdyaWRUaWxlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVH
cmlkVGlsZS5tbQppbmRleCBjY2Y0ZWI4YWUxMzZhOWM2NDhkMDRiNDFiYTlmZGQxMjM3NjY1ZTBh
Li40MGYyYjk2YzJjZDhhNzkzYzA0NTZkNzg1YWMwZTNkNjI0NzdiMmFmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWRUaWxlLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZFRpbGUubW0KQEAgLTI4LDYg
KzI4LDcgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAorI2luY2x1ZGUgIkNBTGF5ZXJTUEkuaCIK
ICNpbmNsdWRlICJDb2xvci5oIgogI2luY2x1ZGUgIkxlZ2FjeVRpbGVDYWNoZS5oIgogI2luY2x1
ZGUgIkxlZ2FjeVRpbGVHcmlkLmgiCkBAIC0zNSw3ICszNiw2IEBACiAjaW5jbHVkZSAiTGVnYWN5
VGlsZUxheWVyUG9vbC5oIgogI2luY2x1ZGUgIldBS1dpbmRvdy5oIgogI2luY2x1ZGUgPFF1YXJ0
ekNvcmUvUXVhcnR6Q29yZS5oPgotI2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZVByaXZh
dGUuaD4KICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0b3J5
SU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0b3J5
SU9TLm1tCmluZGV4IDQ2NTMxNWJjNzNjNmFhM2RhMzAyYzVlZDg3YTRiNGY4YWEyMWY4NmMuLjBl
MDhjZjJiNDBmMzcyM2ZkMWNlM2FmZjcxYjYyODQwZGQwOWY5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MubW0KQEAg
LTI2LDExICsyNiwxMiBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUV2
ZW50RmFjdG9yeUlPUy5oIgogCi0jaW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KKyNp
bXBvcnQgIk5TR2VvbWV0cnlTUEkuaCIKICNpbXBvcnQgPEludFBvaW50Lmg+CiAjaW1wb3J0IDxL
ZXlFdmVudENvY29hLmg+CiAjaW1wb3J0IDxMb2dnaW5nLmg+CiAjaW1wb3J0IDxXZWJFdmVudC5o
PgorI2ltcG9ydCA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9T
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tCmlu
ZGV4IGVmMjVmMjQ1ODNlZWE3YTdiNDM4ZDEyOWJiZWM0YjhlOTYxM2ViNWEuLjVkYzViN2RlY2Iy
NzMyYmRkNDc1ODIwNTllMTJiMGY5MjVmZGNiNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW0KQEAgLTMwLDEwICszMCwxMCBAQAogI2lt
cG9ydCAiRnJhbWVWaWV3LmgiCiAjaW1wb3J0ICJIb3N0V2luZG93LmgiCiAjaW1wb3J0ICJJbnRS
ZWN0LmgiCisjaW1wb3J0ICJNb2JpbGVHZXN0YWx0U1BJLmgiCiAjaW1wb3J0ICJXQUtXaW5kb3cu
aCIKICNpbXBvcnQgIldlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQgIldpZGdldC5o
IgotI2ltcG9ydCA8TW9iaWxlR2VzdGFsdC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJFdmVudC5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJFdmVudC5tbQppbmRleCBiN2RlOTZjZWViMDQyZDFi
MGEzMWUzYjViZGQ5YmJjMmU4MTE0OTNhLi5hNTg4NmY2MDIzZTE5NmFmYzhlNmI3MWJkM2I0ZDU5
MWYzZjJhNzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZl
bnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkV2ZW50Lm1tCkBAIC0y
OSw3ICsyOSw3IEBACiAjaW1wb3J0ICJXZWJFdmVudC5oIgogCiAjaW1wb3J0ICJLZXlFdmVudENv
Y29hLmgiCi0jaW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KKyNpbXBvcnQgIk5TR2Vv
bWV0cnlTUEkuaCIKICNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCmluZGV4IDZiZWRhOGFjZWZh
YWIyMDg0NzU2ODBmNWU1Yjg1MjRiNThhZTBiNzMuLjlkOTI2NmMwMzRhMGM3MTAwNTg2ZTQyMjYy
YmE1YTVhNjkwMjNmN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9X
ZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTMwLDE2
ICszMCwxNSBAQAogCiAjaW1wb3J0ICJXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5o
IgogCisjaW1wb3J0ICJBVlBsYXllckNvbnRyb2xsZXJTUEkuaCIKKyNpbXBvcnQgIkFWUGxheWVy
Vmlld0NvbnRyb2xsZXJTUEkuaCIKKyNpbXBvcnQgIkFWVmFsdWVUaW1pbmdTUEkuaCIKKyNpbXBv
cnQgIkFWVmlkZW9MYXllclNQSS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiR2Vv
bWV0cnlVdGlsaXRpZXMuaCIKICNpbXBvcnQgIldlYlZpZGVvRnVsbHNjcmVlbk1vZGVsLmgiCiAj
aW1wb3J0IDxBVkZvdW5kYXRpb24vQVZUaW1lLmg+CiAjaW1wb3J0IDxBVktpdC9BVktpdC5oPgot
I2ltcG9ydCA8QVZLaXQvQVZQbGF5ZXJDb250cm9sbGVyLmg+Ci0jaW1wb3J0IDxBVktpdC9BVlBs
YXllclZpZXdDb250cm9sbGVyX1ByaXZhdGUuaD4KLSNpbXBvcnQgPEFWS2l0L0FWUGxheWVyVmll
d0NvbnRyb2xsZXJfV2ViS2l0T25seS5oPgotI2ltcG9ydCA8QVZLaXQvQVZWYWx1ZVRpbWluZy5o
PgotI2ltcG9ydCA8QVZLaXQvQVZWaWRlb0xheWVyLmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01U
aW1lLmg+CiAjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3NJT1MuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy93YWsvV0FLQXBwS2l0U3R1YnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy93YWsvV0FLQXBwS2l0U3R1YnMuaAppbmRleCA3Mzg1ZWMwYjNjNmE5ZWE5MWExNmI3YzA0Yzgy
ZGJjZDYyMTcwMWRiLi40YmY0Zjk4NDIxNjY1NzQ1ZGIyYTExOWZmYWFhZjU0NTUzMzZjNTRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS0FwcEtpdFN0dWJz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XQUtBcHBLaXRTdHVicy5o
CkBAIC0zMCwxMCArMzAsMTEgQEAKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKIAorLy8gRklYTUU6
IDxyZGFyOi8vcHJvYmxlbS82NjY5NDM0PiBTd2l0Y2ggZnJvbSB1c2luZyBOU0dlb21ldHJ5IG1l
dGhvZHMgdG8gQ0dHZW9tZXRyeSBtZXRob2RzCisjaW1wb3J0ICJOU0dlb21ldHJ5U1BJLmgiCisK
ICNpbXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KICNpbXBvcnQgPEZvdW5kYXRp
b24vRm91bmRhdGlvbi5oPgotLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS82NjY5NDM0PiBTd2l0
Y2ggZnJvbSB1c2luZyBOU0dlb21ldHJ5IG1ldGhvZHMgdG8gQ0dHZW9tZXRyeSBtZXRob2RzCi0j
aW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KIAogI2lmbmRlZiBOU0NsaXBWaWV3CiAj
ZGVmaW5lIE5TQ2xpcFZpZXcgV0FLQ2xpcFZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy93YWsvV0FLVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L3dhay9XQUtWaWV3LmgKaW5kZXggOTk5OGY3MDExZWQ2N2E1ZDQ5YzQxM2VlYzdiMjM5NTZhOGNh
ZTQ4ZC4uNjcwMTdhN2IzOWFlMWY5NWJmOWZlMzU2ODgxYjI5Mzg1MTRiMTU5ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XQUtWaWV3LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XQUtWaWV3LmgKQEAgLTI4LDE1ICsyOCwxMCBAQAog
CiAjaWYgVEFSR0VUX09TX0lQSE9ORQogCisjaW1wb3J0ICJOU0dlb21ldHJ5U1BJLmgiCiAjaW1w
b3J0ICJXQUtSZXNwb25kZXIuaCIKLSNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgog
I2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgotCi0jaWZuZGVmIE5TUmVjdAot
I2RlZmluZSBOU1JlY3QgQ0dSZWN0Ci0jZW5kaWYKLSNkZWZpbmUgTlNQb2ludCBDR1BvaW50Ci0j
ZGVmaW5lIE5TU2l6ZSBDR1NpemUKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgog
CiBleHRlcm4gTlNTdHJpbmcgKldBS1ZpZXdGcmFtZVNpemVEaWRDaGFuZ2VOb3RpZmljYXRpb247
CiBleHRlcm4gTlNTdHJpbmcgKldBS1ZpZXdEaWRTY3JvbGxOb3RpZmljYXRpb247CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dLR3JhcGhpY3MuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5oCmluZGV4IGJmMzg1OTY4ZjQ4
MzZkY2U5NjQ4NmM2NjBmN2I0YzRjZjk3MGYxOTguLjYyNjJmNzk3ODllYTdmOGI2NzU0ZTFkYThj
MmVhMmYwOGZlM2Q5YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93
YWsvV0tHcmFwaGljcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0tH
cmFwaGljcy5oCkBAIC0yOCw4ICsyOCw4IEBACiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiAKLSNp
bXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KLSNpbXBvcnQgPENvcmVHcmFwaGlj
cy9Db3JlR3JhcGhpY3NQcml2YXRlLmg+CisjaW1wb3J0ICJDR0NvbnRleHRTUEkuaCIKKyNpbXBv
cnQgIkNHRm9udFJlbmRlcmluZ1NQSS5oIgogCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAi
QyIgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBo
aWNzLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBoaWNzLm1tCmlu
ZGV4IDMxYzZlYzAyYTk5OWNiMjc3ZTJjYjQwODg2ZmE0NDM0ZjQ0MjFlY2EuLjlkYmJlZDRjY2Y5
NjdiNjUxZDhjYWQwMWNhNGIyNGZiMDNjY2YxN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3Mvd2FrL1dLR3JhcGhpY3MubW0KQEAgLTI4LDggKzI4LDkgQEAKIAogI2lmIFBMQVRG
T1JNKElPUykKIAotI2ltcG9ydCAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgorI2ltcG9ydCAi
Q0dDb250ZXh0R1N0YXRlU1BJLmgiCiAjaW1wb3J0ICJGb250LmgiCisjaW1wb3J0ICJXZWJDb3Jl
U3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0ICJXZWJDb3JlVGhyZWFkLmgiCiAjaW1wb3J0IDxJ
bWFnZUlPL0ltYWdlSU8uaD4KICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbQppbmRleCA1YzAx
YzY2NmViYzhlZDc2OTE3MWZjNDNmOWQ4NDk1OWY0YWM3MjM3Li40YjA5ZDFmMDZkYTgyMzhmNzM2
MDQzNWMxN2YzYTE5YTk1YzNiM2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL3dhay9XZWJDb3JlVGhyZWFkLm1tCkBAIC00NSw3ICs0NSw2IEBACiAjaW1wb3J0IDx3dGYv
VGhyZWFkaW5nLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAotI2ltcG9y
dCA8Q29yZUZvdW5kYXRpb24vQ0ZQcml2Lmg+CiAjaW1wb3J0IDxGb3VuZGF0aW9uL05TSW52b2Nh
dGlvbi5oPgogI2ltcG9ydCA8bGlia2Vybi9PU0F0b21pYy5oPgogI2ltcG9ydCA8b2JqYy9ydW50
aW1lLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9R
dWlja0xvb2subW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xv
b2subW0KaW5kZXggOGY4NDllMzgyZjY1ODc0YWQ3OGQ4NjhlY2ZkZDg2NmM3ZjVlOTBlZi4uMTE1
MTBhOGZkMTVjYmUwN2EyM2Q4Yzc2OWQwNWE4OTg0MzAxZGZhOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNrTG9vay5tbQpAQCAtMzEsNiArMzEsOSBA
QAogI2ltcG9ydCAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbXBvcnQgIkZpbGVTeXN0ZW1JT1MuaCIK
ICNpbXBvcnQgIkxvZ2dpbmcuaCIKKyNpbXBvcnQgIk5TRmlsZU1hbmFnZXJTUEkuaCIKKyNpbXBv
cnQgIlFMUHJldmlld0NvbnZlcnRlclNQSS5oIgorI2ltcG9ydCAiUXVpY2tMb29rU1BJLmgiCiAj
aW1wb3J0ICJSZXNvdXJjZUVycm9yLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUhhbmRsZS5oIgogI2lt
cG9ydCAiUmVzb3VyY2VMb2FkZXIuaCIKQEAgLTM5LDkgKzQyLDYgQEAKICNpbXBvcnQgIlN5bmNo
cm9ub3VzUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZS5oIgogI2ltcG9ydCAi
V2ViQ29yZVVSTFJlc3BvbnNlSU9TLmgiCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24u
aD4KLSNpbXBvcnQgPEZvdW5kYXRpb24vTlNGaWxlTWFuYWdlcl9OU1VSTEV4dHJhcy5oPgotI2lt
cG9ydCA8UXVpY2tMb29rL1FMUHJldmlld0NvbnZlcnRlci5oPgotI2ltcG9ydCA8UXVpY2tMb29r
L1F1aWNrTG9va1ByaXZhdGUuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2lt
cG9ydCA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL1RocmVhZGluZy5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWUGxheWVyQ29udHJv
bGxlclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWUGxheWVyQ29u
dHJvbGxlclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1ZjlkMmViMmFjMWEwMDFlZDE1NmY1OTNjYjAyNTc3
ODM5YzNmN2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkv
YXZraXQvQVZQbGF5ZXJDb250cm9sbGVyU1BJLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbXBvcnQgPEFWS2l0L0FWUGxheWVyQ29udHJvbGxlci5oPgorI2Vsc2UKKyNp
bXBvcnQgPEFWS2l0L0FWS2l0Lmg+CisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4K
KyNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CisKK0BpbnRlcmZhY2UgQVZQbGF5ZXJDb250cm9sbGVy
IDogVUlSZXNwb25kZXIKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIEFWUGxheWVyQ29udHJv
bGxlclN0YXR1cykgeworICAgIEFWUGxheWVyQ29udHJvbGxlclN0YXR1c1JlYWR5VG9QbGF5ID0g
MiwKK307CitAcHJvcGVydHkgKE5TX05PTkFUT01JQ19JT1NPTkxZLCByZWFkb25seSkgQVZQbGF5
ZXJDb250cm9sbGVyU3RhdHVzIHN0YXR1czsKK0BlbmQKKworQGludGVyZmFjZSBBVlBsYXllckNv
bnRyb2xsZXIgKEFWUGxheWVyQ29udHJvbGxlckV4dGVybmFsUGxheWJhY2tTdXBwb3J0KQordHlw
ZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgQVZQbGF5ZXJDb250cm9sbGVyRXh0ZXJuYWxQbGF5YmFj
a1R5cGUpIHsKKyAgICBBVlBsYXllckNvbnRyb2xsZXJFeHRlcm5hbFBsYXliYWNrVHlwZU5vbmUg
PSAwLAorICAgIEFWUGxheWVyQ29udHJvbGxlckV4dGVybmFsUGxheWJhY2tUeXBlQWlyUGxheSA9
IDEsCisgICAgQVZQbGF5ZXJDb250cm9sbGVyRXh0ZXJuYWxQbGF5YmFja1R5cGVUVk91dCA9IDIs
Cit9OworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cGkvYXZraXQvQVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL2F2a2l0L0FWUGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MTk0NGZmZWE0NjAxMmE1NjU1YmVkOGI1ZmQ0N2VkNGJkZmU5MzlkCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWUGxheWVyVmlld0NvbnRyb2xs
ZXJTUEkuaApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8QVZL
aXQvQVZQbGF5ZXJWaWV3Q29udHJvbGxlcl9Qcml2YXRlLmg+CisjaW1wb3J0IDxBVktpdC9BVlBs
YXllclZpZXdDb250cm9sbGVyX1dlYktpdE9ubHkuaD4KKyNlbHNlCisjaW1wb3J0IDxBVktpdC9B
VktpdC5oPgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDxRdWFy
dHpDb3JlL1F1YXJ0ekNvcmUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CisKK0Bwcm90b2Nv
bCBBVlBsYXllclZpZXdDb250cm9sbGVyRGVsZWdhdGU7CitAcHJvdG9jb2wgQVZWaWRlb0xheWVy
OworCitAaW50ZXJmYWNlIEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKEFWUGxheWVyVmlld0NvbnRy
b2xsZXJfV2ViS2l0T25seSkKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aFZpZGVvTGF5ZXI6KENB
TGF5ZXIgPEFWVmlkZW9MYXllcj4gKil2aWRlb0xheWVyOworLSAodm9pZClleGl0RnVsbFNjcmVl
bkFuaW1hdGVkOihCT09MKWFuaW1hdGVkIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShCT09M
IHN1Y2Nlc3MsIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXI7CistICh2b2lkKWVudGVyRnVs
bFNjcmVlbldpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBzdWNjZXNzLCBOU0Vy
cm9yICopKWNvbXBsZXRpb25IYW5kbGVyOworLSAodm9pZClleGl0RnVsbFNjcmVlbldpdGhDb21w
bGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBzdWNjZXNzLCBOU0Vycm9yICopKWNvbXBsZXRp
b25IYW5kbGVyOworQHByb3BlcnR5IChub25hdG9taWMsIHdlYWspIGlkIDxBVlBsYXllclZpZXdD
b250cm9sbGVyRGVsZWdhdGU+IGRlbGVnYXRlOworQGVuZAorCitAaW50ZXJmYWNlIEFWUGxheWVy
Vmlld0NvbnRyb2xsZXIgKEFWUGxheWVyVmlld0NvbnRyb2xsZXJQbGF5ZXJDb250cm9sbGVyKQor
QHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgQVZQbGF5ZXJDb250cm9sbGVyICpwbGF5ZXJD
b250cm9sbGVyOworQGVuZAorCitAcHJvdG9jb2wgQVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVn
YXRlIDxOU09iamVjdD4KK0BvcHRpb25hbAorCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBB
VlBsYXllclZpZXdDb250cm9sbGVyRXhpdEZ1bGxTY3JlZW5SZWFzb24pIHsKKyAgICBBVlBsYXll
clZpZXdDb250cm9sbGVyRXhpdEZ1bGxTY3JlZW5SZWFzb25Eb25lQnV0dG9uVGFwcGVkID0gMCwK
KyAgICBBVlBsYXllclZpZXdDb250cm9sbGVyRXhpdEZ1bGxTY3JlZW5SZWFzb25SZW1vdGVDb250
cm9sU3RvcEV2ZW50UmVjZWl2ZWQgPSAzLAorfTsKKworLSAoQk9PTClwbGF5ZXJWaWV3Q29udHJv
bGxlcjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyIHNob3Vs
ZEV4aXRGdWxsU2NyZWVuV2l0aFJlYXNvbjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4aXRGdWxs
U2NyZWVuUmVhc29uKXJlYXNvbjsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWVmFsdWVUaW1pbmdTUEkuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9hdmtpdC9BVlZhbHVlVGltaW5nU1BJLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU5
ZGNjM2Y5Y2UzNzBlYmFhZGNmNWYwNmM4MTlkYmVhZmVjNmI1MwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9hdmtpdC9BVlZhbHVlVGltaW5nU1BJLmgKQEAg
LTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPEFWS2l0L0FWVmFsdWVU
aW1pbmcuaD4KKyNlbHNlCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworQGlu
dGVyZmFjZSBBVlZhbHVlVGltaW5nIDogTlNPYmplY3QgPE5TQ29kaW5nLCBOU0NvcHlpbmcsIE5T
TXV0YWJsZUNvcHlpbmc+CisrIChBVlZhbHVlVGltaW5nICopdmFsdWVUaW1pbmdXaXRoQW5jaG9y
VmFsdWU6KGRvdWJsZSlhbmNob3JWYWx1ZSBhbmNob3JUaW1lU3RhbXA6KE5TVGltZUludGVydmFs
KXRpbWVTdGFtcCByYXRlOihkb3VibGUpcmF0ZTsKK0BlbmQKKworQGludGVyZmFjZSBBVlZhbHVl
VGltaW5nIChBVkV4dGVuZGVkVmFsdWVUaW1pbmcpCitAcHJvcGVydHkgKE5TX05PTkFUT01JQ19J
T1NPTkxZLCByZWFkb25seSkgZG91YmxlIGN1cnJlbnRWYWx1ZTsKK0BlbmQKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWVmlkZW9MYXllclNQ
SS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWVmlkZW9MYXllclNQSS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI4ZDUxOGNjZGMyMjkzZTI1MGJkYTRhMTk5YzQzZTE1MDFlNWQyYzUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvYXZraXQvQVZWaWRl
b0xheWVyU1BJLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQg
PEFWS2l0L0FWVmlkZW9MYXllci5oPgorI2Vsc2UKKyNpbXBvcnQgPEFWS2l0L0FWS2l0Lmg+Cisj
aW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisjaW1wb3J0IDxGb3VuZGF0aW9u
L0ZvdW5kYXRpb24uaD4KKworQHByb3RvY29sIEFWVmlkZW9MYXllcgorLSAodm9pZClzZXRQbGF5
ZXJDb250cm9sbGVyOihBVlBsYXllckNvbnRyb2xsZXIgKilwbGF5ZXJDb250cm9sbGVyOworCit0
eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBBVlZpZGVvTGF5ZXJHcmF2aXR5KSB7CisgICAgQVZW
aWRlb0xheWVyR3Jhdml0eUludmFsaWQgPSAwLAorICAgIEFWVmlkZW9MYXllckdyYXZpdHlSZXNp
emVBc3BlY3QgPSAxLAorICAgIEFWVmlkZW9MYXllckdyYXZpdHlSZXNpemVBc3BlY3RGaWxsID0g
MiwKKyAgICBBVlZpZGVvTGF5ZXJHcmF2aXR5UmVzaXplID0gMywKK307CisKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljKSBBVlZpZGVvTGF5ZXJHcmF2aXR5IHZpZGVvTGF5ZXJHcmF2aXR5OworQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBnZXR0ZXI9aXNSZWFkeUZvckRpc3BsYXkpIEJPT0wg
cmVhZHlGb3JEaXNwbGF5OworQHByb3BlcnR5IChub25hdG9taWMpIENHUmVjdCB2aWRlb1JlY3Q7
CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9j
YS9DQUxheWVyU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2EvQ0FMYXllclNQ
SS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ0NTlhODcyM2I3YjM0NGE5NGI4OTRiZmQ1NmRhZThkMjgzN2RkZjkK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2EvQ0FMYXll
clNQSS5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxRdWFy
dHpDb3JlL0NBTGF5ZXJQcml2YXRlLmg+CisjZWxzZQorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0Nv
cmVHcmFwaGljcy5oPgorI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+CisKK0BpbnRl
cmZhY2UgQ0FMYXllciAoQ0FMYXllckRldGFpbHMpCistIChDR1NpemUpc2l6ZTsKKy0gKHZvaWQg
KilyZWdpb25CZWluZ0RyYXduOworQHByb3BlcnR5IEJPT0wgYWNjZWxlcmF0ZXNEcmF3aW5nOwor
QHByb3BlcnR5IEJPT0wgbmVlZHNMYXlvdXRPbkdlb21ldHJ5Q2hhbmdlOworQGVuZAorI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2EvQ0FUaWxlZExheWVy
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2EvQ0FUaWxlZExheWVyU1BJLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDljODNmOTgxY2NkZTNkNjhiZmE1NjBlZTM3ZTcxNTg2YTlhOWRhOAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jYS9DQVRpbGVkTGF5
ZXJTUEkuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8UXVh
cnR6Q29yZS9DQVRpbGVkTGF5ZXJQcml2YXRlLmg+CisjZWxzZQorI2ltcG9ydCA8Q29yZUdyYXBo
aWNzL0NvcmVHcmFwaGljcy5oPgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+Cisj
aW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KKworQGludGVyZmFjZSBDQVRpbGVkTGF5
ZXIgKENBVGlsZWRMYXllckRldGFpbHMpCistICh2b2lkKXNldE5lZWRzRGlzcGxheUluUmVjdDoo
Q0dSZWN0KXJlY3QgbGV2ZWxPZkRldGFpbDooaW50KWxldmVsT2ZEZXRhaWwgb3B0aW9uczooTlNE
aWN0aW9uYXJ5ICopZGljdGlvbmFyeTsKK0BlbmQKKworZXh0ZXJuIE5TU3RyaW5nICogY29uc3Qg
a0NBVGlsZWRMYXllclJlbW92ZUltbWVkaWF0ZWx5OworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dDb2xvclRyYW5zZm9ybVNQSS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHQ29sb3JUcmFuc2Zvcm1TUEkuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44NjA5ZGRiOTMxZjk0NTQ4YmY3ZWE0ZGYyNDg2Nzg3MGNhMDFlY2E3Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHQ29sb3JUcmFuc2Zvcm1TUEku
aApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNpZm5kZWYgQ0dDb2xvclRyYW5zZm9ybVNQSV9oCisjZGVmaW5lIENHQ29sb3JU
cmFuc2Zvcm1TUElfaAorCisjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24u
aD4KKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0NvbG9yVHJhbnNmb3Jt
Lmg+CisjZW5kaWYKKwordHlwZWRlZiBjb25zdCBzdHJ1Y3QgQ0dDb2xvclRyYW5zZm9ybSAqQ0dD
b2xvclRyYW5zZm9ybVJlZjsKK2V4dGVybiAiQyIgeworQ0dDb2xvclRyYW5zZm9ybVJlZiBDR0Nv
bG9yVHJhbnNmb3JtQ3JlYXRlKENHQ29sb3JTcGFjZVJlZiwgQ0ZEaWN0aW9uYXJ5UmVmIGF0dHJp
YnV0ZXMpOworQ0dDb2xvclJlZiBDR0NvbG9yVHJhbnNmb3JtQ29udmVydENvbG9yKENHQ29sb3JU
cmFuc2Zvcm1SZWYsIENHQ29sb3JSZWYsIENHQ29sb3JSZW5kZXJpbmdJbnRlbnQpOworfQorI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dDb250ZXh0
R1N0YXRlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dDb250ZXh0R1N0
YXRlU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzA4NDYxZTdjY2VmNzY0YTNjZGU0YzAzNGE4NWEzYzlmYTRj
YmMzOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9D
R0NvbnRleHRHU3RhdGVTUEkuaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ0dDb250ZXh0R1N0YXRlU1BJX2gK
KyNkZWZpbmUgQ0dDb250ZXh0R1N0YXRlU1BJX2gKKworI2luY2x1ZGUgIkNHQ29udGV4dFNQSS5o
IgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3Mv
Q0dDb250ZXh0R1N0YXRlLmg+CisjZW5kaWYKKworZXh0ZXJuICJDIiB7CitDR0Zsb2F0IENHQ29u
dGV4dEdldExpbmVXaWR0aChDR0NvbnRleHRSZWYpOwordm9pZCBDR0NvbnRleHRTZXRDVE0oQ0dD
b250ZXh0UmVmLCBDR0FmZmluZVRyYW5zZm9ybSk7CitDR0NvbG9yUmVmIENHQ29udGV4dEdldEZp
bGxDb2xvckFzQ29sb3IoQ0dDb250ZXh0UmVmKTsKK0NHQ29tcG9zaXRlT3BlcmF0aW9uIENHQ29u
dGV4dEdldENvbXBvc2l0ZU9wZXJhdGlvbihDR0NvbnRleHRSZWYpOwordm9pZCBDR0NvbnRleHRT
ZXRDb21wb3NpdGVPcGVyYXRpb24oQ0dDb250ZXh0UmVmLCBDR0NvbXBvc2l0ZU9wZXJhdGlvbik7
Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9D
R0NvbnRleHRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0NvbnRleHRT
UEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZDgyODcwN2Y2MGFiNzIzNDFlZGQwOTMwYTFlNGM1NGU4ODMxN2Zh
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHQ29u
dGV4dFNQSS5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDR0NvbnRleHRTUElfaAorI2RlZmluZSBDR0NvbnRl
eHRTUElfaAorCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorCisjaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0
UHJpdmF0ZS5oPgorI2Vsc2UKK2VudW0gQ0dDb21wb3NpdGVPcGVyYXRpb24geworICAgIGtDR0Nv
bXBvc2l0ZUNvcHkgPSAxLAorICAgIGtDR0NvbXBvc2l0ZVNvdmVyID0gMiwKK307CisjZW5kaWYK
KworZXh0ZXJuICJDIiBDR0FmZmluZVRyYW5zZm9ybSBDR0NvbnRleHRHZXRCYXNlQ1RNKENHQ29u
dGV4dFJlZik7CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9jZy9DR0Zsb2F0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGbG9h
dFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM1MTIzY2M3OWY0MTdiNDcxZGI2OTdkYWJiYmU0ODUyZGM1MGU3
YTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dG
bG9hdFNQSS5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDR0Zsb2F0U1BJX2gKKyNkZWZpbmUgQ0dGbG9hdFNQ
SV9oCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvcmVHcmFwaGlj
cy9DR0Zsb2F0Lmg+CisjZWxzZQorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3Mu
aD4KK0NHX0lOTElORSBDR0Zsb2F0IENHUm91bmQoQ0dGbG9hdCB2YWx1ZSkKK3sKKyAgICBpZiAo
c2l6ZW9mKHZhbHVlKSA9PSBzaXplb2YoZmxvYXQpKQorICAgICAgICByZXR1cm4gKENHRmxvYXQp
cm91bmRmKChmbG9hdCl2YWx1ZSk7CisgICAgcmV0dXJuIChDR0Zsb2F0KXJvdW5kKChkb3VibGUp
dmFsdWUpOworfQorI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NwaS9jZy9DR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NwaS9jZy9DR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTI3NmVj
OWYwZjE3MjUyY2M2ZGEyMTgxNWUxZTYxOGFlMmNiZjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9udEdseXBoU3VwcG9ydFNQSS5oCkBAIC0w
LDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2lmbmRlZiBDR0ZvbnRHbHlwaFN1cHBvcnRTUElfaAorI2RlZmluZSBDR0ZvbnRHbHlwaFN1
cHBvcnRTUElfaAorCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorCisj
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGb250
R2x5cGhTdXBwb3J0Lmg+CisjZWxzZQordHlwZWRlZiB1aW50MzJfdCBDR0ZvbnRSZW5kZXJpbmdT
dHlsZTsKKyNlbmRpZgorCitleHRlcm4gIkMiIGJvb2wgQ0dGb250R2V0R2x5cGhBZHZhbmNlc0Zv
clN0eWxlKENHRm9udFJlZiBmb250LCBjb25zdCBDR0FmZmluZVRyYW5zZm9ybSogLCBDR0ZvbnRS
ZW5kZXJpbmdTdHlsZSwgY29uc3QgQ0dHbHlwaCBnbHlwaHNbXSwgc2l6ZV90IGNvdW50LCBDR1Np
emUgYWR2YW5jZXNbXSk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NwaS9jZy9DR0ZvbnRJbmZvU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkv
Y2cvQ0dGb250SW5mb1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjZDYxMTQ0NTcwODU4ZmUxM2NmYWNiNzll
NDgzYmIzZDhkYjMxMWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvY2cvQ0dGb250SW5mb1NQSS5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDR0ZvbnRJbmZvU1BJX2gK
KyNkZWZpbmUgQ0dGb250SW5mb1NQSV9oCisKKyNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3Jl
Rm91bmRhdGlvbi5oPgorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKwor
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9u
dEluZm8uaD4KKyNlbHNlCitzdHJ1Y3QgQ0dGb250SE1ldHJpY3MgeworICAgIGludCBhc2NlbnQ7
CisgICAgaW50IGRlc2NlbnQ7CisgICAgaW50IGxpbmVHYXA7CisgICAgaW50IG1heEFkdmFuY2VX
aWR0aDsKKyAgICBpbnQgbWluTGVmdFNpZGVCZWFyaW5nOworICAgIGludCBtaW5SaWdodFNpZGVC
ZWFyaW5nOworfTsKKworc3RydWN0IENHRm9udERlc2NyaXB0b3IgeworICAgIENHUmVjdCBiYm94
OworICAgIENHRmxvYXQgYXNjZW50OworICAgIENHRmxvYXQgZGVzY2VudDsKKyAgICBDR0Zsb2F0
IGNhcEhlaWdodDsKKyAgICBDR0Zsb2F0IGl0YWxpY0FuZ2xlOworICAgIENHRmxvYXQgc3RlbVY7
CisgICAgQ0dGbG9hdCBzdGVtSDsKKyAgICBDR0Zsb2F0IGF2Z1dpZHRoOworICAgIENHRmxvYXQg
bWF4V2lkdGg7CisgICAgQ0dGbG9hdCBtaXNzaW5nV2lkdGg7CisgICAgQ0dGbG9hdCBsZWFkaW5n
OworICAgIENHRmxvYXQgeEhlaWdodDsKK307CisjZW5kaWYKKworZXh0ZXJuICJDIiB7Citjb25z
dCBDR0ZvbnRITWV0cmljcyogQ0dGb250R2V0SE1ldHJpY3MoQ0dGb250UmVmKTsKK2Jvb2wgQ0dG
b250R2V0RGVzY3JpcHRvcihDR0ZvbnRSZWYsIENHRm9udERlc2NyaXB0b3IqKTsKK2NvbnN0IGNo
YXIqIENHRm9udEdldFBvc3RTY3JpcHROYW1lKENHRm9udFJlZik7CitDRlN0cmluZ1JlZiBDR0Zv
bnRDb3B5RmFtaWx5TmFtZShDR0ZvbnRSZWYpOworYm9vbCBDR0ZvbnRJc0ZpeGVkUGl0Y2goQ0dG
b250UmVmKTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2NnL0NHRm9udFJlbmRlcmluZ1NQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2NnL0NHRm9udFJlbmRlcmluZ1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxYTNlYjM5ZWM0MGUzMTY3YTY2
YjFjOTIyZjE0NTBiOTY2ODI3ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvY2cvQ0dGb250UmVuZGVyaW5nU1BJLmgKQEAgLTAsMCArMSw0OCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIENHRm9u
dFJlbmRlcmluZ1NQSV9oCisjZGVmaW5lIENHRm9udFJlbmRlcmluZ1NQSV9oCisKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0ZvbnRSZW5kZXJp
bmcuaD4KKyNlbHNlCitlbnVtIHsKKyAgICBrQ0dGb250UmVuZGVyaW5nU3R5bGVBbnRpYWxpYXNp
bmcgPSAxIDw8IDAsCisgICAga0NHRm9udFJlbmRlcmluZ1N0eWxlU21vb3RoaW5nID0gMSA8PCAx
LAorICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVN1YnBpeGVsUG9zaXRpb25pbmcgPSAxIDw8IDIs
CisgICAga0NHRm9udFJlbmRlcmluZ1N0eWxlU3VicGl4ZWxRdWFudGl6YXRpb24gPSAxIDw8IDMs
CisgICAga0NHRm9udFJlbmRlcmluZ1N0eWxlUGxhdGZvcm1OYXRpdmUgPSAxIDw8IDksCisgICAg
a0NHRm9udFJlbmRlcmluZ1N0eWxlTWFzayA9IDB4MjBGLAorfTsKK3R5cGVkZWYgdWludDMyX3Qg
Q0dGb250UmVuZGVyaW5nU3R5bGU7CisKK2VudW0geworICAgIGtDR0ZvbnRBbnRpYWxpYXNpbmdT
dHlsZVVuZmlsdGVyZWQgPSAwIDw8IDcsCisgICAga0NHRm9udEFudGlhbGlhc2luZ1N0eWxlRmls
dGVyTGlnaHQgPSAxIDw8IDcsCit9OwordHlwZWRlZiB1aW50MzJfdCBDR0ZvbnRBbnRpYWxpYXNp
bmdTdHlsZTsKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY2cvQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NwaS9jZy9DR0ZvbnRVbmljb2RlU3VwcG9ydFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyZmFj
NjkxMjRlNjJlNmUwNTAwZDFkOTBlYWI0MTAyNjE3ZGYzMDgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaApA
QCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpZm5kZWYgQ0dGb250VW5pY29kZVN1cHBvcnRTUElfaAorI2RlZmluZSBDR0ZvbnRV
bmljb2RlU3VwcG9ydFNQSV9oCisKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNz
Lmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvcmVHcmFwaGlj
cy9DR0ZvbnRVbmljb2RlU3VwcG9ydC5oPgorI2VuZGlmCisKK2V4dGVybiAiQyIgdm9pZCBDR0Zv
bnRHZXRHbHlwaHNGb3JVbmljaGFycyhDR0ZvbnRSZWYsIGNvbnN0IFVuaUNoYXJbXSwgQ0dHbHlw
aFtdLCBzaXplX3QgY291bnQpOworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvY2cvQ0dJbWFnZVNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2NnL0NHSW1hZ2VTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDJjZWU1NzZhMzg3ZDgxMzI5MzcxMDE2ODVh
YTQ4ZDhkYTk0MTU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2NnL0NHSW1hZ2VTUEkuaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ0dJbWFnZVNQSV9oCisjZGVmaW5l
IENHSW1hZ2VTUElfaAorCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgor
CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dJ
bWFnZVByaXZhdGUuaD4KKyNlbHNlCitlbnVtIHsKKyAgICBrQ0dJbWFnZUNhY2hpbmdUZW1wb3Jh
cnkgX19DR19ERVBSRUNBVEVEX0VOVU1FUkFUT1IgPSAzLAorfTsKKwordHlwZWRlZiB1aW50MzJf
dCBDR0ltYWdlQ2FjaGluZ0ZsYWdzOworI2VuZGlmCisKK2V4dGVybiAiQyIgdm9pZCBDR0ltYWdl
U2V0Q2FjaGluZ0ZsYWdzKENHSW1hZ2VSZWYsIENHSW1hZ2VDYWNoaW5nRmxhZ3MpOworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dTUmVnaW9uU1BJ
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dTUmVnaW9uU1BJLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDNkYTMyYzNjMzQxNjg2NTUyNzQ0NzFjNmNmMTgxZmIyMTliZjI3MQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR1NSZWdpb25TUEkuaApA
QCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpZm5kZWYgQ0dTUmVnaW9uU1BJX2gKKyNkZWZpbmUgQ0dTUmVnaW9uU1BJX2gKKwor
I2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHU1JlZ2lvbi5oPgorI2Vsc2UK
K3R5cGVkZWYgc3RydWN0IENHU1JlZ2lvbk9iamVjdCAqQ0dTUmVnaW9uT2JqOwordHlwZWRlZiBz
dHJ1Y3QgQ0dTUmVnaW9uT2JqZWN0ICpDR1JlZ2lvblJlZjsKK3R5cGVkZWYgc3RydWN0IENHU1Jl
Z2lvbkVudW1lcmF0b3JPYmplY3QgKkNHU1JlZ2lvbkVudW1lcmF0b3JPYmo7CisjZW5kaWYKKwor
ZXh0ZXJuICJDIiB7CitDR1NSZWdpb25FbnVtZXJhdG9yT2JqIENHU1JlZ2lvbkVudW1lcmF0b3Io
Q0dSZWdpb25SZWYpOworQ0dSZWN0ICpDR1NOZXh0UmVjdChjb25zdCBDR1NSZWdpb25FbnVtZXJh
dG9yT2JqKTsKK0NHRXJyb3IgQ0dTUmVsZWFzZVJlZ2lvbkVudW1lcmF0b3IoY29uc3QgQ0dTUmVn
aW9uRW51bWVyYXRvck9iaik7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9jb2NvYS9EaXNwYXRjaFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2NvY29hL0Rpc3BhdGNoU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTA3ZDIxMTUyOTY4MTMwNmZl
OTEwMGE1YTllNDg5NGJhYmE3ZDgwZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9jb2NvYS9EaXNwYXRjaFNQSS5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBEaXNwYXRj
aFNQSV9oCisjZGVmaW5lIERpc3BhdGNoU1BJX2gKKworI2luY2x1ZGUgPGRpc3BhdGNoL2Rpc3Bh
dGNoLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPGRpc3BhdGNo
L3ByaXZhdGUuaD4KKyNlbHNlCitlbnVtIHsKKyAgICBESVNQQVRDSF9NRU1PUllTVEFUVVNfUFJF
U1NVUkVfTk9STUFMID0gMHgwMSwKKyAgICBESVNQQVRDSF9NRU1PUllTVEFUVVNfUFJFU1NVUkVf
V0FSTiA9IDB4MDIsCisgICAgRElTUEFUQ0hfTUVNT1JZU1RBVFVTX1BSRVNTVVJFX0NSSVRJQ0FM
ID0gMHgwNCwKK307CisjZGVmaW5lIERJU1BBVENIX1NPVVJDRV9UWVBFX01FTU9SWVNUQVRVUyAo
Jl9kaXNwYXRjaF9zb3VyY2VfdHlwZV9tZW1vcnlzdGF0dXMpCisjZW5kaWYKKworRElTUEFUQ0hf
RVhQT1JUIGNvbnN0IHN0cnVjdCBkaXNwYXRjaF9zb3VyY2VfdHlwZV9zIF9kaXNwYXRjaF9zb3Vy
Y2VfdHlwZV9tZW1vcnlzdGF0dXM7CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9jb2NvYS9JT1BNTGliU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvY29jb2EvSU9QTUxpYlNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2MjgwZGMwNzZiODljODU2OGFl
NzdiNTY4M2RhMjhjOGE5NTQzYWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvY29jb2EvSU9QTUxpYlNQSS5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBJT1BNTGliU1BJ
X2gKKyNkZWZpbmUgSU9QTUxpYlNQSV9oCisKKyNpZiBQTEFURk9STShNQUMpIHx8IChVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKSAmJiBQTEFURk9STShJT1MpKQorI2luY2x1ZGUgPElPS2l0L3B3cl9t
Z3QvSU9QTUxpYi5oPgorI2Vsc2UKKyNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRh
dGlvbi5oPgorI2luY2x1ZGUgPG1hY2gva2Vybl9yZXR1cm4uaD4KKworc3RhdGljIGNvbnN0IENG
U3RyaW5nUmVmIGtJT1BNQXNzZXJ0aW9uVHlwZVByZXZlbnRVc2VySWRsZURpc3BsYXlTbGVlcCA9
IENGU1RSKCJQcmV2ZW50VXNlcklkbGVEaXNwbGF5U2xlZXAiKTsKK3R5cGVkZWYga2Vybl9yZXR1
cm5fdCBJT1JldHVybjsKK3R5cGVkZWYgdWludDMyX3QgSU9QTUFzc2VydGlvbklEOworI2VuZGlm
CisKK2V4dGVybiAiQyIgeworSU9SZXR1cm4gSU9QTUFzc2VydGlvbkNyZWF0ZVdpdGhEZXNjcmlw
dGlvbihDRlN0cmluZ1JlZiBhc3NlcnRpb25UeXBlLCBDRlN0cmluZ1JlZiBuYW1lLCBDRlN0cmlu
Z1JlZiBkZXRhaWxzLAorICAgIENGU3RyaW5nUmVmIGh1bWFuUmVhZGFibGVSZWFzb24sIENGU3Ry
aW5nUmVmIGxvY2FsaXphdGlvbkJ1bmRsZVBhdGgsIENGVGltZUludGVydmFsIHRpbWVvdXQsIENG
U3RyaW5nUmVmIHRpbWVvdXRBY3Rpb24sIElPUE1Bc3NlcnRpb25JRCAqKTsKK0lPUmV0dXJuIElP
UE1Bc3NlcnRpb25SZWxlYXNlKElPUE1Bc3NlcnRpb25JRCk7Cit9CisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU0ZpbGVNYW5hZ2VyU1BJLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNGaWxlTWFuYWdlclNQSS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjNiODJkYjQ2OTA0MGQ0Y2Q5NGI3ZDYyOWI1MTBjZDIwYjFiMDE1ZTcKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNGaWxlTWFu
YWdlclNQSS5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxG
b3VuZGF0aW9uL05TRmlsZU1hbmFnZXJfTlNVUkxFeHRyYXMuaD4KKyNlbHNlCisjaW1wb3J0IDxG
b3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworI2RlZmluZSBXRUJfVVJFQUQgKDAwNDAwKQorI2Rl
ZmluZSBXRUJfVVdSSVRFICgwMDIwMCkKKyNkZWZpbmUgV0VCX1VFWEVDICgwMDEwMCkKKworQGlu
dGVyZmFjZSBOU0ZpbGVNYW5hZ2VyIChOU0ZpbGVNYW5hZ2VyRGV0YWlscykKKy0gKEJPT0wpX3dl
Yl9jcmVhdGVGaWxlQXRQYXRoV2l0aEludGVybWVkaWF0ZURpcmVjdG9yaWVzOihOU1N0cmluZyAq
KXBhdGggY29udGVudHM6KE5TRGF0YSAqKWNvbnRlbnRzIGF0dHJpYnV0ZXM6KE5TRGljdGlvbmFy
eSAqKWF0dHJpYnV0ZXMgZGlyZWN0b3J5QXR0cmlidXRlczooTlNEaWN0aW9uYXJ5ICopZGlyZWN0
b3J5QXR0cmlidXRlczsKKy0gKEJPT0wpX3dlYl9yZW1vdmVGaWxlT25seUF0UGF0aDooTlNTdHJp
bmcgKilwYXRoOworLSAoTlNTdHJpbmcgKilfd2ViX3BhdGhXaXRoVW5pcXVlRmlsZW5hbWVGb3JQ
YXRoOihOU1N0cmluZyAqKXBhdGg7CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU0dlb21ldHJ5U1BJLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNHZW9tZXRyeVNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3MDkxNmZh
MGNmMmFkNjJlODZlYTk2MWUxOGU5YmVkMGMzMjNmOTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNHZW9tZXRyeVNQSS5oCkBAIC0wLDAgKzEs
ODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lm
IFBMQVRGT1JNKE1BQykgfHwgKFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIFBMQVRGT1JNKElP
UykpCisjaW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KKyNlbHNlCisjaW1wb3J0IDxD
b3JlR3JhcGhpY3MvQ0dCYXNlLmg+CisjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dHZW9tZXRyeS5o
PgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK3R5cGVkZWYgQ0dQb2ludCBO
U1BvaW50OwordHlwZWRlZiBDR1JlY3QgTlNSZWN0OwordHlwZWRlZiBDR1NpemUgTlNTaXplOwor
CitAaW50ZXJmYWNlIE5TVmFsdWUgKE5TVmFsdWVHZW9tZXRyeURldGFpbHMpCisrIChOU1ZhbHVl
ICopdmFsdWVXaXRoUG9pbnQ6KE5TUG9pbnQpcG9pbnQ7CisrIChOU1ZhbHVlICopdmFsdWVXaXRo
U2l6ZTooTlNTaXplKXNpemU7CisrIChOU1ZhbHVlICopdmFsdWVXaXRoUmVjdDooTlNSZWN0KXJl
Y3Q7CisKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIE5TUG9pbnQgcG9pbnRWYWx1ZTsKK0Bwcm9wZXJ0
eSAocmVhZG9ubHkpIE5TU2l6ZSBzaXplVmFsdWU7CitAcHJvcGVydHkgKHJlYWRvbmx5KSBOU1Jl
Y3QgcmVjdFZhbHVlOworQGVuZAorCitGT1VOREFUSU9OX0VYUE9SVCBCT09MIE5TRXF1YWxQb2lu
dHMoTlNQb2ludCwgTlNQb2ludCk7CitGT1VOREFUSU9OX0VYUE9SVCBCT09MIE5TRXF1YWxTaXpl
cyhOU1NpemUsIE5TU2l6ZSk7CitGT1VOREFUSU9OX0VYUE9SVCBCT09MIE5TRXF1YWxSZWN0cyhO
U1JlY3QsIE5TUmVjdCk7CitGT1VOREFUSU9OX0VYUE9SVCBCT09MIE5TSXNFbXB0eVJlY3QoTlNS
ZWN0KTsKKworI2RlZmluZSBOU01pblhFZGdlIENHUmVjdE1pblhFZGdlCisjZGVmaW5lIE5TTWlu
WUVkZ2UgQ0dSZWN0TWluWUVkZ2UKKyNkZWZpbmUgTlNNYXhYRWRnZSBDR1JlY3RNYXhYRWRnZQor
I2RlZmluZSBOU01heFlFZGdlIENHUmVjdE1heFlFZGdlCisKK3R5cGVkZWYgTlNVSW50ZWdlciBO
U1JlY3RFZGdlOworCitOU19JTkxJTkUgTlNQb2ludCBOU01ha2VQb2ludChDR0Zsb2F0IHgsIENH
RmxvYXQgeSkKK3sKKyAgICBOU1BvaW50IHA7CisgICAgcC54ID0geDsKKyAgICBwLnkgPSB5Owor
ICAgIHJldHVybiBwOworfQorCitOU19JTkxJTkUgTlNTaXplIE5TTWFrZVNpemUoQ0dGbG9hdCB3
LCBDR0Zsb2F0IGgpCit7CisgICAgTlNTaXplIHM7CisgICAgcy53aWR0aCA9IHc7CisgICAgcy5o
ZWlnaHQgPSBoOworICAgIHJldHVybiBzOworfQorCitOU19JTkxJTkUgTlNSZWN0IE5TTWFrZVJl
Y3QoQ0dGbG9hdCB4LCBDR0Zsb2F0IHksIENHRmxvYXQgdywgQ0dGbG9hdCBoKQoreworICAgIE5T
UmVjdCByOworICAgIHIub3JpZ2luLnggPSB4OworICAgIHIub3JpZ2luLnkgPSB5OworICAgIHIu
c2l6ZS53aWR0aCA9IHc7CisgICAgci5zaXplLmhlaWdodCA9IGg7CisgICAgcmV0dXJuIHI7Cit9
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9O
U1BvaW50ZXJGdW5jdGlvbnNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2Nv
YS9OU1BvaW50ZXJGdW5jdGlvbnNTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTk4MmM2YmFlMTUwN2QxMDRm
MWEwZTQxNTNlMzFmOWUzY2NlNTZjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NvY29hL05TUG9pbnRlckZ1bmN0aW9uc1NQSS5oCkBAIC0wLDAgKzEsMzQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmIFBM
QVRGT1JNKE1BQykKKyNpbXBvcnQgPEZvdW5kYXRpb24vTlNQb2ludGVyRnVuY3Rpb25zLmg+Cisj
ZWxpZiBQTEFURk9STShJT1MpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxG
b3VuZGF0aW9uL05TUG9pbnRlckZ1bmN0aW9uc1ByaXYuaD4KKyNlbHNlCitlbnVtIHsKKyAgICBO
U1BvaW50ZXJGdW5jdGlvbnNaZXJvaW5nV2Vha01lbW9yeSA9IDFVTCA8PCAwLAorfTsKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL2R5bGRTUEku
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9keWxkU1BJLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDJjZGExY2M1NTI4YWIxMTFlMzg5NGE1MzhhYWMyODMyMmIyZjgzOQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9keWxkU1BJLmgKQEAgLTAs
MCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaWZuZGVmIGR5bGRTUElfaAorI2RlZmluZSBkeWxkU1BJX2gKKworI2luY2x1ZGUgPG1hY2gt
by9keWxkLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPG1hY2gt
by9keWxkX3ByaXYuaD4KKyNlbHNlCisjZGVmaW5lIERZTERfSU9TX1ZFUlNJT05fM18wIDB4MDAw
MzAwMDAKKyNkZWZpbmUgRFlMRF9JT1NfVkVSU0lPTl82XzAgMHgwMDA2MDAwMDsKKyNkZWZpbmUg
RFlMRF9JT1NfVkVSU0lPTl83XzAgMHgwMDA3MDAwMDsKKyNlbmRpZgorCitleHRlcm4gIkMiIHVp
bnQzMl90IGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKTsKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2N0L0NURm9udERlc2NyaXB0b3JTUEkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jdC9DVEZvbnREZXNjcmlwdG9yU1BJLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTEzYWFmMmQ1NjkxN2ZlYzZhYTYxMTQ2MmI1NWY2OWY3YTE2MTE0MQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jdC9DVEZvbnREZXNjcmlw
dG9yU1BJLmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCisjaWZuZGVmIENURm9udERlc2NyaXB0b3JTUElfaAorI2RlZmluZSBD
VEZvbnREZXNjcmlwdG9yU1BJX2gKKworI2luY2x1ZGUgPENvcmVUZXh0L0NvcmVUZXh0Lmg+CisK
KyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udERl
c2NyaXB0b3JQcml2Lmg+CisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykgfHwgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMAorZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVm
IGtDVFVJRm9udFRleHRTdHlsZVNob3J0SGVhZGxpbmUgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzAp
OworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0Qm9keSBD
VF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlG
b250VGV4dFN0eWxlU2hvcnRTdWJoZWFkIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKK2V4dGVy
biBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEZvb3Rub3RlIENUX0FW
QUlMQUJMRSgxMF8xMCwgN18wKTsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRU
ZXh0U3R5bGVTaG9ydENhcHRpb24xIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKK2V4dGVybiBj
b25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVUYWxsQm9keSBDVF9BVkFJTEFCTEUo
MTBfMTAsIDdfMCk7CisKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5
bGVIZWFkbGluZSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29uc3QgQ0ZTdHJp
bmdSZWYga0NUVUlGb250VGV4dFN0eWxlQm9keSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7Citl
eHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU3ViaGVhZCBDVF9BVkFJ
TEFCTEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4
dFN0eWxlRm9vdG5vdGUgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOworZXh0ZXJuIGNvbnN0IENG
U3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZUNhcHRpb24xIENUX0FWQUlMQUJMRSgxMF8xMCwg
N18wKTsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVDYXB0aW9u
MiBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CisKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBr
Q1RGb250RGVzY3JpcHRvclRleHRTdHlsZUVtcGhhc2l6ZWQgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3
XzApOworI2VuZGlmCisKK2V4dGVybiAiQyIgeworQ1RGb250RGVzY3JpcHRvclJlZiBDVEZvbnRE
ZXNjcmlwdG9yQ3JlYXRlV2l0aFRleHRTdHlsZShDRlN0cmluZ1JlZiBzdHlsZSwgQ0ZTdHJpbmdS
ZWYgc2l6ZSwgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UpOworQ1RGb250RGVzY3JpcHRvclJlZiBDVEZv
bnREZXNjcmlwdG9yQ3JlYXRlRm9yVUlUeXBlKENURm9udFVJRm9udFR5cGUsIENHRmxvYXQgc2l6
ZSwgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UpOworYm9vbCBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1V
SUZvbnQoQ1RGb250RGVzY3JpcHRvclJlZik7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2N0L0NURm9udFNQSS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2N0L0NURm9udFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkY2U5ZTNlZGU3NzBiYjZl
ODljMzg3ODYwZTVkM2E1NzQ1NDYwYWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY3QvQ1RGb250U1BJLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIENURm9udFNQSV9o
CisjZGVmaW5lIENURm9udFNQSV9oCisKKyNpbmNsdWRlIDxDb3JlVGV4dC9Db3JlVGV4dC5oPgor
CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlVGV4dC9DVEZvbnRQ
cml2Lmg+CisjZWxzZQorZW51bSB7CisgICAga0NURm9udFVJRm9udFN5c3RlbUl0YWxpYyA9IDI3
LAorICAgIGtDVEZvbnRVSUZvbnRTeXN0ZW1UaGluID0gMTAyLAorICAgIGtDVEZvbnRVSUZvbnRT
eXN0ZW1MaWdodCA9IDEwMywKKyAgICBrQ1RGb250VUlGb250U3lzdGVtVWx0cmFMaWdodCA9IDEw
NCwKK307CisjZW5kaWYKKworZXh0ZXJuICJDIiB7CitDVEZvbnRSZWYgQ1RGb250Q3JlYXRlUGh5
c2ljYWxGb250Rm9yQ2hhcmFjdGVyc1dpdGhMYW5ndWFnZShDVEZvbnRSZWYsIGNvbnN0IFVURjE2
Q2hhciogY2hhcmFjdGVycywgQ0ZJbmRleCBsZW5ndGgsIENGU3RyaW5nUmVmIGxhbmd1YWdlLCBD
RkluZGV4KiBjb3ZlcmVkTGVuZ3RoKTsKK2Jvb2wgQ1RGb250SXNBcHBsZUNvbG9yRW1vamkoQ1RG
b250UmVmKTsKK2Jvb2wgQ1RGb250RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2Ny
aXB0b3JSZWYpOworQ1RGb250UmVmIENURm9udENyZWF0ZUZvckNTUyhDRlN0cmluZ1JlZiBuYW1l
LCB1aW50MTZfdCB3ZWlnaHQsIENURm9udFN5bWJvbGljVHJhaXRzLCBDR0Zsb2F0IHNpemUpOwor
fQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY3VpL0NV
SUNhdGFsb2dTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jdWkvQ1VJQ2F0YWxv
Z1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmEzN2JiMzNjYTI0NWM5Y2I3MDdjNTcyOWRmYTBjNDY4YWFjNzU5
MWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY3VpL0NV
SUNhdGFsb2dTUEkuaApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9y
dCA8Q29yZVVJL0NVSUNhdGFsb2cuaD4KKyNlbHNlCisjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29y
ZUdyYXBoaWNzLmg+CisjaW1wb3J0IDxDb3JlVGV4dC9Db3JlVGV4dC5oPgorI2ltcG9ydCA8Rm91
bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CitAY2xhc3MgQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9u
OworQGludGVyZmFjZSBDVUlDYXRhbG9nIDogTlNPYmplY3QKKy0gKEJPT0wpZHJhd0dseXBoczoo
Y29uc3QgQ0dHbHlwaCBbXSlnbHlwaHMgYXRQb3NpdGlvbnM6KGNvbnN0IENHUG9pbnQgW10pcG9z
aXRpb25zIGluQ29udGV4dDooQ0dDb250ZXh0UmVmKWNvbnRleHQgd2l0aEZvbnQ6KENURm9udFJl
Zilmb250IGNvdW50OihOU1VJbnRlZ2VyKWNvdW50IHN0eWxlUHJlc2V0TmFtZTooTlNTdHJpbmcg
KilzdHlsZVByZXNldE5hbWUgc3R5bGVDb25maWd1cmF0aW9uOihDVUlTdHlsZUVmZmVjdENvbmZp
Z3VyYXRpb24gKilzdHlsZUNvbmZpZ3VyYXRpb24gZm9yZWdyb3VuZENvbG9yOihDR0NvbG9yUmVm
KWZvcmVncm91bmRDb2xvcjsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3BpL2N1aS9DVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jdWkvQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9u
U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWE5YTA0MGE0Y2M2ODljYzBjMzM3N2ViZjg4ZmFjNjgxYzc0MzZi
YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jdWkvQ1VJ
U3R5bGVFZmZlY3RDb25maWd1cmF0aW9uU1BJLmgKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbXBvcnQgPENvcmVVSS9DVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb24uaD4K
KyNlbHNlCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KK0BpbnRlcmZhY2UgQ1VJ
U3R5bGVFZmZlY3RDb25maWd1cmF0aW9uIDogTlNPYmplY3QgPE5TQ29weWluZz4KK0Bwcm9wZXJ0
eSAobm9uYXRvbWljKSBCT09MIHVzZVNpbXBsaWZpZWRFZmZlY3Q7CitAZW5kCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9kaXNwYXRjaC9EaXNwYXRjaFNQ
SS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2Rpc3BhdGNoL0Rpc3BhdGNoU1BJLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWFlNTA2ODQwY2QwNWU1NGUwN2E3YTkwODc4ZmNhNmUxZDRjZmFhNwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9kaXNwYXRjaC9EaXNw
YXRjaFNQSS5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgRGlzcGF0Y2hTUElfaAorI2RlZmluZSBEaXNwYXRj
aFNQSV9oCisKKyNpbmNsdWRlIDxkaXNwYXRjaC9kaXNwYXRjaC5oPgorCisjaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxkaXNwYXRjaC9wcml2YXRlLmg+CisjZWxzZQorZW51
bSB7CisgICAgRElTUEFUQ0hfTUVNT1JZU1RBVFVTX1BSRVNTVVJFX05PUk1BTCA9IDB4MDEsCisg
ICAgRElTUEFUQ0hfTUVNT1JZU1RBVFVTX1BSRVNTVVJFX1dBUk4gPSAweDAyLAorICAgIERJU1BB
VENIX01FTU9SWVNUQVRVU19QUkVTU1VSRV9DUklUSUNBTCA9IDB4MDQsCit9OworI2RlZmluZSBE
SVNQQVRDSF9TT1VSQ0VfVFlQRV9NRU1PUllTVEFUVVMgKCZfZGlzcGF0Y2hfc291cmNlX3R5cGVf
bWVtb3J5c3RhdHVzKQorI2VuZGlmCisKK0RJU1BBVENIX0VYUE9SVCBjb25zdCBzdHJ1Y3QgZGlz
cGF0Y2hfc291cmNlX3R5cGVfcyBfZGlzcGF0Y2hfc291cmNlX3R5cGVfbWVtb3J5c3RhdHVzOwor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL01QQVZS
b3V0aW5nQ29udHJvbGxlclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9N
UEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZGY3OTA0MmIyNDBmMDAyMjFh
OWRlZDUxNGM0NmUxNzRjNDc5YTJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2lvcy9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaApAQCAtMCwwICsxLDQw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8TWVkaWFQbGF5ZXIvTVBBVlJvdXRpbmdD
b250cm9sbGVyLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+Citl
bnVtIHsKKyAgICBNUFJvdXRlRGlzY292ZXJ5TW9kZVByZXNlbmNlID0gMSwKK307CisKK3R5cGVk
ZWYgTlNJbnRlZ2VyIE1QUm91dGVEaXNjb3ZlcnlNb2RlOworCitAaW50ZXJmYWNlIE1QQVZSb3V0
aW5nQ29udHJvbGxlciA6IE5TT2JqZWN0CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBN
UFJvdXRlRGlzY292ZXJ5TW9kZSBkaXNjb3ZlcnlNb2RlOworLSAoaW5zdGFuY2V0eXBlKWluaXRX
aXRoTmFtZTooTlNTdHJpbmcgKiluYW1lOworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL01vYmlsZUdlc3RhbHRTUEkuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvTW9iaWxlR2VzdGFsdFNQSS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
Njc0MDViODA1MzM4ZDU4MmRkMzc5MmEyMjQ5MDc4MjYyOThmZWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL01vYmlsZUdlc3RhbHRTUEkuaApAQCAt
MCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisKKyNpZm5kZWYgTW9iaWxlR2VzdGFsdFNQSV9oCisjZGVmaW5lIE1vYmlsZUdlc3RhbHRTUElf
aAorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxNb2JpbGVHZXN0YWx0
Lmg+CisjZWxzZQorI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Citz
dGF0aWMgY29uc3QgQ0ZTdHJpbmdSZWYga01HUU1haW5TY3JlZW5QaXRjaCA9IENGU1RSKCJtYWlu
LXNjcmVlbi1waXRjaCIpOworc3RhdGljIGNvbnN0IENGU3RyaW5nUmVmIGtNR1FNYWluU2NyZWVu
U2NhbGUgPSBDRlNUUigibWFpbi1zY3JlZW4tc2NhbGUiKTsKKyNlbmRpZgorCitleHRlcm4gIkMi
IENGVHlwZVJlZiBNR0NvcHlBbnN3ZXIoQ0ZTdHJpbmdSZWYgcXVlc3Rpb24sIENGRGljdGlvbmFy
eVJlZiBvcHRpb25zKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL21hY2gtby9keWxkU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFj
aC1vL2R5bGRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjEzZGExMjI3MjExMTdhZjc3ZmEyMGQxOGExOTBl
MGMyOGJjZGM4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L21hY2gtby9keWxkU1BJLmgKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBkeWxkU1BJX2gKKyNkZWZpbmUgZHls
ZFNQSV9oCisKKyNpbmNsdWRlIDxtYWNoLW8vZHlsZC5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbmNsdWRlIDxtYWNoLW8vZHlsZF9wcml2Lmg+CisjZWxzZQorI2RlZmluZSBE
WUxEX0lPU19WRVJTSU9OXzNfMCAweDAwMDMwMDAwCisjZGVmaW5lIERZTERfSU9TX1ZFUlNJT05f
Nl8wIDB4MDAwNjAwMDA7CisjZGVmaW5lIERZTERfSU9TX1ZFUlNJT05fN18wIDB4MDAwNzAwMDA7
CisjZW5kaWYKKworZXh0ZXJuICJDIiB1aW50MzJfdCBkeWxkX2dldF9wcm9ncmFtX3Nka192ZXJz
aW9uKCk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L21lZGlhcGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL21lZGlhcGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjExMjRhZDEwNzY4YTg3MmU5NGRiMTRmNmJjYTkxMzIyMmQ3OWExODYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWVkaWFwbGF5ZXIvTVBBVlJv
dXRpbmdDb250cm9sbGVyU1BJLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
CisjaW1wb3J0IDxNZWRpYVBsYXllci9NUEFWUm91dGluZ0NvbnRyb2xsZXIuaD4KKyNlbHNlCisj
aW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KK2VudW0geworICAgIE1QUm91dGVEaXNj
b3ZlcnlNb2RlUHJlc2VuY2UgPSAxLAorfTsKKwordHlwZWRlZiBOU0ludGVnZXIgTVBSb3V0ZURp
c2NvdmVyeU1vZGU7CisKK0BpbnRlcmZhY2UgTVBBVlJvdXRpbmdDb250cm9sbGVyIDogTlNPYmpl
Y3QKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIE1QUm91dGVEaXNjb3ZlcnlNb2RlIGRp
c2NvdmVyeU1vZGU7CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhOYW1lOihOU1N0cmluZyAqKW5h
bWU7CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9xdWlja2xvb2svUUxQcmV2aWV3Q29udmVydGVyU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvcXVpY2tsb29rL1FMUHJldmlld0NvbnZlcnRlclNQSS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcx
MDFkNTFmNTQzYzcxOGEzNzY3MTZhODE3OTVmYmZmNTFhM2I3ZjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvcXVpY2tsb29rL1FMUHJldmlld0NvbnZlcnRl
clNQSS5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxRdWlj
a0xvb2svUUxQcmV2aWV3Q29udmVydGVyLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlvbi9G
b3VuZGF0aW9uLmg+CisKK0BpbnRlcmZhY2UgUUxQcmV2aWV3Q29udmVydGVyIDogTlNPYmplY3QK
K0Bwcm9wZXJ0eSAocmVhZG9ubHksIG5vbmF0b21pYykgTlNTdHJpbmcqIHByZXZpZXdGaWxlTmFt
ZTsKK0Bwcm9wZXJ0eSAocmVhZG9ubHksIG5vbmF0b21pYykgTlNTdHJpbmcqIHByZXZpZXdVVEk7
CitAcHJvcGVydHkgKHJlYWRvbmx5LCBub25hdG9taWMpIE5TVVJMUmVxdWVzdCogcHJldmlld1Jl
cXVlc3Q7CitAcHJvcGVydHkgKHJlYWRvbmx5LCBub25hdG9taWMpIE5TVVJMUmVzcG9uc2UqIHBy
ZXZpZXdSZXNwb25zZTsKKy0gKGlkKWluaXRXaXRoRGF0YTooTlNEYXRhICopZGF0YSBuYW1lOihO
U1N0cmluZyAqKW5hbWUgdXRpOihOU1N0cmluZyAqKXV0aSBvcHRpb25zOihOU0RpY3Rpb25hcnkg
KilvcHRpb25zOworLSAoaWQpaW5pdFdpdGhDb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKilj
b25uZWN0aW9uIGRlbGVnYXRlOihpZClkZWxlZ2F0ZSByZXNwb25zZTooTlNVUkxSZXNwb25zZSAq
KXJlc3BvbnNlIG9wdGlvbnM6KE5TRGljdGlvbmFyeSAqKW9wdGlvbnM7CistIChOU1VSTFJlcXVl
c3QgKilzYWZlUmVxdWVzdEZvclJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7CistICh2
b2lkKWFwcGVuZERhdGFBcnJheTooTlNBcnJheSAqKWRhdGFBcnJheTsKKy0gKHZvaWQpZmluaXNo
ZWRBcHBlbmRpbmdEYXRhOworLSAodm9pZClmaW5pc2hDb252ZXJ0aW5nOworQGVuZAorI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvcXVpY2tsb29rL1F1aWNr
TG9va1NQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL3F1aWNrbG9vay9RdWlja0xv
b2tTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zZDM2N2NjMmRjNDBjM2FjOGM4YWYxNTA1NTEzNWM2NDA0MzBj
ODdkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL3F1aWNr
bG9vay9RdWlja0xvb2tTUEkuaApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQor
I2ltcG9ydCA8UXVpY2tMb29rL1F1aWNrTG9va1ByaXZhdGUuaD4KKyNlbHNlCisjaW1wb3J0IDxG
b3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworTlNTZXQgKlFMUHJldmlld0dldFN1cHBvcnRlZE1J
TUVUeXBlcygpOworTlNTdHJpbmcgKlFMVHlwZUNvcHlCZXN0TWltZVR5cGVGb3JGaWxlTmFtZUFu
ZE1pbWVUeXBlKE5TU3RyaW5nICpmaWxlTmFtZSwgTlNTdHJpbmcgKm1pbWVUeXBlKTsKK05TU3Ry
aW5nICpRTFR5cGVDb3B5QmVzdE1pbWVUeXBlRm9yVVJMQW5kTWltZVR5cGUoTlNVUkwgKiwgTlNT
dHJpbmcgKm1pbWVUeXBlKTsKK05TU3RyaW5nICpRTFR5cGVDb3B5VVRJRm9yVVJMQW5kTWltZVR5
cGUoTlNVUkwgKiwgTlNTdHJpbmcgKm1pbWVUeXBlKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCmluZGV4IGJlMTQ2N2I5YjYxZWYwM2E2YmNkZDEw
NjEzOGVhYjIyZGI4YWQ2NDYuLjgzOWE2NGM4NmM3OGFlMGZkZTViNzNlNTZhMWJjNjg2NGJlYzhk
ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTMw
LDYgKzMwLDcgQEAKICNpbXBvcnQgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAjaW1wb3J0ICJDU1NU
b0xlbmd0aENvbnZlcnNpb25EYXRhLmgiCiAjaW1wb3J0ICJDU1NWYWx1ZUtleXdvcmRzLmgiCisj
aW1wb3J0ICJDVEZvbnREZXNjcmlwdG9yU1BJLmgiCiAjaW1wb3J0ICJEYXRlQ29tcG9uZW50cy5o
IgogI2ltcG9ydCAiRG9jdW1lbnQuaCIKICNpbXBvcnQgIkZsb2F0Um91bmRlZFJlY3QuaCIKQEAg
LTU4LDggKzU5LDcgQEAKICNpbXBvcnQgIlVzZXJBZ2VudFNjcmlwdHMuaCIKICNpbXBvcnQgIlVz
ZXJBZ2VudFN0eWxlU2hlZXRzLmgiCiAjaW1wb3J0ICJXZWJDb3JlVGhyZWFkUnVuLmgiCi0jaW1w
b3J0IDxDb3JlR3JhcGhpY3MvQ0dQYXRoUHJpdmF0ZS5oPgotI2ltcG9ydCA8Q29yZVRleHQvQ1RG
b250RGVzY3JpcHRvclByaXYuaD4KKyNpbXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3Mu
aD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CiAjaW1wb3J0IDx3dGYvUmVmUHRyLmg+CkBAIC04MSwxNCArODEsNiBAQCBTT0ZUX0xJTktf
Q09OU1RBTlQoVUlLaXQsIFVJQ29udGVudFNpemVDYXRlZ29yeURpZENoYW5nZU5vdGlmaWNhdGlv
biwgQ0ZTdHJpbmdSZQogQGltcGxlbWVudGF0aW9uIFdlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZQog
QGVuZAogCi0vLyBUaGlzIGlzIGEgdGVtcG9yYXJ5IGhhY2sgdG8gYnVpbGQgb24gaU9TLiBTaG91
bGQgYmUgcmVtb3ZlZCBhcyBzb29uIGFzIENUIGZpeGVzIHRoZSBoZWFkZXIgZmlsZXMuCi1leHRl
cm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRIZWFkbGluZSBDVF9B
VkFJTEFCTEUoMTBfMTAsIDdfMCk7Ci1leHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250
VGV4dFN0eWxlU2hvcnRCb2R5IENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKLWV4dGVybiBjb25z
dCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydFN1YmhlYWQgQ1RfQVZBSUxBQkxF
KDEwXzEwLCA3XzApOwotZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHls
ZVNob3J0Rm9vdG5vdGUgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOwotZXh0ZXJuIGNvbnN0IENG
U3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0Q2FwdGlvbjEgQ1RfQVZBSUxBQkxFKDEw
XzEwLCA3XzApOwotZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVRh
bGxCb2R5IENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKLQogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjb25zdCBmbG9hdCBDb250cm9sQmFzZUhlaWdodCA9IDIwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0
L21hYy9ET00vV2ViRE9NT3BlcmF0aW9uc1ByaXZhdGUuaAppbmRleCA3YTA2NzZlM2JmNTg0YmUz
ZjVmN2VkZTMwZWFiODBjY2YxYTM4MmYwLi40MGUwMmE3YTk4ODhjYzgyNjEyYWQ5ZTI1YzU2M2Ri
Y2I5OGQwNWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9ET00vV2ViRE9NT3BlcmF0
aW9uc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9ET00vV2ViRE9NT3BlcmF0aW9u
c1ByaXZhdGUuaApAQCAtMzAsNyArMzAsNyBAQAogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSlNC
YXNlLmg+CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCi0jaW1wb3J0IDxGb3VuZGF0aW9uL05TR2Vv
bWV0cnkuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTlNHZW9tZXRyeVNQSS5oPgogI2Vsc2UKICNpbXBv
cnQgPEFwcEtpdC9OU0V2ZW50Lmg+CiAjaW1wb3J0IDxXZWJLaXRMZWdhY3kvRE9NV2hlZWxFdmVu
dC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5tbQppbmRleCBjNWY5ZTNhZDM1ZGY4NzllOWFmMzRlNDhiNjBiNTdh
YTRiZWYyODkzLi41YjFjYzJiMmExOWUwYWU1OWZjZWY2NDZjMTEyMmEwM2VhZmMwNzQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5tbQpAQCAtMTQ5LDggKzE0OSw4IEBACiAjZW5kaWYKIAogI2lmIFVTRShRVUlD
S19MT09LKQotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0ZpbGVNYW5hZ2VyX05TVVJMRXh0cmFzLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW1JT1MuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTlNG
aWxlTWFuYWdlclNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9RdWlja0xvb2suaD4KICNpbXBvcnQg
PFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzSU9TLmg+CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUmVuZGVyTGF5ZXIuaAppbmRleCA2N2U3N2YwMjQ2NzU0MzY1
MDA5MGE1MWM5OTNhODYzMjVhYjA5M2I0Li5mNWE0MzljYzJmMTQzOGM0OWYwMjkwMWIzOTRiNzYz
OTVlYmU4NzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlJlbmRl
ckxheWVyLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJSZW5kZXJMYXllci5o
CkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KIAog
I2lmIFRBUkdFVF9PU19JUEhPTkUKLSNpbXBvcnQgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPgor
I2ltcG9ydCA8V2ViQ29yZS9OU0dlb21ldHJ5U1BJLmg+CiAjZW5kaWYKIAogQGNsYXNzIFdlYkZy
YW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDI2Y2NhNDRhYjBjZjZj
NzVkMDlkNmYxZjFkOTMwZmJkZThhODAxOGMuLjhmYmVhMGFmNzhkMDYxYWZjNWJmYzE1NjcwYTkz
M2IxZjkzYTUwNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTIyNywx
MiArMjI3LDEyIEBACiAjaW1wb3J0ICJXZWJVSUtpdFN1cHBvcnQuaCIKICNpbXBvcnQgIldlYlZp
c2libGVQb3NpdGlvbi5oIgogI2ltcG9ydCA8Q0ZOZXR3b3JrL0NGVVJMQ2FjaGVQcml2Lmg+Ci0j
aW1wb3J0IDxNb2JpbGVHZXN0YWx0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0V2ZW50TmFtZXMuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvRm9udENhY2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNz
TGF5ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvSWNvbkNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdl
YkNvcmUvTGVnYWN5VGlsZUNhY2hlLmg+CisjaW1wb3J0IDxXZWJDb3JlL01vYmlsZUdlc3RhbHRT
UEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvTmV0d29ya1N0YXRlTm90aWZpZXIuaD4KICNpbXBvcnQg
PFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzSU9TLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1NRTGl0ZURhdGFiYXNlVHJhY2tlci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL2lvcy9OYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L2lvcy9OYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1tCmluZGV4IDRhMWVlNDlmYzQ3NGQ4OTY1NWJj
NWIwZDc5N2E1OGQ1ODUxNzI4YmIuLjBlODcxNmY0ZmMyZjQzZjEzZTY3NDYyNjU3NDhhNjcxMDNm
MGZlOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvTmF0aXZlV2ViVG91
Y2hFdmVudElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL05hdGl2ZVdlYlRv
dWNoRXZlbnRJT1MubW0KQEAgLTI3LDEyICsyNywxMSBAQAogI2ltcG9ydCAiTmF0aXZlV2ViVG91
Y2hFdmVudC5oIgogCiAjaWYgUExBVEZPUk0oSU9TKQotCiAjaW1wb3J0ICJXZWJFdmVudC5oIgot
I2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CiAjaW1wb3J0IDxVSUtpdC9VSVRvdWNo
Lmg+CiAjaW1wb3J0IDxVSUtpdC9VSVdlYlRvdWNoRXZlbnRzR2VzdHVyZVJlY29nbml6ZXIuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvSW50UG9pbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTlNHZW9tZXRy
eVNQSS5oPgogI2ltcG9ydCA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpp
bmRleCBkNjQ5MmRmMGJhNzRkOTdjNjI2ZDYxODhhMGMzZjljZjFlYmU1YTc2Li4xMjY4MTExY2Y5
ODA5YzUxZmRmZTA4ODY2OGVmNTljZGQ2MTE5MDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtODgsNyArODgsNiBAQAogI2ltcG9y
dCAiV0tTY3JvbGxWaWV3LmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdp
c3RyeS5oIgogI2ltcG9ydCAiV2ViUGFnZU1lc3NhZ2VzLmgiCi0jaW1wb3J0IDxDb3JlR3JhcGhp
Y3MvQ0dGbG9hdC5oPgogI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHUERGRG9jdW1lbnRQcml2YXRl
Lmg+CiAjaW1wb3J0IDxVSUtpdC9VSUFwcGxpY2F0aW9uLmg+CiAjaW1wb3J0IDxVSUtpdC9VSURl
dmljZV9Qcml2YXRlLmg+CkBAIC05Niw2ICs5NSw3IEBACiAjaW1wb3J0IDxVSUtpdC9VSVdpbmRv
d19Qcml2YXRlLmg+CiAjaW1wb3J0IDxRdWFydHpDb3JlL0NBUmVuZGVyU2VydmVyLmg+CiAjaW1w
b3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmVQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0NH
RmxvYXRTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvSW5zcGVjdG9yT3ZlcmxheS5oPgogCiBAaW50
ZXJmYWNlIFVJU2Nyb2xsVmlldyAoVUlTY3JvbGxWaWV3SW50ZXJuYWwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5t
bSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVy
SU9TLm1tCmluZGV4IDUyM2QwYzhmMTQ2NWU3Y2JhODQxMmQyM2I0NjAyYTk5ZmE3M2E2MDQuLmJk
ZDIzNjNlMGI2Mjk0NjRiYTlhYjQ4OTgwN2NlOGJhZjYxNWE5ODAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVySU9TLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVy
SU9TLm1tCkBAIC0yOSw3ICsyOSw3IEBACiAjaWYgUExBVEZPUk0oSU9TKQogCiAjaW1wb3J0ICJW
aWV3U25hcHNob3RTdG9yZS5oIgotI2ltcG9ydCA8ZGlzcGF0Y2gvcHJpdmF0ZS5oPgorI2ltcG9y
dCA8V2ViQ29yZS9EaXNwYXRjaFNQSS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBp
Y2tlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91
dGVQaWNrZXIubW0KaW5kZXggZDI1ZTI4N2U1MzQ4MzhkNzY1OGI2YTZlNTAyYjZhMzg0ZjRlNjBm
NC4uZDljNWMxYTE2YWNjODgzZDEzY2E4M2U0MDA1MDBmM2YyNzkyYzAyZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRl
UGlja2VyLm1tCkBAIC0zMiw5ICszMiw5IEBACiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24uaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCA8TWVkaWFQbGF5ZXIv
TVBBVkl0ZW0uaD4KLSNpbXBvcnQgPE1lZGlhUGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxlci5o
PgogI2ltcG9ydCA8TWVkaWFQbGF5ZXIvTVBBdWRpb1ZpZGVvUm91dGluZ1BvcG92ZXJDb250cm9s
bGVyLmg+CiAjaW1wb3J0IDxNZWRpYVBsYXllci9NUEF1ZGlvVmlkZW9Sb3V0aW5nQWN0aW9uU2hl
ZXQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0IDxVSUtpdC9VSUFwcGxpY2F0aW9u
X1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAwMDY2MGMyMTNl
NjVhNjQ4ZTM5YzM0OTcwODFjZTZlMzBlZGRiYTRkLi4zZjEyYzFiNjA4NTVlYzY5MDRhZDkzNGQz
NWYyOWJlZmQ5YTY2ZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCkBAIC0xOTMsOCArMTkzLDggQEAKICNpbmNsdWRlICJSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYS5oIgogI2luY2x1ZGUgIldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIuaCIK
ICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+Ci0jaW5jbHVkZSA8Q29yZVRl
eHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4KLSNpbmNsdWRlIDxDb3JlVGV4dC9DVEZvbnRQcml2
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DVEZvbnREZXNjcmlwdG9yU1BJLmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9DVEZvbnRTUEkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ljb24uaD4KICNlbmRpZgog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237624</attachid>
            <date>2014-09-04 08:30:11 -0700</date>
            <delta_ts>2014-09-12 15:28:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136487-20140904083005.patch</filename>
            <type>text/plain</type>
            <size>149834</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczMjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY3NDA3NDQyNTdiY2Vk
Yzk5ZWIxNTQ4NWI5OTBkYTdkMWI4YWEzZS4uMDVhMmY1ZTEwMzE4M2E1NTZlNTU0MmFjZGMyM2Ez
YzA3ZjVhMGY3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMiBAQAorMjAxNC0wOS0wNCAgRGFu
aWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTWFrZSBXZWJD
b3JlIGJ1aWxkIHdpdGggcHVibGljIGlPUyBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBTUEkgaGVhZGVycyBhbmQgdXBkYXRlIGZpbGVzIHRv
IG1ha2UgdXNlIG9mIHRoZW0gc28gdGhhdCB3ZSBjYW4gYnVpbGQgV2ViQ29yZQorICAgICAgICBm
b3IgaU9TIHVzaW5nIHRoZSBwdWJsaWMgaU9TIFNESy4KKworICAgICAgICAqIFdlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2o6IENvbmRpdGlvbmFsbHkgaW5jbHVkZSBoZWFkZXIgcGxhdGZv
cm0vc3BpL2NnL0NHRm9udFJlbmRlcmluZ1NQSS5oLgorICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczogQWRkIGZpbHRlcnMgZm9yIHBsYXRmb3JtL3NwaSwg
cGxhdGZvcm0vc3BpL2NnLCBhbmQgcGxhdGZvcm0vc3BpL2NnL0NHRm9udFJlbmRlcmluZ1NQSS5o
LgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlQ0cucHJvcHM6IEFkZCBpbmNsdWRl
IGRpcmVjdG9yaWVzIHBsYXRmb3JtL3NwaSBhbmQgcGxhdGZvcm0vc3BpL2NnLgorICAgICAgICAq
IFdlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL2NvcHlGb3J3YXJkaW5nSGVhZGVycy5jbWQ6IENvcHkg
aGVhZGVycyBpbiBkaXJlY3RvcnkgcGxhdGZvcm0vc3BpL2NnLgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQgbmV3IHBsYXRmb3JtL3NwaSBmaWxlcy4K
KyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUludGVybmFsLm1tOiBJbXBvcnQgaGVhZGVyIE5T
UG9pbnRlckZ1bmN0aW9uc1NQSS5oLgorICAgICAgICAqIGJyaWRnZS9vYmpjL29iamNfaW5zdGFu
Y2UubW06IEltcG9ydCBoZWFkZXIgTlNQb2ludGVyRnVuY3Rpb25zU1BJLmg7IGFsc28gc29ydCB0
aGUgbGlzdCBvZiBpbXBvcnRlZCBoZWFkZXJzLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvSFRN
TENvbnZlcnRlci5tbTogSW1wb3J0IGhlYWRlciBOU0dlb21ldHJ5U1BJLmguCisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW06IFN1YnN0aXR1dGUg
aGVhZGVyIE1QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oIGZvciA8TWVkaWFQbGF5ZXIvTVBBVlJv
dXRpbmdDb250cm9sbGVyLmg+LgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0Rpc3BsYXlTbGVl
cERpc2FibGVyQ29jb2EuY3BwOiBTdWJzdGl0dXRlIGhlYWRlciBJT1BNTGliU1BJLmggZm9yIDxJ
T0tpdC9wd3JfbWd0L0lPUE1MaWIuaD4uCisgICAgICAgICogcGxhdGZvcm0vY29jb2EvTWVtb3J5
UHJlc3N1cmVIYW5kbGVyQ29jb2EubW06IFN1YnN0aXR1dGUgaGVhZGVyIERpc3BhdGNoU1BJLmgg
Zm9yIDxkaXNwYXRjaC9wcml2YXRlLmg+LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0lu
dFJlY3QuaDogU3Vic3RpdHV0ZSB0eXBlZGVmIGZvciBtYWNybyBkZWZpbmUgb2YgTlNSZWN0Lgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmg6IE1vdmUgaW5saW5l
IGRlZmluaXRpb25zIGZvciA8Q29yZUdyYXBoaWNzL0NHRm9udFJlbmRlcmluZy5oPiB0byBDR0Zv
bnRSZW5kZXJpbmdTUEkuaCBhbmQgaW5jbHVkZQorICAgICAgICBDR0ZvbnRSZW5kZXJpbmdTUEku
aC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tOiBTdWJzdGl0dXRlIGhlYWRlciBOU0dlb21l
dHJ5U1BJLmggZm9yIDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4uCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbTogU3Vic3RpdHV0ZSBoZWFk
ZXIgQ0FUaWxlZExheWVyU1BJLmgsIE5TR2VvbWV0cnlTUEkuaCBmb3IgPFF1YXJ0ekNvcmUvQ0FU
aWxlZExheWVyUHJpdmF0ZS5oPiwKKyAgICAgICAgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPiwg
cmVzcGVjdGl2ZWx5LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0JpdG1hcEltYWdl
Q0cuY3BwOiBSZW1vdmUgdW5uZWNlc3NhcnkgaW5jbHVkZSBvZiBoZWFkZXIgPENvcmVHcmFwaGlj
cy9DR0NvbnRleHRQcml2YXRlLmg+LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0Nv
bG9yQ0cuY3BwOiBTdWJzdGl0dXRlIGhlYWRlciBDR0NvbG9yVHJhbnNmb3JtU1BJLmggZm9yIDxD
b3JlR3JhcGhpY3MvQ0dDb2xvclRyYW5zZm9ybS5oPjsgYWxzbyByZW1vdmUgaGVhZGVyCisgICAg
ICAgIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+IGFzIENHQ29sb3JUcmFuc2Zvcm1TUEku
aCB3aWxsIGluY2x1ZGUgaXQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhp
Y3NDb250ZXh0Q0cuY3BwOiBNb3ZlIENvcmVHcmFwaGljcyBmb3J3YXJkIGRlY2xhcmF0aW9ucyBp
bnRvIGhlYWRlcnMgQ0dDb250ZXh0R1N0YXRlU1BJLmggYW5kIENHQ29udGV4dFNQSS5oCisgICAg
ICAgIGFuZCBpbmNsdWRlIGhlYWRlcnMgQ0dDb250ZXh0R1N0YXRlU1BJLmggYW5kIENHQ29udGV4
dFNQSS5oLiBBbHNvIHNvcnQgdGhlIGxpc3Qgb2YgaGVhZGVycy4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcDogU3Vic3RpdHV0ZSBoZWFkZXIgQ0dJbWFn
ZVNQSS5oIGZvciA8Q29yZUdyYXBoaWNzL0NHSW1hZ2VQcml2YXRlLmg+LgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuY3BwOiBSZW1vdmUgdW5uZWNlc3Nh
cnkgaGVhZGVycyA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dHtQcml2YXRlLCBHU3RhdGV9Lmg+Lgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5t
bTogU3Vic3RpdHV0ZSBoZWFkZXIgQ0dGb250SW5mb1NQSS5oIGZvciA8Q29yZUdyYXBoaWNzL0NH
Rm9udEluZm8uaD4uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlP
Uy5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaCwgQ1RGb250
RGVzY3JpcHRvclNQSS5oLCBDVEZvbnRTUEkuaCBmb3IKKyAgICAgICAgPENvcmVHcmFwaGljcy9D
R0ZvbnRVbmljb2RlU3VwcG9ydC5oPiwgPENvcmVUZXh0L0NURm9udHtEZXNjcmlwdG9yUHJpdiwg
UHJpdn0uaD4sIHJlc3BlY3RpdmVseS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9pb3Mv
Rm9udFNlcnZpY2VzSU9TLm1tOiBTdWJzdGl0dXRlIGhlYWRlciBDR0ZvbnRJbmZvU1BJLmggYW5k
IGR5bGRTUEkuaCBmb3IgPENvcmVHcmFwaGljcy97Q29yZUdyYXBoaWNzLCBDb3JlR3JhcGhpY3NQ
cml2YXRlfS5oPiwKKyAgICAgICAgYW5kIDxtYWNoLW8vZHlsZF9wcml2Lmg+LCByZXNwZWN0aXZl
bHkuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL1NpbXBsZUZvbnREYXRhSU9TLm1t
OiBTdWJzdGl0dXRlIGhlYWRlcnMgQ0dGb250SW5mb1NQSS5oIGFuZCBDR0ZvbnRSZW5kZXJpbmdT
UEkuaCBmb3IgPENvcmVHcmFwaGljcy9DR0ZvbnRJbmZvLmg+LiAKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbTogTW92ZSBpbmxpbmUgZm9yd2FyZCBkZWNsYXJhdGlv
bnMgZm9yIDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPiBhbmQgPENvcmVHcmFwaGlj
cy9Db3JlR3JhcGhpY3NQcml2YXRlLmg+CisgICAgICAgIGludG8gQ1RGb250RGVzY3JpcHRvclNQ
SS5oIGFuZCBDR0NvbnRleHRHU3RhdGVTUEkuaCwgcmVzcGVjdGl2ZWx5IGFuZCBpbmNsdWRlIGhl
YWRlcnMgQ1RGb250RGVzY3JpcHRvclNQSS5oIGFuZCBDR0NvbnRleHRHU3RhdGVTUEkuaC4gQWxz
byBpbmNsdWRlCisgICAgICAgIGhlYWRlcnMgQ1VJQ2F0YWxvZ1NQSS5oIGFuZCBDVUlTdHlsZUVm
ZmVjdENvbmZpZ3VyYXRpb25TUEkuaC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMv
R2x5cGhQYWdlVHJlZU5vZGVNYWMuY3BwOiBTdWJzdGl0dXRlIGhlYWRlciBDR0ZvbnRVbmljb2Rl
U3VwcG9ydFNQSS5oIGZvciA8Q29yZUdyYXBoaWNzL0NHRm9udFVuaWNvZGVTdXBwb3J0Lmg+IGFu
ZCA8Q29yZVRleHQvQ1RGb250UHJpdi5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9t
YWMvTWVkaWFQbGF5ZXJQcm94eS5oOiBTdWJzdGl0dXRlIGhlYWRlciBOU0dlb21ldHJ5U1BJLmgg
Zm9yIDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tOiBNb3ZlIGlubGluZSBmb3J3YXJkIGRlY2xhcmF0
aW9ucyBmb3IgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2Lmg+IGFuZCA8Q29yZUdyYXBo
aWNzL0NHRm9udEdseXBoU3VwcG9ydC5oPgorICAgICAgICBhbmQgaW5jbHVkZSBoZWFkZXJzIENU
Rm9udERlc2NyaXB0b3JTUEkuaCBhbmQgQ0dGb250R2x5cGhTdXBwb3J0U1BJLmguCisgICAgICAg
ICogcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbTogU3Vic3RpdHV0ZSBoZWFkZXJzIENB
TGF5ZXJTUEkuaCBhbmQgQ0dTUmVnaW9uU1BJLmggZm9yIDxRdWFydHpDb3JlL1F1YXJ0ekNvcmVQ
cml2YXRlLmg+LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZC5tbTogU3Vi
c3RpdHV0ZSBoZWFkZXJzIENBTGF5ZXJTUEkuaCwgQ0dGbG9hdFNQSS5oLCA8Q29yZUdyYXBoaWNz
L0NvcmVHcmFwaGljcy5oPiBmb3IgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3NQcml2YXRlLmg+
CisgICAgICAgIGFuZCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlUHJpdmF0ZS5oPi4KKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWRUaWxlLm1tOiBTdWJzdGl0dXRlIGhlYWRlciBD
QUxheWVyU1BJLmggZm9yIDxRdWFydHpDb3JlL1F1YXJ0ekNvcmVQcml2YXRlLmg+LgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbTogU3Vic3RpdHV0ZSBo
ZWFkZXIgTlNHZW9tZXRyeVNQSS5oIGZvciA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+LiBBbHNv
IGluY2x1ZGUgaGVhZGVyIDx3dGYvQ3VycmVudFRpbWUuaD4uCisgICAgICAgICogcGxhdGZvcm0v
aW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tOiBTdWJzdGl0dXRlIGhlYWRlciBNb2JpbGVHZXN0YWx0
U1BJLmggZm9yIDxNb2JpbGVHZXN0YWx0Lmg+LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJF
dmVudC5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgTlNHZW9tZXRyeVNQSS5oIGZvciA8Rm91bmRhdGlv
bi9OU0dlb21ldHJ5Lmg+LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdC5tbTogU3Vic3RpdHV0ZSBoZWFkZXJzIEFWUGxheWVyQ29udHJvbGxl
clNQSS5oLCBBVlBsYXllclZpZXdDb250cm9sbGVyU1BJLmgsIEFWVmFsdWVUaW1pbmdTUEkuaCwg
QVZWaWRlb0xheWVyU1BJLmgKKyAgICAgICAgZm9yIDxBVktpdC9BVlBsYXllcntDb250cm9sbGVy
LCBWaWV3Q29udHJvbGxlcl9Qcml2YXRlLCBWaWV3Q29udHJvbGxlcl9XZWJLaXRPbmx5fS5oPiBh
bmQgPEFWS2l0L0FWe1ZhbHVlVGltaW5nLCBBVlZpZGVvTGF5ZXJ9Lmg+LgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy93YWsvV0FLQXBwS2l0U3R1YnMuaDogU3Vic3RpdHV0ZSBoZWFkZXIgTlNHZW9t
ZXRyeVNQSS5oIGZvciA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+LgorICAgICAgICAqIHBsYXRm
b3JtL2lvcy93YWsvV0FLVmlldy5oOiBJbmNsdWRlIGhlYWRlciBOU0dlb21ldHJ5U1BJLmggYW5k
IHJlbW92ZSBtYWNybyBkZWZpbmVzIGZvciBOU1JlY3QsIE5TUG9pbnQsIGFuZCBOU1NpemUuCisg
ICAgICAgICogcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBoaWNzLmg6IFN1YnN0aXR1dGUgaGVhZGVy
cyBDR0NvbnRleHRTUEkuaCBhbmQgQ0dGb250UmVuZGVyaW5nU1BJLmggZm9yIDxDb3JlR3JhcGhp
Y3MvQ29yZUdyYXBoaWNzLmg+IGFuZCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljc1ByaXZhdGUu
aD4uCisgICAgICAgICogcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBoaWNzLm1tOiBJbXBvcnQgaGVh
ZGVyIENHQ29udGV4dEdTdGF0ZVNQSS5oLiBBbHNvIHNvcnQgdGhlIGxpc3Qgb2YgaGVhZGVycy4K
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW06IFJlbW92ZSB1bm5l
Y2Vzc2FyeSBoZWFkZXIgPENvcmVGb3VuZGF0aW9uL0NGUHJpdi5oPi4KKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2subW06IFN1YnN0aXR1dGUgaGVhZGVyIE5TRmlsZU1h
bmFnZXJTUEkuaCwgUUxQcmV2aWV3Q29udmVydGVyU1BJLmgsIGFuZCBRdWlja0xvb2tTUEkuaCBm
b3IgPEZvdW5kYXRpb24vTlNGaWxlTWFuYWdlcl9OU1VSTEV4dHJhcy5oPiwKKyAgICAgICAgPFF1
aWNrTG9vay97UUxQcmV2aWV3Q29udmVydGVyLCBRdWlja0xvb2tQcml2YXRlLmh9Lmg+LCByZXNw
ZWN0aXZlbHkuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2F2a2l0L0FWUGxheWVyQ29udHJvbGxl
clNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvYXZraXQvQVZQbGF5ZXJWaWV3
Q29udHJvbGxlclNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvYXZraXQvQVZW
YWx1ZVRpbWluZ1NQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvYXZraXQvQVZW
aWRlb0xheWVyU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jYS9DQUxheWVy
U1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jYS9DQVRpbGVkTGF5ZXJTUEku
aDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NnL0NHQ29sb3JUcmFuc2Zvcm1TUEku
aDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NnL0NHQ29udGV4dEdTdGF0ZVNQSS5o
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2cvQ0dDb250ZXh0U1BJLmg6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR0Zsb2F0U1BJLmg6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL3NwaS9jZy9DR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vc3BpL2NnL0NHRm9udEluZm9TUEkuaDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vc3BpL2NnL0NHRm9udFJlbmRlcmluZ1NQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9zcGkvY2cvQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vc3BpL2NnL0NHSW1hZ2VTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vc3BpL2NnL0NHU1JlZ2lvblNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkv
Y29jb2EvRGlzcGF0Y2hTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29h
L0lPUE1MaWJTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29hL05TRmls
ZU1hbmFnZXJTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29hL05TR2Vv
bWV0cnlTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29hL05TUG9pbnRl
ckZ1bmN0aW9uc1NQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY29jb2EvZHls
ZFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY3QvQ1RGb250RGVzY3JpcHRv
clNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY3QvQ1RGb250U1BJLmg6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jdWkvQ1VJQ2F0YWxvZ1NQSS5oOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY3VpL0NVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQ
SS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvZGlzcGF0Y2gvRGlzcGF0Y2hTUEku
aDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2lvcy9NUEFWUm91dGluZ0NvbnRyb2xs
ZXJTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2lvcy9Nb2JpbGVHZXN0YWx0
U1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tYWNoLW8vZHlsZFNQSS5oOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvbWVkaWFwbGF5ZXIvTVBBVlJvdXRpbmdDb250
cm9sbGVyU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9xdWlja2xvb2svUUxQ
cmV2aWV3Q29udmVydGVyU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9xdWlj
a2xvb2svUXVpY2tMb29rU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
aGVtZUlPUy5tbTogTW92ZSBpbmxpbmUgZXh0ZXJucyBpbnRvIENURm9udERlc2NyaXB0b3JTUEku
aCwgc3Vic3RpdHV0ZSBoZWFkZXIgQ1RGb250RGVzY3JpcHRvclNQSS5oIGZvciA8Q29yZVRleHQv
Q1RGb250RGVzY3JpcHRvclByaXYuaD4sIGFuZAorICAgICAgICByZW1vdmUgdW5uZWNlc3Nhcnkg
aGVhZGVyIDxDb3JlR3JhcGhpY3MvQ0dQYXRoUHJpdmF0ZS5oPi4KKwogMjAxNC0wOS0wNCAgQ2Fy
bG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBS
RUdSRVNTSU9OKHIxNzMyNDApIFtHVEtdIERlYnVnIGJ1aWxkIGJyb2tlbi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCA4MjBiODNiZGZjZTMwMzA0Zjk4MWI1MTgxNmUzYjMxZDQwNzU0MDU5Li4yMjQxYjUx
ZjVjZmZlM2IwMDFjNjc2ZGY4YTNmMDE5OTZjNGExYjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTQtMDktMDQgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFtpT1NdIE1ha2UgV2ViQ29yZSBidWlsZCB3aXRoIHB1YmxpYyBpT1MgU0RL
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY0ODcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggdXAg
c29tZSAjaW5jbHVkZSBzdGF0ZW1lbnRzIHRvIHJlZmVyZW5jZSBXZWJDb3JlIFNQSSBoZWFkZXJz
LiBXZSdsbCBsb29rIHRvIG1ha2UKKyAgICAgICAgV2ViS2l0IGJ1aWxkIHdpdGggdGhlIHB1Ymxp
YyBpT1MgU0RLIGluIHN1YnNlcXVlbnQgY29tbWl0KHMpLgorCisgICAgICAgICogRE9NL1dlYkRP
TU9wZXJhdGlvbnNQcml2YXRlLmg6IFN1YnN0aXR1dGUgaGVhZGVyIDxXZWJDb3JlL05TR2VvbWV0
cnlTUEkuaD4gZm9yIDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4uCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW06IFN1YnN0aXR1dGUgaGVhZGVyIDxXZWJD
b3JlL05TRmlsZU1hbmFnZXJTUEkuaD4gZm9yIDxGb3VuZGF0aW9uL05TRmlsZU1hbmFnZXJfTlNV
UkxFeHRyYXMuaD4uCisgICAgICAgICogV2ViVmlldy9XZWJSZW5kZXJMYXllci5oOiBTdWJzdGl0
dXRlIGhlYWRlciA8V2ViQ29yZS9OU0dlb21ldHJ5U1BJLmg+IGZvciA8Rm91bmRhdGlvbi9OU0dl
b21ldHJ5Lmg+LgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbTogU3Vic3RpdHV0ZSBoZWFk
ZXIgPFdlYkNvcmUvTW9iaWxlR2VzdGFsdFNQSS5oPiBmb3IgPE1vYmlsZUdlc3RhbHQuaD4uCisK
IDIwMTQtMDktMDIgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1PgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IGZpeCBwcmVmaXhlcyBmb3Igc3ViY2xhc3NlcyBvZiBKU0M6
OkNvbnNvbGVDbGllbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBkNmVjZDY4ZGFiZjgzZjU3Y2JmZTUwNDZjOTFm
MGYyNWE4ODFmN2NhLi41OWM4ODQ3NTQ1MzE1NzgxYWRkZGMzNmMxYTZhNjZlNTIwMGQyZGYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTQtMDktMDQgIERhbmllbCBCYXRlcyAgPGRh
YmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE1ha2UgV2ViQ29yZSBidWlsZCB3aXRo
IHB1YmxpYyBpT1MgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzY0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBGaXggdXAgc29tZSAjaW5jbHVkZSBzdGF0ZW1lbnRzIHRvIHJlZmVyZW5jZSBXZWJD
b3JlIFNQSSBoZWFkZXJzLiBXZSdsbCBsb29rIHRvIG1ha2UKKyAgICAgICAgV2ViS2l0MiBidWls
ZCB3aXRoIHRoZSBwdWJsaWMgaU9TIFNESyBpbiBzdWJzZXF1ZW50IGNvbW1pdChzKS4KKworICAg
ICAgICAqIFNoYXJlZC9pb3MvTmF0aXZlV2ViVG91Y2hFdmVudElPUy5tbTogU3Vic3RpdHV0ZSBo
ZWFkZXIgPFdlYkNvcmUvTlNHZW9tZXRyeVNQSS5oPiBmb3IgPEZvdW5kYXRpb24vTlNHZW9tZXRy
eS5oPi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbTogU3Vic3Rp
dHV0ZSBoZWFkZXIgPFdlYkNvcmUvQ0dGbG9hdFNQSS5oPiBmb3IgPENvcmVHcmFwaGljcy9DR0Zs
b2F0Lmg+LgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVy
SU9TLm1tOiBTdWJzdGl0dXRlIGhlYWRlciA8V2ViQ29yZS9EaXNwYXRjaFNQSS5oPiBmb3IgPGRp
c3BhdGNoL3ByaXZhdGUuaD4uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBs
YXlSb3V0ZVBpY2tlci5tbTogU3Vic3RpdHV0ZSBoZWFkZXIgPFdlYkNvcmUvTVBBVlJvdXRpbmdD
b250cm9sbGVyU1BJLmg+IGZvciA8TWVkaWFQbGF5ZXIvTVBBVlJvdXRpbmdDb250cm9sbGVyLmg+
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDogU3Vic3RpdHV0ZSBo
ZWFkZXIgPFdlYkNvcmUvQ1RGb250e0Rlc2NyaXB0b3JTUEksIFNQSX0uaD4gZm9yIDxDb3JlVGV4
dC9DVEZvbnR7RGVzY3JpcHRvclByaXYsIFByaXZ9Lmg+LCByZXNwZWN0aXZlbHkuCisKIDIwMTQt
MDktMDQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIEluaXRpYWxpemUgbV91c2VzTmV0d29ya1Byb2Nlc3MgZWFybGllciBpbiBXZWJQcm9jZXNz
Ojppbml0aWFsaXplV2ViUHJvY2VzcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvagppbmRleCA0NjdlZWM1MGQzYWM2OGIzNTA1ZDkwNDVkNDc5MWIw
OWI1NTIzYzY2Li4xOGI2NmQ4MDlmMTdjNGNhMzFkYjdkMTE3MTM0MTdmOGZiYjI1MzM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTE5
OTA4LDYgKzE5OTA4LDEyIEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ3VzdG9tQnVpbGRTdGVwPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cc3BpXGNnXENHRm9udFJlbmRlcmluZ1NQSS5oIj4KKyAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Cisg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
KyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxzcWxcU1FMaXRlRGF0YWJhc2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXHNxbFxTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXHNxbFxTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQu
aCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycwppbmRleCAwZGQwNTQ3Yjg2MDE5OWVmYjE2MjczNDVkOTVjMGRhODNk
NDI0ZmVlLi4xNTgyODUzOTJmMzZmN2ZlOTVjM2VlYTQyZDEyNTU3YmIyMDcxYzI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzCkBAIC0xMzAsNiArMTMwLDEyIEBACiAgICAgPEZpbHRlciBJbmNsdWRlPSJwbGF0Zm9y
bVxuZXR3b3JrXGN1cmwiPgogICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+e2I1OTAzMjE0LWNiYjIt
NGZhZC05ZmYwLTM5MzBhYWE3MzNmNn08L1VuaXF1ZUlkZW50aWZpZXI+CiAgICAgPC9GaWx0ZXI+
CisgICAgPEZpbHRlciBJbmNsdWRlPSJwbGF0Zm9ybVxzcGkiPgorICAgICAgPFVuaXF1ZUlkZW50
aWZpZXI+ezI0N2E0ZWE0LWRjYjUtNGRkMC05ZDBkLWJiMTNlY2IwOGQ1OH08L1VuaXF1ZUlkZW50
aWZpZXI+CisgICAgPC9GaWx0ZXI+CisgICAgPEZpbHRlciBJbmNsdWRlPSJwbGF0Zm9ybVxzcGlc
Y2ciPgorICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+e2EyZTlhMWEzLWM1YzMtNDMzMS1hYjAxLTBk
MTJmZWE5NzllN308L1VuaXF1ZUlkZW50aWZpZXI+CisgICAgPC9GaWx0ZXI+CiAgICAgPEZpbHRl
ciBJbmNsdWRlPSJwbGF0Zm9ybVxzcWwiPgogICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+e2Y5MzVk
OTNjLTczNGYtNGY2MS1hMzFmLWMzYjk2MGZjNWFmZn08L1VuaXF1ZUlkZW50aWZpZXI+CiAgICAg
PC9GaWx0ZXI+CkBAIC04ODgzLDYgKzg4ODksOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cbmV0d29ya1xjZlxMb2FkZXJSdW5Mb29wQ0YuaCI+CiAgICAgICA8RmlsdGVy
PnBsYXRmb3JtXG5ldHdvcmtcY2Y8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXHNwaVxjZ1xDR0ZvbnRSZW5kZXJpbmdTUEkuaCI+
CisgICAgICA8RmlsdGVyPnBsYXRmb3JtXHNwaVxjZzwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRl
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cc3FsXFNRTGl0ZURhdGFiYXNl
LmgiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxzcWw8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVk
ZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlQ0cu
cHJvcHMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZUNHLnByb3BzCmlu
ZGV4IDhiOGQ0ZTU2M2E3YTViNTZjMzQwNjE2MmRiMzU3NjU3MmM0OGUxYzMuLjEwNjI1MWJjZDZm
YzM5YjE4ZTQ4YWRiMWQ1MjA1YmE5N2ZjZTA2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlQ0cucHJvcHMKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmVDRy5wcm9wcwpAQCAtNSw3ICs1LDcgQEAKICAgPC9Qcm9wZXJ0
eUdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAg
PEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdy
YXBoaWNzXGNnOyQoUHJvamVjdERpcikuLlxzdmdcZ3JhcGhpY3NcY2c7JShBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxB
ZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFw
aGljc1xjZzskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cc3BpXGNnOyQoUHJvamVjdERpcikuLlxz
dmdcZ3JhcGhpY3NcY2c7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25h
bEluY2x1ZGVEaXJlY3Rvcmllcz4KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5ESVNB
QkxFX0NPUkVJTUFHRTtESVNBQkxFX0ZST05URU5EO0RJU0FCTEVfSU9TVVJGQUNFO0RJU0FCTEVf
UkVOREVSU0VSVkVSOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz4KICAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL2NvcHlGb3J3YXJkaW5nSGVh
ZGVycy5jbWQgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovY29weUZvcndhcmRpbmdI
ZWFkZXJzLmNtZAppbmRleCBmYmY2OWYxMzA4YjM1ZjIwZTY5YTZkZTMyNzczMmYyY2I5MDEyNDFm
Li45YmFhZDdkMjY1OTM5ZTc4OTBkMDM5MzUzNWI3ZTVhYWMwOWMwNjdjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovY29weUZvcndhcmRpbmdIZWFkZXJz
LmNtZApAQCAtNjUsNiArNjUsNyBAQCB4Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5ccGxhdGZv
cm1cdGV4dFx0cmFuc2NvZGVyXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESQogeGNvcHkgL3kg
L2QgIiVQcm9qZWN0RGlyJS4uXHBsYXRmb3JtXHdpblwqLmgiICIlQ09ORklHVVJBVElPTkJVSUxE
RElSJVxpbmNsdWRlXFdlYkNvcmUiCiB4Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5ccGxhdGZv
cm1cbmV0d29ya1wqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUi
CiB4Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5ccGxhdGZvcm1cbmV0d29ya1wlMlwqLmgiICIl
Q09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCit4Y29weSAveSAvZCAiJVBy
b2plY3REaXIlLi5ccGxhdGZvcm1cc3BpXGNnXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIl
XGluY2x1ZGVcV2ViQ29yZSIKIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxwbGF0Zm9ybVxz
cWxcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkg
L3kgL2QgIiVQcm9qZWN0RGlyJS4uXHBsYXRmb3JtXGNhaXJvXGNhaXJvXHNyY1wqLmgiICIlQ09O
RklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCiB4Y29weSAveSAvZCAiJVByb2pl
Y3REaXIlLi5cYmluZGluZ3NcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxX
ZWJDb3JlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGQ4NGNlNGEyYzRiNDY2ZGY5NWRkZmVkZTAxOWY5OTY5MmNkMTdhMGYuLjhm
YjViYzI3MGM3YTExNDg1ODk0MzE0MDE0NWEyZDA4NzExNDcxYzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU3MjYsNiArNTcy
NiwzNiBAQAogCQlDRTA1N0ZBNjEyMjA3MzExMDBBNDc2RDUgLyogRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RTA1N0ZBNDEyMjA3MzExMDBBNDc2RDUgLyogRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0UwOEMzRDEx
NTJCNTk5QTAwMjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UwOEMzQ0YxNTJCNTk5QTAw
MjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwICovOyB9OwogCQlDRTA4QzNE
MjE1MkI1OTlBMDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UwOEMzRDAxNTJCNTk5QTAw
MjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9ICgpOyB9OyB9OworCQlDRTRGNkQyRDE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5
ZXJDb250cm9sbGVyU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRTRGNkQyOTE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJDb250cm9sbGVyU1BJ
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0
RjZEMkUxOUI3NzRENTAwQkZDNjRBIC8qIEFWUGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDJBMTlCNzc0
RDUwMEJGQzY0QSAvKiBBVlBsYXllclZpZXdDb250cm9sbGVyU1BJLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZEMkYxOUI3NzRENTAwQkZD
NjRBIC8qIEFWVmFsdWVUaW1pbmdTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENFNEY2RDJCMTlCNzc0RDUwMEJGQzY0QSAvKiBBVlZhbHVlVGltaW5n
U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
Q0U0RjZEMzAxOUI3NzRENTAwQkZDNjRBIC8qIEFWVmlkZW9MYXllclNQSS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEMkMxOUI3NzRENTAwQkZD
NjRBIC8qIEFWVmlkZW9MYXllclNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUNFNEY2RDM0MTlCNzc0RjYwMEJGQzY0QSAvKiBDQUxheWVyU1BJ
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQz
MjE5Qjc3NEY2MDBCRkM2NEEgLyogQ0FMYXllclNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDM1MTlCNzc0RjYwMEJGQzY0QSAvKiBD
QVRpbGVkTGF5ZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENFNEY2RDMzMTlCNzc0RjYwMEJGQzY0QSAvKiBDQVRpbGVkTGF5ZXJTUEkuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ0MTE5
Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb2xvclRyYW5zZm9ybVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEMzcxOUI3NzUxMjAwQkZDNjRBIC8q
IENHQ29sb3JUcmFuc2Zvcm1TUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlDRTRGNkQ0MjE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0R1N0
YXRlU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RTRGNkQzODE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0R1N0YXRlU1BJLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENDMxOUI3NzUx
MjAwQkZDNjRBIC8qIENHQ29udGV4dFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEMzkxOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29udGV4dFNQ
SS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNF
NEY2RDQ0MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0Zsb2F0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzQTE5Qjc3NTEyMDBCRkM2NEEgLyog
Q0dGbG9hdFNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUNFNEY2RDQ1MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRHbHlwaFN1cHBvcnRTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDNC
MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ0NjE5Qjc3NTEyMDBC
RkM2NEEgLyogQ0dGb250SW5mb1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0U0RjZEM0MxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEluZm9TUEku
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRG
NkQ0NzE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250UmVuZGVyaW5nU1BJLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzRDE5Qjc3NTEyMDBCRkM2
NEEgLyogQ0dGb250UmVuZGVyaW5nU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENDgxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udFVu
aWNvZGVTdXBwb3J0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRTRGNkQzRTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250VW5pY29kZVN1cHBvcnRT
UEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlD
RTRGNkQ0OTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dJbWFnZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEM0YxOUI3NzUxMjAwQkZDNjRBIC8q
IENHSW1hZ2VTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlDRTRGNkQ0QTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dTUmVnaW9uU1BJLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ0MDE5Qjc3NTEy
MDBCRkM2NEEgLyogQ0dTUmVnaW9uU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENTcxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9udERl
c2NyaXB0b3JTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENFNEY2RDRDMTlCNzc1N0IwMEJGQzY0QSAvKiBDVEZvbnREZXNjcmlwdG9yU1BJLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENTgx
OUI3NzU3QjAwQkZDNjRBIC8qIENURm9udFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENEQxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9udFNQ
SS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNF
NEY2RDU5MTlCNzc1N0IwMEJGQzY0QSAvKiBDVUlDYXRhbG9nU1BJLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ0RjE5Qjc3NTdCMDBCRkM2NEEg
LyogQ1VJQ2F0YWxvZ1NQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUNFNEY2RDVBMTlCNzc1N0IwMEJGQzY0QSAvKiBDVUlTdHlsZUVmZmVjdENv
bmZpZ3VyYXRpb25TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENFNEY2RDUwMTlCNzc1N0IwMEJGQzY0QSAvKiBDVUlTdHlsZUVmZmVjdENvbmZpZ3Vy
YXRpb25TUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQlDRTRGNkQ1QjE5Qjc3NTdCMDBCRkM2NEEgLyogTW9iaWxlR2VzdGFsdFNQSS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENTIxOUI3NzU3
QjAwQkZDNjRBIC8qIE1vYmlsZUdlc3RhbHRTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ1QzE5Qjc3NTdCMDBCRkM2NEEgLyogTVBB
VlJvdXRpbmdDb250cm9sbGVyU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRTRGNkQ1MzE5Qjc3NTdCMDBCRkM2NEEgLyogTVBBVlJvdXRpbmdDb250
cm9sbGVyU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJQ0U0RjZENUQxOUI3NzU3QjAwQkZDNjRBIC8qIFFMUHJldmlld0NvbnZlcnRlclNQSS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENTUx
OUI3NzU3QjAwQkZDNjRBIC8qIFFMUHJldmlld0NvbnZlcnRlclNQSS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDVFMTlCNzc1N0IwMEJG
QzY0QSAvKiBRdWlja0xvb2tTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENFNEY2RDU2MTlCNzc1N0IwMEJGQzY0QSAvKiBRdWlja0xvb2tTUEkuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTRGNkQ2
NDE5Qjc3NUY4MDBCRkM2NEEgLyogRGlzcGF0Y2hTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDVGMTlCNzc1RjgwMEJGQzY0QSAvKiBEaXNw
YXRjaFNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCUNFNEY2RDY1MTlCNzc1RjgwMEJGQzY0QSAvKiBkeWxkU1BJLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ2MDE5Qjc3NUY4MDBCRkM2NEEg
LyogZHlsZFNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUNFNEY2RDY2MTlCNzc1RjgwMEJGQzY0QSAvKiBOU0ZpbGVNYW5hZ2VyU1BJLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ2MTE5Qjc3
NUY4MDBCRkM2NEEgLyogTlNGaWxlTWFuYWdlclNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDY3MTlCNzc1RjgwMEJGQzY0QSAvKiBO
U0dlb21ldHJ5U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRTRGNkQ2MjE5Qjc3NUY4MDBCRkM2NEEgLyogTlNHZW9tZXRyeVNQSS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDY4MTlCNzc1
RjgwMEJGQzY0QSAvKiBOU1BvaW50ZXJGdW5jdGlvbnNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDYzMTlCNzc1RjgwMEJGQzY0QSAvKiBO
U1BvaW50ZXJGdW5jdGlvbnNTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlDRTRGNkQ2QTE5Qjc4NTRFMDBCRkM2NEEgLyogSU9QTUxpYlNQSS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENjkx
OUI3ODU0RTAwQkZDNjRBIC8qIElPUE1MaWJTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTdCMkRCMzE1ODZBQkFEMDA5OEIzRkEgLyogQWx0
ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRTdCMkRBRjE1ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVU
ZXh0VUlDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJQ0U3QjJEQjQxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJ
Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENFN0IyREIwMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xs
ZXIubW0gKi87IH07CiAJCUNFN0IyREI1MTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0ZXJuYXRp
dmVXaXRoUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENFN0IyREIxMTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2Uu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTMx
ODIsNiArMTMyMTIsMzYgQEAKIAkJQ0UwNTdGQTQxMjIwNzMxMTAwQTQ3NkQ1IC8qIERvY3VtZW50
TWFya2VyQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb2N1
bWVudE1hcmtlckNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Uw
OEMzQ0YxNTJCNTk5QTAwMjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWx0ZXJuYXRpdmVUZXh0Q29udHJv
bGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFMDhDM0QwMTUyQjU5OUEw
MDIxQjhDMiAvKiBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEMjkxOUI3NzRENTAwQkZDNjRBIC8qIEFWUGxheWVyQ29u
dHJvbGxlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBVlBsYXllckNv
bnRyb2xsZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEMkExOUI3
NzRENTAwQkZDNjRBIC8qIEFWUGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQyQjE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZWYWx1
ZVRpbWluZ1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBVlZhbHVlVGlt
aW5nU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDJDMTlCNzc0RDUw
MEJGQzY0QSAvKiBBVlZpZGVvTGF5ZXJTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQVZWaWRlb0xheWVyU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNF
NEY2RDMyMTlCNzc0RjYwMEJGQzY0QSAvKiBDQUxheWVyU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENBTGF5ZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0U0RjZEMzMxOUI3NzRGNjAwQkZDNjRBIC8qIENBVGlsZWRMYXllclNQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDQVRpbGVkTGF5ZXJTUEkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEMzcxOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29sb3JUcmFu
c2Zvcm1TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0dDb2xvclRyYW5z
Zm9ybVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzODE5Qjc3NTEy
MDBCRkM2NEEgLyogQ0dDb250ZXh0R1N0YXRlU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENHQ29udGV4dEdTdGF0ZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDRTRGNkQzOTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0U1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHQ29udGV4dFNQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDRTRGNkQzQTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGbG9hdFNQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDR0Zsb2F0U1BJLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDNCMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRHbHlw
aFN1cHBvcnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0dGb250R2x5
cGhTdXBwb3J0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDNDMTlC
Nzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRJbmZvU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENHRm9udEluZm9TUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0U0RjZEM0QxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udFJlbmRlcmluZ1NQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDR0ZvbnRSZW5kZXJpbmdTUEkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEM0UxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udFVu
aWNvZGVTdXBwb3J0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHRm9u
dFVuaWNvZGVTdXBwb3J0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2
RDNGMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ltYWdlU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENHSW1hZ2VTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0U0RjZENDAxOUI3NzUxMjAwQkZDNjRBIC8qIENHU1JlZ2lvblNQSS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDR1NSZWdpb25TUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQ0U0RjZENEMxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9udERlc2NyaXB0b3JTUEku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1RGb250RGVzY3JpcHRvclNQSS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQ0RDE5Qjc3NTdCMDBCRkM2NEEg
LyogQ1RGb250U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENURm9udFNQ
SS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQ0RjE5Qjc3NTdCMDBCRkM2
NEEgLyogQ1VJQ2F0YWxvZ1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
VUlDYXRhbG9nU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDUwMTlC
Nzc1N0IwMEJGQzY0QSAvKiBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDUyMTlCNzc1N0IwMEJGQzY0
QSAvKiBNb2JpbGVHZXN0YWx0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE1vYmlsZUdlc3RhbHRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZE
NTMxOUI3NzU3QjAwQkZDNjRBIC8qIE1QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENTUxOUI3NzU3QjAwQkZDNjRBIC8qIFFM
UHJldmlld0NvbnZlcnRlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBR
TFByZXZpZXdDb252ZXJ0ZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0
RjZENTYxOUI3NzU3QjAwQkZDNjRBIC8qIFF1aWNrTG9va1NQSS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBRdWlja0xvb2tTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQ0U0RjZENUYxOUI3NzVGODAwQkZDNjRBIC8qIERpc3BhdGNoU1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpc3BhdGNoU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUNFNEY2RDYwMTlCNzc1RjgwMEJGQzY0QSAvKiBkeWxkU1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGR5bGRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQ0U0RjZENjExOUI3NzVGODAwQkZDNjRBIC8qIE5TRmlsZU1hbmFnZXJTUEku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNGaWxlTWFuYWdlclNQSS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQ2MjE5Qjc3NUY4MDBCRkM2NEEgLyog
TlNHZW9tZXRyeVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0dlb21l
dHJ5U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDYzMTlCNzc1Rjgw
MEJGQzY0QSAvKiBOU1BvaW50ZXJGdW5jdGlvbnNTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTlNQb2ludGVyRnVuY3Rpb25zU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNFNEY2RDY5MTlCNzg1NEUwMEJGQzY0QSAvKiBJT1BNTGliU1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElPUE1MaWJTUEkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0U1Q0IxQjMxNEVEQUI2RjAwQkIyNzk1IC8qIEV2ZW50U2VuZGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50U2VuZGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFNkQ4OTI5NEM3QUFDRTBBRDg5QjNERCAvKiBNYXRoTUxN
ZW5jbG9zZUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1M
TWVuY2xvc2VFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFN0IyREFG
MTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmg7
IHBhdGggPSBtYWMvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNjEzNSw4ICsxNjE5NSwxNSBAQAogCQk2NTNFRjgzNjE5QTA0M0FF
MDA1MjIwMkMgLyogc3BpICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKKwkJCQlDRTRGNkQyODE5Qjc3NEQ1MDBCRkM2NEEgLyogYXZraXQgKi8sCisJCQkJQ0U0RjZE
MzExOUI3NzRGNjAwQkZDNjRBIC8qIGNhICovLAogCQkJCTY1MDg2REE2MTlBQzE3MTkwMDlBRjQ2
QiAvKiBjZiAqLywKKwkJCQlDRTRGNkQzNjE5Qjc3NTEyMDBCRkM2NEEgLyogY2cgKi8sCiAJCQkJ
NjUzRUY4MzcxOUEwNDNBRTAwNTIyMDJDIC8qIGNvY29hICovLAorCQkJCUNFNEY2RDRCMTlCNzc1
N0IwMEJGQzY0QSAvKiBjdCAqLywKKwkJCQlDRTRGNkQ0RTE5Qjc3NTdCMDBCRkM2NEEgLyogY3Vp
ICovLAorCQkJCUNFNEY2RDUxMTlCNzc1N0IwMEJGQzY0QSAvKiBpb3MgKi8sCisJCQkJQ0U0RjZE
NTQxOUI3NzU3QjAwQkZDNjRBIC8qIHF1aWNrbG9vayAqLywKIAkJCSk7CiAJCQlwYXRoID0gc3Bp
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE2MTQ0LDYgKzE2MjExLDEyIEBACiAJ
CTY1M0VGODM3MTlBMDQzQUUwMDUyMjAyQyAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQ0U0RjZENUYxOUI3NzVGODAwQkZDNjRBIC8qIERp
c3BhdGNoU1BJLmggKi8sCisJCQkJQ0U0RjZENjAxOUI3NzVGODAwQkZDNjRBIC8qIGR5bGRTUEku
aCAqLywKKwkJCQlDRTRGNkQ2OTE5Qjc4NTRFMDBCRkM2NEEgLyogSU9QTUxpYlNQSS5oICovLAor
CQkJCUNFNEY2RDYxMTlCNzc1RjgwMEJGQzY0QSAvKiBOU0ZpbGVNYW5hZ2VyU1BJLmggKi8sCisJ
CQkJQ0U0RjZENjIxOUI3NzVGODAwQkZDNjRBIC8qIE5TR2VvbWV0cnlTUEkuaCAqLywKKwkJCQlD
RTRGNkQ2MzE5Qjc3NUY4MDBCRkM2NEEgLyogTlNQb2ludGVyRnVuY3Rpb25zU1BJLmggKi8sCiAJ
CQkJNjUzRUY4MzgxOUEwNDNBRTAwNTIyMDJDIC8qIE5TVVJMRmlsZVR5cGVNYXBwaW5nc1NQSS5o
ICovLAogCQkJKTsKIAkJCXBhdGggPSBjb2NvYTsKQEAgLTIxNTM4LDYgKzIxNjExLDc5IEBACiAJ
CQlwYXRoID0gaW9zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJQ0U0RjZE
MjgxOUI3NzRENTAwQkZDNjRBIC8qIGF2a2l0ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQlDRTRGNkQyOTE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJD
b250cm9sbGVyU1BJLmggKi8sCisJCQkJQ0U0RjZEMkExOUI3NzRENTAwQkZDNjRBIC8qIEFWUGxh
eWVyVmlld0NvbnRyb2xsZXJTUEkuaCAqLywKKwkJCQlDRTRGNkQyQjE5Qjc3NEQ1MDBCRkM2NEEg
LyogQVZWYWx1ZVRpbWluZ1NQSS5oICovLAorCQkJCUNFNEY2RDJDMTlCNzc0RDUwMEJGQzY0QSAv
KiBBVlZpZGVvTGF5ZXJTUEkuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gYXZraXQ7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlDRTRGNkQzMTE5Qjc3NEY2MDBCRkM2NEEgLyog
Y2EgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNFNEY2
RDMyMTlCNzc0RjYwMEJGQzY0QSAvKiBDQUxheWVyU1BJLmggKi8sCisJCQkJQ0U0RjZEMzMxOUI3
NzRGNjAwQkZDNjRBIC8qIENBVGlsZWRMYXllclNQSS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBj
YTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUNFNEY2RDM2MTlCNzc1MTIw
MEJGQzY0QSAvKiBjZyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJQ0U0RjZEMzcxOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29sb3JUcmFuc2Zvcm1TUEkuaCAq
LywKKwkJCQlDRTRGNkQzODE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0R1N0YXRlU1BJLmgg
Ki8sCisJCQkJQ0U0RjZEMzkxOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29udGV4dFNQSS5oICovLAor
CQkJCUNFNEY2RDNBMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0Zsb2F0U1BJLmggKi8sCisJCQkJQ0U0
RjZEM0IxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEdseXBoU3VwcG9ydFNQSS5oICovLAorCQkJ
CUNFNEY2RDNDMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRJbmZvU1BJLmggKi8sCisJCQkJQ0U0
RjZEM0QxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udFJlbmRlcmluZ1NQSS5oICovLAorCQkJCUNF
NEY2RDNFMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRVbmljb2RlU3VwcG9ydFNQSS5oICovLAor
CQkJCUNFNEY2RDNGMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ltYWdlU1BJLmggKi8sCisJCQkJQ0U0
RjZENDAxOUI3NzUxMjAwQkZDNjRBIC8qIENHU1JlZ2lvblNQSS5oICovLAorCQkJKTsKKwkJCXBh
dGggPSBjZzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUNFNEY2RDRCMTlC
Nzc1N0IwMEJGQzY0QSAvKiBjdCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRy
ZW4gPSAoCisJCQkJQ0U0RjZENEMxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9udERlc2NyaXB0b3JT
UEkuaCAqLywKKwkJCQlDRTRGNkQ0RDE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RGb250U1BJLmggKi8s
CisJCQkpOworCQkJcGF0aCA9IGN0OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsK
KwkJQ0U0RjZENEUxOUI3NzU3QjAwQkZDNjRBIC8qIGN1aSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQ0U0RjZENEYxOUI3NzU3QjAwQkZDNjRBIC8qIENV
SUNhdGFsb2dTUEkuaCAqLywKKwkJCQlDRTRGNkQ1MDE5Qjc3NTdCMDBCRkM2NEEgLyogQ1VJU3R5
bGVFZmZlY3RDb25maWd1cmF0aW9uU1BJLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGN1aTsKKwkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUNFNEY2RDUxMTlCNzc1N0IwMEJGQzY0
QSAvKiBpb3MgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CUNFNEY2RDUyMTlCNzc1N0IwMEJGQzY0QSAvKiBNb2JpbGVHZXN0YWx0U1BJLmggKi8sCisJCQkJ
Q0U0RjZENTMxOUI3NzU3QjAwQkZDNjRBIC8qIE1QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oICov
LAorCQkJKTsKKwkJCXBhdGggPSBpb3M7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OworCQlDRTRGNkQ1NDE5Qjc3NTdCMDBCRkM2NEEgLyogcXVpY2tsb29rICovID0geworCQkJaXNh
ID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDRTRGNkQ1NTE5Qjc3NTdCMDBCRkM2
NEEgLyogUUxQcmV2aWV3Q29udmVydGVyU1BJLmggKi8sCisJCQkJQ0U0RjZENTYxOUI3NzU3QjAw
QkZDNjRBIC8qIFF1aWNrTG9va1NQSS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBxdWlja2xvb2s7
CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQlDRTc5RDY4NjE3RjIyMEVEMDA4
MTVDMDAgLyogaW9zICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
QEAgLTIzMzI5LDggKzIzNDc1LDEyIEBACiAJCQkJMDcwMzYzRTAxODFBMUNEQzAwQzA3NEE1IC8q
IEFWQXVkaW9DYXB0dXJlU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzAzNjNFMjE4MUEx
Q0RDMDBDMDc0QTUgLyogQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMDcwMzYzRTQxODFBMUNEQzAwQzA3NEE1IC8qIEFWTWVkaWFDYXB0dXJlU291cmNlLmggaW4g
SGVhZGVycyAqLywKKwkJCQlDRTRGNkQyRDE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJDb250
cm9sbGVyU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQyRTE5Qjc3NEQ1MDBCRkM2NEEg
LyogQVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QzMzZG
NjIxN0Y5RjY0NzAwREREQ0QwIC8qIEFWVHJhY2tQcml2YXRlQVZGT2JqQ0ltcGwuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUNFNEY2RDJGMTlCNzc0RDUwMEJGQzY0QSAvKiBBVlZhbHVlVGltaW5nU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzAzNjNFNjE4MUExQ0RDMDBDMDc0QTUgLyogQVZWaWRl
b0NhcHR1cmVTb3VyY2UuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDMwMTlCNzc0RDUwMEJG
QzY0QSAvKiBBVlZpZGVvTGF5ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5QTgxMjM4MEZC
QjlDMUQwMDUxMDI5MyAvKiBBWE9iamVjdENhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTc0
MUQwRjBCMDcyNTlBMDBFRDQ0MkMgLyogQmFja0ZvcndhcmRDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDQThDODFFMTFFM0QzNjkwMDgxMkZCNyAvKiBCYWNrRm9yd2FyZENvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovLApAQCAtMjM0MDQsNiArMjM1NTQsNyBAQAogCQkJCUJDQjE2QzI4MDk3
OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRYU0xTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5M0YxOTk1MDA4MjQ1RTU5MDAxRTlBQkMgLyogQ2FjaGVQb2xpY3kuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxOEY1MDAyMTk0Q0FDM0EwMDgxQkFBRSAvKiBKU0dhbWVwYWQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUNFNEY2RDM0MTlCNzc0RjYwMEJGQzY0QSAvKiBDQUxheWVyU1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OUFFMkQ5NzEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFENUVDQjUxMzRCNThEQTAwODdDNzhGIC8qIENhbGxi
YWNrRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTZFNEU5MUFEMTBGN0ZCMzEwMEEyNzc5
QyAvKiBDYW52YXNDb250ZXh0QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzQxOCw2
ICsyMzU2OSw3IEBACiAJCQkJMDc5RDA4NjgxNjJGMjBFODAwREI4NjU4IC8qIENhcHRpb25Vc2Vy
UHJlZmVyZW5jZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3OUQwODZCMTYyRjIxRjkwMERCODY1
OCAvKiBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTlDQzBCNEYxOEJFOTg0OTAwNkNFQkNDIC8qIENhcHR1cmluZ0lucHV0Q3Vyc29yLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlDRTRGNkQzNTE5Qjc3NEY2MDBCRkM2NEEgLyogQ0FUaWxlZExheWVyU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QTU1MTVGNTE5MTgzMEEzMDA5Njg3RDIgLyogWW91VHVi
ZVBsdWdpblJlcGxhY2VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTUwQjY5RTA5OURGMDI3
MDA5MEQ3ODEgLyogQ0RBVEFTZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRERENTcxNTE4
QjU3QTgyMDBBOTRGQ0IgLyogQ0RNU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzQyNSw2
ICsyMzU3NywxNiBAQAogCQkJCUNFODI0NUYwMTlCNjcxQkEwMEFDMDEyMiAvKiBDRk5ldHdvcmtD
b25uZWN0aW9uQ2FjaGVTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQThFNTY3MTc1NTJCMkEw
MDc0ODhFNyAvKiBDRlVSTEV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0U4MjQ1RjIxOUI2
NzFENTAwQUMwMTIyIC8qIENGVVJMUmVxdWVzdFNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0
RjZENDMxOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29udGV4dFNQSS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQ0U0RjZENDIxOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29udGV4dEdTdGF0ZVNQSS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQ0U0RjZENDExOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29sb3JUcmFuc2Zv
cm1TUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDQ1MTlCNzc1MTIwMEJGQzY0QSAvKiBD
R0ZvbnRHbHlwaFN1cHBvcnRTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDQ2MTlCNzc1
MTIwMEJGQzY0QSAvKiBDR0ZvbnRJbmZvU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ0
NzE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250UmVuZGVyaW5nU1BJLmggaW4gSGVhZGVycyAqLywK
KwkJCQlDRTRGNkQ0ODE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250VW5pY29kZVN1cHBvcnRTUEku
aCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDQ0MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0Zsb2F0
U1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ0OTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dJ
bWFnZVNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZENEExOUI3NzUxMjAwQkZDNjRBIC8q
IENHU1JlZ2lvblNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkUzNkZEMTUxNkM3ODI2NTAwRjg4
N0MxIC8qIENoYW5nZVZlcnNpb25EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0JDNjlERDE1
MDVGMDc2MDAxQjc0QUMgLyogQ2hhbmdlVmVyc2lvbldyYXBwZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUZEMzE1RkZGMTJCMDI2NzYwMEMxQTM1OSAvKiBDaGFubmVsTWVyZ2VyTm9kZS5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yMzYxMywxMCArMjM3NzUsMTUgQEAKIAkJCQk2NTY1ODE1MTA5RDEzMDQz
MDAwRTYxRDcgLyogQ1NTVmFsdWVLZXl3b3Jkcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZD
RTkwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1ZhbHVlTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTQ5QkQ5RkExMzFGRDJFRDAwM0M1NkYwIC8qIENTU1ZhbHVlUG9vbC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQ0U0RjZENTcxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9udERlc2NyaXB0b3JTUEkuaCBp
biBIZWFkZXJzICovLAorCQkJCUNFNEY2RDU4MTlCNzc1N0IwMEJGQzY0QSAvKiBDVEZvbnRTUEku
aCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDU5MTlCNzc1N0IwMEJGQzY0QSAvKiBDVUlDYXRh
bG9nU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ1QTE5Qjc3NTdCMDBCRkM2NEEgLyog
Q1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0Yx
OTkyRjA4MjQ1RTU5MDAxRTlBQkMgLyogQ3Vyc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzIy
NzJBMjBFODJFODdDMDBFN0Y5NzUgLyogQ3Vyc29yRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMyMjcyQUQwRTgyRThGMzAwRTdGOTc1IC8qIEN1cnNvckxpc3QuaCBpbiBIZWFkZXJzICovLAog
CQkJCTYyQ0QzMjVBMTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQ0U0RjZENjUxOUI3NzVGODAwQkZDNjRBIC8qIGR5bGRTUEkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4Q0I0MTNFMEU4NjMzRkQwMDMyQzRGMCAvKiBEYXNoQXJyYXkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4MEU2RDBCMEExOTg5Q0EwMDdGQjhDNSAvKiBEYXNoYm9hcmRSZWdpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxNzlDRTJBMTk1QzkxODYwMDE5QzE5OCAvKiBHYW1lcGFk
UHJvdmlkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjM2ODksNiArMjM4NTYsNyBAQAog
CQkJCUZEQUYxOTk5MTUxM0QxMzEwMDhEQjBDMyAvKiBEaXJlY3RDb252b2x2ZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE1QzU2NkFCMTI3QTNBQUQwMEU4QTNGRiAvKiBEaXNrSW1hZ2VDYWNoZUNs
aWVudElPUy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVGOUVGNzExMjY2NzUwRDAwRkNDRjUyIC8q
IERpc2tJbWFnZUNhY2hlSU9TLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ2NDE5Qjc3NUY4
MDBCRkM2NEEgLyogRGlzcGF0Y2hTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QUYyRDY5MTQ0
MzVEMDUwMDE2QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCBpbiBIZWFkZXJzICovLAog
CQkJCTVEOEM0REMwMTQyODIyMkMwMDI2Q0U3MiAvKiBEaXNwbGF5U2xlZXBEaXNhYmxlckNvY29h
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjA5MTEyQjAyNkY3MDBDMUEzNTkgLyogRGlzdGFu
Y2UuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ1NjYsNiArMjQ3MzQsNyBAQAogCQkJCUUxMzRGNUFC
MTJFRTM0M0YwMDRFQzU4RCAvKiBJbnRSZWN0SGFzaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjI3
NTM1NzUwQjA1MzgxNDAwMkNFNjRGIC8qIEludFNpemUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
NzUzNTc2MEIwNTM4MTQwMDJDRTY0RiAvKiBJbnRTaXplSGFzaC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQ0U0RjZENkExOUI3ODU0RTAwQkZDNjRBIC8qIElPUE1MaWJTUEkuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQxOEY4ODA1MEZGOTU3QUYwMDgwRjA0NSAvKiBKU0Fic3RyYWN0V29ya2VyLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwNzA1ODUxQjE3RkI0NEI0MDA1RjJCQ0IgLyogSlNBbGxBdWRpb0Nh
cGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwNTg1MDMxN0ZBMTBEMDAwNUYyQkNC
IC8qIEpTQWxsVmlkZW9DYXBhYmlsaXRpZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjUyODgsNiAr
MjU0NTcsNyBAQAogCQkJCTM3RERDRDk1MTM4NDRGRDUwMDA4Qjc5MyAvKiBNSU1FSGVhZGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzc3MkM0RjBDNEVCMzA0MDA4MzI4NUYgLyogTUlNRVR5cGVS
ZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTJGMTA4NjYxNjJCNkRBODAwOUFDODFFIC8q
IE1peGVkQ29udGVudENoZWNrZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDVCMTlCNzc1
N0IwMEJGQzY0QSAvKiBNb2JpbGVHZXN0YWx0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREYy
QjAxMTE4MjA1NDA2MDBGMkI0MjQgLyogTW9ja0JveC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RG
MkIwMTMxODIwNTQwNjAwRjJCNDI0IC8qIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDREYyQjAxNTE4MjA1NDA2MDBGMkI0MjQgLyogTW9ja01lZGlhU291
cmNlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTMwMCw2ICsyNTQ3MCw3IEBACiAJCQkJ
OTM1QzQ3NjMwOUFDNENFNjAwQTZBQUI0IC8qIE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjQ4MEE0NEVGQzcwMEY5OTJFMCAvKiBNb3VzZVJl
bGF0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERkMwOTlFNjQ5MjAwNTZFNTgx
IC8qIE1vdmVTZWxlY3Rpb25Db21tYW5kLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ1QzE5
Qjc3NTdCMDBCRkM2NEEgLyogTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGREIxNzAwNjE0QTJCQUIyMDBBMkI1RDkgLyogTXVsdGlDaGFubmVsUmVzYW1wbGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNkYwOTAwQTE0MzI3QjYxMDA2ODU4NDkgLyogTXV0YXRp
b25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNEEwQTQ0RUZDNzAwRjk5MkUw
IC8qIE11dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjUzMDcsNiArMjU0NzgsOSBA
QAogCQkJCUQ2RTUyOEE0MTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRhdGlvbk9ic2VydmVySW50ZXJl
c3RHcm91cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDZFMjc2QjAxNDYzNzQ1NTAwMUQyODBBIC8q
IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUM2RjA4
RkJEMTQzMEZFOEYwMDY4NTg0OSAvKiBNdXRhdGlvblJlY29yZC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQ0U0RjZENjYxOUI3NzVGODAwQkZDNjRBIC8qIE5TRmlsZU1hbmFnZXJTUEkuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUNFNEY2RDY3MTlCNzc1RjgwMEJGQzY0QSAvKiBOU0dlb21ldHJ5U1BJLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ2ODE5Qjc3NUY4MDBCRkM2NEEgLyogTlNQb2ludGVy
RnVuY3Rpb25zU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MkI2QzlDNjE1RTNGNERGMDA2OTBC
MDUgLyogTmFtZWRGbG93Q29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgxODcyMjMw
OTc3RDNDMDAwNTgyNkQ5IC8qIE5hbWVkTm9kZU1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgx
ODcyMUUwOTc3RDNDMDAwNTgyNkQ5IC8qIE5hbWVOb2RlTGlzdC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNTQ5Niw4ICsyNTY3MCwxMCBAQAogCQkJCUZGOTQ1RUNDMTYxRjdGMzYwMDk3MUJDOCAvKiBQ
c2V1ZG9FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwMDgxRkYwMDE2QjBBMkQzMDA4QUFB
N0EgLyogUHVibGljU3VmZml4LmggaW4gSGVhZGVycyAqLywKIAkJCQkxMEZCMDg0QjE0RTE1QzdF
MDBBM0RCOTggLyogUHVibGljVVJMTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U0RjZE
NUQxOUI3NzU3QjAwQkZDNjRBIC8qIFFMUHJldmlld0NvbnZlcnRlclNQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTUwQTBCQ0EwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQ0MkFGN0E5MTAyQ0RERUEwMDhGRDREMyAvKiBRdWlja0xvb2suaCBp
biBIZWFkZXJzICovLAorCQkJCUNFNEY2RDVFMTlCNzc1N0IwMEJGQzY0QSAvKiBRdWlja0xvb2tT
UEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3MkFFMUU4MTgzQzA3NDEwMDBBNTk4OCAvKiBRdWlj
a1RpbWVQbHVnaW5SZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5RTM3MTcxMzcz
NkE2NjAwQjlFOTE5IC8qIFF1b3RlZFByaW50YWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUE1
NzRGMjkxMzFEQjk2RDAwNDcxQjg4IC8qIFF1b3Rlc0RhdGEuaCBpbiBIZWFkZXJzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5tbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwubW0KaW5kZXggNWU3NzM2MTk2
NGRjMTAyNzZmNTQwZjU1MjM0ODAwNDNmYjlhY2UzOC4uMmVhMDQ3NDFlYTAwMTM3ZWRlN2Q0Yjdl
ODhkMjE2NTQ4YzIyZWFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01JbnRlcm5hbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUlu
dGVybmFsLm1tCkBAIC0zNiw2ICszNiw4IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAjZGVmaW5l
IE5FRURTX1dSQVBQRVJfQ0FDSEVfTE9DSyAxCisKKyNpbXBvcnQgIk5TUG9pbnRlckZ1bmN0aW9u
c1NQSS5oIgogI2VuZGlmCiAKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNlLm1tIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5tbQppbmRleCAwMTVhNmZi
ZGNjYjdhNGU1NzQ2YWEwNjFkNTg5ZTk4NDg3MmJiYWJjLi43N2JiZTVmZmEwYTliMTk2ZDBjZTY0
MzVlODY0ZDNjNGRlMjU5MzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2Jq
Yy9vYmpjX2luc3RhbmNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNf
aW5zdGFuY2UubW0KQEAgLTI2LDIwICsyNiwyMSBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1w
b3J0ICJvYmpjX2luc3RhbmNlLmgiCiAKLSNpbXBvcnQgInJ1bnRpbWVfbWV0aG9kLmgiCi0jaW1w
b3J0IDxydW50aW1lL09iamVjdFByb3RvdHlwZS5oPgogI2ltcG9ydCAiSlNET01CaW5kaW5nLmgi
CisjaW1wb3J0ICJOU1BvaW50ZXJGdW5jdGlvbnNTUEkuaCIKICNpbXBvcnQgIk9iakNSdW50aW1l
T2JqZWN0LmgiCiAjaW1wb3J0ICJXZWJTY3JpcHRPYmplY3QuaCIKKyNpbXBvcnQgInJ1bnRpbWVf
bWV0aG9kLmgiCiAjaW1wb3J0IDxvYmpjL29iamMtYXV0by5oPgogI2ltcG9ydCA8cnVudGltZS9F
cnJvci5oPgorI2ltcG9ydCA8cnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oPgogI2ltcG9ydCA8
cnVudGltZS9KU0xvY2suaD4KLSNpbXBvcnQgInJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaCIK
KyNpbXBvcnQgPHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0
aW9ucy5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU01hcFRh
YmxlLmg+Ci0jZW5kaWYgLy8gUExBVEZPUk0oSU9TKQorI2VuZGlmCiAKICNpZmRlZiBOREVCVUcK
ICNkZWZpbmUgT0JKQ19MT0coZm9ybWF0QW5kQXJncy4uLikgKCh2b2lkKTApCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIubW0KaW5kZXggNmQ0ZDY4ZWJjZDhj
MDMzZmVlNTBjMmJhNTI4NTg3OTcwOWJjODlhNC4uODIxMWNmMzgzMGQ4Njc5MjMzZDA4N2M0OGE3
M2E3Y2U0YTNmYWY1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9I
VE1MQ29udmVydGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvSFRNTENv
bnZlcnRlci5tbQpAQCAtNjIsNiArNjIsOCBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisjaW1w
b3J0ICJOU0dlb21ldHJ5U1BJLmgiCisKIFNPRlRfTElOS19GUkFNRVdPUksoVUlLaXQpCiBTT0ZU
X0xJTktfQ0xBU1MoVUlLaXQsIFVJQ29sb3IpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0KaW5kZXgg
ZGZhMmI2NjI5Y2ZkZTZiMTA1M2Q5MTYwYzNkZGEyYmJhNmQ0MDllMy4uOTllZGUwY2MzZjQ4NTEy
MzU4YTEyNzk1MGE1Yjg2ZDE4ZDU0YzA3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0KQEAgLTI5
LDEzICsyOSwxMyBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9ydCAiTG9nZ2luZy5oIgor
I2ltcG9ydCAiTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmgiCiAjaW1wb3J0ICJNZWRpYVBsYXll
ci5oIgogI2ltcG9ydCAiTWVkaWFTZXNzaW9uLmgiCiAjaW1wb3J0ICJTb2Z0TGlua2luZy5oIgog
I2ltcG9ydCAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCAiV2ViQ29yZVRocmVh
ZFJ1bi5oIgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWQXVkaW9TZXNzaW9uLmg+Ci0jaW1wb3J0
IDxNZWRpYVBsYXllci9NUEFWUm91dGluZ0NvbnRyb2xsZXIuaD4KICNpbXBvcnQgPE1lZGlhUGxh
eWVyL01QTWVkaWFJdGVtLmg+CiAjaW1wb3J0IDxNZWRpYVBsYXllci9NUE5vd1BsYXlpbmdJbmZv
Q2VudGVyLmg+CiAjaW1wb3J0IDxNZWRpYVBsYXllci9NUFZvbHVtZVZpZXcuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0Rpc3BsYXlTbGVlcERpc2FibGVyQ29j
b2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGlzcGxheVNsZWVwRGlzYWJs
ZXJDb2NvYS5jcHAKaW5kZXggN2VlMmUwODNkNDc2YzE1OGE3ODFhMzY2MDk5ZTM5ZTQ4ZjBiMzkx
ZC4uYWI5ZTIzMTEzNjRiZTQ1MzRkNzRiYzExMmVlODEzZjc2ZTJhNjNiNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGlzcGxheVNsZWVwRGlzYWJsZXJDb2NvYS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGlzcGxheVNsZWVwRGlzYWJs
ZXJDb2NvYS5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogCi0j
aW5jbHVkZSA8SU9LaXQvcHdyX21ndC9JT1BNTGliLmg+CisjaW5jbHVkZSAiSU9QTUxpYlNQSS5o
IgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5k
bGVyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZW1vcnlQcmVzc3Vy
ZUhhbmRsZXJDb2NvYS5tbQppbmRleCA4MDQyNTBhNGEzNWExOTdlN2FiNWVhZjU5NWMzZDYzZjA3
ZTY1NmFmLi4zNDQxYWJhZTgzYmZkOTgzNTg2MWY3NDNiZWM3YWI4MjQ4ODIzYWU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJD
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZW1vcnlQcmVzc3Vy
ZUhhbmRsZXJDb2NvYS5tbQpAQCAtMjYsNiArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAj
aW1wb3J0ICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCIKIAorI2ltcG9ydCAiRGlzcGF0Y2hTUEku
aCIKICNpbXBvcnQgIklPU3VyZmFjZVBvb2wuaCIKICNpbXBvcnQgIkdDQ29udHJvbGxlci5oIgog
I2ltcG9ydCAiSlNET01XaW5kb3dCYXNlLmgiCkBAIC00MSw3ICs0Miw2IEBACiAjaWYgUExBVEZP
Uk0oSU9TKQogI2ltcG9ydCAiU3lzdGVtTWVtb3J5LmgiCiAjaW1wb3J0ICJXZWJDb3JlVGhyZWFk
LmgiCi0jaW1wb3J0IDxkaXNwYXRjaC9wcml2YXRlLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50
UmVjdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCmluZGV4
IDU4NDllM2FhYThhNTEwMmYzNGEzODI3ZjFlMjU4OWMyZWYwYzFmNDguLmIyMzE4OTA4OWI4M2Q1
NzA1NTY5ZmRmMTFiNDIxMTQ4MTZiMzQ4NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0LmgKQEAgLTQyLDkgKzQyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX05TUmVj
dCBOU1JlY3Q7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykKLSNpZm5kZWYgTlNSZWN0Ci0j
ZGVmaW5lIE5TUmVjdCBDR1JlY3QKLSNlbmRpZgordHlwZWRlZiBDR1JlY3QgTlNSZWN0OwogI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShXSU4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAppbmRleCAwNGE4MjUzZGU3NjgwYmU0MWFjZTBmOGE0
NjdlMzdmYTA0MjE0NjlmLi42OGVmYzkwYmQ4NDQ4NzA5MGExMjA0NTQ2ODg3MWU4ZWY4MjNiN2Uw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnRE
YXRhLmgKQEAgLTU1LDE5ICs1NSw3IEBACiAjZW5kaWYKIAogI2lmIFVTRShDRykKLSNpZiBkZWZp
bmVkKF9faGFzX2luY2x1ZGUpICYmIF9faGFzX2luY2x1ZGUoPENvcmVHcmFwaGljcy9DR0ZvbnRS
ZW5kZXJpbmcuaD4pCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udFJlbmRlcmluZy5oPgot
I2Vsc2UKLWVudW0gewotICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZUFudGlhbGlhc2luZyA9ICgx
IDw8IDApLAotICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVNtb290aGluZyA9ICgxIDw8IDEpLAot
ICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVN1YnBpeGVsUG9zaXRpb25pbmcgPSAoMSA8PCAyKSwK
LSAgICBrQ0dGb250UmVuZGVyaW5nU3R5bGVTdWJwaXhlbFF1YW50aXphdGlvbiA9ICgxIDw8IDMp
LAotICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVBsYXRmb3JtTmF0aXZlID0gKDEgPDwgOSksCi0g
ICAga0NHRm9udFJlbmRlcmluZ1N0eWxlTWFzayA9IDB4MjBGCi19OwotI2VuZGlmCi10eXBlZGVm
IHVpbnQzMl90IENHRm9udFJlbmRlcmluZ1N0eWxlOworI2luY2x1ZGUgIkNHRm9udFJlbmRlcmlu
Z1NQSS5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
Lm1tCmluZGV4IDhmMDgyMTEzZDViYzA0MDY2OGMxOTQ4NDg3YzU1ZTk3MDAwNzY0NjMuLmMyMmE4
YzY1NGNhNGZkZTRlNjlhODU1M2FkOGRhZWI4MWJjZjAzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbQpAQCAtNDMsNiArNDMsNyBAQAogI2ltcG9ydCAiSW5iYW5kTWV0YWRhdGFUZXh0VHJhY2tQ
cml2YXRlQVZGLmgiCiAjaW1wb3J0ICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGT2JqQy5oIgog
I2ltcG9ydCAiSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUxlZ2FjeUFWRk9iakMuaCIKKyNpbXBvcnQg
Ik5TR2VvbWV0cnlTUEkuaCIKICNpbXBvcnQgIk91dE9mQmFuZFRleHRUcmFja1ByaXZhdGVBVkYu
aCIKICNpbXBvcnQgIlVSTC5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgpAQCAtNzQsNyArNzUsNiBA
QAogI2luY2x1ZGUgIlRleHRUcmFjay5oIgogI2VuZGlmCiAKLSNpbXBvcnQgPEZvdW5kYXRpb24v
TlNHZW9tZXRyeS5oPgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWRm91bmRhdGlvbi5oPgogI2lm
IFBMQVRGT1JNKElPUykKICNpbXBvcnQgPENvcmVJbWFnZS9Db3JlSW1hZ2UuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5
ZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZv
cm1DQUxheWVyTWFjLm1tCmluZGV4IDgzNzdlOTU0OWJiZWUyMjUwMGRmZjJlYTJhYmU5MWJmNWFh
M2MzYTYuLjJhMThjZGMwMmRjOTVmYTM5MjNkMjkzZjYyMmY1YmIzZDYxZmIyNmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5
ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1Bs
YXRmb3JtQ0FMYXllck1hYy5tbQpAQCAtNTIsMTIgKzUyLDEyIEBACiAjaW1wb3J0IDx3dGYvUmV0
YWluUHRyLmg+CiAKICNpZiBQTEFURk9STShJT1MpCisjaW1wb3J0ICJDQVRpbGVkTGF5ZXJTUEku
aCIKKyNpbXBvcnQgIk5TR2VvbWV0cnlTUEkuaCIKICNpbXBvcnQgIldBS1dpbmRvdy5oIgogI2lt
cG9ydCAiV0tHcmFwaGljcy5oIgogI2ltcG9ydCAiV2ViQ29yZVRocmVhZC5oIgogI2ltcG9ydCAi
V2ViVGlsZWRMYXllci5oIgotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+Ci0jaW1w
b3J0IDxRdWFydHpDb3JlL0NBVGlsZWRMYXllclByaXZhdGUuaD4KICNlbHNlCiAjaW1wb3J0ICJU
aGVtZU1hYy5oIgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9CaXRtYXBJbWFnZUNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0JpdG1hcEltYWdlQ0cuY3BwCmluZGV4IDhhNGExM2U4OWI2YjE2NGQxZWU1YjUx
NjZkZWExNDIwNTZkY2Q0MGIuLmQyNTE5YzgyNmZmZjU5YWI2NzcxYTJmMDJjNjk5MjY1MGYwOGNl
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0JpdG1h
cEltYWdlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0Jp
dG1hcEltYWdlQ0cuY3BwCkBAIC0zOSwxMCArMzksNiBAQAogI2luY2x1ZGUgPEFwcGxpY2F0aW9u
U2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJ
T1MpCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dFByaXZhdGUuaD4KLSNlbmRpZgot
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5o
IgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9Db2xvckNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0NvbG9y
Q0cuY3BwCmluZGV4IGJjYTgzMGZmZDVhOTdlNjQwOThjMmMwZGE3OWE0YmNmNmE2MTgzM2UuLmZh
OGZjMzY3OGY0YjM3OTgzOWFmMjE3OTIyZjMzZTkzMDBiNzhlMTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0NvbG9yQ0cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0NvbG9yQ0cuY3BwCkBAIC0zNCw4ICszNCw3IEBA
CiAjaWYgIVBMQVRGT1JNKElPUykKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxp
Y2F0aW9uU2VydmljZXMuaD4KICNlbHNlCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29sb3JU
cmFuc2Zvcm0uaD4KLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisjaW5j
bHVkZSAiQ0dDb2xvclRyYW5zZm9ybVNQSS5oIgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMu
aD4KICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKaW5kZXggMWUz
YWE3NWE2OTQxMjY2N2Q2MGIyZThkZmU4NTU1NmQzMjZiOGQ4MS4uMDk1OTY3ZjE5NzZiZWRmYTU0
MTRmMjZiYzkwMTI5OGRlNjE3MjkxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcApAQCAtMjksMTYgKzI5
LDE4IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0Q0cuaCIKIAogI2luY2x1ZGUgIkFmZmlu
ZVRyYW5zZm9ybS5oIgorI2luY2x1ZGUgIkNHQ29udGV4dEdTdGF0ZVNQSS5oIgorI2luY2x1ZGUg
IkNHQ29udGV4dFNQSS5oIgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgogI2luY2x1ZGUg
IkdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZUNHLmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZm
ZXIuaCIKICNpbmNsdWRlICJJbWFnZU9yaWVudGF0aW9uLmgiCi0jaW5jbHVkZSAiVVJMLmgiCiAj
aW5jbHVkZSAiUGF0aC5oIgogI2luY2x1ZGUgIlBhdHRlcm4uaCIKICNpbmNsdWRlICJTaGFkb3dC
bHVyLmgiCiAjaW5jbHVkZSAiU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5oIgogI2luY2x1ZGUgIlRp
bWVyLmgiCisjaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFw
aGljcy5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFp
blB0ci5oPgpAQCAtNTIsMTcgKzU0LDkgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQot
I2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0NvbnRleHRHU3RhdGUuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgogI2VuZGlmCiAKLSNpZiAhUExBVEZPUk0oSU9TKQotZXh0ZXJuICJDIiB7Ci0g
ICAgQ0dfRVhURVJOIHZvaWQgQ0dDb250ZXh0U2V0Q1RNKENHQ29udGV4dFJlZiwgQ0dBZmZpbmVU
cmFuc2Zvcm0pOwotICAgIENHX0VYVEVSTiBDR0FmZmluZVRyYW5zZm9ybSBDR0NvbnRleHRHZXRC
YXNlQ1RNKENHQ29udGV4dFJlZik7Ci19OwotI2VuZGlmIC8vICFQTEFURk9STShJT1MpCi0KIC8v
IEZJWE1FOiBUaGUgZm9sbG93aW5nIHVzaW5nIGRlY2xhcmF0aW9uIHNob3VsZCBiZSBpbiA8d3Rm
L0hhc2hGdW5jdGlvbnMuaD4uCiB1c2luZyBXVEY6OnBhaXJJbnRIYXNoOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCmlu
ZGV4IDg1YWFjODU1MmI1YWExODdlYjBhYTZmZmNkZTUyNjc0Y2RhNzk1N2UuLjk0YzAwNDk1MzAz
MDdmYjE1MjkyZDkyODZkYzBjMzk1NzY4NTMzZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCkBAIC0zNyw3ICszNyw3
IEBACiAjaWYgIVBMQVRGT1JNKElPUykKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0Fw
cGxpY2F0aW9uU2VydmljZXMuaD4KICNlbHNlCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHSW1h
Z2VQcml2YXRlLmg+CisjaW5jbHVkZSAiQ0dJbWFnZVNQSS5oIgogI2luY2x1ZGUgPEltYWdlSU8v
SW1hZ2VJTy5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvUERGRG9jdW1lbnRJbWFnZS5jcHAKaW5kZXggNDAyMmZhZDExZTdhNjQzZjAyYWM0
YTE1ZWE2M2YyYTMxNTkzYTFiZS4uMDU0ZDYzZWM4ODE3ZDczZmJiYmIzZDQ1YWE3YWUwOWI1NzA5
ZDE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERG
RG9jdW1lbnRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvUERGRG9jdW1lbnRJbWFnZS5jcHAKQEAgLTMwLDggKzMwLDYgQEAKICNpZiBVU0UoQ0cpCiAK
ICNpZiBQTEFURk9STShJT1MpCi0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0UHJpdmF0
ZS5oPgotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dEdTdGF0ZS5oPgogI2ltcG9ydCA8
Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgogI2ltcG9ydCA8SW1hZ2VJTy9JbWFnZUlPLmg+
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQppbmRleCAzZmYxODIzZmZlMjI4
ODczNzQ5MTQ4OGIxMjA2MDQzODU1NzdmZDQ4Li44MTFmNTdlZWY4NDE5YWJlNWY5NDI4ZjBiN2M1
N2U5YTBjZmIzNmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCkBAIC0yOCw4ICsy
OCw4IEBACiAjaWYgIVBMQVRGT1JNKElPUykKICNpbXBvcnQgPEFwcEtpdC9OU0ZvbnQuaD4KICNl
bHNlCisjaW1wb3J0ICJDR0ZvbnRJbmZvU1BJLmgiCiAjaW1wb3J0IDxDb3JlVGV4dC9Db3JlVGV4
dC5oPgotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHRm9udEluZm8uaD4KICNlbmRpZgogCiAjaW1w
b3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tCmluZGV4IDRmYjg0NWI4YmU3MjQ2MTQx
MzM1MzZjMzkxOWMzMzRlMTBjODYyZTUuLjNjODc4ODFkNTVmZTkyODM1YjVjZTE1ZGUwNWFhN2Q3
YTVhMTJkM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lv
cy9Gb250Q2FjaGVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
aW9zL0ZvbnRDYWNoZUlPUy5tbQpAQCAtMjksMTEgKzI5LDExIEBACiAjaW1wb3J0ICJjb25maWcu
aCIKICNpbXBvcnQgIkZvbnRDYWNoZS5oIgogCisjaW1wb3J0ICJDR0ZvbnRVbmljb2RlU3VwcG9y
dFNQSS5oIgorI2ltcG9ydCAiQ1RGb250RGVzY3JpcHRvclNQSS5oIgorI2ltcG9ydCAiQ1RGb250
U1BJLmgiCiAjaW1wb3J0ICJGb250LmgiCiAjaW1wb3J0ICJSZW5kZXJUaGVtZUlPUy5oIgotI2lt
cG9ydCA8Q29yZUdyYXBoaWNzL0NHRm9udFVuaWNvZGVTdXBwb3J0Lmg+Ci0jaW1wb3J0IDxDb3Jl
VGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPgotI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250UHJp
di5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWlu
UHRyLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9DU3RyaW5nLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udFNlcnZpY2VzSU9TLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRTZXJ2aWNlc0lPUy5tbQppbmRleCBj
MDYyZGM4MjkzMmQ3YzVkZjMxOTNkMzZlMjljMTZkM2M4ODFkMzRjLi5lYmI2YmE2OWM3NTZjYTE2
YWM2MzczNzZmZmM1N2Q2N2VmMGYxOWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9pb3MvRm9udFNlcnZpY2VzSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250U2VydmljZXNJT1MubW0KQEAgLTI1LDEwICsyNSw5
IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkZvbnRTZXJ2aWNlc0lPUy5oIgogCisj
aW1wb3J0ICJDR0ZvbnRJbmZvU1BJLmgiCiAjaW1wb3J0ICJGb250TWV0cmljcy5oIgotI2ltcG9y
dCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0Nv
cmVHcmFwaGljc1ByaXZhdGUuaD4KLSNpbXBvcnQgPG1hY2gtby9keWxkX3ByaXYuaD4KKyNpbXBv
cnQgImR5bGRTUEkuaCIKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9z
L1NpbXBsZUZvbnREYXRhSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
aW9zL1NpbXBsZUZvbnREYXRhSU9TLm1tCmluZGV4IDRhZjhhMjM4ZjA2ODUwZjYzM2QzMTJhM2E2
ZDQ0ZmM4ZTMyYzUwZjMuLjdhN2EyMjRiMTc4YTNjNGFkOWIyYTU5ZjljMWQ0NWI0N2UyZWEyYjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9TaW1wbGVG
b250RGF0YUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3Mv
U2ltcGxlRm9udERhdGFJT1MubW0KQEAgLTI4LDExICsyOCwxMiBAQAogI2ltcG9ydCAiU2ltcGxl
Rm9udERhdGEuaCIKIAogI2ltcG9ydCAiQmxvY2tFeGNlcHRpb25zLmgiCisjaW1wb3J0ICJDR0Zv
bnRJbmZvU1BJLmgiCisjaW1wb3J0ICJDR0ZvbnRSZW5kZXJpbmdTUEkuaCIKICNpbXBvcnQgIkZv
bnQuaCIKICNpbXBvcnQgIkZvbnRDYWNoZS5oIgogI2ltcG9ydCAiRm9udERlc2NyaXB0aW9uLmgi
CiAjaW1wb3J0ICJGb250U2VydmljZXNJT1MuaCIKLSNpbXBvcnQgPENvcmVHcmFwaGljcy9DR0Zv
bnRJbmZvLmg+CiAjaW1wb3J0IDxDb3JlVGV4dC9Db3JlVGV4dC5oPgogI2ltcG9ydCA8ZmxvYXQu
aD4KICNpbXBvcnQgPHVuaWNvZGUvdWNoYXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0KaW5kZXggZjg0M2ExMjE2ZmMyMGM2OGUwMzZhMmEz
NzY4OTJhZGYzYjdiYjVmMC4uZDMxOWYxYzhlNDdhMzdkN2MwNjZmOThhYWE4ZGVjYzg3Yzg2OGI0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRN
YWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMu
bW0KQEAgLTIzLDYgKzIzLDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiRm9udC5o
IgogCisjaW1wb3J0ICJDVEZvbnREZXNjcmlwdG9yU1BJLmgiCiAjaW1wb3J0ICJEYXNoQXJyYXku
aCIKICNpbXBvcnQgIkdseXBoQnVmZmVyLmgiCiAjaW1wb3J0ICJHcmFwaGljc0NvbnRleHQuaCIK
QEAgLTM0LDIwICszNSwxMSBAQAogI2VuZGlmCiAjaW1wb3J0IDx3dGYvTWF0aEV4dHJhcy5oPgog
Ci0jaWYgX19oYXNfaW5jbHVkZSg8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4pCi0j
aW1wb3J0IDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPgotI2VuZGlmCi1leHRlcm4g
IkMiIGJvb2wgQ1RGb250RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2NyaXB0b3JS
ZWYpOwotCiAjaWYgRU5BQkxFKExFVFRFUlBSRVNTKQorI2ltcG9ydCAiQ0dDb250ZXh0R1N0YXRl
U1BJLmgiCisjaW1wb3J0ICJDVUlDYXRhbG9nU1BJLmgiCisjaW1wb3J0ICJDVUlTdHlsZUVmZmVj
dENvbmZpZ3VyYXRpb25TUEkuaCIKICNpbXBvcnQgIlNvZnRMaW5raW5nLmgiCi0jaWYgX19oYXNf
aW5jbHVkZSg8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljc1ByaXZhdGUuaD4pCi0jaW1wb3J0IDxD
b3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzUHJpdmF0ZS5oPgotI2Vsc2UKLWV4dGVybiBDR0NvbG9y
UmVmIENHQ29udGV4dEdldEZpbGxDb2xvckFzQ29sb3IoQ0dDb250ZXh0UmVmKTsKLSNlbmRpZgot
I2ltcG9ydCA8Q29yZVVJL0NVSUNhdGFsb2cuaD4KLSNpbXBvcnQgPENvcmVVSS9DVUlTdHlsZUVm
ZmVjdENvbmZpZ3VyYXRpb24uaD4KIAogU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLKENvcmVV
SSkKIFNPRlRfTElOS19DTEFTUyhDb3JlVUksIENVSUNhdGFsb2cpCkBAIC01NSw3ICs0Nyw3IEBA
IFNPRlRfTElOS19DTEFTUyhDb3JlVUksIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvbikKIAog
U09GVF9MSU5LX0ZSQU1FV09SSyhVSUtpdCkKIFNPRlRfTElOSyhVSUtpdCwgX1VJS2l0R2V0VGV4
dEVmZmVjdHNDYXRhbG9nLCBDVUlDYXRhbG9nICosICh2b2lkKSwgKCkpCi0jZW5kaWYKKyNlbmRp
ZiAvLyBFTkFCTEUoTEVUVEVSUFJFU1MpCiAKICNkZWZpbmUgU1lOVEhFVElDX09CTElRVUVfQU5H
TEUgMTQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0dseXBoUGFnZVRyZWVOb2RlTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hYy5jcHAKaW5kZXggMTc0NWNmNjJiNGMyMTY4OWNk
NzNkNzUzMTBiYWJjNmQwNThkODBhOC4uYmE0OTVlODJlODUyMTBjNzNjOGUxNDkzNTM3Yzg0NTIy
OTVhNDRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0dseXBoUGFnZVRyZWVOb2RlTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvR2x5cGhQYWdlVHJlZU5vZGVNYWMuY3BwCkBAIC0zNSw4ICszNSw3IEBACiAj
aWYgIVBMQVRGT1JNKElPUykKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0
aW9uU2VydmljZXMuaD4KICNlbHNlCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udFVuaWNv
ZGVTdXBwb3J0Lmg+Ci0jaW5jbHVkZSA8Q29yZVRleHQvQ1RGb250UHJpdi5oPgorI2luY2x1ZGUg
IkNHRm9udFVuaWNvZGVTdXBwb3J0U1BJLmgiCiAjaW5jbHVkZSA8Q29yZVRleHQvQ29yZVRleHQu
aD4KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvTWVkaWFQbGF5ZXJQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL01lZGlhUGxheWVyUHJveHkuaAppbmRleCBlOTNiZTI0MGE2ZDFhODgyM2ZhMzc2MDcw
MmQwNjhmMTM0YmQ3ZGM1Li5mMDIxYzJhZjJmZjE4ZGFlMmY4YTg3ODdlYTBhY2I0M2E2YWY5ODk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQ
bGF5ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9N
ZWRpYVBsYXllclByb3h5LmgKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lmIFRBUkdFVF9PU19JUEhP
TkUKICNpZiBkZWZpbmVkKF9fT0JKQ19fKQotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5
Lmg+CisjaW1wb3J0ICJOU0dlb21ldHJ5U1BJLmgiCiAjZW5kaWYKIAogLy8gTmVlZGVkIHNpbmNl
IHRoaXMgaXMgYSBXZWJLaXQgcHJpdmF0ZSBoZWFkZXIgb24gaU9TLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1t
CmluZGV4IGZiZGM3NDRhNmM1ZTZjN2UyZTkzNTI2ZDlhYzIwNWFlMWI5MWI1NzAuLjZlNzRlYmE0
OGNmZGIyYmZkODhkM2Q5YzYxODcwMGU3ZDcyMzE2MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0KQEAg
LTI4LDYgKzI4LDggQEAKICNpbXBvcnQgIlNpbXBsZUZvbnREYXRhLmgiCiAKICNpbXBvcnQgIkJs
b2NrRXhjZXB0aW9ucy5oIgorI2ltcG9ydCAiQ0dGb250R2x5cGhTdXBwb3J0U1BJLmgiCisjaW1w
b3J0ICJDVEZvbnREZXNjcmlwdG9yU1BJLmgiCiAjaW1wb3J0ICJDb2xvci5oIgogI2ltcG9ydCAi
RmxvYXRSZWN0LmgiCiAjaW1wb3J0ICJGb250LmgiCkBAIC00NCwyMCArNDYsOCBAQAogI2ltcG9y
dCA8ZmxvYXQuaD4KICNpbXBvcnQgPHVuaWNvZGUvdWNoYXIuaD4KICNpbXBvcnQgPHd0Zi9Bc3Nl
cnRpb25zLmg+Ci0jaW1wb3J0IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvUmV0
YWluUHRyLmg+Ci0KLSNpZiBkZWZpbmVkKF9faGFzX2luY2x1ZGUpICYmIF9faGFzX2luY2x1ZGUo
PENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2Lmg+KQotI2ltcG9ydCA8Q29yZVRleHQvQ1RG
b250RGVzY3JpcHRvclByaXYuaD4KLSNlbmRpZgotZXh0ZXJuICJDIiBib29sIENURm9udERlc2Ny
aXB0b3JJc1N5c3RlbVVJRm9udChDVEZvbnREZXNjcmlwdG9yUmVmKTsKLQotI2lmIGRlZmluZWQo
X19oYXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVkZSg8Q29yZUdyYXBoaWNzL0NHRm9udEdseXBo
U3VwcG9ydC5oPikKLSNpbXBvcnQgPENvcmVHcmFwaGljcy9DR0ZvbnRHbHlwaFN1cHBvcnQuaD4K
LSNlbmRpZgotZXh0ZXJuICJDIiBib29sIENHRm9udEdldEdseXBoQWR2YW5jZXNGb3JTdHlsZShD
R0ZvbnRSZWYgZm9udCwKLSAgICBjb25zdCBDR0FmZmluZVRyYW5zZm9ybSAqdCwgQ0dGb250UmVu
ZGVyaW5nU3R5bGUgc3R5bGUsCi0gICAgY29uc3QgQ0dHbHlwaCBnbHlwaHNbXSwgc2l6ZV90IGNv
dW50LCBDR1NpemUgYWR2YW5jZXNbXSk7CisjaW1wb3J0IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAK
ICNpZiAhUExBVEZPUk0oSU9TKQogQGludGVyZmFjZSBOU0ZvbnQgKFdlYkFwcEtpdFNlY3JldEFQ
SSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2Fj
aGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCmlu
ZGV4IDZjMDAxNDJiOTZmNjAxN2RiNWI4ZTU5N2ZjZTgxZDY3NDM0OTU1NjYuLmEwZTJiOTBhZDE0
YzljYzgxZmY0NGE2ZDZjZDc4OWExN2EzZmIzMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQpAQCAtMjgsNiArMjgsOCBAQAogCiAjaWYgUExB
VEZPUk0oSU9TKQogCisjaW5jbHVkZSAiQ0FMYXllclNQSS5oIgorI2luY2x1ZGUgIkNHU1JlZ2lv
blNQSS5oIgogI2luY2x1ZGUgIkxlZ2FjeVRpbGVHcmlkLmgiCiAjaW5jbHVkZSAiTGVnYWN5VGls
ZUdyaWRUaWxlLmgiCiAjaW5jbHVkZSAiTGVnYWN5VGlsZUxheWVyLmgiCkBAIC00MCw3ICs0Miw2
IEBACiAjaW5jbHVkZSAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgogI2luY2x1ZGUgIldlYkNv
cmVUaHJlYWRSdW4uaCIKICNpbmNsdWRlIDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KLSNpbmNs
dWRlIDxRdWFydHpDb3JlL1F1YXJ0ekNvcmVQcml2YXRlLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJl
bnRUaW1lLmg+CiAKIEBpbnRlcmZhY2UgV0FLVmlldyAoV2ViVmlld0V4dHJhcykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZC5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZC5tbQppbmRleCBhOTJkZjEzYmNi
ODg1MzY5OGU2ODQ5MTkzNTk0ZWQzYjM1NTZjZmFiLi41Y2UzN2I0ZTA2OWYxZWQ3YzkzNWExZWIy
YzU4MWQ4OWU5ZGNlMTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
TGVnYWN5VGlsZUdyaWQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2Fj
eVRpbGVHcmlkLm1tCkBAIC0yOCwxNSArMjgsMTYgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAor
I2luY2x1ZGUgIkNBTGF5ZXJTUEkuaCIKKyNpbmNsdWRlICJDR0Zsb2F0U1BJLmgiCiAjaW5jbHVk
ZSAiTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgiCiAjaW5jbHVkZSAiU3lzdGVtTWVtb3J5LmgiCiAj
aW5jbHVkZSAiTGVnYWN5VGlsZUdyaWRUaWxlLmgiCiAjaW5jbHVkZSAiTGVnYWN5VGlsZUxheWVy
LmgiCiAjaW5jbHVkZSAiTGVnYWN5VGlsZUxheWVyUG9vbC5oIgogI2luY2x1ZGUgIldBS1dpbmRv
dy5oIgotI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3NQcml2YXRlLmg+CisjaW5j
bHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgogI2luY2x1ZGUgPFF1YXJ0ekNvcmUv
UXVhcnR6Q29yZS5oPgotI2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZVByaXZhdGUuaD4K
ICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZFRpbGUubW0KaW5kZXggY2Nm
NGViOGFlMTM2YTljNjQ4ZDA0YjQxYmE5ZmRkMTIzNzY2NWUwYS4uNDBmMmI5NmMyY2Q4YTc5M2Mw
NDU2ZDc4NWFjMGUzZDYyNDc3YjJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvTGVnYWN5VGlsZUdyaWRUaWxlLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBQTEFU
Rk9STShJT1MpCiAKKyNpbmNsdWRlICJDQUxheWVyU1BJLmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIK
ICNpbmNsdWRlICJMZWdhY3lUaWxlQ2FjaGUuaCIKICNpbmNsdWRlICJMZWdhY3lUaWxlR3JpZC5o
IgpAQCAtMzUsNyArMzYsNiBAQAogI2luY2x1ZGUgIkxlZ2FjeVRpbGVMYXllclBvb2wuaCIKICNp
bmNsdWRlICJXQUtXaW5kb3cuaCIKICNpbmNsdWRlIDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4K
LSNpbmNsdWRlIDxRdWFydHpDb3JlL1F1YXJ0ekNvcmVQcml2YXRlLmg+CiAjaW5jbHVkZSA8YWxn
b3JpdGhtPgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbQppbmRleCA0NjUzMTVi
YzczYzZhYTNkYTMwMmM1ZWQ4N2E0YjRmOGFhMjFmODZjLi4wZTA4Y2YyYjQwZjM3MjNmZDFjZTNh
ZmY3MWI2Mjg0MGRkMDlmOTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0b3J5SU9TLm1tCkBAIC0yNiwxMSArMjYsMTIgQEAKICNp
bXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MuaCIKIAot
I2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CisjaW1wb3J0ICJOU0dlb21ldHJ5U1BJ
LmgiCiAjaW1wb3J0IDxJbnRQb2ludC5oPgogI2ltcG9ydCA8S2V5RXZlbnRDb2NvYS5oPgogI2lt
cG9ydCA8TG9nZ2luZy5oPgogI2ltcG9ydCA8V2ViRXZlbnQuaD4KKyNpbXBvcnQgPHd0Zi9DdXJy
ZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbQppbmRleCBlZjI1ZjI0NTgzZWVhN2E3
YjQzOGQxMjliYmVjNGI4ZTk2MTNlYjVhLi41ZGM1YjdkZWNiMjczMmJkZDQ3NTgyMDU5ZTEyYjBm
OTI1ZmRjYjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZv
cm1TY3JlZW5JT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3Jt
U2NyZWVuSU9TLm1tCkBAIC0zMCwxMCArMzAsMTAgQEAKICNpbXBvcnQgIkZyYW1lVmlldy5oIgog
I2ltcG9ydCAiSG9zdFdpbmRvdy5oIgogI2ltcG9ydCAiSW50UmVjdC5oIgorI2ltcG9ydCAiTW9i
aWxlR2VzdGFsdFNQSS5oIgogI2ltcG9ydCAiV0FLV2luZG93LmgiCiAjaW1wb3J0ICJXZWJDb3Jl
U3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0ICJXaWRnZXQuaCIKLSNpbXBvcnQgPE1vYmlsZUdl
c3RhbHQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZlbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvV2ViRXZlbnQubW0KaW5kZXggYjdkZTk2Y2VlYjA0MmQxYjBhMzFlM2I1YmRkOWJiYzJlODEx
NDkzYS4uYTU4ODZmNjAyM2UxOTZhZmM4ZTZiNzFiZDNiNGQ1OTFmM2YyYTc3NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkV2ZW50Lm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJFdmVudC5tbQpAQCAtMjksNyArMjksNyBAQAogI2ltcG9y
dCAiV2ViRXZlbnQuaCIKIAogI2ltcG9ydCAiS2V5RXZlbnRDb2NvYS5oIgotI2ltcG9ydCA8Rm91
bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CisjaW1wb3J0ICJOU0dlb21ldHJ5U1BJLmgiCiAjaW1wb3J0
IDx3dGYvQXNzZXJ0aW9ucy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdC5tbQppbmRleCBkZWJiYzljMDgxZTc4OWZlMDA0NDA5ZDQ5ODBlOWU5
M2RlMGU2MTY1Li5mZTM3NTY1Y2Y2MmJmZGM4YmI5NDc0MjkwYmVmNzBkYzVlMTAzYjg4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC0zMCwxNiArMzAsMTUgQEAKIAogI2ltcG9y
dCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaCIKIAorI2ltcG9ydCAiQVZQbGF5
ZXJDb250cm9sbGVyU1BJLmgiCisjaW1wb3J0ICJBVlBsYXllclZpZXdDb250cm9sbGVyU1BJLmgi
CisjaW1wb3J0ICJBVlZhbHVlVGltaW5nU1BJLmgiCisjaW1wb3J0ICJBVlZpZGVvTGF5ZXJTUEku
aCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAj
aW1wb3J0ICJXZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbC5oIgogI2ltcG9ydCA8QVZGb3VuZGF0aW9u
L0FWVGltZS5oPgogI2ltcG9ydCA8QVZLaXQvQVZLaXQuaD4KLSNpbXBvcnQgPEFWS2l0L0FWUGxh
eWVyQ29udHJvbGxlci5oPgotI2ltcG9ydCA8QVZLaXQvQVZQbGF5ZXJWaWV3Q29udHJvbGxlcl9Q
cml2YXRlLmg+Ci0jaW1wb3J0IDxBVktpdC9BVlBsYXllclZpZXdDb250cm9sbGVyX1dlYktpdE9u
bHkuaD4KLSNpbXBvcnQgPEFWS2l0L0FWVmFsdWVUaW1pbmcuaD4KLSNpbXBvcnQgPEFWS2l0L0FW
VmlkZW9MYXllci5oPgogI2ltcG9ydCA8Q29yZU1lZGlhL0NNVGltZS5oPgogI2ltcG9ydCA8VUlL
aXQvVUlLaXQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzSU9T
Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS0FwcEtp
dFN0dWJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS0FwcEtpdFN0dWJz
LmgKaW5kZXggNzM4NWVjMGIzYzZhOWVhOTFhMTZiN2MwNGM4MmRiY2Q2MjE3MDFkYi4uNGJmNGY5
ODQyMTY2NTc0NWRiMmExMTlmZmFhYWY1NDU1MzM2YzU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XQUtBcHBLaXRTdHVicy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy93YWsvV0FLQXBwS2l0U3R1YnMuaApAQCAtMzAsMTAgKzMwLDExIEBA
CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiAKKy8vIEZJWE1FOiA8cmRhcjovL3Byb2JsZW0vNjY2
OTQzND4gU3dpdGNoIGZyb20gdXNpbmcgTlNHZW9tZXRyeSBtZXRob2RzIHRvIENHR2VvbWV0cnkg
bWV0aG9kcworI2ltcG9ydCAiTlNHZW9tZXRyeVNQSS5oIgorCiAjaW1wb3J0IDxDb3JlR3JhcGhp
Y3MvQ29yZUdyYXBoaWNzLmg+CiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KLS8v
IEZJWE1FOiA8cmRhcjovL3Byb2JsZW0vNjY2OTQzND4gU3dpdGNoIGZyb20gdXNpbmcgTlNHZW9t
ZXRyeSBtZXRob2RzIHRvIENHR2VvbWV0cnkgbWV0aG9kcwotI2ltcG9ydCA8Rm91bmRhdGlvbi9O
U0dlb21ldHJ5Lmg+CiAKICNpZm5kZWYgTlNDbGlwVmlldwogI2RlZmluZSBOU0NsaXBWaWV3IFdB
S0NsaXBWaWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dB
S1ZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0FLVmlldy5oCmluZGV4
IDk5OThmNzAxMWVkNjdhNWQ0OWM0MTNlZWM3YjIzOTU2YThjYWU0OGQuLjY3MDE3YTdiMzlhZTFm
OTViZjlmZTM1Njg4MWIyOTM4NTE0YjE1OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy93YWsvV0FLVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy93YWsvV0FLVmlldy5oCkBAIC0yOCwxNSArMjgsMTAgQEAKIAogI2lmIFRBUkdFVF9PU19JUEhP
TkUKIAorI2ltcG9ydCAiTlNHZW9tZXRyeVNQSS5oIgogI2ltcG9ydCAiV0FLUmVzcG9uZGVyLmgi
Ci0jaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KICNpbXBvcnQgPENvcmVHcmFwaGlj
cy9Db3JlR3JhcGhpY3MuaD4KLQotI2lmbmRlZiBOU1JlY3QKLSNkZWZpbmUgTlNSZWN0IENHUmVj
dAotI2VuZGlmCi0jZGVmaW5lIE5TUG9pbnQgQ0dQb2ludAotI2RlZmluZSBOU1NpemUgQ0dTaXpl
CisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KIAogZXh0ZXJuIE5TU3RyaW5nICpX
QUtWaWV3RnJhbWVTaXplRGlkQ2hhbmdlTm90aWZpY2F0aW9uOwogZXh0ZXJuIE5TU3RyaW5nICpX
QUtWaWV3RGlkU2Nyb2xsTm90aWZpY2F0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL3dhay9XS0dyYXBoaWNzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3Mvd2FrL1dLR3JhcGhpY3MuaAppbmRleCBiZjM4NTk2OGY0ODM2ZGNlOTY0ODZjNjYwZjdiNGM0
Y2Y5NzBmMTk4Li42MjYyZjc5Nzg5ZWE3ZjhiNjc1NGUxZGE4YzJlYTJmMDhmZTNkOWJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dLR3JhcGhpY3MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dLR3JhcGhpY3MuaApAQCAtMjgsOCAr
MjgsOCBAQAogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogCi0jaW1wb3J0IDxDb3JlR3JhcGhpY3Mv
Q29yZUdyYXBoaWNzLmg+Ci0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzUHJpdmF0
ZS5oPgorI2ltcG9ydCAiQ0dDb250ZXh0U1BJLmgiCisjaW1wb3J0ICJDR0ZvbnRSZW5kZXJpbmdT
UEkuaCIKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5tbQppbmRleCAzMWM2ZWMwMmE5OTljYjI3
N2UyY2I0MDg4NmZhNDQzNGY0NDIxZWNhLi45ZGJiZWQ0Y2NmOTY3YjY1MWQ4Y2FkMDFjYTRiMjRm
YjAzY2NmMTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dL
R3JhcGhpY3MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBo
aWNzLm1tCkBAIC0yOCw4ICsyOCw5IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKLSNpbXBvcnQg
IldlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKKyNpbXBvcnQgIkNHQ29udGV4dEdTdGF0ZVNQSS5o
IgogI2ltcG9ydCAiRm9udC5oIgorI2ltcG9ydCAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgog
I2ltcG9ydCAiV2ViQ29yZVRocmVhZC5oIgogI2ltcG9ydCA8SW1hZ2VJTy9JbWFnZUlPLmg+CiAj
aW1wb3J0IDx3dGYvU3RkTGliRXh0cmFzLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW0KaW5kZXggNWMwMWM2NjZlYmM4ZWQ3NjkxNzFmYzQz
ZjlkODQ5NTlmNGFjNzIzNy4uNGIwOWQxZjA2ZGE4MjM4ZjczNjA0MzVjMTdmM2ExOWE5NWMzYjNj
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhy
ZWFkLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVh
ZC5tbQpAQCAtNDUsNyArNDUsNiBAQAogI2ltcG9ydCA8d3RmL1RocmVhZGluZy5oPgogI2ltcG9y
dCA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKLSNpbXBvcnQgPENvcmVGb3VuZGF0aW9uL0NG
UHJpdi5oPgogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0ludm9jYXRpb24uaD4KICNpbXBvcnQgPGxp
Ymtlcm4vT1NBdG9taWMuaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tCmluZGV4IDhmODQ5ZTM4
MmY2NTg3NGFkNzhkODY4ZWNmZGQ4NjZjN2Y1ZTkwZWYuLjExNTEwYThmZDE1Y2JlMDdhMjNkOGM3
NjlkMDVhODk4NDMwMWRmYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvaW9zL1F1aWNrTG9vay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2lvcy9RdWlja0xvb2subW0KQEAgLTMxLDYgKzMxLDkgQEAKICNpbXBvcnQgIkRvY3VtZW50
TG9hZGVyLmgiCiAjaW1wb3J0ICJGaWxlU3lzdGVtSU9TLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgi
CisjaW1wb3J0ICJOU0ZpbGVNYW5hZ2VyU1BJLmgiCisjaW1wb3J0ICJRTFByZXZpZXdDb252ZXJ0
ZXJTUEkuaCIKKyNpbXBvcnQgIlF1aWNrTG9va1NQSS5oIgogI2ltcG9ydCAiUmVzb3VyY2VFcnJv
ci5oIgogI2ltcG9ydCAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbXBvcnQgIlJlc291cmNlTG9hZGVy
LmgiCkBAIC0zOSw5ICs0Miw2IEBACiAjaW1wb3J0ICJTeW5jaHJvbm91c1Jlc291cmNlSGFuZGxl
Q0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUuaCIKICNpbXBvcnQgIldlYkNvcmVVUkxSZXNwb25zZUlP
Uy5oIgogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+Ci0jaW1wb3J0IDxGb3VuZGF0
aW9uL05TRmlsZU1hbmFnZXJfTlNVUkxFeHRyYXMuaD4KLSNpbXBvcnQgPFF1aWNrTG9vay9RTFBy
ZXZpZXdDb252ZXJ0ZXIuaD4KLSNpbXBvcnQgPFF1aWNrTG9vay9RdWlja0xvb2tQcml2YXRlLmg+
CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KICNpbXBvcnQgPHd0Zi9UaHJlYWRpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9hdmtpdC9BVlBsYXllckNvbnRyb2xsZXJTUEkuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3NwaS9hdmtpdC9BVlBsYXllckNvbnRyb2xsZXJTUEkuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yNWY5ZDJlYjJhYzFhMDAxZWQxNTZmNTkzY2IwMjU3NzgzOWMzZjdjCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWUGxheWVyQ29udHJv
bGxlclNQSS5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxB
VktpdC9BVlBsYXllckNvbnRyb2xsZXIuaD4KKyNlbHNlCisjaW1wb3J0IDxBVktpdC9BVktpdC5o
PgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDxVSUtpdC9VSUtp
dC5oPgorCitAaW50ZXJmYWNlIEFWUGxheWVyQ29udHJvbGxlciA6IFVJUmVzcG9uZGVyCit0eXBl
ZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBBVlBsYXllckNvbnRyb2xsZXJTdGF0dXMpIHsKKyAgICBB
VlBsYXllckNvbnRyb2xsZXJTdGF0dXNSZWFkeVRvUGxheSA9IDIsCit9OworQHByb3BlcnR5IChO
U19OT05BVE9NSUNfSU9TT05MWSwgcmVhZG9ubHkpIEFWUGxheWVyQ29udHJvbGxlclN0YXR1cyBz
dGF0dXM7CitAZW5kCisKK0BpbnRlcmZhY2UgQVZQbGF5ZXJDb250cm9sbGVyIChBVlBsYXllckNv
bnRyb2xsZXJFeHRlcm5hbFBsYXliYWNrU3VwcG9ydCkKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVn
ZXIsIEFWUGxheWVyQ29udHJvbGxlckV4dGVybmFsUGxheWJhY2tUeXBlKSB7CisgICAgQVZQbGF5
ZXJDb250cm9sbGVyRXh0ZXJuYWxQbGF5YmFja1R5cGVOb25lID0gMCwKKyAgICBBVlBsYXllckNv
bnRyb2xsZXJFeHRlcm5hbFBsYXliYWNrVHlwZUFpclBsYXkgPSAxLAorICAgIEFWUGxheWVyQ29u
dHJvbGxlckV4dGVybmFsUGxheWJhY2tUeXBlVFZPdXQgPSAyLAorfTsKK0BlbmQKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWUGxheWVyVmll
d0NvbnRyb2xsZXJTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9hdmtpdC9BVlBs
YXllclZpZXdDb250cm9sbGVyU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODE5NDRmZmVhNDYwMTJhNTY1NWJl
ZDhiNWZkNDdlZDRiZGZlOTM5ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NwaS9hdmtpdC9BVlBsYXllclZpZXdDb250cm9sbGVyU1BJLmgKQEAgLTAsMCArMSw2
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPEFWS2l0L0FWUGxheWVyVmlld0NvbnRy
b2xsZXJfUHJpdmF0ZS5oPgorI2ltcG9ydCA8QVZLaXQvQVZQbGF5ZXJWaWV3Q29udHJvbGxlcl9X
ZWJLaXRPbmx5Lmg+CisjZWxzZQorI2ltcG9ydCA8QVZLaXQvQVZLaXQuaD4KKyNpbXBvcnQgPEZv
dW5kYXRpb24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+
CisjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgorCitAcHJvdG9jb2wgQVZQbGF5ZXJWaWV3Q29udHJv
bGxlckRlbGVnYXRlOworQHByb3RvY29sIEFWVmlkZW9MYXllcjsKKworQGludGVyZmFjZSBBVlBs
YXllclZpZXdDb250cm9sbGVyIChBVlBsYXllclZpZXdDb250cm9sbGVyX1dlYktpdE9ubHkpCist
IChpbnN0YW5jZXR5cGUpaW5pdFdpdGhWaWRlb0xheWVyOihDQUxheWVyIDxBVlZpZGVvTGF5ZXI+
ICopdmlkZW9MYXllcjsKKy0gKHZvaWQpZXhpdEZ1bGxTY3JlZW5BbmltYXRlZDooQk9PTClhbmlt
YXRlZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBzdWNjZXNzLCBOU0Vycm9yICop
KWNvbXBsZXRpb25IYW5kbGVyOworLSAodm9pZCllbnRlckZ1bGxTY3JlZW5XaXRoQ29tcGxldGlv
bkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgc3VjY2VzcywgTlNFcnJvciAqKSljb21wbGV0aW9uSGFu
ZGxlcjsKKy0gKHZvaWQpZXhpdEZ1bGxTY3JlZW5XaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQg
KF4pKEJPT0wgc3VjY2VzcywgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCB3ZWFrKSBpZCA8QVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVnYXRlPiBk
ZWxlZ2F0ZTsKK0BlbmQKKworQGludGVyZmFjZSBBVlBsYXllclZpZXdDb250cm9sbGVyIChBVlBs
YXllclZpZXdDb250cm9sbGVyUGxheWVyQ29udHJvbGxlcikKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzdHJvbmcpIEFWUGxheWVyQ29udHJvbGxlciAqcGxheWVyQ29udHJvbGxlcjsKK0BlbmQKKwor
QHByb3RvY29sIEFWUGxheWVyVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA8TlNPYmplY3Q+CitAb3B0
aW9uYWwKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgQVZQbGF5ZXJWaWV3Q29udHJvbGxl
ckV4aXRGdWxsU2NyZWVuUmVhc29uKSB7CisgICAgQVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4aXRG
dWxsU2NyZWVuUmVhc29uRG9uZUJ1dHRvblRhcHBlZCA9IDAsCisgICAgQVZQbGF5ZXJWaWV3Q29u
dHJvbGxlckV4aXRGdWxsU2NyZWVuUmVhc29uUmVtb3RlQ29udHJvbFN0b3BFdmVudFJlY2VpdmVk
ID0gMywKK307CisKKy0gKEJPT0wpcGxheWVyVmlld0NvbnRyb2xsZXI6KEFWUGxheWVyVmlld0Nv
bnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlciBzaG91bGRFeGl0RnVsbFNjcmVlbldpdGhS
ZWFzb246KEFWUGxheWVyVmlld0NvbnRyb2xsZXJFeGl0RnVsbFNjcmVlblJlYXNvbilyZWFzb247
CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9h
dmtpdC9BVlZhbHVlVGltaW5nU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvYXZr
aXQvQVZWYWx1ZVRpbWluZ1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1OWRjYzNmOWNlMzcwZWJhYWRjZjVm
MDZjODE5ZGJlYWZlYzZiNTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvYXZraXQvQVZWYWx1ZVRpbWluZ1NQSS5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisjaW1wb3J0IDxBVktpdC9BVlZhbHVlVGltaW5nLmg+CisjZWxzZQorI2lt
cG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK0BpbnRlcmZhY2UgQVZWYWx1ZVRpbWlu
ZyA6IE5TT2JqZWN0IDxOU0NvZGluZywgTlNDb3B5aW5nLCBOU011dGFibGVDb3B5aW5nPgorKyAo
QVZWYWx1ZVRpbWluZyAqKXZhbHVlVGltaW5nV2l0aEFuY2hvclZhbHVlOihkb3VibGUpYW5jaG9y
VmFsdWUgYW5jaG9yVGltZVN0YW1wOihOU1RpbWVJbnRlcnZhbCl0aW1lU3RhbXAgcmF0ZTooZG91
YmxlKXJhdGU7CitAZW5kCisKK0BpbnRlcmZhY2UgQVZWYWx1ZVRpbWluZyAoQVZFeHRlbmRlZFZh
bHVlVGltaW5nKQorQHByb3BlcnR5IChOU19OT05BVE9NSUNfSU9TT05MWSwgcmVhZG9ubHkpIGRv
dWJsZSBjdXJyZW50VmFsdWU7CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9hdmtpdC9BVlZpZGVvTGF5ZXJTUEkuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9hdmtpdC9BVlZpZGVvTGF5ZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGQ1MThj
Y2RjMjI5M2UyNTBiZGE0YTE5OWM0M2UxNTAxZTVkMmM1Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2F2a2l0L0FWVmlkZW9MYXllclNQSS5oCkBAIC0wLDAg
KzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxBVktpdC9BVlZpZGVvTGF5ZXIu
aD4KKyNlbHNlCisjaW1wb3J0IDxBVktpdC9BVktpdC5oPgorI2ltcG9ydCA8Q29yZUdyYXBoaWNz
L0NvcmVHcmFwaGljcy5oPgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK0Bw
cm90b2NvbCBBVlZpZGVvTGF5ZXIKKy0gKHZvaWQpc2V0UGxheWVyQ29udHJvbGxlcjooQVZQbGF5
ZXJDb250cm9sbGVyICopcGxheWVyQ29udHJvbGxlcjsKKwordHlwZWRlZiBOU19FTlVNKE5TSW50
ZWdlciwgQVZWaWRlb0xheWVyR3Jhdml0eSkgeworICAgIEFWVmlkZW9MYXllckdyYXZpdHlJbnZh
bGlkID0gMCwKKyAgICBBVlZpZGVvTGF5ZXJHcmF2aXR5UmVzaXplQXNwZWN0ID0gMSwKKyAgICBB
VlZpZGVvTGF5ZXJHcmF2aXR5UmVzaXplQXNwZWN0RmlsbCA9IDIsCisgICAgQVZWaWRlb0xheWVy
R3Jhdml0eVJlc2l6ZSA9IDMsCit9OworCitAcHJvcGVydHkgKG5vbmF0b21pYykgQVZWaWRlb0xh
eWVyR3Jhdml0eSB2aWRlb0xheWVyR3Jhdml0eTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFk
b25seSwgZ2V0dGVyPWlzUmVhZHlGb3JEaXNwbGF5KSBCT09MIHJlYWR5Rm9yRGlzcGxheTsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljKSBDR1JlY3QgdmlkZW9SZWN0OworQGVuZAorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2EvQ0FMYXllclNQSS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NhL0NBTGF5ZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNDU5
YTg3MjNiN2IzNDRhOTRiODk0YmZkNTZkYWU4ZDI4MzdkZGY5Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NhL0NBTGF5ZXJTUEkuaApAQCAtMCwwICsxLDM4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8UXVhcnR6Q29yZS9DQUxheWVyUHJpdmF0
ZS5oPgorI2Vsc2UKKyNpbXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKyNpbXBv
cnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgorCitAaW50ZXJmYWNlIENBTGF5ZXIgKENBTGF5
ZXJEZXRhaWxzKQorLSAoQ0dTaXplKXNpemU7CistICh2b2lkICopcmVnaW9uQmVpbmdEcmF3bjsK
K0Bwcm9wZXJ0eSBCT09MIGFjY2VsZXJhdGVzRHJhd2luZzsKK0Bwcm9wZXJ0eSBCT09MIG5lZWRz
TGF5b3V0T25HZW9tZXRyeUNoYW5nZTsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NhL0NBVGlsZWRMYXllclNQSS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3BpL2NhL0NBVGlsZWRMYXllclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5YzgzZjk4
MWNjZGUzZDY4YmZhNTYwZWUzN2U3MTU4NmE5YTlkYTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2EvQ0FUaWxlZExheWVyU1BJLmgKQEAgLTAsMCArMSwz
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FUaWxlZExheWVy
UHJpdmF0ZS5oPgorI2Vsc2UKKyNpbXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4K
KyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8UXVhcnR6Q29yZS9R
dWFydHpDb3JlLmg+CisKK0BpbnRlcmZhY2UgQ0FUaWxlZExheWVyIChDQVRpbGVkTGF5ZXJEZXRh
aWxzKQorLSAodm9pZClzZXROZWVkc0Rpc3BsYXlJblJlY3Q6KENHUmVjdClyZWN0IGxldmVsT2ZE
ZXRhaWw6KGludClsZXZlbE9mRGV0YWlsIG9wdGlvbnM6KE5TRGljdGlvbmFyeSAqKWRpY3Rpb25h
cnk7CitAZW5kCisKK2V4dGVybiBOU1N0cmluZyAqIGNvbnN0IGtDQVRpbGVkTGF5ZXJSZW1vdmVJ
bW1lZGlhdGVseTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2NnL0NHQ29sb3JUcmFuc2Zvcm1TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9jZy9DR0NvbG9yVHJhbnNmb3JtU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODYwOWRkYjkzMWY5NDU0OGJm
N2VhNGRmMjQ4Njc4NzBjYTAxZWNhNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9jZy9DR0NvbG9yVHJhbnNmb3JtU1BJLmgKQEAgLTAsMCArMSw0MSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIENH
Q29sb3JUcmFuc2Zvcm1TUElfaAorI2RlZmluZSBDR0NvbG9yVHJhbnNmb3JtU1BJX2gKKworI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CisjaW5jbHVkZSA8Q29yZUdy
YXBoaWNzL0NvcmVHcmFwaGljcy5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNp
bmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb2xvclRyYW5zZm9ybS5oPgorI2VuZGlmCisKK3R5cGVk
ZWYgY29uc3Qgc3RydWN0IENHQ29sb3JUcmFuc2Zvcm0gKkNHQ29sb3JUcmFuc2Zvcm1SZWY7Citl
eHRlcm4gIkMiIHsKK0NHQ29sb3JUcmFuc2Zvcm1SZWYgQ0dDb2xvclRyYW5zZm9ybUNyZWF0ZShD
R0NvbG9yU3BhY2VSZWYsIENGRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzKTsKK0NHQ29sb3JSZWYg
Q0dDb2xvclRyYW5zZm9ybUNvbnZlcnRDb2xvcihDR0NvbG9yVHJhbnNmb3JtUmVmLCBDR0NvbG9y
UmVmLCBDR0NvbG9yUmVuZGVyaW5nSW50ZW50KTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHQ29udGV4dEdTdGF0ZVNQSS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHQ29udGV4dEdTdGF0ZVNQSS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMwODQ2MWU3Y2NlZjc2NGEzY2RlNGMwMzRhODVhM2M5ZmE0Y2JjMzgKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dDb250ZXh0R1N0YXRlU1BJLmgK
QEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaWZuZGVmIENHQ29udGV4dEdTdGF0ZVNQSV9oCisjZGVmaW5lIENHQ29udGV4dEdT
dGF0ZVNQSV9oCisKKyNpbmNsdWRlICJDR0NvbnRleHRTUEkuaCIKKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dEdTdGF0ZS5oPgor
I2VuZGlmCisKK2V4dGVybiAiQyIgeworQ0dGbG9hdCBDR0NvbnRleHRHZXRMaW5lV2lkdGgoQ0dD
b250ZXh0UmVmKTsKK3ZvaWQgQ0dDb250ZXh0U2V0Q1RNKENHQ29udGV4dFJlZiwgQ0dBZmZpbmVU
cmFuc2Zvcm0pOworQ0dDb2xvclJlZiBDR0NvbnRleHRHZXRGaWxsQ29sb3JBc0NvbG9yKENHQ29u
dGV4dFJlZik7CitDR0NvbXBvc2l0ZU9wZXJhdGlvbiBDR0NvbnRleHRHZXRDb21wb3NpdGVPcGVy
YXRpb24oQ0dDb250ZXh0UmVmKTsKK3ZvaWQgQ0dDb250ZXh0U2V0Q29tcG9zaXRlT3BlcmF0aW9u
KENHQ29udGV4dFJlZiwgQ0dDb21wb3NpdGVPcGVyYXRpb24pOworfQorI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dDb250ZXh0U1BJLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dDb250ZXh0U1BJLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWQ4
Mjg3MDdmNjBhYjcyMzQxZWRkMDkzMGExZTRjNTRlODgzMTdmYQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0NvbnRleHRTUEkuaApAQCAtMCwwICsx
LDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
Zm5kZWYgQ0dDb250ZXh0U1BJX2gKKyNkZWZpbmUgQ0dDb250ZXh0U1BJX2gKKworI2luY2x1ZGUg
PENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9T
REspCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dFByaXZhdGUuaD4KKyNlbHNlCitl
bnVtIENHQ29tcG9zaXRlT3BlcmF0aW9uIHsKKyAgICBrQ0dDb21wb3NpdGVDb3B5ID0gMSwKKyAg
ICBrQ0dDb21wb3NpdGVTb3ZlciA9IDIsCit9OworI2VuZGlmCisKK2V4dGVybiAiQyIgQ0dBZmZp
bmVUcmFuc2Zvcm0gQ0dDb250ZXh0R2V0QmFzZUNUTShDR0NvbnRleHRSZWYpOworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGbG9hdFNQSS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRmxvYXRTUEkuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
NTEyM2NjNzlmNDE3YjQ3MWRiNjk3ZGFiYmJlNDg1MmRjNTBlN2E4Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRmxvYXRTUEkuaApAQCAtMCwwICsx
LDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
Zm5kZWYgQ0dGbG9hdFNQSV9oCisjZGVmaW5lIENHRmxvYXRTUElfaAorCisjaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGbG9hdC5oPgorI2Vsc2UK
KyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CitDR19JTkxJTkUgQ0dGbG9h
dCBDR1JvdW5kKENHRmxvYXQgdmFsdWUpCit7CisgICAgaWYgKHNpemVvZih2YWx1ZSkgPT0gc2l6
ZW9mKGZsb2F0KSkKKyAgICAgICAgcmV0dXJuIChDR0Zsb2F0KXJvdW5kZigoZmxvYXQpdmFsdWUp
OworICAgIHJldHVybiAoQ0dGbG9hdClyb3VuZCgoZG91YmxlKXZhbHVlKTsKK30KKyNlbmRpZgor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250
R2x5cGhTdXBwb3J0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250
R2x5cGhTdXBwb3J0U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzEyNzZlYzlmMGYxNzI1MmNjNmRhMjE4MTVl
MWU2MThhZTJjYmYyMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jZy9DR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaApAQCAtMCwwICsxLDM4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ0dGb250R2x5
cGhTdXBwb3J0U1BJX2gKKyNkZWZpbmUgQ0dGb250R2x5cGhTdXBwb3J0U1BJX2gKKworI2luY2x1
ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udEdseXBoU3VwcG9ydC5oPgorI2Vs
c2UKK3R5cGVkZWYgdWludDMyX3QgQ0dGb250UmVuZGVyaW5nU3R5bGU7CisjZW5kaWYKKworZXh0
ZXJuICJDIiBib29sIENHRm9udEdldEdseXBoQWR2YW5jZXNGb3JTdHlsZShDR0ZvbnRSZWYgZm9u
dCwgY29uc3QgQ0dBZmZpbmVUcmFuc2Zvcm0qICwgQ0dGb250UmVuZGVyaW5nU3R5bGUsIGNvbnN0
IENHR2x5cGggZ2x5cGhzW10sIHNpemVfdCBjb3VudCwgQ0dTaXplIGFkdmFuY2VzW10pOworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250SW5m
b1NQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9udEluZm9TUEkuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jY2Q2MTE0NDU3MDg1OGZlMTNjZmFjYjc5ZTQ4M2JiM2Q4ZGIzMTFiCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9udEluZm9T
UEkuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpZm5kZWYgQ0dGb250SW5mb1NQSV9oCisjZGVmaW5lIENHRm9udEluZm9T
UElfaAorCisjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKyNpbmNs
dWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKQorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0ZvbnRJbmZvLmg+CisjZWxzZQorc3Ry
dWN0IENHRm9udEhNZXRyaWNzIHsKKyAgICBpbnQgYXNjZW50OworICAgIGludCBkZXNjZW50Owor
ICAgIGludCBsaW5lR2FwOworICAgIGludCBtYXhBZHZhbmNlV2lkdGg7CisgICAgaW50IG1pbkxl
ZnRTaWRlQmVhcmluZzsKKyAgICBpbnQgbWluUmlnaHRTaWRlQmVhcmluZzsKK307CisKK3N0cnVj
dCBDR0ZvbnREZXNjcmlwdG9yIHsKKyAgICBDR1JlY3QgYmJveDsKKyAgICBDR0Zsb2F0IGFzY2Vu
dDsKKyAgICBDR0Zsb2F0IGRlc2NlbnQ7CisgICAgQ0dGbG9hdCBjYXBIZWlnaHQ7CisgICAgQ0dG
bG9hdCBpdGFsaWNBbmdsZTsKKyAgICBDR0Zsb2F0IHN0ZW1WOworICAgIENHRmxvYXQgc3RlbUg7
CisgICAgQ0dGbG9hdCBhdmdXaWR0aDsKKyAgICBDR0Zsb2F0IG1heFdpZHRoOworICAgIENHRmxv
YXQgbWlzc2luZ1dpZHRoOworICAgIENHRmxvYXQgbGVhZGluZzsKKyAgICBDR0Zsb2F0IHhIZWln
aHQ7Cit9OworI2VuZGlmCisKK2V4dGVybiAiQyIgeworY29uc3QgQ0dGb250SE1ldHJpY3MqIENH
Rm9udEdldEhNZXRyaWNzKENHRm9udFJlZik7Citib29sIENHRm9udEdldERlc2NyaXB0b3IoQ0dG
b250UmVmLCBDR0ZvbnREZXNjcmlwdG9yKik7Citjb25zdCBjaGFyKiBDR0ZvbnRHZXRQb3N0U2Ny
aXB0TmFtZShDR0ZvbnRSZWYpOworQ0ZTdHJpbmdSZWYgQ0dGb250Q29weUZhbWlseU5hbWUoQ0dG
b250UmVmKTsKK2Jvb2wgQ0dGb250SXNGaXhlZFBpdGNoKENHRm9udFJlZik7Cit9CisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ZvbnRSZW5kZXJp
bmdTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ZvbnRSZW5kZXJpbmdT
UEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iMWEzZWIzOWVjNDBlMzE2N2E2NmIxYzkyMmYxNDUwYjk2NjgyN2Vj
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9u
dFJlbmRlcmluZ1NQSS5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDR0ZvbnRSZW5kZXJpbmdTUElfaAorI2Rl
ZmluZSBDR0ZvbnRSZW5kZXJpbmdTUElfaAorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
KyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGb250UmVuZGVyaW5nLmg+CisjZWxzZQorZW51bSB7
CisgICAga0NHRm9udFJlbmRlcmluZ1N0eWxlQW50aWFsaWFzaW5nID0gMSA8PCAwLAorICAgIGtD
R0ZvbnRSZW5kZXJpbmdTdHlsZVNtb290aGluZyA9IDEgPDwgMSwKKyAgICBrQ0dGb250UmVuZGVy
aW5nU3R5bGVTdWJwaXhlbFBvc2l0aW9uaW5nID0gMSA8PCAyLAorICAgIGtDR0ZvbnRSZW5kZXJp
bmdTdHlsZVN1YnBpeGVsUXVhbnRpemF0aW9uID0gMSA8PCAzLAorICAgIGtDR0ZvbnRSZW5kZXJp
bmdTdHlsZVBsYXRmb3JtTmF0aXZlID0gMSA8PCA5LAorICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHls
ZU1hc2sgPSAweDIwRiwKK307Cit0eXBlZGVmIHVpbnQzMl90IENHRm9udFJlbmRlcmluZ1N0eWxl
OworCitlbnVtIHsKKyAgICBrQ0dGb250QW50aWFsaWFzaW5nU3R5bGVVbmZpbHRlcmVkID0gMCA8
PCA3LAorICAgIGtDR0ZvbnRBbnRpYWxpYXNpbmdTdHlsZUZpbHRlckxpZ2h0ID0gMSA8PCA3LAor
fTsKK3R5cGVkZWYgdWludDMyX3QgQ0dGb250QW50aWFsaWFzaW5nU3R5bGU7CisjZW5kaWYKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9udFVu
aWNvZGVTdXBwb3J0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250
VW5pY29kZVN1cHBvcnRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MmZhYzY5MTI0ZTYyZTZlMDUwMGQxZDkw
ZWFiNDEwMjYxN2RmMzA4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2NnL0NHRm9udFVuaWNvZGVTdXBwb3J0U1BJLmgKQEAgLTAsMCArMSwzNiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIENHRm9u
dFVuaWNvZGVTdXBwb3J0U1BJX2gKKyNkZWZpbmUgQ0dGb250VW5pY29kZVN1cHBvcnRTUElfaAor
CisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorCisjaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGb250VW5pY29kZVN1cHBv
cnQuaD4KKyNlbmRpZgorCitleHRlcm4gIkMiIHZvaWQgQ0dGb250R2V0R2x5cGhzRm9yVW5pY2hh
cnMoQ0dGb250UmVmLCBjb25zdCBVbmlDaGFyW10sIENHR2x5cGhbXSwgc2l6ZV90IGNvdW50KTsK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHSW1h
Z2VTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ltYWdlU1BJLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTAyY2VlNTc2YTM4N2Q4MTMyOTM3MTAxNjg1YWE0OGQ4ZGE5NDE1NgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ltYWdlU1BJLmgK
QEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaWZuZGVmIENHSW1hZ2VTUElfaAorI2RlZmluZSBDR0ltYWdlU1BJX2gKKworI2lu
Y2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKworI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHSW1hZ2VQcml2YXRlLmg+CisjZWxz
ZQorZW51bSB7CisgICAga0NHSW1hZ2VDYWNoaW5nVGVtcG9yYXJ5IF9fQ0dfREVQUkVDQVRFRF9F
TlVNRVJBVE9SID0gMywKK307CisKK3R5cGVkZWYgdWludDMyX3QgQ0dJbWFnZUNhY2hpbmdGbGFn
czsKKyNlbmRpZgorCitleHRlcm4gIkMiIHZvaWQgQ0dJbWFnZVNldENhY2hpbmdGbGFncyhDR0lt
YWdlUmVmLCBDR0ltYWdlQ2FjaGluZ0ZsYWdzKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHU1JlZ2lvblNQSS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NnL0NHU1JlZ2lvblNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzZGEzMmMzYzM0MTY4
NjU1Mjc0NDcxYzZjZjE4MWZiMjE5YmYyNzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dTUmVnaW9uU1BJLmgKQEAgLTAsMCArMSw0NCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIENHU1Jl
Z2lvblNQSV9oCisjZGVmaW5lIENHU1JlZ2lvblNQSV9oCisKKyNpbmNsdWRlIDxDb3JlR3JhcGhp
Y3MvQ29yZUdyYXBoaWNzLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1
ZGUgPENvcmVHcmFwaGljcy9DR1NSZWdpb24uaD4KKyNlbHNlCit0eXBlZGVmIHN0cnVjdCBDR1NS
ZWdpb25PYmplY3QgKkNHU1JlZ2lvbk9iajsKK3R5cGVkZWYgc3RydWN0IENHU1JlZ2lvbk9iamVj
dCAqQ0dSZWdpb25SZWY7Cit0eXBlZGVmIHN0cnVjdCBDR1NSZWdpb25FbnVtZXJhdG9yT2JqZWN0
ICpDR1NSZWdpb25FbnVtZXJhdG9yT2JqOworI2VuZGlmCisKK2V4dGVybiAiQyIgeworQ0dTUmVn
aW9uRW51bWVyYXRvck9iaiBDR1NSZWdpb25FbnVtZXJhdG9yKENHUmVnaW9uUmVmKTsKK0NHUmVj
dCAqQ0dTTmV4dFJlY3QoY29uc3QgQ0dTUmVnaW9uRW51bWVyYXRvck9iaik7CitDR0Vycm9yIENH
U1JlbGVhc2VSZWdpb25FbnVtZXJhdG9yKGNvbnN0IENHU1JlZ2lvbkVudW1lcmF0b3JPYmopOwor
fQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2Ev
RGlzcGF0Y2hTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9EaXNwYXRj
aFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmEwN2QyMTE1Mjk2ODEzMDZmZTkxMDBhNWE5ZTQ4OTRiYWJhN2Q4
MGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2Ev
RGlzcGF0Y2hTUEkuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgRGlzcGF0Y2hTUElfaAorI2RlZmluZSBEaXNw
YXRjaFNQSV9oCisKKyNpbmNsdWRlIDxkaXNwYXRjaC9kaXNwYXRjaC5oPgorCisjaWYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxkaXNwYXRjaC9wcml2YXRlLmg+CisjZWxzZQor
ZW51bSB7CisgICAgRElTUEFUQ0hfTUVNT1JZU1RBVFVTX1BSRVNTVVJFX05PUk1BTCA9IDB4MDEs
CisgICAgRElTUEFUQ0hfTUVNT1JZU1RBVFVTX1BSRVNTVVJFX1dBUk4gPSAweDAyLAorICAgIERJ
U1BBVENIX01FTU9SWVNUQVRVU19QUkVTU1VSRV9DUklUSUNBTCA9IDB4MDQsCit9OworI2RlZmlu
ZSBESVNQQVRDSF9TT1VSQ0VfVFlQRV9NRU1PUllTVEFUVVMgKCZfZGlzcGF0Y2hfc291cmNlX3R5
cGVfbWVtb3J5c3RhdHVzKQorI2VuZGlmCisKK0RJU1BBVENIX0VYUE9SVCBjb25zdCBzdHJ1Y3Qg
ZGlzcGF0Y2hfc291cmNlX3R5cGVfcyBfZGlzcGF0Y2hfc291cmNlX3R5cGVfbWVtb3J5c3RhdHVz
OworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2Ev
SU9QTUxpYlNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0lPUE1MaWJT
UEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40NjI4MGRjMDc2Yjg5Yzg1NjhhZTc3YjU2ODNkYTI4YzhhOTU0M2Fm
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0lP
UE1MaWJTUEkuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgSU9QTUxpYlNQSV9oCisjZGVmaW5lIElPUE1MaWJT
UElfaAorCisjaWYgUExBVEZPUk0oTUFDKSB8fCAoVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYg
UExBVEZPUk0oSU9TKSkKKyNpbmNsdWRlIDxJT0tpdC9wd3JfbWd0L0lPUE1MaWIuaD4KKyNlbHNl
CisjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKyNpbmNsdWRlIDxt
YWNoL2tlcm5fcmV0dXJuLmg+CisKK3N0YXRpYyBjb25zdCBDRlN0cmluZ1JlZiBrSU9QTUFzc2Vy
dGlvblR5cGVQcmV2ZW50VXNlcklkbGVEaXNwbGF5U2xlZXAgPSBDRlNUUigiUHJldmVudFVzZXJJ
ZGxlRGlzcGxheVNsZWVwIik7Cit0eXBlZGVmIGtlcm5fcmV0dXJuX3QgSU9SZXR1cm47Cit0eXBl
ZGVmIHVpbnQzMl90IElPUE1Bc3NlcnRpb25JRDsKKyNlbmRpZgorCitleHRlcm4gIkMiIHsKK0lP
UmV0dXJuIElPUE1Bc3NlcnRpb25DcmVhdGVXaXRoRGVzY3JpcHRpb24oQ0ZTdHJpbmdSZWYgYXNz
ZXJ0aW9uVHlwZSwgQ0ZTdHJpbmdSZWYgbmFtZSwgQ0ZTdHJpbmdSZWYgZGV0YWlscywKKyAgICBD
RlN0cmluZ1JlZiBodW1hblJlYWRhYmxlUmVhc29uLCBDRlN0cmluZ1JlZiBsb2NhbGl6YXRpb25C
dW5kbGVQYXRoLCBDRlRpbWVJbnRlcnZhbCB0aW1lb3V0LCBDRlN0cmluZ1JlZiB0aW1lb3V0QWN0
aW9uLCBJT1BNQXNzZXJ0aW9uSUQgKik7CitJT1JldHVybiBJT1BNQXNzZXJ0aW9uUmVsZWFzZShJ
T1BNQXNzZXJ0aW9uSUQpOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvY29jb2EvTlNGaWxlTWFuYWdlclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL2NvY29hL05TRmlsZU1hbmFnZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYjgyZGI0Njkw
NDBkNGNkOTRiN2Q2MjliNTEwY2QyMGIxYjAxNWU3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL05TRmlsZU1hbmFnZXJTUEkuaApAQCAtMCwwICsx
LDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0ZpbGVNYW5h
Z2VyX05TVVJMRXh0cmFzLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9u
Lmg+CisKKyNkZWZpbmUgV0VCX1VSRUFEICgwMDQwMCkKKyNkZWZpbmUgV0VCX1VXUklURSAoMDAy
MDApCisjZGVmaW5lIFdFQl9VRVhFQyAoMDAxMDApCisKK0BpbnRlcmZhY2UgTlNGaWxlTWFuYWdl
ciAoTlNGaWxlTWFuYWdlckRldGFpbHMpCistIChCT09MKV93ZWJfY3JlYXRlRmlsZUF0UGF0aFdp
dGhJbnRlcm1lZGlhdGVEaXJlY3RvcmllczooTlNTdHJpbmcgKilwYXRoIGNvbnRlbnRzOihOU0Rh
dGEgKiljb250ZW50cyBhdHRyaWJ1dGVzOihOU0RpY3Rpb25hcnkgKilhdHRyaWJ1dGVzIGRpcmVj
dG9yeUF0dHJpYnV0ZXM6KE5TRGljdGlvbmFyeSAqKWRpcmVjdG9yeUF0dHJpYnV0ZXM7CistIChC
T09MKV93ZWJfcmVtb3ZlRmlsZU9ubHlBdFBhdGg6KE5TU3RyaW5nICopcGF0aDsKKy0gKE5TU3Ry
aW5nICopX3dlYl9wYXRoV2l0aFVuaXF1ZUZpbGVuYW1lRm9yUGF0aDooTlNTdHJpbmcgKilwYXRo
OworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkv
Y29jb2EvTlNHZW9tZXRyeVNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29h
L05TR2VvbWV0cnlTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNzA5MTZmYTBjZjJhZDYyZTg2ZWE5NjFlMThl
OWJlZDBjMzIzZjkwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2NvY29hL05TR2VvbWV0cnlTUEkuaApAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBQTEFURk9STShNQUMpIHx8IChV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBQTEFURk9STShJT1MpKQorI2ltcG9ydCA8Rm91bmRh
dGlvbi9OU0dlb21ldHJ5Lmg+CisjZWxzZQorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHQmFzZS5o
PgorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHR2VvbWV0cnkuaD4KKyNpbXBvcnQgPEZvdW5kYXRp
b24vRm91bmRhdGlvbi5oPgorCit0eXBlZGVmIENHUG9pbnQgTlNQb2ludDsKK3R5cGVkZWYgQ0dS
ZWN0IE5TUmVjdDsKK3R5cGVkZWYgQ0dTaXplIE5TU2l6ZTsKKworQGludGVyZmFjZSBOU1ZhbHVl
IChOU1ZhbHVlR2VvbWV0cnlEZXRhaWxzKQorKyAoTlNWYWx1ZSAqKXZhbHVlV2l0aFBvaW50OihO
U1BvaW50KXBvaW50OworKyAoTlNWYWx1ZSAqKXZhbHVlV2l0aFNpemU6KE5TU2l6ZSlzaXplOwor
KyAoTlNWYWx1ZSAqKXZhbHVlV2l0aFJlY3Q6KE5TUmVjdClyZWN0OworCitAcHJvcGVydHkgKHJl
YWRvbmx5KSBOU1BvaW50IHBvaW50VmFsdWU7CitAcHJvcGVydHkgKHJlYWRvbmx5KSBOU1NpemUg
c2l6ZVZhbHVlOworQHByb3BlcnR5IChyZWFkb25seSkgTlNSZWN0IHJlY3RWYWx1ZTsKK0BlbmQK
KworRk9VTkRBVElPTl9FWFBPUlQgQk9PTCBOU0VxdWFsUG9pbnRzKE5TUG9pbnQsIE5TUG9pbnQp
OworRk9VTkRBVElPTl9FWFBPUlQgQk9PTCBOU0VxdWFsU2l6ZXMoTlNTaXplLCBOU1NpemUpOwor
Rk9VTkRBVElPTl9FWFBPUlQgQk9PTCBOU0VxdWFsUmVjdHMoTlNSZWN0LCBOU1JlY3QpOworRk9V
TkRBVElPTl9FWFBPUlQgQk9PTCBOU0lzRW1wdHlSZWN0KE5TUmVjdCk7CisKKyNkZWZpbmUgTlNN
aW5YRWRnZSBDR1JlY3RNaW5YRWRnZQorI2RlZmluZSBOU01pbllFZGdlIENHUmVjdE1pbllFZGdl
CisjZGVmaW5lIE5TTWF4WEVkZ2UgQ0dSZWN0TWF4WEVkZ2UKKyNkZWZpbmUgTlNNYXhZRWRnZSBD
R1JlY3RNYXhZRWRnZQorCit0eXBlZGVmIE5TVUludGVnZXIgTlNSZWN0RWRnZTsKKworTlNfSU5M
SU5FIE5TUG9pbnQgTlNNYWtlUG9pbnQoQ0dGbG9hdCB4LCBDR0Zsb2F0IHkpCit7CisgICAgTlNQ
b2ludCBwOworICAgIHAueCA9IHg7CisgICAgcC55ID0geTsKKyAgICByZXR1cm4gcDsKK30KKwor
TlNfSU5MSU5FIE5TU2l6ZSBOU01ha2VTaXplKENHRmxvYXQgdywgQ0dGbG9hdCBoKQoreworICAg
IE5TU2l6ZSBzOworICAgIHMud2lkdGggPSB3OworICAgIHMuaGVpZ2h0ID0gaDsKKyAgICByZXR1
cm4gczsKK30KKworTlNfSU5MSU5FIE5TUmVjdCBOU01ha2VSZWN0KENHRmxvYXQgeCwgQ0dGbG9h
dCB5LCBDR0Zsb2F0IHcsIENHRmxvYXQgaCkKK3sKKyAgICBOU1JlY3QgcjsKKyAgICByLm9yaWdp
bi54ID0geDsKKyAgICByLm9yaWdpbi55ID0geTsKKyAgICByLnNpemUud2lkdGggPSB3OworICAg
IHIuc2l6ZS5oZWlnaHQgPSBoOworICAgIHJldHVybiByOworfQorI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNQb2ludGVyRnVuY3Rpb25zU1BJ
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNQb2ludGVyRnVuY3Rpb25z
U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYmE5ODJjNmJhZTE1MDdkMTA0ZjFhMGU0MTUzZTMxZjllM2NjZTU2
YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9O
U1BvaW50ZXJGdW5jdGlvbnNTUEkuaApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBQTEFURk9STShNQUMpCisjaW1wb3J0
IDxGb3VuZGF0aW9uL05TUG9pbnRlckZ1bmN0aW9ucy5oPgorI2VsaWYgUExBVEZPUk0oSU9TKSAm
JiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1BvaW50ZXJG
dW5jdGlvbnNQcml2Lmg+CisjZWxzZQorZW51bSB7CisgICAgTlNQb2ludGVyRnVuY3Rpb25zWmVy
b2luZ1dlYWtNZW1vcnkgPSAxVUwgPDwgMCwKK307CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9keWxkU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvY29jb2EvZHlsZFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAyY2RhMWNjNTUyOGFiMTEx
ZTM4OTRhNTM4YWFjMjgzMjJiMmY4MzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY29jb2EvZHlsZFNQSS5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBkeWxkU1BJX2gK
KyNkZWZpbmUgZHlsZFNQSV9oCisKKyNpbmNsdWRlIDxtYWNoLW8vZHlsZC5oPgorCisjaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxtYWNoLW8vZHlsZF9wcml2Lmg+CisjZWxz
ZQorI2RlZmluZSBEWUxEX0lPU19WRVJTSU9OXzNfMCAweDAwMDMwMDAwCisjZGVmaW5lIERZTERf
SU9TX1ZFUlNJT05fNl8wIDB4MDAwNjAwMDA7CisjZGVmaW5lIERZTERfSU9TX1ZFUlNJT05fN18w
IDB4MDAwNzAwMDA7CisjZW5kaWYKKworZXh0ZXJuICJDIiB1aW50MzJfdCBkeWxkX2dldF9wcm9n
cmFtX3Nka192ZXJzaW9uKCk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NwaS9jdC9DVEZvbnREZXNjcmlwdG9yU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY3QvQ1RGb250RGVzY3JpcHRvclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxM2FhZjJkNTY5
MTdmZWM2YWE2MTE0NjJiNTVmNjlmN2ExNjExNDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcGkvY3QvQ1RGb250RGVzY3JpcHRvclNQSS5oCkBAIC0wLDAgKzEs
NTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lm
bmRlZiBDVEZvbnREZXNjcmlwdG9yU1BJX2gKKyNkZWZpbmUgQ1RGb250RGVzY3JpcHRvclNQSV9o
CisKKyNpbmNsdWRlIDxDb3JlVGV4dC9Db3JlVGV4dC5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbmNsdWRlIDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPgorI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShJT1MpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxMDAKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVT
aG9ydEhlYWRsaW5lIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKK2V4dGVybiBjb25zdCBDRlN0
cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEJvZHkgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3
XzApOworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0U3Vi
aGVhZCBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYg
a0NUVUlGb250VGV4dFN0eWxlU2hvcnRGb290bm90ZSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7
CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRDYXB0aW9u
MSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NU
VUlGb250VGV4dFN0eWxlVGFsbEJvZHkgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOworCitleHRl
cm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlSGVhZGxpbmUgQ1RfQVZBSUxB
QkxFKDEwXzEwLCA3XzApOworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRT
dHlsZUJvZHkgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOworZXh0ZXJuIGNvbnN0IENGU3RyaW5n
UmVmIGtDVFVJRm9udFRleHRTdHlsZVN1YmhlYWQgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOwor
ZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZUZvb3Rub3RlIENUX0FW
QUlMQUJMRSgxMF8xMCwgN18wKTsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRU
ZXh0U3R5bGVDYXB0aW9uMSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29uc3Qg
Q0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlQ2FwdGlvbjIgQ1RfQVZBSUxBQkxFKDEwXzEw
LCA3XzApOworCitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NURm9udERlc2NyaXB0b3JUZXh0
U3R5bGVFbXBoYXNpemVkIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKKyNlbmRpZgorCitleHRl
cm4gIkMiIHsKK0NURm9udERlc2NyaXB0b3JSZWYgQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdpdGhU
ZXh0U3R5bGUoQ0ZTdHJpbmdSZWYgc3R5bGUsIENGU3RyaW5nUmVmIHNpemUsIENGU3RyaW5nUmVm
IGxhbmd1YWdlKTsKK0NURm9udERlc2NyaXB0b3JSZWYgQ1RGb250RGVzY3JpcHRvckNyZWF0ZUZv
clVJVHlwZShDVEZvbnRVSUZvbnRUeXBlLCBDR0Zsb2F0IHNpemUsIENGU3RyaW5nUmVmIGxhbmd1
YWdlKTsKK2Jvb2wgQ1RGb250RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2NyaXB0
b3JSZWYpOworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jdC9DVEZvbnRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jdC9DVEZv
bnRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mZGNlOWUzZWRlNzcwYmI2ZTg5YzM4Nzg2MGU1ZDNhNTc0NTQ2
MGFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2N0L0NU
Rm9udFNQSS5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDVEZvbnRTUElfaAorI2RlZmluZSBDVEZvbnRTUElf
aAorCisjaW5jbHVkZSA8Q29yZVRleHQvQ29yZVRleHQuaD4KKworI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisjaW5jbHVkZSA8Q29yZVRleHQvQ1RGb250UHJpdi5oPgorI2Vsc2UKK2VudW0g
eworICAgIGtDVEZvbnRVSUZvbnRTeXN0ZW1JdGFsaWMgPSAyNywKKyAgICBrQ1RGb250VUlGb250
U3lzdGVtVGhpbiA9IDEwMiwKKyAgICBrQ1RGb250VUlGb250U3lzdGVtTGlnaHQgPSAxMDMsCisg
ICAga0NURm9udFVJRm9udFN5c3RlbVVsdHJhTGlnaHQgPSAxMDQsCit9OworI2VuZGlmCisKK2V4
dGVybiAiQyIgeworQ1RGb250UmVmIENURm9udENyZWF0ZVBoeXNpY2FsRm9udEZvckNoYXJhY3Rl
cnNXaXRoTGFuZ3VhZ2UoQ1RGb250UmVmLCBjb25zdCBVVEYxNkNoYXIqIGNoYXJhY3RlcnMsIENG
SW5kZXggbGVuZ3RoLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgQ0ZJbmRleCogY292ZXJlZExlbmd0
aCk7Citib29sIENURm9udElzQXBwbGVDb2xvckVtb2ppKENURm9udFJlZik7Citib29sIENURm9u
dERlc2NyaXB0b3JJc1N5c3RlbVVJRm9udChDVEZvbnREZXNjcmlwdG9yUmVmKTsKK0NURm9udFJl
ZiBDVEZvbnRDcmVhdGVGb3JDU1MoQ0ZTdHJpbmdSZWYgbmFtZSwgdWludDE2X3Qgd2VpZ2h0LCBD
VEZvbnRTeW1ib2xpY1RyYWl0cywgQ0dGbG9hdCBzaXplKTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2N1aS9DVUlDYXRhbG9nU1BJLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY3VpL0NVSUNhdGFsb2dTUEkuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
MzdiYjMzY2EyNDVjOWNiNzA3YzU3MjlkZmEwYzQ2OGFhYzc1OTFjCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2N1aS9DVUlDYXRhbG9nU1BJLmgKQEAgLTAs
MCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPENvcmVVSS9DVUlDYXRhbG9n
Lmg+CisjZWxzZQorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2ltcG9y
dCA8Q29yZVRleHQvQ29yZVRleHQuaD4KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5o
PgorQGNsYXNzIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvbjsKK0BpbnRlcmZhY2UgQ1VJQ2F0
YWxvZyA6IE5TT2JqZWN0CistIChCT09MKWRyYXdHbHlwaHM6KGNvbnN0IENHR2x5cGggW10pZ2x5
cGhzIGF0UG9zaXRpb25zOihjb25zdCBDR1BvaW50IFtdKXBvc2l0aW9ucyBpbkNvbnRleHQ6KENH
Q29udGV4dFJlZiljb250ZXh0IHdpdGhGb250OihDVEZvbnRSZWYpZm9udCBjb3VudDooTlNVSW50
ZWdlciljb3VudCBzdHlsZVByZXNldE5hbWU6KE5TU3RyaW5nICopc3R5bGVQcmVzZXROYW1lIHN0
eWxlQ29uZmlndXJhdGlvbjooQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uICopc3R5bGVDb25m
aWd1cmF0aW9uIGZvcmVncm91bmRDb2xvcjooQ0dDb2xvclJlZilmb3JlZ3JvdW5kQ29sb3I7CitA
ZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jdWkv
Q1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvY3VpL0NVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFh
OWEwNDBhNGNjNjg5Y2MwYzMzNzdlYmY4OGZhYzY4MWM3NDM2YmMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY3VpL0NVSVN0eWxlRWZmZWN0Q29uZmlndXJh
dGlvblNQSS5oCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxD
b3JlVUkvQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91
bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CitAaW50ZXJmYWNlIENVSVN0eWxlRWZmZWN0Q29uZmlndXJh
dGlvbiA6IE5TT2JqZWN0IDxOU0NvcHlpbmc+CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCB1
c2VTaW1wbGlmaWVkRWZmZWN0OworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvZGlzcGF0Y2gvRGlzcGF0Y2hTUEkuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9kaXNwYXRjaC9EaXNwYXRjaFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhZTUwNjg0
MGNkMDVlNTRlMDdhN2E5MDg3OGZjYTZlMWQ0Y2ZhYTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvZGlzcGF0Y2gvRGlzcGF0Y2hTUEkuaApAQCAtMCwwICsx
LDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisj
aWZuZGVmIERpc3BhdGNoU1BJX2gKKyNkZWZpbmUgRGlzcGF0Y2hTUElfaAorCisjaW5jbHVkZSA8
ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5j
bHVkZSA8ZGlzcGF0Y2gvcHJpdmF0ZS5oPgorI2Vsc2UKK2VudW0geworICAgIERJU1BBVENIX01F
TU9SWVNUQVRVU19QUkVTU1VSRV9OT1JNQUwgPSAweDAxLAorICAgIERJU1BBVENIX01FTU9SWVNU
QVRVU19QUkVTU1VSRV9XQVJOID0gMHgwMiwKKyAgICBESVNQQVRDSF9NRU1PUllTVEFUVVNfUFJF
U1NVUkVfQ1JJVElDQUwgPSAweDA0LAorfTsKKyNkZWZpbmUgRElTUEFUQ0hfU09VUkNFX1RZUEVf
TUVNT1JZU1RBVFVTICgmX2Rpc3BhdGNoX3NvdXJjZV90eXBlX21lbW9yeXN0YXR1cykKKyNlbmRp
ZgorCitESVNQQVRDSF9FWFBPUlQgY29uc3Qgc3RydWN0IGRpc3BhdGNoX3NvdXJjZV90eXBlX3Mg
X2Rpc3BhdGNoX3NvdXJjZV90eXBlX21lbW9yeXN0YXR1czsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEku
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvTVBBVlJvdXRpbmdDb250cm9sbGVy
U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMWRmNzkwNDJiMjQwZjAwMjIxYTlkZWQ1MTRjNDZlMTc0YzQ3OWEy
ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvTVBB
VlJvdXRpbmdDb250cm9sbGVyU1BJLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKKyNpbXBvcnQgPE1lZGlhUGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxlci5oPgorI2Vsc2UK
KyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorZW51bSB7CisgICAgTVBSb3V0ZURp
c2NvdmVyeU1vZGVQcmVzZW5jZSA9IDEsCit9OworCit0eXBlZGVmIE5TSW50ZWdlciBNUFJvdXRl
RGlzY292ZXJ5TW9kZTsKKworQGludGVyZmFjZSBNUEFWUm91dGluZ0NvbnRyb2xsZXIgOiBOU09i
amVjdAorQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgTVBSb3V0ZURpc2NvdmVyeU1vZGUg
ZGlzY292ZXJ5TW9kZTsKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aE5hbWU6KE5TU3RyaW5nICop
bmFtZTsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2lvcy9Nb2JpbGVHZXN0YWx0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkv
aW9zL01vYmlsZUdlc3RhbHRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTY3NDA1YjgwNTMzOGQ1ODJkZDM3
OTJhMjI0OTA3ODI2Mjk4ZmVjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL2lvcy9Nb2JpbGVHZXN0YWx0U1BJLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIE1vYmlsZUdl
c3RhbHRTUElfaAorI2RlZmluZSBNb2JpbGVHZXN0YWx0U1BJX2gKKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisjaW5jbHVkZSA8TW9iaWxlR2VzdGFsdC5oPgorI2Vsc2UKKyNpbmNsdWRl
IDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgorc3RhdGljIGNvbnN0IENGU3RyaW5n
UmVmIGtNR1FNYWluU2NyZWVuUGl0Y2ggPSBDRlNUUigibWFpbi1zY3JlZW4tcGl0Y2giKTsKK3N0
YXRpYyBjb25zdCBDRlN0cmluZ1JlZiBrTUdRTWFpblNjcmVlblNjYWxlID0gQ0ZTVFIoIm1haW4t
c2NyZWVuLXNjYWxlIik7CisjZW5kaWYKKworZXh0ZXJuICJDIiBDRlR5cGVSZWYgTUdDb3B5QW5z
d2VyKENGU3RyaW5nUmVmIHF1ZXN0aW9uLCBDRkRpY3Rpb25hcnlSZWYgb3B0aW9ucyk7CisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWNoLW8vZHlsZFNQ
SS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hY2gtby9keWxkU1BJLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZWIxM2RhMTIyNzIxMTE3YWY3N2ZhMjBkMThhMTkwZTBjMjhiY2RjOAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWNoLW8vZHlsZFNQSS5oCkBA
IC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpZm5kZWYgZHlsZFNQSV9oCisjZGVmaW5lIGR5bGRTUElfaAorCisjaW5jbHVkZSA8
bWFjaC1vL2R5bGQuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8
bWFjaC1vL2R5bGRfcHJpdi5oPgorI2Vsc2UKKyNkZWZpbmUgRFlMRF9JT1NfVkVSU0lPTl8zXzAg
MHgwMDAzMDAwMAorI2RlZmluZSBEWUxEX0lPU19WRVJTSU9OXzZfMCAweDAwMDYwMDAwOworI2Rl
ZmluZSBEWUxEX0lPU19WRVJTSU9OXzdfMCAweDAwMDcwMDAwOworI2VuZGlmCisKK2V4dGVybiAi
QyIgdWludDMyX3QgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOworCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tZWRpYXBsYXllci9NUEFWUm91
dGluZ0NvbnRyb2xsZXJTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tZWRpYXBs
YXllci9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTI0YWQxMDc2OGE4
NzJlOTRkYjE0ZjZiY2E5MTMyMjJkNzlhMTg2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL21lZGlhcGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5o
CkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8TWVkaWFQbGF5
ZXIvTVBBVlJvdXRpbmdDb250cm9sbGVyLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlvbi9G
b3VuZGF0aW9uLmg+CitlbnVtIHsKKyAgICBNUFJvdXRlRGlzY292ZXJ5TW9kZVByZXNlbmNlID0g
MSwKK307CisKK3R5cGVkZWYgTlNJbnRlZ2VyIE1QUm91dGVEaXNjb3ZlcnlNb2RlOworCitAaW50
ZXJmYWNlIE1QQVZSb3V0aW5nQ29udHJvbGxlciA6IE5TT2JqZWN0CitAcHJvcGVydHkgKG5vbmF0
b21pYywgYXNzaWduKSBNUFJvdXRlRGlzY292ZXJ5TW9kZSBkaXNjb3ZlcnlNb2RlOworLSAoaW5z
dGFuY2V0eXBlKWluaXRXaXRoTmFtZTooTlNTdHJpbmcgKiluYW1lOworQGVuZAorI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvcXVpY2tsb29rL1FMUHJldmll
d0NvbnZlcnRlclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL3F1aWNrbG9vay9R
TFByZXZpZXdDb252ZXJ0ZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTAxZDUxZjU0M2M3MThhMzc2NzE2
YTgxNzk1ZmJmZjUxYTNiN2YwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL3F1aWNrbG9vay9RTFByZXZpZXdDb252ZXJ0ZXJTUEkuaApAQCAtMCwwICsxLDQz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8UXVpY2tMb29rL1FMUHJldmlld0NvbnZl
cnRlci5oPgorI2Vsc2UKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCitAaW50
ZXJmYWNlIFFMUHJldmlld0NvbnZlcnRlciA6IE5TT2JqZWN0CitAcHJvcGVydHkgKHJlYWRvbmx5
LCBub25hdG9taWMpIE5TU3RyaW5nKiBwcmV2aWV3RmlsZU5hbWU7CitAcHJvcGVydHkgKHJlYWRv
bmx5LCBub25hdG9taWMpIE5TU3RyaW5nKiBwcmV2aWV3VVRJOworQHByb3BlcnR5IChyZWFkb25s
eSwgbm9uYXRvbWljKSBOU1VSTFJlcXVlc3QqIHByZXZpZXdSZXF1ZXN0OworQHByb3BlcnR5IChy
ZWFkb25seSwgbm9uYXRvbWljKSBOU1VSTFJlc3BvbnNlKiBwcmV2aWV3UmVzcG9uc2U7CistIChp
ZClpbml0V2l0aERhdGE6KE5TRGF0YSAqKWRhdGEgbmFtZTooTlNTdHJpbmcgKiluYW1lIHV0aToo
TlNTdHJpbmcgKil1dGkgb3B0aW9uczooTlNEaWN0aW9uYXJ5ICopb3B0aW9uczsKKy0gKGlkKWlu
aXRXaXRoQ29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkZWxlZ2F0ZToo
aWQpZGVsZWdhdGUgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZSBvcHRpb25zOihO
U0RpY3Rpb25hcnkgKilvcHRpb25zOworLSAoTlNVUkxSZXF1ZXN0ICopc2FmZVJlcXVlc3RGb3JS
ZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OworLSAodm9pZClhcHBlbmREYXRhQXJyYXk6
KE5TQXJyYXkgKilkYXRhQXJyYXk7CistICh2b2lkKWZpbmlzaGVkQXBwZW5kaW5nRGF0YTsKKy0g
KHZvaWQpZmluaXNoQ29udmVydGluZzsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL3F1aWNrbG9vay9RdWlja0xvb2tTUEkuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3NwaS9xdWlja2xvb2svUXVpY2tMb29rU1BJLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2QzNjdjYzJkYzQwYzNhYzhjOGFmMTUwNTUxMzVjNjQwNDMwYzg3ZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9xdWlja2xvb2svUXVpY2tMb29rU1BJLmgK
QEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFF1aWNrTG9vay9R
dWlja0xvb2tQcml2YXRlLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9u
Lmg+CisKK05TU2V0ICpRTFByZXZpZXdHZXRTdXBwb3J0ZWRNSU1FVHlwZXMoKTsKK05TU3RyaW5n
ICpRTFR5cGVDb3B5QmVzdE1pbWVUeXBlRm9yRmlsZU5hbWVBbmRNaW1lVHlwZShOU1N0cmluZyAq
ZmlsZU5hbWUsIE5TU3RyaW5nICptaW1lVHlwZSk7CitOU1N0cmluZyAqUUxUeXBlQ29weUJlc3RN
aW1lVHlwZUZvclVSTEFuZE1pbWVUeXBlKE5TVVJMICosIE5TU3RyaW5nICptaW1lVHlwZSk7CitO
U1N0cmluZyAqUUxUeXBlQ29weVVUSUZvclVSTEFuZE1pbWVUeXBlKE5TVVJMICosIE5TU3RyaW5n
ICptaW1lVHlwZSk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUlPUy5tbQppbmRleCBiZTE0NjdiOWI2MWVmMDNhNmJjZGQxMDYxMzhlYWIyMmRiOGFkNjQ2Li44
MzlhNjRjODZjNzhhZTBmZGU1YjczZTU2YTFiYzY4NjRiZWM4ZGVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCkBAIC0zMCw2ICszMCw3IEBACiAjaW1wb3J0
ICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2ltcG9ydCAiQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0
YS5oIgogI2ltcG9ydCAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgorI2ltcG9ydCAiQ1RGb250RGVzY3Jp
cHRvclNQSS5oIgogI2ltcG9ydCAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbXBvcnQgIkRvY3VtZW50
LmgiCiAjaW1wb3J0ICJGbG9hdFJvdW5kZWRSZWN0LmgiCkBAIC01OCw4ICs1OSw3IEBACiAjaW1w
b3J0ICJVc2VyQWdlbnRTY3JpcHRzLmgiCiAjaW1wb3J0ICJVc2VyQWdlbnRTdHlsZVNoZWV0cy5o
IgogI2ltcG9ydCAiV2ViQ29yZVRocmVhZFJ1bi5oIgotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NH
UGF0aFByaXZhdGUuaD4KLSNpbXBvcnQgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2Lmg+
CisjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CiAjaW1wb3J0IDxvYmpjL3J1
bnRpbWUuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3RmL1Jl
ZlB0ci5oPgpAQCAtODEsMTQgKzgxLDYgQEAgU09GVF9MSU5LX0NPTlNUQU5UKFVJS2l0LCBVSUNv
bnRlbnRTaXplQ2F0ZWdvcnlEaWRDaGFuZ2VOb3RpZmljYXRpb24sIENGU3RyaW5nUmUKIEBpbXBs
ZW1lbnRhdGlvbiBXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUKIEBlbmQKIAotLy8gVGhpcyBpcyBh
IHRlbXBvcmFyeSBoYWNrIHRvIGJ1aWxkIG9uIGlPUy4gU2hvdWxkIGJlIHJlbW92ZWQgYXMgc29v
biBhcyBDVCBmaXhlcyB0aGUgaGVhZGVyIGZpbGVzLgotZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVm
IGtDVFVJRm9udFRleHRTdHlsZVNob3J0SGVhZGxpbmUgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzAp
OwotZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0Qm9keSBD
VF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7Ci1leHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlG
b250VGV4dFN0eWxlU2hvcnRTdWJoZWFkIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKLWV4dGVy
biBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEZvb3Rub3RlIENUX0FW
QUlMQUJMRSgxMF8xMCwgN18wKTsKLWV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRU
ZXh0U3R5bGVTaG9ydENhcHRpb24xIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKLWV4dGVybiBj
b25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVUYWxsQm9keSBDVF9BVkFJTEFCTEUo
MTBfMTAsIDdfMCk7Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgZmxvYXQgQ29udHJv
bEJhc2VIZWlnaHQgPSAyMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0RPTS9XZWJE
T01PcGVyYXRpb25zUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRPTU9wZXJh
dGlvbnNQcml2YXRlLmgKaW5kZXggN2EwNjc2ZTNiZjU4NGJlM2Y1ZjdlZGUzMGVhYjgwY2NmMWEz
ODJmMC4uNDBlMDJhN2E5ODg4Y2M4MjYxMmFkOWUyNWM1NjNkYmNiOThkMDVlMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRlLmgKQEAgLTMwLDcg
KzMwLDcgQEAKICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0pTQmFzZS5oPgogCiAjaWYgVEFSR0VU
X09TX0lQSE9ORQotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CisjaW1wb3J0IDxX
ZWJDb3JlL05TR2VvbWV0cnlTUEkuaD4KICNlbHNlCiAjaW1wb3J0IDxBcHBLaXQvTlNFdmVudC5o
PgogI2ltcG9ydCA8V2ViS2l0TGVnYWN5L0RPTVdoZWVsRXZlbnQuaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0K
aW5kZXggYzVmOWUzYWQzNWRmODc5ZTlhZjM0ZTQ4YjYwYjU3YWE0YmVmMjg5My4uNWIxY2MyYjJh
MTllMGFlNTlmY2VmNjQ2YzExMjJhMDNlYWZjMDc0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0KKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0KQEAgLTE0
OSw4ICsxNDksOCBAQAogI2VuZGlmCiAKICNpZiBVU0UoUVVJQ0tfTE9PSykKLSNpbXBvcnQgPEZv
dW5kYXRpb24vTlNGaWxlTWFuYWdlcl9OU1VSTEV4dHJhcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9G
aWxlU3lzdGVtSU9TLmg+CisjaW1wb3J0IDxXZWJDb3JlL05TRmlsZU1hbmFnZXJTUEkuaD4KICNp
bXBvcnQgPFdlYkNvcmUvUXVpY2tMb29rLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0lPUy5oPgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlJlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlJlbmRlckxheWVyLmgKaW5kZXggNjdlNzdmMDI0Njc1NDM2NTAwOTBhNTFjOTkzYTg2MzI1YWIw
OTNiNC4uZjVhNDM5Y2MyZjE0MzhjNDlmMDI5MDFiMzk0Yjc2Mzk1ZWJlODczYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJSZW5kZXJMYXllci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUmVuZGVyTGF5ZXIuaApAQCAtMjYsNyArMjYsNyBAQAog
I2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAKICNpZiBUQVJHRVRfT1NfSVBIT05F
Ci0jaW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTlNH
ZW9tZXRyeVNQSS5oPgogI2VuZGlmCiAKIEBjbGFzcyBXZWJGcmFtZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQppbmRleCAzZjJmODdlMGY0OTgzMTNiYjc2NTE4NTAxOGViNTY1NzUz
YjBiMTdmLi5iMzA4MzVhNzJmYjVkOTU0YjBkYjZjNGFkZGIzYjc0NmE1OTBlYWU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yMjcsMTIgKzIyNywxMiBAQAogI2ltcG9y
dCAiV2ViVUlLaXRTdXBwb3J0LmgiCiAjaW1wb3J0ICJXZWJWaXNpYmxlUG9zaXRpb24uaCIKICNp
bXBvcnQgPENGTmV0d29yay9DRlVSTENhY2hlUHJpdi5oPgotI2ltcG9ydCA8TW9iaWxlR2VzdGFs
dC5oPgogI2ltcG9ydCA8V2ViQ29yZS9FdmVudE5hbWVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zv
bnRDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0ljb25Db250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xlZ2FjeVRpbGVDYWNo
ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9Nb2JpbGVHZXN0YWx0U1BJLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0lPUy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TUUxpdGVEYXRhYmFzZVRyYWNr
ZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvTmF0aXZlV2ViVG91
Y2hFdmVudElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvTmF0aXZlV2ViVG91Y2hF
dmVudElPUy5tbQppbmRleCA0YTFlZTQ5ZmM0NzRkODk2NTViYzViMGQ3OTdhNThkNTg1MTcyOGJi
Li4wZTg3MTZmNGZjMmY0M2YxM2U2NzQ2MjY1NzQ4YTY3MTAzZjBmZTk0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW0KKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9OYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1tCkBAIC0y
NywxMiArMjcsMTEgQEAKICNpbXBvcnQgIk5hdGl2ZVdlYlRvdWNoRXZlbnQuaCIKIAogI2lmIFBM
QVRGT1JNKElPUykKLQogI2ltcG9ydCAiV2ViRXZlbnQuaCIKLSNpbXBvcnQgPEZvdW5kYXRpb24v
TlNHZW9tZXRyeS5oPgogI2ltcG9ydCA8VUlLaXQvVUlUb3VjaC5oPgogI2ltcG9ydCA8VUlLaXQv
VUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lu
dFBvaW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL05TR2VvbWV0cnlTUEkuaD4KICNpbXBvcnQgPHd0
Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggM2E2YmNkNzU0NjA4MWI3
ZTY2OWRkMGM2YzM1MWUwNzU0NDVlMWU3Zi4uNzg4NzVlNTZkMDlkZDU4NmFkYzE2NDE4MmNkYjdm
NjE1ZjI2MDRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KQEAgLTg4LDcgKzg4LDYgQEAKICNpbXBvcnQgIldLU2Nyb2xsVmlldy5oIgog
I2ltcG9ydCAiV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkuaCIKICNpbXBvcnQgIldl
YlBhZ2VNZXNzYWdlcy5oIgotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHRmxvYXQuaD4KICNpbXBv
cnQgPENvcmVHcmFwaGljcy9DR1BERkRvY3VtZW50UHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlLaXQv
VUlBcHBsaWNhdGlvbi5oPgogI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgpAQCAt
OTYsNiArOTUsNyBAQAogI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9y
dCA8UXVhcnR6Q29yZS9DQVJlbmRlclNlcnZlci5oPgogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFy
dHpDb3JlUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9DR0Zsb2F0U1BJLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0luc3BlY3Rvck92ZXJsYXkuaD4KIAogQGludGVyZmFjZSBVSVNjcm9sbFZpZXcg
KFVJU2Nyb2xsVmlld0ludGVybmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9XZWJNZW1vcnlQcmVzc3VyZUhhbmRsZXJJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5tbQppbmRleCA1MjNkMGM4
ZjE0NjVlN2NiYTg0MTJkMjNiNDYwMmE5OWZhNzNhNjA0Li5iZGQyMzYzZTBiNjI5NDY0YmE5YWI0
ODk4MDdjZThiYWY2MTVhOTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5tbQpAQCAtMjksNyArMjks
NyBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9ydCAiVmlld1NuYXBzaG90U3RvcmUuaCIK
LSNpbXBvcnQgPGRpc3BhdGNoL3ByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRGlzcGF0Y2hT
UEkuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLm1tCmluZGV4IGQy
NWUyODdlNTM0ODM4ZDc2NThiNmE2ZTUwMmI2YTM4NGY0ZTYwZjQuLmQ5YzVjMWExNmFjYzg4M2Qx
M2NhODNlNDAwNTAwZjNmMjc5MmMwMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbQpAQCAtMzIsOSAr
MzIsOSBAQAogI2ltcG9ydCAiV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgiCiAjaW1wb3J0ICJX
ZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgPE1lZGlhUGxheWVyL01QQVZJdGVtLmg+Ci0jaW1wb3J0
IDxNZWRpYVBsYXllci9NUEFWUm91dGluZ0NvbnRyb2xsZXIuaD4KICNpbXBvcnQgPE1lZGlhUGxh
eWVyL01QQXVkaW9WaWRlb1JvdXRpbmdQb3BvdmVyQ29udHJvbGxlci5oPgogI2ltcG9ydCA8TWVk
aWFQbGF5ZXIvTVBBdWRpb1ZpZGVvUm91dGluZ0FjdGlvblNoZWV0Lmg+CisjaW1wb3J0IDxXZWJD
b3JlL01QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlu
a2luZy5oPgogI2ltcG9ydCA8VUlLaXQvVUlBcHBsaWNhdGlvbl9Qcml2YXRlLmg+CiAjaW1wb3J0
IDxVSUtpdC9VSVdpbmRvd19Qcml2YXRlLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMDA2NjBjMjEzZTY1YTY0OGUzOWMzNDk3MDgxY2U2
ZTMwZWRkYmE0ZC4uM2YxMmMxYjYwODU1ZWM2OTA0YWQ5MzRkMzVmMjliZWZkOWE2NmRiMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTkz
LDggKzE5Myw4IEBACiAjaW5jbHVkZSAiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaCIKICNp
bmNsdWRlICJXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLmgiCiAjaW5jbHVkZSA8Q29yZUdyYXBo
aWNzL0NvcmVHcmFwaGljcy5oPgotI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQ
cml2Lmg+Ci0jaW5jbHVkZSA8Q29yZVRleHQvQ1RGb250UHJpdi5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvQ1RGb250RGVzY3JpcHRvclNQSS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ1RGb250U1BJLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9JY29uLmg+CiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238066</attachid>
            <date>2014-09-12 15:28:21 -0700</date>
            <delta_ts>2014-09-15 12:14:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136487-20140912152817.patch</filename>
            <type>text/plain</type>
            <size>164914</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDBiNTZhYTVhNTYyMzky
MmNmNGMwMzM3NmUwNWM4NzM1NDllOWU5NC4uZGU0ODlmZTdlNjJmNGJhMWRlMGYyYjgxNTliMmVh
YjUxNjZlNjhjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDE0LTA5LTEyICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNYWtlIFdlYkNv
cmUgYnVpbGQgd2l0aCBwdWJsaWMgaU9TIFNESworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIGhlYWRlcnMgdGhhdCB3cmFwIE1hYyBhbmQgaU9TIFNQ
SXMgYW5kIHVwZGF0ZSBXZWJDb3JlIHNvdXJjZSBmaWxlcyB0byBpbmNsdWRlIHRoZXNlCisgICAg
ICAgIGhlYWRlcnMgaW5zdGVhZCBvZiB0aGUgY29ycmVzcG9uZGluZyBhY3R1YWwgU1BJIGhlYWRl
cihzKS4KKworICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAg
ICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAq
IFdlYkNvcmUudmN4cHJvai9XZWJDb3JlQ0cucHJvcHM6CisgICAgICAgICogV2ViQ29yZS52Y3hw
cm9qL2NvcHlGb3J3YXJkaW5nSGVhZGVycy5jbWQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwu
bW06CisgICAgICAgICogYnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5tbToKKyAgICAgICAgKiBl
ZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIubW06CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
aW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW06CisgICAgICAgICogcGxhdGZvcm0vY29jb2Ev
RGlzcGxheVNsZWVwRGlzYWJsZXJDb2NvYS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vY29jb2Ev
TWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvSW50UmVjdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRh
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NnL0JpdG1hcEltYWdlQ0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NnL0NvbG9yQ0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNz
Q29udGV4dENHLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJj
ZUNHLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdl
LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRh
Q29jb2EubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5t
bToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udFNlcnZpY2VzSU9TLm1tOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9TaW1wbGVGb250RGF0YUlPUy5tbToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9tYWMvR2x5cGhQYWdlVHJlZU5vZGVNYWMuY3BwOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByb3h5Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tOgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9MZWdhY3lUaWxlQ2FjaGUubW06CisgICAgICAgICogcGxhdGZvcm0vaW9zL0xlZ2FjeVRp
bGVHcmlkLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZFRpbGUubW06
CisgICAgICAgICogcGxhdGZvcm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0b3J5SU9TLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9pb3MvV2ViRXZlbnQubW06CisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy93YWsvV0FL
QXBwS2l0U3R1YnMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dBS1ZpZXcuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dLR3JhcGhpY3MuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3Mvd2FrL1dLR3JhcGhpY3MubW06CisgICAgICAgICogcGxhdGZvcm0vaW9zL3dhay9XZWJD
b3JlVGhyZWFkLm1tOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNrTG9vay5t
bToKKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2EvQ0FMYXllclNQSS5oOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9zcGkvY2EvQ0FUaWxlZExheWVyU1BJLmg6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL3NwaS9jZy9DR0NvbG9yVHJhbnNmb3JtU1BJLmg6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL3NwaS9jZy9DR0NvbnRleHRHU3RhdGVTUEkuaDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vc3BpL2NnL0NHQ29udGV4dFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9zcGkvY2cvQ0dGbG9hdFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2cv
Q0dGb250R2x5cGhTdXBwb3J0U1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9j
Zy9DR0ZvbnRJbmZvU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR0Zv
bnRSZW5kZXJpbmdTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NnL0NHRm9u
dFVuaWNvZGVTdXBwb3J0U1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZy9D
R0ltYWdlU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR1NSZWdpb25T
UEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29hL0Rpc3BhdGNoU1BJLmg6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9JT1BNTGliU1BJLmg6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9NYWNoVk1TUEkuaDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vc3BpL2NvY29hL05TRmlsZU1hbmFnZXJTUEkuaDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vc3BpL2NvY29hL05TR2VvbWV0cnlTUEkuaDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vc3BpL2NvY29hL05TUG9pbnRlckZ1bmN0aW9uc1NQSS5oOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9zcGkvY29jb2EvZHlsZFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9zcGkvaW9zL0FWUGxheWVyQ29udHJvbGxlclNQSS5oOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9zcGkvaW9zL0FWUGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vc3BpL2lvcy9BVlZhbHVlVGltaW5nU1BJLmg6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL3NwaS9pb3MvQVZWaWRlb0xheWVyU1BJLmg6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL3NwaS9pb3MvQ1RGb250RGVzY3JpcHRvclNQSS5oOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9zcGkvaW9zL0NURm9udFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9zcGkvaW9zL0NVSUNhdGFsb2dTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
c3BpL2lvcy9DVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEkuaDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vc3BpL2lvcy9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vc3BpL2lvcy9Nb2JpbGVHZXN0YWx0U1BJLmg6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL3NwaS9pb3MvUUxQcmV2aWV3Q29udmVydGVyU1BJLmg6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL3NwaS9pb3MvUXVpY2tMb29rU1BJLmg6IEFkZGVkLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbToKKwogMjAxNC0wOS0xMiAgQ29tbWl0IFF1
ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjE3MzU3NS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvaW9zL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvaW9zL0NoYW5nZUxvZwppbmRleCBmMDEyYWFhNzQwM2RlMzg5ZDgy
Mjg2YTQ1MDcyOTVjNzg2NWI5YTk4Li43MGRkNjcwODIyNTFjZjM5MjFlMjIyMzI3Zjc2Y2Y0YTk2
OTk5ZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2lvcy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9pb3MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTQtMDktMTIgIERh
bmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE1ha2UgV2Vi
Q29yZSBidWlsZCB3aXRoIHB1YmxpYyBpT1MgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTdWJzdGl0dXRlIDxXZWJDb3JlL0NHRmxvYXRTUEkuaD4g
Zm9yIDxDb3JlR3JhcGhpY3MvQ0dGbG9hdC5oPi4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkZpeGVkUG9zaXRpb25Db250ZW50Lm1tOgorCiAyMDE0LTA5LTA1ICBTaW1vbiBGcmFzZXIg
IDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBzb21lIFBMQVRGT1JN
KElPUykgY29kZSBpbiBDb2xvci5oL2NwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDhiOTZjMDM3Y2M4
OTVmNjZmMDI4NzFmNTc1N2I5OGEzNmQxNzY5OTQuLmMzMTBhMDNiZThhNDQ0YWMwMDdiNTlhNmRi
MmJhNTAyMWU2MGE3ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNC0w
OS0xMiAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10g
TWFrZSBXZWJDb3JlIGJ1aWxkIHdpdGggcHVibGljIGlPUyBTREsKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjQ4NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBXZWJLaXQxIHNvdXJjZSBmaWxl
cyB0byBpbmNsdWRlIHRoZSB3cmFwcGVyIFNQSSBoZWFkZXJzIGluc3RlYWQgb2YgdGhlIGNvcnJl
c3BvbmRpbmcKKyAgICAgICAgYWN0dWFsIFNQSSBoZWFkZXIocykuCisKKyAgICAgICAgKiBET00v
V2ViRE9NT3BlcmF0aW9uc1ByaXZhdGUuaDoKKyAgICAgICAgKiBNaWdyYXRlSGVhZGVycy5tYWtl
OiBNb2RpZmllZCB0byBvbmx5IG1vZGlmeSB0aGUgaW5jbHVkZSBwYXRoIG9mIGEgIjxXZWJDb3Jl
LyItcHJlZml4ZWQgaGVhZGVyCisgICAgICAgIGZpbGUgaWYgaXRzIGZpbGVuYW1lIGRvZXNuJ3Qg
ZW5kIGluICJTUEkuaCIgYXMgYW4gYWx0ZXJuYXRpdmUgdG8gaGF2aW5nIE1pZ3JhdGVIZWFkZXJz
Lm1ha2UgY29weQorICAgICAgICBzdWNoIGZpbGVzIGludG8gdGhlIFdlYktpdCBmcmFtZXdvcmsg
YXMgcHJpdmF0ZSBoZWFkZXJzLgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50Lm1tOgorICAgICAgICAqIFdlYkluc3BlY3Rvci9XZWJOb2RlSGlnaGxpZ2h0Lm1t
OgorICAgICAgICAqIFdlYlZpZXcvV2ViSW5kaWNhdGVMYXllci5tbToKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlJlbmRlckxheWVyLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorCiAy
MDE0LTA5LTEyICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTczNTc1LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGQyYmEz
NzNmYTE3YjY5ZTBjMDk5YzVhNDA1NzdjYTgzNzcyNzVhNTIuLjgzZjBmMGI0MTFmOTk4YTBmMzdh
OGVkNWM1OWU2MjI5OTlhZmI5ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNC0w
OS0xMiAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10g
TWFrZSBXZWJDb3JlIGJ1aWxkIHdpdGggcHVibGljIGlPUyBTREsKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjQ4NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBXZWJLaXQyIHNvdXJjZSBmaWxl
cyB0byBpbmNsdWRlIHRoZSB3cmFwcGVyIFNQSSBoZWFkZXJzIGluc3RlYWQgb2YgdGhlIGNvcnJl
c3BvbmRpbmcKKyAgICAgICAgYWN0dWFsIFNQSSBoZWFkZXIocykuCisKKyAgICAgICAgKiBQbGF0
Zm9ybS9tYWMvU2hhcmVkTWVtb3J5TWFjLmNwcDoKKyAgICAgICAgKiBTaGFyZWQvaW9zL05hdGl2
ZVdlYlRvdWNoRXZlbnRJT1MubW06CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZS5tbToKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVByb3Bl
cnR5QXBwbGllci5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLUERGUGFnZU51bWJlckluZGljYXRvci5tbToK
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5tbToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5tbToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLm1tOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKwogMjAxNC0wOS0xMiAgQ29tbWl0IFF1ZXVlICA8
Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjE3MzU3NS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qCmluZGV4IDkxN2M2ODhmZmVhOGMzOTU2MDJkNGZiZTQxMDllNTkwMTNlMmZkY2QuLmUy
OTAyODRlMmZhNWNjODlmNDc3MmQzN2NmYTJiMmM4MjU2MDQyOGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTk5MDcsNiArMTk5MDcs
MTIgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgPC9DdXN0b21CdWlsZFN0ZXA+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxzcGlcY2dcQ0dGb250UmVuZGVyaW5nU1BJLmgiPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdf
V2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAg
ICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXHNxbFxT
UUxpdGVEYXRhYmFzZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
c3FsXFNRTGl0ZURhdGFiYXNlVHJhY2tlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cc3FsXFNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oIiAvPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzCmluZGV4IDZkMTQ5ODgwNWNkMTc3Mjc4OGMyOGIxN2Q5ZmIzN2M5ZmI2MWU2ZDYuLjczYzc1
NGEyZGE4OTJlNDI5OTVmNzRkZTZmMjY1NGFlYzYyNjUyNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTEz
MCw2ICsxMzAsMTIgQEAKICAgICA8RmlsdGVyIEluY2x1ZGU9InBsYXRmb3JtXG5ldHdvcmtcY3Vy
bCI+CiAgICAgICA8VW5pcXVlSWRlbnRpZmllcj57YjU5MDMyMTQtY2JiMi00ZmFkLTlmZjAtMzkz
MGFhYTczM2Y2fTwvVW5pcXVlSWRlbnRpZmllcj4KICAgICA8L0ZpbHRlcj4KKyAgICA8RmlsdGVy
IEluY2x1ZGU9InBsYXRmb3JtXHNwaSI+CisgICAgICA8VW5pcXVlSWRlbnRpZmllcj57MjQ3YTRl
YTQtZGNiNS00ZGQwLTlkMGQtYmIxM2VjYjA4ZDU4fTwvVW5pcXVlSWRlbnRpZmllcj4KKyAgICA8
L0ZpbHRlcj4KKyAgICA8RmlsdGVyIEluY2x1ZGU9InBsYXRmb3JtXHNwaVxjZyI+CisgICAgICA8
VW5pcXVlSWRlbnRpZmllcj57YTJlOWExYTMtYzVjMy00MzMxLWFiMDEtMGQxMmZlYTk3OWU3fTwv
VW5pcXVlSWRlbnRpZmllcj4KKyAgICA8L0ZpbHRlcj4KICAgICA8RmlsdGVyIEluY2x1ZGU9InBs
YXRmb3JtXHNxbCI+CiAgICAgICA8VW5pcXVlSWRlbnRpZmllcj57ZjkzNWQ5M2MtNzM0Zi00ZjYx
LWEzMWYtYzNiOTYwZmM1YWZmfTwvVW5pcXVlSWRlbnRpZmllcj4KICAgICA8L0ZpbHRlcj4KQEAg
LTg4NzcsNiArODg4Myw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxu
ZXR3b3JrXGNmXExvYWRlclJ1bkxvb3BDRi5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cbmV0
d29ya1xjZjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccGxhdGZvcm1cc3BpXGNnXENHRm9udFJlbmRlcmluZ1NQSS5oIj4KKyAgICAgIDxGaWx0
ZXI+cGxhdGZvcm1cc3BpXGNnPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxzcWxcU1FMaXRlRGF0YWJhc2UuaCI+CiAgICAgICA8
RmlsdGVyPnBsYXRmb3JtXHNxbDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmVDRy5wcm9wcyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlQ0cucHJvcHMKaW5kZXggOGI4ZDRlNTYz
YTdhNWI1NmMzNDA2MTYyZGIzNTc2NTcyYzQ4ZTFjMy4uMTA2MjUxYmNkNmZjMzliMThlNDhhZGIx
ZDUyMDViYTk3ZmNlMDYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmVDRy5wcm9wcworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZUNHLnByb3BzCkBAIC01LDcgKzUsNyBAQAogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJ
dGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz4kKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcY2c7JChQ
cm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljc1xjZzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3Jp
ZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPEFkZGl0aW9uYWxJbmNs
dWRlRGlyZWN0b3JpZXM+JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGNnOyQoUHJv
amVjdERpcikuLlxwbGF0Zm9ybVxzcGlcY2c7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljc1xj
ZzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPkRJU0FCTEVfQ09SRUlNQUdF
O0RJU0FCTEVfRlJPTlRFTkQ7RElTQUJMRV9JT1NVUkZBQ0U7RElTQUJMRV9SRU5ERVJTRVJWRVI7
JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgogICAg
IDwvQ2xDb21waWxlPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovY29weUZvcndhcmRpbmdIZWFkZXJzLmNtZCBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9jb3B5Rm9yd2FyZGluZ0hlYWRlcnMuY21kCmlu
ZGV4IGZiZjY5ZjEzMDhiMzVmMjBlNjlhNmRlMzI3NzMyZjJjYjkwMTI0MWYuLjliYWFkN2QyNjU5
MzllNzg5MGQwMzkzNTM1YjdlNWFhYzA5YzA2N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9jb3B5Rm9yd2FyZGluZ0hlYWRlcnMuY21kCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9jb3B5Rm9yd2FyZGluZ0hlYWRlcnMuY21kCkBAIC02NSw2
ICs2NSw3IEBAIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxwbGF0Zm9ybVx0ZXh0XHRyYW5z
Y29kZXJcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJCiB4Y29weSAveSAvZCAiJVByb2plY3RE
aXIlLi5ccGxhdGZvcm1cd2luXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVc
V2ViQ29yZSIKIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxwbGF0Zm9ybVxuZXR3b3JrXCou
aCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKIHhjb3B5IC95IC9k
ICIlUHJvamVjdERpciUuLlxwbGF0Zm9ybVxuZXR3b3JrXCUyXCouaCIgIiVDT05GSUdVUkFUSU9O
QlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKK3hjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxw
bGF0Zm9ybVxzcGlcY2dcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVkZVxXZWJD
b3JlIgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXHBsYXRmb3JtXHNxbFwqLmgiICIlQ09O
RklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCiB4Y29weSAveSAvZCAiJVByb2pl
Y3REaXIlLi5ccGxhdGZvcm1cY2Fpcm9cY2Fpcm9cc3JjXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJ
TERESVIlXGluY2x1ZGVcV2ViQ29yZSIKIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxiaW5k
aW5nc1wqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
OTU5YTI0MjNhNmQ2Njk3MzczYTg0M2NlZDA0NzdmMDUyNWM2NmMwNy4uOWZiYjVkOWRjODEyZGJj
NmNhODI3NjFjNTdkNjJlNzlkNTdlYjAzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTcyMywxNSArNTcyMyw0NyBAQAogCQlD
REZDMzYwNzE4Q0E2OTZDMDAyNkU1NkYgLyogUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RGQzM2MDIxOENB
NjE2MzAwMjZFNTZGIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbSAqLzsgfTsKIAkJQ0Uw
NTdGQTUxMjIwNzMxMTAwQTQ3NkQ1IC8qIERvY3VtZW50TWFya2VyQ29udHJvbGxlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTA1N0ZBMzEyMjA3
MzExMDBBNDc2RDUgLyogRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcCAqLzsgfTsKIAkJQ0Uw
NTdGQTYxMjIwNzMxMTAwQTQ3NkQ1IC8qIERvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UwNTdGQTQxMjIwNzMx
MTAwQTQ3NkQ1IC8qIERvY3VtZW50TWFya2VyQ29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFMDhBQzU2MTlDMjAyQjcwMDY0NDg0
MyAvKiBNYWNoVk1TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENFMDhBQzU1MTlDMjAyQUYwMDY0NDg0MyAvKiBNYWNoVk1TUEkuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTA4QzNEMTE1MkI1OTlB
MDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTA4QzNDRjE1MkI1OTlBMDAyMUI4QzIg
LyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAgKi87IH07CiAJCUNFMDhDM0QyMTUyQjU5
OUEwMDIxQjhDMiAvKiBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTA4QzNEMDE1MkI1OTlBMDAyMUI4QzIg
LyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKCk7IH07IH07CisJCUNFNEY2RDM0MTlCNzc0RjYwMEJGQzY0QSAvKiBDQUxheWVyU1BJLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzMjE5
Qjc3NEY2MDBCRkM2NEEgLyogQ0FMYXllclNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDQ0MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0Zs
b2F0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RTRGNkQzQTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGbG9hdFNQSS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDY0MTlCNzc1RjgwMEJGQzY0
QSAvKiBEaXNwYXRjaFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0U0RjZENUYxOUI3NzVGODAwQkZDNjRBIC8qIERpc3BhdGNoU1BJLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U0RjZENjcxOUI3
NzVGODAwQkZDNjRBIC8qIE5TR2VvbWV0cnlTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDYyMTlCNzc1RjgwMEJGQzY0QSAvKiBOU0dlb21l
dHJ5U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJQ0U2NTBEQUMxOUJBRDEzQzAwNjEzNTE4IC8qIENURm9udERlc2NyaXB0b3JTUEkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDRDMTlCNzc1
N0IwMEJGQzY0QSAvKiBDVEZvbnREZXNjcmlwdG9yU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U2NTBEQUQxOUJBRDE0NDAwNjEzNTE4IC8q
IENURm9udFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0U0RjZENEQxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9udFNQSS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNjUwREFFMTlCQUQxNTgwMDYx
MzUxOCAvKiBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDUzMTlCNzc1N0IwMEJGQzY0QSAvKiBNUEFW
Um91dGluZ0NvbnRyb2xsZXJTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlDRTY1MERBRjE5QkFEMTg0MDA2MTM1MTggLyogTW9iaWxlR2VzdGFs
dFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0
RjZENTIxOUI3NzU3QjAwQkZDNjRBIC8qIE1vYmlsZUdlc3RhbHRTUEkuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTY1MERCMDE5QkFEMUI0MDA2
MTM1MTggLyogTlNGaWxlTWFuYWdlclNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENjExOUI3NzVGODAwQkZDNjRBIC8qIE5TRmlsZU1hbmFn
ZXJTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlDRTY1MERCMTE5QkI2MDNFMDA2MTM1MTggLyogQ0dDb250ZXh0U1BJLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzOTE5Qjc3NTEyMDBCRkM2
NEEgLyogQ0dDb250ZXh0U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQ0U2NTBEQjIxOUJCNjA0NTAwNjEzNTE4IC8qIENHQ29udGV4dEdTdGF0
ZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0
RjZEMzgxOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29udGV4dEdTdGF0ZVNQSS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNjUwREIzMTlCQjYwREQw
MDYxMzUxOCAvKiBDR0ZvbnRSZW5kZXJpbmdTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDNEMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRS
ZW5kZXJpbmdTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlDRTdCMkRCMzE1ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlDb250
cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RTdCMkRBRjE1ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0U3QjJE
QjQxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREIwMTU4NkFC
QUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0gKi87IH07CiAJCUNF
N0IyREI1MTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREIxMTU4NkFC
QUQwMDk4QjNGQSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTdCMkRCNjE1ODZBQkFEMDA5OEIz
RkEgLyogVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U3QjJEQjIxNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRB
bHRlcm5hdGl2ZVdpdGhSYW5nZS5tbSAqLzsgfTsKLQkJQ0U4MjQ1RjAxOUI2NzFCQTAwQUMwMTIy
IC8qIENGTmV0d29ya0Nvbm5lY3Rpb25DYWNoZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U4MjQ1RUYxOUI2NzFCQTAwQUMwMTIyIC8qIENGTmV0
d29ya0Nvbm5lY3Rpb25DYWNoZVNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUNFODI0NUYyMTlCNjcxRDUwMEFDMDEyMiAvKiBDRlVSTFJlcXVl
c3RTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENF
ODI0NUYxMTlCNjcxRDUwMEFDMDEyMiAvKiBDRlVSTFJlcXVlc3RTUEkuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTk1MjA4QTE4MTFCNDc1MDA3
QTUzOTIgLyogV2ViU2FmZUluY3JlbWVudGFsU3dlZXBlcklPUy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJDNENCMUQxNjFBMTMxMjAwRDIxNERBIC8q
IFdlYlNhZmVJbmNyZW1lbnRhbFN3ZWVwZXJJT1MuaCAqLzsgfTsKKwkJQ0VBQTY5M0ExOUMzNUJD
NDAwQzRGN0JGIC8qIENBVGlsZWRMYXllclNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEMzMxOUI3NzRGNjAwQkZDNjRBIC8qIENBVGlsZWRM
YXllclNQSS5oICovOyB9OworCQlDRUFBNjkzQjE5QzM1QzBGMDBDNEY3QkYgLyogQ0ZMb2NhbGVT
UEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1MDg2
REE3MTlBQzE3MTkwMDlBRjQ2QiAvKiBDRkxvY2FsZVNQSS5oICovOyB9OworCQlDRUFBNjkzQzE5
QzM1QzEzMDBDNEY3QkYgLyogQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTgyNDVFRjE5QjY3MUJBMDBB
QzAxMjIgLyogQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmggKi87IH07CisJCUNFQUE2OTNE
MTlDMzVDMUIwMEM0RjdCRiAvKiBDR0NvbG9yVHJhbnNmb3JtU1BJLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzNzE5Qjc3NTEyMDBCRkM2NEEg
LyogQ0dDb2xvclRyYW5zZm9ybVNQSS5oICovOyB9OworCQlDRUFBNjkzRTE5QzM1QzIyMDBDNEY3
QkYgLyogQ0dGb250R2x5cGhTdXBwb3J0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzQjE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250R2x5
cGhTdXBwb3J0U1BJLmggKi87IH07CisJCUNFQUE2OTNGMTlDMzVDMjUwMEM0RjdCRiAvKiBDR0Zv
bnRJbmZvU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRTRGNkQzQzE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250SW5mb1NQSS5oICovOyB9OworCQlD
RUFBNjk0MDE5QzM1QzJBMDBDNEY3QkYgLyogQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDNFMTlCNzc1
MTIwMEJGQzY0QSAvKiBDR0ZvbnRVbmljb2RlU3VwcG9ydFNQSS5oICovOyB9OworCQlDRUFBNjk0
MTE5QzM1QzJDMDBDNEY3QkYgLyogQ0dJbWFnZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEM0YxOUI3NzUxMjAwQkZDNjRBIC8qIENHSW1h
Z2VTUEkuaCAqLzsgfTsKKwkJQ0VBQTY5NDIxOUMzNUMyRjAwQzRGN0JGIC8qIENHU1JlZ2lvblNQ
SS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZE
NDAxOUI3NzUxMjAwQkZDNjRBIC8qIENHU1JlZ2lvblNQSS5oICovOyB9OworCQlDRUFBNjk0MzE5
QzM1QzM4MDBDNEY3QkYgLyogZHlsZFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENjAxOUI3NzVGODAwQkZDNjRBIC8qIGR5bGRTUEkuaCAq
LzsgfTsKKwkJQ0VBQTY5NDQxOUMzNUMzQjAwQzRGN0JGIC8qIElPUE1MaWJTUEkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDY5MTlCNzg1NEUw
MEJGQzY0QSAvKiBJT1BNTGliU1BJLmggKi87IH07CisJCUNFQUE2OTQ1MTlDMzVDNDcwMEM0RjdC
RiAvKiBOU1BvaW50ZXJGdW5jdGlvbnNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDYzMTlCNzc1RjgwMEJGQzY0QSAvKiBOU1BvaW50ZXJG
dW5jdGlvbnNTUEkuaCAqLzsgfTsKKwkJQ0VBQTY5NDYxOUMzNUM0RjAwQzRGN0JGIC8qIEFWUGxh
eWVyQ29udHJvbGxlclNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0U0RjZEMjkxOUI3NzRENTAwQkZDNjRBIC8qIEFWUGxheWVyQ29udHJvbGxlclNQ
SS5oICovOyB9OworCQlDRUFBNjk0NzE5QzM1QzUxMDBDNEY3QkYgLyogQVZQbGF5ZXJWaWV3Q29u
dHJvbGxlclNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0U0RjZEMkExOUI3NzRENTAwQkZDNjRBIC8qIEFWUGxheWVyVmlld0NvbnRyb2xsZXJTUEku
aCAqLzsgfTsKKwkJQ0VBQTY5NDgxOUMzNUM1MzAwQzRGN0JGIC8qIEFWVmFsdWVUaW1pbmdTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDJC
MTlCNzc0RDUwMEJGQzY0QSAvKiBBVlZhbHVlVGltaW5nU1BJLmggKi87IH07CisJCUNFQUE2OTQ5
MTlDMzVDNTYwMEM0RjdCRiAvKiBBVlZpZGVvTGF5ZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDJDMTlCNzc0RDUwMEJGQzY0QSAvKiBB
VlZpZGVvTGF5ZXJTUEkuaCAqLzsgfTsKKwkJQ0VBQTY5NEExOUMzNUM1QjAwQzRGN0JGIC8qIENV
SUNhdGFsb2dTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENFNEY2RDRGMTlCNzc1N0IwMEJGQzY0QSAvKiBDVUlDYXRhbG9nU1BJLmggKi87IH07CisJ
CUNFQUE2OTRCMTlDMzVDNUUwMEM0RjdCRiAvKiBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25T
UEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2
RDUwMTlCNzc1N0IwMEJGQzY0QSAvKiBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEkuaCAq
LzsgfTsKKwkJQ0VBQTY5NEMxOUMzNUM2MzAwQzRGN0JGIC8qIFFMUHJldmlld0NvbnZlcnRlclNQ
SS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZE
NTUxOUI3NzU3QjAwQkZDNjRBIC8qIFFMUHJldmlld0NvbnZlcnRlclNQSS5oICovOyB9OworCQlD
RUFBNjk0RDE5QzM1QzY1MDBDNEY3QkYgLyogUXVpY2tMb29rU1BJLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ1NjE5Qjc3NTdCMDBCRkM2NEEg
LyogUXVpY2tMb29rU1BJLmggKi87IH07CiAJCUNFQ0FERkM2MTUzNzc4RkYwMEUzNzA2OCAvKiBE
aWN0YXRpb25BbHRlcm5hdGl2ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRUNBREZDMjE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQWx0ZXJu
YXRpdmUuY3BwICovOyB9OwogCQlDRUNBREZDNzE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9u
QWx0ZXJuYXRpdmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENFQ0FERkMzMTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25BbHRlcm5hdGl2ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNFQ0FERkM4
MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25Db21tYW5kLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFQ0FERkM0MTUzNzc4RkYwMEUzNzA2OCAv
KiBEaWN0YXRpb25Db21tYW5kLmNwcCAqLzsgfTsKQEAgLTEzMTc4LDggKzEzMjEwLDM5IEBACiAJ
CUNERkMzNjA0MThDQTYxQzIwMDI2RTU2RiAvKiBSZW1vdGVDb21tYW5kTGlzdGVuZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlQ29tbWFuZExpc3RlbmVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFMDU3RkEzMTIyMDczMTEwMEE0NzZENSAvKiBE
b2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0UwNTdGQTQxMjIwNzMxMTAwQTQ3NkQ1IC8qIERvY3VtZW50TWFya2VyQ29u
dHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEb2N1bWVudE1hcmtl
ckNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0UwOEFDNTUxOUMy
MDJBRjAwNjQ0ODQzIC8qIE1hY2hWTVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYWNoVk1TUEkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0UwOEMzQ0YxNTJCNTk5QTAwMjFCOEMyIC8q
IEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNFMDhDM0QwMTUyQjU5OUEwMDIxQjhDMiAvKiBBbHRlcm5hdGl2ZVRl
eHRDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFsdGVybmF0
aXZlVGV4dENvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZE
MjkxOUI3NzRENTAwQkZDNjRBIC8qIEFWUGxheWVyQ29udHJvbGxlclNQSS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBVlBsYXllckNvbnRyb2xsZXJTUEkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEMkExOUI3NzRENTAwQkZDNjRBIC8qIEFWUGxheWVy
Vmlld0NvbnRyb2xsZXJTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVZQ
bGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
RTRGNkQyQjE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZWYWx1ZVRpbWluZ1NQSS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBVlZhbHVlVGltaW5nU1BJLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNFNEY2RDJDMTlCNzc0RDUwMEJGQzY0QSAvKiBBVlZpZGVvTGF5ZXJT
UEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVZWaWRlb0xheWVyU1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDMyMTlCNzc0RjYwMEJGQzY0QSAv
KiBDQUxheWVyU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENBTGF5ZXJT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEMzMxOUI3NzRGNjAwQkZD
NjRBIC8qIENBVGlsZWRMYXllclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDQVRpbGVkTGF5ZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZE
MzcxOUI3NzUxMjAwQkZDNjRBIC8qIENHQ29sb3JUcmFuc2Zvcm1TUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ0dDb2xvclRyYW5zZm9ybVNQSS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDRTRGNkQzODE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0R1N0
YXRlU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHQ29udGV4dEdTdGF0
ZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzOTE5Qjc3NTEyMDBC
RkM2NEEgLyogQ0dDb250ZXh0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENHQ29udGV4dFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzQTE5
Qjc3NTEyMDBCRkM2NEEgLyogQ0dGbG9hdFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDR0Zsb2F0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2
RDNCMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0dGb250R2x5cGhTdXBwb3J0U1BJLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDNDMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRJ
bmZvU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHRm9udEluZm9TUEku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEM0QxOUI3NzUxMjAwQkZDNjRB
IC8qIENHRm9udFJlbmRlcmluZ1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDR0ZvbnRSZW5kZXJpbmdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0
RjZEM0UxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udFVuaWNvZGVTdXBwb3J0U1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHRm9udFVuaWNvZGVTdXBwb3J0U1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDNGMTlCNzc1MTIwMEJGQzY0QSAvKiBD
R0ltYWdlU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHSW1hZ2VTUEku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENDAxOUI3NzUxMjAwQkZDNjRB
IC8qIENHU1JlZ2lvblNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDR1NS
ZWdpb25TUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENEMxOUI3NzU3
QjAwQkZDNjRBIC8qIENURm9udERlc2NyaXB0b3JTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ1RGb250RGVzY3JpcHRvclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDRTRGNkQ0RDE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RGb250U1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENURm9udFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDRTRGNkQ0RjE5Qjc3NTdCMDBCRkM2NEEgLyogQ1VJQ2F0YWxvZ1NQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDVUlDYXRhbG9nU1BJLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDUwMTlCNzc1N0IwMEJGQzY0QSAvKiBDVUlTdHls
ZUVmZmVjdENvbmZpZ3VyYXRpb25TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNFNEY2RDUyMTlCNzc1N0IwMEJGQzY0QSAvKiBNb2JpbGVHZXN0YWx0U1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vYmlsZUdlc3RhbHRTUEkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENTMxOUI3NzU3QjAwQkZDNjRBIC8qIE1Q
QVZSb3V0aW5nQ29udHJvbGxlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0U0RjZENTUxOUI3NzU3QjAwQkZDNjRBIC8qIFFMUHJldmlld0NvbnZlcnRlclNQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBRTFByZXZpZXdDb252ZXJ0ZXJTUEkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENTYxOUI3NzU3QjAwQkZDNjRBIC8q
IFF1aWNrTG9va1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBRdWlja0xv
b2tTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENUYxOUI3NzVGODAw
QkZDNjRBIC8qIERpc3BhdGNoU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERpc3BhdGNoU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDYwMTlC
Nzc1RjgwMEJGQzY0QSAvKiBkeWxkU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IGR5bGRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENjExOUI3
NzVGODAwQkZDNjRBIC8qIE5TRmlsZU1hbmFnZXJTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTlNGaWxlTWFuYWdlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDRTRGNkQ2MjE5Qjc3NUY4MDBCRkM2NEEgLyogTlNHZW9tZXRyeVNQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0dlb21ldHJ5U1BJLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNFNEY2RDYzMTlCNzc1RjgwMEJGQzY0QSAvKiBOU1BvaW50ZXJGdW5j
dGlvbnNTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNQb2ludGVyRnVu
Y3Rpb25zU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDY5MTlCNzg1
NEUwMEJGQzY0QSAvKiBJT1BNTGliU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IElPUE1MaWJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U1Q0IxQjMx
NEVEQUI2RjAwQkIyNzk1IC8qIEV2ZW50U2VuZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEV2ZW50U2VuZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNF
NkQ4OTI5NEM3QUFDRTBBRDg5QjNERCAvKiBNYXRoTUxNZW5jbG9zZUVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MTWVuY2xvc2VFbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFN0IyREFGMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRl
cm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmg7IHBhdGggPSBtYWMvQWx0ZXJuYXRpdmVU
ZXh0VUlDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjEzNSw4
ICsxNjE5OCwxMSBAQAogCQk2NTNFRjgzNjE5QTA0M0FFMDA1MjIwMkMgLyogc3BpICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDRTRGNkQzMTE5Qjc3NEY2
MDBCRkM2NEEgLyogY2EgKi8sCiAJCQkJNjUwODZEQTYxOUFDMTcxOTAwOUFGNDZCIC8qIGNmICov
LAorCQkJCUNFNEY2RDM2MTlCNzc1MTIwMEJGQzY0QSAvKiBjZyAqLywKIAkJCQk2NTNFRjgzNzE5
QTA0M0FFMDA1MjIwMkMgLyogY29jb2EgKi8sCisJCQkJQ0U0RjZENTExOUI3NzU3QjAwQkZDNjRB
IC8qIGlvcyAqLywKIAkJCSk7CiAJCQlwYXRoID0gc3BpOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKQEAgLTE2MTQ0LDYgKzE2MjEwLDEzIEBACiAJCTY1M0VGODM3MTlBMDQzQUUwMDUyMjAy
QyAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJQ0U0RjZENUYxOUI3NzVGODAwQkZDNjRBIC8qIERpc3BhdGNoU1BJLmggKi8sCisJCQkJQ0U0
RjZENjAxOUI3NzVGODAwQkZDNjRBIC8qIGR5bGRTUEkuaCAqLywKKwkJCQlDRTRGNkQ2OTE5Qjc4
NTRFMDBCRkM2NEEgLyogSU9QTUxpYlNQSS5oICovLAorCQkJCUNFMDhBQzU1MTlDMjAyQUYwMDY0
NDg0MyAvKiBNYWNoVk1TUEkuaCAqLywKKwkJCQlDRTRGNkQ2MTE5Qjc3NUY4MDBCRkM2NEEgLyog
TlNGaWxlTWFuYWdlclNQSS5oICovLAorCQkJCUNFNEY2RDYyMTlCNzc1RjgwMEJGQzY0QSAvKiBO
U0dlb21ldHJ5U1BJLmggKi8sCisJCQkJQ0U0RjZENjMxOUI3NzVGODAwQkZDNjRBIC8qIE5TUG9p
bnRlckZ1bmN0aW9uc1NQSS5oICovLAogCQkJCTY1M0VGODM4MTlBMDQzQUUwMDUyMjAyQyAvKiBO
U1VSTEZpbGVUeXBlTWFwcGluZ3NTUEkuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gY29jb2E7CkBA
IC0yMTUzOSw2ICsyMTYxMiw1MSBAQAogCQkJcGF0aCA9IGlvczsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CiAJCX07CisJCUNFNEY2RDMxMTlCNzc0RjYwMEJGQzY0QSAvKiBjYSAqLyA9IHsK
KwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQ0U0RjZEMzIxOUI3NzRG
NjAwQkZDNjRBIC8qIENBTGF5ZXJTUEkuaCAqLywKKwkJCQlDRTRGNkQzMzE5Qjc3NEY2MDBCRkM2
NEEgLyogQ0FUaWxlZExheWVyU1BJLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNhOworCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQ0U0RjZEMzYxOUI3NzUxMjAwQkZDNjRBIC8q
IGNnICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDRTRG
NkQzNzE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb2xvclRyYW5zZm9ybVNQSS5oICovLAorCQkJCUNF
NEY2RDM4MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0NvbnRleHRHU3RhdGVTUEkuaCAqLywKKwkJCQlD
RTRGNkQzOTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0U1BJLmggKi8sCisJCQkJQ0U0RjZE
M0ExOUI3NzUxMjAwQkZDNjRBIC8qIENHRmxvYXRTUEkuaCAqLywKKwkJCQlDRTRGNkQzQjE5Qjc3
NTEyMDBCRkM2NEEgLyogQ0dGb250R2x5cGhTdXBwb3J0U1BJLmggKi8sCisJCQkJQ0U0RjZEM0Mx
OUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEluZm9TUEkuaCAqLywKKwkJCQlDRTRGNkQzRDE5Qjc3
NTEyMDBCRkM2NEEgLyogQ0dGb250UmVuZGVyaW5nU1BJLmggKi8sCisJCQkJQ0U0RjZEM0UxOUI3
NzUxMjAwQkZDNjRBIC8qIENHRm9udFVuaWNvZGVTdXBwb3J0U1BJLmggKi8sCisJCQkJQ0U0RjZE
M0YxOUI3NzUxMjAwQkZDNjRBIC8qIENHSW1hZ2VTUEkuaCAqLywKKwkJCQlDRTRGNkQ0MDE5Qjc3
NTEyMDBCRkM2NEEgLyogQ0dTUmVnaW9uU1BJLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGNnOwor
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQ0U0RjZENTExOUI3NzU3QjAwQkZD
NjRBIC8qIGlvcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJ
CQkJQ0U0RjZEMjkxOUI3NzRENTAwQkZDNjRBIC8qIEFWUGxheWVyQ29udHJvbGxlclNQSS5oICov
LAorCQkJCUNFNEY2RDJBMTlCNzc0RDUwMEJGQzY0QSAvKiBBVlBsYXllclZpZXdDb250cm9sbGVy
U1BJLmggKi8sCisJCQkJQ0U0RjZEMkIxOUI3NzRENTAwQkZDNjRBIC8qIEFWVmFsdWVUaW1pbmdT
UEkuaCAqLywKKwkJCQlDRTRGNkQyQzE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZWaWRlb0xheWVyU1BJ
LmggKi8sCisJCQkJQ0U0RjZENEMxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9udERlc2NyaXB0b3JT
UEkuaCAqLywKKwkJCQlDRTRGNkQ0RDE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RGb250U1BJLmggKi8s
CisJCQkJQ0U0RjZENEYxOUI3NzU3QjAwQkZDNjRBIC8qIENVSUNhdGFsb2dTUEkuaCAqLywKKwkJ
CQlDRTRGNkQ1MDE5Qjc3NTdCMDBCRkM2NEEgLyogQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9u
U1BJLmggKi8sCisJCQkJQ0U0RjZENTIxOUI3NzU3QjAwQkZDNjRBIC8qIE1vYmlsZUdlc3RhbHRT
UEkuaCAqLywKKwkJCQlDRTRGNkQ1MzE5Qjc3NTdCMDBCRkM2NEEgLyogTVBBVlJvdXRpbmdDb250
cm9sbGVyU1BJLmggKi8sCisJCQkJQ0U0RjZENTUxOUI3NzU3QjAwQkZDNjRBIC8qIFFMUHJldmll
d0NvbnZlcnRlclNQSS5oICovLAorCQkJCUNFNEY2RDU2MTlCNzc1N0IwMEJGQzY0QSAvKiBRdWlj
a0xvb2tTUEkuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gaW9zOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKIAkJREY5QUZENkYxM0ZDMzFCMDAwMTVGRUI3IC8qIG9iamMgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMjMzMDgsNiArMjM0MjYs
NyBAQAogCQkJCUNENTRBNzYzMTgwRjlGNzAwMEIwNzZDOSAvKiBBdWRpb1RyYWNrUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwOEIxMkIwMjZGNzAw
QzFBMzU5IC8qIEF1ZGlvVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3RUU2ODQ2MDEy
RDI2RTM4MDBFNzk0MTUgLyogQXV0aGVudGljYXRpb25DRi5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
Q0VBQTY5M0MxOUMzNUMxMzAwQzRGN0JGIC8qIENGTmV0d29ya0Nvbm5lY3Rpb25DYWNoZVNQSS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0VFNjg0NjExMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzRGNzEzQTBENUE2RjEwMDAw
MThENjkgLyogQXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTI0NzQ4NDEwQUExNjFEMDBCNzk0OTMgLyogQXV0aGVudGljYXRpb25DbGllbnQuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjMzOTMsNiArMjM1MTIsNyBAQAogCQkJCUJDQjE2QzI4MDk3OUMzQkQw
MDQ2Nzc0MSAvKiBDYWNoZWRYU0xTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0Yx
OTk1MDA4MjQ1RTU5MDAxRTlBQkMgLyogQ2FjaGVQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxOEY1MDAyMTk0Q0FDM0EwMDgxQkFBRSAvKiBKU0dhbWVwYWQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUNFNEY2RDM0MTlCNzc0RjYwMEJGQzY0QSAvKiBDQUxheWVyU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0OUFFMkQ5NzEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY3VsYXRpb25WYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjFENUVDQjUxMzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVu
Y3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTZFNEU5MUFEMTBGN0ZCMzEwMEEyNzc5QyAvKiBD
YW52YXNDb250ZXh0QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzQxMSw5ICsyMzUz
MSw5IEBACiAJCQkJNjU1MEI2OUUwOTlERjAyNzAwOTBENzgxIC8qIENEQVRBU2VjdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQ0RERDU3MTUxOEI1N0E4MjAwQTk0RkNCIC8qIENETVNlc3Npb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCTVGQTkwNENBMTc4RTYxRjUwMDRDOEEyRCAvKiBDZXJ0aWZp
Y2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAotCQkJCUNFODI0NUYwMTlCNjcxQkEwMEFDMDEyMiAv
KiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQThF
NTY3MTc1NTJCMkEwMDc0ODhFNyAvKiBDRlVSTEV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0U4MjQ1RjIxOUI2NzFENTAwQUMwMTIyIC8qIENGVVJMUmVxdWVzdFNQSS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQ0U0RjZENDQxOUI3NzUxMjAwQkZDNjRBIC8qIENHRmxvYXRTUEkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUZFMzZGRDE1MTZDNzgyNjUwMEY4ODdDMSAvKiBDaGFuZ2VWZXJzaW9uRGF0
YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdCQzY5REQxNTA1RjA3NjAwMUI3NEFDIC8qIENoYW5n
ZVZlcnNpb25XcmFwcGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNUZGRjEyQjAyNjc2MDBD
MUEzNTkgLyogQ2hhbm5lbE1lcmdlck5vZGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjM1NTQsNiAr
MjM2NzQsNyBAQAogCQkJCUE4MEU2Q0VEMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NGb250VmFsdWUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDJBNjNDMEUwOUE5Q0YwMDRCNkQyQiAvKiBDU1NGdW5j
dGlvblZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QUY5QjIwMzE4Q0ZCMkRGMDBDNjRCRUYg
LyogVlRUUmVnaW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTA4QUM1NjE5QzIwMkI3MDA2NDQ4
NDMgLyogTWFjaFZNU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzUzQzY5MjBEQTU5MTE0MDAy
MUVCNUQgLyogQ1NTR3JhZGllbnRWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjUwRjUzREMw
OUQxNUREQTAwQzlCMEM4IC8qIENTU0dyYW1tYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEM0Uy
NTI0MTgwNDZCQ0QwMEUyN0Y1NiAvKiBDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmggaW4gSGVh
ZGVycyAqLywKQEAgLTIzNjc2LDYgKzIzNzk3LDcgQEAKIAkJCQlEMEJENEY1RDE0MDg4NTBGMDA2
ODM5QjYgLyogRGljdGF0aW9uQ29tbWFuZElPUy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2MDIz
RjAxNTMyQzQwQzAwRDUwRkY0IC8qIERpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUZE
QUYxOTk5MTUxM0QxMzEwMDhEQjBDMyAvKiBEaXJlY3RDb252b2x2ZXIuaCBpbiBIZWFkZXJzICov
LAorCQkJCUNFNEY2RDY0MTlCNzc1RjgwMEJGQzY0QSAvKiBEaXNwYXRjaFNQSS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDlBRjJENjkxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9u
aXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUQ4QzREQzAxNDI4MjIyQzAwMjZDRTcyIC8qIERp
c3BsYXlTbGVlcERpc2FibGVyQ29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDkxMTJC
MDI2RjcwMEMxQTM1OSAvKiBEaXN0YW5jZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzcwMCw2ICsy
MzgyMiw3IEBACiAJCQkJQkMxQTM3QUQwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODUzOEYwMTkwQUQ3MThEODAwNkE4MUQxIC8qIERPTUFic3RyYWN0Vmlldy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkM5OTgxMkUwREJFODA3QTAwOENFOUVGIC8qIERPTUFic3Ry
YWN0Vmlld0ZyYW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTY1MERCMDE5QkFEMUI0MDA2MTM1
MTggLyogTlNGaWxlTWFuYWdlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUzOEYwMUIwQUQ3
MThEODAwNkE4MUQxIC8qIERPTUFic3RyYWN0Vmlld0ludGVybmFsLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQThGNkJDMzBEQjU1Q0RDMDAxREI3OTQgLyogRE9NQXBwbGljYXRpb25DYWNoZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODVEMzg5QjIwQTk5MUE3RjAwMjgyMTQ1IC8qIERPTUF0dHIuaCBp
biBIZWFkZXJzICovLApAQCAtMjM5MzIsNiArMjQwNTUsNyBAQAogCQkJCTg1OTg5RENDMEFDQzhC
QkQwMEEwQkM1MSAvKiBET01LZXlib2FyZEV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAog
CQkJCTg1MDY1NkZFMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01NZWRpYUxpc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTg1RTcxMUQxMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01NZWRpYUxpc3RJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U2NTBEQUUxOUJBRDE1ODAwNjEzNTE4IC8qIE1QQVZS
b3V0aW5nQ29udHJvbGxlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzU3OTNFRDMwRDBDRTg1
QjAwN0ZDMEFDIC8qIERPTU1lc3NhZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzU3OTNF
RDUwRDBDRTg1QjAwN0ZDMEFDIC8qIERPTU1lc3NhZ2VFdmVudEludGVybmFsLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFMUFDQUY0RDBFNzkxQUFGMDA4N0QxMkIgLyogRE9NTWVzc2FnZVBvcnQuaCBp
biBIZWFkZXJzICovLApAQCAtMjQwNDIsNiArMjQxNjYsNyBAQAogCQkJCTUxRDcxOUI3MTgxMTA2
RTAwMDE2REM1MSAvKiBET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCTk3QjM4RTI3MTUxQzQyNzEwMDQ2MjJFOSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5N0QyQUQwNDE0QjgyM0E2MDA5M0RGMzIgLyogRE9NV2luZG93
UHJvcGVydHkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFQUE2OTQzMTlDMzVDMzgwMEM0RjdCRiAv
KiBkeWxkU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OUY2MEIxMTE1N0Y2ODZFMDA3NUUxNTcg
LyogRE9NV2luZG93UXVvdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBMkE1QUQ2MTZBNDg2MTYw
MDk3NUEyNSAvKiBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE4Q0NCQjQ5MTUxRjgzMTYwMEFCN0NFOSAvKiBET01XaW5kb3dXZWJEYXRhYmFzZS5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNDE3Miw2ICsyNDI5Nyw3IEBACiAJCQkJQkMwNzNCQUEwQzM5OUIxRjAw
MEY1OTc5IC8qIEZsb2F0Q29udmVyc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUE1MjhFODQx
N0Q3RjUyRjAwQUE5NTE4IC8qIEZsb2F0aW5nT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QjI3NTM1NjkwQjA1MzgxNDAwMkNFNjRGIC8qIEZsb2F0UG9pbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUNFQUE2OTQ3MTlDMzVDNTEwMEM0RjdCRiAvKiBBVlBsYXllclZpZXdDb250cm9sbGVyU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkUyN0NBMDBCMEYyQjA5MDBGMTdDN0IgLyogRmxvYXRQ
b2ludDNELmggaW4gSGVhZGVycyAqLywKIAkJCQk2RUM0ODBBMjE2RUE2MzhBMDBBNDhEQ0IgLyog
RmxvYXRQb2x5Z29uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkQ3MjM4MjBFQzhCRDkzMDBDQTVE
RDcgLyogRmxvYXRRdWFkLmggaW4gSGVhZGVycyAqLywKQEAgLTI0MjkzLDYgKzI0NDE5LDcgQEAK
IAkJCQlBODcxREMxRjBBMTUyMDU3MDBCMTJBNjggLyogSFRNTEJhc2VFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBOERGM0ZEMjA5N0ZBMEZDMDA1Mjk4MUIgLyogSFRNTEJhc2VGb250RWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUIyNERFOEUxNTE5NEI5NTAwQzU5QzI3IC8qIEhU
TUxCRElFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRUFBNjk0OTE5QzM1QzU2MDBDNEY3
QkYgLyogQVZWaWRlb0xheWVyU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxREUyQzBBMTUy
QUM4MDBCMTJBNjggLyogSFRNTEJvZHlFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOENG
RjdBQTBBMTU2OTc4MDAwQTQyMzQgLyogSFRNTEJSRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0Q3REJCMjkxOENBMTlDNjAwQzExMDY2IC8qIENTU0dyaWRMaW5lTmFtZXNWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNDMwNyw2ICsyNDQzNCw3IEBACiAJCQkJQThFQTdDQjcwQTE5MkI5
QzAwQThFRjVGIC8qIEhUTUxEaXZFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEVBNzlG
NzBBMTkxNkRGMDBBOEVGNUYgLyogSFRNTERMaXN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTNGMTk4RTUwODI0NUU1OTAwMUU5QUJDIC8qIEhUTUxEb2N1bWVudC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQ0VBQTY5M0ExOUMzNUJDNDAwQzRGN0JGIC8qIENBVGlsZWRMYXllclNQSS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM4NjcxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxEb2N1bWVu
dFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERTgwOTlFNjQ5MjAwNTZFNTgxIC8q
IGh0bWxlZGl0aW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOThFNjA4MjQ1RTU5MDAxRTlB
QkMgLyogSFRNTEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ0NjYsNiArMjQ1OTQsNyBA
QAogCQkJCThBQjRCQzc3MTI2RkRCNzEwMERFQjcyNyAvKiBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRl
Q291bnRJbmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjI3NTM1NzAwQjA1MzgxNDAw
MkNFNjRGIC8qIEltYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkExMEI5MjBCMzgxOEJEMDAw
OTlBQTQgLyogSW1hZ2VCdWZmZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFQUE2OTRDMTlDMzVD
NjMwMEM0RjdCRiAvKiBRTFByZXZpZXdDb252ZXJ0ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFDMjFFNTdEMTgzRUQxRkYwMDFDMjg5RCAvKiBJT1N1cmZhY2VQb29sLmggaW4gSGVhZGVycyAq
LywKIAkJCQkyMkJEOUY3RjEzNTM2MjVDMDA5QkQxMDIgLyogSW1hZ2VCdWZmZXJEYXRhLmggaW4g
SGVhZGVycyAqLywKIAkJCQkyMkJEOUY4MTEzNTM2NEZFMDA5QkQxMDIgLyogSW1hZ2VCdWZmZXJE
YXRhQ0cuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ1MzEsNiArMjQ2NjAsNyBAQAogCQkJCTIwRDYy
OTI3MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE1ODQwRTFEMTg3Qjc0RDUwMDg0M0IxMCAvKiBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25Db29raWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxQjFFMTI1MTY0MDQ4RjcwMEIx
ODgwQSAvKiBJbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VB
QTY5NDExOUMzNUMyQzAwQzRGN0JGIC8qIENHSW1hZ2VTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUwNEFBQ0NFMTgzNDQ1NTkwMEUzRDlCQyAvKiBJbnNwZWN0b3JOb2RlRmluZGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRjAzQzA3NTE4ODQ4MDU1MDBBNUY4Q0EgLyogSW5zcGVjdG9yT3Zlcmxh
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEY2RkRENjUxMzQxREVERDAwMUY4RUUzIC8qIEluc3Bl
Y3RvclBhZ2VBZ2VudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDc3MCw2ICsyNDkwMCw3IEBACiAJ
CQkJMDcwNzU2RDQxNDIzOUE0RjAwNDE0MTYxIC8qIEpTSFRNTFRyYWNrRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUE4NUIyMTEwQTFCMjU4NzAwRDhDODdDIC8qIEpTSFRNTFVMaXN0RWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkU0QUJDRDUxMzhFQTBCNzAwNzFEMjkxIC8qIEpT
SFRNTFVua25vd25FbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRUFBNjk0ODE5QzM1QzUz
MDBDNEY3QkYgLyogQVZWYWx1ZVRpbWluZ1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0NjE0
MTcwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTSFRNTFZpZGVvRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQzU4NUE2N0QxMUQ0RkIwODAwNEMzRTRCIC8qIEpTSURCQW55LmggaW4gSGVhZGVycyAq
LywKIAkJCQk4MUJFMjBEMzExRjRCQzMyMDA5MTVERkEgLyogSlNJREJDdXJzb3IuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjQ5MDksOCArMjUwNDAsMTAgQEAKIAkJCQlFMUZGOEY2NTE4MDc0NUQ4MDAx
MzI2NzQgLyogSlNTdWJ0bGVDcnlwdG8uaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMDExMTA4MEFC
Nzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyNEQ5
MTI5MjEzQ0E5NTFFMDBEMjE5MTUgLyogSlNTVkdBbHRHbHlwaERlZkVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUNFQUE2OTQwMTlDMzVDMkEwMEM0RjdCRiAvKiBDR0ZvbnRVbmljb2RlU3Vw
cG9ydFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjQ3QTVFM0UxOTVCOEM4QTAwNDgzMTAwIC8q
IFN0eWxlU2Nyb2xsU25hcFBvaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdBQzQ3MDIxOTUy
MTAyMTAwRUU5NzIzIC8qIElTT1ZUVEN1ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VBQTY5NEIx
OUMzNUM1RTAwQzRGN0JGIC8qIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNjUxNUVDOTIwRDk3MjNGRjAwNjNENDlBIC8qIEpTU1ZHQWx0R2x5cGhF
bGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyNEQ5MTI5NjEzQ0E5NTYxMDBEMjE5MTUgLyog
SlNTVkdBbHRHbHlwaEl0ZW1FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyRjY5OTBB
Qjc3MTk1MDAyMkVGQUQgLyogSlNTVkdBbmdsZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTAxNiw2
ICsyNTE0OSw3IEBACiAJCQkJQjJGQTNEQ0IwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUGF0aFNl
Z0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRENE
MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVs
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0RDRjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQ
YXRoU2VnTGluZXRvQWJzLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTY1MERCMjE5QkI2MDQ1MDA2
MTM1MTggLyogQ0dDb250ZXh0R1N0YXRlU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0RE
MTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNERDMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUGF0aFNl
Z0xpbmV0b0hvcml6b250YWxSZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzREQ1MEFCNzVB
NkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdMaW5ldG9SZWwuaCBpbiBIZWFkZXJzICovLApAQCAt
MjUwMjMsNiArMjUxNTcsNyBAQAogCQkJCUIyRkEzREQ5MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NW
R1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEREIw
QUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUGF0aFNlZ0xpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUIyRkEzREREMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdNb3ZldG9BYnMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUNFNjUwREFGMTlCQUQxODQwMDYxMzUxOCAvKiBNb2JpbGVHZXN0YWx0
U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0RERjBBQjc1QTZGMDAwRTVBQzQgLyogSlNT
VkdQYXRoU2VnTW92ZXRvUmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0RFMTBBQjc1QTZG
MDAwRTVBQzQgLyogSlNTVkdQYXR0ZXJuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU0
MkE3OTUwQUU1Qzk0MTAwREY1OERGIC8qIEpTU1ZHUG9pbnQuaCBpbiBIZWFkZXJzICovLApAQCAt
MjUxNzMsNiArMjUzMDgsNyBAQAogCQkJCUJDN0ZBNjIxMEQxRjBDQkQwMERCMjJBOSAvKiBMaXZl
Tm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3NTlFOTQ5MTRFRjFENDkwMDI2QTJERCAv
KiBMb2FkYWJsZVRleHRUcmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU2RDM3MzIwQURCQTVE
RTAwQTQ1NTREIC8qIExvYWRlck5TVVJMRXh0cmFzLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTY1
MERCMTE5QkI2MDNFMDA2MTM1MTggLyogQ0dDb250ZXh0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3RUU2ODQ2OTEyRDI2RTM4MDBFNzk0MTUgLyogTG9hZGVyUnVuTG9vcENGLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MUU2ODIxMDE2Mzg3MzAyMDAzQkJGM0MgLyogTG9hZGVyU3RyYXRlZ3kuaCBp
biBIZWFkZXJzICovLAogCQkJCTA2RTgxRUQ3MEFCNUQ1RTkwMEM4NzgzNyAvKiBMb2NhbEN1cnJl
bnRHcmFwaGljc0NvbnRleHQuaCBpbiBIZWFkZXJzICovLApAQCAtMjUyNjAsNiArMjUzOTYsNyBA
QAogCQkJCTA3NjMwNkQzMTdFMTQ3OEQwMDVBN0M0RSAvKiBNZWRpYVN0cmVhbVRyYWNrU291cmNl
c1JlcXVlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3NjMwNkUzMTdFMjJBNDMwMDVBN0M0RSAv
KiBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUNENjQxRUMwMTgxOUIzNjAwMEVFNEM0MSAvKiBNZWRpYVRpbWVBVkZvdW5kYXRpb24uaCBp
biBIZWFkZXJzICovLAorCQkJCUNFQUE2OTNGMTlDMzVDMjUwMEM0RjdCRiAvKiBDR0ZvbnRJbmZv
U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzA1ODUyMTE3RkRDMTQwMDA1RjJCQ0IgLyogTWVk
aWFUcmFja0NvbnN0cmFpbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3MDU4NTI0MTdGREMxNDAw
MDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3
MDU4NTI5MTdGREUwMkMwMDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludFNldC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNTI5NSw2ICsyNTQzMiw3IEBACiAJCQkJRDZFNTI4QTQxNDlBOTI2RDAw
RUZFMUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmggaW4gSGVhZGVycyAqLywK
IAkJCQlENkUyNzZCMDE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJh
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZGMDhGQkQxNDMwRkU4RjAwNjg1ODQ5IC8qIE11
dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ2NzE5Qjc3NUY4MDBCRkM2
NEEgLyogTlNHZW9tZXRyeVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTJCNkM5QzYxNUUzRjRE
RjAwNjkwQjA1IC8qIE5hbWVkRmxvd0NvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
MTg3MjIzMDk3N0QzQzAwMDU4MjZEOSAvKiBOYW1lZE5vZGVNYXAuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4MTg3MjFFMDk3N0QzQzAwMDU4MjZEOSAvKiBOYW1lTm9kZUxpc3QuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjU1NTQsNiArMjU2OTIsNyBAQAogCQkJCUJDRUE0ODY0MDk3RDkzMDIwMDk0QzlF
NCAvKiBSZW5kZXJMaW5lQnJlYWsuaCBpbiBIZWFkZXJzICovLAogCQkJCUFCQjU0MTlGMEFDRERG
RTQwMDI4MjBFQiAvKiBSZW5kZXJMaXN0Qm94LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEVBN0E1
MjBBMTkxQTUyMDBBOEVGNUYgLyogUmVuZGVyTGlzdEl0ZW0uaCBpbiBIZWFkZXJzICovLAorCQkJ
CUNFNjUwREFDMTlCQUQxM0MwMDYxMzUxOCAvKiBDVEZvbnREZXNjcmlwdG9yU1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzNzkyOTE3RTE5ODc2NzhGMDBGNEI2NjEgLyogQ3JlZGVudGlhbENvY29h
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEVBN0E1MDBBMTkxQTUyMDBBOEVGNUYgLyogUmVuZGVy
TGlzdE1hcmtlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1NjAyOEYwRTRCNzY1ODAwNjVCMDM4
IC8qIFJlbmRlck1hcnF1ZWUuaCBpbiBIZWFkZXJzICovLApAQCAtMjU2NDEsNiArMjU3ODAsNyBA
QAogCQkJCUE4REY0QUYxMDk4MEM0MkMwMDUyOTgxQiAvKiBSZW5kZXJUYWJsZUNvbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQThERjRBRUUwOTgwQzQyQzAwNTI5ODFCIC8qIFJlbmRlclRhYmxlUm93
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOERGNEFFRjA5ODBDNDJDMDA1Mjk4MUIgLyogUmVuZGVy
VGFibGVTZWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTY1MERBRDE5QkFEMTQ0MDA2MTM1
MTggLyogQ1RGb250U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg4QzA5N0Q5MzAyMDA5
NEM5RTQgLyogUmVuZGVyVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUI2N0QxQTkwOTdGM0FF
MzAwRjkzOTJFIC8qIFJlbmRlclRleHRDb250cm9sLmggaW4gSGVhZGVycyAqLywKIAkJCQkwODNE
QUVBNzBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjU5NDgsNiArMjYwODgsNyBAQAogCQkJCUJDMjI3MkJEMEU4MkVBQUUw
MEU3Rjk3NSAvKiBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzIyNzI4NzBFODJFNzA3MDBFN0Y5NzUgLyogU3R5bGVSZWZsZWN0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFNEQ1OEVCNTE3QjREQkRDMDBDQkRDQTggLyogU3R5bGVSZXNvbHZlRm9yRG9j
dW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFQUE2OTQ1MTlDMzVDNDcwMEM0RjdCRiAvKiBO
U1BvaW50ZXJGdW5jdGlvbnNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMzk4NjY0MTU0Nzg0
NzQwMDFFM0Y2NSAvKiBTdHlsZVJlc29sdmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNERFQUEx
ODE3QTkzREMzMDAwRTA0MzAgLyogU3R5bGVSZXNvbHZlVHJlZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTRCQkVENEQxNEZDREJBMTAwM0YwQjk4IC8qIFN0eWxlUnVsZS5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNTk3Miw2ICsyNjExMyw3IEBACiAJCQkJMDg3NTU4QzYxM0I0QTU3RDAwRjQ5MzA3IC8q
IFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjJD
MTIxN0QxMUFCOUU3NzAwM0M0NjJDIC8qIFN1c3BlbmRhYmxlVGltZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUIyMjI3OTc0MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdBRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQ0VBQTY5M0QxOUMzNUMxQjAwQzRGN0JGIC8qIENHQ29sb3JUcmFuc2Zvcm1T
UEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTI0RDkxMkIxMTNDQTlBMUYwMEQyMTkxNSAvKiBTVkdB
bHRHbHlwaERlZkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1NjUzRjJFMEQ5NzI3RDIw
MENBOTcyMyAvKiBTVkdBbHRHbHlwaEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTI0RDkx
MkI4MTNDQTlBNjkwMEQyMTkxNSAvKiBTVkdBbHRHbHlwaEl0ZW1FbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKQEAgLTI2MDI1LDYgKzI2MTY3LDcgQEAKIAkJCQlCMjIyNzlCNzBEMDBCRjIyMDA3MUI3
ODIgLyogU1ZHRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU2NTgxRkUwOUQxNTA4RDAw
MEU2MUQ3IC8qIFNWR0VsZW1lbnRGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzlC
QTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHRWxlbWVudEluc3RhbmNlLmggaW4gSGVhZGVycyAqLywK
KwkJCQlDRUFBNjk0QTE5QzM1QzVCMDBDNEY3QkYgLyogQ1VJQ2F0YWxvZ1NQSS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjIyMjc5QkQwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0VsZW1lbnRJbnN0YW5j
ZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4MUFBOERBMTExMTIzN0UwMDJBQjA2RSAvKiBT
VkdFbGVtZW50UmFyZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUI1NjJEQjYxMTdEM0NENjYw
MDEwQUY5NiAvKiBTVkdFbGVtZW50VHlwZUhlbHBlcnMuaCBpbiBIZWFkZXJzICovLApAQCAtMjYx
MjgsNiArMjYyNzEsNyBAQAogCQkJCTgzQzFENDI1MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRo
U2VnQXJjQWJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0MxRDQyNjE3OEQ1QUI0MDAxNDFFNjgg
LyogU1ZHUGF0aFNlZ0FyY1JlbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBNjIwRDAwQkYy
MjAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDbG9zZVBhdGguaCBpbiBIZWFkZXJzICovLAorCQkJCUNF
QUE2OTNCMTlDMzVDMEYwMEM0RjdCRiAvKiBDRkxvY2FsZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjIyMjdBNjUwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWMuaCBp
biBIZWFkZXJzICovLAogCQkJCTgzQzFENDI3MTc4RDVBQjQwMDE0MUU2OCAvKiBTVkdQYXRoU2Vn
Q3VydmV0b0N1YmljQWJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0MxRDQyODE3OEQ1QUI0MDAx
NDFFNjggLyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbC5oIGluIEhlYWRlcnMgKi8sCkBAIC0y
NjE5Nyw2ICsyNjM0MSw3IEBACiAJCQkJN0NERUVFMUUxOTc2MTBENzAwRTM1MkNEIC8qIFZpZXdT
dGF0ZUNoYW5nZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0FDMTBEMDBCRjIy
MDA3MUI3ODIgLyogU1ZHU3ltYm9sRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdB
QzUwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1Rlc3RzLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRUFB
Njk0MjE5QzM1QzJGMDBDNEY3QkYgLyogQ0dTUmVnaW9uU1BJLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwOEYwQkZDMzEyNTVDNTNDMDAwNzUxODUgLyogU1ZHVGV4dENodW5rLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwODE2NjhENDEyNTYwM0JGMDA2RjI1REUgLyogU1ZHVGV4dENodW5rQnVpbGRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBQzgwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1RleHRD
b250ZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjI1Niw3ICsyNjQwMSw5IEBACiAJ
CQkJQjJDM0RBNDAwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHRDb2RlY1VzZXJEZWZpbmVkLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCMkMzREE0MjBEMDA2QzFEMDBFRjZGMjYgLyogVGV4dENvZGVjVVRG
MTYuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzNDNDQjgyMTJGMjVFNTEwMDMzQzVFRSAvKiBUZXh0
Q29kZWNVVEY4LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTY1MERCMzE5QkI2MEREMDA2MTM1MTgg
LyogQ0dGb250UmVuZGVyaW5nU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDJCOTdDQTEzMTM4
OTQzMDA4QkVGNEIgLyogVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmggaW4gSGVhZGVycyAqLywK
KwkJCQlDRUFBNjk0NjE5QzM1QzRGMDBDNEY3QkYgLyogQVZQbGF5ZXJDb250cm9sbGVyU1BJLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE0NTBEMDA2QzFEMDBFRjZGMjYgLyogVGV4dERpcmVj
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdCQzg0QjQxMjM3MTE4MDAwMEM2MTYxIC8qIFRl
eHREb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdCQzg0ODQxMjM2RkQ5MzAwMEM2MTYx
IC8qIFRleHREb2N1bWVudFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjM5OSw2ICsyNjU0
Niw3IEBACiAJCQkJODY3OEQwQkIxODc4RTg5MTAwM0FCREU2IC8qIFZpZXdTdGF0ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTMzMDlFMjAwOTlFNjQ5MjAwNTZFNTgxIC8qIFZpc2libGVQb3NpdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdBQjk5NjkxOERBM0MwMTAwMTg3NzFFIC8qIFJUQ0Nv
bmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUNFQUE2OTREMTlDMzVDNjUwMEM0RjdC
RiAvKiBRdWlja0xvb2tTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4ODNERjI4MEYzRDA0NUQw
MEYxOUJGNiAvKiBWaXNpYmxlU2VsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUUx
RTA5OUU2NDkyMDA1NkU1ODEgLyogVmlzaWJsZVVuaXRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
MTlCQzJERjE2ODUzMjk5MDBENjRENkQgLyogVmlzaXRlZExpbmtTdGF0ZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNjQzMyw2ICsyNjU4MSw3IEBACiAJCQkJQzVCNEMyNEQxNTA5MjM2QzAwQTZFRjM3
IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREQwNUZFMEQwQjhC
QTNDNjAwOUFDREZFIC8qIFdlYkNvcmVPYmpDRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
REVDOTgwMzBBRUQ3RTE3MDA1OTEzN0YgLyogV2ViQ29yZVByZWZpeC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQ0VBQTY5M0UxOUMzNUMyMjAwQzRGN0JGIC8qIENHRm9udEdseXBoU3VwcG9ydFNQSS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTE4MDgxMEYxNkZDRUNERjAwQjgwRDA3IC8qIFdlYkNvcmVS
ZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTI1NTE1MTZG
RDIzNTAwMDNEN0FEQiAvKiBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVs
ZWdhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRUIxNjk3MDlGODgwQzAwMDkxRjhGRiAvKiBX
ZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKQEAgLTI2NTcwLDYgKzI2NzE5
LDcgQEAKIAkJCQkyRUE3NjgwNDBGRTcxMjY0MDBBQjlDOEEgLyogV29ya2VyU2NyaXB0TG9hZGVy
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY1NTBGNTQ2QTgyMDBCMEYxQkEgLyog
V29ya2VyVGhyZWFkLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQjkwNTZGOTBGMjY4NUYzMDA5NUZG
NkEgLyogV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VBQTY5
NDQxOUMzNUMzQjAwQzRGN0JGIC8qIElPUE1MaWJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3
QUFCRDJEMTRGQTA5RDUwMDc0NTdBRSAvKiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFNTgwNjQxOTMyN0E2MjAwREUzMkVCIC8qIFNjcm9s
bGluZ1RyZWVNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RTI0MDk5RTY0OTIwMDU2RTU4
MSAvKiBXcmFwQ29udGVudHNJbkR1bW15U3BhbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5tbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwubW0KaW5kZXggNWU3NzM2MTk2
NGRjMTAyNzZmNTQwZjU1MjM0ODAwNDNmYjlhY2UzOC4uMmVhMDQ3NDFlYTAwMTM3ZWRlN2Q0Yjdl
ODhkMjE2NTQ4YzIyZWFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01JbnRlcm5hbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUlu
dGVybmFsLm1tCkBAIC0zNiw2ICszNiw4IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAjZGVmaW5l
IE5FRURTX1dSQVBQRVJfQ0FDSEVfTE9DSyAxCisKKyNpbXBvcnQgIk5TUG9pbnRlckZ1bmN0aW9u
c1NQSS5oIgogI2VuZGlmCiAKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNlLm1tIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5tbQppbmRleCAwMTVhNmZi
ZGNjYjdhNGU1NzQ2YWEwNjFkNTg5ZTk4NDg3MmJiYWJjLi43N2JiZTVmZmEwYTliMTk2ZDBjZTY0
MzVlODY0ZDNjNGRlMjU5MzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2Jq
Yy9vYmpjX2luc3RhbmNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNf
aW5zdGFuY2UubW0KQEAgLTI2LDIwICsyNiwyMSBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1w
b3J0ICJvYmpjX2luc3RhbmNlLmgiCiAKLSNpbXBvcnQgInJ1bnRpbWVfbWV0aG9kLmgiCi0jaW1w
b3J0IDxydW50aW1lL09iamVjdFByb3RvdHlwZS5oPgogI2ltcG9ydCAiSlNET01CaW5kaW5nLmgi
CisjaW1wb3J0ICJOU1BvaW50ZXJGdW5jdGlvbnNTUEkuaCIKICNpbXBvcnQgIk9iakNSdW50aW1l
T2JqZWN0LmgiCiAjaW1wb3J0ICJXZWJTY3JpcHRPYmplY3QuaCIKKyNpbXBvcnQgInJ1bnRpbWVf
bWV0aG9kLmgiCiAjaW1wb3J0IDxvYmpjL29iamMtYXV0by5oPgogI2ltcG9ydCA8cnVudGltZS9F
cnJvci5oPgorI2ltcG9ydCA8cnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oPgogI2ltcG9ydCA8
cnVudGltZS9KU0xvY2suaD4KLSNpbXBvcnQgInJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaCIK
KyNpbXBvcnQgPHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0
aW9ucy5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU01hcFRh
YmxlLmg+Ci0jZW5kaWYgLy8gUExBVEZPUk0oSU9TKQorI2VuZGlmCiAKICNpZmRlZiBOREVCVUcK
ICNkZWZpbmUgT0JKQ19MT0coZm9ybWF0QW5kQXJncy4uLikgKCh2b2lkKTApCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIubW0KaW5kZXggNmQ0ZDY4ZWJjZDhj
MDMzZmVlNTBjMmJhNTI4NTg3OTcwOWJjODlhNC4uODIxMWNmMzgzMGQ4Njc5MjMzZDA4N2M0OGE3
M2E3Y2U0YTNmYWY1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9I
VE1MQ29udmVydGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvSFRNTENv
bnZlcnRlci5tbQpAQCAtNjIsNiArNjIsOCBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisjaW1w
b3J0ICJOU0dlb21ldHJ5U1BJLmgiCisKIFNPRlRfTElOS19GUkFNRVdPUksoVUlLaXQpCiBTT0ZU
X0xJTktfQ0xBU1MoVUlLaXQsIFVJQ29sb3IpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0KaW5kZXgg
ZGZhMmI2NjI5Y2ZkZTZiMTA1M2Q5MTYwYzNkZGEyYmJhNmQ0MDllMy4uOTllZGUwY2MzZjQ4NTEy
MzU4YTEyNzk1MGE1Yjg2ZDE4ZDU0YzA3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0KQEAgLTI5
LDEzICsyOSwxMyBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9ydCAiTG9nZ2luZy5oIgor
I2ltcG9ydCAiTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmgiCiAjaW1wb3J0ICJNZWRpYVBsYXll
ci5oIgogI2ltcG9ydCAiTWVkaWFTZXNzaW9uLmgiCiAjaW1wb3J0ICJTb2Z0TGlua2luZy5oIgog
I2ltcG9ydCAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCAiV2ViQ29yZVRocmVh
ZFJ1bi5oIgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWQXVkaW9TZXNzaW9uLmg+Ci0jaW1wb3J0
IDxNZWRpYVBsYXllci9NUEFWUm91dGluZ0NvbnRyb2xsZXIuaD4KICNpbXBvcnQgPE1lZGlhUGxh
eWVyL01QTWVkaWFJdGVtLmg+CiAjaW1wb3J0IDxNZWRpYVBsYXllci9NUE5vd1BsYXlpbmdJbmZv
Q2VudGVyLmg+CiAjaW1wb3J0IDxNZWRpYVBsYXllci9NUFZvbHVtZVZpZXcuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0Rpc3BsYXlTbGVlcERpc2FibGVyQ29j
b2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGlzcGxheVNsZWVwRGlzYWJs
ZXJDb2NvYS5jcHAKaW5kZXggN2VlMmUwODNkNDc2YzE1OGE3ODFhMzY2MDk5ZTM5ZTQ4ZjBiMzkx
ZC4uYWI5ZTIzMTEzNjRiZTQ1MzRkNzRiYzExMmVlODEzZjc2ZTJhNjNiNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGlzcGxheVNsZWVwRGlzYWJsZXJDb2NvYS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRGlzcGxheVNsZWVwRGlzYWJs
ZXJDb2NvYS5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogCi0j
aW5jbHVkZSA8SU9LaXQvcHdyX21ndC9JT1BNTGliLmg+CisjaW5jbHVkZSAiSU9QTUxpYlNQSS5o
IgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5k
bGVyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZW1vcnlQcmVzc3Vy
ZUhhbmRsZXJDb2NvYS5tbQppbmRleCA4MDQyNTBhNGEzNWExOTdlN2FiNWVhZjU5NWMzZDYzZjA3
ZTY1NmFmLi4zNDQxYWJhZTgzYmZkOTgzNTg2MWY3NDNiZWM3YWI4MjQ4ODIzYWU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJD
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9NZW1vcnlQcmVzc3Vy
ZUhhbmRsZXJDb2NvYS5tbQpAQCAtMjYsNiArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAj
aW1wb3J0ICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCIKIAorI2ltcG9ydCAiRGlzcGF0Y2hTUEku
aCIKICNpbXBvcnQgIklPU3VyZmFjZVBvb2wuaCIKICNpbXBvcnQgIkdDQ29udHJvbGxlci5oIgog
I2ltcG9ydCAiSlNET01XaW5kb3dCYXNlLmgiCkBAIC00MSw3ICs0Miw2IEBACiAjaWYgUExBVEZP
Uk0oSU9TKQogI2ltcG9ydCAiU3lzdGVtTWVtb3J5LmgiCiAjaW1wb3J0ICJXZWJDb3JlVGhyZWFk
LmgiCi0jaW1wb3J0IDxkaXNwYXRjaC9wcml2YXRlLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50
UmVjdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCmluZGV4
IDU4NDllM2FhYThhNTEwMmYzNGEzODI3ZjFlMjU4OWMyZWYwYzFmNDguLmIyMzE4OTA4OWI4M2Q1
NzA1NTY5ZmRmMTFiNDIxMTQ4MTZiMzQ4NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0LmgKQEAgLTQyLDkgKzQyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX05TUmVj
dCBOU1JlY3Q7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykKLSNpZm5kZWYgTlNSZWN0Ci0j
ZGVmaW5lIE5TUmVjdCBDR1JlY3QKLSNlbmRpZgordHlwZWRlZiBDR1JlY3QgTlNSZWN0OwogI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShXSU4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAppbmRleCA2MTI5NmQyMzQ1ODQ1MmU5ZjMxNzU5MWJj
YmIyMmVlNDA0MjgwZTYxLi4xM2FiZmRjMjIzNmM3MzU1YmJiMDI0YzE0MzQ2ZmQyNjJjYjg0ODM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnRE
YXRhLmgKQEAgLTU1LDE5ICs1NSw3IEBACiAjZW5kaWYKIAogI2lmIFVTRShDRykKLSNpZiBkZWZp
bmVkKF9faGFzX2luY2x1ZGUpICYmIF9faGFzX2luY2x1ZGUoPENvcmVHcmFwaGljcy9DR0ZvbnRS
ZW5kZXJpbmcuaD4pCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udFJlbmRlcmluZy5oPgot
I2Vsc2UKLWVudW0gewotICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZUFudGlhbGlhc2luZyA9ICgx
IDw8IDApLAotICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVNtb290aGluZyA9ICgxIDw8IDEpLAot
ICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVN1YnBpeGVsUG9zaXRpb25pbmcgPSAoMSA8PCAyKSwK
LSAgICBrQ0dGb250UmVuZGVyaW5nU3R5bGVTdWJwaXhlbFF1YW50aXphdGlvbiA9ICgxIDw8IDMp
LAotICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVBsYXRmb3JtTmF0aXZlID0gKDEgPDwgOSksCi0g
ICAga0NHRm9udFJlbmRlcmluZ1N0eWxlTWFzayA9IDB4MjBGCi19OwotI2VuZGlmCi10eXBlZGVm
IHVpbnQzMl90IENHRm9udFJlbmRlcmluZ1N0eWxlOworI2luY2x1ZGUgPFdlYkNvcmUvQ0dGb250
UmVuZGVyaW5nU1BJLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakMubW0KaW5kZXggNDRkZWNiNjE5ZTU1YmNlYzU5YzEwN2Y3ZjBhMTY0ZjlhODk4YmEz
My4uNzExMmNkYWU3YThhZTA3ZDg3OTQyYTNiOGEwOWU5YzY3NmVlNjE3ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDLm1tCkBAIC00Myw2ICs0Myw3IEBACiAjaW1wb3J0ICJJbmJhbmRNZXRhZGF0YVRl
eHRUcmFja1ByaXZhdGVBVkYuaCIKICNpbXBvcnQgIkluYmFuZFRleHRUcmFja1ByaXZhdGVBVkZP
YmpDLmgiCiAjaW1wb3J0ICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlTGVnYWN5QVZGT2JqQy5oIgor
I2ltcG9ydCAiTlNHZW9tZXRyeVNQSS5oIgogI2ltcG9ydCAiT3V0T2ZCYW5kVGV4dFRyYWNrUHJp
dmF0ZUFWRi5oIgogI2ltcG9ydCAiVVJMLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCkBAIC03NCw3
ICs3NSw2IEBACiAjaW5jbHVkZSAiVGV4dFRyYWNrLmgiCiAjZW5kaWYKIAotI2ltcG9ydCA8Rm91
bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZGb3VuZGF0aW9u
Lmg+CiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCA8Q29yZUltYWdlL0NvcmVJbWFnZS5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRm
b3JtQ0FMYXllck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21h
Yy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0KaW5kZXggYWFkYzYxMWQyZjlmMzI3MjgyNWI0YjBlOGE1
MDRhMzQyODljOGY5MC4uZDkzYzFmODc1MmM4ZDBmMWZhMWVlZjFmNjg2Njg4NDM1ZjA4YWU3ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRm
b3JtQ0FMYXllck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tCkBAIC0yOSw2ICsyOSw4IEBACiAKICNpbXBvcnQg
IkFuaW1hdGlvblV0aWxpdGllcy5oIgogI2ltcG9ydCAiQmxvY2tFeGNlcHRpb25zLmgiCisjaW1w
b3J0ICJDQUxheWVyU1BJLmgiCisjaW1wb3J0ICJDQVRpbGVkTGF5ZXJTUEkuaCIKICNpbXBvcnQg
IkdyYXBoaWNzQ29udGV4dC5oIgogI2ltcG9ydCAiR3JhcGhpY3NMYXllckNBLmgiCiAjaW1wb3J0
ICJMZW5ndGhGdW5jdGlvbnMuaCIKQEAgLTUyLDEyICs1NCwxMSBAQAogI2ltcG9ydCA8d3RmL1Jl
dGFpblB0ci5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQorI2ltcG9ydCAiTlNHZW9tZXRyeVNQSS5o
IgogI2ltcG9ydCAiV0FLV2luZG93LmgiCiAjaW1wb3J0ICJXS0dyYXBoaWNzLmgiCiAjaW1wb3J0
ICJXZWJDb3JlVGhyZWFkLmgiCiAjaW1wb3J0ICJXZWJUaWxlZExheWVyLmgiCi0jaW1wb3J0IDxG
b3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KLSNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FUaWxlZExheWVy
UHJpdmF0ZS5oPgogI2Vsc2UKICNpbXBvcnQgIlRoZW1lTWFjLmgiCiAjZW5kaWYKQEAgLTE3MCwx
OCArMTcxLDYgQEAgc3RhdGljIGRvdWJsZSBtZWRpYVRpbWVUb0N1cnJlbnRUaW1lKENGVGltZUlu
dGVydmFsIHQpCiAKIEBlbmQKIAotQGludGVyZmFjZSBDQVRpbGVkTGF5ZXIoR3JhcGhpY3NMYXll
ckNBUHJpdmF0ZSkKLS0gKHZvaWQpZGlzcGxheUluUmVjdDooQ0dSZWN0KXIgbGV2ZWxPZkRldGFp
bDooaW50KWxvZCBvcHRpb25zOihOU0RpY3Rpb25hcnkgKilkaWN0OwotLSAoQk9PTCljYW5EcmF3
Q29uY3VycmVudGx5OwotLSAodm9pZClzZXRDYW5EcmF3Q29uY3VycmVudGx5OihCT09MKWZsYWc7
Ci1AZW5kCi0KLUBpbnRlcmZhY2UgQ0FMYXllcihQcml2YXRlKQotLSAodm9pZClzZXRDb250ZW50
c0NoYW5nZWQ7Ci0tICh2b2lkKXNldEFjY2VsZXJhdGVzRHJhd2luZzooQk9PTClmbGFnOwotLSAo
Qk9PTClhY2NlbGVyYXRlc0RyYXdpbmc7Ci1AZW5kCi0KIHZvaWQgUGxhdGZvcm1DQUxheWVyTWFj
OjpzZXRPd25lcihQbGF0Zm9ybUNBTGF5ZXJDbGllbnQqIG93bmVyKQogewogICAgIFBsYXRmb3Jt
Q0FMYXllcjo6c2V0T3duZXIob3duZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvQml0bWFwSW1hZ2VDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9CaXRtYXBJbWFnZUNHLmNwcAppbmRleCA4YTRhMTNlODliNmIxNjRk
MWVlNWI1MTY2ZGVhMTQyMDU2ZGNkNDBiLi5kMjUxOWM4MjZmZmY1OWFiNjc3MWEyZjAyYzY5OTI2
NTBmMDhjZWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9CaXRtYXBJbWFnZUNHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9CaXRtYXBJbWFnZUNHLmNwcApAQCAtMzksMTAgKzM5LDYgQEAKICNpbmNsdWRlIDxBcHBs
aWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KICNlbmRpZgogCi0jaWYgUExB
VEZPUk0oSU9TKQotI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0NvbnRleHRQcml2YXRlLmg+Ci0j
ZW5kaWYKLQogI2lmIFBMQVRGT1JNKENPQ09BKQogI2luY2x1ZGUgIldlYkNvcmVTeXN0ZW1JbnRl
cmZhY2UuaCIKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvQ29sb3JDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9Db2xvckNHLmNwcAppbmRleCAwNzU2NjkxMTM2ZDdlNTZhZmRiZjBlZGIzMWZiOWY3OGQ5ZmY5
Mjk3Li41NWQ0YjNiMjMyYjVlMWMwOWU3ODhkOGJmNmRlZWNhZmNmMDFlMzdkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvckNHLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvckNHLmNwcApAQCAtMzQsOCAr
MzQsNyBAQAogI2lmICFQTEFURk9STShJT1MpCiAjaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNl
cy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAjZWxzZQotI2luY2x1ZGUgPENvcmVHcmFwaGljcy9D
R0NvbG9yVHJhbnNmb3JtLmg+Ci0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5o
PgorI2luY2x1ZGUgIkNHQ29sb3JUcmFuc2Zvcm1TUEkuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGli
RXh0cmFzLmg+CiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPUykKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCmlu
ZGV4IDFlM2FhNzVhNjk0MTI2NjdkNjBiMmU4ZGZlODU1NTZkMzI2YjhkODEuLjA5NTk2N2YxOTc2
YmVkZmE1NDE0ZjI2YmM5MDEyOThkZTYxNzI5MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKQEAgLTI5
LDE2ICsyOSwxOCBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dENHLmgiCiAKICNpbmNsdWRl
ICJBZmZpbmVUcmFuc2Zvcm0uaCIKKyNpbmNsdWRlICJDR0NvbnRleHRHU3RhdGVTUEkuaCIKKyNp
bmNsdWRlICJDR0NvbnRleHRTUEkuaCIKICNpbmNsdWRlICJGbG9hdENvbnZlcnNpb24uaCIKICNp
bmNsdWRlICJHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDRy5oIgogI2luY2x1ZGUgIklt
YWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiSW1hZ2VPcmllbnRhdGlvbi5oIgotI2luY2x1ZGUgIlVS
TC5oIgogI2luY2x1ZGUgIlBhdGguaCIKICNpbmNsdWRlICJQYXR0ZXJuLmgiCiAjaW5jbHVkZSAi
U2hhZG93Qmx1ci5oIgogI2luY2x1ZGUgIlN1YmltYWdlQ2FjaGVXaXRoVGltZXIuaCIKICNpbmNs
dWRlICJUaW1lci5oIgorI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9D
b3JlR3JhcGhpY3MuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KQEAgLTUyLDE3ICs1NCw5IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JN
KElPUykKLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0R1N0YXRlLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KICNlbmRpZgogCi0jaWYgIVBMQVRGT1JNKElPUykKLWV4dGVybiAi
QyIgewotICAgIENHX0VYVEVSTiB2b2lkIENHQ29udGV4dFNldENUTShDR0NvbnRleHRSZWYsIENH
QWZmaW5lVHJhbnNmb3JtKTsKLSAgICBDR19FWFRFUk4gQ0dBZmZpbmVUcmFuc2Zvcm0gQ0dDb250
ZXh0R2V0QmFzZUNUTShDR0NvbnRleHRSZWYpOwotfTsKLSNlbmRpZiAvLyAhUExBVEZPUk0oSU9T
KQotCiAvLyBGSVhNRTogVGhlIGZvbGxvd2luZyB1c2luZyBkZWNsYXJhdGlvbiBzaG91bGQgYmUg
aW4gPHd0Zi9IYXNoRnVuY3Rpb25zLmg+LgogdXNpbmcgV1RGOjpwYWlySW50SGFzaDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VTb3VyY2VD
Ry5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNH
LmNwcAppbmRleCBkMDZmMzgzZTcyYTI3MGJhMDlmYjdkODViY2RiMmNiZGQ3MjhmOGY2Li5jMDM5
ZWE3ODUwOTczODhhYjFiMTM5YTRjOWIyYTAyNTY4ZjExMjQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcApAQCAtMzcs
NyArMzcsNyBAQAogI2lmICFQTEFURk9STShJT1MpCiAjaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2
aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CiAjZWxzZQotI2luY2x1ZGUgPENvcmVHcmFwaGlj
cy9DR0ltYWdlUHJpdmF0ZS5oPgorI2luY2x1ZGUgIkNHSW1hZ2VTUEkuaCIKICNpbmNsdWRlIDxJ
bWFnZUlPL0ltYWdlSU8uaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNs
dWRlIDx3dGYvUmV0YWluUHRyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuY3BwCmluZGV4IDFjYmNmNTMwMDA1Njlj
ZDFlNzBlNTJhM2Q2ODBlMGRlNDIxZDJkYzIuLjhhMDllZjFjMGNmZjk3ZGQ0YmJhMTQ0NjgwZmY0
MWQyZDk3MDA3MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL1BERkRvY3VtZW50SW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuY3BwCkBAIC0zMCw4ICszMCw2IEBACiAjaWYgVVNF
KENHKQogCiAjaWYgUExBVEZPUk0oSU9TKQotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHQ29udGV4
dFByaXZhdGUuaD4KLSNpbXBvcnQgPENvcmVHcmFwaGljcy9DR0NvbnRleHRHU3RhdGUuaD4KICNp
bXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KICNpbXBvcnQgPEltYWdlSU8vSW1h
Z2VJTy5oPgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KaW5kZXggM2ZmMTgy
M2ZmZTIyODg3Mzc0OTE0ODhiMTIwNjA0Mzg1NTc3ZmQ0OC4uODExZjU3ZWVmODQxOWFiZTVmOTQy
OGYwYjdjNTdlOWEwY2ZiMzZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQpAQCAt
MjgsOCArMjgsOCBAQAogI2lmICFQTEFURk9STShJT1MpCiAjaW1wb3J0IDxBcHBLaXQvTlNGb250
Lmg+CiAjZWxzZQorI2ltcG9ydCAiQ0dGb250SW5mb1NQSS5oIgogI2ltcG9ydCA8Q29yZVRleHQv
Q29yZVRleHQuaD4KLSNpbXBvcnQgPENvcmVHcmFwaGljcy9DR0ZvbnRJbmZvLmg+CiAjZW5kaWYK
IAogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5tbQppbmRleCA0ZmI4NDViOGJl
NzI0NjE0MTMzNTM2YzM5MTljMzM0ZTEwYzg2MmU1Li4zYzg3ODgxZDU1ZmU5MjgzNWI1Y2UxNWRl
MDVhYTdkN2E1YTEyZDNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9pb3MvRm9udENhY2hlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW0KQEAgLTI5LDExICsyOSwxMSBAQAogI2ltcG9ydCAi
Y29uZmlnLmgiCiAjaW1wb3J0ICJGb250Q2FjaGUuaCIKIAorI2ltcG9ydCAiQ0dGb250VW5pY29k
ZVN1cHBvcnRTUEkuaCIKKyNpbXBvcnQgIkNURm9udERlc2NyaXB0b3JTUEkuaCIKKyNpbXBvcnQg
IkNURm9udFNQSS5oIgogI2ltcG9ydCAiRm9udC5oIgogI2ltcG9ydCAiUmVuZGVyVGhlbWVJT1Mu
aCIKLSNpbXBvcnQgPENvcmVHcmFwaGljcy9DR0ZvbnRVbmljb2RlU3VwcG9ydC5oPgotI2ltcG9y
dCA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4KLSNpbXBvcnQgPENvcmVUZXh0L0NU
Rm9udFByaXYuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3Rm
L1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL3RleHQvQ1N0cmluZy5oPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRTZXJ2aWNlc0lPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250U2VydmljZXNJT1MubW0K
aW5kZXggYzA2MmRjODI5MzJkN2M1ZGYzMTkzZDM2ZTI5YzE2ZDNjODgxZDM0Yy4uZWJiNmJhNjlj
NzU2Y2ExNmFjNjM3Mzc2ZmZjNTdkNjdlZjBmMTlkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRTZXJ2aWNlc0lPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udFNlcnZpY2VzSU9TLm1tCkBAIC0yNSwx
MCArMjUsOSBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJGb250U2VydmljZXNJT1Mu
aCIKIAorI2ltcG9ydCAiQ0dGb250SW5mb1NQSS5oIgogI2ltcG9ydCAiRm9udE1ldHJpY3MuaCIK
LSNpbXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KLSNpbXBvcnQgPENvcmVHcmFw
aGljcy9Db3JlR3JhcGhpY3NQcml2YXRlLmg+Ci0jaW1wb3J0IDxtYWNoLW8vZHlsZF9wcml2Lmg+
CisjaW1wb3J0ICJkeWxkU1BJLmgiCiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2lvcy9TaW1wbGVGb250RGF0YUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2lvcy9TaW1wbGVGb250RGF0YUlPUy5tbQppbmRleCA0YWY4YTIzOGYwNjg1MGY2MzNk
MzEyYTNhNmQ0NGZjOGUzMmM1MGYzLi43YTdhMjI0YjE3OGEzYzRhZDliMmE1OWY5YzFkNDViNDdl
MmVhMmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3Mv
U2ltcGxlRm9udERhdGFJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvaW9zL1NpbXBsZUZvbnREYXRhSU9TLm1tCkBAIC0yOCwxMSArMjgsMTIgQEAKICNpbXBvcnQg
IlNpbXBsZUZvbnREYXRhLmgiCiAKICNpbXBvcnQgIkJsb2NrRXhjZXB0aW9ucy5oIgorI2ltcG9y
dCAiQ0dGb250SW5mb1NQSS5oIgorI2ltcG9ydCAiQ0dGb250UmVuZGVyaW5nU1BJLmgiCiAjaW1w
b3J0ICJGb250LmgiCiAjaW1wb3J0ICJGb250Q2FjaGUuaCIKICNpbXBvcnQgIkZvbnREZXNjcmlw
dGlvbi5oIgogI2ltcG9ydCAiRm9udFNlcnZpY2VzSU9TLmgiCi0jaW1wb3J0IDxDb3JlR3JhcGhp
Y3MvQ0dGb250SW5mby5oPgogI2ltcG9ydCA8Q29yZVRleHQvQ29yZVRleHQuaD4KICNpbXBvcnQg
PGZsb2F0Lmg+CiAjaW1wb3J0IDx1bmljb2RlL3VjaGFyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tCmluZGV4IGY4NDNhMTIxNmZjMjBjNjhl
MDM2YTJhMzc2ODkyYWRmM2I3YmI1ZjAuLmQzMTlmMWM4ZTQ3YTM3ZDdjMDY2Zjk4YWFhOGRlY2M4
N2M4NjhiNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9Gb250TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9G
b250TWFjLm1tCkBAIC0yMyw2ICsyMyw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQg
IkZvbnQuaCIKIAorI2ltcG9ydCAiQ1RGb250RGVzY3JpcHRvclNQSS5oIgogI2ltcG9ydCAiRGFz
aEFycmF5LmgiCiAjaW1wb3J0ICJHbHlwaEJ1ZmZlci5oIgogI2ltcG9ydCAiR3JhcGhpY3NDb250
ZXh0LmgiCkBAIC0zNCwyMCArMzUsMTEgQEAKICNlbmRpZgogI2ltcG9ydCA8d3RmL01hdGhFeHRy
YXMuaD4KIAotI2lmIF9faGFzX2luY2x1ZGUoPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2
Lmg+KQotI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4KLSNlbmRpZgot
ZXh0ZXJuICJDIiBib29sIENURm9udERlc2NyaXB0b3JJc1N5c3RlbVVJRm9udChDVEZvbnREZXNj
cmlwdG9yUmVmKTsKLQogI2lmIEVOQUJMRShMRVRURVJQUkVTUykKKyNpbXBvcnQgIkNHQ29udGV4
dEdTdGF0ZVNQSS5oIgorI2ltcG9ydCAiQ1VJQ2F0YWxvZ1NQSS5oIgorI2ltcG9ydCAiQ1VJU3R5
bGVFZmZlY3RDb25maWd1cmF0aW9uU1BJLmgiCiAjaW1wb3J0ICJTb2Z0TGlua2luZy5oIgotI2lm
IF9faGFzX2luY2x1ZGUoPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3NQcml2YXRlLmg+KQotI2lt
cG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljc1ByaXZhdGUuaD4KLSNlbHNlCi1leHRlcm4g
Q0dDb2xvclJlZiBDR0NvbnRleHRHZXRGaWxsQ29sb3JBc0NvbG9yKENHQ29udGV4dFJlZik7Ci0j
ZW5kaWYKLSNpbXBvcnQgPENvcmVVSS9DVUlDYXRhbG9nLmg+Ci0jaW1wb3J0IDxDb3JlVUkvQ1VJ
U3R5bGVFZmZlY3RDb25maWd1cmF0aW9uLmg+CiAKIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09S
SyhDb3JlVUkpCiBTT0ZUX0xJTktfQ0xBU1MoQ29yZVVJLCBDVUlDYXRhbG9nKQpAQCAtNTUsNyAr
NDcsNyBAQCBTT0ZUX0xJTktfQ0xBU1MoQ29yZVVJLCBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRp
b24pCiAKIFNPRlRfTElOS19GUkFNRVdPUksoVUlLaXQpCiBTT0ZUX0xJTksoVUlLaXQsIF9VSUtp
dEdldFRleHRFZmZlY3RzQ2F0YWxvZywgQ1VJQ2F0YWxvZyAqLCAodm9pZCksICgpKQotI2VuZGlm
CisjZW5kaWYgLy8gRU5BQkxFKExFVFRFUlBSRVNTKQogCiAjZGVmaW5lIFNZTlRIRVRJQ19PQkxJ
UVVFX0FOR0xFIDE0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvR2x5cGhQYWdlVHJlZU5vZGVNYWMuY3BwCmluZGV4IDE3NDVjZjYyYjRj
MjE2ODljZDczZDc1MzEwYmFiYzZkMDU4ZDgwYTguLmJhNDk1ZTgyZTg1MjEwYzczYzhlMTQ5MzUz
N2M4NDUyMjk1YTQ0ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0dseXBoUGFnZVRyZWVOb2RlTWFjLmNwcApAQCAtMzUsOCArMzUs
NyBAQAogI2lmICFQTEFURk9STShJT1MpCiAjaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9B
cHBsaWNhdGlvblNlcnZpY2VzLmg+CiAjZWxzZQotI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0Zv
bnRVbmljb2RlU3VwcG9ydC5oPgotI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udFByaXYuaD4KKyNp
bmNsdWRlICJDR0ZvbnRVbmljb2RlU3VwcG9ydFNQSS5oIgogI2luY2x1ZGUgPENvcmVUZXh0L0Nv
cmVUZXh0Lmg+CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByb3h5LmgKaW5kZXggZTkzYmUyNDBhNmQxYTg4MjNm
YTM3NjA3MDJkMDY4ZjEzNGJkN2RjNS4uYThlOTkxYmUzZDlhYzhkMTlmODU1YTdlY2M2Zjg0NDJh
Y2YzNmY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvTWVkaWFQbGF5ZXJQcm94eS5oCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpZiBUQVJHRVRf
T1NfSVBIT05FCiAjaWYgZGVmaW5lZChfX09CSkNfXykKLSNpbXBvcnQgPEZvdW5kYXRpb24vTlNH
ZW9tZXRyeS5oPgorI2ltcG9ydCA8V2ViQ29yZS9OU0dlb21ldHJ5U1BJLmg+CiAjZW5kaWYKIAog
Ly8gTmVlZGVkIHNpbmNlIHRoaXMgaXMgYSBXZWJLaXQgcHJpdmF0ZSBoZWFkZXIgb24gaU9TLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZv
bnREYXRhTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBs
ZUZvbnREYXRhTWFjLm1tCmluZGV4IGZiZGM3NDRhNmM1ZTZjN2UyZTkzNTI2ZDlhYzIwNWFlMWI5
MWI1NzAuLjZlNzRlYmE0OGNmZGIyYmZkODhkM2Q5YzYxODcwMGU3ZDcyMzE2MTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9u
dERhdGFNYWMubW0KQEAgLTI4LDYgKzI4LDggQEAKICNpbXBvcnQgIlNpbXBsZUZvbnREYXRhLmgi
CiAKICNpbXBvcnQgIkJsb2NrRXhjZXB0aW9ucy5oIgorI2ltcG9ydCAiQ0dGb250R2x5cGhTdXBw
b3J0U1BJLmgiCisjaW1wb3J0ICJDVEZvbnREZXNjcmlwdG9yU1BJLmgiCiAjaW1wb3J0ICJDb2xv
ci5oIgogI2ltcG9ydCAiRmxvYXRSZWN0LmgiCiAjaW1wb3J0ICJGb250LmgiCkBAIC00NCwyMCAr
NDYsOCBAQAogI2ltcG9ydCA8ZmxvYXQuaD4KICNpbXBvcnQgPHVuaWNvZGUvdWNoYXIuaD4KICNp
bXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW1wb3J0IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAj
aW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Ci0KLSNpZiBkZWZpbmVkKF9faGFzX2luY2x1ZGUpICYm
IF9faGFzX2luY2x1ZGUoPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3JQcml2Lmg+KQotI2ltcG9y
dCA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4KLSNlbmRpZgotZXh0ZXJuICJDIiBi
b29sIENURm9udERlc2NyaXB0b3JJc1N5c3RlbVVJRm9udChDVEZvbnREZXNjcmlwdG9yUmVmKTsK
LQotI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVkZSg8Q29yZUdyYXBo
aWNzL0NHRm9udEdseXBoU3VwcG9ydC5oPikKLSNpbXBvcnQgPENvcmVHcmFwaGljcy9DR0ZvbnRH
bHlwaFN1cHBvcnQuaD4KLSNlbmRpZgotZXh0ZXJuICJDIiBib29sIENHRm9udEdldEdseXBoQWR2
YW5jZXNGb3JTdHlsZShDR0ZvbnRSZWYgZm9udCwKLSAgICBjb25zdCBDR0FmZmluZVRyYW5zZm9y
bSAqdCwgQ0dGb250UmVuZGVyaW5nU3R5bGUgc3R5bGUsCi0gICAgY29uc3QgQ0dHbHlwaCBnbHlw
aHNbXSwgc2l6ZV90IGNvdW50LCBDR1NpemUgYWR2YW5jZXNbXSk7CisjaW1wb3J0IDx3dGYvU3Rk
TGliRXh0cmFzLmg+CiAKICNpZiAhUExBVEZPUk0oSU9TKQogQGludGVyZmFjZSBOU0ZvbnQgKFdl
YkFwcEtpdFNlY3JldEFQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9MZWdhY3lUaWxlQ2FjaGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5
VGlsZUNhY2hlLm1tCmluZGV4IDZjMDAxNDJiOTZmNjAxN2RiNWI4ZTU5N2ZjZTgxZDY3NDM0OTU1
NjYuLmEwZTJiOTBhZDE0YzljYzgxZmY0NGE2ZDZjZDc4OWExN2EzZmIzMzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQpAQCAtMjgsNiArMjgs
OCBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisjaW5jbHVkZSAiQ0FMYXllclNQSS5oIgorI2lu
Y2x1ZGUgIkNHU1JlZ2lvblNQSS5oIgogI2luY2x1ZGUgIkxlZ2FjeVRpbGVHcmlkLmgiCiAjaW5j
bHVkZSAiTGVnYWN5VGlsZUdyaWRUaWxlLmgiCiAjaW5jbHVkZSAiTGVnYWN5VGlsZUxheWVyLmgi
CkBAIC00MCw3ICs0Miw2IEBACiAjaW5jbHVkZSAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgog
I2luY2x1ZGUgIldlYkNvcmVUaHJlYWRSdW4uaCIKICNpbmNsdWRlIDxRdWFydHpDb3JlL1F1YXJ0
ekNvcmUuaD4KLSNpbmNsdWRlIDxRdWFydHpDb3JlL1F1YXJ0ekNvcmVQcml2YXRlLmg+CiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIEBpbnRlcmZhY2UgV0FLVmlldyAoV2ViVmlld0V4
dHJhcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxl
R3JpZC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZC5tbQpp
bmRleCBhOTJkZjEzYmNiODg1MzY5OGU2ODQ5MTkzNTk0ZWQzYjM1NTZjZmFiLi41Y2UzN2I0ZTA2
OWYxZWQ3YzkzNWExZWIyYzU4MWQ4OWU5ZGNlMTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkLm1tCkBAIC0yOCwxNSArMjgsMTYgQEAKIAogI2lmIFBM
QVRGT1JNKElPUykKIAorI2luY2x1ZGUgIkNBTGF5ZXJTUEkuaCIKKyNpbmNsdWRlICJDR0Zsb2F0
U1BJLmgiCiAjaW5jbHVkZSAiTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgiCiAjaW5jbHVkZSAiU3lz
dGVtTWVtb3J5LmgiCiAjaW5jbHVkZSAiTGVnYWN5VGlsZUdyaWRUaWxlLmgiCiAjaW5jbHVkZSAi
TGVnYWN5VGlsZUxheWVyLmgiCiAjaW5jbHVkZSAiTGVnYWN5VGlsZUxheWVyUG9vbC5oIgogI2lu
Y2x1ZGUgIldBS1dpbmRvdy5oIgotI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3NQ
cml2YXRlLmg+CisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgogI2luY2x1
ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgotI2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6
Q29yZVByaXZhdGUuaD4KICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8ZnVuY3Rpb25h
bD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVH
cmlkVGlsZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZFRp
bGUubW0KaW5kZXggY2NmNGViOGFlMTM2YTljNjQ4ZDA0YjQxYmE5ZmRkMTIzNzY2NWUwYS4uNDBm
MmI5NmMyY2Q4YTc5M2MwNDU2ZDc4NWFjMGUzZDYyNDc3YjJhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWRUaWxlLm1tCkBAIC0yOCw2ICsyOCw3
IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKKyNpbmNsdWRlICJDQUxheWVyU1BJLmgiCiAjaW5j
bHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJMZWdhY3lUaWxlQ2FjaGUuaCIKICNpbmNsdWRlICJM
ZWdhY3lUaWxlR3JpZC5oIgpAQCAtMzUsNyArMzYsNiBAQAogI2luY2x1ZGUgIkxlZ2FjeVRpbGVM
YXllclBvb2wuaCIKICNpbmNsdWRlICJXQUtXaW5kb3cuaCIKICNpbmNsdWRlIDxRdWFydHpDb3Jl
L1F1YXJ0ekNvcmUuaD4KLSNpbmNsdWRlIDxRdWFydHpDb3JlL1F1YXJ0ekNvcmVQcml2YXRlLmg+
CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5t
bQppbmRleCA0NjUzMTViYzczYzZhYTNkYTMwMmM1ZWQ4N2E0YjRmOGFhMjFmODZjLi4wZTA4Y2Yy
YjQwZjM3MjNmZDFjZTNhZmY3MWI2Mjg0MGRkMDlmOTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1FdmVudEZhY3RvcnlJT1MubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0b3J5SU9TLm1tCkBAIC0yNiwx
MSArMjYsMTIgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiUGxhdGZvcm1FdmVudEZh
Y3RvcnlJT1MuaCIKIAotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CisjaW1wb3J0
ICJOU0dlb21ldHJ5U1BJLmgiCiAjaW1wb3J0IDxJbnRQb2ludC5oPgogI2ltcG9ydCA8S2V5RXZl
bnRDb2NvYS5oPgogI2ltcG9ydCA8TG9nZ2luZy5oPgogI2ltcG9ydCA8V2ViRXZlbnQuaD4KKyNp
bXBvcnQgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbQppbmRleCBl
ZjI1ZjI0NTgzZWVhN2E3YjQzOGQxMjliYmVjNGI4ZTk2MTNlYjVhLi41ZGM1YjdkZWNiMjczMmJk
ZDQ3NTgyMDU5ZTEyYjBmOTI1ZmRjYjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tCkBAIC0zMCwxMCArMzAsMTAgQEAKICNpbXBvcnQg
IkZyYW1lVmlldy5oIgogI2ltcG9ydCAiSG9zdFdpbmRvdy5oIgogI2ltcG9ydCAiSW50UmVjdC5o
IgorI2ltcG9ydCAiTW9iaWxlR2VzdGFsdFNQSS5oIgogI2ltcG9ydCAiV0FLV2luZG93LmgiCiAj
aW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0ICJXaWRnZXQuaCIKLSNp
bXBvcnQgPE1vYmlsZUdlc3RhbHQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZlbnQubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZlbnQubW0KaW5kZXggYjdkZTk2Y2VlYjA0MmQxYjBhMzFl
M2I1YmRkOWJiYzJlODExNDkzYS4uYTU4ODZmNjAyM2UxOTZhZmM4ZTZiNzFiZDNiNGQ1OTFmM2Yy
YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkV2ZW50Lm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJFdmVudC5tbQpAQCAtMjksNyAr
MjksNyBAQAogI2ltcG9ydCAiV2ViRXZlbnQuaCIKIAogI2ltcG9ydCAiS2V5RXZlbnRDb2NvYS5o
IgotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CisjaW1wb3J0ICJOU0dlb21ldHJ5
U1BJLmgiCiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9X
ZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQppbmRleCBkZWJiYzljMDgxZTc4OWZl
MDA0NDA5ZDQ5ODBlOWU5M2RlMGU2MTY1Li5mZTM3NTY1Y2Y2MmJmZGM4YmI5NDc0MjkwYmVmNzBk
YzVlMTAzYjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC0zMCwxNiArMzAs
MTUgQEAKIAogI2ltcG9ydCAiV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaCIKIAor
I2ltcG9ydCAiQVZQbGF5ZXJDb250cm9sbGVyU1BJLmgiCisjaW1wb3J0ICJBVlBsYXllclZpZXdD
b250cm9sbGVyU1BJLmgiCisjaW1wb3J0ICJBVlZhbHVlVGltaW5nU1BJLmgiCisjaW1wb3J0ICJB
VlZpZGVvTGF5ZXJTUEkuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIkdlb21ldHJ5
VXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbC5oIgogI2ltcG9y
dCA8QVZGb3VuZGF0aW9uL0FWVGltZS5oPgogI2ltcG9ydCA8QVZLaXQvQVZLaXQuaD4KLSNpbXBv
cnQgPEFWS2l0L0FWUGxheWVyQ29udHJvbGxlci5oPgotI2ltcG9ydCA8QVZLaXQvQVZQbGF5ZXJW
aWV3Q29udHJvbGxlcl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxBVktpdC9BVlBsYXllclZpZXdDb250
cm9sbGVyX1dlYktpdE9ubHkuaD4KLSNpbXBvcnQgPEFWS2l0L0FWVmFsdWVUaW1pbmcuaD4KLSNp
bXBvcnQgPEFWS2l0L0FWVmlkZW9MYXllci5oPgogI2ltcG9ydCA8Q29yZU1lZGlhL0NNVGltZS5o
PgogI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzSU9TLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3Mvd2FrL1dBS0FwcEtpdFN0dWJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2Fr
L1dBS0FwcEtpdFN0dWJzLmgKaW5kZXggNzM4NWVjMGIzYzZhOWVhOTFhMTZiN2MwNGM4MmRiY2Q2
MjE3MDFkYi4uNjk5MjAzMzVjM2UzZTMxNzc1ZmMxYWI3ZWI0ZGYxZmJlMzIzOWZlZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XQUtBcHBLaXRTdHVicy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0FLQXBwS2l0U3R1YnMuaApAQCAt
MzIsOCArMzIsOSBAQAogCiAjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CiAj
aW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKwogLy8gRklYTUU6IDxyZGFyOi8vcHJv
YmxlbS82NjY5NDM0PiBTd2l0Y2ggZnJvbSB1c2luZyBOU0dlb21ldHJ5IG1ldGhvZHMgdG8gQ0dH
ZW9tZXRyeSBtZXRob2RzCi0jaW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvTlNHZW9tZXRyeVNQSS5oPgogCiAjaWZuZGVmIE5TQ2xpcFZpZXcKICNkZWZp
bmUgTlNDbGlwVmlldyBXQUtDbGlwVmlldwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL3dhay9XQUtWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2Fr
L1dBS1ZpZXcuaAppbmRleCA5OTk4ZjcwMTFlZDY3YTVkNDljNDEzZWVjN2IyMzk1NmE4Y2FlNDhk
Li4zOWNlMTA0MDRiNzZjZDU3MjJjOWU4ZTQ3NTU2NDE3YjBiZWEwYjRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS1ZpZXcuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS1ZpZXcuaApAQCAtMjgsMTUgKzI4LDEwIEBACiAKICNp
ZiBUQVJHRVRfT1NfSVBIT05FCiAKLSNpbXBvcnQgIldBS1Jlc3BvbmRlci5oIgotI2ltcG9ydCA8
Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBo
aWNzLmg+Ci0KLSNpZm5kZWYgTlNSZWN0Ci0jZGVmaW5lIE5TUmVjdCBDR1JlY3QKLSNlbmRpZgot
I2RlZmluZSBOU1BvaW50IENHUG9pbnQKLSNkZWZpbmUgTlNTaXplIENHU2l6ZQorI2ltcG9ydCA8
Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDxXZWJDb3JlL05TR2VvbWV0cnlTUEku
aD4KKyNpbXBvcnQgPFdlYkNvcmUvV0FLUmVzcG9uZGVyLmg+CiAKIGV4dGVybiBOU1N0cmluZyAq
V0FLVmlld0ZyYW1lU2l6ZURpZENoYW5nZU5vdGlmaWNhdGlvbjsKIGV4dGVybiBOU1N0cmluZyAq
V0FLVmlld0RpZFNjcm9sbE5vdGlmaWNhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL3dhay9XS0dyYXBoaWNzLmgKaW5kZXggYmYzODU5NjhmNDgzNmRjZTk2NDg2YzY2MGY3YjRj
NGNmOTcwZjE5OC4uZWRlMDhkNmZlMDZkZmE3YzNmMDhkYWJmMTc2NDVjNjcwMjM4ZDE2ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBoaWNzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBoaWNzLmgKQEAgLTI4LDgg
KzI4LDggQEAKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKIAotI2ltcG9ydCA8Q29yZUdyYXBoaWNz
L0NvcmVHcmFwaGljcy5oPgotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljc1ByaXZh
dGUuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ0dDb250ZXh0U1BJLmg+CisjaW1wb3J0IDxXZWJDb3Jl
L0NHRm9udFJlbmRlcmluZ1NQSS5oPgogCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBoaWNz
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBoaWNzLm1tCmluZGV4
IDMxYzZlYzAyYTk5OWNiMjc3ZTJjYjQwODg2ZmE0NDM0ZjQ0MjFlY2EuLjlkYmJlZDRjY2Y5Njdi
NjUxZDhjYWQwMWNhNGIyNGZiMDNjY2YxN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3Mvd2FrL1dLR3JhcGhpY3MubW0KQEAgLTI4LDggKzI4LDkgQEAKIAogI2lmIFBMQVRGT1JN
KElPUykKIAotI2ltcG9ydCAiV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIgorI2ltcG9ydCAiQ0dD
b250ZXh0R1N0YXRlU1BJLmgiCiAjaW1wb3J0ICJGb250LmgiCisjaW1wb3J0ICJXZWJDb3JlU3lz
dGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0ICJXZWJDb3JlVGhyZWFkLmgiCiAjaW1wb3J0IDxJbWFn
ZUlPL0ltYWdlSU8uaD4KICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbQppbmRleCA1YzAxYzY2
NmViYzhlZDc2OTE3MWZjNDNmOWQ4NDk1OWY0YWM3MjM3Li40YjA5ZDFmMDZkYTgyMzhmNzM2MDQz
NWMxN2YzYTE5YTk1YzNiM2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3Mvd2FrL1dlYkNvcmVUaHJlYWQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L3dhay9XZWJDb3JlVGhyZWFkLm1tCkBAIC00NSw3ICs0NSw2IEBACiAjaW1wb3J0IDx3dGYvVGhy
ZWFkaW5nLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAotI2ltcG9ydCA8
Q29yZUZvdW5kYXRpb24vQ0ZQcml2Lmg+CiAjaW1wb3J0IDxGb3VuZGF0aW9uL05TSW52b2NhdGlv
bi5oPgogI2ltcG9ydCA8bGlia2Vybi9PU0F0b21pYy5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1l
Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlj
a0xvb2subW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlja0xvb2su
bW0KaW5kZXggOGY4NDllMzgyZjY1ODc0YWQ3OGQ4NjhlY2ZkZDg2NmM3ZjVlOTBlZi4uMTE1MTBh
OGZkMTVjYmUwN2EyM2Q4Yzc2OWQwNWE4OTg0MzAxZGZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9pb3MvUXVpY2tMb29rLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNrTG9vay5tbQpAQCAtMzEsNiArMzEsOSBAQAog
I2ltcG9ydCAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbXBvcnQgIkZpbGVTeXN0ZW1JT1MuaCIKICNp
bXBvcnQgIkxvZ2dpbmcuaCIKKyNpbXBvcnQgIk5TRmlsZU1hbmFnZXJTUEkuaCIKKyNpbXBvcnQg
IlFMUHJldmlld0NvbnZlcnRlclNQSS5oIgorI2ltcG9ydCAiUXVpY2tMb29rU1BJLmgiCiAjaW1w
b3J0ICJSZXNvdXJjZUVycm9yLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUhhbmRsZS5oIgogI2ltcG9y
dCAiUmVzb3VyY2VMb2FkZXIuaCIKQEAgLTM5LDkgKzQyLDYgQEAKICNpbXBvcnQgIlN5bmNocm9u
b3VzUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZS5oIgogI2ltcG9ydCAiV2Vi
Q29yZVVSTFJlc3BvbnNlSU9TLmgiCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4K
LSNpbXBvcnQgPEZvdW5kYXRpb24vTlNGaWxlTWFuYWdlcl9OU1VSTEV4dHJhcy5oPgotI2ltcG9y
dCA8UXVpY2tMb29rL1FMUHJldmlld0NvbnZlcnRlci5oPgotI2ltcG9ydCA8UXVpY2tMb29rL1F1
aWNrTG9va1ByaXZhdGUuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9y
dCA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL1RocmVhZGluZy5oPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NhL0NBTGF5ZXJTUEkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jYS9DQUxheWVyU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2E2YTQ4
OGNjMjQ3NGYyMzVhZmU4Y2RkZjhhNTNmNjc2MGU4NTAzZAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jYS9DQUxheWVyU1BJLmgKQEAgLTAsMCArMSw0NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FMYXllclByaXZhdGUu
aD4KKyNlbHNlCisjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisjaW1wb3J0
IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KKworQGNsYXNzIENBQ29udGV4dDsKKworQGludGVy
ZmFjZSBDQUxheWVyIChEZXRhaWxzKQorLSAoQ0FDb250ZXh0ICopY29udGV4dDsKKy0gKENHU2l6
ZSlzaXplOworLSAodm9pZCAqKXJlZ2lvbkJlaW5nRHJhd247CistICh2b2lkKXNldENvbnRlbnRz
Q2hhbmdlZDsKK0Bwcm9wZXJ0eSBCT09MIGFjY2VsZXJhdGVzRHJhd2luZzsKK0Bwcm9wZXJ0eSBC
T09MIGFsbG93c0dyb3VwQmxlbmRpbmc7CitAcHJvcGVydHkgQk9PTCBjYW5EcmF3Q29uY3VycmVu
dGx5OworQHByb3BlcnR5IEJPT0wgY29udGVudHNPcGFxdWU7CitAcHJvcGVydHkgQk9PTCBuZWVk
c0xheW91dE9uR2VvbWV0cnlDaGFuZ2U7CitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NhL0NBVGlsZWRMYXllclNQSS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL2NhL0NBVGlsZWRMYXllclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwYmRh
NGUxYTU5OTY3MWZmY2NhNjU3NGNkYzgyYWYyODU0M2IzNDQKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2EvQ0FUaWxlZExheWVyU1BJLmgKQEAgLTAsMCAr
MSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisj
aW5jbHVkZSA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKQorI2ltcG9ydCA8UXVhcnR6Q29yZS9DQVRpbGVkTGF5ZXJQcml2YXRlLmg+CisjZWxz
ZQorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2ltcG9ydCA8UXVhcnR6
Q29yZS9RdWFydHpDb3JlLmg+CisKK0BpbnRlcmZhY2UgQ0FUaWxlZExheWVyIChEZXRhaWxzKQor
LSAodm9pZClkaXNwbGF5SW5SZWN0OihDR1JlY3QpcmVjdCBsZXZlbE9mRGV0YWlsOihpbnQpbGV2
ZWxPZkRldGFpbCBvcHRpb25zOihOU0RpY3Rpb25hcnkgKilkaWN0aW9uYXJ5OworLSAodm9pZClz
ZXROZWVkc0Rpc3BsYXlJblJlY3Q6KENHUmVjdClyZWN0IGxldmVsT2ZEZXRhaWw6KGludClsZXZl
bE9mRGV0YWlsIG9wdGlvbnM6KE5TRGljdGlvbmFyeSAqKWRpY3Rpb25hcnk7CitAZW5kCisjZW5k
aWYKKworI2lmbmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworZXh0ZXJu
IE5TU3RyaW5nICogY29uc3Qga0NBVGlsZWRMYXllclJlbW92ZUltbWVkaWF0ZWx5OworCisjaWZu
ZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NwaS9jZy9DR0NvbG9yVHJhbnNmb3JtU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY2cvQ0dDb2xvclRyYW5zZm9ybVNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1ZmViNTczZjE2
Yzg5YTNiMTRmMjAyN2M4OWM4Y2MzYjdhNDk4NzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dDb2xvclRyYW5zZm9ybVNQSS5oCkBAIC0wLDAgKzEs
NDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lm
bmRlZiBDR0NvbG9yVHJhbnNmb3JtU1BJX2gKKyNkZWZpbmUgQ0dDb2xvclRyYW5zZm9ybVNQSV9o
CisKKyNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgorI2luY2x1ZGUg
PENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9T
REspCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29sb3JUcmFuc2Zvcm0uaD4KKyNlbHNlCit0
eXBlZGVmIGNvbnN0IHN0cnVjdCBDR0NvbG9yVHJhbnNmb3JtKiBDR0NvbG9yVHJhbnNmb3JtUmVm
OworI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKwor
ZXh0ZXJuIENHQ29sb3JSZWYgQ0dDb2xvclRyYW5zZm9ybUNvbnZlcnRDb2xvcihDR0NvbG9yVHJh
bnNmb3JtUmVmLCBDR0NvbG9yUmVmLCBDR0NvbG9yUmVuZGVyaW5nSW50ZW50KTsKK2V4dGVybiBD
R0NvbG9yVHJhbnNmb3JtUmVmIENHQ29sb3JUcmFuc2Zvcm1DcmVhdGUoQ0dDb2xvclNwYWNlUmVm
LCBDRkRpY3Rpb25hcnlSZWYgYXR0cmlidXRlcyk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQor
I2VuZGlmCisKKyNlbmRpZiAvLyBDR0NvbG9yVHJhbnNmb3JtU1BJX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0NvbnRleHRHU3RhdGVTUEkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0NvbnRleHRHU3RhdGVTUEkuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42NDU0NmRjODYxNWM0ZTRlYjAzNzdjMDY1ZWU3MjUwODllYTgwNTJjCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHQ29udGV4dEdTdGF0ZVNQSS5o
CkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2lmbmRlZiBDR0NvbnRleHRHU3RhdGVTUElfaAorI2RlZmluZSBDR0NvbnRleHRH
U3RhdGVTUElfaAorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3Jl
R3JhcGhpY3MvQ0dDb250ZXh0R1N0YXRlLmg+CisjZW5kaWYKKworI2luY2x1ZGUgPFdlYkNvcmUv
Q0dDb250ZXh0U1BJLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5k
aWYKKworZXh0ZXJuIENHQ29sb3JSZWYgQ0dDb250ZXh0R2V0RmlsbENvbG9yQXNDb2xvcihDR0Nv
bnRleHRSZWYpOworZXh0ZXJuIENHQ29tcG9zaXRlT3BlcmF0aW9uIENHQ29udGV4dEdldENvbXBv
c2l0ZU9wZXJhdGlvbihDR0NvbnRleHRSZWYpOworZXh0ZXJuIENHRmxvYXQgQ0dDb250ZXh0R2V0
TGluZVdpZHRoKENHQ29udGV4dFJlZik7CitleHRlcm4gdm9pZCBDR0NvbnRleHRTZXRDVE0oQ0dD
b250ZXh0UmVmLCBDR0FmZmluZVRyYW5zZm9ybSk7CitleHRlcm4gdm9pZCBDR0NvbnRleHRTZXRD
b21wb3NpdGVPcGVyYXRpb24oQ0dDb250ZXh0UmVmLCBDR0NvbXBvc2l0ZU9wZXJhdGlvbik7CisK
KyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvLyBDR0NvbnRleHRHU3Rh
dGVTUElfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHQ29u
dGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHQ29udGV4dFNQSS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJkZDMzOWQxNjIxMGFjM2FiOTlkYzlkYWQ1NDJkMmM1NjljZThmN2UKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dDb250ZXh0
U1BJLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKyAqLworCisjaWZuZGVmIENHQ29udGV4dFNQSV9oCisjZGVmaW5lIENHQ29udGV4dFNQ
SV9oCisKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0NvbnRleHRQcml2
YXRlLmg+CisjZWxzZQordHlwZWRlZiBlbnVtIHsKKyAgICBrQ0dDb21wb3NpdGVDb3B5ID0gMSwK
KyAgICBrQ0dDb21wb3NpdGVTb3ZlciA9IDIsCit9IENHQ29tcG9zaXRlT3BlcmF0aW9uOworI2Vu
ZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworZXh0ZXJu
IENHQWZmaW5lVHJhbnNmb3JtIENHQ29udGV4dEdldEJhc2VDVE0oQ0dDb250ZXh0UmVmKTsKK2V4
dGVybiB2b2lkIENHQ29udGV4dFNldEJhc2VDVE0oQ0dDb250ZXh0UmVmLCBDR0FmZmluZVRyYW5z
Zm9ybSk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvLyBDR0Nv
bnRleHRTUElfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NH
RmxvYXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0Zsb2F0U1BJLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzkwNjI2NmY4YTlkMmUyNzliMjAzOTIxN2Q2NDJiZGJhN2EzMjQ4NQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0Zsb2F0U1BJ
LmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjaWZuZGVmIENHRmxvYXRTUElfaAorI2RlZmluZSBDR0Zsb2F0U1BJX2gKKwor
I2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRmxvYXQuaD4KKyNlbHNlCisj
aW5jbHVkZSA8bWF0aC5oPgorCitzdGF0aWMgaW5saW5lIENHRmxvYXQgQ0dSb3VuZChDR0Zsb2F0
IHZhbHVlKQoreworICAgIGlmIChzaXplb2YodmFsdWUpID09IHNpemVvZihmbG9hdCkpCisgICAg
ICAgIHJldHVybiAoQ0dGbG9hdClyb3VuZGYoKGZsb2F0KXZhbHVlKTsKKyAgICByZXR1cm4gKENH
RmxvYXQpcm91bmQoKGRvdWJsZSl2YWx1ZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgQ0dGbG9hdCBD
R0Zsb2F0TWluKENHRmxvYXQgYSwgQ0dGbG9hdCBiKQoreworI2lmIGRlZmluZWQoX19TVERDX1ZF
UlNJT05fXykgJiYgX19TVERDX1ZFUlNJT05fXyA+PSAxOTk5MDFMCisgICAgaWYgKHNpemVvZihh
KSA9PSBzaXplb2YoZmxvYXQpKSB7CisgICAgICAgIHJldHVybiAoQ0dGbG9hdClmbWluZigoZmxv
YXQpYSwgKGZsb2F0KWIpOworICAgIHJldHVybiAoQ0dGbG9hdClmbWluKChkb3VibGUpYSwgKGRv
dWJsZSliKTsKKyNlbHNlIAorICAgIHJldHVybiBpc25hbihhKSA/IGIgOiAoKGlzbmFuKGIpIHx8
IGEgPCBiKSA/IGEgOiBiKTsKKyNlbmRpZgorfQorCitzdGF0aWMgaW5saW5lIENHRmxvYXQgQ0dG
bG9vcihDR0Zsb2F0IHZhbHVlKQoreworICAgIGlmIChzaXplb2YodmFsdWUpID09IHNpemVvZihm
bG9hdCkpCisgICAgICAgIHJldHVybiAoQ0dGbG9hdClmbG9vcmYoKGZsb2F0KXZhbHVlKTsKKyAg
ICByZXR1cm4gKENHRmxvYXQpZmxvb3IoKGRvdWJsZSl2YWx1ZSk7Cit9CisKK3N0YXRpYyBpbmxp
bmUgQ0dGbG9hdCBDR0ZBYnMoQ0dGbG9hdCB2YWx1ZSkKK3sKKyAgICBpZiAoc2l6ZW9mKHZhbHVl
KSA9PSBzaXplb2YoZmxvYXQpKQorICAgICAgICByZXR1cm4gKENHRmxvYXQpZmFic2YoKGZsb2F0
KXZhbHVlKTsKKyAgICByZXR1cm4gKENHRmxvYXQpZmFicygoZG91YmxlKXZhbHVlKTsKK30KKyNl
bmRpZgorCisjZW5kaWYgLy8gQ0dGbG9hdFNQSV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250R2x5cGhTdXBwb3J0U1BJLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250R2x5cGhTdXBwb3J0U1BJLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTI5
OWE0MDM0M2IxZDczOWQ4ODZhMTlkYjMzNzk2NDVmY2M4NjI1YQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaApA
QCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpZm5kZWYgQ0dGb250R2x5cGhTdXBwb3J0U1BJX2gKKyNkZWZpbmUgQ0dGb250R2x5
cGhTdXBwb3J0U1BJX2gKKworI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4K
KworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NH
Rm9udEdseXBoU3VwcG9ydC5oPgorI2Vsc2UKK3R5cGVkZWYgdWludDMyX3QgQ0dGb250UmVuZGVy
aW5nU3R5bGU7CisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNl
bmRpZgorCitleHRlcm4gYm9vbCBDR0ZvbnRHZXRHbHlwaEFkdmFuY2VzRm9yU3R5bGUoQ0dGb250
UmVmLCBjb25zdCBDR0FmZmluZVRyYW5zZm9ybSogLCBDR0ZvbnRSZW5kZXJpbmdTdHlsZSwgY29u
c3QgQ0dHbHlwaCBnbHlwaHNbXSwgc2l6ZV90IGNvdW50LCBDR1NpemUgYWR2YW5jZXNbXSk7CisK
KyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvLyBDR0ZvbnRHbHlwaFN1
cHBvcnRTUElfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NH
Rm9udEluZm9TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ZvbnRJbmZv
U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjgyZTZkZmE2OWJlODZmMmYwZmIyOWYwODQ5NzUxMDQ2Y2U3ODlj
YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0Zv
bnRJbmZvU1BJLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIENHRm9udEluZm9TUElfaAorI2RlZmluZSBDR0Zv
bnRJbmZvU1BJX2gKKworI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+
CisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorCisjaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGb250SW5mby5oPgorI2Vs
c2UKK3N0cnVjdCBDR0ZvbnRITWV0cmljcyB7CisgICAgaW50IGFzY2VudDsKKyAgICBpbnQgZGVz
Y2VudDsKKyAgICBpbnQgbGluZUdhcDsKKyAgICBpbnQgbWF4QWR2YW5jZVdpZHRoOworICAgIGlu
dCBtaW5MZWZ0U2lkZUJlYXJpbmc7CisgICAgaW50IG1pblJpZ2h0U2lkZUJlYXJpbmc7Cit9Owor
CitzdHJ1Y3QgQ0dGb250RGVzY3JpcHRvciB7CisgICAgQ0dSZWN0IGJib3g7CisgICAgQ0dGbG9h
dCBhc2NlbnQ7CisgICAgQ0dGbG9hdCBkZXNjZW50OworICAgIENHRmxvYXQgY2FwSGVpZ2h0Owor
ICAgIENHRmxvYXQgaXRhbGljQW5nbGU7CisgICAgQ0dGbG9hdCBzdGVtVjsKKyAgICBDR0Zsb2F0
IHN0ZW1IOworICAgIENHRmxvYXQgYXZnV2lkdGg7CisgICAgQ0dGbG9hdCBtYXhXaWR0aDsKKyAg
ICBDR0Zsb2F0IG1pc3NpbmdXaWR0aDsKKyAgICBDR0Zsb2F0IGxlYWRpbmc7CisgICAgQ0dGbG9h
dCB4SGVpZ2h0OworfTsKKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIg
eworI2VuZGlmCisKK2V4dGVybiBDRlN0cmluZ1JlZiBDR0ZvbnRDb3B5RmFtaWx5TmFtZShDR0Zv
bnRSZWYpOworZXh0ZXJuIGJvb2wgQ0dGb250R2V0RGVzY3JpcHRvcihDR0ZvbnRSZWYsIENHRm9u
dERlc2NyaXB0b3IqKTsKK2V4dGVybiBib29sIENHRm9udElzRml4ZWRQaXRjaChDR0ZvbnRSZWYp
OworZXh0ZXJuIGNvbnN0IENHRm9udEhNZXRyaWNzKiBDR0ZvbnRHZXRITWV0cmljcyhDR0ZvbnRS
ZWYpOworZXh0ZXJuIGNvbnN0IGNoYXIqIENHRm9udEdldFBvc3RTY3JpcHROYW1lKENHRm9udFJl
Zik7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvLyBDR0ZvbnRJ
bmZvU1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0Zv
bnRSZW5kZXJpbmdTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ZvbnRS
ZW5kZXJpbmdTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDBiYjFhYjA4ZmJjMjFhMzY4YjFlZGVkYzE4NzFk
NTYwZjU0OTU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2NnL0NHRm9udFJlbmRlcmluZ1NQSS5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDR0ZvbnRSZW5kZXJpbmdT
UElfaAorI2RlZmluZSBDR0ZvbnRSZW5kZXJpbmdTUElfaAorCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGb250UmVuZGVyaW5nLmg+CisjZWxz
ZQorZW51bSB7CisgICAga0NHRm9udFJlbmRlcmluZ1N0eWxlQW50aWFsaWFzaW5nID0gMSA8PCAw
LAorICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVNtb290aGluZyA9IDEgPDwgMSwKKyAgICBrQ0dG
b250UmVuZGVyaW5nU3R5bGVTdWJwaXhlbFBvc2l0aW9uaW5nID0gMSA8PCAyLAorICAgIGtDR0Zv
bnRSZW5kZXJpbmdTdHlsZVN1YnBpeGVsUXVhbnRpemF0aW9uID0gMSA8PCAzLAorICAgIGtDR0Zv
bnRSZW5kZXJpbmdTdHlsZVBsYXRmb3JtTmF0aXZlID0gMSA8PCA5LAorICAgIGtDR0ZvbnRSZW5k
ZXJpbmdTdHlsZU1hc2sgPSAweDIwRiwKK307Cit0eXBlZGVmIHVpbnQzMl90IENHRm9udFJlbmRl
cmluZ1N0eWxlOworCitlbnVtIHsKKyAgICBrQ0dGb250QW50aWFsaWFzaW5nU3R5bGVVbmZpbHRl
cmVkID0gMCA8PCA3LAorICAgIGtDR0ZvbnRBbnRpYWxpYXNpbmdTdHlsZUZpbHRlckxpZ2h0ID0g
MSA8PCA3LAorfTsKK3R5cGVkZWYgdWludDMyX3QgQ0dGb250QW50aWFsaWFzaW5nU3R5bGU7Cisj
ZW5kaWYKKworI2VuZGlmIC8vIENHRm9udFJlbmRlcmluZ1NQSV9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ZvbnRVbmljb2RlU3VwcG9ydFNQSS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjZhNzU4MzcwYTAyNWI3ZTI3YzQwNTRhYmMxOTA5MTU2NzA1ZjVlZmEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250VW5pY29k
ZVN1cHBvcnRTUEkuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ0dGb250VW5pY29kZVN1cHBvcnRTUElfaAor
I2RlZmluZSBDR0ZvbnRVbmljb2RlU3VwcG9ydFNQSV9oCisKKyNpbmNsdWRlIDxDb3JlR3JhcGhp
Y3MvQ29yZUdyYXBoaWNzLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1
ZGUgPENvcmVHcmFwaGljcy9DR0ZvbnRVbmljb2RlU3VwcG9ydC5oPgorI2VuZGlmCisKKyNpZmRl
ZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworZXh0ZXJuIHZvaWQgQ0dGb250
R2V0R2x5cGhzRm9yVW5pY2hhcnMoQ0dGb250UmVmLCBjb25zdCBVbmlDaGFyW10sIENHR2x5cGhb
XSwgc2l6ZV90IGNvdW50KTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2Vu
ZGlmIC8vIENHRm9udFVuaWNvZGVTdXBwb3J0U1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ltYWdlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvY2cvQ0dJbWFnZVNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2YWJiYjQyYzQ4NWE5MzQxMTI4Y2Qy
MTBiZmFjNGZjNTM2ODVjMDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY2cvQ0dJbWFnZVNQSS5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDR0ltYWdlU1BJX2gKKyNk
ZWZpbmUgQ0dJbWFnZVNQSV9oCisKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dJbWFnZS5oPgor
CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dJ
bWFnZVByaXZhdGUuaD4KKyNlbHNlCitlbnVtIHsKKyAgICBrQ0dJbWFnZUNhY2hpbmdUZW1wb3Jh
cnkgPSAzLAorfTsKK3R5cGVkZWYgdWludDMyX3QgQ0dJbWFnZUNhY2hpbmdGbGFnczsKKyNlbmRp
ZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK2V4dGVybiB2
b2lkIENHSW1hZ2VTZXRDYWNoaW5nRmxhZ3MoQ0dJbWFnZVJlZiwgQ0dJbWFnZUNhY2hpbmdGbGFn
cyk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvLyBDR0ltYWdl
U1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR1NSZWdp
b25TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR1NSZWdpb25TUEkuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMTgzYjZjNDllNjVhOTUyYTk2YjBlZjgxZWYxNzYwNWMzYjk3ZmU1Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHU1JlZ2lvblNQ
SS5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKi8KKworI2lmbmRlZiBDR1NSZWdpb25TUElfaAorI2RlZmluZSBDR1NSZWdpb25TUElf
aAorCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorCisjaWYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dTUmVnaW9uLmg+Cisj
ZWxzZQordHlwZWRlZiBzdHJ1Y3QgQ0dTUmVnaW9uRW51bWVyYXRvck9iamVjdCogQ0dTUmVnaW9u
RW51bWVyYXRvck9iajsKK3R5cGVkZWYgc3RydWN0IENHU1JlZ2lvbk9iamVjdCogQ0dSZWdpb25S
ZWY7Cit0eXBlZGVmIHN0cnVjdCBDR1NSZWdpb25PYmplY3QqIENHU1JlZ2lvbk9iajsKKyNlbmRp
ZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK2V4dGVybiBD
R1NSZWdpb25FbnVtZXJhdG9yT2JqIENHU1JlZ2lvbkVudW1lcmF0b3IoQ0dSZWdpb25SZWYpOwor
ZXh0ZXJuIENHUmVjdCogQ0dTTmV4dFJlY3QoY29uc3QgQ0dTUmVnaW9uRW51bWVyYXRvck9iaik7
CitleHRlcm4gQ0dFcnJvciBDR1NSZWxlYXNlUmVnaW9uRW51bWVyYXRvcihjb25zdCBDR1NSZWdp
b25FbnVtZXJhdG9yT2JqKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2Vu
ZGlmIC8vIENHU1JlZ2lvblNQSV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvY29jb2EvRGlzcGF0Y2hTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9j
b2NvYS9EaXNwYXRjaFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1NmNmOTZkODMxNjY0ZWM0ZWNjMTFlZDRj
MjY1MTBmNDNkYzhiMGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvY29jb2EvRGlzcGF0Y2hTUEkuaApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgRGlzcGF0Y2hTUElfaAor
I2RlZmluZSBEaXNwYXRjaFNQSV9oCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7
CisjZW5kaWYKKworI2luY2x1ZGUgPGRpc3BhdGNoL2Rpc3BhdGNoLmg+CisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPGRpc3BhdGNoL3ByaXZhdGUuaD4KKyNlbHNlCitl
bnVtIHsKKyAgICBESVNQQVRDSF9NRU1PUllTVEFUVVNfUFJFU1NVUkVfTk9STUFMID0gMHgwMSwK
KyAgICBESVNQQVRDSF9NRU1PUllTVEFUVVNfUFJFU1NVUkVfV0FSTiA9IDB4MDIsCisgICAgRElT
UEFUQ0hfTUVNT1JZU1RBVFVTX1BSRVNTVVJFX0NSSVRJQ0FMID0gMHgwNCwKK307CisjZGVmaW5l
IERJU1BBVENIX1NPVVJDRV9UWVBFX01FTU9SWVNUQVRVUyAoJl9kaXNwYXRjaF9zb3VyY2VfdHlw
ZV9tZW1vcnlzdGF0dXMpCisjZW5kaWYKKworZXh0ZXJuIGNvbnN0IHN0cnVjdCBkaXNwYXRjaF9z
b3VyY2VfdHlwZV9zIF9kaXNwYXRjaF9zb3VyY2VfdHlwZV9tZW1vcnlzdGF0dXM7CisKKyNpZmRl
ZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvLyBEaXNwYXRjaFNQSV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvSU9QTUxpYlNQSS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0lPUE1MaWJTUEkuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iNGQwZWI4MTgyNDM2NDQ4MmU3MDZlMGU3MDg5ZTEyOTc2YzE3MzBhCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL0lPUE1MaWJTUEkuaApAQCAt
MCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisKKyNpZm5kZWYgSU9QTUxpYlNQSV9oCisjZGVmaW5lIElPUE1MaWJTUElfaAorCisjaW5jbHVk
ZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKworI2lmIFBMQVRGT1JNKE1BQykg
fHwgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxJT0tpdC9wd3JfbWd0L0lPUE1M
aWIuaD4KKyNlbHNlCisjaW5jbHVkZSA8bWFjaC9rZXJuX3JldHVybi5oPgorCit0eXBlZGVmIGtl
cm5fcmV0dXJuX3QgSU9SZXR1cm47Cit0eXBlZGVmIHVpbnQzMl90IElPUE1Bc3NlcnRpb25JRDsK
Kworc3RhdGljIGNvbnN0IENGU3RyaW5nUmVmIGtJT1BNQXNzZXJ0aW9uVHlwZVByZXZlbnRVc2Vy
SWRsZURpc3BsYXlTbGVlcCA9IENGU1RSKCJQcmV2ZW50VXNlcklkbGVEaXNwbGF5U2xlZXAiKTsK
KyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK2V4
dGVybiBJT1JldHVybiBJT1BNQXNzZXJ0aW9uQ3JlYXRlV2l0aERlc2NyaXB0aW9uKENGU3RyaW5n
UmVmIGFzc2VydGlvblR5cGUsIENGU3RyaW5nUmVmIG5hbWUsIENGU3RyaW5nUmVmIGRldGFpbHMs
CisgICAgQ0ZTdHJpbmdSZWYgaHVtYW5SZWFkYWJsZVJlYXNvbiwgQ0ZTdHJpbmdSZWYgbG9jYWxp
emF0aW9uQnVuZGxlUGF0aCwgQ0ZUaW1lSW50ZXJ2YWwgdGltZW91dCwgQ0ZTdHJpbmdSZWYgdGlt
ZW91dEFjdGlvbiwgSU9QTUFzc2VydGlvbklEICopOworZXh0ZXJuIElPUmV0dXJuIElPUE1Bc3Nl
cnRpb25SZWxlYXNlKElPUE1Bc3NlcnRpb25JRCk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQor
I2VuZGlmCisKKyNlbmRpZiAvLyBJT1BNTGliU1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9NYWNoVk1TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NwaS9jb2NvYS9NYWNoVk1TUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTk5OWMwZGYwMzdkMjM3MTQ1
NjA1ODYzM2ZjY2UyYWZmNWVlNzY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NvY29hL01hY2hWTVNQSS5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBNYWNoVk1TUElf
aAorI2RlZmluZSBNYWNoVk1TUElfaAorCisjaW5jbHVkZSA8bWFjaC9ib29sZWFuLmg+CisjaW5j
bHVkZSA8bWFjaC9rZXJuX3JldHVybi5oPgorI2luY2x1ZGUgPG1hY2gvbWFjaF90eXBlcy5oPgor
CisjaWYgKFRBUkdFVF9PU19NQUMgJiYgIVRBUkdFVF9PU19JUEhPTkUpIHx8IChkZWZpbmVkKFdU
Rl9VU0VfQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBXVEZfVVNFX0FQUExFX0lOVEVSTkFMX1NESykK
KyNpbmNsdWRlIDxtYWNoL21hY2hfdm0uaD4KKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMK
K2V4dGVybiAiQyIgeworI2VuZGlmCisKK2V4dGVybiBrZXJuX3JldHVybl90IG1hY2hfdm1fYWxs
b2NhdGUodm1fbWFwX3QgdGFyZ2V0LCBtYWNoX3ZtX2FkZHJlc3NfdCosIG1hY2hfdm1fc2l6ZV90
LCBpbnQgZmxhZ3MpOworZXh0ZXJuIGtlcm5fcmV0dXJuX3QgbWFjaF92bV9kZWFsbG9jYXRlKHZt
X21hcF90IHRhcmdldCwgbWFjaF92bV9hZGRyZXNzX3QsIG1hY2hfdm1fc2l6ZV90KTsKK2V4dGVy
biBrZXJuX3JldHVybl90IG1hY2hfdm1fbWFwKHZtX21hcF90IHRhcmdldFRhc2ssIG1hY2hfdm1f
YWRkcmVzc190KiwgbWFjaF92bV9zaXplX3QsIG1hY2hfdm1fb2Zmc2V0X3QgbWFzaywgaW50IGZs
YWdzLAorICAgIG1lbV9lbnRyeV9uYW1lX3BvcnRfdCwgbWVtb3J5X29iamVjdF9vZmZzZXRfdCwg
Ym9vbGVhbl90IGNvcHksIHZtX3Byb3RfdCBjdXJyZW50UHJvdGVjdGlvbiwgdm1fcHJvdF90IG1h
eGltdW1Qcm90ZWN0aW9uLCB2bV9pbmhlcml0X3QpOworZXh0ZXJuIGtlcm5fcmV0dXJuX3QgbWFj
aF92bV9wcm90ZWN0KHZtX21hcF90IHRhcmdldFRhc2ssIG1hY2hfdm1fYWRkcmVzc190LCBtYWNo
X3ZtX3NpemVfdCwgYm9vbGVhbl90IHNldE1heGltdW0sIHZtX3Byb3RfdCBuZXdQcm90ZWN0aW9u
KTsKK2V4dGVybiBrZXJuX3JldHVybl90IG1hY2hfdm1fcmVnaW9uKHZtX21hcF90IHRhcmdldFRh
c2ssIG1hY2hfdm1fYWRkcmVzc190KiwgbWFjaF92bV9zaXplX3QqLCB2bV9yZWdpb25fZmxhdm9y
X3QsIHZtX3JlZ2lvbl9pbmZvX3QsCisgICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCogaW5mb0Nv
dW50LCBtYWNoX3BvcnRfdCogb2JqZWN0TmFtZSk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQor
I2VuZGlmCisKKyNlbmRpZiAvLyBNYWNoVk1TUElfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3BpL2NvY29hL05TRmlsZU1hbmFnZXJTUEkuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9jb2NvYS9OU0ZpbGVNYW5hZ2VyU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFjNDdm
MjI3MGQ0M2U3MjcyYWM1Y2JkYjIwMDdhYmNmN2ZhMDY0ZAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU0ZpbGVNYW5hZ2VyU1BJLmgKQEAgLTAs
MCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPEZvdW5kYXRpb24vTlNGaWxl
TWFuYWdlcl9OU1VSTEV4dHJhcy5oPgorI2Vsc2UKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorCisjZGVmaW5lIFdFQl9VUkVBRCAoMDA0MDApCisjZGVmaW5lIFdFQl9VV1JJVEUg
KDAwMjAwKQorI2RlZmluZSBXRUJfVUVYRUMgKDAwMTAwKQorCitAaW50ZXJmYWNlIE5TRmlsZU1h
bmFnZXIgKERldGFpbHMpCistIChCT09MKV93ZWJfY3JlYXRlRmlsZUF0UGF0aFdpdGhJbnRlcm1l
ZGlhdGVEaXJlY3RvcmllczooTlNTdHJpbmcgKilwYXRoIGNvbnRlbnRzOihOU0RhdGEgKiljb250
ZW50cyBhdHRyaWJ1dGVzOihOU0RpY3Rpb25hcnkgKilhdHRyaWJ1dGVzIGRpcmVjdG9yeUF0dHJp
YnV0ZXM6KE5TRGljdGlvbmFyeSAqKWRpcmVjdG9yeUF0dHJpYnV0ZXM7CistIChOU1N0cmluZyAq
KV93ZWJfcGF0aFdpdGhVbmlxdWVGaWxlbmFtZUZvclBhdGg6KE5TU3RyaW5nICopcGF0aDsKKy0g
KEJPT0wpX3dlYl9yZW1vdmVGaWxlT25seUF0UGF0aDooTlNTdHJpbmcgKilwYXRoOworQGVuZAor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTlNH
ZW9tZXRyeVNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL05TR2VvbWV0
cnlTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xYWFkNmVjMmJhMGM5OTQ3ZWJmZGFjYjFiNzE5YjhiMjIyMmJl
Mzg5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29h
L05TR2VvbWV0cnlTUEkuaApAQCAtMCwwICsxLDExOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dCYXNlLmg+
CisjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dHZW9tZXRyeS5oPgorI2ltcG9ydCA8Rm91bmRhdGlv
bi9Gb3VuZGF0aW9uLmg+CisKKyNpZiBQTEFURk9STShNQUMpIHx8IFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCisjaW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KKyNlbHNlCit0eXBlZGVm
IENHUG9pbnQgTlNQb2ludDsKK3R5cGVkZWYgQ0dSZWN0IE5TUmVjdDsKK3R5cGVkZWYgQ0dTaXpl
IE5TU2l6ZTsKK3R5cGVkZWYgTlNVSW50ZWdlciBOU1JlY3RFZGdlOworCitAaW50ZXJmYWNlIE5T
VmFsdWUgKE5TR2VvbWV0cnlEZXRhaWxzKQorKyAoTlNWYWx1ZSAqKXZhbHVlV2l0aFBvaW50OihO
U1BvaW50KXBvaW50OworKyAoTlNWYWx1ZSAqKXZhbHVlV2l0aFJlY3Q6KE5TUmVjdClyZWN0Owor
KyAoTlNWYWx1ZSAqKXZhbHVlV2l0aFNpemU6KE5TU2l6ZSlzaXplOworQHByb3BlcnR5IChyZWFk
b25seSkgTlNQb2ludCBwb2ludFZhbHVlOworQHByb3BlcnR5IChyZWFkb25seSkgTlNSZWN0IHJl
Y3RWYWx1ZTsKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIE5TU2l6ZSBzaXplVmFsdWU7CitAZW5kCisK
KyNkZWZpbmUgTlNNaW5YRWRnZSBDR1JlY3RNaW5YRWRnZQorI2RlZmluZSBOU01pbllFZGdlIENH
UmVjdE1pbllFZGdlCisjZGVmaW5lIE5TTWF4WEVkZ2UgQ0dSZWN0TWF4WEVkZ2UKKyNkZWZpbmUg
TlNNYXhZRWRnZSBDR1JlY3RNYXhZRWRnZQorCisjZGVmaW5lIE5TR0VPTUVUUllfVFlQRVNfU0FN
RV9BU19DR0dFT01FVFJZX1RZUEVTIDEKKworTlNfSU5MSU5FIE5TUG9pbnQgTlNNYWtlUG9pbnQo
Q0dGbG9hdCB4LCBDR0Zsb2F0IHkpCit7CisgICAgTlNQb2ludCBwOworICAgIHAueCA9IHg7Cisg
ICAgcC55ID0geTsKKyAgICByZXR1cm4gcDsKK30KKworTlNfSU5MSU5FIE5TU2l6ZSBOU01ha2VT
aXplKENHRmxvYXQgdywgQ0dGbG9hdCBoKQoreworICAgIE5TU2l6ZSBzOworICAgIHMud2lkdGgg
PSB3OworICAgIHMuaGVpZ2h0ID0gaDsKKyAgICByZXR1cm4gczsKK30KKworTlNfSU5MSU5FIE5T
UmVjdCBOU01ha2VSZWN0KENHRmxvYXQgeCwgQ0dGbG9hdCB5LCBDR0Zsb2F0IHcsIENHRmxvYXQg
aCkKK3sKKyAgICBOU1JlY3QgcjsKKyAgICByLm9yaWdpbi54ID0geDsKKyAgICByLm9yaWdpbi55
ID0geTsKKyAgICByLnNpemUud2lkdGggPSB3OworICAgIHIuc2l6ZS5oZWlnaHQgPSBoOworICAg
IHJldHVybiByOworfQorCitOU19JTkxJTkUgQ0dGbG9hdCBOU01heFgoTlNSZWN0IGFSZWN0KQor
eworICAgIHJldHVybiBhUmVjdC5vcmlnaW4ueCArIGFSZWN0LnNpemUud2lkdGg7Cit9CisKK05T
X0lOTElORSBDR0Zsb2F0IE5TTWF4WShOU1JlY3QgYVJlY3QpCit7CisgICAgcmV0dXJuIGFSZWN0
Lm9yaWdpbi55ICsgYVJlY3Quc2l6ZS5oZWlnaHQ7Cit9CisKK05TX0lOTElORSBDR0Zsb2F0IE5T
TWluWChOU1JlY3QgYVJlY3QpCit7CisgICAgcmV0dXJuIGFSZWN0Lm9yaWdpbi54OworfQorCitO
U19JTkxJTkUgQ0dGbG9hdCBOU01pblkoTlNSZWN0IGFSZWN0KQoreworICAgIHJldHVybiBhUmVj
dC5vcmlnaW4ueTsKK30KKyNlbmRpZiAvLyBQTEFURk9STShNQUMpIHx8IFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKwor
ZXh0ZXJuIGNvbnN0IE5TUG9pbnQgTlNaZXJvUG9pbnQ7CitleHRlcm4gY29uc3QgTlNSZWN0IE5T
WmVyb1JlY3Q7CitleHRlcm4gY29uc3QgTlNTaXplIE5TWmVyb1NpemU7CisKK2V4dGVybiBCT09M
IE5TRXF1YWxQb2ludHMoTlNQb2ludCwgTlNQb2ludCk7CitleHRlcm4gQk9PTCBOU0VxdWFsUmVj
dHMoTlNSZWN0LCBOU1JlY3QpOworZXh0ZXJuIEJPT0wgTlNFcXVhbFNpemVzKE5TU2l6ZSwgTlNT
aXplKTsKK2V4dGVybiBOU1JlY3QgTlNJbnNldFJlY3QoTlNSZWN0LCBDR0Zsb2F0IGRYLCBDR0Zs
b2F0IGRZKTsKK2V4dGVybiBOU1JlY3QgTlNJbnRlcnNlY3Rpb25SZWN0KE5TUmVjdCBhUmVjdCwg
TlNSZWN0IGJSZWN0KTsKK2V4dGVybiBCT09MIE5TSXNFbXB0eVJlY3QoTlNSZWN0KTsKK2V4dGVy
biBCT09MIE5TUG9pbnRJblJlY3QoTlNQb2ludCwgTlNSZWN0KTsKKworI2lmZGVmIF9fY3BsdXNw
bHVzCit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9j
b2NvYS9OU1BvaW50ZXJGdW5jdGlvbnNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9jb2NvYS9OU1BvaW50ZXJGdW5jdGlvbnNTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTk4MmM2YmFlMTUw
N2QxMDRmMWEwZTQxNTNlMzFmOWUzY2NlNTZjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL05TUG9pbnRlckZ1bmN0aW9uc1NQSS5oCkBAIC0wLDAg
KzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2lmIFBMQVRGT1JNKE1BQykKKyNpbXBvcnQgPEZvdW5kYXRpb24vTlNQb2ludGVyRnVuY3Rpb25z
Lmg+CisjZWxpZiBQTEFURk9STShJT1MpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1w
b3J0IDxGb3VuZGF0aW9uL05TUG9pbnRlckZ1bmN0aW9uc1ByaXYuaD4KKyNlbHNlCitlbnVtIHsK
KyAgICBOU1BvaW50ZXJGdW5jdGlvbnNaZXJvaW5nV2Vha01lbW9yeSA9IDFVTCA8PCAwLAorfTsK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL2R5
bGRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9keWxkU1BJLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTU0OGRiZWFjNWQxYjRmMmFiOGI3MTIyMjNjMTc4YTkwOWIzYjNlMgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9keWxkU1BJLmgK
QEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaWZuZGVmIGR5bGRTUElfaAorI2RlZmluZSBkeWxkU1BJX2gKKworI2luY2x1ZGUg
PG1hY2gtby9keWxkLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUg
PG1hY2gtby9keWxkX3ByaXYuaD4KKyNlbHNlCisjZGVmaW5lIERZTERfSU9TX1ZFUlNJT05fM18w
IDB4MDAwMzAwMDAKKyNkZWZpbmUgRFlMRF9JT1NfVkVSU0lPTl82XzAgMHgwMDA2MDAwMDsKKyNk
ZWZpbmUgRFlMRF9JT1NfVkVSU0lPTl83XzAgMHgwMDA3MDAwMDsKKyNlbmRpZgorCisjaWZkZWYg
X19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK2V4dGVybiB1aW50MzJfdCBkeWxk
X2dldF9wcm9ncmFtX3Nka192ZXJzaW9uKCk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2Vu
ZGlmCisKKyNlbmRpZiAvLyBkeWxkU1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NwaS9pb3MvQVZQbGF5ZXJDb250cm9sbGVyU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvaW9zL0FWUGxheWVyQ29udHJvbGxlclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhMThl
MTU5YjRmMmMxZmRkZDdhNDk3NGNlMDljYjM4MGNmOTk3MDkKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0FWUGxheWVyQ29udHJvbGxlclNQSS5oCkBA
IC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxBVktpdC9BVlBsYXll
ckNvbnRyb2xsZXIuaD4KKyNlbHNlCisjaW1wb3J0IDxBVktpdC9BVktpdC5oPgorI2ltcG9ydCA8
Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgorCitAaW50
ZXJmYWNlIEFWUGxheWVyQ29udHJvbGxlciA6IFVJUmVzcG9uZGVyCisKK0BlbmQKKworQGludGVy
ZmFjZSBBVlBsYXllckNvbnRyb2xsZXIgKERldGFpbHMpCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRl
Z2VyLCBBVlBsYXllckNvbnRyb2xsZXJTdGF0dXMpIHsKKyAgICBBVlBsYXllckNvbnRyb2xsZXJT
dGF0dXNSZWFkeVRvUGxheSA9IDIsCit9OworCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBB
VlBsYXllckNvbnRyb2xsZXJFeHRlcm5hbFBsYXliYWNrVHlwZSkgeworICAgIEFWUGxheWVyQ29u
dHJvbGxlckV4dGVybmFsUGxheWJhY2tUeXBlTm9uZSA9IDAsCisgICAgQVZQbGF5ZXJDb250cm9s
bGVyRXh0ZXJuYWxQbGF5YmFja1R5cGVBaXJQbGF5ID0gMSwKKyAgICBBVlBsYXllckNvbnRyb2xs
ZXJFeHRlcm5hbFBsYXliYWNrVHlwZVRWT3V0ID0gMiwKK307CisKK0Bwcm9wZXJ0eSAoTlNfTk9O
QVRPTUlDX0lPU09OTFksIHJlYWRvbmx5KSBBVlBsYXllckNvbnRyb2xsZXJTdGF0dXMgc3RhdHVz
OworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkv
aW9zL0FWUGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9pb3MvQVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjMmYyNWYy
M2I1MWU0M2U3OGYzMzI2N2Y5NTk1YWZkN2VhNjVhZWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0FWUGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaApA
QCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8QVZLaXQvQVZQbGF5
ZXJWaWV3Q29udHJvbGxlcl9Qcml2YXRlLmg+CisjaW1wb3J0IDxBVktpdC9BVlBsYXllclZpZXdD
b250cm9sbGVyX1dlYktpdE9ubHkuaD4KKyNlbHNlCisjaW1wb3J0IDxBVktpdC9BVktpdC5oPgor
I2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDxRdWFydHpDb3JlL1F1
YXJ0ekNvcmUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CisKK0Bwcm90b2NvbCBBVlBsYXll
clZpZXdDb250cm9sbGVyRGVsZWdhdGU7CitAcHJvdG9jb2wgQVZWaWRlb0xheWVyOworCitAaW50
ZXJmYWNlIEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKERldGFpbHMpCistIChpbnN0YW5jZXR5cGUp
aW5pdFdpdGhWaWRlb0xheWVyOihDQUxheWVyIDxBVlZpZGVvTGF5ZXI+ICopdmlkZW9MYXllcjsK
Ky0gKHZvaWQpZW50ZXJGdWxsU2NyZWVuV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShC
T09MIHN1Y2Nlc3MsIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXI7CistICh2b2lkKWV4aXRG
dWxsU2NyZWVuQW5pbWF0ZWQ6KEJPT0wpYW5pbWF0ZWQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQg
KF4pKEJPT0wgc3VjY2VzcywgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKKy0gKHZvaWQp
ZXhpdEZ1bGxTY3JlZW5XaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgc3VjY2Vz
cywgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBz
dHJvbmcpIEFWUGxheWVyQ29udHJvbGxlciAqcGxheWVyQ29udHJvbGxlcjsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCB3ZWFrKSBpZCA8QVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVnYXRlPiBkZWxl
Z2F0ZTsKK0BlbmQKKworQHByb3RvY29sIEFWUGxheWVyVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA8
TlNPYmplY3Q+CitAb3B0aW9uYWwKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgQVZQbGF5
ZXJWaWV3Q29udHJvbGxlckV4aXRGdWxsU2NyZWVuUmVhc29uKSB7CisgICAgQVZQbGF5ZXJWaWV3
Q29udHJvbGxlckV4aXRGdWxsU2NyZWVuUmVhc29uRG9uZUJ1dHRvblRhcHBlZCA9IDAsCisgICAg
QVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4aXRGdWxsU2NyZWVuUmVhc29uUmVtb3RlQ29udHJvbFN0
b3BFdmVudFJlY2VpdmVkID0gMywKK307CisKKy0gKEJPT0wpcGxheWVyVmlld0NvbnRyb2xsZXI6
KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlciBzaG91bGRFeGl0
RnVsbFNjcmVlbldpdGhSZWFzb246KEFWUGxheWVyVmlld0NvbnRyb2xsZXJFeGl0RnVsbFNjcmVl
blJlYXNvbilyZWFzb247CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9pb3MvQVZWYWx1ZVRpbWluZ1NQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL2lvcy9BVlZhbHVlVGltaW5nU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBlNDM2YWExZDVm
NGI3NThmZmFkMzE4N2RkMGZkN2Y2YmVmY2I5NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvQVZWYWx1ZVRpbWluZ1NQSS5oCkBAIC0wLDAgKzEsMzkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxBVktpdC9BVlZhbHVlVGltaW5nLmg+Cisj
ZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK0BpbnRlcmZhY2UgQVZW
YWx1ZVRpbWluZyA6IE5TT2JqZWN0IDxOU0NvZGluZywgTlNDb3B5aW5nLCBOU011dGFibGVDb3B5
aW5nPgorCitAZW5kCisKK0BpbnRlcmZhY2UgQVZWYWx1ZVRpbWluZyAoRGV0YWlscykKKysgKEFW
VmFsdWVUaW1pbmcgKil2YWx1ZVRpbWluZ1dpdGhBbmNob3JWYWx1ZTooZG91YmxlKWFuY2hvclZh
bHVlIGFuY2hvclRpbWVTdGFtcDooTlNUaW1lSW50ZXJ2YWwpdGltZVN0YW1wIHJhdGU6KGRvdWJs
ZSlyYXRlOworQHByb3BlcnR5IChOU19OT05BVE9NSUNfSU9TT05MWSwgcmVhZG9ubHkpIGRvdWJs
ZSBjdXJyZW50VmFsdWU7CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9pb3MvQVZWaWRlb0xheWVyU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvaW9zL0FWVmlkZW9MYXllclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFjNjk4ODY3OTI2YmRm
OTYxOWI4YjIwMjlkZmJhMTg1NjMzMTA3YWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvaW9zL0FWVmlkZW9MYXllclNQSS5oCkBAIC0wLDAgKzEsNDYgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxBVktpdC9BVlZpZGVvTGF5ZXIuaD4KKyNlbHNl
CisjaW1wb3J0IDxBVktpdC9BVktpdC5oPgorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFw
aGljcy5oPgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK0Bwcm90b2NvbCBB
VlZpZGVvTGF5ZXIKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIEFWVmlkZW9MYXllckdyYXZp
dHkpIHsKKyAgICBBVlZpZGVvTGF5ZXJHcmF2aXR5SW52YWxpZCA9IDAsCisgICAgQVZWaWRlb0xh
eWVyR3Jhdml0eVJlc2l6ZUFzcGVjdCA9IDEsCisgICAgQVZWaWRlb0xheWVyR3Jhdml0eVJlc2l6
ZUFzcGVjdEZpbGwgPSAyLAorICAgIEFWVmlkZW9MYXllckdyYXZpdHlSZXNpemUgPSAzLAorfTsK
KworLSAodm9pZClzZXRQbGF5ZXJDb250cm9sbGVyOihBVlBsYXllckNvbnRyb2xsZXIgKilwbGF5
ZXJDb250cm9sbGVyOworQHByb3BlcnR5IChub25hdG9taWMpIEFWVmlkZW9MYXllckdyYXZpdHkg
dmlkZW9MYXllckdyYXZpdHk7CitAcHJvcGVydHkgKG5vbmF0b21pYykgQ0dSZWN0IHZpZGVvUmVj
dDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVyPWlzUmVhZHlGb3JEaXNw
bGF5KSBCT09MIHJlYWR5Rm9yRGlzcGxheTsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9DVEZvbnREZXNjcmlwdG9yU1BJLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0NURm9udERlc2NyaXB0b3JTUEkuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45MTc3OWYzZTM0ZTg1OTExNmM3N2EzNTMzMmUyMWY1MWM0YTI3OThmCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9DVEZvbnREZXNjcmlwdG9y
U1BJLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKyAqLworCisjaWZuZGVmIENURm9udERlc2NyaXB0b3JTUElfaAorI2RlZmluZSBDVEZv
bnREZXNjcmlwdG9yU1BJX2gKKworI2luY2x1ZGUgPENvcmVUZXh0L0NvcmVUZXh0Lmg+CisKKyNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udERlc2Ny
aXB0b3JQcml2Lmg+CisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTAwCitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0
eWxlU2hvcnRIZWFkbGluZSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29uc3Qg
Q0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRCb2R5IENUX0FWQUlMQUJMRSgxMF8x
MCwgN18wKTsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9y
dFN1YmhlYWQgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOworZXh0ZXJuIGNvbnN0IENGU3RyaW5n
UmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0Rm9vdG5vdGUgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3
XzApOworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0Q2Fw
dGlvbjEgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVm
IGtDVFVJRm9udFRleHRTdHlsZVRhbGxCb2R5IENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKKwor
ZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZUhlYWRsaW5lIENUX0FW
QUlMQUJMRSgxMF8xMCwgN18wKTsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRU
ZXh0U3R5bGVCb2R5IENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKK2V4dGVybiBjb25zdCBDRlN0
cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTdWJoZWFkIENUX0FWQUlMQUJMRSgxMF8xMCwgN18w
KTsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVGb290bm90ZSBD
VF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlG
b250VGV4dFN0eWxlQ2FwdGlvbjEgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOworZXh0ZXJuIGNv
bnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZUNhcHRpb24yIENUX0FWQUlMQUJMRSgx
MF8xMCwgN18wKTsKKworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnREZXNjcmlwdG9y
VGV4dFN0eWxlRW1waGFzaXplZCBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7CisjZW5kaWYKKwor
ZXh0ZXJuIENURm9udERlc2NyaXB0b3JSZWYgQ1RGb250RGVzY3JpcHRvckNyZWF0ZUZvclVJVHlw
ZShDVEZvbnRVSUZvbnRUeXBlLCBDR0Zsb2F0IHNpemUsIENGU3RyaW5nUmVmIGxhbmd1YWdlKTsK
K2V4dGVybiBDVEZvbnREZXNjcmlwdG9yUmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoVGV4
dFN0eWxlKENGU3RyaW5nUmVmIHN0eWxlLCBDRlN0cmluZ1JlZiBzaXplLCBDRlN0cmluZ1JlZiBs
YW5ndWFnZSk7CitleHRlcm4gYm9vbCBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1VSUZvbnQoQ1RG
b250RGVzY3JpcHRvclJlZik7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNl
bmRpZiAvLyBDVEZvbnREZXNjcmlwdG9yU1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9pb3MvQ1RGb250U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cGkvaW9zL0NURm9udFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwNDE1YTZjZjhjNDg4NDNiNDU5MjRkMjI1
ZGRmNGJkMzBlNWNjZWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvaW9zL0NURm9udFNQSS5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDVEZvbnRTUElfaAorI2RlZmlu
ZSBDVEZvbnRTUElfaAorCisjaW5jbHVkZSA8Q29yZVRleHQvQ29yZVRleHQuaD4KKworI2lmIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8Q29yZVRleHQvQ1RGb250UHJpdi5oPgor
I2Vsc2UKK2VudW0geworICAgIGtDVEZvbnRVSUZvbnRTeXN0ZW1JdGFsaWMgPSAyNywKKyAgICBr
Q1RGb250VUlGb250U3lzdGVtVGhpbiA9IDEwMiwKKyAgICBrQ1RGb250VUlGb250U3lzdGVtTGln
aHQgPSAxMDMsCisgICAga0NURm9udFVJRm9udFN5c3RlbVVsdHJhTGlnaHQgPSAxMDQsCit9Owor
I2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworZXh0
ZXJuIENURm9udFJlZiBDVEZvbnRDcmVhdGVQaHlzaWNhbEZvbnRGb3JDaGFyYWN0ZXJzV2l0aExh
bmd1YWdlKENURm9udFJlZiwgY29uc3QgVVRGMTZDaGFyKiBjaGFyYWN0ZXJzLCBDRkluZGV4IGxl
bmd0aCwgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIENGSW5kZXgqIGNvdmVyZWRMZW5ndGgpOworZXh0
ZXJuIGJvb2wgQ1RGb250SXNBcHBsZUNvbG9yRW1vamkoQ1RGb250UmVmKTsKK2V4dGVybiBib29s
IENURm9udERlc2NyaXB0b3JJc1N5c3RlbVVJRm9udChDVEZvbnREZXNjcmlwdG9yUmVmKTsKK2V4
dGVybiBDVEZvbnRSZWYgQ1RGb250Q3JlYXRlRm9yQ1NTKENGU3RyaW5nUmVmIG5hbWUsIHVpbnQx
Nl90IHdlaWdodCwgQ1RGb250U3ltYm9saWNUcmFpdHMsIENHRmxvYXQgc2l6ZSk7CisKKyNpZmRl
ZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvLyBDVEZvbnRTUElfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9DVUlDYXRhbG9nU1BJLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0NVSUNhdGFsb2dTUEkuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjlkMGViN2IzYjVlOWM4ODc5ZjE5Y2JiZmY0N2MxY2VjNjE5YzM4Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9DVUlDYXRhbG9nU1BJLmgKQEAg
LTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPENvcmVVSS9DVUlDYXRh
bG9nLmg+CisjZWxzZQorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2lt
cG9ydCA8Q29yZVRleHQvQ29yZVRleHQuaD4KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlv
bi5oPgorCitAY2xhc3MgQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uOworCitAaW50ZXJmYWNl
IENVSUNhdGFsb2cgOiBOU09iamVjdAorCitAZW5kCisKK0BpbnRlcmZhY2UgQ1VJQ2F0YWxvZyAo
RGV0YWlscykKKy0gKEJPT0wpZHJhd0dseXBoczooY29uc3QgQ0dHbHlwaFtdKWdseXBocyBhdFBv
c2l0aW9uczooY29uc3QgQ0dQb2ludFtdKXBvc2l0aW9ucyBpbkNvbnRleHQ6KENHQ29udGV4dFJl
Ziljb250ZXh0IHdpdGhGb250OihDVEZvbnRSZWYpZm9udCBjb3VudDooTlNVSW50ZWdlciljb3Vu
dCBzdHlsZVByZXNldE5hbWU6KE5TU3RyaW5nICopc3R5bGVQcmVzZXROYW1lIHN0eWxlQ29uZmln
dXJhdGlvbjooQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uICopc3R5bGVDb25maWd1cmF0aW9u
IGZvcmVncm91bmRDb2xvcjooQ0dDb2xvclJlZilmb3JlZ3JvdW5kQ29sb3I7CitAZW5kCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvQ1VJU3R5bGVF
ZmZlY3RDb25maWd1cmF0aW9uU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9z
L0NVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlNTVjZmNiYTZi
NmZmYWYwNWFkNWJjYmFiYzc5MzBkZTdhOTEyNzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0NVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5o
CkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxDb3JlVUkvQ1VJ
U3R5bGVFZmZlY3RDb25maWd1cmF0aW9uLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlvbi9G
b3VuZGF0aW9uLmg+CisKK0BpbnRlcmZhY2UgQ1VJU3R5bGVFZmZlY3RDb25maWd1cmF0aW9uIDog
TlNPYmplY3QgPE5TQ29weWluZz4KKworQGVuZAorCitAaW50ZXJmYWNlIENVSVN0eWxlRWZmZWN0
Q29uZmlndXJhdGlvbiAoRGV0YWlscykKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHVzZVNp
bXBsaWZpZWRFZmZlY3Q7CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9pb3MvTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvaW9zL01QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxZTg4N2U2NmExN2RhMzRlMzk2MWZhZGFlY2M1ZGY0YTkxMmYwZmYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL01QQVZSb3V0aW5nQ29udHJv
bGxlclNQSS5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxN
ZWRpYVBsYXllci9NUEFWUm91dGluZ0NvbnRyb2xsZXIuaD4KKyNlbHNlCisjaW1wb3J0IDxGb3Vu
ZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworZW51bSB7CisgICAgTVBSb3V0ZURpc2NvdmVyeU1vZGVQ
cmVzZW5jZSA9IDEsCisgICAgTVBSb3V0ZURpc2NvdmVyeU1vZGVEZXRhaWxlZCA9IDIsCit9Owor
Cit0eXBlZGVmIE5TSW50ZWdlciBNUFJvdXRlRGlzY292ZXJ5TW9kZTsKKworQGludGVyZmFjZSBN
UEFWUm91dGluZ0NvbnRyb2xsZXIgOiBOU09iamVjdAorCitAZW5kCisKK0BpbnRlcmZhY2UgTVBB
VlJvdXRpbmdDb250cm9sbGVyIChEZXRhaWxzKQorLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoTmFt
ZTooTlNTdHJpbmcgKiluYW1lOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgTVBSb3V0
ZURpc2NvdmVyeU1vZGUgZGlzY292ZXJ5TW9kZTsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9Nb2JpbGVHZXN0YWx0U1BJLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL01vYmlsZUdlc3RhbHRTUEkuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yY2U3YjYxNDQxMzJhMDQxNzVjOGRlNGY0MzU5ODVhNTllMDIzMGFiCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9Nb2JpbGVHZXN0YWx0U1BJLmgK
QEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaWZuZGVmIE1vYmlsZUdlc3RhbHRTUElfaAorI2RlZmluZSBNb2JpbGVHZXN0YWx0
U1BJX2gKKworI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CisKKyNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPE1vYmlsZUdlc3RhbHQuaD4KKyNl
bHNlCitzdGF0aWMgY29uc3QgQ0ZTdHJpbmdSZWYga01HUUFwcGxlSW50ZXJuYWxJbnN0YWxsQ2Fw
YWJpbGl0eSA9IENGU1RSKCJhcHBsZS1pbnRlcm5hbC1pbnN0YWxsIik7CitzdGF0aWMgY29uc3Qg
Q0ZTdHJpbmdSZWYga01HUU1haW5TY3JlZW5QaXRjaCA9IENGU1RSKCJtYWluLXNjcmVlbi1waXRj
aCIpOworc3RhdGljIGNvbnN0IENGU3RyaW5nUmVmIGtNR1FNYWluU2NyZWVuU2NhbGUgPSBDRlNU
UigibWFpbi1zY3JlZW4tc2NhbGUiKTsKKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4
dGVybiAiQyIgeworI2VuZGlmCisKK2V4dGVybiBDRlR5cGVSZWYgTUdDb3B5QW5zd2VyKENGU3Ry
aW5nUmVmIHF1ZXN0aW9uLCBDRkRpY3Rpb25hcnlSZWYgb3B0aW9ucyk7CisKKyNpZm5kZWYgTUdH
ZXRCb29sQW5zd2VyCitleHRlcm4gYm9vbCBNR0dldEJvb2xBbnN3ZXIoQ0ZTdHJpbmdSZWYgcXVl
c3Rpb24pOworI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRp
ZiAvLyBNb2JpbGVHZXN0YWx0U1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NwaS9pb3MvUUxQcmV2aWV3Q29udmVydGVyU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvaW9zL1FMUHJldmlld0NvbnZlcnRlclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3ZWY3NDFl
NzFlNDYxZWUxMWNlMDhkYWRjNjBmNTU1OGRmNzFiYjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL1FMUHJldmlld0NvbnZlcnRlclNQSS5oCkBAIC0w
LDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxRdWlja0xvb2svUUxQcmV2
aWV3Q29udmVydGVyLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+
CisKK0BpbnRlcmZhY2UgUUxQcmV2aWV3Q29udmVydGVyIDogTlNPYmplY3QKKworQGVuZAorCitA
aW50ZXJmYWNlIFFMUHJldmlld0NvbnZlcnRlciAoRGV0YWlscykKKy0gKE5TVVJMUmVxdWVzdCAq
KXNhZmVSZXF1ZXN0Rm9yUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKKy0gKGlkKWlu
aXRXaXRoQ29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkZWxlZ2F0ZToo
aWQpZGVsZWdhdGUgcmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZSBvcHRpb25zOihO
U0RpY3Rpb25hcnkgKilvcHRpb25zOworLSAoaWQpaW5pdFdpdGhEYXRhOihOU0RhdGEgKilkYXRh
IG5hbWU6KE5TU3RyaW5nICopbmFtZSB1dGk6KE5TU3RyaW5nICopdXRpIG9wdGlvbnM6KE5TRGlj
dGlvbmFyeSAqKW9wdGlvbnM7CistICh2b2lkKWFwcGVuZERhdGFBcnJheTooTlNBcnJheSAqKWRh
dGFBcnJheTsKKy0gKHZvaWQpZmluaXNoQ29udmVydGluZzsKKy0gKHZvaWQpZmluaXNoZWRBcHBl
bmRpbmdEYXRhOworQHByb3BlcnR5IChyZWFkb25seSwgbm9uYXRvbWljKSBOU1N0cmluZyAqcHJl
dmlld0ZpbGVOYW1lOworQHByb3BlcnR5IChyZWFkb25seSwgbm9uYXRvbWljKSBOU1N0cmluZyAq
cHJldmlld1VUSTsKK0Bwcm9wZXJ0eSAocmVhZG9ubHksIG5vbmF0b21pYykgTlNVUkxSZXF1ZXN0
ICpwcmV2aWV3UmVxdWVzdDsKK0Bwcm9wZXJ0eSAocmVhZG9ubHksIG5vbmF0b21pYykgTlNVUkxS
ZXNwb25zZSAqcHJldmlld1Jlc3BvbnNlOworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL1F1aWNrTG9va1NQSS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3BpL2lvcy9RdWlja0xvb2tTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMTE5MzMxMTM4
ZmZlY2ZiYjM0YzJlNzNlNGJmMTVhODgzNDg2ODI1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9RdWlja0xvb2tTUEkuaApAQCAtMCwwICsxLDM1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8UXVpY2tMb29rL1F1aWNrTG9va1ByaXZhdGUu
aD4KKyNlbHNlCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworZXh0ZXJuIE5T
U2V0ICpRTFByZXZpZXdHZXRTdXBwb3J0ZWRNSU1FVHlwZXMoKTsKK2V4dGVybiBOU1N0cmluZyAq
UUxUeXBlQ29weUJlc3RNaW1lVHlwZUZvckZpbGVOYW1lQW5kTWltZVR5cGUoTlNTdHJpbmcgKmZp
bGVOYW1lLCBOU1N0cmluZyAqbWltZVR5cGUpOworZXh0ZXJuIE5TU3RyaW5nICpRTFR5cGVDb3B5
QmVzdE1pbWVUeXBlRm9yVVJMQW5kTWltZVR5cGUoTlNVUkwgKiwgTlNTdHJpbmcgKm1pbWVUeXBl
KTsKK2V4dGVybiBOU1N0cmluZyAqUUxUeXBlQ29weVVUSUZvclVSTEFuZE1pbWVUeXBlKE5TVVJM
ICosIE5TU3RyaW5nICptaW1lVHlwZSk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZUlPUy5tbQppbmRleCA5NGUxYmRiM2ZhYWZmY2Q4YzgxOTI0Yjg0YTJhYTRl
MWMwYzM5ZjhkLi43MWI5MDg3MzgxYjU2MGY5ZjdlNDRkZTEyZTlkNzE4OGNlNTIyYWNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCkBAIC0zMCw2ICszMCw3
IEBACiAjaW1wb3J0ICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2ltcG9ydCAiQ1NTVG9MZW5ndGhD
b252ZXJzaW9uRGF0YS5oIgogI2ltcG9ydCAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgorI2ltcG9ydCAi
Q1RGb250RGVzY3JpcHRvclNQSS5oIgogI2ltcG9ydCAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbXBv
cnQgIkRvY3VtZW50LmgiCiAjaW1wb3J0ICJGbG9hdFJvdW5kZWRSZWN0LmgiCkBAIC01OCw4ICs1
OSw3IEBACiAjaW1wb3J0ICJVc2VyQWdlbnRTY3JpcHRzLmgiCiAjaW1wb3J0ICJVc2VyQWdlbnRT
dHlsZVNoZWV0cy5oIgogI2ltcG9ydCAiV2ViQ29yZVRocmVhZFJ1bi5oIgotI2ltcG9ydCA8Q29y
ZUdyYXBoaWNzL0NHUGF0aFByaXZhdGUuaD4KLSNpbXBvcnQgPENvcmVUZXh0L0NURm9udERlc2Ny
aXB0b3JQcml2Lmg+CisjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CiAjaW1w
b3J0IDxvYmpjL3J1bnRpbWUuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2lt
cG9ydCA8d3RmL1JlZlB0ci5oPgpAQCAtODEsMTQgKzgxLDYgQEAgU09GVF9MSU5LX0NPTlNUQU5U
KFVJS2l0LCBVSUNvbnRlbnRTaXplQ2F0ZWdvcnlEaWRDaGFuZ2VOb3RpZmljYXRpb24sIENGU3Ry
aW5nUmUKIEBpbXBsZW1lbnRhdGlvbiBXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUKIEBlbmQKIAot
Ly8gVGhpcyBpcyBhIHRlbXBvcmFyeSBoYWNrIHRvIGJ1aWxkIG9uIGlPUy4gU2hvdWxkIGJlIHJl
bW92ZWQgYXMgc29vbiBhcyBDVCBmaXhlcyB0aGUgaGVhZGVyIGZpbGVzLgotZXh0ZXJuIGNvbnN0
IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0SGVhZGxpbmUgQ1RfQVZBSUxBQkxF
KDEwXzEwLCA3XzApOwotZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHls
ZVNob3J0Qm9keSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7Ci1leHRlcm4gY29uc3QgQ0ZTdHJp
bmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRTdWJoZWFkIENUX0FWQUlMQUJMRSgxMF8xMCwg
N18wKTsKLWV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEZv
b3Rub3RlIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKLWV4dGVybiBjb25zdCBDRlN0cmluZ1Jl
ZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydENhcHRpb24xIENUX0FWQUlMQUJMRSgxMF8xMCwgN18w
KTsKLWV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVUYWxsQm9keSBD
VF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3Qg
ZmxvYXQgQ29udHJvbEJhc2VIZWlnaHQgPSAyMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
aW9zL1dlYkNvcmVTdXBwb3J0L1dlYkZpeGVkUG9zaXRpb25Db250ZW50Lm1tIGIvU291cmNlL1dl
YktpdC9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViRml4ZWRQb3NpdGlvbkNvbnRlbnQubW0KaW5kZXgg
ZmFiNzMwNTUyNTE1MDNmOTRmN2Q2MjFiOTlkMTEzYjI1ZjkwYWZiMi4uZTZiMzkyOWE0ZmFmZDcz
MmY3ODE1N2U1MjlmZjY0ZDUyYmExNWNhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9pb3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRml4ZWRQb3NpdGlvbkNvbnRlbnQubW0KKysrIGIvU291cmNlL1dl
YktpdC9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViRml4ZWRQb3NpdGlvbkNvbnRlbnQubW0KQEAgLTI5
LDYgKzI5LDcgQEAKICNpbXBvcnQgIldlYkZpeGVkUG9zaXRpb25Db250ZW50SW50ZXJuYWwuaCIK
IAogI2ltcG9ydCAiV2ViVmlld0ludGVybmFsLmgiCisjaW1wb3J0IDxXZWJDb3JlL0NHRmxvYXRT
UEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ2hyb21lQ2xpZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0ZyYW1lLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ludFNpemUuaD4KQEAgLTQwLDkgKzQxLDggQEAK
ICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi9UaHJlYWRpbmcuaD4K
IAotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHRmxvYXQuaD4KLSNpbXBvcnQgPFF1YXJ0ekNvcmUv
UXVhcnR6Q29yZS5oPgogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0
IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KICNpbXBvcnQgPGFsZ29yaXRobT4KIAogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9ET00vV2Vi
RE9NT3BlcmF0aW9uc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL0RPTS9XZWJET01PcGVy
YXRpb25zUHJpdmF0ZS5oCmluZGV4IDdhMDY3NmUzYmY1ODRiZTNmNWY3ZWRlMzBlYWI4MGNjZjFh
MzgyZjAuLjQwZTAyYTdhOTg4OGNjODI2MTJhZDllMjVjNTYzZGJjYjk4ZDA1ZTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0RPTS9XZWJET01PcGVyYXRpb25zUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0RPTS9XZWJET01PcGVyYXRpb25zUHJpdmF0ZS5oCkBAIC0zMCw3
ICszMCw3IEBACiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KU0Jhc2UuaD4KIAogI2lmIFRBUkdF
VF9PU19JUEhPTkUKLSNpbXBvcnQgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPgorI2ltcG9ydCA8
V2ViQ29yZS9OU0dlb21ldHJ5U1BJLmg+CiAjZWxzZQogI2ltcG9ydCA8QXBwS2l0L05TRXZlbnQu
aD4KICNpbXBvcnQgPFdlYktpdExlZ2FjeS9ET01XaGVlbEV2ZW50Lmg+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9NaWdyYXRlSGVhZGVycy5tYWtlIGIvU291cmNlL1dlYktpdC9tYWMv
TWlncmF0ZUhlYWRlcnMubWFrZQppbmRleCA5ODUxZDMxNmYwMjQ5ZWIyMTJlY2Y5Mzk2MDZhYjk3
NWU4Mjc1MGI1Li4zODg1NTAwY2RkNTdlN2M0YTdhMjNiODhlNmE2YzdjMzZjZjFjYjM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9NaWdyYXRlSGVhZGVycy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL01pZ3JhdGVIZWFkZXJzLm1ha2UKQEAgLTI0MSw4ICsyNDEsOCBAQCBhbGwg
OiBcCiAgICAgJChQUklWQVRFX0hFQURFUlNfRElSKS9ET01HZXN0dXJlRXZlbnQuaAogZW5kaWYK
IAotV0VCQ09SRV9IRUFERVJfUkVQTEFDRV9SVUxFUyA9IC1lIHMvXDxXZWJDb3JlL1w8V2ViS2l0
TGVnYWN5LyAtZSBzL0RPTURPTUltcGxlbWVudGF0aW9uL0RPTUltcGxlbWVudGF0aW9uLyAtZSAi
cy8oXiAqKVdFQkNPUkVfRVhQT1JUIC9cMS8iCi1XRUJDT1JFX0hFQURFUl9NSUdSQVRFX0NNRCA9
IHNlZCAtRSAkKFdFQkNPUkVfSEVBREVSX1JFUExBQ0VfUlVMRVMpICQ8ID4gJEAKK1dFQkNPUkVf
SEVBREVSX1JFUExBQ0VfUlVMRVMgPSAncy88V2ViQ29yZS88V2ViS2l0TGVnYWN5LyBpZiBtfDxX
ZWJDb3JlLyhbXj5dKyk+fCAmJiAkJDEgIX4gL1NQSS5oJCQvOyBzL0RPTURPTUltcGxlbWVudGF0
aW9uL0RPTUltcGxlbWVudGF0aW9uLzsgcy9eKFxzKilXRUJDT1JFX0VYUE9SVCAvJCQxLzsnCitX
RUJDT1JFX0hFQURFUl9NSUdSQVRFX0NNRCA9IHBlcmwgLXAgLWUgJChXRUJDT1JFX0hFQURFUl9S
RVBMQUNFX1JVTEVTKSAkPCA+ICRACiAKICQoUFJJVkFURV9IRUFERVJTX0RJUikvRE9NJSA6IERP
TURPTSUgTWlncmF0ZUhlYWRlcnMubWFrZQogCSQoV0VCQ09SRV9IRUFERVJfTUlHUkFURV9DTUQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50Lm1tCmluZGV4IGM1ZjllM2FkMzVkZjg3OWU5YWYzNGU0OGI2MGI1N2FhNGJl
ZjI4OTMuLjViMWNjMmIyYTE5ZTBhZTU5ZmNlZjY0NmMxMTIyYTAzZWFmYzA3NDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50Lm1tCkBAIC0xNDksOCArMTQ5LDggQEAKICNlbmRpZgogCiAjaWYgVVNFKFFVSUNLX0xP
T0spCi0jaW1wb3J0IDxGb3VuZGF0aW9uL05TRmlsZU1hbmFnZXJfTlNVUkxFeHRyYXMuaD4KICNp
bXBvcnQgPFdlYkNvcmUvRmlsZVN5c3RlbUlPUy5oPgorI2ltcG9ydCA8V2ViQ29yZS9OU0ZpbGVN
YW5hZ2VyU1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1F1aWNrTG9vay5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NJT1MuaD4KICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYk5vZGVIaWdobGlnaHQubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3IvV2ViTm9kZUhpZ2hsaWdodC5tbQppbmRleCAzNTg3
YzM4Y2ExMTkzYjRjZjdjMWU3ZmM5YjBkNjc4MzJlM2QzZjQyLi5lNzc0ZTQ4OTU2ZDk0MTQ3MWE1
YzI0MmU1YTliMWE0OGM4YjExNTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJJ
bnNwZWN0b3IvV2ViTm9kZUhpZ2hsaWdodC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJJ
bnNwZWN0b3IvV2ViTm9kZUhpZ2hsaWdodC5tbQpAQCAtMjcsOSArMjcsMTAgQEAKICAqLwogCiAj
aW1wb3J0ICJXZWJOb2RlSGlnaGxpZ2h0LmgiCisKICNpbXBvcnQgIldlYk5vZGVIaWdobGlnaHRW
aWV3LmgiCiAjaW1wb3J0ICJXZWJOU1ZpZXdFeHRyYXMuaCIKLQorI2ltcG9ydCA8V2ViQ29yZS9D
QUxheWVyU1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0luc3BlY3RvckNvbnRyb2xsZXIuaD4KICNp
bXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAgLTM3LDcgKzM4LDYgQEAKICNpbXBvcnQgIldl
YkZyYW1lUHJpdmF0ZS5oIgogI2ltcG9ydCAiV2ViSFRNTFZpZXcuaCIKICNpbXBvcnQgIldlYlZp
ZXcuaCIKLSNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FMYXllclByaXZhdGUuaD4KICNpbXBvcnQgPFdl
YkNvcmUvV0FLV2luZG93Lmg+CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJJbmRpY2F0ZUxheWVyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJJbmRpY2F0ZUxheWVyLm1tCmluZGV4IDI3MzkwMzQwYjdhMjU5M2JjOTQ3ZjBjNzQ4ZTEx
Y2U4YjE5OWRlNDMuLmU0OTI3MWQzOTVhMDM3ZDQ3MGUyNzRhZmQ3ZmM2MTg3YWM0MzAwY2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSW5kaWNhdGVMYXllci5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkluZGljYXRlTGF5ZXIubW0KQEAgLTI5
LDcgKzI5LDcgQEAKIAogI2ltcG9ydCAiV2ViRnJhbWVQcml2YXRlLmgiCiAjaW1wb3J0ICJXZWJW
aWV3LmgiCi0jaW1wb3J0IDxRdWFydHpDb3JlL0NBTGF5ZXJQcml2YXRlLmg+CisjaW1wb3J0IDxX
ZWJDb3JlL0NBTGF5ZXJTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3JNYWMuaD4KICNpbXBv
cnQgPFdlYkNvcmUvV0FLV2luZG93Lmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UmVuZGVyTGF5ZXIuaAppbmRleCA2N2U3N2YwMjQ2NzU0MzY1MDA5MGE1MWM5OTNhODYzMjVhYjA5
M2I0Li5mNWE0MzljYzJmMTQzOGM0OWYwMjkwMWIzOTRiNzYzOTVlYmU4NzNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlJlbmRlckxheWVyLmgKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJSZW5kZXJMYXllci5oCkBAIC0yNiw3ICsyNiw3IEBACiAj
aW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KIAogI2lmIFRBUkdFVF9PU19JUEhPTkUK
LSNpbXBvcnQgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPgorI2ltcG9ydCA8V2ViQ29yZS9OU0dl
b21ldHJ5U1BJLmg+CiAjZW5kaWYKIAogQGNsYXNzIFdlYkZyYW1lOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCmluZGV4IGE2ZjNiNTRkY2Q1MWJlMmNjNGNhZDQxZjdmNzU1NWI3MWNj
NjI0ODcuLjdmZDc1ZGIyZGRlNzRlNGRiZTQ5MTBkMDk2ZGFlYzgzYzIwZWJmNGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTIyNywxMiArMjI3LDEzIEBACiAjaW1wb3J0
ICJXZWJVSUtpdFN1cHBvcnQuaCIKICNpbXBvcnQgIldlYlZpc2libGVQb3NpdGlvbi5oIgogI2lt
cG9ydCA8Q0ZOZXR3b3JrL0NGVVJMQ2FjaGVQcml2Lmg+Ci0jaW1wb3J0IDxNb2JpbGVHZXN0YWx0
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0Rpc3BhdGNoU1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0V2
ZW50TmFtZXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvRm9udENhY2hlLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvSWNvbkNvbnRyb2xsZXIuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvTGVnYWN5VGlsZUNhY2hlLmg+CisjaW1wb3J0IDxXZWJDb3JlL01v
YmlsZUdlc3RhbHRTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvTmV0d29ya1N0YXRlTm90aWZpZXIu
aD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzSU9TLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1NRTGl0ZURhdGFiYXNlVHJhY2tlci5oPgpAQCAtMjQ2LDcgKzI0Nyw2IEBA
CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVUaHJlYWRSdW4uaD4KICNpbXBvcnQgPFdlYkNvcmUv
V2ViRXZlbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ckFWS2l0Lmg+Ci0jaW1wb3J0IDxkaXNwYXRjaC9wcml2YXRlLmg+CiAjaW1wb3J0IDx3dGYvRmFz
dE1hbGxvYy5oPgogI2VuZGlmIC8vICFQTEFURk9STShJT1MpCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL21hYy9TaGFyZWRNZW1vcnlNYWMuY3BwIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vbWFjL1NoYXJlZE1lbW9yeU1hYy5jcHAKaW5kZXggZmY3YWI5ZmE3MDMyNmM4
ZTM1MTgwMWNjOGVhYWMwMGFhMWU0MjJiYS4uYzRjZTMyMTIyODdjZGU1NmJhNjZkNjAwYzIwMWFk
MTlhYTJjYzM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vbWFjL1NoYXJl
ZE1lbW9yeU1hYy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vbWFjL1NoYXJlZE1l
bW9yeU1hYy5jcHAKQEAgLTMwLDkgKzMwLDkgQEAKICNpbmNsdWRlICJBcmd1bWVudEVuY29kZXIu
aCIKICNpbmNsdWRlICJBcmd1bWVudHMuaCIKICNpbmNsdWRlICJNYWNoUG9ydC5oIgorI2luY2x1
ZGUgPFdlYkNvcmUvTWFjaFZNU1BJLmg+CiAjaW5jbHVkZSA8bWFjaC9tYWNoX2Vycm9yLmg+CiAj
aW5jbHVkZSA8bWFjaC9tYWNoX3BvcnQuaD4KLSNpbmNsdWRlIDxtYWNoL21hY2hfdm0uaD4KICNp
bmNsdWRlIDxtYWNoL3ZtX21hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9OYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1t
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9OYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1tCmlu
ZGV4IDRhMWVlNDlmYzQ3NGQ4OTY1NWJjNWIwZDc5N2E1OGQ1ODUxNzI4YmIuLjBlODcxNmY0ZmMy
ZjQzZjEzZTY3NDYyNjU3NDhhNjcxMDNmMGZlOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9pb3MvTmF0aXZlV2ViVG91Y2hFdmVudElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW0KQEAgLTI3LDEyICsyNywxMSBA
QAogI2ltcG9ydCAiTmF0aXZlV2ViVG91Y2hFdmVudC5oIgogCiAjaWYgUExBVEZPUk0oSU9TKQot
CiAjaW1wb3J0ICJXZWJFdmVudC5oIgotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+
CiAjaW1wb3J0IDxVSUtpdC9VSVRvdWNoLmg+CiAjaW1wb3J0IDxVSUtpdC9VSVdlYlRvdWNoRXZl
bnRzR2VzdHVyZVJlY29nbml6ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvSW50UG9pbnQuaD4KKyNp
bXBvcnQgPFdlYkNvcmUvTlNHZW9tZXRyeVNQSS5oPgogI2ltcG9ydCA8d3RmL0N1cnJlbnRUaW1l
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KaW5kZXggOTkwNzhlZDVmYzA5YTRkMmQy
YTI4YWY3MmM3YWEzYjM1YmQ1YWNmMi4uN2QwNDE5NTg1ZDU1MmM4ZDI0MDQ2NGYyM2U3YTA0ODRj
NTI2ZDZmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXll
ckJhY2tpbmdTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyQmFja2luZ1N0b3JlLm1tCkBAIC0zNCw2ICszNCw3IEBACiAjaW1wb3J0ICJTaGFyZWFibGVC
aXRtYXAuaCIKICNpbXBvcnQgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2ltcG9ydCA8UXVh
cnR6Q29yZS9RdWFydHpDb3JlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0NBTGF5ZXJTUEkuaD4KICNp
bXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Q0cuaD4KICNpbXBvcnQgPFdlYkNvcmUvSU9T
dXJmYWNlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lPU3VyZmFjZVBvb2wuaD4KQEAgLTQzLDE0ICs0
NCw2IEBACiAjaW1wb3J0IDxtYWNoL21hY2hfcG9ydC5oPgogI2VuZGlmCiAKLSNpZiBfX2hhc19p
bmNsdWRlKDxRdWFydHpDb3JlL0NBTGF5ZXJQcml2YXRlLmg+KQotI2ltcG9ydCA8UXVhcnR6Q29y
ZS9DQUxheWVyUHJpdmF0ZS5oPgotI2VuZGlmCi0KLUBpbnRlcmZhY2UgQ0FMYXllciAoRGV0YWls
cykKLUBwcm9wZXJ0eSBCT09MIGNvbnRlbnRzT3BhcXVlOwotQGVuZAotCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVByb3BlcnR5QXBwbGllci5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLm1tCmlu
ZGV4IDgwNjEzZjY0ZDU3YjNiODVkOWRlMjVkMTk2MmMwNjM5NWM0ZmM1YjkuLmZkNDVjOTQzOGJk
MWU3NDcyNGUzYTk2OWE2NDlhNTUwYjIzNDNjZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLm1tCkBA
IC0zMSw2ICszMSw3IEBACiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVIb3N0LmgiCiAjaW1wb3J0
IDxRdWFydHpDb3JlL0NBTGF5ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvQmxvY2tFeGNlcHRpb25z
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0NBTGF5ZXJTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxh
dGZvcm1DQUZpbHRlcnMuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xsYmFyVGhlbWVNYWMuaD4K
IApAQCAtMzgsMTQgKzM5LDYgQEAKICNpbXBvcnQgPFVJS2l0L1VJVmlldy5oPgogI2VuZGlmCiAK
LSNpZiBfX2hhc19pbmNsdWRlKDxRdWFydHpDb3JlL0NBTGF5ZXJQcml2YXRlLmg+KQotI2ltcG9y
dCA8UXVhcnR6Q29yZS9DQUxheWVyUHJpdmF0ZS5oPgotI2VuZGlmCi0KLUBpbnRlcmZhY2UgQ0FM
YXllciAoRGV0YWlscykKLUBwcm9wZXJ0eSBCT09MIGNvbnRlbnRzT3BhcXVlOwotQGVuZAotCiAj
aWYgUExBVEZPUk0oSU9TKQogQGludGVyZmFjZSBVSVZpZXcgKFdLVUlWaWV3VXRpbGl0aWVzKQog
LSAodm9pZClfd2ViX3NldFN1YnZpZXdzOihOU0FycmF5ICopc3Vidmlld3M7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDNhNmJjZDc1
NDYwODFiN2U2NjlkZDBjNmMzNTFlMDc1NDQ1ZTFlN2YuLjlmZGZiZGViMDY4ODlhODM1NmFhNDMy
MTNiMWQzZWM2YzQ1YjY2OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCkBAIC04OCw3ICs4OCw2IEBACiAjaW1wb3J0ICJXS1Njcm9sbFZp
ZXcuaCIKICNpbXBvcnQgIldLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5LmgiCiAjaW1w
b3J0ICJXZWJQYWdlTWVzc2FnZXMuaCIKLSNpbXBvcnQgPENvcmVHcmFwaGljcy9DR0Zsb2F0Lmg+
CiAjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dQREZEb2N1bWVudFByaXZhdGUuaD4KICNpbXBvcnQg
PFVJS2l0L1VJQXBwbGljYXRpb24uaD4KICNpbXBvcnQgPFVJS2l0L1VJRGV2aWNlX1ByaXZhdGUu
aD4KQEAgLTk2LDYgKzk1LDggQEAKICNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4K
ICNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FSZW5kZXJTZXJ2ZXIuaD4KICNpbXBvcnQgPFF1YXJ0ekNv
cmUvUXVhcnR6Q29yZVByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ0FMYXllclNQSS5oPgor
I2ltcG9ydCA8V2ViQ29yZS9DR0Zsb2F0U1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0luc3BlY3Rv
ck92ZXJsYXkuaD4KIAogQGludGVyZmFjZSBVSVNjcm9sbFZpZXcgKFVJU2Nyb2xsVmlld0ludGVy
bmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1BERlBhZ2VO
dW1iZXJJbmRpY2F0b3IubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLUERGUGFn
ZU51bWJlckluZGljYXRvci5tbQppbmRleCBjZmEzMDA1ZTY3MWQ5YWYzZmJkYzNhMTg3MWRiZWNh
ZGQ4OGUxZjE5Li44MWFkZTVhYzQ3ZGQwMzg2MTNmM2ZkNDM4MDAwYmMzOTcwODdjMGVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLUERGUGFnZU51bWJlckluZGlj
YXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLUERGUGFnZU51bWJl
ckluZGljYXRvci5tbQpAQCAtMjksMTEgKzI5LDExIEBACiAjaWYgUExBVEZPUk0oSU9TKQogCiAj
aW1wb3J0IDxRdWFydHpDb3JlL0NBRmlsdGVyLmg+Ci0jaW1wb3J0IDxRdWFydHpDb3JlL0NBTGF5
ZXJQcml2YXRlLmg+CiAjaW1wb3J0IDxVSUtpdC9VSUdlb21ldHJ5X1ByaXZhdGUuaD4KICNpbXBv
cnQgPFVJS2l0L1VJS2l0Lmg+CiAjaW1wb3J0IDxVSUtpdC9VSVZpZXdfUHJpdmF0ZS5oPgogI2lt
cG9ydCA8VUlLaXQvX1VJQmFja2Ryb3BWaWV3X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
Q0FMYXllclNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1w
b3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3Lm1tIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZpZXcubW0KaW5kZXggN2Q1YTJm
MjVlNmNjMGQ0YmIyNzZmNjg2MzEzYzcwOGY3YjE0N2UxMC4uOWMwZDUyMWFiMDU0YzBlMzcxNDkw
YmY1YzRhYjcxYWYwNjU2MTIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9XS1Njcm9sbFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9X
S1Njcm9sbFZpZXcubW0KQEAgLTI5LDcgKzI5LDcgQEAKICNpZiBQTEFURk9STShJT1MpCiAKICNp
bXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCi0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dGbG9h
dC5oPgorI2ltcG9ydCA8V2ViQ29yZS9DR0Zsb2F0U1BJLmg+CiAKIEBpbnRlcmZhY2UgVUlTY3Jv
bGxWaWV3IChVSVNjcm9sbFZpZXdJbnRlcm5hbEhhY2spCiAtIChDR0Zsb2F0KV9ydWJiZXJCYW5k
T2Zmc2V0Rm9yT2Zmc2V0OihDR0Zsb2F0KW5ld09mZnNldCBtYXhPZmZzZXQ6KENHRmxvYXQpbWF4
T2Zmc2V0IG1pbk9mZnNldDooQ0dGbG9hdCltaW5PZmZzZXQgcmFuZ2U6KENHRmxvYXQpcmFuZ2Ug
b3V0c2lkZTooQk9PTCAqKW91dHNpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVySU9TLm1tCmluZGV4IDUyM2Qw
YzhmMTQ2NWU3Y2JhODQxMmQyM2I0NjAyYTk5ZmE3M2E2MDQuLmJkZDIzNjNlMGI2Mjk0NjRiYTlh
YjQ4OTgwN2NlOGJhZjYxNWE5ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvV2ViTWVtb3J5UHJlc3N1cmVIYW5kbGVySU9TLm1tCkBAIC0yOSw3ICsy
OSw3IEBACiAjaWYgUExBVEZPUk0oSU9TKQogCiAjaW1wb3J0ICJWaWV3U25hcHNob3RTdG9yZS5o
IgotI2ltcG9ydCA8ZGlzcGF0Y2gvcHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9EaXNwYXRj
aFNQSS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0KaW5kZXgg
ZDI1ZTI4N2U1MzQ4MzhkNzY1OGI2YTZlNTAyYjZhMzg0ZjRlNjBmNC4uOGUzMzc0YmQ5YjBkMTM1
OGI3NDQ3ZWM0YTlhYWM0OTcxZjMwY2ZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLm1tCkBAIC0zMiw5
ICszMiw5IEBACiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCIKICNpbXBvcnQg
IldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCA8TWVkaWFQbGF5ZXIvTVBBVkl0ZW0uaD4KLSNpbXBv
cnQgPE1lZGlhUGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxlci5oPgotI2ltcG9ydCA8TWVkaWFQ
bGF5ZXIvTVBBdWRpb1ZpZGVvUm91dGluZ1BvcG92ZXJDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxN
ZWRpYVBsYXllci9NUEF1ZGlvVmlkZW9Sb3V0aW5nQWN0aW9uU2hlZXQuaD4KKyNpbXBvcnQgPE1l
ZGlhUGxheWVyL01QQXVkaW9WaWRlb1JvdXRpbmdQb3BvdmVyQ29udHJvbGxlci5oPgorI2ltcG9y
dCA8V2ViQ29yZS9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUv
U29mdExpbmtpbmcuaD4KICNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgog
I2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDk2ZTU1YWE5MzhjMTk4MGFhNzlmZTlh
ZWM2MGJjY2ZlNWMzMTRiODYuLjI1YWE4ZTkzOWNkYjQxODQ5M2Y3NjVmNWZlNGMyODdlMjMwMWRh
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
QEAgLTE5Myw4ICsxOTMsOCBAQAogI2luY2x1ZGUgIlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
LmgiCiAjaW5jbHVkZSAiV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5oIgogI2luY2x1ZGUgPENv
cmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KLSNpbmNsdWRlIDxDb3JlVGV4dC9DVEZvbnREZXNj
cmlwdG9yUHJpdi5oPgotI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udFByaXYuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL0NURm9udERlc2NyaXB0b3JTUEkuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NURm9u
dFNQSS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSWNvbi5oPgogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhMzQxY2Q0ODNiODg3OGQ3
NjIyMWUxMjhiOGQyYzg2ZDFlYjEyYTAzLi5lZDViYjU4NDViZDQ4NTk4MDY2NDk0YWNkOTNlMzc3
MTBlN2IzOTk0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTQtMDktMTIgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE1ha2UgV2ViQ29yZSBidWlsZCB3aXRoIHB1Ymxp
YyBpT1MgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMzY0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTdWJzdGl0dXRlIDxXZWJDb3JlL01hY2hWTVNQSS5oPiBmb3IgPG1hY2gvbWFjaF92bS5oPi4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9DaGVja2VkTWFsbG9jLmNwcDoKKwogMjAx
NC0wOS0xMSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYktp
dDJdIFdLSW1hZ2VDcmVhdGVDR0ltYWdlIGNyYXNoZXMgd2hlbiBwYXNzZWQgYSBudWxsIFdLSW1h
Z2UKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9DaGVja2VkTWFsbG9jLmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9DaGVja2VkTWFsbG9jLmNwcAppbmRleCBhYzg4
ODdlMjE0ZjIwYmY5YTcyZWI4Yzg3ZTdlNmIzZWViMDY3MzJhLi5hNDYxZDMwOGViMmFiMWNmNWEy
NjA3YjVkNzAxY2Q3ZDgyM2YzMmYxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvQ2hlY2tlZE1hbGxvYy5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NoZWNr
ZWRNYWxsb2MuY3BwCkBAIC0zMSw4ICszMSw4IEBACiAjaW1wb3J0ICJjb25maWcuaCIgCiAjaW1w
b3J0ICJDaGVja2VkTWFsbG9jLmgiCiAKKyNpbXBvcnQgPFdlYkNvcmUvTWFjaFZNU1BJLmg+CiAj
aW1wb3J0IDxtYWNoL21hY2hfaW5pdC5oPgotI2ltcG9ydCA8bWFjaC9tYWNoX3ZtLmg+CiAjaW1w
b3J0IDxtYWNoL3ZtX3JlZ2lvbi5oPgogI2ltcG9ydCA8bWFsbG9jL21hbGxvYy5oPgogI2ltcG9y
dCA8dW5pc3RkLmg+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238134</attachid>
            <date>2014-09-15 12:14:39 -0700</date>
            <delta_ts>2014-11-18 12:43:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136487-20140915121437.patch</filename>
            <type>text/plain</type>
            <size>163924</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDRhZDBiNTc0MzE1ODU4MmM4NThkOWEz
ZjhiYjhhMGE5YTIyYjJlZmQuLjI4YmE5ODY5YTc4MzE3ZGE1N2Y1ODEzODBiNGJkNGRmZDc0MDcz
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTQtMDktMTUgIERhbmllbCBCYXRlcyAgPGRhYmF0
ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE1ha2UgV2ViQ29yZSBidWlsZCB3aXRoIHB1
YmxpYyBpT1MgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzY0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBEZWZpbmUgY29udmVuaWVuY2UgbWFjcm8gRVhURVJOX0MgdGhhdCBjYW4gYmUgdXNlZCB0
byBzcGVjaWZ5IHRoZSBDIGxpbmthZ2UgY29udmVudGlvbgorICAgICAgICBmb3IgYSBkZWNsYXJh
dGlvbi4gRm9yIGV4YW1wbGUsIHRoZSBkZWNsYXJhdGlvbiAiRVhURVJOX0MgY29uc3QgaW50IHg7
IiB3aWxsIGV4cGFuZCB0bzoKKworICAgICAgICBleHRlcm4gY29uc3QgaW50IHg7CisKKyAgICAg
ICAgYW5kCisKKyAgICAgICAgZXh0ZXJuICJDIiBjb25zdCBpbnQgeDsKKworICAgICAgICB3aGVu
IHVzZWQgaW4gYSBDIGFuZCBDKysgZmlsZSwgcmVzcGVjdGl2ZWx5LgorCisgICAgICAgICogd3Rm
L0NvbXBpbGVyLmg6CisKIDIwMTQtMDktMTUgIHBlYXZvQG91dGxvb2suY29tICA8cGVhdm9Ab3V0
bG9vay5jb20+CiAKICAgICAgICAgW1dpbkNhaXJvXSBNYWtlIGl0IGVhc2llciB0byBlbmFibGUv
ZGlzYWJsZSBHU3RyZWFtZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTI1MjE4OWU3YmRlNWVmY2RjMWQzZGE4
YWY3MzE5OTBlN2IzMzYyZi4uNGUxNDM3NDhmNmQxN2E1OTJiN2MxOWZmNGRjZjNiMzllNTc1ZDlk
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg4IEBACisyMDE0LTA5LTE1ICBEYW5pZWwgQmF0ZXMg
IDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNYWtlIFdlYkNvcmUgYnVpbGQg
d2l0aCBwdWJsaWMgaU9TIFNESworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTM2NDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGhlYWRlcnMgdGhhdCB3cmFwIE1hYyBhbmQgaU9TIFNQSXMgYW5kIHVw
ZGF0ZSBXZWJDb3JlIHNvdXJjZSBmaWxlcyB0byBpbmNsdWRlIHRoZXNlCisgICAgICAgIGhlYWRl
cnMgaW5zdGVhZCBvZiB0aGUgY29ycmVzcG9uZGluZyBhY3R1YWwgU1BJIGhlYWRlcihzKS4KKwor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUu
dmN4cHJvai9XZWJDb3JlQ0cucHJvcHM6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL2NvcHlG
b3J3YXJkaW5nSGVhZGVycy5jbWQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwubW06CisgICAg
ICAgICogYnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5tbToKKyAgICAgICAgKiBlZGl0aW5nL2Nv
Y29hL0hUTUxDb252ZXJ0ZXIubW06CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlh
U2Vzc2lvbk1hbmFnZXJJT1MubW06CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvRGlzcGxheVNs
ZWVwRGlzYWJsZXJDb2NvYS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvTWVtb3J5UHJl
c3N1cmVIYW5kbGVyQ29jb2EubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW06CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvQml0bWFwSW1hZ2VDRy5jcHA6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvQ29sb3JDRy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
R3JhcGhpY3NDb250ZXh0Q0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lt
YWdlU291cmNlQ0cuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3Vt
ZW50SW1hZ2UuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0
Zm9ybURhdGFDb2NvYS5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udENh
Y2hlSU9TLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250U2VydmljZXNJ
T1MubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL1NpbXBsZUZvbnREYXRhSU9T
Lm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlwaFBhZ2VUcmVlTm9kZU1hYy5jcHA6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJveHkuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW06CisgICAgICAgICog
cGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mv
TGVnYWN5VGlsZUdyaWQubW06CisgICAgICAgICogcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlk
VGlsZS5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUGxhdGZvcm1FdmVudEZhY3RvcnlJT1Mu
bW06CisgICAgICAgICogcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tOgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9XZWJFdmVudC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW06CisgICAgICAgICogcGxhdGZvcm0vaW9z
L3dhay9XQUtBcHBLaXRTdHVicy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy93YWsvV0FLVmll
dy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5oOgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mv
d2FrL1dlYkNvcmVUaHJlYWQubW06CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9pb3MvUXVp
Y2tMb29rLm1tOgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jYS9DQUxheWVyU1BJLmg6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jYS9DQVRpbGVkTGF5ZXJTUEkuaDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vc3BpL2NmL0NGTG9jYWxlU1BJLmg6IE1vZGlmaWVkIHRvIHVzZSBF
WFRFUk5fQy4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrQ29ubmVjdGlvbkNh
Y2hlU1BJLmg6IERpdHRvLiBBbHNvIGNoYW5nZWQgaGVhZGVyIHZpc2liaWxpdHkgZnJvbSBwcml2
YXRlIHRvIHByb2plY3QuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NmL0NGVVJMUmVxdWVzdFNQ
SS5oOiBEaXR0by4gQWxzbyBtb2RpZmllZCB0byB1bmNvbmRpdGlvbmFsbHkgaW5jbHVkZSBoZWFk
ZXIgPENvcmVGb3VuZGF0aW9uL0NGQmFzZS5oPi4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2cv
Q0dDb2xvclRyYW5zZm9ybVNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2cv
Q0dDb250ZXh0U1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR0Zsb2F0
U1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9jZy9DR0ZvbnRHbHlwaFN1cHBv
cnRTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NnL0NHRm9udEluZm9TUEku
aDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NnL0NHRm9udFJlbmRlcmluZ1NQSS5o
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY2cvQ0dGb250VW5pY29kZVN1cHBvcnRT
UEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NnL0NHSW1hZ2VTUEkuaDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NnL0NHU1JlZ2lvblNQSS5oOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9zcGkvY29jb2EvRGlzcGF0Y2hTUEkuaDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vc3BpL2NvY29hL0lPUE1MaWJTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vc3BpL2NvY29hL01hY2hWTVNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9z
cGkvY29jb2EvTlNGaWxlTWFuYWdlclNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9z
cGkvY29jb2EvTlNHZW9tZXRyeVNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkv
Y29jb2EvTlNQb2ludGVyRnVuY3Rpb25zU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L3NwaS9jb2NvYS9keWxkU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9pb3Mv
QVZQbGF5ZXJDb250cm9sbGVyU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9p
b3MvQVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9zcGkvaW9zL0FWVmFsdWVUaW1pbmdTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
c3BpL2lvcy9BVlZpZGVvTGF5ZXJTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3Bp
L2lvcy9DVEZvbnREZXNjcmlwdG9yU1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3Nw
aS9pb3MvQ1RGb250U1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9pb3MvQ1VJ
Q2F0YWxvZ1NQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvaW9zL0NVSVN0eWxl
RWZmZWN0Q29uZmlndXJhdGlvblNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkv
aW9zL01QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9zcGkvaW9zL01vYmlsZUdlc3RhbHRTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
c3BpL2lvcy9RTFByZXZpZXdDb252ZXJ0ZXJTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vc3BpL2lvcy9RdWlja0xvb2tTUEkuaDogQWRkZWQuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRoZW1lSU9TLm1tOgorCiAyMDE0LTA5LTE1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgQXZvaWQgcmVkdW5kYW50IGlzRWxlbWVudE5vZGUoKSBjaGVja3Mg
aW4gVHJhdmVyc2FsPEhUTUwqRWxlbWVudD4gLyBUcmF2ZXJzYWw8U1ZHKkVsZW1lbnQ+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2lvcy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2lvcy9D
aGFuZ2VMb2cKaW5kZXggZjAxMmFhYTc0MDNkZTM4OWQ4MjI4NmE0NTA3Mjk1Yzc4NjViOWE5OC4u
NzdhZWU5YzY5MTg1N2M5MzcxOTdmY2U2YmRiOTIyNDQyNGJjNmNhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9pb3MvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvaW9zL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDE0LTA5LTE1ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFw
cGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNYWtlIFdlYkNvcmUgYnVpbGQgd2l0aCBwdWJsaWMg
aU9TIFNESworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTM2NDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
U3Vic3RpdHV0ZSA8V2ViQ29yZS9DR0Zsb2F0U1BJLmg+IGZvciA8Q29yZUdyYXBoaWNzL0NHRmxv
YXQuaD4uCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGaXhlZFBvc2l0aW9uQ29udGVu
dC5tbToKKwogMjAxNC0wOS0wNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW1vdmUgc29tZSBQTEFURk9STShJT1MpIGNvZGUgaW4gQ29sb3IuaC9j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCAyZmZjYmY1Nzk3ZWFlNmJmNDM0MzNjZGRkMTAzN2RlMWIz
MmY3YzUyLi4yMjVhYTY5NTQ2OTBmOTMxMjhhMmVjMDZmZmQzNWUxYjUyNzRiMzgwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTQtMDktMTUgIERhbmllbCBCYXRlcyAgPGRh
YmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE1ha2UgV2ViQ29yZSBidWlsZCB3aXRo
IHB1YmxpYyBpT1MgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzY0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBVcGRhdGUgV2ViS2l0MSBzb3VyY2UgZmlsZXMgdG8gaW5jbHVkZSB0aGUgd3JhcHBl
ciBTUEkgaGVhZGVycyBpbnN0ZWFkIG9mIHRoZSBjb3JyZXNwb25kaW5nCisgICAgICAgIGFjdHVh
bCBTUEkgaGVhZGVyKHMpLgorCisgICAgICAgICogRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRl
Lmg6CisgICAgICAgICogTWlncmF0ZUhlYWRlcnMubWFrZTogTW9kaWZpZWQgdG8gb25seSBtb2Rp
ZnkgdGhlIGluY2x1ZGUgcGF0aCBvZiBhICI8V2ViQ29yZS8iLXByZWZpeGVkIGhlYWRlcgorICAg
ICAgICBmaWxlIGlmIGl0cyBmaWxlbmFtZSBkb2Vzbid0IGVuZCBpbiAiU1BJLmgiIGFzIGFuIGFs
dGVybmF0aXZlIHRvIGhhdmluZyBNaWdyYXRlSGVhZGVycy5tYWtlIGNvcHkKKyAgICAgICAgc3Vj
aCBmaWxlcyBpbnRvIHRoZSBXZWJLaXQgZnJhbWV3b3JrIGFzIHByaXZhdGUgaGVhZGVycy4KKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAg
KiBXZWJJbnNwZWN0b3IvV2ViTm9kZUhpZ2hsaWdodC5tbToKKyAgICAgICAgKiBXZWJWaWV3L1dl
YkluZGljYXRlTGF5ZXIubW06CisgICAgICAgICogV2ViVmlldy9XZWJSZW5kZXJMYXllci5oOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKwogMjAxNC0wOS0xNCAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQXR0ZW1wdCB0byBmaXggdGhl
IGlPUyBidWlsZCBhZnRlciA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTczNjA2
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IGE3ZDg1YmQ3MGYyNDRlYzZiMTFkNmY4Y2ZiNzFmMGEwYWI0MjNhODAu
Ljk5YjkzMWFmNmZiYzI2NGVmYzRhMTMyNGRjODhjMzcxNDQyZjBjMjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNCBAQAorMjAxNC0wOS0xNSAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5j
b20+CisKKyAgICAgICAgW2lPU10gTWFrZSBXZWJDb3JlIGJ1aWxkIHdpdGggcHVibGljIGlPUyBT
REsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjQ4
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0
ZSBXZWJLaXQyIHNvdXJjZSBmaWxlcyB0byBpbmNsdWRlIHRoZSB3cmFwcGVyIFNQSSBoZWFkZXJz
IGluc3RlYWQgb2YgdGhlIGNvcnJlc3BvbmRpbmcKKyAgICAgICAgYWN0dWFsIFNQSSBoZWFkZXIo
cykuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9tYWMvU2hhcmVkTWVtb3J5TWFjLmNwcDoKKyAgICAg
ICAgKiBTaGFyZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW06CisgICAgICAgICogU2hh
cmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbToKKyAgICAgICAgKiBTaGFyZWQvbWFj
L1JlbW90ZUxheWVyVHJlZVByb3BlcnR5QXBwbGllci5tbToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLUERGUGFn
ZU51bWJlckluZGljYXRvci5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmll
dy5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklP
Uy5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2Vy
Lm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKwogMjAxNC0w
OS0xMyAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBTaG91bGQgY2FsbCBbQktTUHJvY2Vzc0Fzc2VydGlvbiBpbnZhbGlkYXRlXQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgK
aW5kZXggMmE0OWMzOTMyN2QyODQ4MTNmMzJjNjI1NjU3ODNlYzlhNjkzMzk0My4uYTc2ZWE4NjQ2
ZjM0OThmYTA2NTM4NzFkMDRiMTllZjRhMzIyZTc5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvQ29tcGlsZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC0xNTUsNiAr
MTU1LDE0IEBACiAjZGVmaW5lIENPTlNURVhQUgogI2VuZGlmCiAKKy8qIEVYVEVSTl9DICovCisK
KyNpZmRlZiBfX2NwbHVzcGx1cworI2RlZmluZSBFWFRFUk5fQyBleHRlcm4gIkMiCisjZWxzZQor
I2RlZmluZSBFWFRFUk5fQyBleHRlcm4KKyNlbmRpZgorCiAvKiBGQUxMVEhST1VHSCAqLwogCiAj
aWYgIWRlZmluZWQoRkFMTFRIUk9VR0gpICYmIENPTVBJTEVSX1NVUFBPUlRTKEZBTExUSFJPVUdI
X1dBUk5JTkdTKSAmJiBDT01QSUxFUihDTEFORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDkxN2M2ODhmZmVhOGMzOTU2MDJkNGZiZTQx
MDllNTkwMTNlMmZkY2QuLmUyOTAyODRlMmZhNWNjODlmNDc3MmQzN2NmYTJiMmM4MjU2MDQyOGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpA
QCAtMTk5MDcsNiArMTk5MDcsMTIgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DdXN0b21CdWlsZFN0ZXA+CisgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxzcGlcY2dcQ0dGb250UmVuZGVyaW5nU1BJLmgiPgor
ICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXHNxbFxTUUxpdGVEYXRhYmFzZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccGxhdGZvcm1cc3FsXFNRTGl0ZURhdGFiYXNlVHJhY2tlci5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cc3FsXFNRTGl0ZURhdGFiYXNlVHJhY2tlckNs
aWVudC5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDZkMTQ5ODgwNWNkMTc3Mjc4OGMyOGIxN2Q5ZmIz
N2M5ZmI2MWU2ZDYuLjczYzc1NGEyZGE4OTJlNDI5OTVmNzRkZTZmMjY1NGFlYzYyNjUyNDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qLmZpbHRlcnMKQEAgLTEzMCw2ICsxMzAsMTIgQEAKICAgICA8RmlsdGVyIEluY2x1ZGU9InBs
YXRmb3JtXG5ldHdvcmtcY3VybCI+CiAgICAgICA8VW5pcXVlSWRlbnRpZmllcj57YjU5MDMyMTQt
Y2JiMi00ZmFkLTlmZjAtMzkzMGFhYTczM2Y2fTwvVW5pcXVlSWRlbnRpZmllcj4KICAgICA8L0Zp
bHRlcj4KKyAgICA8RmlsdGVyIEluY2x1ZGU9InBsYXRmb3JtXHNwaSI+CisgICAgICA8VW5pcXVl
SWRlbnRpZmllcj57MjQ3YTRlYTQtZGNiNS00ZGQwLTlkMGQtYmIxM2VjYjA4ZDU4fTwvVW5pcXVl
SWRlbnRpZmllcj4KKyAgICA8L0ZpbHRlcj4KKyAgICA8RmlsdGVyIEluY2x1ZGU9InBsYXRmb3Jt
XHNwaVxjZyI+CisgICAgICA8VW5pcXVlSWRlbnRpZmllcj57YTJlOWExYTMtYzVjMy00MzMxLWFi
MDEtMGQxMmZlYTk3OWU3fTwvVW5pcXVlSWRlbnRpZmllcj4KKyAgICA8L0ZpbHRlcj4KICAgICA8
RmlsdGVyIEluY2x1ZGU9InBsYXRmb3JtXHNxbCI+CiAgICAgICA8VW5pcXVlSWRlbnRpZmllcj57
ZjkzNWQ5M2MtNzM0Zi00ZjYxLWEzMWYtYzNiOTYwZmM1YWZmfTwvVW5pcXVlSWRlbnRpZmllcj4K
ICAgICA8L0ZpbHRlcj4KQEAgLTg4NzcsNiArODg4Myw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXGNmXExvYWRlclJ1bkxvb3BDRi5oIj4KICAgICAgIDxG
aWx0ZXI+cGxhdGZvcm1cbmV0d29ya1xjZjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cc3BpXGNnXENHRm9udFJlbmRlcmluZ1NQ
SS5oIj4KKyAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cc3BpXGNnPC9GaWx0ZXI+CisgICAgPC9DbElu
Y2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxzcWxcU1FMaXRlRGF0
YWJhc2UuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXHNxbDwvRmlsdGVyPgogICAgIDwvQ2xJ
bmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmVDRy5wcm9wcyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlQ0cucHJv
cHMKaW5kZXggOGI4ZDRlNTYzYTdhNWI1NmMzNDA2MTYyZGIzNTc2NTcyYzQ4ZTFjMy4uMTA2MjUx
YmNkNmZjMzliMThlNDhhZGIxZDUyMDViYTk3ZmNlMDYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmVDRy5wcm9wcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZUNHLnByb3BzCkBAIC01LDcgKzUsNyBAQAogICA8L1By
b3BlcnR5R3JvdXA+CiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0g
ICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFByb2plY3REaXIpLi5ccGxhdGZv
cm1cZ3JhcGhpY3NcY2c7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljc1xjZzslKEFkZGl0aW9u
YWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAg
ICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChQcm9qZWN0RGlyKS4uXHBsYXRmb3Jt
XGdyYXBoaWNzXGNnOyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxzcGlcY2c7JChQcm9qZWN0RGly
KS4uXHN2Z1xncmFwaGljc1xjZzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRp
dGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25z
PkRJU0FCTEVfQ09SRUlNQUdFO0RJU0FCTEVfRlJPTlRFTkQ7RElTQUJMRV9JT1NVUkZBQ0U7RElT
QUJMRV9SRU5ERVJTRVJWRVI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3Nv
ckRlZmluaXRpb25zPgogICAgIDwvQ2xDb21waWxlPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovY29weUZvcndhcmRp
bmdIZWFkZXJzLmNtZCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9jb3B5Rm9yd2Fy
ZGluZ0hlYWRlcnMuY21kCmluZGV4IGZiZjY5ZjEzMDhiMzVmMjBlNjlhNmRlMzI3NzMyZjJjYjkw
MTI0MWYuLjliYWFkN2QyNjU5MzllNzg5MGQwMzkzNTM1YjdlNWFhYzA5YzA2N2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9jb3B5Rm9yd2FyZGluZ0hlYWRlcnMu
Y21kCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9jb3B5Rm9yd2FyZGluZ0hl
YWRlcnMuY21kCkBAIC02NSw2ICs2NSw3IEBAIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxw
bGF0Zm9ybVx0ZXh0XHRyYW5zY29kZXJcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJCiB4Y29w
eSAveSAvZCAiJVByb2plY3REaXIlLi5ccGxhdGZvcm1cd2luXCouaCIgIiVDT05GSUdVUkFUSU9O
QlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxw
bGF0Zm9ybVxuZXR3b3JrXCouaCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2Vi
Q29yZSIKIHhjb3B5IC95IC9kICIlUHJvamVjdERpciUuLlxwbGF0Zm9ybVxuZXR3b3JrXCUyXCou
aCIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKK3hjb3B5IC95IC9k
ICIlUHJvamVjdERpciUuLlxwbGF0Zm9ybVxzcGlcY2dcKi5oIiAiJUNPTkZJR1VSQVRJT05CVUlM
RERJUiVcaW5jbHVkZVxXZWJDb3JlIgogeGNvcHkgL3kgL2QgIiVQcm9qZWN0RGlyJS4uXHBsYXRm
b3JtXHNxbFwqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFdlYkNvcmUiCiB4
Y29weSAveSAvZCAiJVByb2plY3REaXIlLi5ccGxhdGZvcm1cY2Fpcm9cY2Fpcm9cc3JjXCouaCIg
IiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGluY2x1ZGVcV2ViQ29yZSIKIHhjb3B5IC95IC9kICIl
UHJvamVjdERpciUuLlxiaW5kaW5nc1wqLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNs
dWRlXFdlYkNvcmUiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggNGE3MzA5ZTUyMzYwMGQ5ZDljZGM0OWMyNDVjYzY4N2RhOGU4OGUz
ZC4uMzMwODdhZjdkZmU5MjAxZGE2Y2MwZjA4ZDg4YzdhZDY2NTUyNDBkMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTcyOSwx
NSArNTcyOSw0NiBAQAogCQlDREZDMzYwNzE4Q0E2OTZDMDAyNkU1NkYgLyogUmVtb3RlQ29tbWFu
ZExpc3RlbmVySU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0RGQzM2MDIxOENBNjE2MzAwMjZFNTZGIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklP
Uy5tbSAqLzsgfTsKIAkJQ0UwNTdGQTUxMjIwNzMxMTAwQTQ3NkQ1IC8qIERvY3VtZW50TWFya2Vy
Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRTA1N0ZBMzEyMjA3MzExMDBBNDc2RDUgLyogRG9jdW1lbnRNYXJrZXJDb250cm9sbGVy
LmNwcCAqLzsgfTsKIAkJQ0UwNTdGQTYxMjIwNzMxMTAwQTQ3NkQ1IC8qIERvY3VtZW50TWFya2Vy
Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0UwNTdGQTQxMjIwNzMxMTAwQTQ3NkQ1IC8qIERvY3VtZW50TWFya2VyQ29udHJvbGxlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFMDhB
QzU2MTlDMjAyQjcwMDY0NDg0MyAvKiBNYWNoVk1TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMDhBQzU1MTlDMjAyQUYwMDY0NDg0MyAvKiBNYWNo
Vk1TUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlDRTA4QzNEMTE1MkI1OTlBMDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTA4QzND
RjE1MkI1OTlBMDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAgKi87IH07
CiAJCUNFMDhDM0QyMTUyQjU5OUEwMDIxQjhDMiAvKiBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTA4QzNE
MDE1MkI1OTlBMDAyMUI4QzIgLyogQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CisJCUNFNEY2RDM0MTlCNzc0RjYwMEJGQzY0
QSAvKiBDQUxheWVyU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRTRGNkQzMjE5Qjc3NEY2MDBCRkM2NEEgLyogQ0FMYXllclNQSS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2RDQ0MTlCNzc1
MTIwMEJGQzY0QSAvKiBDR0Zsb2F0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzQTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGbG9hdFNQSS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFNEY2
RDY0MTlCNzc1RjgwMEJGQzY0QSAvKiBEaXNwYXRjaFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENUYxOUI3NzVGODAwQkZDNjRBIC8qIERp
c3BhdGNoU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJQ0U0RjZENjcxOUI3NzVGODAwQkZDNjRBIC8qIE5TR2VvbWV0cnlTUEkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDYyMTlCNzc1Rjgw
MEJGQzY0QSAvKiBOU0dlb21ldHJ5U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U2NTBEQUMxOUJBRDEzQzAwNjEzNTE4IC8qIENURm9udERl
c2NyaXB0b3JTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENFNEY2RDRDMTlCNzc1N0IwMEJGQzY0QSAvKiBDVEZvbnREZXNjcmlwdG9yU1BJLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U2NTBEQUQx
OUJBRDE0NDAwNjEzNTE4IC8qIENURm9udFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENEQxOUI3NzU3QjAwQkZDNjRBIC8qIENURm9udFNQ
SS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNF
NjUwREFFMTlCQUQxNTgwMDYxMzUxOCAvKiBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDUzMTlCNzc1
N0IwMEJGQzY0QSAvKiBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTY1MERBRjE5QkFEMTg0MDA2MTM1
MTggLyogTW9iaWxlR2VzdGFsdFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0U0RjZENTIxOUI3NzU3QjAwQkZDNjRBIC8qIE1vYmlsZUdlc3RhbHRT
UEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlD
RTY1MERCMDE5QkFEMUI0MDA2MTM1MTggLyogTlNGaWxlTWFuYWdlclNQSS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENjExOUI3NzVGODAwQkZD
NjRBIC8qIE5TRmlsZU1hbmFnZXJTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlDRTY1MERCMTE5QkI2MDNFMDA2MTM1MTggLyogQ0dDb250ZXh0
U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRG
NkQzOTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dDb250ZXh0U1BJLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U2NTBEQjMxOUJCNjBERDAwNjEzNTE4
IC8qIENHRm9udFJlbmRlcmluZ1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0U0RjZEM0QxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udFJlbmRlcmlu
Z1NQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUNFN0IyREIzMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREFG
MTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTdCMkRCNDE1ODZB
QkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U3QjJEQjAxNTg2QUJBRDAwOThC
M0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSAqLzsgfTsKIAkJQ0U3QjJEQjUx
NTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U3QjJEQjExNTg2QUJBRDAwOThC
M0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNFN0IyREI2MTU4NkFCQUQwMDk4QjNGQSAvKiBU
ZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRTdCMkRCMjE1ODZBQkFEMDA5OEIzRkEgLyogVGV4dEFsdGVybmF0
aXZlV2l0aFJhbmdlLm1tICovOyB9OwotCQlDRTgyNDVGMDE5QjY3MUJBMDBBQzAxMjIgLyogQ0ZO
ZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRTgyNDVFRjE5QjY3MUJBMDBBQzAxMjIgLyogQ0ZOZXR3b3JrQ29u
bmVjdGlvbkNhY2hlU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJQ0U4MjQ1RjIxOUI2NzFENTAwQUMwMTIyIC8qIENGVVJMUmVxdWVzdFNQSS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U4MjQ1RjEx
OUI2NzFENTAwQUMwMTIyIC8qIENGVVJMUmVxdWVzdFNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNFOTUyMDhBMTgxMUI0NzUwMDdBNTM5MiAv
KiBXZWJTYWZlSW5jcmVtZW50YWxTd2VlcGVySU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkM0Q0IxRDE2MUExMzEyMDBEMjE0REEgLyogV2ViU2Fm
ZUluY3JlbWVudGFsU3dlZXBlcklPUy5oICovOyB9OworCQlDRUFBNjkzQTE5QzM1QkM0MDBDNEY3
QkYgLyogQ0FUaWxlZExheWVyU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRTRGNkQzMzE5Qjc3NEY2MDBCRkM2NEEgLyogQ0FUaWxlZExheWVyU1BJ
LmggKi87IH07CisJCUNFQUE2OTNCMTlDMzVDMEYwMEM0RjdCRiAvKiBDRkxvY2FsZVNQSS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjUwODZEQTcxOUFD
MTcxOTAwOUFGNDZCIC8qIENGTG9jYWxlU1BJLmggKi87IH07CisJCUNFQUE2OTNDMTlDMzVDMTMw
MEM0RjdCRiAvKiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFODI0NUVGMTlCNjcxQkEwMEFDMDEyMiAv
KiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCAqLzsgfTsKKwkJQ0VBQTY5M0QxOUMzNUMx
QjAwQzRGN0JGIC8qIENHQ29sb3JUcmFuc2Zvcm1TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDM3MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0Nv
bG9yVHJhbnNmb3JtU1BJLmggKi87IH07CisJCUNFQUE2OTNFMTlDMzVDMjIwMEM0RjdCRiAvKiBD
R0ZvbnRHbHlwaFN1cHBvcnRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENFNEY2RDNCMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRHbHlwaFN1cHBv
cnRTUEkuaCAqLzsgfTsKKwkJQ0VBQTY5M0YxOUMzNUMyNTAwQzRGN0JGIC8qIENHRm9udEluZm9T
UEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2
RDNDMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRJbmZvU1BJLmggKi87IH07CisJCUNFQUE2OTQw
MTlDMzVDMkEwMEM0RjdCRiAvKiBDR0ZvbnRVbmljb2RlU3VwcG9ydFNQSS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEM0UxOUI3NzUxMjAwQkZD
NjRBIC8qIENHRm9udFVuaWNvZGVTdXBwb3J0U1BJLmggKi87IH07CisJCUNFQUE2OTQxMTlDMzVD
MkMwMEM0RjdCRiAvKiBDR0ltYWdlU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQzRjE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dJbWFnZVNQSS5o
ICovOyB9OworCQlDRUFBNjk0MjE5QzM1QzJGMDBDNEY3QkYgLyogQ0dTUmVnaW9uU1BJLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ0MDE5Qjc3
NTEyMDBCRkM2NEEgLyogQ0dTUmVnaW9uU1BJLmggKi87IH07CisJCUNFQUE2OTQzMTlDMzVDMzgw
MEM0RjdCRiAvKiBkeWxkU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRTRGNkQ2MDE5Qjc3NUY4MDBCRkM2NEEgLyogZHlsZFNQSS5oICovOyB9Owor
CQlDRUFBNjk0NDE5QzM1QzNCMDBDNEY3QkYgLyogSU9QTUxpYlNQSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENjkxOUI3ODU0RTAwQkZDNjRB
IC8qIElPUE1MaWJTUEkuaCAqLzsgfTsKKwkJQ0VBQTY5NDUxOUMzNUM0NzAwQzRGN0JGIC8qIE5T
UG9pbnRlckZ1bmN0aW9uc1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0U0RjZENjMxOUI3NzVGODAwQkZDNjRBIC8qIE5TUG9pbnRlckZ1bmN0aW9u
c1NQSS5oICovOyB9OworCQlDRUFBNjk0NjE5QzM1QzRGMDBDNEY3QkYgLyogQVZQbGF5ZXJDb250
cm9sbGVyU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRTRGNkQyOTE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJDb250cm9sbGVyU1BJLmggKi87
IH07CisJCUNFQUE2OTQ3MTlDMzVDNTEwMEM0RjdCRiAvKiBBVlBsYXllclZpZXdDb250cm9sbGVy
U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRG
NkQyQTE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oICovOyB9
OworCQlDRUFBNjk0ODE5QzM1QzUzMDBDNEY3QkYgLyogQVZWYWx1ZVRpbWluZ1NQSS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEMkIxOUI3NzRE
NTAwQkZDNjRBIC8qIEFWVmFsdWVUaW1pbmdTUEkuaCAqLzsgfTsKKwkJQ0VBQTY5NDkxOUMzNUM1
NjAwQzRGN0JGIC8qIEFWVmlkZW9MYXllclNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZEMkMxOUI3NzRENTAwQkZDNjRBIC8qIEFWVmlkZW9M
YXllclNQSS5oICovOyB9OworCQlDRUFBNjk0QTE5QzM1QzVCMDBDNEY3QkYgLyogQ1VJQ2F0YWxv
Z1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0
RjZENEYxOUI3NzU3QjAwQkZDNjRBIC8qIENVSUNhdGFsb2dTUEkuaCAqLzsgfTsKKwkJQ0VBQTY5
NEIxOUMzNUM1RTAwQzRGN0JGIC8qIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U0RjZENTAxOUI3
NzU3QjAwQkZDNjRBIC8qIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oICovOyB9Owor
CQlDRUFBNjk0QzE5QzM1QzYzMDBDNEY3QkYgLyogUUxQcmV2aWV3Q29udmVydGVyU1BJLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTRGNkQ1NTE5Qjc3
NTdCMDBCRkM2NEEgLyogUUxQcmV2aWV3Q29udmVydGVyU1BJLmggKi87IH07CisJCUNFQUE2OTRE
MTlDMzVDNjUwMEM0RjdCRiAvKiBRdWlja0xvb2tTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNEY2RDU2MTlCNzc1N0IwMEJGQzY0QSAvKiBRdWlj
a0xvb2tTUEkuaCAqLzsgfTsKIAkJQ0VDQURGQzYxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlv
bkFsdGVybmF0aXZlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENFQ0FERkMyMTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25BbHRlcm5hdGl2ZS5j
cHAgKi87IH07CiAJCUNFQ0FERkM3MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25BbHRlcm5h
dGl2ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VD
QURGQzMxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkFsdGVybmF0aXZlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0VDQURGQzgxNTM3NzhG
RjAwRTM3MDY4IC8qIERpY3RhdGlvbkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VDQURGQzQxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3Rh
dGlvbkNvbW1hbmQuY3BwICovOyB9OwpAQCAtMTMxOTEsOCArMTMyMjIsMzggQEAKIAkJQ0RGQzM2
MDQxOENBNjFDMjAwMjZFNTZGIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVDb21tYW5kTGlzdGVuZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0UwNTdGQTMxMjIwNzMxMTAwQTQ3NkQ1IC8qIERvY3VtZW50
TWFya2VyQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDRTA1N0ZBNDEyMjA3MzExMDBBNDc2RDUgLyogRG9jdW1lbnRNYXJrZXJDb250cm9sbGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERvY3VtZW50TWFya2VyQ29udHJv
bGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTA4QUM1NTE5QzIwMkFGMDA2
NDQ4NDMgLyogTWFjaFZNU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hY2hWTVNQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDRTA4QzNDRjE1MkI1OTlBMDAyMUI4QzIgLyogQWx0ZXJu
YXRpdmVUZXh0Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0UwOEMzRDAxNTJCNTk5QTAwMjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRy
b2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWx0ZXJuYXRpdmVUZXh0
Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQyOTE5Qjc3
NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJDb250cm9sbGVyU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFWUGxheWVyQ29udHJvbGxlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDRTRGNkQyQTE5Qjc3NEQ1MDBCRkM2NEEgLyogQVZQbGF5ZXJWaWV3Q29u
dHJvbGxlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBVlBsYXllclZp
ZXdDb250cm9sbGVyU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDJC
MTlCNzc0RDUwMEJGQzY0QSAvKiBBVlZhbHVlVGltaW5nU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFWVmFsdWVUaW1pbmdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQ0U0RjZEMkMxOUI3NzRENTAwQkZDNjRBIC8qIEFWVmlkZW9MYXllclNQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBVlZpZGVvTGF5ZXJTUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEMzIxOUI3NzRGNjAwQkZDNjRBIC8qIENBTGF5
ZXJTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0FMYXllclNQSS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzMzE5Qjc3NEY2MDBCRkM2NEEgLyog
Q0FUaWxlZExheWVyU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENBVGls
ZWRMYXllclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzNzE5Qjc3
NTEyMDBCRkM2NEEgLyogQ0dDb2xvclRyYW5zZm9ybVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDR0NvbG9yVHJhbnNmb3JtU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUNFNEY2RDM5MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0NvbnRleHRTUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0dDb250ZXh0U1BJLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDNBMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0Zsb2F0U1BJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHRmxvYXRTUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZEM0IxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9u
dEdseXBoU3VwcG9ydFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDR0Zv
bnRHbHlwaFN1cHBvcnRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZE
M0MxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEluZm9TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ0dGb250SW5mb1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDRTRGNkQzRDE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dGb250UmVuZGVyaW5nU1BJLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHRm9udFJlbmRlcmluZ1NQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQzRTE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dG
b250VW5pY29kZVN1cHBvcnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q0dGb250VW5pY29kZVN1cHBvcnRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0U0RjZEM0YxOUI3NzUxMjAwQkZDNjRBIC8qIENHSW1hZ2VTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ0dJbWFnZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDRTRGNkQ0MDE5Qjc3NTEyMDBCRkM2NEEgLyogQ0dTUmVnaW9uU1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENHU1JlZ2lvblNQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDRTRGNkQ0QzE5Qjc3NTdCMDBCRkM2NEEgLyogQ1RGb250RGVzY3JpcHRv
clNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDVEZvbnREZXNjcmlwdG9y
U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDREMTlCNzc1N0IwMEJG
QzY0QSAvKiBDVEZvbnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1RG
b250U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDRGMTlCNzc1N0Iw
MEJGQzY0QSAvKiBDVUlDYXRhbG9nU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENVSUNhdGFsb2dTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZE
NTAxOUI3NzU3QjAwQkZDNjRBIC8qIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRp
b25TUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENTIxOUI3NzU3QjAw
QkZDNjRBIC8qIE1vYmlsZUdlc3RhbHRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTW9iaWxlR2VzdGFsdFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
RTRGNkQ1MzE5Qjc3NTdCMDBCRkM2NEEgLyogTVBBVlJvdXRpbmdDb250cm9sbGVyU1BJLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTRGNkQ1NTE5Qjc3NTdCMDBCRkM2NEEg
LyogUUxQcmV2aWV3Q29udmVydGVyU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFFMUHJldmlld0NvbnZlcnRlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDRTRGNkQ1NjE5Qjc3NTdCMDBCRkM2NEEgLyogUXVpY2tMb29rU1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1aWNrTG9va1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDRTRGNkQ1RjE5Qjc3NUY4MDBCRkM2NEEgLyogRGlzcGF0Y2hTUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzcGF0Y2hTUEkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENjAxOUI3NzVGODAwQkZDNjRBIC8qIGR5bGRTUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gZHlsZFNQSS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDRTRGNkQ2MTE5Qjc3NUY4MDBCRkM2NEEgLyogTlNGaWxlTWFuYWdl
clNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0ZpbGVNYW5hZ2VyU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNEY2RDYyMTlCNzc1RjgwMEJGQzY0
QSAvKiBOU0dlb21ldHJ5U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5T
R2VvbWV0cnlTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENjMxOUI3
NzVGODAwQkZDNjRBIC8qIE5TUG9pbnRlckZ1bmN0aW9uc1NQSS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBOU1BvaW50ZXJGdW5jdGlvbnNTUEkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQ0U0RjZENjkxOUI3ODU0RTAwQkZDNjRBIC8qIElPUE1MaWJTUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSU9QTUxpYlNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDRTVDQjFCMzE0RURBQjZGMDBCQjI3OTUgLyogRXZlbnRTZW5k
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRTZW5kZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U2RDg5Mjk0QzdBQUNFMEFEODlCM0REIC8qIE1h
dGhNTE1lbmNsb3NlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
YXRoTUxNZW5jbG9zZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U3
QjJEQUYxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xs
ZXIuaDsgcGF0aCA9IG1hYy9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MTQ4LDggKzE2MjA5LDExIEBACiAJCTY1M0VGODM2MTlB
MDQzQUUwMDUyMjAyQyAvKiBzcGkgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKAorCQkJCUNFNEY2RDMxMTlCNzc0RjYwMEJGQzY0QSAvKiBjYSAqLywKIAkJCQk2NTA4
NkRBNjE5QUMxNzE5MDA5QUY0NkIgLyogY2YgKi8sCisJCQkJQ0U0RjZEMzYxOUI3NzUxMjAwQkZD
NjRBIC8qIGNnICovLAogCQkJCTY1M0VGODM3MTlBMDQzQUUwMDUyMjAyQyAvKiBjb2NvYSAqLywK
KwkJCQlDRTRGNkQ1MTE5Qjc3NTdCMDBCRkM2NEEgLyogaW9zICovLAogCQkJKTsKIAkJCXBhdGgg
PSBzcGk7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTYxNTcsNiArMTYyMjEsMTMg
QEAKIAkJNjUzRUY4MzcxOUEwNDNBRTAwNTIyMDJDIC8qIGNvY29hICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDRTRGNkQ1RjE5Qjc3NUY4MDBCRkM2NEEg
LyogRGlzcGF0Y2hTUEkuaCAqLywKKwkJCQlDRTRGNkQ2MDE5Qjc3NUY4MDBCRkM2NEEgLyogZHls
ZFNQSS5oICovLAorCQkJCUNFNEY2RDY5MTlCNzg1NEUwMEJGQzY0QSAvKiBJT1BNTGliU1BJLmgg
Ki8sCisJCQkJQ0UwOEFDNTUxOUMyMDJBRjAwNjQ0ODQzIC8qIE1hY2hWTVNQSS5oICovLAorCQkJ
CUNFNEY2RDYxMTlCNzc1RjgwMEJGQzY0QSAvKiBOU0ZpbGVNYW5hZ2VyU1BJLmggKi8sCisJCQkJ
Q0U0RjZENjIxOUI3NzVGODAwQkZDNjRBIC8qIE5TR2VvbWV0cnlTUEkuaCAqLywKKwkJCQlDRTRG
NkQ2MzE5Qjc3NUY4MDBCRkM2NEEgLyogTlNQb2ludGVyRnVuY3Rpb25zU1BJLmggKi8sCiAJCQkJ
NjUzRUY4MzgxOUEwNDNBRTAwNTIyMDJDIC8qIE5TVVJMRmlsZVR5cGVNYXBwaW5nc1NQSS5oICov
LAogCQkJKTsKIAkJCXBhdGggPSBjb2NvYTsKQEAgLTIxNTU3LDYgKzIxNjI4LDUwIEBACiAJCQlw
YXRoID0gaW9zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJQ0U0RjZEMzEx
OUI3NzRGNjAwQkZDNjRBIC8qIGNhICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGls
ZHJlbiA9ICgKKwkJCQlDRTRGNkQzMjE5Qjc3NEY2MDBCRkM2NEEgLyogQ0FMYXllclNQSS5oICov
LAorCQkJCUNFNEY2RDMzMTlCNzc0RjYwMEJGQzY0QSAvKiBDQVRpbGVkTGF5ZXJTUEkuaCAqLywK
KwkJCSk7CisJCQlwYXRoID0gY2E7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9Owor
CQlDRTRGNkQzNjE5Qjc3NTEyMDBCRkM2NEEgLyogY2cgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91
cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNFNEY2RDM3MTlCNzc1MTIwMEJGQzY0QSAvKiBDR0Nv
bG9yVHJhbnNmb3JtU1BJLmggKi8sCisJCQkJQ0U0RjZEMzkxOUI3NzUxMjAwQkZDNjRBIC8qIENH
Q29udGV4dFNQSS5oICovLAorCQkJCUNFNEY2RDNBMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0Zsb2F0
U1BJLmggKi8sCisJCQkJQ0U0RjZEM0IxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udEdseXBoU3Vw
cG9ydFNQSS5oICovLAorCQkJCUNFNEY2RDNDMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRJbmZv
U1BJLmggKi8sCisJCQkJQ0U0RjZEM0QxOUI3NzUxMjAwQkZDNjRBIC8qIENHRm9udFJlbmRlcmlu
Z1NQSS5oICovLAorCQkJCUNFNEY2RDNFMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ZvbnRVbmljb2Rl
U3VwcG9ydFNQSS5oICovLAorCQkJCUNFNEY2RDNGMTlCNzc1MTIwMEJGQzY0QSAvKiBDR0ltYWdl
U1BJLmggKi8sCisJCQkJQ0U0RjZENDAxOUI3NzUxMjAwQkZDNjRBIC8qIENHU1JlZ2lvblNQSS5o
ICovLAorCQkJKTsKKwkJCXBhdGggPSBjZzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJ
CX07CisJCUNFNEY2RDUxMTlCNzc1N0IwMEJGQzY0QSAvKiBpb3MgKi8gPSB7CisJCQlpc2EgPSBQ
QlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNFNEY2RDI5MTlCNzc0RDUwMEJGQzY0QSAv
KiBBVlBsYXllckNvbnRyb2xsZXJTUEkuaCAqLywKKwkJCQlDRTRGNkQyQTE5Qjc3NEQ1MDBCRkM2
NEEgLyogQVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oICovLAorCQkJCUNFNEY2RDJCMTlCNzc0
RDUwMEJGQzY0QSAvKiBBVlZhbHVlVGltaW5nU1BJLmggKi8sCisJCQkJQ0U0RjZEMkMxOUI3NzRE
NTAwQkZDNjRBIC8qIEFWVmlkZW9MYXllclNQSS5oICovLAorCQkJCUNFNEY2RDRDMTlCNzc1N0Iw
MEJGQzY0QSAvKiBDVEZvbnREZXNjcmlwdG9yU1BJLmggKi8sCisJCQkJQ0U0RjZENEQxOUI3NzU3
QjAwQkZDNjRBIC8qIENURm9udFNQSS5oICovLAorCQkJCUNFNEY2RDRGMTlCNzc1N0IwMEJGQzY0
QSAvKiBDVUlDYXRhbG9nU1BJLmggKi8sCisJCQkJQ0U0RjZENTAxOUI3NzU3QjAwQkZDNjRBIC8q
IENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvblNQSS5oICovLAorCQkJCUNFNEY2RDUyMTlCNzc1
N0IwMEJGQzY0QSAvKiBNb2JpbGVHZXN0YWx0U1BJLmggKi8sCisJCQkJQ0U0RjZENTMxOUI3NzU3
QjAwQkZDNjRBIC8qIE1QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oICovLAorCQkJCUNFNEY2RDU1
MTlCNzc1N0IwMEJGQzY0QSAvKiBRTFByZXZpZXdDb252ZXJ0ZXJTUEkuaCAqLywKKwkJCQlDRTRG
NkQ1NjE5Qjc3NTdCMDBCRkM2NEEgLyogUXVpY2tMb29rU1BJLmggKi8sCisJCQkpOworCQkJcGF0
aCA9IGlvczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCURGOUFGRDZGMTNG
QzMxQjAwMDE1RkVCNyAvKiBvYmpjICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKQEAgLTIzMzI4LDYgKzIzNDQzLDcgQEAKIAkJCQlDRDU0QTc2MzE4MEY5RjcwMDBC
MDc2QzkgLyogQXVkaW9UcmFja1ByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUZEMzE2MDhCMTJCMDI2RjcwMEMxQTM1OSAvKiBBdWRpb1V0aWxpdGllcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJN0VFNjg0NjAxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0
aW9uQ0YuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFQUE2OTNDMTlDMzVDMTMwMEM0RjdCRiAvKiBD
Rk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTdFRTY4NDYx
MTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTM0RjcxM0EwRDVBNkYxMDAwMDE4RDY5IC8qIEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNDc0ODQxMEFBMTYxRDAwQjc5NDkzIC8q
IEF1dGhlbnRpY2F0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTIzNDEzLDYgKzIzNTI5
LDcgQEAKIAkJCQlCQ0IxNkMyODA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVl
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5NTAwODI0NUU1OTAwMUU5QUJDIC8qIENhY2hl
UG9saWN5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MThGNTAwMjE5NENBQzNBMDA4MUJBQUUgLyog
SlNHYW1lcGFkLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQzNDE5Qjc3NEY2MDBCRkM2NEEg
LyogQ0FMYXllclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlBRTJEOTcxMzRFRTVGOTAwNzI5
MjBBIC8qIENhbGN1bGF0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxRDVFQ0I1MTM0
QjU4REEwMDg3Qzc4RiAvKiBDYWxsYmFja0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk2
RTRFOTFBRDEwRjdGQjMxMDBBMjc3OUMgLyogQ2FudmFzQ29udGV4dEF0dHJpYnV0ZXMuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjM0MzEsOSArMjM1NDgsOSBAQAogCQkJCTY1NTBCNjlFMDk5REYwMjcw
MDkwRDc4MSAvKiBDREFUQVNlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUNEREQ1NzE1MThC
NTdBODIwMEE5NEZDQiAvKiBDRE1TZXNzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RkE5MDRD
QTE3OEU2MUY1MDA0QzhBMkQgLyogQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLywKLQkJ
CQlDRTgyNDVGMDE5QjY3MUJBMDBBQzAxMjIgLyogQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUE4RTU2NzE3NTUyQjJBMDA3NDg4RTcgLyogQ0ZVUkxF
eHRyYXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFODI0NUYyMTlCNjcxRDUwMEFDMDEyMiAvKiBD
RlVSTFJlcXVlc3RTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNEY2RDQ0MTlCNzc1MTIwMEJG
QzY0QSAvKiBDR0Zsb2F0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTM2RkQxNTE2Qzc4MjY1
MDBGODg3QzEgLyogQ2hhbmdlVmVyc2lvbkRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QkM2
OUREMTUwNUYwNzYwMDFCNzRBQyAvKiBDaGFuZ2VWZXJzaW9uV3JhcHBlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkQzMTVGRkYxMkIwMjY3NjAwQzFBMzU5IC8qIENoYW5uZWxNZXJnZXJOb2RlLmgg
aW4gSGVhZGVycyAqLywKQEAgLTIzNTc0LDYgKzIzNjkxLDcgQEAKIAkJCQlBODBFNkNFRDBBMTk4
OUNBMDA3RkI4QzUgLyogQ1NTRm9udFZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAyQTYz
QzBFMDlBOUNGMDA0QjZEMkIgLyogQ1NTRnVuY3Rpb25WYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJN0FGOUIyMDMxOENGQjJERjAwQzY0QkVGIC8qIFZUVFJlZ2lvbi5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQ0UwOEFDNTYxOUMyMDJCNzAwNjQ0ODQzIC8qIE1hY2hWTVNQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkM1M0M2OTIwREE1OTExNDAwMjFFQjVEIC8qIENTU0dyYWRpZW50VmFsdWUuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1MEY1M0RDMDlEMTVEREEwMEM5QjBDOCAvKiBDU1NHcmFtbWFy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDNFMjUyNDE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3Jp
ZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMzY5Niw2ICsyMzgxNCw3
IEBACiAJCQkJRDBCRDRGNUQxNDA4ODUwRjAwNjgzOUI2IC8qIERpY3RhdGlvbkNvbW1hbmRJT1Mu
aCBpbiBIZWFkZXJzICovLAogCQkJCTMxNjAyM0YwMTUzMkM0MEMwMEQ1MEZGNCAvKiBEaWN0aW9u
YXJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQlGREFGMTk5OTE1MTNEMTMxMDA4REIwQzMgLyogRGly
ZWN0Q29udm9sdmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTRGNkQ2NDE5Qjc3NUY4MDBCRkM2
NEEgLyogRGlzcGF0Y2hTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QUYyRDY5MTQ0MzVEMDUw
MDE2QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTVE
OEM0REMwMTQyODIyMkMwMDI2Q0U3MiAvKiBEaXNwbGF5U2xlZXBEaXNhYmxlckNvY29hLmggaW4g
SGVhZGVycyAqLywKIAkJCQlGRDMxNjA5MTEyQjAyNkY3MDBDMUEzNTkgLyogRGlzdGFuY2UuaCBp
biBIZWFkZXJzICovLApAQCAtMjM3MjAsNiArMjM4MzksNyBAQAogCQkJCUJDMUEzN0FEMDk3Qzcx
NUYwMDE5RjNEOCAvKiBET00uaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MzhGMDE5MEFENzE4RDgw
MDZBODFEMSAvKiBET01BYnN0cmFjdFZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOTk4MTJF
MERCRTgwN0EwMDhDRTlFRiAvKiBET01BYnN0cmFjdFZpZXdGcmFtZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQ0U2NTBEQjAxOUJBRDFCNDAwNjEzNTE4IC8qIE5TRmlsZU1hbmFnZXJTUEkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTg1MzhGMDFCMEFENzE4RDgwMDZBODFEMSAvKiBET01BYnN0cmFjdFZp
ZXdJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4RjZCQzMwREI1NUNEQzAwMURCNzk0
IC8qIERPTUFwcGxpY2F0aW9uQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1RDM4OUIyMEE5
OTFBN0YwMDI4MjE0NSAvKiBET01BdHRyLmggaW4gSGVhZGVycyAqLywKQEAgLTIzOTUyLDYgKzI0
MDcyLDcgQEAKIAkJCQk4NTk4OURDQzBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NS2V5Ym9hcmRFdmVu
dEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTA2NTZGRTBBQUI0NzYzMDAyRDE1QzAg
LyogRE9NTWVkaWFMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUU3MTFEMTBBQzVENTM1MDA1
MzI3MEYgLyogRE9NTWVkaWFMaXN0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNjUw
REFFMTlCQUQxNTgwMDYxMzUxOCAvKiBNUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTc1NzkzRUQzMEQwQ0U4NUIwMDdGQzBBQyAvKiBET01NZXNzYWdlRXZlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTc1NzkzRUQ1MEQwQ0U4NUIwMDdGQzBBQyAvKiBET01NZXNz
YWdlRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBQ0FGNEQwRTc5MUFBRjAw
ODdEMTJCIC8qIERPTU1lc3NhZ2VQb3J0LmggaW4gSGVhZGVycyAqLywKQEAgLTI0MDYyLDYgKzI0
MTgzLDcgQEAKIAkJCQk1MUQ3MTlCNzE4MTEwNkUwMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhl
ZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0IzOEUyNzE1MUM0MjcxMDA0NjIyRTkg
LyogRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdEMkFEMDQx
NEI4MjNBNjAwOTNERjMyIC8qIERPTVdpbmRvd1Byb3BlcnR5LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlDRUFBNjk0MzE5QzM1QzM4MDBDNEY3QkYgLyogZHlsZFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODlGNjBCMTExNTdGNjg2RTAwNzVFMTU3IC8qIERPTVdpbmRvd1F1b3RhLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBQTJBNUFENjE2QTQ4NjE2MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3lu
dGhlc2lzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOENDQkI0OTE1MUY4MzE2MDBBQjdDRTkgLyog
RE9NV2luZG93V2ViRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMjQxOTIsNiArMjQzMTQs
NyBAQAogCQkJCUJDMDczQkFBMEMzOTlCMUYwMDBGNTk3OSAvKiBGbG9hdENvbnZlcnNpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCTlBNTI4RTg0MTdEN0Y1MkYwMEFBOTUxOCAvKiBGbG9hdGluZ09i
amVjdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyNzUzNTY5MEIwNTM4MTQwMDJDRTY0RiAvKiBG
bG9hdFBvaW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRUFBNjk0NzE5QzM1QzUxMDBDNEY3QkYg
LyogQVZQbGF5ZXJWaWV3Q29udHJvbGxlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJFMjdD
QTAwQjBGMkIwOTAwRjE3QzdCIC8qIEZsb2F0UG9pbnQzRC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NkVDNDgwQTIxNkVBNjM4QTAwQTQ4RENCIC8qIEZsb2F0UG9seWdvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEZENzIzODIwRUM4QkQ5MzAwQ0E1REQ3IC8qIEZsb2F0UXVhZC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNDMxNCw2ICsyNDQzNyw3IEBACiAJCQkJQTg3MURDMUYwQTE1MjA1NzAwQjEyQTY4
IC8qIEhUTUxCYXNlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThERjNGRDIwOTdGQTBG
QzAwNTI5ODFCIC8qIEhUTUxCYXNlRm9udEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTlC
MjRERThFMTUxOTRCOTUwMEM1OUMyNyAvKiBIVE1MQkRJRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQ0VBQTY5NDkxOUMzNUM1NjAwQzRGN0JGIC8qIEFWVmlkZW9MYXllclNQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTg3MURFMkMwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxCb2R5RWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkY3QUEwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxC
UkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEN0RCQjI5MThDQTE5QzYwMEMxMTA2NiAv
KiBDU1NHcmlkTGluZU5hbWVzVmFsdWUuaCBpbiBIZWFkZXJzICovLApAQCAtMjQzMjgsNiArMjQ0
NTIsNyBAQAogCQkJCUE4RUE3Q0I3MEExOTJCOUMwMEE4RUY1RiAvKiBIVE1MRGl2RWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQThFQTc5RjcwQTE5MTZERjAwQThFRjVGIC8qIEhUTUxETGlz
dEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OEU1MDgyNDVFNTkwMDFFOUFCQyAv
KiBIVE1MRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFQUE2OTNBMTlDMzVCQzQwMEM0
RjdCRiAvKiBDQVRpbGVkTGF5ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0IzODY3MTIy
ODgzRTkwMEI4MUZGOCAvKiBIVE1MRG9jdW1lbnRQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTkzMzA5REU4MDk5RTY0OTIwMDU2RTU4MSAvKiBodG1sZWRpdGluZy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTNGMTk4RTYwODI0NUU1OTAwMUU5QUJDIC8qIEhUTUxFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKQEAgLTI0NDg4LDYgKzI0NjEzLDcgQEAKIAkJCQk4QUI0QkM3NzEyNkZEQjcxMDBERUI3
MjcgLyogSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyNzUzNTcwMEIwNTM4MTQwMDJDRTY0RiAvKiBJbWFnZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQjJBMTBCOTIwQjM4MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlDRUFBNjk0QzE5QzM1QzYzMDBDNEY3QkYgLyogUUxQcmV2aWV3Q29udmVy
dGVyU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzIxRTU3RDE4M0VEMUZGMDAxQzI4OUQgLyog
SU9TdXJmYWNlUG9vbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjJCRDlGN0YxMzUzNjI1QzAwOUJE
MTAyIC8qIEltYWdlQnVmZmVyRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjJCRDlGODExMzUz
NjRGRTAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YUNHLmggaW4gSGVhZGVycyAqLywKQEAgLTI0
NTUzLDYgKzI0Njc5LDcgQEAKIAkJCQkyMEQ2MjkyNzEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTg0MEUxRDE4N0I3NEQ1
MDA4NDNCMTAgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3MUIxRTEyNTE2NDA0OEY3MDBCMTg4MEEgLyogSW5zcGVjdG9yTGF5ZXJUcmVlQWdl
bnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFQUE2OTQxMTlDMzVDMkMwMEM0RjdCRiAvKiBDR0lt
YWdlU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MDRBQUNDRTE4MzQ0NTU5MDBFM0Q5QkMgLyog
SW5zcGVjdG9yTm9kZUZpbmRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwM0MwNzUxODg0ODA1
NTAwQTVGOENBIC8qIEluc3BlY3Rvck92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTRGNkZE
RDY1MTM0MURFREQwMDFGOEVFMyAvKiBJbnNwZWN0b3JQYWdlQWdlbnQuaCBpbiBIZWFkZXJzICov
LApAQCAtMjQ3OTIsNiArMjQ5MTksNyBAQAogCQkJCTA3MDc1NkQ0MTQyMzlBNEYwMDQxNDE2MSAv
KiBKU0hUTUxUcmFja0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBODVCMjExMEExQjI1
ODcwMEQ4Qzg3QyAvKiBKU0hUTUxVTGlzdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTZF
NEFCQ0Q1MTM4RUEwQjcwMDcxRDI5MSAvKiBKU0hUTUxVbmtub3duRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQ0VBQTY5NDgxOUMzNUM1MzAwQzRGN0JGIC8qIEFWVmFsdWVUaW1pbmdTUEku
aCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxNDE3MENENjgyNjkwMEZBREE3NSAvKiBKU0hUTUxW
aWRlb0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1ODVBNjdEMTFENEZCMDgwMDRDM0U0
QiAvKiBKU0lEQkFueS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODFCRTIwRDMxMUY0QkMzMjAwOTE1
REZBIC8qIEpTSURCQ3Vyc29yLmggaW4gSGVhZGVycyAqLywKQEAgLTI0OTMxLDggKzI1MDU5LDEw
IEBACiAJCQkJRTFGRjhGNjUxODA3NDVEODAwMTMyNjc0IC8qIEpTU3VidGxlQ3J5cHRvLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCMjAxMTEwODBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjREOTEyOTIxM0NBOTUxRTAwRDIxOTE1IC8qIEpTU1ZH
QWx0R2x5cGhEZWZFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRUFBNjk0MDE5QzM1QzJB
MDBDNEY3QkYgLyogQ0dGb250VW5pY29kZVN1cHBvcnRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUY0N0E1RTNFMTk1QjhDOEEwMDQ4MzEwMCAvKiBTdHlsZVNjcm9sbFNuYXBQb2ludHMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTA3QUM0NzAyMTk1MjEwMjEwMEVFOTcyMyAvKiBJU09WVFRDdWUuaCBp
biBIZWFkZXJzICovLAorCQkJCUNFQUE2OTRCMTlDMzVDNUUwMEM0RjdCRiAvKiBDVUlTdHlsZUVm
ZmVjdENvbmZpZ3VyYXRpb25TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1MTVFQzkyMEQ5NzIz
RkYwMDYzRDQ5QSAvKiBKU1NWR0FsdEdseXBoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MjREOTEyOTYxM0NBOTU2MTAwRDIxOTE1IC8qIEpTU1ZHQWx0R2x5cGhJdGVtRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjIyMkY2OTkwQUI3NzE5NTAwMjJFRkFEIC8qIEpTU1ZHQW5nbGUu
aCBpbiBIZWFkZXJzICovLApAQCAtMjUwNDUsNiArMjUxNzUsNyBAQAogCQkJCUIyRkEzREQ5MEFC
NzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJGQTNEREIwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUGF0aFNlZ0xpc3Qu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzREREMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1Bh
dGhTZWdNb3ZldG9BYnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNjUwREFGMTlCQUQxODQwMDYx
MzUxOCAvKiBNb2JpbGVHZXN0YWx0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0RERjBB
Qjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQYXRoU2VnTW92ZXRvUmVsLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCMkZBM0RFMTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQYXR0ZXJuRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODU0MkE3OTUwQUU1Qzk0MTAwREY1OERGIC8qIEpTU1ZHUG9pbnQu
aCBpbiBIZWFkZXJzICovLApAQCAtMjUxOTUsNiArMjUzMjYsNyBAQAogCQkJCUJDN0ZBNjIxMEQx
RjBDQkQwMERCMjJBOSAvKiBMaXZlTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3NTlF
OTQ5MTRFRjFENDkwMDI2QTJERCAvKiBMb2FkYWJsZVRleHRUcmFjay5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNjU2RDM3MzIwQURCQTVERTAwQTQ1NTREIC8qIExvYWRlck5TVVJMRXh0cmFzLmggaW4g
SGVhZGVycyAqLywKKwkJCQlDRTY1MERCMTE5QkI2MDNFMDA2MTM1MTggLyogQ0dDb250ZXh0U1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3RUU2ODQ2OTEyRDI2RTM4MDBFNzk0MTUgLyogTG9hZGVy
UnVuTG9vcENGLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUU2ODIxMDE2Mzg3MzAyMDAzQkJGM0Mg
LyogTG9hZGVyU3RyYXRlZ3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTA2RTgxRUQ3MEFCNUQ1RTkw
MEM4NzgzNyAvKiBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCBpbiBIZWFkZXJzICovLApA
QCAtMjUyODIsNiArMjU0MTQsNyBAQAogCQkJCTA3NjMwNkQzMTdFMTQ3OEQwMDVBN0M0RSAvKiBN
ZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3NjMw
NkUzMTdFMjJBNDMwMDVBN0M0RSAvKiBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGll
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUNENjQxRUMwMTgxOUIzNjAwMEVFNEM0MSAvKiBNZWRp
YVRpbWVBVkZvdW5kYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUNFQUE2OTNGMTlDMzVDMjUw
MEM0RjdCRiAvKiBDR0ZvbnRJbmZvU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzA1ODUyMTE3
RkRDMTQwMDA1RjJCQ0IgLyogTWVkaWFUcmFja0NvbnN0cmFpbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTA3MDU4NTI0MTdGREMxNDAwMDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29uc3RyYWludHMuaCBp
biBIZWFkZXJzICovLAogCQkJCTA3MDU4NTI5MTdGREUwMkMwMDVGMkJDQiAvKiBNZWRpYVRyYWNr
Q29uc3RyYWludFNldC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTMxNyw2ICsyNTQ1MCw3IEBACiAJ
CQkJRDZFNTI4QTQxNDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdy
b3VwLmggaW4gSGVhZGVycyAqLywKIAkJCQlENkUyNzZCMDE0NjM3NDU1MDAxRDI4MEEgLyogTXV0
YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZGMDhGQkQx
NDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0aW9uUmVjb3JkLmggaW4gSGVhZGVycyAqLywKKwkJCQlD
RTRGNkQ2NzE5Qjc3NUY4MDBCRkM2NEEgLyogTlNHZW9tZXRyeVNQSS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTJCNkM5QzYxNUUzRjRERjAwNjkwQjA1IC8qIE5hbWVkRmxvd0NvbGxlY3Rpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCUE4MTg3MjIzMDk3N0QzQzAwMDU4MjZEOSAvKiBOYW1lZE5vZGVN
YXAuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MTg3MjFFMDk3N0QzQzAwMDU4MjZEOSAvKiBOYW1l
Tm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjU1NzYsNiArMjU3MTAsNyBAQAogCQkJCUJD
RUE0ODY0MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJMaW5lQnJlYWsuaCBpbiBIZWFkZXJzICov
LAogCQkJCUFCQjU0MTlGMEFDRERGRTQwMDI4MjBFQiAvKiBSZW5kZXJMaXN0Qm94LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBOEVBN0E1MjBBMTkxQTUyMDBBOEVGNUYgLyogUmVuZGVyTGlzdEl0ZW0u
aCBpbiBIZWFkZXJzICovLAorCQkJCUNFNjUwREFDMTlCQUQxM0MwMDYxMzUxOCAvKiBDVEZvbnRE
ZXNjcmlwdG9yU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzkyOTE3RTE5ODc2NzhGMDBGNEI2
NjEgLyogQ3JlZGVudGlhbENvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEVBN0E1MDBBMTkx
QTUyMDBBOEVGNUYgLyogUmVuZGVyTGlzdE1hcmtlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1
NjAyOEYwRTRCNzY1ODAwNjVCMDM4IC8qIFJlbmRlck1hcnF1ZWUuaCBpbiBIZWFkZXJzICovLApA
QCAtMjU2NjQsNiArMjU3OTksNyBAQAogCQkJCUE4REY0QUVFMDk4MEM0MkMwMDUyOTgxQiAvKiBS
ZW5kZXJUYWJsZVJvdy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzZGQjlGRjkxOUE3M0UzQTAwNDIw
NTYyIC8qIEpTQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThE
RjRBRUYwOTgwQzQyQzAwNTI5ODFCIC8qIFJlbmRlclRhYmxlU2VjdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQ0U2NTBEQUQxOUJBRDE0NDAwNjEzNTE4IC8qIENURm9udFNQSS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkNFQTQ4OEMwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRleHQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUFCNjdEMUE5MDk3RjNBRTMwMEY5MzkyRSAvKiBSZW5kZXJUZXh0Q29u
dHJvbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDgzREFFQTcwRjAxQTdGQjAwMzQyNzU0IC8qIFJl
bmRlclRleHRDb250cm9sTXVsdGlMaW5lLmggaW4gSGVhZGVycyAqLywKQEAgLTI1OTcxLDYgKzI2
MTA3LDcgQEAKIAkJCQlCQzIyNzJCRDBFODJFQUFFMDBFN0Y5NzUgLyogU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMjcyODcwRTgyRTcwNzAwRTdGOTc1
IC8qIFN0eWxlUmVmbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRENThFQjUxN0I0REJE
QzAwQ0JEQ0E4IC8qIFN0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlDRUFBNjk0NTE5QzM1QzQ3MDBDNEY3QkYgLyogTlNQb2ludGVyRnVuY3Rpb25zU1BJLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMTM5ODY2NDE1NDc4NDc0MDAxRTNGNjUgLyogU3R5bGVSZXNvbHZl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRERUFBMTgxN0E5M0RDMzAwMEUwNDMwIC8qIFN0eWxl
UmVzb2x2ZVRyZWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QkJFRDREMTRGQ0RCQTEwMDNGMEI5
OCAvKiBTdHlsZVJ1bGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjU5OTUsNiArMjYxMzIsNyBAQAog
CQkJCTA4NzU1OEM2MTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRl
cmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTYyQzEyMTdEMTFBQjlFNzcwMDNDNDYyQyAvKiBT
dXNwZW5kYWJsZVRpbWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzk3NDBEMDBCRjIyMDA3
MUI3ODIgLyogU1ZHQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFQUE2OTNEMTlDMzVD
MUIwMEM0RjdCRiAvKiBDR0NvbG9yVHJhbnNmb3JtU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQky
NEQ5MTJCMTEzQ0E5QTFGMDBEMjE5MTUgLyogU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2NTY1M0YyRTBEOTcyN0QyMDBDQTk3MjMgLyogU1ZHQWx0R2x5cGhFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyNEQ5MTJCODEzQ0E5QTY5MDBEMjE5MTUgLyogU1ZH
QWx0R2x5cGhJdGVtRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjA0OCw2ICsyNjE4Niw3
IEBACiAJCQkJQjIyMjc5QjcwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0VsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTY1NjU4MUZFMDlEMTUwOEQwMDBFNjFENyAvKiBTVkdFbGVtZW50RmFjdG9y
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5QkEwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0Vs
ZW1lbnRJbnN0YW5jZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VBQTY5NEExOUMzNUM1QjAwQzRG
N0JGIC8qIENVSUNhdGFsb2dTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3OUJEMEQwMEJG
MjIwMDcxQjc4MiAvKiBTVkdFbGVtZW50SW5zdGFuY2VMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwODFBQThEQTExMTEyMzdFMDAyQUIwNkUgLyogU1ZHRWxlbWVudFJhcmVEYXRhLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCNTYyREI2MTE3RDNDRDY2MDAxMEFGOTYgLyogU1ZHRWxlbWVudFR5cGVI
ZWxwZXJzLmggaW4gSGVhZGVycyAqLywKQEAgLTI2MTUyLDYgKzI2MjkxLDcgQEAKIAkJCQk4M0Mx
RDQyNTE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0FyY0Ficy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODNDMUQ0MjYxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdBcmNSZWwuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUIyMjI3QTYyMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXRoU2VnQ2xv
c2VQYXRoLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRUFBNjkzQjE5QzM1QzBGMDBDNEY3QkYgLyog
Q0ZMb2NhbGVTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QTY1MEQwMEJGMjIwMDcxQjc4
MiAvKiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0MxRDQy
NzE3OEQ1QUI0MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY0Ficy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODNDMUQ0MjgxNzhENUFCNDAwMTQxRTY4IC8qIFNWR1BhdGhTZWdDdXJ2ZXRv
Q3ViaWNSZWwuaCBpbiBIZWFkZXJzICovLApAQCAtMjYyMjEsNiArMjYzNjEsNyBAQAogCQkJCTdD
REVFRTFFMTk3NjEwRDcwMEUzNTJDRCAvKiBWaWV3U3RhdGVDaGFuZ2VPYnNlcnZlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjIyMjdBQzEwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1N5bWJvbEVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QUM1MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdU
ZXN0cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VBQTY5NDIxOUMzNUMyRjAwQzRGN0JGIC8qIENH
U1JlZ2lvblNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDhGMEJGQzMxMjU1QzUzQzAwMDc1MTg1
IC8qIFNWR1RleHRDaHVuay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDgxNjY4RDQxMjU2MDNCRjAw
NkYyNURFIC8qIFNWR1RleHRDaHVua0J1aWxkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3
QUM4MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdUZXh0Q29udGVudEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjYyODAsNyArMjY0MjEsOSBAQAogCQkJCUIyQzNEQTQwMEQwMDZDMUQwMEVGNkYy
NiAvKiBUZXh0Q29kZWNVc2VyRGVmaW5lZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RBNDIw
RDAwNkMxRDAwRUY2RjI2IC8qIFRleHRDb2RlY1VURjE2LmggaW4gSGVhZGVycyAqLywKIAkJCQk5
MzQzQ0I4MjEyRjI1RTUxMDAzM0M1RUUgLyogVGV4dENvZGVjVVRGOC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQ0U2NTBEQjMxOUJCNjBERDAwNjEzNTE4IC8qIENHRm9udFJlbmRlcmluZ1NQSS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMTQyQjk3Q0ExMzEzODk0MzAwOEJFRjRCIC8qIFRleHRDb250cm9s
SW5uZXJFbGVtZW50cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VBQTY5NDYxOUMzNUM0RjAwQzRG
N0JGIC8qIEFWUGxheWVyQ29udHJvbGxlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RB
NDUwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHREaXJlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTk3QkM4NEI0MTIzNzExODAwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk3QkM4NDg0MTIzNkZEOTMwMDBDNjE2MSAvKiBUZXh0RG9jdW1lbnRQYXJzZXIuaCBp
biBIZWFkZXJzICovLApAQCAtMjY0MjMsNiArMjY1NjYsNyBAQAogCQkJCTg2NzhEMEJCMTg3OEU4
OTEwMDNBQkRFNiAvKiBWaWV3U3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RTIwMDk5
RTY0OTIwMDU2RTU4MSAvKiBWaXNpYmxlUG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTA3
QUI5OTY5MThEQTNDMDEwMDE4NzcxRSAvKiBSVENDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAq
LywKKwkJCQlDRUFBNjk0RDE5QzM1QzY1MDBDNEY3QkYgLyogUXVpY2tMb29rU1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBODgzREYyODBGM0QwNDVEMDBGMTlCRjYgLyogVmlzaWJsZVNlbGVjdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlFMUUwOTlFNjQ5MjAwNTZFNTgxIC8qIFZpc2li
bGVVbml0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE5QkMyREYxNjg1MzI5OTAwRDY0RDZEIC8q
IFZpc2l0ZWRMaW5rU3RhdGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjY0NTcsNiArMjY2MDEsNyBA
QAogCQkJCUM1QjRDMjREMTUwOTIzNkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNVUkxFeHRyYXMuaCBp
biBIZWFkZXJzICovLAogCQkJCUREMDVGRTBEMEI4QkEzQzYwMDlBQ0RGRSAvKiBXZWJDb3JlT2Jq
Q0V4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRURFQzk4MDMwQUVEN0UxNzAwNTkxMzdGIC8q
IFdlYkNvcmVQcmVmaXguaCBpbiBIZWFkZXJzICovLAorCQkJCUNFQUE2OTNFMTlDMzVDMjIwMEM0
RjdCRiAvKiBDR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxODA4
MTBGMTZGQ0VDREYwMEI4MEQwNyAvKiBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFMTUyNTUxNTE2RkQyMzUwMDAzRDdBREIgLyogV2ViQ29yZVJl
c291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5M0VCMTY5NzA5Rjg4MEMwMDA5MUY4RkYgLyogV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNjU5NCw2ICsyNjczOSw3IEBACiAJCQkJMkVBNzY4MDQwRkU3MTI2
NDAwQUI5QzhBIC8qIFdvcmtlclNjcmlwdExvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMkU0MzQ2NTUwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlclRocmVhZC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEI5MDU2RjkwRjI2ODVGMzAwOTVGRjZBIC8qIFdvcmtlclRocmVhZGFibGVMb2Fk
ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFQUE2OTQ0MTlDMzVDM0IwMEM0RjdCRiAvKiBJT1BN
TGliU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0FBQkQyRDE0RkEwOUQ1MDA3NDU3QUUgLyog
V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
RTU4MDY0MTkzMjdBNjIwMERFMzJFQiAvKiBTY3JvbGxpbmdUcmVlTWFjLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5MzMwOUUyNDA5OUU2NDkyMDA1NkU1ODEgLyogV3JhcENvbnRlbnRzSW5EdW1teVNw
YW5Db21tYW5kLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NSW50ZXJuYWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpj
L0RPTUludGVybmFsLm1tCmluZGV4IDVlNzczNjE5NjRkYzEwMjc2ZjU0MGY1NTIzNDgwMDQzZmI5
YWNlMzguLjJlYTA0NzQxZWEwMDEzN2VkZTdkNGI3ZTg4ZDIxNjU0OGMyMmVhYjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5tbQpAQCAtMzYsNiArMzYsOCBA
QAogCiAjaWYgUExBVEZPUk0oSU9TKQogI2RlZmluZSBORUVEU19XUkFQUEVSX0NBQ0hFX0xPQ0sg
MQorCisjaW1wb3J0ICJOU1BvaW50ZXJGdW5jdGlvbnNTUEkuaCIKICNlbmRpZgogCiAvLy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5tbSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpj
L29iamNfaW5zdGFuY2UubW0KaW5kZXggMDE1YTZmYmRjY2I3YTRlNTc0NmFhMDYxZDU4OWU5ODQ4
NzJiYmFiYy4uNzdiYmU1ZmZhMGE5YjE5NmQwY2U2NDM1ZTg2NGQzYzRkZTI1OTMwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2luc3RhbmNlLm1tCkBAIC0yNiwyMCArMjYs
MjEgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAib2JqY19pbnN0YW5jZS5oIgogCi0j
aW1wb3J0ICJydW50aW1lX21ldGhvZC5oIgotI2ltcG9ydCA8cnVudGltZS9PYmplY3RQcm90b3R5
cGUuaD4KICNpbXBvcnQgIkpTRE9NQmluZGluZy5oIgorI2ltcG9ydCAiTlNQb2ludGVyRnVuY3Rp
b25zU1BJLmgiCiAjaW1wb3J0ICJPYmpDUnVudGltZU9iamVjdC5oIgogI2ltcG9ydCAiV2ViU2Ny
aXB0T2JqZWN0LmgiCisjaW1wb3J0ICJydW50aW1lX21ldGhvZC5oIgogI2ltcG9ydCA8b2JqYy9v
YmpjLWF1dG8uaD4KICNpbXBvcnQgPHJ1bnRpbWUvRXJyb3IuaD4KKyNpbXBvcnQgPHJ1bnRpbWUv
RnVuY3Rpb25Qcm90b3R5cGUuaD4KICNpbXBvcnQgPHJ1bnRpbWUvSlNMb2NrLmg+Ci0jaW1wb3J0
ICJydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmgiCisjaW1wb3J0IDxydW50aW1lL09iamVjdFBy
b3RvdHlwZS5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KIAogI2lmIFBMQVRGT1JNKElP
UykKICNpbXBvcnQgPEZvdW5kYXRpb24vTlNNYXBUYWJsZS5oPgotI2VuZGlmIC8vIFBMQVRGT1JN
KElPUykKKyNlbmRpZgogCiAjaWZkZWYgTkRFQlVHCiAjZGVmaW5lIE9CSkNfTE9HKGZvcm1hdEFu
ZEFyZ3MuLi4pICgodm9pZCkwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9j
b2NvYS9IVE1MQ29udmVydGVyLm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9IVE1M
Q29udmVydGVyLm1tCmluZGV4IDZkNGQ2OGViY2Q4YzAzM2ZlZTUwYzJiYTUyODU4Nzk3MDliYzg5
YTQuLjgyMTFjZjM4MzBkODY3OTIzM2QwODdjNDhhNzNhN2NlNGEzZmFmNTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvSFRNTENvbnZlcnRlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIubW0KQEAgLTYyLDYgKzYyLDgg
QEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAorI2ltcG9ydCAiTlNHZW9tZXRyeVNQSS5oIgorCiBT
T0ZUX0xJTktfRlJBTUVXT1JLKFVJS2l0KQogU09GVF9MSU5LX0NMQVNTKFVJS2l0LCBVSUNvbG9y
KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFT
ZXNzaW9uTWFuYWdlcklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9N
ZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tCmluZGV4IGRmYTJiNjYyOWNmZGU2YjEwNTNkOTE2MGMz
ZGRhMmJiYTZkNDA5ZTMuLjk5ZWRlMGNjM2Y0ODUxMjM1OGExMjc5NTBhNWI4NmQxOGQ1NGMwN2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Np
b25NYW5hZ2VySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9N
ZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tCkBAIC0yOSwxMyArMjksMTMgQEAKICNpZiBQTEFURk9S
TShJT1MpCiAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKKyNpbXBvcnQgIk1QQVZSb3V0aW5nQ29udHJv
bGxlclNQSS5oIgogI2ltcG9ydCAiTWVkaWFQbGF5ZXIuaCIKICNpbXBvcnQgIk1lZGlhU2Vzc2lv
bi5oIgogI2ltcG9ydCAiU29mdExpbmtpbmcuaCIKICNpbXBvcnQgIldlYkNvcmVTeXN0ZW1JbnRl
cmZhY2UuaCIKICNpbXBvcnQgIldlYkNvcmVUaHJlYWRSdW4uaCIKICNpbXBvcnQgPEFWRm91bmRh
dGlvbi9BVkF1ZGlvU2Vzc2lvbi5oPgotI2ltcG9ydCA8TWVkaWFQbGF5ZXIvTVBBVlJvdXRpbmdD
b250cm9sbGVyLmg+CiAjaW1wb3J0IDxNZWRpYVBsYXllci9NUE1lZGlhSXRlbS5oPgogI2ltcG9y
dCA8TWVkaWFQbGF5ZXIvTVBOb3dQbGF5aW5nSW5mb0NlbnRlci5oPgogI2ltcG9ydCA8TWVkaWFQ
bGF5ZXIvTVBWb2x1bWVWaWV3Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jb2NvYS9EaXNwbGF5U2xlZXBEaXNhYmxlckNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NvY29hL0Rpc3BsYXlTbGVlcERpc2FibGVyQ29jb2EuY3BwCmluZGV4IDdlZTJlMDgz
ZDQ3NmMxNThhNzgxYTM2NjA5OWUzOWU0OGYwYjM5MWQuLmFiOWUyMzExMzY0YmU0NTM0ZDc0YmMx
MTJlZTgxM2Y3NmUyYTYzYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL0Rpc3BsYXlTbGVlcERpc2FibGVyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NvY29hL0Rpc3BsYXlTbGVlcERpc2FibGVyQ29jb2EuY3BwCkBAIC0yOCw3ICsyOCw3
IEBACiAKICNpZiBQTEFURk9STShDT0NPQSkKIAotI2luY2x1ZGUgPElPS2l0L3B3cl9tZ3QvSU9Q
TUxpYi5oPgorI2luY2x1ZGUgIklPUE1MaWJTUEkuaCIKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NvY29hL01lbW9yeVByZXNzdXJlSGFuZGxlckNvY29hLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KaW5kZXggODA0
MjUwYTRhMzVhMTk3ZTdhYjVlYWY1OTVjM2Q2M2YwN2U2NTZhZi4uMzQ0MWFiYWU4M2JmZDk4MzU4
NjFmNzQzYmVjN2FiODI0ODgyM2FlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KQEAgLTI2LDYg
KzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiTWVtb3J5UHJlc3N1cmVIYW5k
bGVyLmgiCiAKKyNpbXBvcnQgIkRpc3BhdGNoU1BJLmgiCiAjaW1wb3J0ICJJT1N1cmZhY2VQb29s
LmgiCiAjaW1wb3J0ICJHQ0NvbnRyb2xsZXIuaCIKICNpbXBvcnQgIkpTRE9NV2luZG93QmFzZS5o
IgpAQCAtNDEsNyArNDIsNiBAQAogI2lmIFBMQVRGT1JNKElPUykKICNpbXBvcnQgIlN5c3RlbU1l
bW9yeS5oIgogI2ltcG9ydCAiV2ViQ29yZVRocmVhZC5oIgotI2ltcG9ydCA8ZGlzcGF0Y2gvcHJp
dmF0ZS5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCmluZGV4IGQzMDI3MjIxNmNk
M2IwMmMxYmRiOGI1YmNjNDc3ZmY5ZDQzOGYzOTEuLmM3YmJiMGM4MzE3MzE5Y2RiYzY4YmUxYzlj
MTYwYjJlZDQ2MWQxYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NpbXBsZUZvbnREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlRm9udERhdGEuaApAQCAtNTUsMTkgKzU1LDcgQEAKICNlbmRpZgogCiAjaWYgVVNF
KENHKQotI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVkZSg8Q29yZUdy
YXBoaWNzL0NHRm9udFJlbmRlcmluZy5oPikKLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGb250
UmVuZGVyaW5nLmg+Ci0jZWxzZQotZW51bSB7Ci0gICAga0NHRm9udFJlbmRlcmluZ1N0eWxlQW50
aWFsaWFzaW5nID0gKDEgPDwgMCksCi0gICAga0NHRm9udFJlbmRlcmluZ1N0eWxlU21vb3RoaW5n
ID0gKDEgPDwgMSksCi0gICAga0NHRm9udFJlbmRlcmluZ1N0eWxlU3VicGl4ZWxQb3NpdGlvbmlu
ZyA9ICgxIDw8IDIpLAotICAgIGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVN1YnBpeGVsUXVhbnRpemF0
aW9uID0gKDEgPDwgMyksCi0gICAga0NHRm9udFJlbmRlcmluZ1N0eWxlUGxhdGZvcm1OYXRpdmUg
PSAoMSA8PCA5KSwKLSAgICBrQ0dGb250UmVuZGVyaW5nU3R5bGVNYXNrID0gMHgyMEYKLX07Ci0j
ZW5kaWYKLXR5cGVkZWYgdWludDMyX3QgQ0dGb250UmVuZGVyaW5nU3R5bGU7CisjaW5jbHVkZSA8
V2ViQ29yZS9DR0ZvbnRSZW5kZXJpbmdTUEkuaD4KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA0NGRlY2I2MTllNTViY2VjNTljMTA3Zjdm
MGExNjRmOWE4OThiYTMzLi43MTEyY2RhZTdhOGFlMDdkODc5NDJhM2I4YTA5ZTljNjc2ZWU2MTdk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTQzLDYgKzQzLDcgQEAKICNpbXBvcnQgIklu
YmFuZE1ldGFkYXRhVGV4dFRyYWNrUHJpdmF0ZUFWRi5oIgogI2ltcG9ydCAiSW5iYW5kVGV4dFRy
YWNrUHJpdmF0ZUFWRk9iakMuaCIKICNpbXBvcnQgIkluYmFuZFRleHRUcmFja1ByaXZhdGVMZWdh
Y3lBVkZPYmpDLmgiCisjaW1wb3J0ICJOU0dlb21ldHJ5U1BJLmgiCiAjaW1wb3J0ICJPdXRPZkJh
bmRUZXh0VHJhY2tQcml2YXRlQVZGLmgiCiAjaW1wb3J0ICJVUkwuaCIKICNpbXBvcnQgIkxvZ2dp
bmcuaCIKQEAgLTc0LDcgKzc1LDYgQEAKICNpbmNsdWRlICJUZXh0VHJhY2suaCIKICNlbmRpZgog
Ci0jaW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KICNpbXBvcnQgPEFWRm91bmRhdGlv
bi9BVkZvdW5kYXRpb24uaD4KICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0IDxDb3JlSW1hZ2Uv
Q29yZUltYWdlLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbQppbmRleCBhYWRjNjExZDJmOWYz
MjcyODI1YjRiMGU4YTUwNGEzNDI4OWM4ZjkwLi5kOTNjMWY4NzUyYzhkMGYxZmExZWVmMWY2ODY2
ODg0MzVmMDhhZTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0KQEAgLTI5LDYgKzI5LDgg
QEAKIAogI2ltcG9ydCAiQW5pbWF0aW9uVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJCbG9ja0V4Y2Vw
dGlvbnMuaCIKKyNpbXBvcnQgIkNBTGF5ZXJTUEkuaCIKKyNpbXBvcnQgIkNBVGlsZWRMYXllclNQ
SS5oIgogI2ltcG9ydCAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW1wb3J0ICJHcmFwaGljc0xheWVy
Q0EuaCIKICNpbXBvcnQgIkxlbmd0aEZ1bmN0aW9ucy5oIgpAQCAtNTIsMTIgKzU0LDExIEBACiAj
aW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKICNpZiBQTEFURk9STShJT1MpCisjaW1wb3J0ICJO
U0dlb21ldHJ5U1BJLmgiCiAjaW1wb3J0ICJXQUtXaW5kb3cuaCIKICNpbXBvcnQgIldLR3JhcGhp
Y3MuaCIKICNpbXBvcnQgIldlYkNvcmVUaHJlYWQuaCIKICNpbXBvcnQgIldlYlRpbGVkTGF5ZXIu
aCIKLSNpbXBvcnQgPEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPgotI2ltcG9ydCA8UXVhcnR6Q29y
ZS9DQVRpbGVkTGF5ZXJQcml2YXRlLmg+CiAjZWxzZQogI2ltcG9ydCAiVGhlbWVNYWMuaCIKICNl
bmRpZgpAQCAtMTcwLDE4ICsxNzEsNiBAQCBzdGF0aWMgZG91YmxlIG1lZGlhVGltZVRvQ3VycmVu
dFRpbWUoQ0ZUaW1lSW50ZXJ2YWwgdCkKIAogQGVuZAogCi1AaW50ZXJmYWNlIENBVGlsZWRMYXll
cihHcmFwaGljc0xheWVyQ0FQcml2YXRlKQotLSAodm9pZClkaXNwbGF5SW5SZWN0OihDR1JlY3Qp
ciBsZXZlbE9mRGV0YWlsOihpbnQpbG9kIG9wdGlvbnM6KE5TRGljdGlvbmFyeSAqKWRpY3Q7Ci0t
IChCT09MKWNhbkRyYXdDb25jdXJyZW50bHk7Ci0tICh2b2lkKXNldENhbkRyYXdDb25jdXJyZW50
bHk6KEJPT0wpZmxhZzsKLUBlbmQKLQotQGludGVyZmFjZSBDQUxheWVyKFByaXZhdGUpCi0tICh2
b2lkKXNldENvbnRlbnRzQ2hhbmdlZDsKLS0gKHZvaWQpc2V0QWNjZWxlcmF0ZXNEcmF3aW5nOihC
T09MKWZsYWc7Ci0tIChCT09MKWFjY2VsZXJhdGVzRHJhd2luZzsKLUBlbmQKLQogdm9pZCBQbGF0
Zm9ybUNBTGF5ZXJNYWM6OnNldE93bmVyKFBsYXRmb3JtQ0FMYXllckNsaWVudCogb3duZXIpCiB7
CiAgICAgUGxhdGZvcm1DQUxheWVyOjpzZXRPd25lcihvd25lcik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9CaXRtYXBJbWFnZUNHLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0JpdG1hcEltYWdlQ0cuY3BwCmluZGV4IDhh
NGExM2U4OWI2YjE2NGQxZWU1YjUxNjZkZWExNDIwNTZkY2Q0MGIuLmQyNTE5YzgyNmZmZjU5YWI2
NzcxYTJmMDJjNjk5MjY1MGYwOGNlZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0JpdG1hcEltYWdlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0JpdG1hcEltYWdlQ0cuY3BwCkBAIC0zOSwxMCArMzksNiBAQAog
I2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGljYXRpb25TZXJ2aWNlcy5oPgogI2Vu
ZGlmCiAKLSNpZiBQTEFURk9STShJT1MpCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4
dFByaXZhdGUuaD4KLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiV2Vi
Q29yZVN5c3RlbUludGVyZmFjZS5oIgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvckNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0NvbG9yQ0cuY3BwCmluZGV4IDA3NTY2OTExMzZkN2U1NmFmZGJmMGVk
YjMxZmI5Zjc4ZDlmZjkyOTcuLjU1ZDRiM2IyMzJiNWUxYzA5ZTc4OGQ4YmY2ZGVlY2FmY2YwMWUz
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0NvbG9y
Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0NvbG9yQ0cu
Y3BwCkBAIC0zNCw4ICszNCw3IEBACiAjaWYgIVBMQVRGT1JNKElPUykKICNpbmNsdWRlIDxBcHBs
aWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KICNlbHNlCi0jaW5jbHVkZSA8
Q29yZUdyYXBoaWNzL0NHQ29sb3JUcmFuc2Zvcm0uaD4KLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3Mv
Q29yZUdyYXBoaWNzLmg+CisjaW5jbHVkZSAiQ0dDb2xvclRyYW5zZm9ybVNQSS5oIgogI2luY2x1
ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TKQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRl
eHRDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0Nv
bnRleHRDRy5jcHAKaW5kZXggMWUzYWE3NWE2OTQxMjY2N2Q2MGIyZThkZmU4NTU1NmQzMjZiOGQ4
MS4uM2MxMGJlNjNhMmYyYTM1ODEzMGFlNTI0Y2EzMDE2MTllZDZmMjdjMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4
dENHLmNwcApAQCAtMjksMTYgKzI5LDE3IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0Q0cu
aCIKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgorI2luY2x1ZGUgIkNHQ29udGV4dFNQ
SS5oIgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZUNHLmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKICNpbmNs
dWRlICJJbWFnZU9yaWVudGF0aW9uLmgiCi0jaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiUGF0
aC5oIgogI2luY2x1ZGUgIlBhdHRlcm4uaCIKICNpbmNsdWRlICJTaGFkb3dCbHVyLmgiCiAjaW5j
bHVkZSAiU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5j
bHVkZSAiVVJMLmgiCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpAQCAt
NTIsMTcgKzUzLDkgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQotI2luY2x1ZGUgPENv
cmVHcmFwaGljcy9DR0NvbnRleHRHU3RhdGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
I2VuZGlmCiAKLSNpZiAhUExBVEZPUk0oSU9TKQotZXh0ZXJuICJDIiB7Ci0gICAgQ0dfRVhURVJO
IHZvaWQgQ0dDb250ZXh0U2V0Q1RNKENHQ29udGV4dFJlZiwgQ0dBZmZpbmVUcmFuc2Zvcm0pOwot
ICAgIENHX0VYVEVSTiBDR0FmZmluZVRyYW5zZm9ybSBDR0NvbnRleHRHZXRCYXNlQ1RNKENHQ29u
dGV4dFJlZik7Ci19OwotI2VuZGlmIC8vICFQTEFURk9STShJT1MpCi0KIC8vIEZJWE1FOiBUaGUg
Zm9sbG93aW5nIHVzaW5nIGRlY2xhcmF0aW9uIHNob3VsZCBiZSBpbiA8d3RmL0hhc2hGdW5jdGlv
bnMuaD4uCiB1c2luZyBXVEY6OnBhaXJJbnRIYXNoOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCmluZGV4IGQwNmYzODNl
NzJhMjcwYmEwOWZiN2Q4NWJjZGIyY2JkZDcyOGY4ZjYuLmMwMzllYTc4NTA5NzM4OGFiMWIxMzlh
NGM5YjJhMDI1NjhmMTEyNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCkBAIC0zNyw3ICszNyw3IEBACiAjaWYgIVBM
QVRGT1JNKElPUykKICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2Vy
dmljZXMuaD4KICNlbHNlCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHSW1hZ2VQcml2YXRlLmg+
CisjaW5jbHVkZSAiQ0dJbWFnZVNQSS5oIgogI2luY2x1ZGUgPEltYWdlSU8vSW1hZ2VJTy5oPgog
I2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRv
Y3VtZW50SW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERG
RG9jdW1lbnRJbWFnZS5jcHAKaW5kZXggMWNiY2Y1MzAwMDU2OWNkMWU3MGU1MmEzZDY4MGUwZGU0
MjFkMmRjMi4uOGEwOWVmMWMwY2ZmOTdkZDRiYmExNDQ2ODBmZjQxZDJkOTcwMDcwMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERGRG9jdW1lbnRJbWFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERGRG9jdW1l
bnRJbWFnZS5jcHAKQEAgLTMwLDggKzMwLDYgQEAKICNpZiBVU0UoQ0cpCiAKICNpZiBQTEFURk9S
TShJT1MpCi0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0UHJpdmF0ZS5oPgotI2ltcG9y
dCA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dEdTdGF0ZS5oPgogI2ltcG9ydCA8Q29yZUdyYXBoaWNz
L0NvcmVHcmFwaGljcy5oPgogI2ltcG9ydCA8SW1hZ2VJTy9JbWFnZUlPLmg+CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0
Zm9ybURhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQppbmRleCAzZmYxODIzZmZlMjI4ODczNzQ5MTQ4OGIx
MjA2MDQzODU1NzdmZDQ4Li44MTFmNTdlZWY4NDE5YWJlNWY5NDI4ZjBiN2M1N2U5YTBjZmIzNmUz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
UGxhdGZvcm1EYXRhQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCkBAIC0yOCw4ICsyOCw4IEBACiAjaWYg
IVBMQVRGT1JNKElPUykKICNpbXBvcnQgPEFwcEtpdC9OU0ZvbnQuaD4KICNlbHNlCisjaW1wb3J0
ICJDR0ZvbnRJbmZvU1BJLmgiCiAjaW1wb3J0IDxDb3JlVGV4dC9Db3JlVGV4dC5oPgotI2ltcG9y
dCA8Q29yZUdyYXBoaWNzL0NHRm9udEluZm8uaD4KICNlbmRpZgogCiAjaW1wb3J0IDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2lvcy9Gb250Q2FjaGVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9pb3MvRm9udENhY2hlSU9TLm1tCmluZGV4IDRmYjg0NWI4YmU3MjQ2MTQxMzM1MzZjMzkxOWMz
MzRlMTBjODYyZTUuLjNjODc4ODFkNTVmZTkyODM1YjVjZTE1ZGUwNWFhN2Q3YTVhMTJkM2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJ
T1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNo
ZUlPUy5tbQpAQCAtMjksMTEgKzI5LDExIEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQg
IkZvbnRDYWNoZS5oIgogCisjaW1wb3J0ICJDR0ZvbnRVbmljb2RlU3VwcG9ydFNQSS5oIgorI2lt
cG9ydCAiQ1RGb250RGVzY3JpcHRvclNQSS5oIgorI2ltcG9ydCAiQ1RGb250U1BJLmgiCiAjaW1w
b3J0ICJGb250LmgiCiAjaW1wb3J0ICJSZW5kZXJUaGVtZUlPUy5oIgotI2ltcG9ydCA8Q29yZUdy
YXBoaWNzL0NHRm9udFVuaWNvZGVTdXBwb3J0Lmg+Ci0jaW1wb3J0IDxDb3JlVGV4dC9DVEZvbnRE
ZXNjcmlwdG9yUHJpdi5oPgotI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250UHJpdi5oPgogI2ltcG9y
dCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1w
b3J0IDx3dGYvdGV4dC9DU3RyaW5nLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9pb3MvRm9udFNlcnZpY2VzSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRTZXJ2aWNlc0lPUy5tbQppbmRleCBjMDYyZGM4MjkzMmQ3
YzVkZjMxOTNkMzZlMjljMTZkM2M4ODFkMzRjLi5lYmI2YmE2OWM3NTZjYTE2YWM2MzczNzZmZmM1
N2Q2N2VmMGYxOWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9pb3MvRm9udFNlcnZpY2VzSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2lvcy9Gb250U2VydmljZXNJT1MubW0KQEAgLTI1LDEwICsyNSw5IEBACiAjaW1wb3J0
ICJjb25maWcuaCIKICNpbXBvcnQgIkZvbnRTZXJ2aWNlc0lPUy5oIgogCisjaW1wb3J0ICJDR0Zv
bnRJbmZvU1BJLmgiCiAjaW1wb3J0ICJGb250TWV0cmljcy5oIgotI2ltcG9ydCA8Q29yZUdyYXBo
aWNzL0NvcmVHcmFwaGljcy5oPgotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljc1By
aXZhdGUuaD4KLSNpbXBvcnQgPG1hY2gtby9keWxkX3ByaXYuaD4KKyNpbXBvcnQgImR5bGRTUEku
aCIKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL1NpbXBsZUZvbnRE
YXRhSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL1NpbXBsZUZv
bnREYXRhSU9TLm1tCmluZGV4IDRhZjhhMjM4ZjA2ODUwZjYzM2QzMTJhM2E2ZDQ0ZmM4ZTMyYzUw
ZjMuLjdhN2EyMjRiMTc4YTNjNGFkOWIyYTU5ZjljMWQ0NWI0N2UyZWEyYjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9TaW1wbGVGb250RGF0YUlPUy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvU2ltcGxlRm9udERh
dGFJT1MubW0KQEAgLTI4LDExICsyOCwxMiBAQAogI2ltcG9ydCAiU2ltcGxlRm9udERhdGEuaCIK
IAogI2ltcG9ydCAiQmxvY2tFeGNlcHRpb25zLmgiCisjaW1wb3J0ICJDR0ZvbnRJbmZvU1BJLmgi
CisjaW1wb3J0ICJDR0ZvbnRSZW5kZXJpbmdTUEkuaCIKICNpbXBvcnQgIkZvbnQuaCIKICNpbXBv
cnQgIkZvbnRDYWNoZS5oIgogI2ltcG9ydCAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW1wb3J0ICJG
b250U2VydmljZXNJT1MuaCIKLSNpbXBvcnQgPENvcmVHcmFwaGljcy9DR0ZvbnRJbmZvLmg+CiAj
aW1wb3J0IDxDb3JlVGV4dC9Db3JlVGV4dC5oPgogI2ltcG9ydCA8ZmxvYXQuaD4KICNpbXBvcnQg
PHVuaWNvZGUvdWNoYXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9Gb250TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0ZvbnRNYWMubW0KaW5kZXggZjg0M2ExMjE2ZmMyMGM2OGUwMzZhMmEzNzY4OTJhZGYzYjdi
YjVmMC4uYzg0ZGY4NmRmMzQyZmZkMWYyYjRmMDA3NzA1ZjZhZDM2YjBkNTQ0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0KQEAgLTIzLDYg
KzIzLDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiRm9udC5oIgogCisjaW1wb3J0
ICJDVEZvbnREZXNjcmlwdG9yU1BJLmgiCiAjaW1wb3J0ICJEYXNoQXJyYXkuaCIKICNpbXBvcnQg
IkdseXBoQnVmZmVyLmgiCiAjaW1wb3J0ICJHcmFwaGljc0NvbnRleHQuaCIKQEAgLTM0LDIwICsz
NSwxMSBAQAogI2VuZGlmCiAjaW1wb3J0IDx3dGYvTWF0aEV4dHJhcy5oPgogCi0jaWYgX19oYXNf
aW5jbHVkZSg8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4pCi0jaW1wb3J0IDxDb3Jl
VGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPgotI2VuZGlmCi1leHRlcm4gIkMiIGJvb2wgQ1RG
b250RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2NyaXB0b3JSZWYpOwotCiAjaWYg
RU5BQkxFKExFVFRFUlBSRVNTKQorI2ltcG9ydCAiQ0dDb250ZXh0U1BJLmgiCisjaW1wb3J0ICJD
VUlDYXRhbG9nU1BJLmgiCisjaW1wb3J0ICJDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEku
aCIKICNpbXBvcnQgIlNvZnRMaW5raW5nLmgiCi0jaWYgX19oYXNfaW5jbHVkZSg8Q29yZUdyYXBo
aWNzL0NvcmVHcmFwaGljc1ByaXZhdGUuaD4pCi0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdy
YXBoaWNzUHJpdmF0ZS5oPgotI2Vsc2UKLWV4dGVybiBDR0NvbG9yUmVmIENHQ29udGV4dEdldEZp
bGxDb2xvckFzQ29sb3IoQ0dDb250ZXh0UmVmKTsKLSNlbmRpZgotI2ltcG9ydCA8Q29yZVVJL0NV
SUNhdGFsb2cuaD4KLSNpbXBvcnQgPENvcmVVSS9DVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb24u
aD4KIAogU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLKENvcmVVSSkKIFNPRlRfTElOS19DTEFT
UyhDb3JlVUksIENVSUNhdGFsb2cpCkBAIC01NSw3ICs0Nyw3IEBAIFNPRlRfTElOS19DTEFTUyhD
b3JlVUksIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvbikKIAogU09GVF9MSU5LX0ZSQU1FV09S
SyhVSUtpdCkKIFNPRlRfTElOSyhVSUtpdCwgX1VJS2l0R2V0VGV4dEVmZmVjdHNDYXRhbG9nLCBD
VUlDYXRhbG9nICosICh2b2lkKSwgKCkpCi0jZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoTEVUVEVS
UFJFU1MpCiAKICNkZWZpbmUgU1lOVEhFVElDX09CTElRVUVfQU5HTEUgMTQKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dseXBoUGFnZVRyZWVOb2Rl
TWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlwaFBhZ2VU
cmVlTm9kZU1hYy5jcHAKaW5kZXggMTc0NWNmNjJiNGMyMTY4OWNkNzNkNzUzMTBiYWJjNmQwNThk
ODBhOC4uYmE0OTVlODJlODUyMTBjNzNjOGUxNDkzNTM3Yzg0NTIyOTVhNDRkNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dseXBoUGFnZVRyZWVOb2Rl
TWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR2x5cGhQ
YWdlVHJlZU5vZGVNYWMuY3BwCkBAIC0zNSw4ICszNSw3IEBACiAjaWYgIVBMQVRGT1JNKElPUykK
ICNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KICNl
bHNlCi0jaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udFVuaWNvZGVTdXBwb3J0Lmg+Ci0jaW5j
bHVkZSA8Q29yZVRleHQvQ1RGb250UHJpdi5oPgorI2luY2x1ZGUgIkNHRm9udFVuaWNvZGVTdXBw
b3J0U1BJLmgiCiAjaW5jbHVkZSA8Q29yZVRleHQvQ29yZVRleHQuaD4KICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQ
cm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVy
UHJveHkuaAppbmRleCBlOTNiZTI0MGE2ZDFhODgyM2ZhMzc2MDcwMmQwNjhmMTM0YmQ3ZGM1Li5h
OGU5OTFiZTNkOWFjOGQxOWY4NTVhN2VjYzZmODQ0MmFjZjM2ZjUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByb3h5LmgK
QEAgLTI4LDcgKzI4LDcgQEAKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKICNpZiBkZWZpbmVkKF9f
T0JKQ19fKQotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CisjaW1wb3J0IDxXZWJD
b3JlL05TR2VvbWV0cnlTUEkuaD4KICNlbmRpZgogCiAvLyBOZWVkZWQgc2luY2UgdGhpcyBpcyBh
IFdlYktpdCBwcml2YXRlIGhlYWRlciBvbiBpT1MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0KaW5kZXggZmJk
Yzc0NGE2YzVlNmM3ZTJlOTM1MjZkOWFjMjA1YWUxYjkxYjU3MC4uNmU3NGViYTQ4Y2ZkYjJiZmQ4
OGQzZDljNjE4NzAwZTdkNzIzMTYxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQpAQCAtMjgsNiArMjgs
OCBAQAogI2ltcG9ydCAiU2ltcGxlRm9udERhdGEuaCIKIAogI2ltcG9ydCAiQmxvY2tFeGNlcHRp
b25zLmgiCisjaW1wb3J0ICJDR0ZvbnRHbHlwaFN1cHBvcnRTUEkuaCIKKyNpbXBvcnQgIkNURm9u
dERlc2NyaXB0b3JTUEkuaCIKICNpbXBvcnQgIkNvbG9yLmgiCiAjaW1wb3J0ICJGbG9hdFJlY3Qu
aCIKICNpbXBvcnQgIkZvbnQuaCIKQEAgLTQ0LDIwICs0Niw4IEBACiAjaW1wb3J0IDxmbG9hdC5o
PgogI2ltcG9ydCA8dW5pY29kZS91Y2hhci5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4K
LSNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4K
LQotI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVkZSg8Q29yZVRleHQv
Q1RGb250RGVzY3JpcHRvclByaXYuaD4pCi0jaW1wb3J0IDxDb3JlVGV4dC9DVEZvbnREZXNjcmlw
dG9yUHJpdi5oPgotI2VuZGlmCi1leHRlcm4gIkMiIGJvb2wgQ1RGb250RGVzY3JpcHRvcklzU3lz
dGVtVUlGb250KENURm9udERlc2NyaXB0b3JSZWYpOwotCi0jaWYgZGVmaW5lZChfX2hhc19pbmNs
dWRlKSAmJiBfX2hhc19pbmNsdWRlKDxDb3JlR3JhcGhpY3MvQ0dGb250R2x5cGhTdXBwb3J0Lmg+
KQotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHRm9udEdseXBoU3VwcG9ydC5oPgotI2VuZGlmCi1l
eHRlcm4gIkMiIGJvb2wgQ0dGb250R2V0R2x5cGhBZHZhbmNlc0ZvclN0eWxlKENHRm9udFJlZiBm
b250LAotICAgIGNvbnN0IENHQWZmaW5lVHJhbnNmb3JtICp0LCBDR0ZvbnRSZW5kZXJpbmdTdHls
ZSBzdHlsZSwKLSAgICBjb25zdCBDR0dseXBoIGdseXBoc1tdLCBzaXplX3QgY291bnQsIENHU2l6
ZSBhZHZhbmNlc1tdKTsKKyNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogI2lmICFQTEFU
Rk9STShJT1MpCiBAaW50ZXJmYWNlIE5TRm9udCAoV2ViQXBwS2l0U2VjcmV0QVBJKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KaW5kZXggNmMwMDE0
MmI5NmY2MDE3ZGI1YjhlNTk3ZmNlODFkNjc0MzQ5NTU2Ni4uYTBlMmI5MGFkMTRjOWNjODFmZjQ0
YTZkNmNkNzg5YTE3YTNmYjMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
TGVnYWN5VGlsZUNhY2hlLm1tCkBAIC0yOCw2ICsyOCw4IEBACiAKICNpZiBQTEFURk9STShJT1Mp
CiAKKyNpbmNsdWRlICJDQUxheWVyU1BJLmgiCisjaW5jbHVkZSAiQ0dTUmVnaW9uU1BJLmgiCiAj
aW5jbHVkZSAiTGVnYWN5VGlsZUdyaWQuaCIKICNpbmNsdWRlICJMZWdhY3lUaWxlR3JpZFRpbGUu
aCIKICNpbmNsdWRlICJMZWdhY3lUaWxlTGF5ZXIuaCIKQEAgLTQwLDcgKzQyLDYgQEAKICNpbmNs
dWRlICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZVRocmVhZFJ1
bi5oIgogI2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgotI2luY2x1ZGUgPFF1YXJ0
ekNvcmUvUXVhcnR6Q29yZVByaXZhdGUuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4K
IAogQGludGVyZmFjZSBXQUtWaWV3IChXZWJWaWV3RXh0cmFzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkLm1tCmluZGV4IGE5MmRmMTNiY2I4ODUzNjk4ZTY4
NDkxOTM1OTRlZDNiMzU1NmNmYWIuLjVjZTM3YjRlMDY5ZjFlZDdjOTM1YTFlYjJjNTgxZDg5ZTlk
Y2UxMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxl
R3JpZC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQu
bW0KQEAgLTI4LDE1ICsyOCwxNiBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisjaW5jbHVkZSAi
Q0FMYXllclNQSS5oIgorI2luY2x1ZGUgIkNHRmxvYXRTUEkuaCIKICNpbmNsdWRlICJNZW1vcnlQ
cmVzc3VyZUhhbmRsZXIuaCIKICNpbmNsdWRlICJTeXN0ZW1NZW1vcnkuaCIKICNpbmNsdWRlICJM
ZWdhY3lUaWxlR3JpZFRpbGUuaCIKICNpbmNsdWRlICJMZWdhY3lUaWxlTGF5ZXIuaCIKICNpbmNs
dWRlICJMZWdhY3lUaWxlTGF5ZXJQb29sLmgiCiAjaW5jbHVkZSAiV0FLV2luZG93LmgiCi0jaW5j
bHVkZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljc1ByaXZhdGUuaD4KKyNpbmNsdWRlIDxDb3Jl
R3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CiAjaW5jbHVkZSA8UXVhcnR6Q29yZS9RdWFydHpDb3Jl
Lmg+Ci0jaW5jbHVkZSA8UXVhcnR6Q29yZS9RdWFydHpDb3JlUHJpdmF0ZS5oPgogI2luY2x1ZGUg
PGFsZ29yaXRobT4KICNpbmNsdWRlIDxmdW5jdGlvbmFsPgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWRUaWxlLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5tbQppbmRleCBjY2Y0ZWI4YWUxMzZh
OWM2NDhkMDRiNDFiYTlmZGQxMjM3NjY1ZTBhLi40MGYyYjk2YzJjZDhhNzkzYzA0NTZkNzg1YWMw
ZTNkNjI0NzdiMmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVn
YWN5VGlsZUdyaWRUaWxlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdh
Y3lUaWxlR3JpZFRpbGUubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIFBMQVRGT1JNKElPUykK
IAorI2luY2x1ZGUgIkNBTGF5ZXJTUEkuaCIKICNpbmNsdWRlICJDb2xvci5oIgogI2luY2x1ZGUg
IkxlZ2FjeVRpbGVDYWNoZS5oIgogI2luY2x1ZGUgIkxlZ2FjeVRpbGVHcmlkLmgiCkBAIC0zNSw3
ICszNiw2IEBACiAjaW5jbHVkZSAiTGVnYWN5VGlsZUxheWVyUG9vbC5oIgogI2luY2x1ZGUgIldB
S1dpbmRvdy5oIgogI2luY2x1ZGUgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgotI2luY2x1ZGUg
PFF1YXJ0ekNvcmUvUXVhcnR6Q29yZVByaXZhdGUuaD4KICNpbmNsdWRlIDxhbGdvcml0aG0+CiAj
aW5jbHVkZSA8ZnVuY3Rpb25hbD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0b3J5SU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0b3J5SU9TLm1tCmluZGV4IDQ2NTMxNWJjNzNjNmFhM2Rh
MzAyYzVlZDg3YTRiNGY4YWEyMWY4NmMuLjBlMDhjZjJiNDBmMzcyM2ZkMWNlM2FmZjcxYjYyODQw
ZGQwOWY5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9y
bUV2ZW50RmFjdG9yeUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxh
dGZvcm1FdmVudEZhY3RvcnlJT1MubW0KQEAgLTI2LDExICsyNiwxMiBAQAogI2ltcG9ydCAiY29u
ZmlnLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5oIgogCi0jaW1wb3J0IDxG
b3VuZGF0aW9uL05TR2VvbWV0cnkuaD4KKyNpbXBvcnQgIk5TR2VvbWV0cnlTUEkuaCIKICNpbXBv
cnQgPEludFBvaW50Lmg+CiAjaW1wb3J0IDxLZXlFdmVudENvY29hLmg+CiAjaW1wb3J0IDxMb2dn
aW5nLmg+CiAjaW1wb3J0IDxXZWJFdmVudC5oPgorI2ltcG9ydCA8d3RmL0N1cnJlbnRUaW1lLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tCmluZGV4IGVmMjVmMjQ1ODNlZWE3YTdiNDM4ZDEyOWJi
ZWM0YjhlOTYxM2ViNWEuLjVkYzViN2RlY2IyNzMyYmRkNDc1ODIwNTllMTJiMGY5MjVmZGNiNzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1Mu
bW0KQEAgLTMwLDEwICszMCwxMCBAQAogI2ltcG9ydCAiRnJhbWVWaWV3LmgiCiAjaW1wb3J0ICJI
b3N0V2luZG93LmgiCiAjaW1wb3J0ICJJbnRSZWN0LmgiCisjaW1wb3J0ICJNb2JpbGVHZXN0YWx0
U1BJLmgiCiAjaW1wb3J0ICJXQUtXaW5kb3cuaCIKICNpbXBvcnQgIldlYkNvcmVTeXN0ZW1JbnRl
cmZhY2UuaCIKICNpbXBvcnQgIldpZGdldC5oIgotI2ltcG9ydCA8TW9iaWxlR2VzdGFsdC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9XZWJFdmVudC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJFdmVu
dC5tbQppbmRleCBiN2RlOTZjZWViMDQyZDFiMGEzMWUzYjViZGQ5YmJjMmU4MTE0OTNhLi5hNTg4
NmY2MDIzZTE5NmFmYzhlNmI3MWJkM2I0ZDU5MWYzZjJhNzc0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViRXZlbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYkV2ZW50Lm1tCkBAIC0yOSw3ICsyOSw3IEBACiAjaW1wb3J0ICJXZWJFdmVu
dC5oIgogCiAjaW1wb3J0ICJLZXlFdmVudENvY29hLmgiCi0jaW1wb3J0IDxGb3VuZGF0aW9uL05T
R2VvbWV0cnkuaD4KKyNpbXBvcnQgIk5TR2VvbWV0cnlTUEkuaCIKICNpbXBvcnQgPHd0Zi9Bc3Nl
cnRpb25zLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0Lm1tCmluZGV4IGRlYmJjOWMwODFlNzg5ZmUwMDQ0MDlkNDk4MGU5ZTkzZGUwZTYxNjUu
LmZlMzc1NjVjZjYyYmZkYzhiYjk0NzQyOTBiZWY3MGRjNWUxMDNiODggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQubW0KQEAgLTMwLDE2ICszMCwxNSBAQAogCiAjaW1wb3J0ICJXZWJWaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oIgogCisjaW1wb3J0ICJBVlBsYXllckNvbnRyb2xs
ZXJTUEkuaCIKKyNpbXBvcnQgIkFWUGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaCIKKyNpbXBvcnQg
IkFWVmFsdWVUaW1pbmdTUEkuaCIKKyNpbXBvcnQgIkFWVmlkZW9MYXllclNQSS5oIgogI2ltcG9y
dCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKICNpbXBvcnQgIldl
YlZpZGVvRnVsbHNjcmVlbk1vZGVsLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZUaW1lLmg+
CiAjaW1wb3J0IDxBVktpdC9BVktpdC5oPgotI2ltcG9ydCA8QVZLaXQvQVZQbGF5ZXJDb250cm9s
bGVyLmg+Ci0jaW1wb3J0IDxBVktpdC9BVlBsYXllclZpZXdDb250cm9sbGVyX1ByaXZhdGUuaD4K
LSNpbXBvcnQgPEFWS2l0L0FWUGxheWVyVmlld0NvbnRyb2xsZXJfV2ViS2l0T25seS5oPgotI2lt
cG9ydCA8QVZLaXQvQVZWYWx1ZVRpbWluZy5oPgotI2ltcG9ydCA8QVZLaXQvQVZWaWRlb0xheWVy
Lmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01UaW1lLmg+CiAjaW1wb3J0IDxVSUtpdC9VSUtpdC5o
PgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NJT1MuaD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0FLQXBwS2l0U3R1YnMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0FLQXBwS2l0U3R1YnMuaAppbmRleCA3
Mzg1ZWMwYjNjNmE5ZWE5MWExNmI3YzA0YzgyZGJjZDYyMTcwMWRiLi42OTkyMDMzNWMzZTNlMzE3
NzVmYzFhYjdlYjRkZjFmYmUzMjM5ZmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3Mvd2FrL1dBS0FwcEtpdFN0dWJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL3dhay9XQUtBcHBLaXRTdHVicy5oCkBAIC0zMiw4ICszMiw5IEBACiAKICNpbXBvcnQg
PENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KICNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorCiAvLyBGSVhNRTogPHJkYXI6Ly9wcm9ibGVtLzY2Njk0MzQ+IFN3aXRjaCBmcm9t
IHVzaW5nIE5TR2VvbWV0cnkgbWV0aG9kcyB0byBDR0dlb21ldHJ5IG1ldGhvZHMKLSNpbXBvcnQg
PEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPgorI2ltcG9ydCA8V2ViQ29yZS9OU0dlb21ldHJ5U1BJ
Lmg+CiAKICNpZm5kZWYgTlNDbGlwVmlldwogI2RlZmluZSBOU0NsaXBWaWV3IFdBS0NsaXBWaWV3
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS1ZpZXcuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0FLVmlldy5oCmluZGV4IDk5OThmNzAx
MWVkNjdhNWQ0OWM0MTNlZWM3YjIzOTU2YThjYWU0OGQuLjM5Y2UxMDQwNGI3NmNkNTcyMmM5ZThl
NDc1NTY0MTdiMGJlYTBiNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy93YWsvV0FLVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0FL
Vmlldy5oCkBAIC0yOCwxNSArMjgsMTAgQEAKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKIAotI2lt
cG9ydCAiV0FLUmVzcG9uZGVyLmgiCi0jaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4K
ICNpbXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KLQotI2lmbmRlZiBOU1JlY3QK
LSNkZWZpbmUgTlNSZWN0IENHUmVjdAotI2VuZGlmCi0jZGVmaW5lIE5TUG9pbnQgQ0dQb2ludAot
I2RlZmluZSBOU1NpemUgQ0dTaXplCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4K
KyNpbXBvcnQgPFdlYkNvcmUvTlNHZW9tZXRyeVNQSS5oPgorI2ltcG9ydCA8V2ViQ29yZS9XQUtS
ZXNwb25kZXIuaD4KIAogZXh0ZXJuIE5TU3RyaW5nICpXQUtWaWV3RnJhbWVTaXplRGlkQ2hhbmdl
Tm90aWZpY2F0aW9uOwogZXh0ZXJuIE5TU3RyaW5nICpXQUtWaWV3RGlkU2Nyb2xsTm90aWZpY2F0
aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBo
aWNzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dLR3JhcGhpY3MuaAppbmRl
eCBiZjM4NTk2OGY0ODM2ZGNlOTY0ODZjNjYwZjdiNGM0Y2Y5NzBmMTk4Li5lZGUwOGQ2ZmUwNmRm
YTdjM2YwOGRhYmYxNzY0NWM2NzAyMzhkMTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3Mvd2FrL1dLR3JhcGhpY3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3Mvd2FrL1dLR3JhcGhpY3MuaApAQCAtMjgsOCArMjgsOCBAQAogCiAjaWYgVEFSR0VUX09T
X0lQSE9ORQogCi0jaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+Ci0jaW1wb3J0
IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9D
R0NvbnRleHRTUEkuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ0dGb250UmVuZGVyaW5nU1BJLmg+CiAK
ICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dLR3JhcGhpY3MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3Mvd2FrL1dLR3JhcGhpY3MubW0KaW5kZXggMzFjNmVjMDJhOTk5Y2IyNzdlMmNiNDA4
ODZmYTQ0MzRmNDQyMWVjYS4uYjE4ODZhODE1MzNmN2M2NGU5YTYxM2JlZTAwOGMyMjM3NjEzZmJk
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XS0dyYXBoaWNz
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0tHcmFwaGljcy5tbQpA
QCAtMjgsOCArMjgsOSBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCi0jaW1wb3J0ICJXZWJDb3Jl
U3lzdGVtSW50ZXJmYWNlLmgiCisjaW1wb3J0ICJDR0NvbnRleHRTUEkuaCIKICNpbXBvcnQgIkZv
bnQuaCIKKyNpbXBvcnQgIldlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQgIldlYkNv
cmVUaHJlYWQuaCIKICNpbXBvcnQgPEltYWdlSU8vSW1hZ2VJTy5oPgogI2ltcG9ydCA8d3RmL1N0
ZExpYkV4dHJhcy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dh
ay9XZWJDb3JlVGhyZWFkLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJD
b3JlVGhyZWFkLm1tCmluZGV4IDVjMDFjNjY2ZWJjOGVkNzY5MTcxZmM0M2Y5ZDg0OTU5ZjRhYzcy
MzcuLjRiMDlkMWYwNmRhODIzOGY3MzYwNDM1YzE3ZjNhMTlhOTVjM2IzYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW0KQEAgLTQ1LDcg
KzQ1LDYgQEAKICNpbXBvcnQgPHd0Zi9UaHJlYWRpbmcuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L0F0
b21pY1N0cmluZy5oPgogCi0jaW1wb3J0IDxDb3JlRm91bmRhdGlvbi9DRlByaXYuaD4KICNpbXBv
cnQgPEZvdW5kYXRpb24vTlNJbnZvY2F0aW9uLmg+CiAjaW1wb3J0IDxsaWJrZXJuL09TQXRvbWlj
Lmg+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvaW9zL1F1aWNrTG9vay5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvaW9zL1F1aWNrTG9vay5tbQppbmRleCA4Zjg0OWUzODJmNjU4NzRhZDc4ZDg2
OGVjZmRkODY2YzdmNWU5MGVmLi4xMTUxMGE4ZmQxNWNiZTA3YTIzZDhjNzY5ZDA1YTg5ODQzMDFk
ZmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9RdWlj
a0xvb2subW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9pb3MvUXVpY2tM
b29rLm1tCkBAIC0zMSw2ICszMSw5IEBACiAjaW1wb3J0ICJEb2N1bWVudExvYWRlci5oIgogI2lt
cG9ydCAiRmlsZVN5c3RlbUlPUy5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgorI2ltcG9ydCAiTlNG
aWxlTWFuYWdlclNQSS5oIgorI2ltcG9ydCAiUUxQcmV2aWV3Q29udmVydGVyU1BJLmgiCisjaW1w
b3J0ICJRdWlja0xvb2tTUEkuaCIKICNpbXBvcnQgIlJlc291cmNlRXJyb3IuaCIKICNpbXBvcnQg
IlJlc291cmNlSGFuZGxlLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUxvYWRlci5oIgpAQCAtMzksOSAr
NDIsNiBAQAogI2ltcG9ydCAiU3luY2hyb25vdXNSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlv
bkRlbGVnYXRlLmgiCiAjaW1wb3J0ICJXZWJDb3JlVVJMUmVzcG9uc2VJT1MuaCIKICNpbXBvcnQg
PEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0ZpbGVNYW5h
Z2VyX05TVVJMRXh0cmFzLmg+Ci0jaW1wb3J0IDxRdWlja0xvb2svUUxQcmV2aWV3Q29udmVydGVy
Lmg+Ci0jaW1wb3J0IDxRdWlja0xvb2svUXVpY2tMb29rUHJpdmF0ZS5oPgogI2ltcG9ydCA8d3Rm
L05ldmVyRGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW1wb3J0
IDx3dGYvVGhyZWFkaW5nLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cGkvY2EvQ0FMYXllclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NhL0NBTGF5
ZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iZDY3YTRlMzM2NzdjMGQ0NTdmY2NkOGM3YzcwODlhMDZjMTc0
MWU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NhL0NB
TGF5ZXJTUEkuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKKyNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FMYXllci5oPgorCisjaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FMYXllclByaXZh
dGUuaD4KKyNlbHNlCitAY2xhc3MgQ0FDb250ZXh0OworCitAaW50ZXJmYWNlIENBTGF5ZXIgKERl
dGFpbHMpCistIChDQUNvbnRleHQgKiljb250ZXh0OworLSAoQ0dTaXplKXNpemU7CistICh2b2lk
ICopcmVnaW9uQmVpbmdEcmF3bjsKKy0gKHZvaWQpc2V0Q29udGVudHNDaGFuZ2VkOworQHByb3Bl
cnR5IEJPT0wgYWNjZWxlcmF0ZXNEcmF3aW5nOworQHByb3BlcnR5IEJPT0wgYWxsb3dzR3JvdXBC
bGVuZGluZzsKK0Bwcm9wZXJ0eSBCT09MIGNhbkRyYXdDb25jdXJyZW50bHk7CitAcHJvcGVydHkg
Qk9PTCBjb250ZW50c09wYXF1ZTsKK0Bwcm9wZXJ0eSBCT09MIG5lZWRzTGF5b3V0T25HZW9tZXRy
eUNoYW5nZTsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2NhL0NBVGlsZWRMYXllclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2NhL0NBVGlsZWRMYXllclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyMzcwOTM3ZjhiNmYwMmMwMTg1OWQ5
YTFiYTFmNWE2Y2UwMWQyNTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY2EvQ0FUaWxlZExheWVyU1BJLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW1wb3J0IDxRdWFydHpDb3Jl
L0NBVGlsZWRMYXllci5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQg
PFF1YXJ0ekNvcmUvQ0FUaWxlZExheWVyUHJpdmF0ZS5oPgorI2Vsc2UKK0BpbnRlcmZhY2UgQ0FU
aWxlZExheWVyIChEZXRhaWxzKQorLSAodm9pZClkaXNwbGF5SW5SZWN0OihDR1JlY3QpcmVjdCBs
ZXZlbE9mRGV0YWlsOihpbnQpbGV2ZWxPZkRldGFpbCBvcHRpb25zOihOU0RpY3Rpb25hcnkgKilk
aWN0aW9uYXJ5OworLSAodm9pZClzZXROZWVkc0Rpc3BsYXlJblJlY3Q6KENHUmVjdClyZWN0IGxl
dmVsT2ZEZXRhaWw6KGludClsZXZlbE9mRGV0YWlsIG9wdGlvbnM6KE5TRGljdGlvbmFyeSAqKWRp
Y3Rpb25hcnk7CitAZW5kCisjZW5kaWYKKworZXh0ZXJuIE5TU3RyaW5nICogY29uc3Qga0NBVGls
ZWRMYXllclJlbW92ZUltbWVkaWF0ZWx5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL2NmL0NGTG9jYWxlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkv
Y2YvQ0ZMb2NhbGVTUEkuaAppbmRleCAzZDFhMTg1NDIwMWJiOWExOTViOWE1N2MzNDZkOThkNjk0
ZjE2Mjc2Li4wOGQ3Yzc5MmY1OWZlNWY4Y2M5Y2Y1ZGY1ZDM1NGNlYTIwZWMxYmQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZMb2NhbGVTUEkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZMb2NhbGVTUEkuaApAQCAtMzIsMTAgKzMy
LDggQEAKICNpbXBvcnQgPENvcmVGb3VuZGF0aW9uL0NGUHJpdi5oPgogI2VuZGlmCiAKLWV4dGVy
biAiQyIgewogLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS8xODEyODE5Mj4gTWFrZSBDRkxvY2Fs
ZUdldExhbmd1YWdlUmVnaW9uRW5jb2RpbmdGb3JMb2NhbGVJZGVudGlmaWVyIHB1YmxpYyBBUEkK
IC8vIEZJWE1FOiA8cmRhcjovL3Byb2JsZW0vMTgwODM4ODA+IFJlcGxhY2UgdXNlIG9mIFNjcmlw
dCBNYW5hZ2VyIHRvIGNhbm9uaWNhbGl6ZSBsb2NhbGVzIHdpdGggYSBjdXN0b20gV2ViLXNwZWNp
ZmljIHRhYmxlCi1Cb29sZWFuIENGTG9jYWxlR2V0TGFuZ3VhZ2VSZWdpb25FbmNvZGluZ0Zvckxv
Y2FsZUlkZW50aWZpZXIoQ0ZTdHJpbmdSZWYgbG9jYWxlLCBMYW5nQ29kZSosIFJlZ2lvbkNvZGUq
LCBTY3JpcHRDb2RlKiwgQ0ZTdHJpbmdFbmNvZGluZyopOwotfQorRVhURVJOX0MgQm9vbGVhbiBD
RkxvY2FsZUdldExhbmd1YWdlUmVnaW9uRW5jb2RpbmdGb3JMb2NhbGVJZGVudGlmaWVyKENGU3Ry
aW5nUmVmIGxvY2FsZSwgTGFuZ0NvZGUqLCBSZWdpb25Db2RlKiwgU2NyaXB0Q29kZSosIENGU3Ry
aW5nRW5jb2RpbmcqKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmgKaW5kZXggY2Uy
OTEzNTE3YmYwODgzMmM3NDhiOTgzODA2YjI4NzRkMmIwYzY3OC4uYThmMzk0NzgyYWNiYTlhNjMx
OTQyZDY5NGNhZjMyOWFiYmJjMjc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2NmL0NGTmV0d29ya0Nvbm5lY3Rpb25DYWNoZVNQSS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9jZi9DRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaApAQCAtMzQs
NiArMzQsNiBAQCBlbnVtIEhUVFBDb25uZWN0aW9uQ2FjaGVMaW1pdEtleXMgewogfTsKICNlbmRp
ZgogCi1leHRlcm4gIkMiIHZvaWQgX0NGTmV0d29ya0hUVFBDb25uZWN0aW9uQ2FjaGVTZXRMaW1p
dChIVFRQQ29ubmVjdGlvbkNhY2hlTGltaXRLZXlzLCBpbnQpOworRVhURVJOX0Mgdm9pZCBfQ0ZO
ZXR3b3JrSFRUUENvbm5lY3Rpb25DYWNoZVNldExpbWl0KEhUVFBDb25uZWN0aW9uQ2FjaGVMaW1p
dEtleXMsIGludCk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2NmL0NGVVJMUmVxdWVzdFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2NmL0NGVVJMUmVxdWVzdFNQSS5oCmluZGV4IDAyN2VlNmFmMzY3ZjRlZWI4YWE1YzI5YjMyYTFi
YjAzM2U5MTljZWUuLjlmYTQxYWUxYjYwOTc0NGE3N2UyZTU4YzgzOGI1NTExMTRjZDU3ZjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZi9DRlVSTFJlcXVlc3RTUEku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2YvQ0ZVUkxSZXF1ZXN0U1BJLmgK
QEAgLTI2LDEzICsyNiwxNCBAQAogI2lmbmRlZiBDRlVSTFJlcXVlc3RTUElfaAogI2RlZmluZSBD
RlVSTFJlcXVlc3RTUElfaAogCisjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZCYXNlLmg+CisK
ICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogI2luY2x1ZGUgPENGTmV0d29yay9DRlVSTFJl
cXVlc3QuaD4KICNlbHNlCi0jaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZCYXNlLmg+CiB0eXBl
ZGVmIGNvbnN0IHN0cnVjdCBfQ0ZVUkxSZXF1ZXN0ICpDRlVSTFJlcXVlc3RSZWY7CiAjZW5kaWYK
IAotZXh0ZXJuICJDIiB2b2lkIENGVVJMUmVxdWVzdFNldFNob3VsZFN0YXJ0U3luY2hyb25vdXNs
eShDRlVSTFJlcXVlc3RSZWYsIEJvb2xlYW4pOworRVhURVJOX0Mgdm9pZCBDRlVSTFJlcXVlc3RT
ZXRTaG91bGRTdGFydFN5bmNocm9ub3VzbHkoQ0ZVUkxSZXF1ZXN0UmVmLCBCb29sZWFuKTsKIAog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dDb2xv
clRyYW5zZm9ybVNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHQ29sb3JU
cmFuc2Zvcm1TUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDEwMjEwNWEwNWQ3ZTY1MzRhMmUyZDk2MGE4ODZj
MDYxNjVkOTA2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2NnL0NHQ29sb3JUcmFuc2Zvcm1TUEkuaApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ0dDb2xvclRyYW5zZm9y
bVNQSV9oCisjZGVmaW5lIENHQ29sb3JUcmFuc2Zvcm1TUElfaAorCisjaW5jbHVkZSA8Q29yZUZv
dW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdy
YXBoaWNzLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvcmVH
cmFwaGljcy9DR0NvbG9yVHJhbnNmb3JtLmg+CisjZWxzZQordHlwZWRlZiBjb25zdCBzdHJ1Y3Qg
Q0dDb2xvclRyYW5zZm9ybSogQ0dDb2xvclRyYW5zZm9ybVJlZjsKKyNlbmRpZgorCitFWFRFUk5f
QyBDR0NvbG9yUmVmIENHQ29sb3JUcmFuc2Zvcm1Db252ZXJ0Q29sb3IoQ0dDb2xvclRyYW5zZm9y
bVJlZiwgQ0dDb2xvclJlZiwgQ0dDb2xvclJlbmRlcmluZ0ludGVudCk7CitFWFRFUk5fQyBDR0Nv
bG9yVHJhbnNmb3JtUmVmIENHQ29sb3JUcmFuc2Zvcm1DcmVhdGUoQ0dDb2xvclNwYWNlUmVmLCBD
RkRpY3Rpb25hcnlSZWYgYXR0cmlidXRlcyk7CisKKyNlbmRpZiAvLyBDR0NvbG9yVHJhbnNmb3Jt
U1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0NvbnRl
eHRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0NvbnRleHRTUEkuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41MTI0M2Y1MTcxMDZlNjU5ODFmY2MxNDU1OGI1ZTU3M2E4Y2VhZWU1Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHQ29udGV4dFNQ
SS5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKi8KKworI2lmbmRlZiBDR0NvbnRleHRTUElfaAorI2RlZmluZSBDR0NvbnRleHRTUElf
aAorCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dC5oPgorCisjaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0R1N0YXRlLmg+
CisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4dFByaXZhdGUuaD4KKyNlbHNlCit0eXBl
ZGVmIGVudW0geworICAgIGtDR0NvbXBvc2l0ZUNvcHkgPSAxLAorICAgIGtDR0NvbXBvc2l0ZVNv
dmVyID0gMiwKK30gQ0dDb21wb3NpdGVPcGVyYXRpb247CisjZW5kaWYKKworRVhURVJOX0MgQ0dB
ZmZpbmVUcmFuc2Zvcm0gQ0dDb250ZXh0R2V0QmFzZUNUTShDR0NvbnRleHRSZWYpOworRVhURVJO
X0MgQ0dDb2xvclJlZiBDR0NvbnRleHRHZXRGaWxsQ29sb3JBc0NvbG9yKENHQ29udGV4dFJlZik7
CitFWFRFUk5fQyBDR0NvbXBvc2l0ZU9wZXJhdGlvbiBDR0NvbnRleHRHZXRDb21wb3NpdGVPcGVy
YXRpb24oQ0dDb250ZXh0UmVmKTsKK0VYVEVSTl9DIENHRmxvYXQgQ0dDb250ZXh0R2V0TGluZVdp
ZHRoKENHQ29udGV4dFJlZik7CitFWFRFUk5fQyB2b2lkIENHQ29udGV4dFNldEJhc2VDVE0oQ0dD
b250ZXh0UmVmLCBDR0FmZmluZVRyYW5zZm9ybSk7CitFWFRFUk5fQyB2b2lkIENHQ29udGV4dFNl
dENUTShDR0NvbnRleHRSZWYsIENHQWZmaW5lVHJhbnNmb3JtKTsKK0VYVEVSTl9DIHZvaWQgQ0dD
b250ZXh0U2V0Q29tcG9zaXRlT3BlcmF0aW9uKENHQ29udGV4dFJlZiwgQ0dDb21wb3NpdGVPcGVy
YXRpb24pOworCisjZW5kaWYgLy8gQ0dDb250ZXh0U1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0Zsb2F0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY2cvQ0dGbG9hdFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlYTMwMzdmM2YzYTVlZjE1OTMy
Y2ZjZmEyNzU2MDIzYzkxOWM3OGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvY2cvQ0dGbG9hdFNQSS5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDR0Zsb2F0U1BJX2gK
KyNkZWZpbmUgQ0dGbG9hdFNQSV9oCisKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dCYXNlLmg+
CisjaW5jbHVkZSA8bWF0aC5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNs
dWRlIDxDb3JlR3JhcGhpY3MvQ0dGbG9hdC5oPgorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgQ0dGbG9h
dCBDR1JvdW5kKENHRmxvYXQgdmFsdWUpCit7CisjaWYgQ0dGTE9BVF9JU19ET1VCTEUKKyAgICBy
ZXR1cm4gcm91bmQodmFsdWUpOworI2Vsc2UKKyAgICByZXR1cm4gcm91bmRmKHZhbHVlKTsKKyNl
bmRpZgorfQorCitzdGF0aWMgaW5saW5lIENHRmxvYXQgQ0dGbG9vcihDR0Zsb2F0IHZhbHVlKQor
eworI2lmIENHRkxPQVRfSVNfRE9VQkxFCisgICAgcmV0dXJuIGZsb29yKHZhbHVlKTsKKyNlbHNl
CisgICAgcmV0dXJuIGZsb29yZih2YWx1ZSk7CisjZW5kaWYKK30KKworc3RhdGljIGlubGluZSBD
R0Zsb2F0IENHRkFicyhDR0Zsb2F0IHZhbHVlKQoreworI2lmIENHRkxPQVRfSVNfRE9VQkxFCisg
ICAgcmV0dXJuIGZhYnModmFsdWUpOworI2Vsc2UKKyAgICByZXR1cm4gZmFic2YodmFsdWUpOwor
I2VuZGlmCit9CisKK3N0YXRpYyBpbmxpbmUgQ0dGbG9hdCBDR0Zsb2F0TWluKENHRmxvYXQgYSwg
Q0dGbG9hdCBiKQoreworICAgIHJldHVybiBpc25hbihhKSA/IGIgOiAoKGlzbmFuKGIpIHx8IGEg
PCBiKSA/IGEgOiBiKTsKK30KKyNlbmRpZgorCisjZW5kaWYgLy8gQ0dGbG9hdFNQSV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250R2x5cGhTdXBwb3J0
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250R2x5cGhTdXBwb3J0
U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDUzYmU3NzFmMTYwMjA3MDJkNjYwOTlmODZiODNlZTYxMzdlMDYy
OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0Zv
bnRHbHlwaFN1cHBvcnRTUEkuaApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ0dGb250R2x5cGhTdXBwb3J0U1BJ
X2gKKyNkZWZpbmUgQ0dGb250R2x5cGhTdXBwb3J0U1BJX2gKKworI2luY2x1ZGUgPENvcmVHcmFw
aGljcy9Db3JlR3JhcGhpY3MuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5j
bHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udEdseXBoU3VwcG9ydC5oPgorI2Vsc2UKK3R5cGVkZWYg
dWludDMyX3QgQ0dGb250UmVuZGVyaW5nU3R5bGU7CisjZW5kaWYKKworRVhURVJOX0MgYm9vbCBD
R0ZvbnRHZXRHbHlwaEFkdmFuY2VzRm9yU3R5bGUoQ0dGb250UmVmLCBjb25zdCBDR0FmZmluZVRy
YW5zZm9ybSogLCBDR0ZvbnRSZW5kZXJpbmdTdHlsZSwgY29uc3QgQ0dHbHlwaCBnbHlwaHNbXSwg
c2l6ZV90IGNvdW50LCBDR1NpemUgYWR2YW5jZXNbXSk7CisKKyNlbmRpZiAvLyBDR0ZvbnRHbHlw
aFN1cHBvcnRTUElfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2Nn
L0NHRm9udEluZm9TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ZvbnRJ
bmZvU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYmJmMmZmOTUzMDcyNTZkOWU3OGQ1NzNiODliYjViNTY1M2Yy
Y2FjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9D
R0ZvbnRJbmZvU1BJLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIENHRm9udEluZm9TUElfaAorI2RlZmluZSBD
R0ZvbnRJbmZvU1BJX2gKKworI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9u
Lmg+CisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udC5oPgorCisjaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGb250SW5mby5oPgorI2Vsc2UK
K3N0cnVjdCBDR0ZvbnRITWV0cmljcyB7CisgICAgaW50IGFzY2VudDsKKyAgICBpbnQgZGVzY2Vu
dDsKKyAgICBpbnQgbGluZUdhcDsKKyAgICBpbnQgbWF4QWR2YW5jZVdpZHRoOworICAgIGludCBt
aW5MZWZ0U2lkZUJlYXJpbmc7CisgICAgaW50IG1pblJpZ2h0U2lkZUJlYXJpbmc7Cit9OworCitz
dHJ1Y3QgQ0dGb250RGVzY3JpcHRvciB7CisgICAgQ0dSZWN0IGJib3g7CisgICAgQ0dGbG9hdCBh
c2NlbnQ7CisgICAgQ0dGbG9hdCBkZXNjZW50OworICAgIENHRmxvYXQgY2FwSGVpZ2h0OworICAg
IENHRmxvYXQgaXRhbGljQW5nbGU7CisgICAgQ0dGbG9hdCBzdGVtVjsKKyAgICBDR0Zsb2F0IHN0
ZW1IOworICAgIENHRmxvYXQgYXZnV2lkdGg7CisgICAgQ0dGbG9hdCBtYXhXaWR0aDsKKyAgICBD
R0Zsb2F0IG1pc3NpbmdXaWR0aDsKKyAgICBDR0Zsb2F0IGxlYWRpbmc7CisgICAgQ0dGbG9hdCB4
SGVpZ2h0OworfTsKKyNlbmRpZgorCitFWFRFUk5fQyBDRlN0cmluZ1JlZiBDR0ZvbnRDb3B5RmFt
aWx5TmFtZShDR0ZvbnRSZWYpOworRVhURVJOX0MgYm9vbCBDR0ZvbnRHZXREZXNjcmlwdG9yKENH
Rm9udFJlZiwgQ0dGb250RGVzY3JpcHRvciopOworRVhURVJOX0MgYm9vbCBDR0ZvbnRJc0ZpeGVk
UGl0Y2goQ0dGb250UmVmKTsKK0VYVEVSTl9DIGNvbnN0IENHRm9udEhNZXRyaWNzKiBDR0ZvbnRH
ZXRITWV0cmljcyhDR0ZvbnRSZWYpOworRVhURVJOX0MgY29uc3QgY2hhciogQ0dGb250R2V0UG9z
dFNjcmlwdE5hbWUoQ0dGb250UmVmKTsKKworI2VuZGlmIC8vIENHRm9udEluZm9TUElfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9udFJlbmRlcmluZ1NQ
SS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NnL0NHRm9udFJlbmRlcmluZ1NQSS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjFkMGJiMWFiMDhmYmMyMWEzNjhiMWVkZWRjMTg3MWQ1NjBmNTQ5NTYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dGb250UmVu
ZGVyaW5nU1BJLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIENHRm9udFJlbmRlcmluZ1NQSV9oCisjZGVmaW5l
IENHRm9udFJlbmRlcmluZ1NQSV9oCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lu
Y2x1ZGUgPENvcmVHcmFwaGljcy9DR0ZvbnRSZW5kZXJpbmcuaD4KKyNlbHNlCitlbnVtIHsKKyAg
ICBrQ0dGb250UmVuZGVyaW5nU3R5bGVBbnRpYWxpYXNpbmcgPSAxIDw8IDAsCisgICAga0NHRm9u
dFJlbmRlcmluZ1N0eWxlU21vb3RoaW5nID0gMSA8PCAxLAorICAgIGtDR0ZvbnRSZW5kZXJpbmdT
dHlsZVN1YnBpeGVsUG9zaXRpb25pbmcgPSAxIDw8IDIsCisgICAga0NHRm9udFJlbmRlcmluZ1N0
eWxlU3VicGl4ZWxRdWFudGl6YXRpb24gPSAxIDw8IDMsCisgICAga0NHRm9udFJlbmRlcmluZ1N0
eWxlUGxhdGZvcm1OYXRpdmUgPSAxIDw8IDksCisgICAga0NHRm9udFJlbmRlcmluZ1N0eWxlTWFz
ayA9IDB4MjBGLAorfTsKK3R5cGVkZWYgdWludDMyX3QgQ0dGb250UmVuZGVyaW5nU3R5bGU7CisK
K2VudW0geworICAgIGtDR0ZvbnRBbnRpYWxpYXNpbmdTdHlsZVVuZmlsdGVyZWQgPSAwIDw8IDcs
CisgICAga0NHRm9udEFudGlhbGlhc2luZ1N0eWxlRmlsdGVyTGlnaHQgPSAxIDw8IDcsCit9Owor
dHlwZWRlZiB1aW50MzJfdCBDR0ZvbnRBbnRpYWxpYXNpbmdTdHlsZTsKKyNlbmRpZgorCisjZW5k
aWYgLy8gQ0dGb250UmVuZGVyaW5nU1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NwaS9jZy9DR0ZvbnRVbmljb2RlU3VwcG9ydFNQSS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NnL0NHRm9udFVuaWNvZGVTdXBwb3J0U1BJLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ3
MzA3MThjZTNmYjAyMmVmMTRiMWM5MWNlZTYwNDBiMTllZTNmZgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR0ZvbnRVbmljb2RlU3VwcG9ydFNQSS5o
CkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2lmbmRlZiBDR0ZvbnRVbmljb2RlU3VwcG9ydFNQSV9oCisjZGVmaW5lIENHRm9u
dFVuaWNvZGVTdXBwb3J0U1BJX2gKKworI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3Vu
ZGF0aW9uLmg+CisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udC5oPgorCisjaWYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGb250VW5pY29kZVN1
cHBvcnQuaD4KKyNlbmRpZgorCitFWFRFUk5fQyB2b2lkIENHRm9udEdldEdseXBoc0ZvclVuaWNo
YXJzKENHRm9udFJlZiwgY29uc3QgVW5pQ2hhcltdLCBDR0dseXBoW10sIHNpemVfdCBjb3VudCk7
CisKKyNlbmRpZiAvLyBDR0ZvbnRVbmljb2RlU3VwcG9ydFNQSV9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dJbWFnZVNQSS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3BpL2NnL0NHSW1hZ2VTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzQ5N2MxMjE3ZDQ4MWRl
NGM4YzNmYzZjM2RkNzBmNzVkOTc3N2JmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3BpL2NnL0NHSW1hZ2VTUEkuaApAQCAtMCwwICsxLDQyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ0dJbWFnZVNQ
SV9oCisjZGVmaW5lIENHSW1hZ2VTUElfaAorCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHSW1h
Z2UuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8Q29yZUdyYXBo
aWNzL0NHSW1hZ2VQcml2YXRlLmg+CisjZWxzZQorZW51bSB7CisgICAga0NHSW1hZ2VDYWNoaW5n
VGVtcG9yYXJ5ID0gMywKK307Cit0eXBlZGVmIHVpbnQzMl90IENHSW1hZ2VDYWNoaW5nRmxhZ3M7
CisjZW5kaWYKKworRVhURVJOX0Mgdm9pZCBDR0ltYWdlU2V0Q2FjaGluZ0ZsYWdzKENHSW1hZ2VS
ZWYsIENHSW1hZ2VDYWNoaW5nRmxhZ3MpOworCisjZW5kaWYgLy8gQ0dJbWFnZVNQSV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dTUmVnaW9uU1BJLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ0dTUmVnaW9uU1BJLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzcxYTJkMDljYWI5NmFkMDg1ZDlmNjBlOTM3ZTZhYTJiMTY2ZGYwZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jZy9DR1NSZWdpb25TUEkuaApAQCAtMCww
ICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisK
KyNpZm5kZWYgQ0dTUmVnaW9uU1BJX2gKKyNkZWZpbmUgQ0dTUmVnaW9uU1BJX2gKKworI2luY2x1
ZGUgPENvcmVHcmFwaGljcy9DR0dlb21ldHJ5Lmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR1NSZWdpb24uaD4KKyNlbHNlCit0eXBlZGVm
IHN0cnVjdCBDR1NSZWdpb25FbnVtZXJhdG9yT2JqZWN0KiBDR1NSZWdpb25FbnVtZXJhdG9yT2Jq
OwordHlwZWRlZiBzdHJ1Y3QgQ0dTUmVnaW9uT2JqZWN0KiBDR1JlZ2lvblJlZjsKK3R5cGVkZWYg
c3RydWN0IENHU1JlZ2lvbk9iamVjdCogQ0dTUmVnaW9uT2JqOworI2VuZGlmCisKK0VYVEVSTl9D
IENHU1JlZ2lvbkVudW1lcmF0b3JPYmogQ0dTUmVnaW9uRW51bWVyYXRvcihDR1JlZ2lvblJlZik7
CitFWFRFUk5fQyBDR1JlY3QqIENHU05leHRSZWN0KGNvbnN0IENHU1JlZ2lvbkVudW1lcmF0b3JP
YmopOworRVhURVJOX0MgQ0dFcnJvciBDR1NSZWxlYXNlUmVnaW9uRW51bWVyYXRvcihjb25zdCBD
R1NSZWdpb25FbnVtZXJhdG9yT2JqKTsKKworI2VuZGlmIC8vIENHU1JlZ2lvblNQSV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvRGlzcGF0Y2hTUEkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9EaXNwYXRjaFNQSS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdkYzg1NzBiNWRkMGEyZmI5ZDZmOWQyYmM4NTlhNGIwYjZhYTY1OTcKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvRGlzcGF0Y2hTUEkuaApA
QCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpZm5kZWYgRGlzcGF0Y2hTUElfaAorI2RlZmluZSBEaXNwYXRjaFNQSV9oCisKKyNp
bmNsdWRlIDxkaXNwYXRjaC9kaXNwYXRjaC5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKKworLy8gRklYTUU6IEFzIGEgd29ya2Fyb3VuZCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzE4MzM3
MTgyPiwgd2UgY29uZGl0aW9uYWxseSBlbmNsb3NlIHRoZSBoZWFkZXIKKy8vIDxkaXNwYXRjaC9w
cml2YXRlLmg+IGluIGFuIGV4dGVybiAiQyIgbGlua2FnZSBibG9jayB0byBtYWtlIGl0IHN1aXRh
YmxlIGZvciBDKysgdXNlLgorI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRp
ZgorCisjaW5jbHVkZSA8ZGlzcGF0Y2gvcHJpdmF0ZS5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMK
K30KKyNlbmRpZgorCisjZWxzZSAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorCitlbnVtIHsK
KyAgICBESVNQQVRDSF9NRU1PUllTVEFUVVNfUFJFU1NVUkVfTk9STUFMID0gMHgwMSwKKyAgICBE
SVNQQVRDSF9NRU1PUllTVEFUVVNfUFJFU1NVUkVfV0FSTiA9IDB4MDIsCisgICAgRElTUEFUQ0hf
TUVNT1JZU1RBVFVTX1BSRVNTVVJFX0NSSVRJQ0FMID0gMHgwNCwKK307CisjZGVmaW5lIERJU1BB
VENIX1NPVVJDRV9UWVBFX01FTU9SWVNUQVRVUyAoJl9kaXNwYXRjaF9zb3VyY2VfdHlwZV9tZW1v
cnlzdGF0dXMpCisKKyNlbmRpZgorCitFWFRFUk5fQyBjb25zdCBzdHJ1Y3QgZGlzcGF0Y2hfc291
cmNlX3R5cGVfcyBfZGlzcGF0Y2hfc291cmNlX3R5cGVfbWVtb3J5c3RhdHVzOworCisjZW5kaWYg
Ly8gRGlzcGF0Y2hTUElfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2NvY29hL0lPUE1MaWJTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9J
T1BNTGliU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDUyNjAxNzBlOTI0M2U1YTU0MGFhMjg0MGI5ZmQyM2I4
OGFiZDE2ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9j
b2NvYS9JT1BNTGliU1BJLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIElPUE1MaWJTUElfaAorI2RlZmluZSBJ
T1BNTGliU1BJX2gKKworI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+
CisKKyNpZiBQTEFURk9STShNQUMpIHx8IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVk
ZSA8SU9LaXQvcHdyX21ndC9JT1BNTGliLmg+CisjZWxzZQorI2luY2x1ZGUgPG1hY2gva2Vybl9y
ZXR1cm4uaD4KKwordHlwZWRlZiBrZXJuX3JldHVybl90IElPUmV0dXJuOwordHlwZWRlZiB1aW50
MzJfdCBJT1BNQXNzZXJ0aW9uSUQ7CisKK3N0YXRpYyBjb25zdCBDRlN0cmluZ1JlZiBrSU9QTUFz
c2VydGlvblR5cGVQcmV2ZW50VXNlcklkbGVEaXNwbGF5U2xlZXAgPSBDRlNUUigiUHJldmVudFVz
ZXJJZGxlRGlzcGxheVNsZWVwIik7CisjZW5kaWYKKworRVhURVJOX0MgSU9SZXR1cm4gSU9QTUFz
c2VydGlvbkNyZWF0ZVdpdGhEZXNjcmlwdGlvbihDRlN0cmluZ1JlZiBhc3NlcnRpb25UeXBlLCBD
RlN0cmluZ1JlZiBuYW1lLCBDRlN0cmluZ1JlZiBkZXRhaWxzLAorICAgIENGU3RyaW5nUmVmIGh1
bWFuUmVhZGFibGVSZWFzb24sIENGU3RyaW5nUmVmIGxvY2FsaXphdGlvbkJ1bmRsZVBhdGgsIENG
VGltZUludGVydmFsIHRpbWVvdXQsIENGU3RyaW5nUmVmIHRpbWVvdXRBY3Rpb24sIElPUE1Bc3Nl
cnRpb25JRCAqKTsKK0VYVEVSTl9DIElPUmV0dXJuIElPUE1Bc3NlcnRpb25SZWxlYXNlKElPUE1B
c3NlcnRpb25JRCk7CisKKyNlbmRpZiAvLyBJT1BNTGliU1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9NYWNoVk1TUEkuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9jb2NvYS9NYWNoVk1TUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjljYjMxZDNkY2Jm
ODBhZTVmMzBmMDczODFlMGI0MmZiMDQ4MDU5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL01hY2hWTVNQSS5oCkBAIC0wLDAgKzEsNDUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBNYWNo
Vk1TUElfaAorI2RlZmluZSBNYWNoVk1TUElfaAorCisjaW5jbHVkZSA8bWFjaC9ib29sZWFuLmg+
CisjaW5jbHVkZSA8bWFjaC9rZXJuX3JldHVybi5oPgorI2luY2x1ZGUgPG1hY2gvbWFjaF90eXBl
cy5oPgorCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lu
Y2x1ZGUgPG1hY2gvbWFjaF92bS5oPgorI2VuZGlmCisKK0VYVEVSTl9DIGtlcm5fcmV0dXJuX3Qg
bWFjaF92bV9hbGxvY2F0ZSh2bV9tYXBfdCB0YXJnZXQsIG1hY2hfdm1fYWRkcmVzc190KiwgbWFj
aF92bV9zaXplX3QsIGludCBmbGFncyk7CitFWFRFUk5fQyBrZXJuX3JldHVybl90IG1hY2hfdm1f
ZGVhbGxvY2F0ZSh2bV9tYXBfdCB0YXJnZXQsIG1hY2hfdm1fYWRkcmVzc190LCBtYWNoX3ZtX3Np
emVfdCk7CitFWFRFUk5fQyBrZXJuX3JldHVybl90IG1hY2hfdm1fbWFwKHZtX21hcF90IHRhcmdl
dFRhc2ssIG1hY2hfdm1fYWRkcmVzc190KiwgbWFjaF92bV9zaXplX3QsIG1hY2hfdm1fb2Zmc2V0
X3QgbWFzaywgaW50IGZsYWdzLAorICAgIG1lbV9lbnRyeV9uYW1lX3BvcnRfdCwgbWVtb3J5X29i
amVjdF9vZmZzZXRfdCwgYm9vbGVhbl90IGNvcHksIHZtX3Byb3RfdCBjdXJyZW50UHJvdGVjdGlv
biwgdm1fcHJvdF90IG1heGltdW1Qcm90ZWN0aW9uLCB2bV9pbmhlcml0X3QpOworRVhURVJOX0Mg
a2Vybl9yZXR1cm5fdCBtYWNoX3ZtX3Byb3RlY3Qodm1fbWFwX3QgdGFyZ2V0VGFzaywgbWFjaF92
bV9hZGRyZXNzX3QsIG1hY2hfdm1fc2l6ZV90LCBib29sZWFuX3Qgc2V0TWF4aW11bSwgdm1fcHJv
dF90IG5ld1Byb3RlY3Rpb24pOworRVhURVJOX0Mga2Vybl9yZXR1cm5fdCBtYWNoX3ZtX3JlZ2lv
bih2bV9tYXBfdCB0YXJnZXRUYXNrLCBtYWNoX3ZtX2FkZHJlc3NfdCosIG1hY2hfdm1fc2l6ZV90
Kiwgdm1fcmVnaW9uX2ZsYXZvcl90LCB2bV9yZWdpb25faW5mb190LAorICAgIG1hY2hfbXNnX3R5
cGVfbnVtYmVyX3QqIGluZm9Db3VudCwgbWFjaF9wb3J0X3QqIG9iamVjdE5hbWUpOworCisjZW5k
aWYgLy8gTWFjaFZNU1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9jb2NvYS9OU0ZpbGVNYW5hZ2VyU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkv
Y29jb2EvTlNGaWxlTWFuYWdlclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjNzdiNDhhM2I1ODU4YTkxNTJl
Y2JkNDQ5MjQxMmRlY2I2MGI1ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcGkvY29jb2EvTlNGaWxlTWFuYWdlclNQSS5oCkBAIC0wLDAgKzEsNDAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2ltcG9ydCA8Rm91
bmRhdGlvbi9OU0ZpbGVNYW5hZ2VyLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQor
I2ltcG9ydCA8Rm91bmRhdGlvbi9OU0ZpbGVNYW5hZ2VyX05TVVJMRXh0cmFzLmg+CisjZWxzZQor
I2RlZmluZSBXRUJfVVJFQUQgKDAwNDAwKQorI2RlZmluZSBXRUJfVVdSSVRFICgwMDIwMCkKKyNk
ZWZpbmUgV0VCX1VFWEVDICgwMDEwMCkKKworQGludGVyZmFjZSBOU0ZpbGVNYW5hZ2VyIChEZXRh
aWxzKQorLSAoQk9PTClfd2ViX2NyZWF0ZUZpbGVBdFBhdGhXaXRoSW50ZXJtZWRpYXRlRGlyZWN0
b3JpZXM6KE5TU3RyaW5nICopcGF0aCBjb250ZW50czooTlNEYXRhICopY29udGVudHMgYXR0cmli
dXRlczooTlNEaWN0aW9uYXJ5ICopYXR0cmlidXRlcyBkaXJlY3RvcnlBdHRyaWJ1dGVzOihOU0Rp
Y3Rpb25hcnkgKilkaXJlY3RvcnlBdHRyaWJ1dGVzOworLSAoTlNTdHJpbmcgKilfd2ViX3BhdGhX
aXRoVW5pcXVlRmlsZW5hbWVGb3JQYXRoOihOU1N0cmluZyAqKXBhdGg7CistIChCT09MKV93ZWJf
cmVtb3ZlRmlsZU9ubHlBdFBhdGg6KE5TU3RyaW5nICopcGF0aDsKK0BlbmQKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL05TR2VvbWV0cnlTUEku
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU0dlb21ldHJ5U1BJLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTdhMGRjZmE3NzA1NjE1ODY4MGQ5ZWM0NTNjNjRmMGJkZjgxOTgyMQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9OU0dlb21ldHJ5
U1BJLmgKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHQmFzZS5oPgorI2ltcG9ydCA8
Q29yZUdyYXBoaWNzL0NHR2VvbWV0cnkuaD4KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlv
bi5oPgorCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lt
cG9ydCA8Rm91bmRhdGlvbi9OU0dlb21ldHJ5Lmg+CisjZWxzZQordHlwZWRlZiBDR1BvaW50IE5T
UG9pbnQ7Cit0eXBlZGVmIENHUmVjdCBOU1JlY3Q7Cit0eXBlZGVmIENHU2l6ZSBOU1NpemU7Cit0
eXBlZGVmIE5TVUludGVnZXIgTlNSZWN0RWRnZTsKKworQGludGVyZmFjZSBOU1ZhbHVlIChOU0dl
b21ldHJ5RGV0YWlscykKKysgKE5TVmFsdWUgKil2YWx1ZVdpdGhQb2ludDooTlNQb2ludClwb2lu
dDsKKysgKE5TVmFsdWUgKil2YWx1ZVdpdGhSZWN0OihOU1JlY3QpcmVjdDsKKysgKE5TVmFsdWUg
Kil2YWx1ZVdpdGhTaXplOihOU1NpemUpc2l6ZTsKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIE5TUG9p
bnQgcG9pbnRWYWx1ZTsKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIE5TUmVjdCByZWN0VmFsdWU7CitA
cHJvcGVydHkgKHJlYWRvbmx5KSBOU1NpemUgc2l6ZVZhbHVlOworQGVuZAorCisjZGVmaW5lIE5T
TWluWEVkZ2UgQ0dSZWN0TWluWEVkZ2UKKyNkZWZpbmUgTlNNaW5ZRWRnZSBDR1JlY3RNaW5ZRWRn
ZQorI2RlZmluZSBOU01heFhFZGdlIENHUmVjdE1heFhFZGdlCisjZGVmaW5lIE5TTWF4WUVkZ2Ug
Q0dSZWN0TWF4WUVkZ2UKKworI2RlZmluZSBOU0dFT01FVFJZX1RZUEVTX1NBTUVfQVNfQ0dHRU9N
RVRSWV9UWVBFUyAxCisKK0FMV0FZU19JTkxJTkUgTlNQb2ludCBOU01ha2VQb2ludChDR0Zsb2F0
IHgsIENHRmxvYXQgeSkKK3sKKyAgICBOU1BvaW50IHBvaW50OworICAgIHBvaW50LnggPSB4Owor
ICAgIHBvaW50LnkgPSB5OworICAgIHJldHVybiBwb2ludDsKK30KKworQUxXQVlTX0lOTElORSBO
U1NpemUgTlNNYWtlU2l6ZShDR0Zsb2F0IHdpZHRoLCBDR0Zsb2F0IGhlaWdodCkKK3sKKyAgICBO
U1NpemUgc2l6ZTsKKyAgICBzaXplLndpZHRoID0gd2lkdGg7CisgICAgc2l6ZS5oZWlnaHQgPSBo
ZWlnaHQ7CisgICAgcmV0dXJuIHNpemU7Cit9CisKK0FMV0FZU19JTkxJTkUgTlNSZWN0IE5TTWFr
ZVJlY3QoQ0dGbG9hdCB4LCBDR0Zsb2F0IHksIENHRmxvYXQgd2lkdGgsIENHRmxvYXQgaGVpZ2h0
KQoreworICAgIE5TUmVjdCByZWN0OworICAgIHJlY3Qub3JpZ2luLnggPSB4OworICAgIHJlY3Qu
b3JpZ2luLnkgPSB5OworICAgIHJlY3Quc2l6ZS53aWR0aCA9IHdpZHRoOworICAgIHJlY3Quc2l6
ZS5oZWlnaHQgPSBoZWlnaHQ7CisgICAgcmV0dXJuIHJlY3Q7Cit9CisKK0FMV0FZU19JTkxJTkUg
Q0dGbG9hdCBOU01heFgoTlNSZWN0IHJlY3QpCit7CisgICAgcmV0dXJuIHJlY3Qub3JpZ2luLngg
KyByZWN0LnNpemUud2lkdGg7Cit9CisKK0FMV0FZU19JTkxJTkUgQ0dGbG9hdCBOU01heFkoTlNS
ZWN0IHJlY3QpCit7CisgICAgcmV0dXJuIHJlY3Qub3JpZ2luLnkgKyByZWN0LnNpemUuaGVpZ2h0
OworfQorCitBTFdBWVNfSU5MSU5FIENHRmxvYXQgTlNNaW5YKE5TUmVjdCByZWN0KQoreworICAg
IHJldHVybiByZWN0Lm9yaWdpbi54OworfQorCitBTFdBWVNfSU5MSU5FIENHRmxvYXQgTlNNaW5Z
KE5TUmVjdCByZWN0KQoreworICAgIHJldHVybiByZWN0Lm9yaWdpbi55OworfQorI2VuZGlmIC8v
IFBMQVRGT1JNKE1BQykgfHwgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworZXh0ZXJuIGNvbnN0
IE5TUG9pbnQgTlNaZXJvUG9pbnQ7CitleHRlcm4gY29uc3QgTlNSZWN0IE5TWmVyb1JlY3Q7Citl
eHRlcm4gY29uc3QgTlNTaXplIE5TWmVyb1NpemU7CisKK2V4dGVybiBCT09MIE5TRXF1YWxQb2lu
dHMoTlNQb2ludCwgTlNQb2ludCk7CitleHRlcm4gQk9PTCBOU0VxdWFsUmVjdHMoTlNSZWN0LCBO
U1JlY3QpOworZXh0ZXJuIEJPT0wgTlNFcXVhbFNpemVzKE5TU2l6ZSwgTlNTaXplKTsKK2V4dGVy
biBOU1JlY3QgTlNJbnNldFJlY3QoTlNSZWN0LCBDR0Zsb2F0IGRYLCBDR0Zsb2F0IGRZKTsKK2V4
dGVybiBOU1JlY3QgTlNJbnRlcnNlY3Rpb25SZWN0KE5TUmVjdCwgTlNSZWN0KTsKK2V4dGVybiBC
T09MIE5TSXNFbXB0eVJlY3QoTlNSZWN0KTsKK2V4dGVybiBCT09MIE5TUG9pbnRJblJlY3QoTlNQ
b2ludCwgTlNSZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9j
b2NvYS9OU1BvaW50ZXJGdW5jdGlvbnNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9jb2NvYS9OU1BvaW50ZXJGdW5jdGlvbnNTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTk4MmM2YmFlMTUw
N2QxMDRmMWEwZTQxNTNlMzFmOWUzY2NlNTZjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL05TUG9pbnRlckZ1bmN0aW9uc1NQSS5oCkBAIC0wLDAg
KzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2lmIFBMQVRGT1JNKE1BQykKKyNpbXBvcnQgPEZvdW5kYXRpb24vTlNQb2ludGVyRnVuY3Rpb25z
Lmg+CisjZWxpZiBQTEFURk9STShJT1MpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1w
b3J0IDxGb3VuZGF0aW9uL05TUG9pbnRlckZ1bmN0aW9uc1ByaXYuaD4KKyNlbHNlCitlbnVtIHsK
KyAgICBOU1BvaW50ZXJGdW5jdGlvbnNaZXJvaW5nV2Vha01lbW9yeSA9IDFVTCA8PCAwLAorfTsK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL2R5
bGRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9keWxkU1BJLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOWU5Mzk1ODc0ZjhkNWQzMzgxYmIxZTVhNzMxNjgyYWZjZjZkMTc0MwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9keWxkU1BJLmgK
QEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaWZuZGVmIGR5bGRTUElfaAorI2RlZmluZSBkeWxkU1BJX2gKKworI2luY2x1ZGUg
PG1hY2gtby9keWxkLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUg
PG1hY2gtby9keWxkX3ByaXYuaD4KKyNlbHNlCisjZGVmaW5lIERZTERfSU9TX1ZFUlNJT05fM18w
IDB4MDAwMzAwMDAKKyNkZWZpbmUgRFlMRF9JT1NfVkVSU0lPTl82XzAgMHgwMDA2MDAwMDsKKyNk
ZWZpbmUgRFlMRF9JT1NfVkVSU0lPTl83XzAgMHgwMDA3MDAwMDsKKyNlbmRpZgorCitFWFRFUk5f
QyB1aW50MzJfdCBkeWxkX2dldF9wcm9ncmFtX3Nka192ZXJzaW9uKCk7CisKKyNlbmRpZiAvLyBk
eWxkU1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvQVZQ
bGF5ZXJDb250cm9sbGVyU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0FW
UGxheWVyQ29udHJvbGxlclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyMjdhN2YyNzY0OGUwNTRiYzRmMTRi
NTcxYWQzNjQwMmUxYWRmZGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvaW9zL0FWUGxheWVyQ29udHJvbGxlclNQSS5oCkBAIC0wLDAgKzEsNTAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2ltcG9ydCA8QVZL
aXQvQVZLaXQuaD4KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8
VUlLaXQvVUlLaXQuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxB
VktpdC9BVlBsYXllckNvbnRyb2xsZXIuaD4KKyNlbHNlCitAaW50ZXJmYWNlIEFWUGxheWVyQ29u
dHJvbGxlciA6IFVJUmVzcG9uZGVyCisKK0BlbmQKKworQGludGVyZmFjZSBBVlBsYXllckNvbnRy
b2xsZXIgKERldGFpbHMpCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBBVlBsYXllckNvbnRy
b2xsZXJTdGF0dXMpIHsKKyAgICBBVlBsYXllckNvbnRyb2xsZXJTdGF0dXNSZWFkeVRvUGxheSA9
IDIsCit9OworCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBBVlBsYXllckNvbnRyb2xsZXJF
eHRlcm5hbFBsYXliYWNrVHlwZSkgeworICAgIEFWUGxheWVyQ29udHJvbGxlckV4dGVybmFsUGxh
eWJhY2tUeXBlTm9uZSA9IDAsCisgICAgQVZQbGF5ZXJDb250cm9sbGVyRXh0ZXJuYWxQbGF5YmFj
a1R5cGVBaXJQbGF5ID0gMSwKKyAgICBBVlBsYXllckNvbnRyb2xsZXJFeHRlcm5hbFBsYXliYWNr
VHlwZVRWT3V0ID0gMiwKK307CisKK0Bwcm9wZXJ0eSAoTlNfTk9OQVRPTUlDX0lPU09OTFksIHJl
YWRvbmx5KSBBVlBsYXllckNvbnRyb2xsZXJTdGF0dXMgc3RhdHVzOworQGVuZAorI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0FWUGxheWVyVmlld0Nv
bnRyb2xsZXJTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvQVZQbGF5ZXJW
aWV3Q29udHJvbGxlclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwYWViYWUzZGZkMzcwZmMwNTMyNWFjYjE0
MzExNmYzMDEwZjQzNWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvaW9zL0FWUGxheWVyVmlld0NvbnRyb2xsZXJTUEkuaApAQCAtMCwwICsxLDU0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbXBvcnQgPEFW
S2l0L0FWUGxheWVyVmlld0NvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+CisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8QVZLaXQvQVZQbGF5ZXJWaWV3Q29udHJvbGxlcl9Q
cml2YXRlLmg+CisjaW1wb3J0IDxBVktpdC9BVlBsYXllclZpZXdDb250cm9sbGVyX1dlYktpdE9u
bHkuaD4KKyNlbHNlCitAcHJvdG9jb2wgQVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVnYXRlOwor
QHByb3RvY29sIEFWVmlkZW9MYXllcjsKKworQGludGVyZmFjZSBBVlBsYXllclZpZXdDb250cm9s
bGVyIChEZXRhaWxzKQorLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoVmlkZW9MYXllcjooQ0FMYXll
ciA8QVZWaWRlb0xheWVyPiAqKXZpZGVvTGF5ZXI7CistICh2b2lkKWVudGVyRnVsbFNjcmVlbldp
dGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBzdWNjZXNzLCBOU0Vycm9yICopKWNv
bXBsZXRpb25IYW5kbGVyOworLSAodm9pZClleGl0RnVsbFNjcmVlbkFuaW1hdGVkOihCT09MKWFu
aW1hdGVkIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MIHN1Y2Nlc3MsIE5TRXJyb3Ig
KikpY29tcGxldGlvbkhhbmRsZXI7CistICh2b2lkKWV4aXRGdWxsU2NyZWVuV2l0aENvbXBsZXRp
b25IYW5kbGVyOih2b2lkICheKShCT09MIHN1Y2Nlc3MsIE5TRXJyb3IgKikpY29tcGxldGlvbkhh
bmRsZXI7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBBVlBsYXllckNvbnRyb2xsZXIg
KnBsYXllckNvbnRyb2xsZXI7CitAcHJvcGVydHkgKG5vbmF0b21pYywgd2VhaykgaWQgPEFWUGxh
eWVyVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZT4gZGVsZWdhdGU7CitAZW5kCisKK0Bwcm90b2NvbCBB
VlBsYXllclZpZXdDb250cm9sbGVyRGVsZWdhdGUgPE5TT2JqZWN0PgorQG9wdGlvbmFsCit0eXBl
ZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBBVlBsYXllclZpZXdDb250cm9sbGVyRXhpdEZ1bGxTY3Jl
ZW5SZWFzb24pIHsKKyAgICBBVlBsYXllclZpZXdDb250cm9sbGVyRXhpdEZ1bGxTY3JlZW5SZWFz
b25Eb25lQnV0dG9uVGFwcGVkID0gMCwKKyAgICBBVlBsYXllclZpZXdDb250cm9sbGVyRXhpdEZ1
bGxTY3JlZW5SZWFzb25SZW1vdGVDb250cm9sU3RvcEV2ZW50UmVjZWl2ZWQgPSAzLAorfTsKKy0g
KEJPT0wpcGxheWVyVmlld0NvbnRyb2xsZXI6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5
ZXJWaWV3Q29udHJvbGxlciBzaG91bGRFeGl0RnVsbFNjcmVlbldpdGhSZWFzb246KEFWUGxheWVy
Vmlld0NvbnRyb2xsZXJFeGl0RnVsbFNjcmVlblJlYXNvbilyZWFzb247CitAZW5kCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvQVZWYWx1ZVRpbWlu
Z1NQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9BVlZhbHVlVGltaW5nU1BJ
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODcyNTQ1OTMzZTkxMjBiZjYzZWU2ODQ4MTdhMTk2YTY5NDUyNDZjNAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvQVZWYWx1
ZVRpbWluZ1NQSS5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisK
KyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8QVZLaXQvQVZWYWx1ZVRpbWlu
Zy5oPgorI2Vsc2UKK0BpbnRlcmZhY2UgQVZWYWx1ZVRpbWluZyA6IE5TT2JqZWN0IDxOU0NvZGlu
ZywgTlNDb3B5aW5nLCBOU011dGFibGVDb3B5aW5nPgorCitAZW5kCisKK0BpbnRlcmZhY2UgQVZW
YWx1ZVRpbWluZyAoRGV0YWlscykKKysgKEFWVmFsdWVUaW1pbmcgKil2YWx1ZVRpbWluZ1dpdGhB
bmNob3JWYWx1ZTooZG91YmxlKWFuY2hvclZhbHVlIGFuY2hvclRpbWVTdGFtcDooTlNUaW1lSW50
ZXJ2YWwpdGltZVN0YW1wIHJhdGU6KGRvdWJsZSlyYXRlOworQHByb3BlcnR5IChOU19OT05BVE9N
SUNfSU9TT05MWSwgcmVhZG9ubHkpIGRvdWJsZSBjdXJyZW50VmFsdWU7CitAZW5kCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvQVZWaWRlb0xheWVy
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0FWVmlkZW9MYXllclNQSS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmY5NjM4NTI2YjAxZDg5ZTFmMTJlYjk1YmM5NjU0ZjBmZTkxNTY5NjcKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0FWVmlkZW9M
YXllclNQSS5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKi8KKworI2ltcG9ydCA8QVZLaXQvQVZLaXQuaD4KKyNpbXBvcnQgPENvcmVH
cmFwaGljcy9DR0dlb21ldHJ5Lmg+CisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4K
KworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxBVktpdC9BVlZpZGVvTGF5
ZXIuaD4KKyNlbHNlCitAcHJvdG9jb2wgQVZWaWRlb0xheWVyCit0eXBlZGVmIE5TX0VOVU0oTlNJ
bnRlZ2VyLCBBVlZpZGVvTGF5ZXJHcmF2aXR5KSB7CisgICAgQVZWaWRlb0xheWVyR3Jhdml0eUlu
dmFsaWQgPSAwLAorICAgIEFWVmlkZW9MYXllckdyYXZpdHlSZXNpemVBc3BlY3QgPSAxLAorICAg
IEFWVmlkZW9MYXllckdyYXZpdHlSZXNpemVBc3BlY3RGaWxsID0gMiwKKyAgICBBVlZpZGVvTGF5
ZXJHcmF2aXR5UmVzaXplID0gMywKK307CistICh2b2lkKXNldFBsYXllckNvbnRyb2xsZXI6KEFW
UGxheWVyQ29udHJvbGxlciAqKXBsYXllckNvbnRyb2xsZXI7CitAcHJvcGVydHkgKG5vbmF0b21p
YykgQVZWaWRlb0xheWVyR3Jhdml0eSB2aWRlb0xheWVyR3Jhdml0eTsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljKSBDR1JlY3QgdmlkZW9SZWN0OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
LCBnZXR0ZXI9aXNSZWFkeUZvckRpc3BsYXkpIEJPT0wgcmVhZHlGb3JEaXNwbGF5OworQGVuZAor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0NURm9u
dERlc2NyaXB0b3JTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvQ1RGb250
RGVzY3JpcHRvclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiYzgxOGZiMTIzNzVjNTUzYTQ0NTA3YzQ2MTVj
YTkyMDc0N2U1ODEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cGkvaW9zL0NURm9udERlc2NyaXB0b3JTUEkuaApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ1RGb250RGVzY3Jp
cHRvclNQSV9oCisjZGVmaW5lIENURm9udERlc2NyaXB0b3JTUElfaAorCisjaW5jbHVkZSA8Q29y
ZVRleHQvQ29yZVRleHQuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVk
ZSA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4KKyNlbmRpZgorCisjaWYgUExBVEZP
Uk0oSU9TKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwCitFWFRF
Uk5fQyBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEhlYWRsaW5lOwor
RVhURVJOX0MgY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRCb2R5Owor
RVhURVJOX0MgY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRTdWJoZWFk
OworRVhURVJOX0MgY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRGb290
bm90ZTsKK0VYVEVSTl9DIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0
Q2FwdGlvbjE7CitFWFRFUk5fQyBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVU
YWxsQm9keTsKKworRVhURVJOX0MgY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxl
SGVhZGxpbmU7CitFWFRFUk5fQyBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVC
b2R5OworRVhURVJOX0MgY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU3ViaGVh
ZDsKK0VYVEVSTl9DIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZUZvb3Rub3Rl
OworRVhURVJOX0MgY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlQ2FwdGlvbjE7
CitFWFRFUk5fQyBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVDYXB0aW9uMjsK
KworRVhURVJOX0MgY29uc3QgQ0ZTdHJpbmdSZWYga0NURm9udERlc2NyaXB0b3JUZXh0U3R5bGVF
bXBoYXNpemVkOworI2VuZGlmCisKK0VYVEVSTl9DIENURm9udERlc2NyaXB0b3JSZWYgQ1RGb250
RGVzY3JpcHRvckNyZWF0ZUZvclVJVHlwZShDVEZvbnRVSUZvbnRUeXBlLCBDR0Zsb2F0IHNpemUs
IENGU3RyaW5nUmVmIGxhbmd1YWdlKTsKK0VYVEVSTl9DIENURm9udERlc2NyaXB0b3JSZWYgQ1RG
b250RGVzY3JpcHRvckNyZWF0ZVdpdGhUZXh0U3R5bGUoQ0ZTdHJpbmdSZWYgc3R5bGUsIENGU3Ry
aW5nUmVmIHNpemUsIENGU3RyaW5nUmVmIGxhbmd1YWdlKTsKK0VYVEVSTl9DIGJvb2wgQ1RGb250
RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2NyaXB0b3JSZWYpOworCisjZW5kaWYg
Ly8gQ1RGb250RGVzY3JpcHRvclNQSV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvaW9zL0NURm9udFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lv
cy9DVEZvbnRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzczZDEyZTIxMmFhNzAxMmE2MTU4M2U4NWIyOTlm
OTAwZjg4ZTBjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2lvcy9DVEZvbnRTUEkuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ1RGb250U1BJX2gKKyNkZWZpbmUgQ1RG
b250U1BJX2gKKworI2luY2x1ZGUgPENvcmVUZXh0L0NvcmVUZXh0Lmg+CisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udFByaXYuaD4KKyNlbHNl
CitlbnVtIHsKKyAgICBrQ1RGb250VUlGb250U3lzdGVtSXRhbGljID0gMjcsCisgICAga0NURm9u
dFVJRm9udFN5c3RlbVRoaW4gPSAxMDIsCisgICAga0NURm9udFVJRm9udFN5c3RlbUxpZ2h0ID0g
MTAzLAorICAgIGtDVEZvbnRVSUZvbnRTeXN0ZW1VbHRyYUxpZ2h0ID0gMTA0LAorfTsKKyNlbmRp
ZgorCitFWFRFUk5fQyBDVEZvbnRSZWYgQ1RGb250Q3JlYXRlUGh5c2ljYWxGb250Rm9yQ2hhcmFj
dGVyc1dpdGhMYW5ndWFnZShDVEZvbnRSZWYsIGNvbnN0IFVURjE2Q2hhciogY2hhcmFjdGVycywg
Q0ZJbmRleCBsZW5ndGgsIENGU3RyaW5nUmVmIGxhbmd1YWdlLCBDRkluZGV4KiBjb3ZlcmVkTGVu
Z3RoKTsKK0VYVEVSTl9DIGJvb2wgQ1RGb250SXNBcHBsZUNvbG9yRW1vamkoQ1RGb250UmVmKTsK
K0VYVEVSTl9DIGJvb2wgQ1RGb250RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2Ny
aXB0b3JSZWYpOworRVhURVJOX0MgQ1RGb250UmVmIENURm9udENyZWF0ZUZvckNTUyhDRlN0cmlu
Z1JlZiBuYW1lLCB1aW50MTZfdCB3ZWlnaHQsIENURm9udFN5bWJvbGljVHJhaXRzLCBDR0Zsb2F0
IHNpemUpOworCisjZW5kaWYgLy8gQ1RGb250U1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9pb3MvQ1VJQ2F0YWxvZ1NQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL2lvcy9DVUlDYXRhbG9nU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGYyYTdkZWI2OTM5NDZl
OGRkMTRhMzliMTQ3Y2ZhYzNkMWIzNjE3YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9pb3MvQ1VJQ2F0YWxvZ1NQSS5oCkBAIC0wLDAgKzEsNDIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2ltcG9ydCA8Q29y
ZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2ltcG9ydCA8Q29yZVRleHQvQ29yZVRleHQuaD4K
KyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbXBvcnQgPENvcmVVSS9DVUlDYXRhbG9nLmg+CisjZWxzZQorQGNsYXNzIENV
SVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvbjsKKworQGludGVyZmFjZSBDVUlDYXRhbG9nIDogTlNP
YmplY3QKKworQGVuZAorCitAaW50ZXJmYWNlIENVSUNhdGFsb2cgKERldGFpbHMpCistIChCT09M
KWRyYXdHbHlwaHM6KGNvbnN0IENHR2x5cGhbXSlnbHlwaHMgYXRQb3NpdGlvbnM6KGNvbnN0IENH
UG9pbnRbXSlwb3NpdGlvbnMgaW5Db250ZXh0OihDR0NvbnRleHRSZWYpY29udGV4dCB3aXRoRm9u
dDooQ1RGb250UmVmKWZvbnQgY291bnQ6KE5TVUludGVnZXIpY291bnQgc3R5bGVQcmVzZXROYW1l
OihOU1N0cmluZyAqKXN0eWxlUHJlc2V0TmFtZSBzdHlsZUNvbmZpZ3VyYXRpb246KENVSVN0eWxl
RWZmZWN0Q29uZmlndXJhdGlvbiAqKXN0eWxlQ29uZmlndXJhdGlvbiBmb3JlZ3JvdW5kQ29sb3I6
KENHQ29sb3JSZWYpZm9yZWdyb3VuZENvbG9yOworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0NVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlv
blNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9DVUlTdHlsZUVmZmVjdENv
bmZpZ3VyYXRpb25TUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTU1Y2ZjYmE2YjZmZmFmMDVhZDViY2JhYmM3
OTMwZGU3YTkxMjc5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2lvcy9DVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb25TUEkuaApAQCAtMCwwICsxLDM4IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8Q29yZVVJL0NVSVN0eWxlRWZmZWN0Q29uZmln
dXJhdGlvbi5oPgorI2Vsc2UKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCitA
aW50ZXJmYWNlIENVSVN0eWxlRWZmZWN0Q29uZmlndXJhdGlvbiA6IE5TT2JqZWN0IDxOU0NvcHlp
bmc+CisKK0BlbmQKKworQGludGVyZmFjZSBDVUlTdHlsZUVmZmVjdENvbmZpZ3VyYXRpb24gKERl
dGFpbHMpCitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCB1c2VTaW1wbGlmaWVkRWZmZWN0Owor
QGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9z
L01QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2lvcy9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTMwM2NmYjYwNzlm
MjU4NmUwZDE4YzRhYTQ3ZGM4ZDU2OTk4ZTQ1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaApAQCAtMCww
ICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisK
KyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbXBvcnQgPE1lZGlhUGxheWVyL01QQVZSb3V0aW5nQ29udHJvbGxlci5oPgor
I2Vsc2UKK2VudW0geworICAgIE1QUm91dGVEaXNjb3ZlcnlNb2RlUHJlc2VuY2UgPSAxLAorICAg
IE1QUm91dGVEaXNjb3ZlcnlNb2RlRGV0YWlsZWQgPSAyLAorfTsKK3R5cGVkZWYgTlNJbnRlZ2Vy
IE1QUm91dGVEaXNjb3ZlcnlNb2RlOworCitAaW50ZXJmYWNlIE1QQVZSb3V0aW5nQ29udHJvbGxl
ciA6IE5TT2JqZWN0CisKK0BlbmQKKworQGludGVyZmFjZSBNUEFWUm91dGluZ0NvbnRyb2xsZXIg
KERldGFpbHMpCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhOYW1lOihOU1N0cmluZyAqKW5hbWU7
CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBNUFJvdXRlRGlzY292ZXJ5TW9kZSBkaXNj
b3ZlcnlNb2RlOworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvaW9zL01vYmlsZUdlc3RhbHRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9pb3MvTW9iaWxlR2VzdGFsdFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5NjI0NzlkMjRlZDU1YWI0
ZThiM2U2ZTdmYzY3Y2Y4ZjMyOTE2NjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvaW9zL01vYmlsZUdlc3RhbHRTUEkuaApAQCAtMCwwICsxLDQ1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgTW9i
aWxlR2VzdGFsdFNQSV9oCisjZGVmaW5lIE1vYmlsZUdlc3RhbHRTUElfaAorCisjaW5jbHVkZSA8
Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCisjaW5jbHVkZSA8TW9iaWxlR2VzdGFsdC5oPgorI2Vsc2UKK3N0YXRpYyBjb25zdCBD
RlN0cmluZ1JlZiBrTUdRQXBwbGVJbnRlcm5hbEluc3RhbGxDYXBhYmlsaXR5ID0gQ0ZTVFIoImFw
cGxlLWludGVybmFsLWluc3RhbGwiKTsKK3N0YXRpYyBjb25zdCBDRlN0cmluZ1JlZiBrTUdRTWFp
blNjcmVlblBpdGNoID0gQ0ZTVFIoIm1haW4tc2NyZWVuLXBpdGNoIik7CitzdGF0aWMgY29uc3Qg
Q0ZTdHJpbmdSZWYga01HUU1haW5TY3JlZW5TY2FsZSA9IENGU1RSKCJtYWluLXNjcmVlbi1zY2Fs
ZSIpOworI2VuZGlmCisKK0VYVEVSTl9DIENGVHlwZVJlZiBNR0NvcHlBbnN3ZXIoQ0ZTdHJpbmdS
ZWYgcXVlc3Rpb24sIENGRGljdGlvbmFyeVJlZiBvcHRpb25zKTsKKworI2lmbmRlZiBNR0dldEJv
b2xBbnN3ZXIKK0VYVEVSTl9DIGJvb2wgTUdHZXRCb29sQW5zd2VyKENGU3RyaW5nUmVmIHF1ZXN0
aW9uKTsKKyNlbmRpZgorCisjZW5kaWYgLy8gTW9iaWxlR2VzdGFsdFNQSV9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL1FMUHJldmlld0NvbnZlcnRlclNQSS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9RTFByZXZpZXdDb252ZXJ0ZXJTUEku
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMzJiZGEyMTBhMTY4NTU0ODUwYmM5NTFjMjgwM2U5MGQ5MmY5YmJjCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9RTFByZXZp
ZXdDb252ZXJ0ZXJTUEkuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5o
PgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFF1aWNrTG9vay9RTFBy
ZXZpZXdDb252ZXJ0ZXIuaD4KKyNlbHNlCitAaW50ZXJmYWNlIFFMUHJldmlld0NvbnZlcnRlciA6
IE5TT2JqZWN0CisKK0BlbmQKKworQGludGVyZmFjZSBRTFByZXZpZXdDb252ZXJ0ZXIgKERldGFp
bHMpCistIChOU1VSTFJlcXVlc3QgKilzYWZlUmVxdWVzdEZvclJlcXVlc3Q6KE5TVVJMUmVxdWVz
dCAqKXJlcXVlc3Q7CistIChpZClpbml0V2l0aENvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAq
KWNvbm5lY3Rpb24gZGVsZWdhdGU6KGlkKWRlbGVnYXRlIHJlc3BvbnNlOihOU1VSTFJlc3BvbnNl
ICopcmVzcG9uc2Ugb3B0aW9uczooTlNEaWN0aW9uYXJ5ICopb3B0aW9uczsKKy0gKGlkKWluaXRX
aXRoRGF0YTooTlNEYXRhICopZGF0YSBuYW1lOihOU1N0cmluZyAqKW5hbWUgdXRpOihOU1N0cmlu
ZyAqKXV0aSBvcHRpb25zOihOU0RpY3Rpb25hcnkgKilvcHRpb25zOworLSAodm9pZClhcHBlbmRE
YXRhQXJyYXk6KE5TQXJyYXkgKilkYXRhQXJyYXk7CistICh2b2lkKWZpbmlzaENvbnZlcnRpbmc7
CistICh2b2lkKWZpbmlzaGVkQXBwZW5kaW5nRGF0YTsKK0Bwcm9wZXJ0eSAocmVhZG9ubHksIG5v
bmF0b21pYykgTlNTdHJpbmcgKnByZXZpZXdGaWxlTmFtZTsKK0Bwcm9wZXJ0eSAocmVhZG9ubHks
IG5vbmF0b21pYykgTlNTdHJpbmcgKnByZXZpZXdVVEk7CitAcHJvcGVydHkgKHJlYWRvbmx5LCBu
b25hdG9taWMpIE5TVVJMUmVxdWVzdCAqcHJldmlld1JlcXVlc3Q7CitAcHJvcGVydHkgKHJlYWRv
bmx5LCBub25hdG9taWMpIE5TVVJMUmVzcG9uc2UgKnByZXZpZXdSZXNwb25zZTsKK0BlbmQKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9RdWlja0xv
b2tTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvUXVpY2tMb29rU1BJLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTk2YTYzOGQ3MmM1NjYyMzdjZjIzZDM4NmVkZDhkNjRiNDM4MTAxYQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvUXVpY2tMb29r
U1BJLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKKyAqLworCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworI2lmIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxRdWlja0xvb2svUXVpY2tMb29rUHJpdmF0
ZS5oPgorI2VuZGlmCisKK0VYVEVSTl9DIE5TU2V0ICpRTFByZXZpZXdHZXRTdXBwb3J0ZWRNSU1F
VHlwZXMoKTsKK0VYVEVSTl9DIE5TU3RyaW5nICpRTFR5cGVDb3B5QmVzdE1pbWVUeXBlRm9yRmls
ZU5hbWVBbmRNaW1lVHlwZShOU1N0cmluZyAqZmlsZU5hbWUsIE5TU3RyaW5nICptaW1lVHlwZSk7
CitFWFRFUk5fQyBOU1N0cmluZyAqUUxUeXBlQ29weUJlc3RNaW1lVHlwZUZvclVSTEFuZE1pbWVU
eXBlKE5TVVJMICosIE5TU3RyaW5nICptaW1lVHlwZSk7CitFWFRFUk5fQyBOU1N0cmluZyAqUUxU
eXBlQ29weVVUSUZvclVSTEFuZE1pbWVUeXBlKE5TVVJMICosIE5TU3RyaW5nICptaW1lVHlwZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KaW5kZXggOTRlMWJk
YjNmYWFmZmNkOGM4MTkyNGI4NGEyYWE0ZTFjMGMzOWY4ZC4uNzFiOTA4NzM4MWI1NjBmOWY3ZTQ0
ZGUxMmU5ZDcxODhjZTUyMmFjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUlPUy5tbQpAQCAtMzAsNiArMzAsNyBAQAogI2ltcG9ydCAiQ1NTUHJpbWl0aXZlVmFsdWUu
aCIKICNpbXBvcnQgIkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEuaCIKICNpbXBvcnQgIkNTU1Zh
bHVlS2V5d29yZHMuaCIKKyNpbXBvcnQgIkNURm9udERlc2NyaXB0b3JTUEkuaCIKICNpbXBvcnQg
IkRhdGVDb21wb25lbnRzLmgiCiAjaW1wb3J0ICJEb2N1bWVudC5oIgogI2ltcG9ydCAiRmxvYXRS
b3VuZGVkUmVjdC5oIgpAQCAtNTgsOCArNTksNyBAQAogI2ltcG9ydCAiVXNlckFnZW50U2NyaXB0
cy5oIgogI2ltcG9ydCAiVXNlckFnZW50U3R5bGVTaGVldHMuaCIKICNpbXBvcnQgIldlYkNvcmVU
aHJlYWRSdW4uaCIKLSNpbXBvcnQgPENvcmVHcmFwaGljcy9DR1BhdGhQcml2YXRlLmg+Ci0jaW1w
b3J0IDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yUHJpdi5oPgorI2ltcG9ydCA8Q29yZUdyYXBo
aWNzL0NvcmVHcmFwaGljcy5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0IDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9SZWZQdHIuaD4KQEAgLTgxLDE0ICs4
MSw2IEBAIFNPRlRfTElOS19DT05TVEFOVChVSUtpdCwgVUlDb250ZW50U2l6ZUNhdGVnb3J5RGlk
Q2hhbmdlTm90aWZpY2F0aW9uLCBDRlN0cmluZ1JlCiBAaW1wbGVtZW50YXRpb24gV2ViQ29yZVJl
bmRlclRoZW1lQnVuZGxlCiBAZW5kCiAKLS8vIFRoaXMgaXMgYSB0ZW1wb3JhcnkgaGFjayB0byBi
dWlsZCBvbiBpT1MuIFNob3VsZCBiZSByZW1vdmVkIGFzIHNvb24gYXMgQ1QgZml4ZXMgdGhlIGhl
YWRlciBmaWxlcy4KLWV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVT
aG9ydEhlYWRsaW5lIENUX0FWQUlMQUJMRSgxMF8xMCwgN18wKTsKLWV4dGVybiBjb25zdCBDRlN0
cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEJvZHkgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3
XzApOwotZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0U3Vi
aGVhZCBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7Ci1leHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYg
a0NUVUlGb250VGV4dFN0eWxlU2hvcnRGb290bm90ZSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7
Ci1leHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRDYXB0aW9u
MSBDVF9BVkFJTEFCTEUoMTBfMTAsIDdfMCk7Ci1leHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NU
VUlGb250VGV4dFN0eWxlVGFsbEJvZHkgQ1RfQVZBSUxBQkxFKDEwXzEwLCA3XzApOwotCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGZsb2F0IENvbnRyb2xCYXNlSGVpZ2h0ID0gMjA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJGaXhlZFBvc2l0
aW9uQ29udGVudC5tbSBiL1NvdXJjZS9XZWJLaXQvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkZpeGVk
UG9zaXRpb25Db250ZW50Lm1tCmluZGV4IGZhYjczMDU1MjUxNTAzZjk0ZjdkNjIxYjk5ZDExM2Iy
NWY5MGFmYjIuLmU2YjM5MjlhNGZhZmQ3MzJmNzgxNTdlNTI5ZmY2NGQ1MmJhMTVjYWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkZpeGVkUG9zaXRpb25D
b250ZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkZpeGVk
UG9zaXRpb25Db250ZW50Lm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaW1wb3J0ICJXZWJGaXhlZFBv
c2l0aW9uQ29udGVudEludGVybmFsLmgiCiAKICNpbXBvcnQgIldlYlZpZXdJbnRlcm5hbC5oIgor
I2ltcG9ydCA8V2ViQ29yZS9DR0Zsb2F0U1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Nocm9tZUNs
aWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9JbnRT
aXplLmg+CkBAIC00MCw5ICs0MSw4IEBACiAjaW1wb3J0IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAj
aW1wb3J0IDx3dGYvVGhyZWFkaW5nLmg+CiAKLSNpbXBvcnQgPENvcmVHcmFwaGljcy9DR0Zsb2F0
Lmg+Ci0jaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KICNpbXBvcnQgPEZvdW5kYXRp
b24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+CiAjaW1w
b3J0IDxhbGdvcml0aG0+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0L21hYy9ET00vV2ViRE9NT3BlcmF0aW9uc1ByaXZhdGUuaAppbmRleCA3YTA2NzZlM2Jm
NTg0YmUzZjVmN2VkZTMwZWFiODBjY2YxYTM4MmYwLi40MGUwMmE3YTk4ODhjYzgyNjEyYWQ5ZTI1
YzU2M2RiY2I5OGQwNWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9ET00vV2ViRE9N
T3BlcmF0aW9uc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9ET00vV2ViRE9NT3Bl
cmF0aW9uc1ByaXZhdGUuaApAQCAtMzAsNyArMzAsNyBAQAogI2ltcG9ydCA8SmF2YVNjcmlwdENv
cmUvSlNCYXNlLmg+CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCi0jaW1wb3J0IDxGb3VuZGF0aW9u
L05TR2VvbWV0cnkuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTlNHZW9tZXRyeVNQSS5oPgogI2Vsc2UK
ICNpbXBvcnQgPEFwcEtpdC9OU0V2ZW50Lmg+CiAjaW1wb3J0IDxXZWJLaXRMZWdhY3kvRE9NV2hl
ZWxFdmVudC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvTWlncmF0ZUhlYWRlcnMu
bWFrZSBiL1NvdXJjZS9XZWJLaXQvbWFjL01pZ3JhdGVIZWFkZXJzLm1ha2UKaW5kZXggOTg1MWQz
MTZmMDI0OWViMjEyZWNmOTM5NjA2YWI5NzVlODI3NTBiNS4uMzg4NTUwMGNkZDU3ZTdjNGE3YTIz
Yjg4ZTZhNmM3YzM2Y2YxY2IzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvTWlncmF0
ZUhlYWRlcnMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9NaWdyYXRlSGVhZGVycy5tYWtl
CkBAIC0yNDEsOCArMjQxLDggQEAgYWxsIDogXAogICAgICQoUFJJVkFURV9IRUFERVJTX0RJUikv
RE9NR2VzdHVyZUV2ZW50LmgKIGVuZGlmCiAKLVdFQkNPUkVfSEVBREVSX1JFUExBQ0VfUlVMRVMg
PSAtZSBzL1w8V2ViQ29yZS9cPFdlYktpdExlZ2FjeS8gLWUgcy9ET01ET01JbXBsZW1lbnRhdGlv
bi9ET01JbXBsZW1lbnRhdGlvbi8gLWUgInMvKF4gKilXRUJDT1JFX0VYUE9SVCAvXDEvIgotV0VC
Q09SRV9IRUFERVJfTUlHUkFURV9DTUQgPSBzZWQgLUUgJChXRUJDT1JFX0hFQURFUl9SRVBMQUNF
X1JVTEVTKSAkPCA+ICRACitXRUJDT1JFX0hFQURFUl9SRVBMQUNFX1JVTEVTID0gJ3MvPFdlYkNv
cmUvPFdlYktpdExlZ2FjeS8gaWYgbXw8V2ViQ29yZS8oW14+XSspPnwgJiYgJCQxICF+IC9TUEku
aCQkLzsgcy9ET01ET01JbXBsZW1lbnRhdGlvbi9ET01JbXBsZW1lbnRhdGlvbi87IHMvXihccyop
V0VCQ09SRV9FWFBPUlQgLyQkMS87JworV0VCQ09SRV9IRUFERVJfTUlHUkFURV9DTUQgPSBwZXJs
IC1wIC1lICQoV0VCQ09SRV9IRUFERVJfUkVQTEFDRV9SVUxFUykgJDwgPiAkQAogCiAkKFBSSVZB
VEVfSEVBREVSU19ESVIpL0RPTSUgOiBET01ET00lIE1pZ3JhdGVIZWFkZXJzLm1ha2UKIAkkKFdF
QkNPUkVfSEVBREVSX01JR1JBVEVfQ01EKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQppbmRleCBjNWY5ZTNhZDM1
ZGY4NzllOWFmMzRlNDhiNjBiNTdhYTRiZWYyODkzLi41YjFjYzJiMmExOWUwYWU1OWZjZWY2NDZj
MTEyMmEwM2VhZmMwNzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQpAQCAtMTQ5LDggKzE0OSw4IEBACiAj
ZW5kaWYKIAogI2lmIFVTRShRVUlDS19MT09LKQotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU0ZpbGVN
YW5hZ2VyX05TVVJMRXh0cmFzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW1JT1MuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvTlNGaWxlTWFuYWdlclNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9R
dWlja0xvb2suaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzSU9T
Lmg+CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9X
ZWJOb2RlSGlnaGxpZ2h0Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYk5v
ZGVIaWdobGlnaHQubW0KaW5kZXggMzU4N2MzOGNhMTE5M2I0Y2Y3YzFlN2ZjOWIwZDY3ODMyZTNk
M2Y0Mi4uZTc3NGU0ODk1NmQ5NDE0NzFhNWMyNDJlNWE5YjFhNDhjOGIxMTU2MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYk5vZGVIaWdobGlnaHQubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYk5vZGVIaWdobGlnaHQubW0KQEAg
LTI3LDkgKzI3LDEwIEBACiAgKi8KIAogI2ltcG9ydCAiV2ViTm9kZUhpZ2hsaWdodC5oIgorCiAj
aW1wb3J0ICJXZWJOb2RlSGlnaGxpZ2h0Vmlldy5oIgogI2ltcG9ydCAiV2ViTlNWaWV3RXh0cmFz
LmgiCi0KKyNpbXBvcnQgPFdlYkNvcmUvQ0FMYXllclNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9J
bnNwZWN0b3JDb250cm9sbGVyLmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgogCkBAIC0z
Nyw3ICszOCw2IEBACiAjaW1wb3J0ICJXZWJGcmFtZVByaXZhdGUuaCIKICNpbXBvcnQgIldlYkhU
TUxWaWV3LmgiCiAjaW1wb3J0ICJXZWJWaWV3LmgiCi0jaW1wb3J0IDxRdWFydHpDb3JlL0NBTGF5
ZXJQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dBS1dpbmRvdy5oPgogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSW5kaWNhdGVMYXllci5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSW5kaWNhdGVMYXllci5tbQppbmRleCAyNzM5
MDM0MGI3YTI1OTNiYzk0N2YwYzc0OGUxMWNlOGIxOTlkZTQzLi5lNDkyNzFkMzk1YTAzN2Q0NzBl
Mjc0YWZkN2ZjNjE4N2FjNDMwMGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYkluZGljYXRlTGF5ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJJbmRpY2F0ZUxheWVyLm1tCkBAIC0yOSw3ICsyOSw3IEBACiAKICNpbXBvcnQgIldlYkZyYW1l
UHJpdmF0ZS5oIgogI2ltcG9ydCAiV2ViVmlldy5oIgotI2ltcG9ydCA8UXVhcnR6Q29yZS9DQUxh
eWVyUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9DQUxheWVyU1BJLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0NvbG9yTWFjLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dBS1dpbmRvdy5oPgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlJlbmRlckxheWVyLmggYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlJlbmRlckxheWVyLmgKaW5kZXggNjdlNzdmMDI0Njc1
NDM2NTAwOTBhNTFjOTkzYTg2MzI1YWIwOTNiNC4uZjVhNDM5Y2MyZjE0MzhjNDlmMDI5MDFiMzk0
Yjc2Mzk1ZWJlODczYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJS
ZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUmVuZGVyTGF5
ZXIuaApAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+
CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCi0jaW1wb3J0IDxGb3VuZGF0aW9uL05TR2VvbWV0cnku
aD4KKyNpbXBvcnQgPFdlYkNvcmUvTlNHZW9tZXRyeVNQSS5oPgogI2VuZGlmCiAKIEBjbGFzcyBX
ZWJGcmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBhNmYzYjU0ZGNk
NTFiZTJjYzRjYWQ0MWY3Zjc1NTViNzFjYzYyNDg3Li43ZmQ3NWRiMmRkZTc0ZTRkYmU0OTEwZDA5
NmRhZWM4M2MyMGViZjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0y
MjcsMTIgKzIyNywxMyBAQAogI2ltcG9ydCAiV2ViVUlLaXRTdXBwb3J0LmgiCiAjaW1wb3J0ICJX
ZWJWaXNpYmxlUG9zaXRpb24uaCIKICNpbXBvcnQgPENGTmV0d29yay9DRlVSTENhY2hlUHJpdi5o
PgotI2ltcG9ydCA8TW9iaWxlR2VzdGFsdC5oPgorI2ltcG9ydCA8V2ViQ29yZS9EaXNwYXRjaFNQ
SS5oPgogI2ltcG9ydCA8V2ViQ29yZS9FdmVudE5hbWVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zv
bnRDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0ljb25Db250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xlZ2FjeVRpbGVDYWNo
ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9Nb2JpbGVHZXN0YWx0U1BJLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0lPUy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TUUxpdGVEYXRhYmFzZVRyYWNr
ZXIuaD4KQEAgLTI0Niw3ICsyNDcsNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlVGhyZWFk
UnVuLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkV2ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dl
YlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5oPgotI2ltcG9ydCA8ZGlzcGF0Y2gvcHJp
dmF0ZS5oPgogI2ltcG9ydCA8d3RmL0Zhc3RNYWxsb2MuaD4KICNlbmRpZiAvLyAhUExBVEZPUk0o
SU9TKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9tYWMvU2hhcmVkTWVt
b3J5TWFjLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL21hYy9TaGFyZWRNZW1vcnlNYWMu
Y3BwCmluZGV4IGZmN2FiOWZhNzAzMjZjOGUzNTE4MDFjYzhlYWFjMDBhYTFlNDIyYmEuLmM0Y2Uz
MjEyMjg3Y2RlNTZiYTY2ZDYwMGMyMDFhZDE5YWEyY2MzNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL21hYy9TaGFyZWRNZW1vcnlNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL21hYy9TaGFyZWRNZW1vcnlNYWMuY3BwCkBAIC0zMCw5ICszMCw5IEBACiAj
aW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCiAjaW5jbHVkZSAiQXJndW1lbnRzLmgiCiAjaW5j
bHVkZSAiTWFjaFBvcnQuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL01hY2hWTVNQSS5oPgogI2luY2x1
ZGUgPG1hY2gvbWFjaF9lcnJvci5oPgogI2luY2x1ZGUgPG1hY2gvbWFjaF9wb3J0Lmg+Ci0jaW5j
bHVkZSA8bWFjaC9tYWNoX3ZtLmg+CiAjaW5jbHVkZSA8bWFjaC92bV9tYXAuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3Mv
TmF0aXZlV2ViVG91Y2hFdmVudElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvTmF0
aXZlV2ViVG91Y2hFdmVudElPUy5tbQppbmRleCA0YTFlZTQ5ZmM0NzRkODk2NTViYzViMGQ3OTdh
NThkNTg1MTcyOGJiLi4wZTg3MTZmNGZjMmY0M2YxM2U2NzQ2MjY1NzQ4YTY3MTAzZjBmZTk0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZlbnRJ
T1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9OYXRpdmVXZWJUb3VjaEV2ZW50
SU9TLm1tCkBAIC0yNywxMiArMjcsMTEgQEAKICNpbXBvcnQgIk5hdGl2ZVdlYlRvdWNoRXZlbnQu
aCIKIAogI2lmIFBMQVRGT1JNKElPUykKLQogI2ltcG9ydCAiV2ViRXZlbnQuaCIKLSNpbXBvcnQg
PEZvdW5kYXRpb24vTlNHZW9tZXRyeS5oPgogI2ltcG9ydCA8VUlLaXQvVUlUb3VjaC5oPgogI2lt
cG9ydCA8VUlLaXQvVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0ludFBvaW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL05TR2VvbWV0cnlTUEkuaD4K
ICNpbXBvcnQgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1t
CmluZGV4IDk5MDc4ZWQ1ZmMwOWE0ZDJkMmEyOGFmNzJjN2FhM2IzNWJkNWFjZjIuLjdkMDQxOTU4
NWQ1NTJjOGQyNDA0NjRmMjNlN2EwNDg0YzUyNmQ2ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQpAQCAtMzQsNiArMzQs
NyBAQAogI2ltcG9ydCAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW1wb3J0ICJXZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCIKICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgorI2ltcG9ydCA8
V2ViQ29yZS9DQUxheWVyU1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dENH
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lPU3VyZmFjZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9JT1N1
cmZhY2VQb29sLmg+CkBAIC00MywxNCArNDQsNiBAQAogI2ltcG9ydCA8bWFjaC9tYWNoX3BvcnQu
aD4KICNlbmRpZgogCi0jaWYgX19oYXNfaW5jbHVkZSg8UXVhcnR6Q29yZS9DQUxheWVyUHJpdmF0
ZS5oPikKLSNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FMYXllclByaXZhdGUuaD4KLSNlbmRpZgotCi1A
aW50ZXJmYWNlIENBTGF5ZXIgKERldGFpbHMpCi1AcHJvcGVydHkgQk9PTCBjb250ZW50c09wYXF1
ZTsKLUBlbmQKLQogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVQ
cm9wZXJ0eUFwcGxpZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVy
VHJlZVByb3BlcnR5QXBwbGllci5tbQppbmRleCA4MDYxM2Y2NGQ1N2IzYjg1ZDlkZTI1ZDE5NjJj
MDYzOTVjNGZjNWI5Li5mZDQ1Yzk0MzhiZDFlNzQ3MjRlM2E5NjlhNjQ5YTU1MGIyMzQzY2QzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVByb3Bl
cnR5QXBwbGllci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVy
VHJlZVByb3BlcnR5QXBwbGllci5tbQpAQCAtMzEsNiArMzEsNyBAQAogI2ltcG9ydCAiUmVtb3Rl
TGF5ZXJUcmVlSG9zdC5oIgogI2ltcG9ydCA8UXVhcnR6Q29yZS9DQUxheWVyLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0Jsb2NrRXhjZXB0aW9ucy5oPgorI2ltcG9ydCA8V2ViQ29yZS9DQUxheWVyU1BJ
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtQ0FGaWx0ZXJzLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1Njcm9sbGJhclRoZW1lTWFjLmg+CiAKQEAgLTM4LDE0ICszOSw2IEBACiAjaW1wb3J0IDxV
SUtpdC9VSVZpZXcuaD4KICNlbmRpZgogCi0jaWYgX19oYXNfaW5jbHVkZSg8UXVhcnR6Q29yZS9D
QUxheWVyUHJpdmF0ZS5oPikKLSNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FMYXllclByaXZhdGUuaD4K
LSNlbmRpZgotCi1AaW50ZXJmYWNlIENBTGF5ZXIgKERldGFpbHMpCi1AcHJvcGVydHkgQk9PTCBj
b250ZW50c09wYXF1ZTsKLUBlbmQKLQogI2lmIFBMQVRGT1JNKElPUykKIEBpbnRlcmZhY2UgVUlW
aWV3IChXS1VJVmlld1V0aWxpdGllcykKIC0gKHZvaWQpX3dlYl9zZXRTdWJ2aWV3czooTlNBcnJh
eSAqKXN1YnZpZXdzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQppbmRleCAzYTZiY2Q3NTQ2MDgxYjdlNjY5ZGQwYzZjMzUxZTA3NTQ0NWUxZTdm
Li45ZmRmYmRlYjA2ODg5YTgzNTZhYTQzMjEzYjFkM2VjNmM0NWI2NjlhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtODgsNyArODgs
NiBAQAogI2ltcG9ydCAiV0tTY3JvbGxWaWV3LmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdDb250ZW50
UHJvdmlkZXJSZWdpc3RyeS5oIgogI2ltcG9ydCAiV2ViUGFnZU1lc3NhZ2VzLmgiCi0jaW1wb3J0
IDxDb3JlR3JhcGhpY3MvQ0dGbG9hdC5oPgogI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHUERGRG9j
dW1lbnRQcml2YXRlLmg+CiAjaW1wb3J0IDxVSUtpdC9VSUFwcGxpY2F0aW9uLmg+CiAjaW1wb3J0
IDxVSUtpdC9VSURldmljZV9Qcml2YXRlLmg+CkBAIC05Niw2ICs5NSw4IEBACiAjaW1wb3J0IDxV
SUtpdC9VSVdpbmRvd19Qcml2YXRlLmg+CiAjaW1wb3J0IDxRdWFydHpDb3JlL0NBUmVuZGVyU2Vy
dmVyLmg+CiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmVQcml2YXRlLmg+CisjaW1wb3J0
IDxXZWJDb3JlL0NBTGF5ZXJTUEkuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ0dGbG9hdFNQSS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9JbnNwZWN0b3JPdmVybGF5Lmg+CiAKIEBpbnRlcmZhY2UgVUlTY3Jv
bGxWaWV3IChVSVNjcm9sbFZpZXdJbnRlcm5hbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvV0tQREZQYWdlTnVtYmVySW5kaWNhdG9yLm1tIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9XS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IubW0KaW5kZXggY2ZhMzAw
NWU2NzFkOWFmM2ZiZGMzYTE4NzFkYmVjYWRkODhlMWYxOS4uODFhZGU1YWM0N2RkMDM4NjEzZjNm
ZDQzODAwMGJjMzk3MDg3YzBlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9XS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9XS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IubW0KQEAgLTI5LDExICsyOSwxMSBA
QAogI2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9ydCA8UXVhcnR6Q29yZS9DQUZpbHRlci5oPgot
I2ltcG9ydCA8UXVhcnR6Q29yZS9DQUxheWVyUHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlLaXQvVUlH
ZW9tZXRyeV9Qcml2YXRlLmg+CiAjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgogI2ltcG9ydCA8VUlL
aXQvVUlWaWV3X1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0L19VSUJhY2tkcm9wVmlld19Qcml2
YXRlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0NBTGF5ZXJTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUv
TG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1dLU2Nyb2xsVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tT
Y3JvbGxWaWV3Lm1tCmluZGV4IDdkNWEyZjI1ZTZjYzBkNGJiMjc2ZjY4NjMxM2M3MDhmN2IxNDdl
MTAuLjljMGQ1MjFhYjA1NGMwZTM3MTQ5MGJmNWM0YWI3MWFmMDY1NjEyMjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3Lm1tCkBAIC0yOSw3ICsyOSw3IEBA
CiAjaWYgUExBVEZPUk0oSU9TKQogCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgotI2lt
cG9ydCA8Q29yZUdyYXBoaWNzL0NHRmxvYXQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQ0dGbG9hdFNQ
SS5oPgogCiBAaW50ZXJmYWNlIFVJU2Nyb2xsVmlldyAoVUlTY3JvbGxWaWV3SW50ZXJuYWxIYWNr
KQogLSAoQ0dGbG9hdClfcnViYmVyQmFuZE9mZnNldEZvck9mZnNldDooQ0dGbG9hdCluZXdPZmZz
ZXQgbWF4T2Zmc2V0OihDR0Zsb2F0KW1heE9mZnNldCBtaW5PZmZzZXQ6KENHRmxvYXQpbWluT2Zm
c2V0IHJhbmdlOihDR0Zsb2F0KXJhbmdlIG91dHNpZGU6KEJPT0wgKilvdXRzaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJNZW1vcnlQcmVzc3VyZUhhbmRs
ZXJJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJl
SGFuZGxlcklPUy5tbQppbmRleCA1MjNkMGM4ZjE0NjVlN2NiYTg0MTJkMjNiNDYwMmE5OWZhNzNh
NjA0Li5iZGQyMzYzZTBiNjI5NDY0YmE5YWI0ODk4MDdjZThiYWY2MTVhOTgwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYk1lbW9yeVByZXNzdXJl
SGFuZGxlcklPUy5tbQpAQCAtMjksNyArMjksNyBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2lt
cG9ydCAiVmlld1NuYXBzaG90U3RvcmUuaCIKLSNpbXBvcnQgPGRpc3BhdGNoL3ByaXZhdGUuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvRGlzcGF0Y2hTUEkuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5
Um91dGVQaWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWly
UGxheVJvdXRlUGlja2VyLm1tCmluZGV4IGQyNWUyODdlNTM0ODM4ZDc2NThiNmE2ZTUwMmI2YTM4
NGY0ZTYwZjQuLjhlMzM3NGJkOWIwZDEzNThiNzQ0N2VjNGE5YWFjNDk3MWYzMGNmYmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQ
aWNrZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBs
YXlSb3V0ZVBpY2tlci5tbQpAQCAtMzIsOSArMzIsOSBAQAogI2ltcG9ydCAiV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgPE1lZGlh
UGxheWVyL01QQVZJdGVtLmg+Ci0jaW1wb3J0IDxNZWRpYVBsYXllci9NUEFWUm91dGluZ0NvbnRy
b2xsZXIuaD4KLSNpbXBvcnQgPE1lZGlhUGxheWVyL01QQXVkaW9WaWRlb1JvdXRpbmdQb3BvdmVy
Q29udHJvbGxlci5oPgogI2ltcG9ydCA8TWVkaWFQbGF5ZXIvTVBBdWRpb1ZpZGVvUm91dGluZ0Fj
dGlvblNoZWV0Lmg+CisjaW1wb3J0IDxNZWRpYVBsYXllci9NUEF1ZGlvVmlkZW9Sb3V0aW5nUG9w
b3ZlckNvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTVBBVlJvdXRpbmdDb250cm9sbGVy
U1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0IDxVSUtpdC9V
SUFwcGxpY2F0aW9uX1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUu
aD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRl
eCA5NmU1NWFhOTM4YzE5ODBhYTc5ZmU5YWVjNjBiY2NmZTVjMzE0Yjg2Li4yNWFhOGU5MzljZGI0
MTg0OTNmNzY1ZjVmZTRjMjg3ZTIzMDFkYTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xOTMsOCArMTkzLDggQEAKICNpbmNsdWRlICJS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oIgogI2luY2x1ZGUgIldlYlZpZGVvRnVsbHNjcmVl
bk1hbmFnZXIuaCIKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+Ci0jaW5j
bHVkZSA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvclByaXYuaD4KLSNpbmNsdWRlIDxDb3JlVGV4
dC9DVEZvbnRQcml2Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DVEZvbnREZXNjcmlwdG9yU1BJLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9DVEZvbnRTUEkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ljb24u
aD4KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggNzMwY2UzOTAzNjQ4NWFiZTY0ZTU5OWVlNWY5NmI2N2JlZjZmNjc2Yi4uYzdjYTFh
OTMxMmVkNmE0MzIxY2IzYjViMzljYTI4OWJmYzRiODk3MyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE0LTA5LTE1
ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNYWtl
IFdlYkNvcmUgYnVpbGQgd2l0aCBwdWJsaWMgaU9TIFNESworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3Vic3RpdHV0ZSA8V2ViQ29yZS9NYWNoVk1TUEku
aD4gZm9yIDxtYWNoL21hY2hfdm0uaD4uCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMv
Q2hlY2tlZE1hbGxvYy5jcHA6CisKIDIwMTQtMDktMTUgIEdyemVnb3J6IEN6YWprb3dza2kgIDxn
LmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gRWNvcmUgYW5kIEVpbmEg
YXJlIGluaXRpYWxpemVkIHR3aWNlIGluIFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9DaGVja2VkTWFsbG9jLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9DaGVja2VkTWFsbG9jLmNwcAppbmRleCBhYzg4ODdlMjE0ZjIwYmY5YTcyZWI4Yzg3
ZTdlNmIzZWViMDY3MzJhLi5hNDYxZDMwOGViMmFiMWNmNWEyNjA3YjVkNzAxY2Q3ZDgyM2YzMmYx
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQ2hlY2tlZE1hbGxvYy5jcHAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NoZWNrZWRNYWxsb2MuY3BwCkBAIC0zMSw4
ICszMSw4IEBACiAjaW1wb3J0ICJjb25maWcuaCIgCiAjaW1wb3J0ICJDaGVja2VkTWFsbG9jLmgi
CiAKKyNpbXBvcnQgPFdlYkNvcmUvTWFjaFZNU1BJLmg+CiAjaW1wb3J0IDxtYWNoL21hY2hfaW5p
dC5oPgotI2ltcG9ydCA8bWFjaC9tYWNoX3ZtLmg+CiAjaW1wb3J0IDxtYWNoL3ZtX3JlZ2lvbi5o
PgogI2ltcG9ydCA8bWFsbG9jL21hbGxvYy5oPgogI2ltcG9ydCA8dW5pc3RkLmg+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241803</attachid>
            <date>2014-11-18 12:43:14 -0800</date>
            <delta_ts>2014-11-18 12:56:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136487-20141118124327.patch</filename>
            <type>text/plain</type>
            <size>5509</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NjI3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE0LTExLTE4ICBEYW5pZWwg
QmF0ZXMgIDxkYmF0ZXNAd2Via2l0Lm9yZz4KKworICAgICAgICBbaU9TXSBNYWtlIFdlYkNvcmUg
YnVpbGQgYW5kIGxpbmsgd2l0aCBwdWJsaWMgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwubW06IElu
Y2x1ZGUgaGVhZGVyIE5TTWFwVGFibGVTUEkuaC4KKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL1dl
YlNjcmlwdE9iamVjdC5tbTogRGl0dG87IEFsc28gZml4IHN0eWxlIG5pdCwgc3Vic3RpdHV0ZQor
ICAgICAgICAjaW1wb3J0IGZvciAjaW5jbHVkZSB3aGVuIGltcG9ydGluZyBoZWFkZXIgV1RGU3Ry
aW5nLmguCisgICAgICAgICogYnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5tbTogSW5jbHVkZSBo
ZWFkZXIgTlNNYXBUYWJsZVNQSS5oIGFuZCByZW1vdmUKKyAgICAgICAgI2ltcG9ydCBOU01hcFRh
YmxlLmggYXMgdGhlIGZvcm1lciB3aWxsIGltcG9ydCB0aGUgbGF0dGVyLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbTogSW5jbHVkZSBoZWFkZXIgd3Rm
L0N1cnJlbnRUaW1lLmgKKyAgICAgICAgZm9yIHRoZSBkZWNsYXJhdGlvbiBvZiBXVEY6OmN1cnJl
bnRUaW1lKCkuCisgICAgICAgICogcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLm1tOiBS
ZW1vdmUgdW5uZWNlc3NhcnkgaW5jbHVkZSBvZiBoZWFkZXIgQ29yZUZvdW5kYXRpb24vQ0ZQcml2
LmguCisgICAgICAgICogcGxhdGZvcm0vc3BpL2lvcy9BVktpdFNQSS5oOiBBZGQgbW9yZSBTUEku
CisgICAgICAgICogcGxhdGZvcm0vc3BpL2lvcy9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaDog
RGl0dG8uCisKIDIwMTQtMTEtMTggIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxl
LmNvbT4KIAogICAgICAgICBTdWJjbGFzcyBDYWNoZWRGb250IGZvciBTVkcgZm9udHMKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5tbQkocmV2aXNpb24g
MTc2MjMzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5tbQko
d29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2ltcG9ydCAiV2ViU2NyaXB0T2JqZWN0
UHJpdmF0ZS5oIgogI2ltcG9ydCAicnVudGltZV9yb290LmgiCiAjaW1wb3J0IDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KKyNpbXBvcnQgPHd0Zi9zcGkvY29jb2EvTlNNYXBUYWJsZVNQSS5oPgogCiAj
aWYgUExBVEZPUk0oSU9TKQogI2RlZmluZSBORUVEU19XUkFQUEVSX0NBQ0hFX0xPQ0sgMQpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0J
KHJldmlzaW9uIDE3NjIzMykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvV2ViU2Ny
aXB0T2JqZWN0Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw4IEBACiAjaW1wb3J0IDxy
dW50aW1lL0NvbXBsZXRpb24uaD4KICNpbXBvcnQgPHd0Zi9UQ1NwaW5Mb2NrLmg+CiAjaW1wb3J0
IDx3dGYvVGhyZWFkaW5nLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisjaW1w
b3J0IDx3dGYvc3BpL2NvY29hL05TTWFwVGFibGVTUEkuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOjpCaW5kaW5nczsKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwpJbmRleDogU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19pbnN0
YW5jZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2lu
c3RhbmNlLm1tCShyZXZpc2lvbiAxNzYyMzMpCisrKyBTb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2Jq
Yy9vYmpjX2luc3RhbmNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMCArMzcsNyBAQAogI2lt
cG9ydCA8cnVudGltZS9KU0xvY2suaD4KICNpbXBvcnQgPHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBl
Lmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2lt
cG9ydCA8Rm91bmRhdGlvbi9OU01hcFRhYmxlLmg+Ci0jZW5kaWYKKyNpbXBvcnQgPHd0Zi9zcGkv
Y29jb2EvTlNNYXBUYWJsZVNQSS5oPgogCiAjaWZkZWYgTkRFQlVHCiAjZGVmaW5lIE9CSkNfTE9H
KGZvcm1hdEFuZEFyZ3MuLi4pICgodm9pZCkwKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0b3J5SU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5tbQkocmV2aXNpb24g
MTc2MjMzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtRXZlbnRGYWN0
b3J5SU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW1wb3J0ICJMb2dn
aW5nLmgiCiAjaW1wb3J0ICJXQUtBcHBLaXRTdHVicy5oIgogI2ltcG9ydCAiV2ViRXZlbnQuaCIK
KyNpbXBvcnQgPHd0Zi9DdXJyZW50VGltZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQu
bW0JKHJldmlzaW9uIDE3NjIzMykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsv
V2ViQ29yZVRocmVhZC5tbQkod29ya2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNiBAQAogI2ltcG9y
dCA8d3RmL1RocmVhZGluZy5oPgogI2ltcG9ydCA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAK
LSNpbXBvcnQgPENvcmVGb3VuZGF0aW9uL0NGUHJpdi5oPgogI2ltcG9ydCA8Rm91bmRhdGlvbi9O
U0ludm9jYXRpb24uaD4KICNpbXBvcnQgPGxpYmtlcm4vT1NBdG9taWMuaD4KICNpbXBvcnQgPG9i
amMvcnVudGltZS5oPgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9BVktp
dFNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvQVZL
aXRTUEkuaAkocmV2aXNpb24gMTc2MjMzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2lvcy9BVktpdFNQSS5oCSh3b3JraW5nIGNvcHkpCkBAIC03NiwxMSArNzYsMTcgQEAgdHlwZWRl
ZiBOU19FTlVNKE5TSW50ZWdlciwgQVZQbGF5ZXJWaWV3QwogLSAoQk9PTClwbGF5ZXJWaWV3Q29u
dHJvbGxlcjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKXBsYXllclZpZXdDb250cm9sbGVyIHNo
b3VsZEV4aXRGdWxsU2NyZWVuV2l0aFJlYXNvbjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4aXRG
dWxsU2NyZWVuUmVhc29uKXJlYXNvbjsKIEBlbmQKIAordHlwZWRlZiBOU0ludGVnZXIgQVZQbGF5
ZXJWaWV3Q29udHJvbGxlck9wdGltaXplZEZ1bGxzY3JlZW5TdG9wUmVhc29uOworCiBAaW50ZXJm
YWNlIEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKERldGFpbHMpCiAtIChpbnN0YW5jZXR5cGUpaW5p
dFdpdGhWaWRlb0xheWVyOihDQUxheWVyIDxBVlZpZGVvTGF5ZXI+ICopdmlkZW9MYXllcjsKIC0g
KHZvaWQpZW50ZXJGdWxsU2NyZWVuV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShCT09M
IHN1Y2Nlc3MsIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXI7CiAtICh2b2lkKWV4aXRGdWxs
U2NyZWVuQW5pbWF0ZWQ6KEJPT0wpYW5pbWF0ZWQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4p
KEJPT0wgc3VjY2VzcywgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKIC0gKHZvaWQpZXhp
dEZ1bGxTY3JlZW5XaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgc3VjY2Vzcywg
TlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKKworLSAodm9pZClzdGFydE9wdGltaXplZEZ1
bGxzY3JlZW5XaXRoU3RhcnRDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCBzdWNjZXNz
LCBOU0Vycm9yKikpc3RhcnRDb21wbGV0aW9uSGFuZGxlciBzdG9wQ29tcGxldGlvbkhhbmRsZXI6
KHZvaWQgKF4pKEFWUGxheWVyVmlld0NvbnRyb2xsZXJPcHRpbWl6ZWRGdWxsc2NyZWVuU3RvcFJl
YXNvbikpc3RvcENvbXBsZXRpb25IYW5kbGVyOworLSAodm9pZClzdG9wT3B0aW1pemVkRnVsbHNj
cmVlbjsKKwogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgQVZQbGF5ZXJDb250cm9sbGVy
ICpwbGF5ZXJDb250cm9sbGVyOwogQHByb3BlcnR5IChub25hdG9taWMsIHdlYWspIGlkIDxBVlBs
YXllclZpZXdDb250cm9sbGVyRGVsZWdhdGU+IGRlbGVnYXRlOwogQGVuZApJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL01QQVZSb3V0aW5nQ29u
dHJvbGxlclNQSS5oCShyZXZpc2lvbiAxNzYyMzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvaW9zL01QQVZSb3V0aW5nQ29udHJvbGxlclNQSS5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
Miw2ICszMiw3IEBACiAjZWxzZQogCiBlbnVtIHsKKyAgICBNUFJvdXRlRGlzY292ZXJ5TW9kZURp
c2FibGVkID0gMCwKICAgICBNUFJvdXRlRGlzY292ZXJ5TW9kZVByZXNlbmNlID0gMSwKICAgICBN
UFJvdXRlRGlzY292ZXJ5TW9kZURldGFpbGVkID0gMiwKIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>