<?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>120584</bug_id>
          
          <creation_ts>2013-09-01 12:20:58 -0700</creation_ts>
          <short_desc>Generate isFooElement() functions from tagname data.</short_desc>
          <delta_ts>2013-09-05 15:44:23 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>120605</dependson>
          <blocked>120297</blocked>
    
    <blocked>120676</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>923541</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-01 12:20:58 -0700</bug_when>
    <thetext>Generate isFooElement() functions from tagname data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923547</commentid>
    <comment_count>1</comment_count>
      <attachid>210253</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-01 12:38:27 -0700</bug_when>
    <thetext>Created attachment 210253
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923548</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-01 12:40:17 -0700</bug_when>
    <thetext>Attachment 210253 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/GNUmakefile.am&apos;, u&apos;Source/WebCore/GNUmakefile.list.am&apos;, u&apos;Source/WebCore/WebCore.vcxproj/WebCore.vcxproj&apos;, u&apos;Source/WebCore/WebCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebCore/dom/make_names.pl&apos;, u&apos;Source/WebCore/html/HTMLAnchorElement.h&apos;, u&apos;Source/WebCore/html/HTMLAreaElement.h&apos;, u&apos;Source/WebCore/html/HTMLAudioElement.h&apos;, u&apos;Source/WebCore/html/HTMLBaseElement.h&apos;, u&apos;Source/WebCore/html/HTMLCanvasElement.h&apos;, u&apos;Source/WebCore/html/HTMLElement.h&apos;, u&apos;Source/WebCore/html/HTMLFieldSetElement.h&apos;, u&apos;Source/WebCore/html/HTMLFormElement.h&apos;, u&apos;Source/WebCore/html/HTMLFrameSetElement.h&apos;, u&apos;Source/WebCore/html/HTMLImageElement.h&apos;, u&apos;Source/WebCore/html/HTMLInputElement.h&apos;, u&apos;Source/WebCore/html/HTMLLabelElement.h&apos;, u&apos;Source/WebCore/html/HTMLLegendElement.h&apos;, u&apos;Source/WebCore/html/HTMLMapElement.h&apos;, u&apos;Source/WebCore/html/HTMLMeterElement.h&apos;, u&apos;Source/WebCore/html/HTMLOptGroupElement.h&apos;, u&apos;Source/WebCore/html/HTMLOptionElement.h&apos;, u&apos;Source/WebCore/html/HTMLParamElement.h&apos;, u&apos;Source/WebCore/html/HTMLProgressElement.h&apos;, u&apos;Source/WebCore/html/HTMLScriptElement.h&apos;, u&apos;Source/WebCore/html/HTMLSourceElement.h&apos;, u&apos;Source/WebCore/html/HTMLStyleElement.h&apos;, u&apos;Source/WebCore/html/HTMLTableElement.h&apos;, u&apos;Source/WebCore/html/HTMLTableRowElement.h&apos;, u&apos;Source/WebCore/html/HTMLTagNames.in&apos;, u&apos;Source/WebCore/html/HTMLTextAreaElement.h&apos;, u&apos;Source/WebCore/html/HTMLTitleElement.h&apos;, u&apos;Source/WebCore/html/HTMLTrackElement.h&apos;, u&apos;Source/WebCore/svg/SVGElement.h&apos;, u&apos;Source/WebCore/svg/SVGFontElement.h&apos;, u&apos;Source/WebCore/svg/SVGFontFaceElement.h&apos;, u&apos;Source/WebCore/svg/SVGForeignObjectElement.h&apos;, u&apos;Source/WebCore/svg/SVGImageElement.h&apos;, u&apos;Source/WebCore/svg/SVGScriptElement.h&apos;, u&apos;Source/WebCore/svg/svgtags.in&apos;]&quot; exit_code: 1
Source/WebCore/html/HTMLElement.h:27:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 10 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>923553</commentid>
    <comment_count>3</comment_count>
      <attachid>210253</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-09-01 12:57:51 -0700</bug_when>
    <thetext>Comment on attachment 210253
Patch

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

r=me, nice, so much red!

&gt; Source/WebCore/dom/make_names.pl:648
&gt; +sub printTypeChecksHeaderFile
&gt; +{
&gt; +    my ($headerPath) = shift;
&gt; +    my $F;
&gt; +    open F, &quot;&gt;$headerPath&quot;;
&gt; +    printLicenseHeader($F);
&gt; +

Could this include some information about how the file was generated on top of the header?

&gt; Source/WebCore/html/HTMLTagNames.in:27
&gt;  body
&gt;  br interfaceName=HTMLBRElement
&gt;  button constructorNeedsFormElement
&gt; -canvas
&gt; +canvas generateTypeChecks
&gt;  caption interfaceName=HTMLTableCaptionElement

It would nice to get these for all types where it works (either automatically or adding generateTypeChecks). It is kinda non-obvious you need to locate this file and add some magic keywords to fix the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923555</commentid>
    <comment_count>4</comment_count>
      <attachid>210253</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-01 13:17:11 -0700</bug_when>
    <thetext>Comment on attachment 210253
Patch

Attachment 210253 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1641775</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923556</commentid>
    <comment_count>5</comment_count>
      <attachid>210253</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-01 13:21:27 -0700</bug_when>
    <thetext>Comment on attachment 210253
Patch

Attachment 210253 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/1657705</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923713</commentid>
    <comment_count>6</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-02 08:11:37 -0700</bug_when>
    <thetext>Committed r154955: &lt;http://trac.webkit.org/changeset/154955&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923717</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-02 08:15:58 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 120605</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923727</commentid>
    <comment_count>8</comment_count>
      <attachid>210289</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-02 08:31:15 -0700</bug_when>
    <thetext>Created attachment 210289
Patch for landing?

Xcode4 on bots didn&apos;t like my xcodeproj despite it building fine locally :(
Let&apos;s see if this works better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923728</commentid>
    <comment_count>9</comment_count>
      <attachid>210289</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-02 08:32:59 -0700</bug_when>
    <thetext>Comment on attachment 210289
Patch for landing?

Rejecting attachment 210289 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 210289, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.

Full output: http://webkit-queues.appspot.com/results/1688031</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923729</commentid>
    <comment_count>10</comment_count>
      <attachid>210290</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-02 08:33:49 -0700</bug_when>
    <thetext>Created attachment 210290
No? This time?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923730</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-02 08:34:54 -0700</bug_when>
    <thetext>Attachment 210290 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/GNUmakefile.am&apos;, u&apos;Source/WebCore/GNUmakefile.list.am&apos;, u&apos;Source/WebCore/WebCore.vcxproj/WebCore.vcxproj&apos;, u&apos;Source/WebCore/WebCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebCore/dom/make_names.pl&apos;, u&apos;Source/WebCore/html/HTMLAnchorElement.h&apos;, u&apos;Source/WebCore/html/HTMLAreaElement.h&apos;, u&apos;Source/WebCore/html/HTMLAudioElement.h&apos;, u&apos;Source/WebCore/html/HTMLBaseElement.h&apos;, u&apos;Source/WebCore/html/HTMLCanvasElement.h&apos;, u&apos;Source/WebCore/html/HTMLElement.h&apos;, u&apos;Source/WebCore/html/HTMLFieldSetElement.h&apos;, u&apos;Source/WebCore/html/HTMLFormElement.h&apos;, u&apos;Source/WebCore/html/HTMLFrameSetElement.h&apos;, u&apos;Source/WebCore/html/HTMLImageElement.h&apos;, u&apos;Source/WebCore/html/HTMLInputElement.h&apos;, u&apos;Source/WebCore/html/HTMLLabelElement.h&apos;, u&apos;Source/WebCore/html/HTMLLegendElement.h&apos;, u&apos;Source/WebCore/html/HTMLMapElement.h&apos;, u&apos;Source/WebCore/html/HTMLMeterElement.h&apos;, u&apos;Source/WebCore/html/HTMLOptGroupElement.h&apos;, u&apos;Source/WebCore/html/HTMLOptionElement.h&apos;, u&apos;Source/WebCore/html/HTMLParamElement.h&apos;, u&apos;Source/WebCore/html/HTMLProgressElement.h&apos;, u&apos;Source/WebCore/html/HTMLScriptElement.h&apos;, u&apos;Source/WebCore/html/HTMLSourceElement.h&apos;, u&apos;Source/WebCore/html/HTMLStyleElement.h&apos;, u&apos;Source/WebCore/html/HTMLTableElement.h&apos;, u&apos;Source/WebCore/html/HTMLTableRowElement.h&apos;, u&apos;Source/WebCore/html/HTMLTagNames.in&apos;, u&apos;Source/WebCore/html/HTMLTextAreaElement.h&apos;, u&apos;Source/WebCore/html/HTMLTitleElement.h&apos;, u&apos;Source/WebCore/html/HTMLTrackElement.h&apos;, u&apos;Source/WebCore/svg/SVGElement.h&apos;, u&apos;Source/WebCore/svg/SVGFontElement.h&apos;, u&apos;Source/WebCore/svg/SVGFontFaceElement.h&apos;, u&apos;Source/WebCore/svg/SVGForeignObjectElement.h&apos;, u&apos;Source/WebCore/svg/SVGImageElement.h&apos;, u&apos;Source/WebCore/svg/SVGScriptElement.h&apos;, u&apos;Source/WebCore/svg/svgtags.in&apos;]&quot; exit_code: 1
Source/WebCore/html/HTMLElement.h:28:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 10 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>923738</commentid>
    <comment_count>12</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-02 08:56:41 -0700</bug_when>
    <thetext>Oh wow I see the problem. I am an idiot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923750</commentid>
    <comment_count>13</comment_count>
      <attachid>210295</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-02 09:30:54 -0700</bug_when>
    <thetext>Created attachment 210295
Without kling-relative paths :|</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923751</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-02 09:32:22 -0700</bug_when>
    <thetext>Attachment 210295 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/GNUmakefile.am&apos;, u&apos;Source/WebCore/GNUmakefile.list.am&apos;, u&apos;Source/WebCore/WebCore.vcxproj/WebCore.vcxproj&apos;, u&apos;Source/WebCore/WebCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebCore/dom/make_names.pl&apos;, u&apos;Source/WebCore/html/HTMLAnchorElement.h&apos;, u&apos;Source/WebCore/html/HTMLAreaElement.h&apos;, u&apos;Source/WebCore/html/HTMLAudioElement.h&apos;, u&apos;Source/WebCore/html/HTMLBaseElement.h&apos;, u&apos;Source/WebCore/html/HTMLCanvasElement.h&apos;, u&apos;Source/WebCore/html/HTMLElement.h&apos;, u&apos;Source/WebCore/html/HTMLFieldSetElement.h&apos;, u&apos;Source/WebCore/html/HTMLFormElement.h&apos;, u&apos;Source/WebCore/html/HTMLFrameSetElement.h&apos;, u&apos;Source/WebCore/html/HTMLImageElement.h&apos;, u&apos;Source/WebCore/html/HTMLInputElement.h&apos;, u&apos;Source/WebCore/html/HTMLLabelElement.h&apos;, u&apos;Source/WebCore/html/HTMLLegendElement.h&apos;, u&apos;Source/WebCore/html/HTMLMapElement.h&apos;, u&apos;Source/WebCore/html/HTMLMeterElement.h&apos;, u&apos;Source/WebCore/html/HTMLOptGroupElement.h&apos;, u&apos;Source/WebCore/html/HTMLOptionElement.h&apos;, u&apos;Source/WebCore/html/HTMLParamElement.h&apos;, u&apos;Source/WebCore/html/HTMLProgressElement.h&apos;, u&apos;Source/WebCore/html/HTMLScriptElement.h&apos;, u&apos;Source/WebCore/html/HTMLSourceElement.h&apos;, u&apos;Source/WebCore/html/HTMLStyleElement.h&apos;, u&apos;Source/WebCore/html/HTMLTableElement.h&apos;, u&apos;Source/WebCore/html/HTMLTableRowElement.h&apos;, u&apos;Source/WebCore/html/HTMLTagNames.in&apos;, u&apos;Source/WebCore/html/HTMLTextAreaElement.h&apos;, u&apos;Source/WebCore/html/HTMLTitleElement.h&apos;, u&apos;Source/WebCore/html/HTMLTrackElement.h&apos;, u&apos;Source/WebCore/svg/SVGElement.h&apos;, u&apos;Source/WebCore/svg/SVGFontElement.h&apos;, u&apos;Source/WebCore/svg/SVGFontFaceElement.h&apos;, u&apos;Source/WebCore/svg/SVGForeignObjectElement.h&apos;, u&apos;Source/WebCore/svg/SVGImageElement.h&apos;, u&apos;Source/WebCore/svg/SVGScriptElement.h&apos;, u&apos;Source/WebCore/svg/svgtags.in&apos;]&quot; exit_code: 1
Source/WebCore/html/HTMLElement.h:28:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 10 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>923759</commentid>
    <comment_count>15</comment_count>
      <attachid>210295</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-02 10:05:27 -0700</bug_when>
    <thetext>Comment on attachment 210295
Without kling-relative paths :|

Rejecting attachment 210295 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=release&apos;, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
mmands failed:
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/Objects-normal/x86_64/WebChromeClient.o mac/WebCoreSupport/WebChromeClient.mm normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/Objects-normal/x86_64/WebFrameLoaderClient.o mac/WebCoreSupport/WebFrameLoaderClient.mm normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
(2 failures)

Full output: http://webkit-queues.appspot.com/results/1680520</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923760</commentid>
    <comment_count>16</comment_count>
      <attachid>210295</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-02 10:09:49 -0700</bug_when>
    <thetext>Comment on attachment 210295
Without kling-relative paths :|

Attachment 210295 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1684059</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923764</commentid>
    <comment_count>17</comment_count>
      <attachid>210295</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-02 10:16:50 -0700</bug_when>
    <thetext>Comment on attachment 210295
Without kling-relative paths :|

Attachment 210295 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/1689028</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923766</commentid>
    <comment_count>18</comment_count>
      <attachid>210299</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-02 10:23:25 -0700</bug_when>
    <thetext>Created attachment 210299
With HTMLElementTypeChecks.h copied to privateheaders</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923769</commentid>
    <comment_count>19</comment_count>
      <attachid>210299</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-02 10:58:01 -0700</bug_when>
    <thetext>Comment on attachment 210299
With HTMLElementTypeChecks.h copied to privateheaders

Rejecting attachment 210299 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=release&apos;, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
ommands failed:
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/Objects-normal/x86_64/WebChromeClient.o mac/WebCoreSupport/WebChromeClient.mm normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/Objects-normal/x86_64/WebFullScreenController.o mac/WebView/WebFullScreenController.mm normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
(2 failures)

Full output: http://webkit-queues.appspot.com/results/1609997</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923787</commentid>
    <comment_count>20</comment_count>
      <attachid>210304</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-02 11:55:25 -0700</bug_when>
    <thetext>Created attachment 210304
Patch for landing...

I wonder how my local environment can be this robust against mistakes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923803</commentid>
    <comment_count>21</comment_count>
      <attachid>210304</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-02 13:09:07 -0700</bug_when>
    <thetext>Comment on attachment 210304
Patch for landing...

Clearing flags on attachment: 210304

Committed r154965: &lt;http://trac.webkit.org/changeset/154965&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923804</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-02 13:09:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210253</attachid>
            <date>2013-09-01 12:38:27 -0700</date>
            <delta_ts>2013-09-02 08:31:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120584.diff</filename>
            <type>text/plain</type>
            <size>42497</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlN2VjZjlhLi4xMTBiOTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkg
QEAKKzIwMTMtMDktMDEgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIEdlbmVyYXRlIGlzRm9vRWxlbWVudCgpIGZ1bmN0aW9ucyBmcm9tIHRhZ25hbWUgZGF0YS4K
KyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyMDU4ND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSAiZ2VuZXJhdGVUeXBlQ2hlY2tz
IiBhdHRyaWJ1dGUgdGhhdCBjYW4gYmUgdXNlZCBpbiBIVE1MVGFnTmFtZXMuaW4gJiBmcmllbmRz
LgorICAgICAgICBJZiBwcmVzZW50LCBpc0Zvb0VsZW1lbnQoKSBzdHlsZSBoZWxwZXJzIHdpbGwg
YmUgYWRkZWQgdG8gSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmguCisgICAgICAgIFRoaXMgYWxzbyBv
dXRwdXRzIGFuIGlzRWxlbWVudE9mVHlwZTxUPiBjaGVjayBmb3IgdGhlIEVsZW1lbnQgaXRlcmF0
b3JzLgorCisgICAgICAgIFJlbW92ZWQgYWxsIHRoZSBoYW5kLXdyaXR0ZW4gaXNGb29FbGVtZW50
KCkgZnVuY3Rpb25zIHRoYXQgb25seSBjaGVja2VkIHRhZyBuYW1lLgorCisgICAgICAgICogaHRt
bC9IVE1MVGFnTmFtZXMuaW46CisgICAgICAgICogc3ZnL3N2Z3RhZ3MuaW46CisKKyAgICAgICAg
ICAgIEFkZGVkICJnZW5lcmF0ZVR5cGVDaGVja3MiIGF0dHJpYnV0ZSBhcyBhcHByb3ByaWF0ZS4K
KworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3Qu
YW06CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgICAgIEFkZGVk
IHRvIGJ1aWxkIHN5c3RlbXMgYmFzZWQgb24gaG93IEhUTUxOYW1lcy5oIHdhcyBkb25lLgorICAg
ICAgICAgICAgV2UncmUganVzdCBvdXRwdXR0aW5nIGFuIGFkZGl0aW9uYWwgaGVhZGVyIGZpbGUg
aW4gdGhlIGdlbmVyYXRlZCBjb2RlIGRpcmVjdG9yeQorICAgICAgICAgICAgc28gSSBzdXNwZWN0
IG1vc3QgcG9ydHMgd2lsbCBqdXN0IHBpY2sgdGhpcyB1cCBhdXRvbWFnaWNhbGx5LgorCisgICAg
ICAgICogZG9tL21ha2VfbmFtZXMucGw6CisgICAgICAgIChkZWZhdWx0VGFnUHJvcGVydHlIYXNo
KToKKyAgICAgICAgKHByaW50TGljZW5zZUhlYWRlcik6CisgICAgICAgIChwcmludFR5cGVDaGVj
a3MpOgorICAgICAgICAocHJpbnRUeXBlQ2hlY2tzSGVhZGVyRmlsZSk6CisKKyAgICAgICAgICAg
IEdlbmVyYXRlIGEgc2VwYXJhdGUgZmlsZSBmb3IgZWFjaCBuYW1lc3BhY2Ugd2l0aCBpc0Zvb0Vs
ZW1lbnQoKSBoZWxwZXJzIGZvcgorICAgICAgICAgICAgZWxlbWVudHMgd2l0aCAiZ2VuZXJhdGVU
eXBlQ2hlY2tzIiBhdHRyaWJ1dGUgc2V0LgorCiAyMDEzLTA5LTAxICBYYWJpZXIgUm9kcmlndWV6
IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgVm9sdW1lIHNsaWRlciB2
YWx1ZSBzaG91bGQgYmUgMCB3aGVuIGF1ZGlvIGlzIG11dGVkCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmlu
ZGV4IDRkN2UxODAuLmE0Yjg4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yOTgsNiArMjk4
LDcgQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9QbHVnSW5zUmVzb3VyY2VzLmg6ICQoV2ViQ29y
ZSkvY3NzL21ha2UtY3NzLWZpbGUtYXJyYXlzLnAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNI
VE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1M
RWxlbWVudEZhY3RvcnkuY3BwCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxFbGVtZW50RmFj
dG9yeS5jcHA6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTEVsZW1lbnRGYWN0b3J5LmgKIERl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTEVsZW1lbnRGYWN0b3J5Lmg6IERlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSFRNTE5hbWVzLmNwcAorRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MRWxlbWVu
dFR5cGVDaGVja3MuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaAogRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuY3BwOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hU
TUxOYW1lcy5oCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5oOiAkKFdlYkNvcmUp
L2RvbS9tYWtlX25hbWVzLnBsICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cy9IYXNoZXIucG0g
JChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL1N0YXRpY1N0cmluZy5wbSAkKFdlYkNvcmUpL2h0
bWwvSFRNTFRhZ05hbWVzLmluICQoV2ViQ29yZSkvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4K
IAkkKEFNX1ZfR0VOKSQoUEVSTCkgLUkkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMgJDwgLS10
YWdzICQoV2ViQ29yZSkvaHRtbC9IVE1MVGFnTmFtZXMuaW4gLS1hdHRycyAkKFdlYkNvcmUpL2h0
bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIC0tZXh0cmFEZWZpbmVzICIkKGZlYXR1cmVfZGVmaW5l
cykiIC0tZmFjdG9yeSAtLXdyYXBwZXJGYWN0b3J5IC0tb3V0cHV0RGlyICIkKEdFTlNPVVJDRVNf
V0VCQ09SRSkiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBlZWZjOTA2Li5iZGY3
YjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTE1LDYgKzE1LDcgQEAgd2Vi
Y29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0V4Y2VwdGlv
bkludGVyZmFjZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MRWxlbWVudEZhY3Rv
cnkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxFbGVtZW50RmFjdG9yeS5oIFwK
KwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxFbGVtZW50VHlwZUNoZWNrcy5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0hUTUxFbnRpdHlUYWJsZS5jcHAgXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFt
ZXMuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agppbmRleCAwMDJiMzc1Li4wYjQ0ZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTE4MjQxLDYgKzE4MjQxLDcgQEAKICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJj
aGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xFeGNlcHRpb25IZWFkZXJz
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
RXhjZXB0aW9uSW50ZXJmYWNlcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEhUTUxFbGVtZW50RmFjdG9yeS5oIiAvPgorICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRl
Y3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEhUTUxFbGVtZW50VHlwZUNoZWNr
cy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIp
XG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEhUTUxOYW1lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlU291cmNlLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFy
Y2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSW5qZWN0ZWRTY3JpcHRT
b3VyY2UuaCIgLz4KQEAgLTE4Njk4LDYgKzE4Njk5LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xNYXRoTUxFbGVtZW50RmFjdG9yeS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxh
dGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXE1hdGhNTE5h
bWVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcU1ZHRWxlbWVudEZhY3RvcnkuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xTVkdFbGVtZW50VHlwZUNoZWNrcy5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNo
aXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFNWR05hbWVzLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0
Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcVXNlckFnZW50
U3R5bGVTaGVldHMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xXZWJLaXRGb250RmFtaWx5TmFtZXMuaCIgLz4KQEAgLTIxNDA2LDQgKzIxNDA4
LDQgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8SW1w
b3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNtLnRh
cmdldHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGRhM2ZmMjguLjIxY2MwYWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ1MDEs
NiArNDUwMSw4IEBACiAJCUI1NUQ1QUE0MTE5MTMxRkMwMEJDQzMxNSAvKiBKU1NRTFRyYW5zYWN0
aW9uU3luY0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCNTVENUFBMjExOTEzMUZDMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmND
YWxsYmFjay5oICovOyB9OwogCQlCNTVENUFBNTExOTEzMUZDMDBCQ0MzMTUgLyogSlNTUUxUcmFu
c2FjdGlvblN5bmNDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCNTVENUFBMzExOTEzMUZDMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlv
blN5bmNDYWxsYmFjay5jcHAgKi87IH07CiAJCUI1NUQ1QUE5MTE5MTMyNTAwMEJDQzMxNSAvKiBK
U1NRTFRyYW5zYWN0aW9uU3luY0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCNTVENUFBNzExOTEzMjUwMDBCQ0MzMTUgLyogSlNTUUxUcmFu
c2FjdGlvblN5bmNDdXN0b20uY3BwICovOyB9OworCQlCNTYyREI2MDE3RDNDRDYzMDAxMEFGOTYg
LyogSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCNTYyREI1RTE3RDNDRDU2MDAxMEFGOTYgLyogSFRNTEVsZW1lbnRU
eXBlQ2hlY2tzLmggKi87IH07CisJCUI1NjJEQjYxMTdEM0NENjYwMDEwQUY5NiAvKiBTVkdFbGVt
ZW50VHlwZUNoZWNrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjU2MkRCNUYxN0QzQ0Q1NjAwMTBBRjk2IC8qIFNWR0VsZW1lbnRUeXBlQ2hlY2tzLmgg
Ki87IH07CiAJCUI1OENFQjY5MTE5MTM2MDcwMDJBNjc5MCAvKiBKU0RhdGFiYXNlU3luYy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU4Q0VCNjcxMTkx
MzYwNzAwMkE2NzkwIC8qIEpTRGF0YWJhc2VTeW5jLmggKi87IH07CiAJCUI1OENFQjZBMTE5MTM2
MDcwMDJBNjc5MCAvKiBKU0RhdGFiYXNlU3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNThDRUI2ODExOTEzNjA3MDAyQTY3OTAgLyogSlNEYXRh
YmFzZVN5bmMuY3BwICovOyB9OwogCQlCNThDRUI2RDExOTEzNjFDMDAyQTY3OTAgLyogSlNTUUxU
cmFuc2FjdGlvblN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEI1OENFQjZCMTE5MTM2MUMwMDJBNjc5MCAvKiBKU1NRTFRyYW5zYWN0aW9uU3luYy5o
ICovOyB9OwpAQCAtMTExNTEsNiArMTExNTMsOCBAQAogCQlCNTVENUFBMjExOTEzMUZDMDBCQ0Mz
MTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUI1NUQ1QUEzMTE5MTMxRkMwMEJDQzMxNSAvKiBKU1NRTFRyYW5z
YWN0aW9uU3luY0NhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCNTVENUFBNzExOTEzMjUwMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5
bmNDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTUUxU
cmFuc2FjdGlvblN5bmNDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
NTYyREI1RTE3RDNDRDU2MDAxMEFGOTYgLyogSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IEhUTUxFbGVtZW50VHlwZUNoZWNrcy5oOyBwYXRoID0gLi4vLi4vLi4vLi4vLi4v
Li4vLi4vLi4vLi4vLi4vLi4vQnVpbGQvRGVidWcvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1M
RWxlbWVudFR5cGVDaGVja3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjU2MkRC
NUYxN0QzQ0Q1NjAwMTBBRjk2IC8qIFNWR0VsZW1lbnRUeXBlQ2hlY2tzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IFNWR0VsZW1lbnRUeXBlQ2hlY2tzLmg7IHBhdGggPSAuLi8uLi8uLi8uLi8uLi8uLi8uLi8u
Li8uLi8uLi8uLi9CdWlsZC9EZWJ1Zy9EZXJpdmVkU291cmNlcy9XZWJDb3JlL1NWR0VsZW1lbnRU
eXBlQ2hlY2tzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI1OENFQjY3MTE5MTM2
MDcwMDJBNjc5MCAvKiBKU0RhdGFiYXNlU3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0RhdGFiYXNlU3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
NThDRUI2ODExOTEzNjA3MDAyQTY3OTAgLyogSlNEYXRhYmFzZVN5bmMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEYXRhYmFzZVN5bmMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCNThDRUI2QjExOTEzNjFDMDAyQTY3OTAgLyogSlNTUUxUcmFu
c2FjdGlvblN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTUUxUcmFu
c2FjdGlvblN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MzU5LDYgKzE0
MzYzLDggQEAKIAkJNjU2NTgwRUMwOUQxMkIyMDAwMEU2MUQ3IC8qIERlcml2ZWQgU291cmNlcyAq
LyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQjU2MkRCNUUx
N0QzQ0Q1NjAwMTBBRjk2IC8qIEhUTUxFbGVtZW50VHlwZUNoZWNrcy5oICovLAorCQkJCUI1NjJE
QjVGMTdEM0NENTYwMDEwQUY5NiAvKiBTVkdFbGVtZW50VHlwZUNoZWNrcy5oICovLAogCQkJCTY1
NjU4MUFDMDlEMTRFRTYwMDBFNjFENyAvKiBDaGFyc2V0RGF0YS5jcHAgKi8sCiAJCQkJRTQwNkYz
RkIxMTk4MzA3RDAwOUQ1OUQ2IC8qIENvbG9yRGF0YS5jcHAgKi8sCiAJCQkJNjU2NTgxNDQwOUQx
MzA0MzAwMEU2MUQ3IC8qIENTU0dyYW1tYXIuY3BwICovLApAQCAtMjEzMzYsNiArMjEzNDIsNyBA
QAogCQkJCTg1OTA5Q0RDMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NDaGFyc2V0UnVsZUludGVy
bmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMkREOTBBQThDOUJFMDA3RDNCN0QgLyogRE9N
Q1NTRm9udEZhY2VSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTkwOUNERDBBQ0M3QTdFMDBE
RjAxRjEgLyogRE9NQ1NTRm9udEZhY2VSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUI1NjJEQjYxMTdEM0NENjYwMDEwQUY5NiAvKiBTVkdFbGVtZW50VHlwZUNoZWNrcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODUwMzJEREIwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0ltcG9ydFJ1
bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1OTA5Q0RFMEFDQzdBN0UwMERGMDFGMSAvKiBET01D
U1NJbXBvcnRSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMyREREMEFBOEM5
QkUwMDdEM0I3RCAvKiBET01DU1NNZWRpYVJ1bGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjI3MzUs
NiArMjI3NDIsNyBAQAogCQkJCThDMEUzMzRGMTM4QTkyQzcwMDhEQTk0RiAvKiBMZXZlbERCV3Jp
dGVCYXRjaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEOTExMjQ4RjBCMzAwRDNBOUM5IC8q
IExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzk2NTBEMDBCRjIyMDA3MUI3
ODIgLyogTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlCNTYy
REI2MDE3RDNDRDYzMDAxMEFGOTYgLyogSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBNUFCQjc4NzEzQjkwNEJDMDBGMTk3RTMgLyogTGluZUJyZWFrSXRlcmF0b3JQ
b29sSUNVLmggaW4gSGVhZGVycyAqLywKIAkJCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyog
TGluZUNsYW1wVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5QjVFQUEyMTFFODAwM0QwMEYy
MzY3RSAvKiBMaW5lRW5kaW5nLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMu
cGwKaW5kZXggNDA3ODI0MS4uOTgxOTNkYiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L21ha2VfbmFtZXMucGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKQEAg
LTE1NSwxMiArMTU1LDE0IEBAIGRpZSAiWW91IG11c3Qgc3BlY2lmeSBhIG5hbWVzcGFjZVVSSSAo
ZS5nLiBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZykiIHVubGVzcyAkCiAkcGFyYW1ldGVyc3tu
YW1lc3BhY2VQcmVmaXh9ID0gJHBhcmFtZXRlcnN7bmFtZXNwYWNlfSB1bmxlc3MgJHBhcmFtZXRl
cnN7bmFtZXNwYWNlUHJlZml4fTsKICRwYXJhbWV0ZXJze2ZhbGxiYWNrSlNJbnRlcmZhY2VOYW1l
fSA9ICRwYXJhbWV0ZXJze2ZhbGxiYWNrSW50ZXJmYWNlTmFtZX0gdW5sZXNzICRwYXJhbWV0ZXJz
e2ZhbGxiYWNrSlNJbnRlcmZhY2VOYW1lfTsKIAorbXkgJHR5cGVDaGVja3NCYXNlUGF0aCA9ICIk
b3V0cHV0RGlyLyRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVtZW50VHlwZUNoZWNrcyI7CiBteSAk
bmFtZXNCYXNlUGF0aCA9ICIkb3V0cHV0RGlyLyRwYXJhbWV0ZXJze25hbWVzcGFjZX1OYW1lcyI7
CiBteSAkZmFjdG9yeUJhc2VQYXRoID0gIiRvdXRwdXREaXIvJHBhcmFtZXRlcnN7bmFtZXNwYWNl
fUVsZW1lbnRGYWN0b3J5IjsKIG15ICR3cmFwcGVyRmFjdG9yeUZpbGVOYW1lID0gIiRwYXJhbWV0
ZXJze25hbWVzcGFjZX1FbGVtZW50V3JhcHBlckZhY3RvcnkiOwogCiBwcmludE5hbWVzSGVhZGVy
RmlsZSgiJG5hbWVzQmFzZVBhdGguaCIpOwogcHJpbnROYW1lc0NwcEZpbGUoIiRuYW1lc0Jhc2VQ
YXRoLmNwcCIpOworcHJpbnRUeXBlQ2hlY2tzSGVhZGVyRmlsZSgiJHR5cGVDaGVja3NCYXNlUGF0
aC5oIik7CiAKIGlmICgkcHJpbnRGYWN0b3J5KSB7CiAgICAgcHJpbnRGYWN0b3J5Q3BwRmlsZSgi
JGZhY3RvcnlCYXNlUGF0aC5jcHAiKTsKQEAgLTE4Nyw3ICsxODksOCBAQCBzdWIgZGVmYXVsdFRh
Z1Byb3BlcnR5SGFzaAogICAgICAgICAnd3JhcHBlck9ubHlJZk1lZGlhSXNBdmFpbGFibGUnID0+
IDAsCiAgICAgICAgICdjb25kaXRpb25hbCcgPT4gMCwKICAgICAgICAgJ2NvbnRleHRDb25kaXRp
b25hbCcgPT4gMCwKLSAgICAgICAgJ3J1bnRpbWVDb25kaXRpb25hbCcgPT4gMAorICAgICAgICAn
cnVudGltZUNvbmRpdGlvbmFsJyA9PiAwLAorICAgICAgICAnZ2VuZXJhdGVUeXBlQ2hlY2tzJyA9
PiAwCiAgICAgKTsKIH0KIApAQCAtNTg2LDcgKzU4OSw3IEBAIHN1YiBwcmludExpY2Vuc2VIZWFk
ZXIKICAqCiAgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgZG9tL21ha2VfbmFtZXMu
cGwgc2NyaXB0LgogICoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwg
MjAwOSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEzIEFwcGxlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTYxMyw2ICs2MTYs
NTAgQEAgc3ViIHByaW50TGljZW5zZUhlYWRlcgogIjsKIH0KIAorc3ViIHByaW50VHlwZUNoZWNr
cworeworICAgIG15ICgkRiwgJG5hbWVzUmVmKSA9IEBfOworICAgIG15ICVuYW1lcyA9ICUkbmFt
ZXNSZWY7CisKKyAgICBmb3IgbXkgJG5hbWUgKHNvcnQga2V5cyAlbmFtZXMpIHsKKyAgICAgICAg
aWYgKCRwYXJzZWRUYWdzeyRuYW1lfXtnZW5lcmF0ZVR5cGVDaGVja3N9ICE9IDEpIHsKKyAgICAg
ICAgICAgIG5leHQ7CisgICAgICAgIH0KKworICAgICAgICBteSAkY2xhc3MgPSAkcGFyc2VkVGFn
c3skbmFtZX17aW50ZXJmYWNlTmFtZX07CisgICAgICAgIG15ICRoZWxwZXIgPSAiaXMkY2xhc3Mi
OworCisgICAgICAgIHByaW50IEYgImNsYXNzICRjbGFzcztcbiI7CisgICAgICAgIHByaW50IEYg
ImlubGluZSBib29sICRoZWxwZXIoY29uc3QgRWxlbWVudCYgZWxlbWVudCkgeyByZXR1cm4gZWxl
bWVudC5oYXNUYWdOYW1lKCIuJHBhcmFtZXRlcnN7bmFtZXNwYWNlfS4iTmFtZXM6OiIuJG5hbWUu
IlRhZyk7IH1cbiI7CisgICAgICAgIHByaW50IEYgImlubGluZSBib29sICRoZWxwZXIoY29uc3Qg
RWxlbWVudCogZWxlbWVudCkgeyBBU1NFUlQoZWxlbWVudCk7IHJldHVybiAkaGVscGVyKCplbGVt
ZW50KTsgfVxuIjsKKyAgICAgICAgcHJpbnQgRiAiaW5saW5lIGJvb2wgJGhlbHBlcihjb25zdCBO
b2RlKiBub2RlKSB7IEFTU0VSVChub2RlKTsgcmV0dXJuIG5vZGUtPmlzRWxlbWVudE5vZGUoKSAm
JiAkaGVscGVyKHRvRWxlbWVudChub2RlKSk7IH1cbiI7CisgICAgICAgIHByaW50IEYgInRlbXBs
YXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTwkY2xhc3M+KGNvbnN0IEVsZW1lbnQq
IGVsZW1lbnQpIHsgcmV0dXJuICRoZWxwZXIoZWxlbWVudCk7IH1cbiI7CisKKyAgICAgICAgcHJp
bnQgRiAiXG4iOworICAgIH0KK30KKworc3ViIHByaW50VHlwZUNoZWNrc0hlYWRlckZpbGUKK3sK
KyAgICBteSAoJGhlYWRlclBhdGgpID0gc2hpZnQ7CisgICAgbXkgJEY7CisgICAgb3BlbiBGLCAi
PiRoZWFkZXJQYXRoIjsKKyAgICBwcmludExpY2Vuc2VIZWFkZXIoJEYpOworCisgICAgcHJpbnQg
RiAiI2lmbmRlZiAiLiRwYXJhbWV0ZXJze25hbWVzcGFjZX0uIkVsZW1lbnRUeXBlQ2hlY2tzX2hc
biI7CisgICAgcHJpbnQgRiAiI2RlZmluZSAiLiRwYXJhbWV0ZXJze25hbWVzcGFjZX0uIkVsZW1l
bnRUeXBlQ2hlY2tzX2hcblxuIjsKKyAgICBwcmludCBGICIjaW5jbHVkZSBcImNvbmZpZy5oXCJc
biI7CisgICAgcHJpbnQgRiAiI2luY2x1ZGUgXCIiLiRwYXJhbWV0ZXJze25hbWVzcGFjZX0uIk5h
bWVzLmhcIlxuXG4iOworICAgIHByaW50IEYgIm5hbWVzcGFjZSBXZWJDb3JlIHtcblxuIjsKKwor
ICAgIHByaW50VHlwZUNoZWNrcygkRiwgXCVhbGxUYWdzKTsKKworICAgIHByaW50IEYgIn1cblxu
IjsKKyAgICBwcmludCBGICIjZW5kaWZcbiI7CisKKyAgICBjbG9zZSBGOworfQorCiBzdWIgcHJp
bnROYW1lc0hlYWRlckZpbGUKIHsKICAgICBteSAoJGhlYWRlclBhdGgpID0gc2hpZnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKaW5kZXggY2Y0Njk0OC4uZDRhZDY5YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaApAQCAtMTQ5LDI0ICsxNDks
MTIgQEAgaW5saW5lIExpbmtIYXNoIEhUTUxBbmNob3JFbGVtZW50Ojp2aXNpdGVkTGlua0hhc2go
KSBjb25zdAogICAgIHJldHVybiBtX2NhY2hlZFZpc2l0ZWRMaW5rSGFzaDsgCiB9CiAKLWlubGlu
ZSBib29sIGlzSFRNTEFuY2hvckVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1
cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmFUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBp
c0hUTUxBbmNob3JFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJu
IGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjphVGFnKTsKLX0KLQogaW5saW5lIEhUTUxB
bmNob3JFbGVtZW50KiB0b0hUTUxBbmNob3JFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNT
RVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MQW5jaG9yRWxlbWVu
dChub2RlKSk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxBbmNob3JFbGVtZW50Kj4obm9k
ZSk7CiB9CiAKLXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxIVE1MQW5j
aG9yRWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MQW5jaG9y
RWxlbWVudChlbGVtZW50KTsgfQotCiAvLyBGdW5jdGlvbnMgc2hhcmVkIHdpdGggdGhlIG90aGVy
IGFuY2hvciBlbGVtZW50cyAoaS5lLiwgU1ZHKS4KIAogYm9vbCBpc0VudGVyS2V5S2V5ZG93bkV2
ZW50KEV2ZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQuaAppbmRleCA4ZmZj
MDI1Li5kNmMyYzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmgKQEAgLTcw
LDE4ICs3MCw2IEBAIHByaXZhdGU6CiAgICAgU2hhcGUgbV9zaGFwZTsKIH07CiAKLWlubGluZSBi
b29sIGlzSFRNTEFyZWFFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5v
ZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjphcmVhVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNI
VE1MQXJlYUVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxl
bWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmFyZWFUYWcpOwotfQotCi10ZW1wbGF0ZSA8PiBp
bmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTEFyZWFFbGVtZW50Pihjb25zdCBFbGVtZW50
KiBlbGVtZW50KSB7IHJldHVybiBpc0hUTUxBcmVhRWxlbWVudChlbGVtZW50KTsgfQotCiBpbmxp
bmUgSFRNTEFyZWFFbGVtZW50KiB0b0hUTUxBcmVhRWxlbWVudChOb2RlKiBub2RlKQogewogICAg
IEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTEFyZWFFbGVt
ZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50LmgKaW5kZXggMDdj
YTQ4ZC4uODE1M2IzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9F
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50LmgKQEAg
LTQzLDE2ICs0Myw2IEBAIHByaXZhdGU6CiAgICAgSFRNTEF1ZGlvRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQqLCBib29sKTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTEF1
ZGlvRWxlbWVudChOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhU
TUxOYW1lczo6YXVkaW9UYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxBdWRpb0VsZW1lbnQo
RWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1M
TmFtZXM6OmF1ZGlvVGFnKTsKLX0KLQogaW5saW5lIEhUTUxBdWRpb0VsZW1lbnQqIHRvSFRNTEF1
ZGlvRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKCFub2RlIHx8IGlzSFRNTEF1ZGlvRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQmFzZUVsZW1lbnQuaAppbmRleCAxYTM1ZjQ3Li44OGVmN2M3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEJhc2VFbGVtZW50LmgKQEAgLTQ0LDE4ICs0NCw2IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCB2b2lkIHJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKIH07CiAK
LWlubGluZSBib29sIGlzSFRNTEJhc2VFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAg
cmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpiYXNlVGFnKTsKLX0KLQotaW5saW5l
IGJvb2wgaXNIVE1MQmFzZUVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICBy
ZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmJhc2VUYWcpOwotfQotCi10ZW1w
bGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTEJhc2VFbGVtZW50Pihjb25z
dCBFbGVtZW50KiBlbGVtZW50KSB7IHJldHVybiBpc0hUTUxCYXNlRWxlbWVudChlbGVtZW50KTsg
fQotCiB9IC8vIG5hbWVzcGFjZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZh
c0VsZW1lbnQuaAppbmRleCA2NTgxMDlkLi4yZmNiMDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQ2FudmFzRWxlbWVudC5oCkBAIC0xODgsMTEgKzE4OCw2IEBAIHByaXZhdGU6CiAgICAgbXV0
YWJsZSBSZWZQdHI8SW1hZ2U+IG1fY29waWVkSW1hZ2U7IC8vIEZJWE1FOiBUaGlzIGlzIHRlbXBv
cmFyeSBmb3IgcGxhdGZvcm1zIHRoYXQgaGF2ZSB0byBjb3B5IHRoZSBpbWFnZSBidWZmZXIgdG8g
cmVuZGVyIChhbmQgZm9yIENTU0NhbnZhc1ZhbHVlKS4KIH07CiAKLWlubGluZSBib29sIGlzSFRN
TENhbnZhc0VsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OmNhbnZhc1RhZyk7Ci19Ci0KIGlubGluZSBjb25zdCBIVE1MQ2Fu
dmFzRWxlbWVudCogdG9IVE1MQ2FudmFzRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQogewogICAg
IEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTENhbnZhc0Vs
ZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCmluZGV4IGYxNTY0N2UuLjAx
ZGNhYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKQEAgLTI0LDYgKzI0LDcgQEAKICNk
ZWZpbmUgSFRNTEVsZW1lbnRfaAogCiAjaW5jbHVkZSAiU3R5bGVkRWxlbWVudC5oIgorI2luY2x1
ZGUgIkhUTUxFbGVtZW50VHlwZUNoZWNrcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmgKaW5kZXggMGM3ZjgwOS4uOGEx
ZWQxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmgKQEAgLTYz
LDE5ICs2Myw2IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSB1aW50NjRfdCBtX2RvY3VtZW50VmVy
c2lvbjsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTEZpZWxkU2V0RWxlbWVudChjb25zdCBOb2Rl
KiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50
KG5vZGUpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6ZmllbGRzZXRUYWcpOwotfQotCi1pbmxpbmUg
Ym9vbCBpc0hUTUxGaWVsZFNldEVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAg
ICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmZpZWxkc2V0VGFnKTsKLX0K
LQotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxGaWVsZFNldEVs
ZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTEZpZWxkU2V0RWxl
bWVudChlbGVtZW50KTsgfQotCi0KIH0gLy8gbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXggOWE3NDMxYS4uNjFhNWE0YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCkBAIC0xNjYsMTYgKzE2Niw2IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX3dhc0RlbW90ZWQ7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxGb3JtRWxl
bWVudChOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1l
czo6Zm9ybVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTEZvcm1FbGVtZW50KEVsZW1lbnQq
IGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpm
b3JtVGFnKTsKLX0KLQogaW5saW5lIEhUTUxGb3JtRWxlbWVudCogdG9IVE1MRm9ybUVsZW1lbnQo
Tm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9k
ZSB8fCBpc0hUTUxGb3JtRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZy
YW1lU2V0RWxlbWVudC5oCmluZGV4IDdkZDkzMWUuLmFjMmE5OWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5oCkBAIC0xMDAsMTYgKzEwMCw2IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX25vcmVzaXplOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MRnJhbWVTZXRF
bGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUo
SFRNTE5hbWVzOjpmcmFtZXNldFRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTEZyYW1lU2V0
RWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5o
YXNUYWdOYW1lKEhUTUxOYW1lczo6ZnJhbWVzZXRUYWcpOwotfQotCiBpbmxpbmUgSFRNTEZyYW1l
U2V0RWxlbWVudCogdG9IVE1MRnJhbWVTZXRFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNT
RVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MRnJhbWVTZXRFbGVt
ZW50KG5vZGUpKTsKQEAgLTEyMiw4ICsxMTIsNiBAQCBpbmxpbmUgY29uc3QgSFRNTEZyYW1lU2V0
RWxlbWVudCogdG9IVE1MRnJhbWVTZXRFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCiAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PGNvbnN0IEhUTUxGcmFtZVNldEVsZW1lbnQqPihub2RlKTsKIH0KIAot
dGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxGcmFtZVNldEVsZW1l
bnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTEZyYW1lU2V0RWxlbWVu
dChlbGVtZW50KTsgfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBIVE1M
RnJhbWVTZXRFbGVtZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5k
ZXggOWY3MTNjYy4uMjQ4ZTZjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmgKQEAgLTExNSwxNiArMTE1LDYgQEAgcHJpdmF0ZToKICAgICBBdG9taWNTdHJpbmcgbV9iZXN0
Rml0SW1hZ2VVUkw7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxJbWFnZUVsZW1lbnQoTm9kZSog
bm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmltZ1RhZyk7
Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTEltYWdlRWxlbWVudChFbGVtZW50KiBlbGVtZW50KQot
ewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKTsKLX0K
LQogaW5saW5lIEhUTUxJbWFnZUVsZW1lbnQqIHRvSFRNTEltYWdlRWxlbWVudChOb2RlKiBub2Rl
KQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRN
TEltYWdlRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5o
CmluZGV4IDViNzY2MGIuLjFkNzg3YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5oCkBAIC00NDMsMTYgKzQ0Myw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWlubGlu
ZSBib29sIGlzSFRNTElucHV0RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVy
biBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpOwotfQotCi1pbmxpbmUgYm9v
bCBpc0hUTUxJbnB1dEVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1
cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKTsKLX0KLQogaW5saW5l
IEhUTUxJbnB1dEVsZW1lbnQqIHRvSFRNTElucHV0RWxlbWVudChOb2RlKiBub2RlKQogewogICAg
IEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTElucHV0RWxl
bWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCmluZGV4IGFi
MzE1ODMuLjkwYTM2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVs
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCkBA
IC01NSwxOCArNTUsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmb2N1cyhib29sIHJl
c3RvcmVQcmV2aW91c1NlbGVjdGlvbiwgRm9jdXNEaXJlY3Rpb24pIE9WRVJSSURFOwogfTsKIAot
aW5saW5lIGJvb2wgaXNIVE1MTGFiZWxFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAg
cmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpsYWJlbFRhZyk7Ci19Ci0KLWlubGlu
ZSBib29sIGlzSFRNTExhYmVsRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAg
IHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6bGFiZWxUYWcpOwotfQotCi10
ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTExhYmVsRWxlbWVudD4o
Y29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MTGFiZWxFbGVtZW50KGVsZW1l
bnQpOyB9Ci0KIGlubGluZSBIVE1MTGFiZWxFbGVtZW50KiB0b0hUTUxMYWJlbEVsZW1lbnQoTm9k
ZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8
fCBpc0hUTUxMYWJlbEVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTGVnZW5kRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5k
RWxlbWVudC5oCmluZGV4IDU4MzE3MmEuLmRjYzBkMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTExlZ2VuZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxMZWdlbmRFbGVtZW50LmgKQEAgLTQ1LDE4ICs0NSw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCBIVE1MRm9ybUVsZW1lbnQqIHZpcnR1YWxGb3JtKCkgY29uc3QgT1ZFUlJJREU7CiB9OwogCi1p
bmxpbmUgYm9vbCBpc0hUTUxMZWdlbmRFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAg
cmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpsZWdlbmRUYWcpOwotfQotCi1pbmxp
bmUgYm9vbCBpc0hUTUxMZWdlbmRFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0g
ICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpsZWdlbmRUYWcpOwotfQot
Ci10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTExlZ2VuZEVsZW1l
bnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTExlZ2VuZEVsZW1lbnQo
ZWxlbWVudCk7IH0KLQogfSAvL25hbWVzcGFjZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1hcEVsZW1lbnQuaAppbmRleCAyMmI4YjRhLi44ZjYyNzQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNYXBFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWFwRWxlbWVudC5oCkBAIC01NCwxNiArNTQsNiBAQCBwcml2YXRlOgogICAgIEF0b21pY1N0
cmluZyBtX25hbWU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxNYXBFbGVtZW50KE5vZGUqIG5v
ZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjptYXBUYWcpOwot
fQotCi1pbmxpbmUgYm9vbCBpc0hUTUxNYXBFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0g
ICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjptYXBUYWcpOwotfQotCiBp
bmxpbmUgSFRNTE1hcEVsZW1lbnQqIHRvSFRNTE1hcEVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAg
ICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxNYXBFbGVt
ZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgKaW5kZXggNWQx
MzZmMi4uY2U3NDYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgKQEAg
LTgyLDExICs4Miw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1ldGVyVmFsdWVFbGVtZW50PiBt
X3ZhbHVlOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MTWV0ZXJFbGVtZW50KE5vZGUqIG5vZGUp
Ci17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjptZXRlclRhZyk7Ci19
Ci0KIGlubGluZSBIVE1MTWV0ZXJFbGVtZW50KiB0b0hUTUxNZXRlckVsZW1lbnQoTm9kZSogbm9k
ZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hU
TUxNZXRlckVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3B0R3JvdXBFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVs
ZW1lbnQuaAppbmRleCA5YTRhYjA2Li5mYzk4ODY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxPcHRHcm91cEVsZW1lbnQuaApAQCAtNjMsMTYgKzYzLDYgQEAgcHJpdmF0ZToKICAgICBSZWZQ
dHI8UmVuZGVyU3R5bGU+IG1fc3R5bGU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxPcHRHcm91
cEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFt
ZShIVE1MTmFtZXM6Om9wdGdyb3VwVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MT3B0R3Jv
dXBFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQt
Pmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpvcHRncm91cFRhZyk7Ci19Ci0KIGlubGluZSBIVE1MT3B0
R3JvdXBFbGVtZW50KiB0b0hUTUxPcHRHcm91cEVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxPcHRHcm91cEVs
ZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9u
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oCmluZGV4
IGQyMjkwYjlkLi5lM2NiNGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxP
cHRpb25FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVu
dC5oCkBAIC05NSwxNiArOTUsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4g
bV9zdHlsZTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTE9wdGlvbkVsZW1lbnQoY29uc3QgTm9k
ZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6Om9wdGlv
blRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTE9wdGlvbkVsZW1lbnQoY29uc3QgRWxlbWVu
dCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6
Om9wdGlvblRhZyk7Ci19Ci0KIGlubGluZSBIVE1MT3B0aW9uRWxlbWVudCogdG9IVE1MT3B0aW9u
RWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FU
SU9OKCFub2RlIHx8IGlzSFRNTE9wdGlvbkVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyYW1FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQYXJhbUVsZW1lbnQuaAppbmRleCBiNjU5NWQ2Li5lZDA5MWFiNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyYW1FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MUGFyYW1FbGVtZW50LmgKQEAgLTQwLDIzICs0MCw5IEBAIHByaXZhdGU6CiAg
ICAgSFRNTFBhcmFtRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAog
ICAgIHZpcnR1YWwgYm9vbCBpc1VSTEF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBjb25zdCBP
VkVSUklERTsKLQogICAgIHZpcnR1YWwgdm9pZCBhZGRTdWJyZXNvdXJjZUF0dHJpYnV0ZVVSTHMo
TGlzdEhhc2hTZXQ8S1VSTD4mKSBjb25zdDsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFBhcmFt
RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1l
KEhUTUxOYW1lczo6cGFyYW1UYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxQYXJhbUVsZW1l
bnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFn
TmFtZShIVE1MTmFtZXM6OnBhcmFtVGFnKTsKLX0KLQotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wg
aXNFbGVtZW50T2ZUeXBlPEhUTUxQYXJhbUVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQp
IHsgcmV0dXJuIGlzSFRNTFBhcmFtRWxlbWVudChlbGVtZW50KTsgfQotCi0KIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQcm9ncmVzc0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxl
bWVudC5oCmluZGV4IDYwYzBmYWEuLjM5ZmYyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFByb2dyZXNzRWxlbWVudC5oCkBAIC02OSwxMiArNjksNiBAQCBwcml2YXRlOgogICAgIFByb2dy
ZXNzVmFsdWVFbGVtZW50KiBtX3ZhbHVlOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MUHJvZ3Jl
c3NFbGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAgQVNTRVJUKG5vZGUpOwotICAgIHJldHVybiBu
b2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6cHJvZ3Jlc3NUYWcpOwotfQotCiBpbmxpbmUgSFRN
TFByb2dyZXNzRWxlbWVudCogdG9IVE1MUHJvZ3Jlc3NFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAg
ICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MUHJvZ3Jl
c3NFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNj
cmlwdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuaApp
bmRleCA3ZDE0YjVjLi4zZjcxNjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTY3JpcHRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxl
bWVudC5oCkBAIC02NywxMSArNjcsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxFbGVtZW50PiBjbG9uZUVsZW1lbnRXaXRob3V0QXR0cmlidXRlc0FuZENoaWxkcmVuKCk7CiB9
OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxTY3JpcHRFbGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAg
cmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpzY3JpcHRUYWcpOwotfQotCiBpbmxp
bmUgSFRNTFNjcmlwdEVsZW1lbnQqIHRvSFRNTFNjcmlwdEVsZW1lbnQoTm9kZSogbm9kZSkKIHsK
ICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBub2RlLT5oYXNU
YWdOYW1lKEhUTUxOYW1lczo6c2NyaXB0VGFnKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3Vy
Y2VFbGVtZW50LmgKaW5kZXggZmM5MjJiYy4uZGMxODIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFNvdXJjZUVsZW1lbnQuaApAQCAtNTcsMTkgKzU3LDYgQEAgcHJpdmF0ZToKICAgICBUaW1l
cjxIVE1MU291cmNlRWxlbWVudD4gbV9lcnJvckV2ZW50VGltZXI7CiB9OwogCi1pbmxpbmUgYm9v
bCBpc0hUTUxTb3VyY2VFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5v
ZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpzb3VyY2VUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBp
c0hUTUxTb3VyY2VFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJu
IGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpzb3VyY2VUYWcpOwotfQotCi10ZW1wbGF0
ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTFNvdXJjZUVsZW1lbnQ+KGNvbnN0
IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTFNvdXJjZUVsZW1lbnQoZWxlbWVudCk7
IH0KLQotCiB9IC8vbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHls
ZUVsZW1lbnQuaAppbmRleCBlM2U5NGViLi4zOTcxNWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTdHlsZUVsZW1lbnQuaApAQCAtOTMsMjQgKzkzLDEyIEBAIHByaXZhdGU6CiAgICAgU2NvcGVk
U3R5bGVSZWdpc3RyYXRpb25TdGF0ZSBtX3Njb3BlZFN0eWxlUmVnaXN0cmF0aW9uU3RhdGU7CiB9
OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxTdHlsZUVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsK
LSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnN0eWxlVGFnKTsKLX0KLQot
aW5saW5lIGJvb2wgaXNIVE1MU3R5bGVFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17
Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpzdHlsZVRhZyk7Ci19
Ci0KIGlubGluZSBIVE1MU3R5bGVFbGVtZW50KiB0b0hUTUxTdHlsZUVsZW1lbnQoTm9kZSogbm9k
ZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hU
TUxTdHlsZUVsZW1lbnQobm9kZSkpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MU3R5bGVF
bGVtZW50Kj4obm9kZSk7CiB9CiAKLXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9m
VHlwZTxIVE1MU3R5bGVFbGVtZW50Pihjb25zdCBFbGVtZW50KiBlbGVtZW50KSB7IHJldHVybiBp
c0hUTUxTdHlsZUVsZW1lbnQoZWxlbWVudCk7IH0KLQogfSAvL25hbWVzcGFjZQogCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmgKaW5kZXggZWMyMTQwMS4uMGQ3NmFi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmgKQEAgLTEwMCwxNiArMTAw
LDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gbV9zaGFyZWRDZWxs
U3R5bGU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxUYWJsZUVsZW1lbnQoY29uc3QgTm9kZSog
bm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRhYmxlVGFn
KTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MVGFibGVFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVs
ZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0YWJs
ZVRhZyk7Ci19Ci0KIGlubGluZSBIVE1MVGFibGVFbGVtZW50KiB0b0hUTUxUYWJsZUVsZW1lbnQo
Tm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9k
ZSB8fCBpc0hUTUxUYWJsZUVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
YWJsZVJvd0VsZW1lbnQuaAppbmRleCBiZWQ3NTFjLi41M2VmNGYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQuaApAQCAtNTEsMTggKzUxLDYgQEAgcHJpdmF0ZToK
ICAgICBIVE1MVGFibGVSb3dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCop
OwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MVGFibGVSb3dFbGVtZW50KGNvbnN0IE5vZGUqIG5v
ZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0clRhZyk7Ci19
Ci0KLWlubGluZSBib29sIGlzSFRNTFRhYmxlUm93RWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVt
ZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dHJUYWcp
OwotfQotCi10ZW1wbGF0ZTw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxIVE1MVGFibGVS
b3dFbGVtZW50Pihjb25zdCBFbGVtZW50KiBlbGVtZW50KSB7IHJldHVybiBpc0hUTUxUYWJsZVJv
d0VsZW1lbnQoZWxlbWVudCk7IH0KLQogaW5saW5lIEhUTUxUYWJsZVJvd0VsZW1lbnQqIHRvSFRN
TFRhYmxlUm93RWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZ
X0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTFRhYmxlUm93RWxlbWVudChub2RlKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbiBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCmluZGV4IGYyZDRlNTAuLjQ2NjE1MjQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbgpAQCAtMywxNyArMywxNyBAQCBuYW1lc3BhY2VQcmVm
aXg9InhodG1sIgogbmFtZXNwYWNlVVJJPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIgog
ZmFsbGJhY2tJbnRlcmZhY2VOYW1lPSJIVE1MVW5rbm93bkVsZW1lbnQiCiAKLWEgaW50ZXJmYWNl
TmFtZT1IVE1MQW5jaG9yRWxlbWVudAorYSBpbnRlcmZhY2VOYW1lPUhUTUxBbmNob3JFbGVtZW50
LCBnZW5lcmF0ZVR5cGVDaGVja3MKIGFiYnIgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogYWNy
b255bSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBhZGRyZXNzIGludGVyZmFjZU5hbWU9SFRN
TEVsZW1lbnQKIGFwcGxldCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCi1hcmVhCith
cmVhIGdlbmVyYXRlVHlwZUNoZWNrcwogYXJ0aWNsZSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50
CiBhc2lkZSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50Ci1hdWRpbyB3cmFwcGVyT25seUlmTWVk
aWFJc0F2YWlsYWJsZSwgY29uZGl0aW9uYWw9VklERU8sIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVk
QnlQYXJzZXIKK2F1ZGlvIHdyYXBwZXJPbmx5SWZNZWRpYUlzQXZhaWxhYmxlLCBjb25kaXRpb25h
bD1WSURFTywgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlciwgZ2VuZXJhdGVUeXBlQ2hl
Y2tzCiBiIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLWJhc2UKK2Jhc2UgZ2VuZXJhdGVUeXBl
Q2hlY2tzCiBiYXNlZm9udCBpbnRlcmZhY2VOYW1lPUhUTUxCYXNlRm9udEVsZW1lbnQKIGJkaSBp
bnRlcmZhY2VOYW1lPUhUTUxCRElFbGVtZW50LCBKU0ludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQK
IGJkbyBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CkBAIC0yMyw3ICsyMyw3IEBAIGJsb2NrcXVv
dGUgaW50ZXJmYWNlTmFtZT1IVE1MUXVvdGVFbGVtZW50CiBib2R5CiBiciBpbnRlcmZhY2VOYW1l
PUhUTUxCUkVsZW1lbnQKIGJ1dHRvbiBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQKLWNhbnZh
cworY2FudmFzIGdlbmVyYXRlVHlwZUNoZWNrcwogY2FwdGlvbiBpbnRlcmZhY2VOYW1lPUhUTUxU
YWJsZUNhcHRpb25FbGVtZW50CiBjZW50ZXIgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogY2l0
ZSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CkBAIC00NCwxNCArNDQsMTQgQEAgZGwgaW50ZXJm
YWNlTmFtZT1IVE1MRExpc3RFbGVtZW50CiBkdCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBl
bSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBlbWJlZCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRl
ZEJ5UGFyc2VyCi1maWVsZHNldCBpbnRlcmZhY2VOYW1lPUhUTUxGaWVsZFNldEVsZW1lbnQsIGNv
bnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudAorZmllbGRzZXQgaW50ZXJmYWNlTmFtZT1IVE1MRmll
bGRTZXRFbGVtZW50LCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQsIGdlbmVyYXRlVHlwZUNo
ZWNrcwogZmlnY2FwdGlvbiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBmaWd1cmUgaW50ZXJm
YWNlTmFtZT1IVE1MRWxlbWVudAogZm9udAogZm9vdGVyIGludGVyZmFjZU5hbWU9SFRNTEVsZW1l
bnQKLWZvcm0KK2Zvcm0gZ2VuZXJhdGVUeXBlQ2hlY2tzCiBmcmFtZQotZnJhbWVzZXQgaW50ZXJm
YWNlTmFtZT1IVE1MRnJhbWVTZXRFbGVtZW50CitmcmFtZXNldCBpbnRlcmZhY2VOYW1lPUhUTUxG
cmFtZVNldEVsZW1lbnQsIGdlbmVyYXRlVHlwZUNoZWNrcwogaDEgaW50ZXJmYWNlTmFtZT1IVE1M
SGVhZGluZ0VsZW1lbnQKIGgyIGludGVyZmFjZU5hbWU9SFRNTEhlYWRpbmdFbGVtZW50CiBoMyBp
bnRlcmZhY2VOYW1lPUhUTUxIZWFkaW5nRWxlbWVudApAQCAtNjYsMjUgKzY2LDI1IEBAIGh0bWwK
IGkgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogaWZyYW1lIGludGVyZmFjZU5hbWU9SFRNTElG
cmFtZUVsZW1lbnQKIGltYWdlIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLWltZyBpbnRlcmZh
Y2VOYW1lPUhUTUxJbWFnZUVsZW1lbnQsIGNvbnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudAotaW5w
dXQgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50LCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5
UGFyc2VyCitpbWcgaW50ZXJmYWNlTmFtZT1IVE1MSW1hZ2VFbGVtZW50LCBjb25zdHJ1Y3Rvck5l
ZWRzRm9ybUVsZW1lbnQsIGdlbmVyYXRlVHlwZUNoZWNrcworaW5wdXQgY29uc3RydWN0b3JOZWVk
c0Zvcm1FbGVtZW50LCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyLCBnZW5lcmF0ZVR5
cGVDaGVja3MKIGlucyBpbnRlcmZhY2VOYW1lPUhUTUxNb2RFbGVtZW50CiBpc2luZGV4IGludGVy
ZmFjZU5hbWU9SFRNTFVua25vd25FbGVtZW50CiBrYmQgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVu
dAoga2V5Z2VuIGNvbnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudAotbGFiZWwKK2xhYmVsIGdlbmVy
YXRlVHlwZUNoZWNrcwogbGF5ZXIgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotbGVnZW5kCits
ZWdlbmQgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBsaSBpbnRlcmZhY2VOYW1lPUhUTUxMSUVsZW1lbnQK
IGxpbmsgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlcgogbGlzdGluZyBpbnRlcmZhY2VO
YW1lPUhUTUxQcmVFbGVtZW50CiBtYWluIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLW1hcAor
bWFwIGdlbmVyYXRlVHlwZUNoZWNrcwogbWFyayBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBt
YXJxdWVlCiBtZW51CiBtZXRhCi1tZXRlciBpbnRlcmZhY2VOYW1lPUhUTUxNZXRlckVsZW1lbnQs
IGNvbmRpdGlvbmFsPU1FVEVSX0VMRU1FTlQKK21ldGVyIGludGVyZmFjZU5hbWU9SFRNTE1ldGVy
RWxlbWVudCwgY29uZGl0aW9uYWw9TUVURVJfRUxFTUVOVCwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBu
YXYgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogbm9iciBpbnRlcmZhY2VOYW1lPUhUTUxFbGVt
ZW50CiBub2VtYmVkIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKQEAgLTkyLDQzICs5Miw0MyBA
QCBub2ZyYW1lcyBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBub2xheWVyIGludGVyZmFjZU5h
bWU9SFRNTEVsZW1lbnQKIG9iamVjdCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQsIGNvbnN0
cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIKIG9sIGludGVyZmFjZU5hbWU9SFRNTE9MaXN0RWxl
bWVudAotb3B0Z3JvdXAgaW50ZXJmYWNlTmFtZT1IVE1MT3B0R3JvdXBFbGVtZW50Ci1vcHRpb24K
K29wdGdyb3VwIGludGVyZmFjZU5hbWU9SFRNTE9wdEdyb3VwRWxlbWVudCwgZ2VuZXJhdGVUeXBl
Q2hlY2tzCitvcHRpb24gZ2VuZXJhdGVUeXBlQ2hlY2tzCiBvdXRwdXQgY29uc3RydWN0b3JOZWVk
c0Zvcm1FbGVtZW50CiBwIGludGVyZmFjZU5hbWU9SFRNTFBhcmFncmFwaEVsZW1lbnQKLXBhcmFt
CitwYXJhbSBnZW5lcmF0ZVR5cGVDaGVja3MKIHBsYWludGV4dCBpbnRlcmZhY2VOYW1lPUhUTUxF
bGVtZW50CiBwcmUKLXByb2dyZXNzIGludGVyZmFjZU5hbWU9SFRNTFByb2dyZXNzRWxlbWVudCwg
Y29uZGl0aW9uYWw9UFJPR1JFU1NfRUxFTUVOVAorcHJvZ3Jlc3MgaW50ZXJmYWNlTmFtZT1IVE1M
UHJvZ3Jlc3NFbGVtZW50LCBjb25kaXRpb25hbD1QUk9HUkVTU19FTEVNRU5ULCBnZW5lcmF0ZVR5
cGVDaGVja3MKIHEgaW50ZXJmYWNlTmFtZT1IVE1MUXVvdGVFbGVtZW50CiBycCBpbnRlcmZhY2VO
YW1lPUhUTUxFbGVtZW50CiBydCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBydWJ5IGludGVy
ZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHMgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogc2FtcCBp
bnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50Ci1zY3JpcHQgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRC
eVBhcnNlcgorc2NyaXB0IGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIsIGdlbmVyYXRl
VHlwZUNoZWNrcwogc2VjdGlvbiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBzZWxlY3QgY29u
c3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50CiBzbWFsbCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50
Ci1zb3VyY2Ugd3JhcHBlck9ubHlJZk1lZGlhSXNBdmFpbGFibGUsIGNvbmRpdGlvbmFsPVZJREVP
Citzb3VyY2Ugd3JhcHBlck9ubHlJZk1lZGlhSXNBdmFpbGFibGUsIGNvbmRpdGlvbmFsPVZJREVP
LCBnZW5lcmF0ZVR5cGVDaGVja3MKIHNwYW4KIHN0cmlrZSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVt
ZW50CiBzdHJvbmcgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotc3R5bGUgY29uc3RydWN0b3JO
ZWVkc0NyZWF0ZWRCeVBhcnNlcgorc3R5bGUgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNl
ciwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBzdWIgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogc3Vt
bWFyeSBpbnRlcmZhY2VOYW1lPUhUTUxTdW1tYXJ5RWxlbWVudCwgSlNJbnRlcmZhY2VOYW1lPUhU
TUxFbGVtZW50LCBjb25kaXRpb25hbD1ERVRBSUxTX0VMRU1FTlQKIHN1cCBpbnRlcmZhY2VOYW1l
PUhUTUxFbGVtZW50Ci10YWJsZQordGFibGUgZ2VuZXJhdGVUeXBlQ2hlY2tzCiB0Ym9keSBpbnRl
cmZhY2VOYW1lPUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50CiB0ZCBpbnRlcmZhY2VOYW1lPUhUTUxU
YWJsZUNlbGxFbGVtZW50CiB0ZW1wbGF0ZSBjb25kaXRpb25hbD1URU1QTEFURV9FTEVNRU5UCi10
ZXh0YXJlYSBpbnRlcmZhY2VOYW1lPUhUTUxUZXh0QXJlYUVsZW1lbnQsIGNvbnN0cnVjdG9yTmVl
ZHNGb3JtRWxlbWVudAordGV4dGFyZWEgaW50ZXJmYWNlTmFtZT1IVE1MVGV4dEFyZWFFbGVtZW50
LCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQsIGdlbmVyYXRlVHlwZUNoZWNrcwogdGZvb3Qg
aW50ZXJmYWNlTmFtZT1IVE1MVGFibGVTZWN0aW9uRWxlbWVudAogdGggaW50ZXJmYWNlTmFtZT1I
VE1MVGFibGVDZWxsRWxlbWVudAogdGhlYWQgaW50ZXJmYWNlTmFtZT1IVE1MVGFibGVTZWN0aW9u
RWxlbWVudAotdGl0bGUKLXRyIGludGVyZmFjZU5hbWU9SFRNTFRhYmxlUm93RWxlbWVudAotdHJh
Y2sgd3JhcHBlck9ubHlJZk1lZGlhSXNBdmFpbGFibGUsIGNvbmRpdGlvbmFsPVZJREVPX1RSQUNL
Cit0aXRsZSBnZW5lcmF0ZVR5cGVDaGVja3MKK3RyIGludGVyZmFjZU5hbWU9SFRNTFRhYmxlUm93
RWxlbWVudCwgZ2VuZXJhdGVUeXBlQ2hlY2tzCit0cmFjayB3cmFwcGVyT25seUlmTWVkaWFJc0F2
YWlsYWJsZSwgY29uZGl0aW9uYWw9VklERU9fVFJBQ0ssIGdlbmVyYXRlVHlwZUNoZWNrcwogdHQg
aW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogdSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiB1
bCBpbnRlcmZhY2VOYW1lPUhUTUxVTGlzdEVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGV4dEFyZWFFbGVtZW50LmgKaW5kZXggOTc2NGIxYi4uYTMwM2NjNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmgKQEAgLTEyNywxNiArMTI3LDYgQEAgcHJpdmF0
ZToKICAgICBtdXRhYmxlIGJvb2wgbV93YXNNb2RpZmllZEJ5VXNlcjsKIH07CiAKLWlubGluZSBi
b29sIGlzSFRNTFRleHRBcmVhRWxlbWVudChOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2Rl
LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGV4dGFyZWFUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBp
c0hUTUxUZXh0QXJlYUVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxl
bWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRleHRhcmVhVGFnKTsKLX0KLQogaW5saW5lIEhU
TUxUZXh0QXJlYUVsZW1lbnQqIHRvSFRNTFRleHRBcmVhRWxlbWVudChOb2RlKiBub2RlKQogewog
ICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTFRleHRB
cmVhRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
aXRsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVudC5oCmlu
ZGV4IGNkMjMzMTAuLjE4NjdmZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRpdGxlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVu
dC5oCkBAIC00NiwyNCArNDYsMTIgQEAgcHJpdmF0ZToKICAgICBTdHJpbmdXaXRoRGlyZWN0aW9u
IG1fdGl0bGU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxUaXRsZUVsZW1lbnQoY29uc3QgTm9k
ZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRpdGxl
VGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MVGl0bGVFbGVtZW50KGNvbnN0IEVsZW1lbnQq
IGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0
aXRsZVRhZyk7Ci19Ci0KIGlubGluZSBIVE1MVGl0bGVFbGVtZW50KiB0b0hUTUxUaXRsZUVsZW1l
bnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTigh
bm9kZSB8fCBpc0hUTUxUaXRsZUVsZW1lbnQobm9kZSkpOwogICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxIVE1MVGl0bGVFbGVtZW50Kj4obm9kZSk7CiB9CiAKLXRlbXBsYXRlIDw+IGlubGluZSBib29s
IGlzRWxlbWVudE9mVHlwZTxIVE1MVGl0bGVFbGVtZW50Pihjb25zdCBFbGVtZW50KiBlbGVtZW50
KSB7IHJldHVybiBpc0hUTUxUaXRsZUVsZW1lbnQoZWxlbWVudCk7IH0KLQogfSAvL25hbWVzcGFj
ZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmgKaW5kZXggYzc5
M2IzNC4uOWQ4ZWIzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmgKQEAg
LTk3LDE5ICs5Nyw2IEBAIHByaXZhdGU6CiAgICAgVGltZXI8SFRNTFRyYWNrRWxlbWVudD4gbV9s
b2FkVGltZXI7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxUcmFja0VsZW1lbnQoY29uc3QgTm9k
ZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRyYWNr
VGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MVHJhY2tFbGVtZW50KGNvbnN0IEVsZW1lbnQq
IGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0
cmFja1RhZyk7Ci19Ci0KLXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxI
VE1MVHJhY2tFbGVtZW50Pihjb25zdCBFbGVtZW50KiBlbGVtZW50KSB7IHJldHVybiBpc0hUTUxU
cmFja0VsZW1lbnQoZWxlbWVudCk7IH0KLQotCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmgKaW5kZXggMTczMmQxYy4uNjZlOWMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCkBA
IC0yNiw2ICsyNiw3IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5h
bWVzLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRTdHJpbmcuaCIKKyNpbmNsdWRlICJTVkdFbGVt
ZW50VHlwZUNoZWNrcy5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgogI2luY2x1ZGUgIlNW
R0xvY2F0YWJsZS5oIgogI2luY2x1ZGUgIlNWR1BhcnNpbmdFcnJvci5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRm9udEVsZW1lbnQuaAppbmRleCAwMWZlNmMyLi4wNjgxYTY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRm9udEVsZW1lbnQuaApAQCAtODksMTEgKzg5LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
aXNHbHlwaENhY2hlVmFsaWQ7CiB9OwogCi1pbmxpbmUgYm9vbCBpc1NWR0ZvbnRFbGVtZW50KGNv
bnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6
OmZvbnRUYWcpOwotfQotCiBpbmxpbmUgU1ZHRm9udEVsZW1lbnQqIHRvU1ZHRm9udEVsZW1lbnQo
Tm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9k
ZSB8fCBpc1NWR0ZvbnRFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFj
ZUVsZW1lbnQuaAppbmRleCBmYzM2ZTJkLi44OGYyZGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZvbnRGYWNlRWxlbWVudC5oCkBAIC02NywxOCArNjcsNiBAQCBwcml2YXRlOgogICAgIFNWR0Zv
bnRFbGVtZW50KiBtX2ZvbnRFbGVtZW50OwogfTsKIAotaW5saW5lIGJvb2wgaXNTVkdGb250RmFj
ZUVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFt
ZShTVkdOYW1lczo6Zm9udF9mYWNlVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNTVkdGb250RmFj
ZUVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+
aGFzVGFnTmFtZShTVkdOYW1lczo6Zm9udF9mYWNlVGFnKTsKLX0KLQotdGVtcGxhdGUgPD4gaW5s
aW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPFNWR0ZvbnRGYWNlRWxlbWVudD4oY29uc3QgRWxlbWVu
dCogZWxlbWVudCkgeyByZXR1cm4gaXNTVkdGb250RmFjZUVsZW1lbnQoZWxlbWVudCk7IH0KLQog
aW5saW5lIFNWR0ZvbnRGYWNlRWxlbWVudCogdG9TVkdGb250RmFjZUVsZW1lbnQoTm9kZSogbm9k
ZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc1NW
R0ZvbnRGYWNlRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWdu
T2JqZWN0RWxlbWVudC5oCmluZGV4IGIwZGM2MjAuLjg5MzYzMDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCkBAIC01OSwxOSArNTksNiBAQCBwcml2
YXRlOgogICAgIEVORF9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRJRVMKIH07CiAKLWlubGluZSBi
b29sIGlzU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICBy
ZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6Zm9yZWlnbk9iamVjdFRhZyk7Ci19Ci0K
LWlubGluZSBib29sIGlzU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxl
bWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6Zm9yZWln
bk9iamVjdFRhZyk7Ci19Ci0KLXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlw
ZTxTVkdGb3JlaWduT2JqZWN0RWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1
cm4gaXNTVkdGb3JlaWduT2JqZWN0RWxlbWVudChlbGVtZW50KTsgfQotCi0KIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1h
Z2VFbGVtZW50LmgKaW5kZXggOWNkNTc5My4uOTEzNGYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJ
bWFnZUVsZW1lbnQuaApAQCAtNzcsMTEgKzc3LDYgQEAgcHJpdmF0ZToKICAgICBTVkdJbWFnZUxv
YWRlciBtX2ltYWdlTG9hZGVyOwogfTsKIAotaW5saW5lIGJvb2wgaXNTVkdJbWFnZUVsZW1lbnQo
Y29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShTVkdOYW1l
czo6aW1hZ2VUYWcpOwotfQotCiBpbmxpbmUgU1ZHSW1hZ2VFbGVtZW50KiB0b1NWR0ltYWdlRWxl
bWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9O
KCFub2RlIHx8IGlzU1ZHSW1hZ2VFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2Ny
aXB0RWxlbWVudC5oCmluZGV4IDk5YjlkODcuLjY1YTYyZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1NjcmlwdEVsZW1lbnQuaApAQCAtODgsMTEgKzg4LDYgQEAgcHJpdmF0ZToKICAgICBUaW1lcjxT
VkdFbGVtZW50PiBtX3N2Z0xvYWRFdmVudFRpbWVyOwogfTsKIAotaW5saW5lIGJvb2wgaXNTVkdT
Y3JpcHRFbGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUo
U1ZHTmFtZXM6OnNjcmlwdFRhZyk7Ci19Ci0KIGlubGluZSBTVkdTY3JpcHRFbGVtZW50KiB0b1NW
R1NjcmlwdEVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9J
TVBMSUNBVElPTighbm9kZSB8fCBub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpzY3JpcHRUYWcp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9zdmd0YWdzLmluIGIvU291cmNlL1dl
YkNvcmUvc3ZnL3N2Z3RhZ3MuaW4KaW5kZXggN2RiNDgxNC4uYzQwNjMxMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL3N2Z3RhZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3N2
Z3RhZ3MuaW4KQEAgLTUzLDIxICs1MywyMSBAQCBmZVR1cmJ1bGVuY2UKIGZpbHRlcgogI2VuZGlm
CiAjaWYgRU5BQkxFX1NWR19GT05UUwotZm9udAotZm9udF9mYWNlCitmb250IGdlbmVyYXRlVHlw
ZUNoZWNrcworZm9udF9mYWNlIGdlbmVyYXRlVHlwZUNoZWNrcwogZm9udF9mYWNlX2Zvcm1hdAog
Zm9udF9mYWNlX25hbWUKIGZvbnRfZmFjZV9zcmMKIGZvbnRfZmFjZV91cmkKICNlbmRpZgotZm9y
ZWlnbk9iamVjdAorZm9yZWlnbk9iamVjdCBnZW5lcmF0ZVR5cGVDaGVja3MKIGcKICNpZiBFTkFC
TEVfU1ZHX0ZPTlRTCiBnbHlwaAogZ2x5cGhSZWYKIGhrZXJuIGludGVyZmFjZU5hbWU9U1ZHSEtl
cm5FbGVtZW50CiAjZW5kaWYKLWltYWdlCitpbWFnZSBnZW5lcmF0ZVR5cGVDaGVja3MKIGxpbmUK
IGxpbmVhckdyYWRpZW50CiBtYXJrZXIKQEAgLTgzLDcgKzgzLDcgQEAgcG9seWdvbgogcG9seWxp
bmUKIHJhZGlhbEdyYWRpZW50CiByZWN0Ci1zY3JpcHQgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRC
eVBhcnNlcgorc2NyaXB0IGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIsIGdlbmVyYXRl
VHlwZUNoZWNrcwogc3RvcAogc3R5bGUgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlcgog
c3ZnIGludGVyZmFjZU5hbWU9U1ZHU1ZHRWxlbWVudAo=
</data>
<flag name="review"
          id="232353"
          type_id="1"
          status="+"
          setter="koivisto"
    />
    <flag name="commit-queue"
          id="232355"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210289</attachid>
            <date>2013-09-02 08:31:15 -0700</date>
            <delta_ts>2013-09-02 08:33:49 -0700</delta_ts>
            <desc>Patch for landing?</desc>
            <filename>land-120584.diff</filename>
            <type>text/plain</type>
            <size>42954</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkZTViN2Q4Li41YWU3NThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkg
QEAKKzIwMTMtMDktMDEgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIEdlbmVyYXRlIGlzRm9vRWxlbWVudCgpIGZ1bmN0aW9ucyBmcm9tIHRhZ25hbWUgZGF0YS4K
KyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyMDU4ND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSAiZ2VuZXJhdGVUeXBlQ2hlY2tz
IiBhdHRyaWJ1dGUgdGhhdCBjYW4gYmUgdXNlZCBpbiBIVE1MVGFnTmFtZXMuaW4gJiBmcmllbmRz
LgorICAgICAgICBJZiBwcmVzZW50LCBpc0Zvb0VsZW1lbnQoKSBzdHlsZSBoZWxwZXJzIHdpbGwg
YmUgYWRkZWQgdG8gSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmguCisgICAgICAgIFRoaXMgYWxzbyBv
dXRwdXRzIGFuIGlzRWxlbWVudE9mVHlwZTxUPiBjaGVjayBmb3IgdGhlIEVsZW1lbnQgaXRlcmF0
b3JzLgorCisgICAgICAgIFJlbW92ZWQgYWxsIHRoZSBoYW5kLXdyaXR0ZW4gaXNGb29FbGVtZW50
KCkgZnVuY3Rpb25zIHRoYXQgb25seSBjaGVja2VkIHRhZyBuYW1lLgorCisgICAgICAgICogaHRt
bC9IVE1MVGFnTmFtZXMuaW46CisgICAgICAgICogc3ZnL3N2Z3RhZ3MuaW46CisKKyAgICAgICAg
ICAgIEFkZGVkICJnZW5lcmF0ZVR5cGVDaGVja3MiIGF0dHJpYnV0ZSBhcyBhcHByb3ByaWF0ZS4K
KworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3Qu
YW06CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgICAgIEFkZGVk
IHRvIGJ1aWxkIHN5c3RlbXMgYmFzZWQgb24gaG93IEhUTUxOYW1lcy5oIHdhcyBkb25lLgorICAg
ICAgICAgICAgV2UncmUganVzdCBvdXRwdXR0aW5nIGFuIGFkZGl0aW9uYWwgaGVhZGVyIGZpbGUg
aW4gdGhlIGdlbmVyYXRlZCBjb2RlIGRpcmVjdG9yeQorICAgICAgICAgICAgc28gSSBzdXNwZWN0
IG1vc3QgcG9ydHMgd2lsbCBqdXN0IHBpY2sgdGhpcyB1cCBhdXRvbWFnaWNhbGx5LgorCisgICAg
ICAgICogZG9tL21ha2VfbmFtZXMucGw6CisgICAgICAgIChkZWZhdWx0VGFnUHJvcGVydHlIYXNo
KToKKyAgICAgICAgKHByaW50TGljZW5zZUhlYWRlcik6CisgICAgICAgIChwcmludFR5cGVDaGVj
a3MpOgorICAgICAgICAocHJpbnRUeXBlQ2hlY2tzSGVhZGVyRmlsZSk6CisKKyAgICAgICAgICAg
IEdlbmVyYXRlIGEgc2VwYXJhdGUgZmlsZSBmb3IgZWFjaCBuYW1lc3BhY2Ugd2l0aCBpc0Zvb0Vs
ZW1lbnQoKSBoZWxwZXJzIGZvcgorICAgICAgICAgICAgZWxlbWVudHMgd2l0aCAiZ2VuZXJhdGVU
eXBlQ2hlY2tzIiBhdHRyaWJ1dGUgc2V0LgorCiAyMDEzLTA5LTAyICBDb21taXQgUXVldWUgIDxj
b21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTU0OTU1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA0ZDdlMTgwLi5hNGI4OGU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtMjk4LDYgKzI5OCw3IEBAIERlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvUGx1Z0luc1Jlc291cmNlcy5oOiAkKFdlYkNvcmUpL2Nzcy9tYWtlLWNzcy1maWxlLWFycmF5
cy5wCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5j
cHA6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTEVsZW1lbnRGYWN0b3J5LmNwcAogRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9IVE1MRWxlbWVudEZhY3RvcnkuY3BwOiBEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0hUTUxFbGVtZW50RmFjdG9yeS5oCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxF
bGVtZW50RmFjdG9yeS5oOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5jcHAKK0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmg6IERlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSFRNTE5hbWVzLmgKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVz
LmNwcDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaAogRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9IVE1MTmFtZXMuaDogJChXZWJDb3JlKS9kb20vbWFrZV9uYW1lcy5wbCAkKFdlYkNv
cmUpL2JpbmRpbmdzL3NjcmlwdHMvSGFzaGVyLnBtICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0
cy9TdGF0aWNTdHJpbmcucG0gJChXZWJDb3JlKS9odG1sL0hUTUxUYWdOYW1lcy5pbiAkKFdlYkNv
cmUpL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCiAJJChBTV9WX0dFTikkKFBFUkwpIC1JJChX
ZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzICQ8IC0tdGFncyAkKFdlYkNvcmUpL2h0bWwvSFRNTFRh
Z05hbWVzLmluIC0tYXR0cnMgJChXZWJDb3JlKS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiAt
LWV4dHJhRGVmaW5lcyAiJChmZWF0dXJlX2RlZmluZXMpIiAtLWZhY3RvcnkgLS13cmFwcGVyRmFj
dG9yeSAtLW91dHB1dERpciAiJChHRU5TT1VSQ0VTX1dFQkNPUkUpIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KaW5kZXggZWVmYzkwNi4uYmRmN2I3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCkBAIC0xNSw2ICsxNSw3IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9FeGNlcHRpb25JbnRlcmZhY2VzLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSFRNTEVsZW1lbnRGYWN0b3J5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9IVE1MRWxlbWVudEZhY3RvcnkuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9I
VE1MRWxlbWVudFR5cGVDaGVja3MuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MRW50
aXR5VGFibGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmggXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMDAyYjM3NS4uMGI0NGQwZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBA
IC0xODI0MSw2ICsxODI0MSw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcRXhjZXB0aW9uSGVhZGVycy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUp
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEV4Y2VwdGlvbkludGVyZmFjZXMuaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBs
YXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xIVE1MRWxl
bWVudEZhY3RvcnkuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xIVE1MRWxlbWVudFR5cGVDaGVja3MuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJl
KVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xIVE1MTmFtZXMuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJj
aGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xJbmplY3RlZFNjcmlwdENh
bnZhc01vZHVsZVNvdXJjZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEluamVjdGVkU2NyaXB0U291cmNlLmgiIC8+CkBAIC0xODY5OCw2ICsx
ODY5OSw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcTWF0aE1MRWxlbWVudEZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xNYXRoTUxOYW1lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1
cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFNWR0VsZW1lbnRGYWN0b3J5LmgiIC8+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQ
bGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcU1ZHRWxl
bWVudFR5cGVDaGVja3MuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xTVkdOYW1lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXFVzZXJBZ2VudFN0eWxlU2hlZXRzLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFy
Y2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcV2ViS2l0Rm9udEZhbWls
eU5hbWVzLmgiIC8+CkBAIC0yMTQwNiw0ICsyMTQwOCw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJl
bD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBkYTNmZjI4Li4yYTVjOTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NTAxLDYgKzQ1MDEsOCBAQAogCQlCNTVENUFBNDEx
OTEzMUZDMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU1RDVBQTIxMTkxMzFGQzAw
QkNDMzE1IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suaCAqLzsgfTsKIAkJQjU1RDVB
QTUxMTkxMzFGQzAwQkNDMzE1IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU1RDVBQTMxMTkx
MzFGQzAwQkNDMzE1IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suY3BwICovOyB9Owog
CQlCNTVENUFBOTExOTEzMjUwMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU1RDVB
QTcxMTkxMzI1MDAwQkNDMzE1IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcCAqLzsg
fTsKKwkJQjU2MkRCNjAxN0QzQ0Q2MzAwMTBBRjk2IC8qIEhUTUxFbGVtZW50VHlwZUNoZWNrcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU2MkRCNUUx
N0QzQ0Q1NjAwMTBBRjk2IC8qIEhUTUxFbGVtZW50VHlwZUNoZWNrcy5oICovOyB9OworCQlCNTYy
REI2MTE3RDNDRDY2MDAxMEFGOTYgLyogU1ZHRWxlbWVudFR5cGVDaGVja3MuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1NjJEQjVGMTdEM0NENTYwMDEw
QUY5NiAvKiBTVkdFbGVtZW50VHlwZUNoZWNrcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUI1OENFQjY5MTE5MTM2MDcwMDJBNjc5MCAvKiBKU0Rh
dGFiYXNlU3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjU4Q0VCNjcxMTkxMzYwNzAwMkE2NzkwIC8qIEpTRGF0YWJhc2VTeW5jLmggKi87IH07CiAJ
CUI1OENFQjZBMTE5MTM2MDcwMDJBNjc5MCAvKiBKU0RhdGFiYXNlU3luYy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNThDRUI2ODExOTEzNjA3MDAy
QTY3OTAgLyogSlNEYXRhYmFzZVN5bmMuY3BwICovOyB9OwogCQlCNThDRUI2RDExOTEzNjFDMDAy
QTY3OTAgLyogSlNTUUxUcmFuc2FjdGlvblN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1OENFQjZCMTE5MTM2MUMwMDJBNjc5MCAvKiBKU1NRTFRy
YW5zYWN0aW9uU3luYy5oICovOyB9OwpAQCAtMTExNTEsNiArMTExNTMsOCBAQAogCQlCNTVENUFB
MjExOTEzMUZDMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI1NUQ1QUEzMTE5MTMxRkMwMEJDQzMx
NSAvKiBKU1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNTVENUFBNzExOTEzMjUwMDBCQ0MzMTUgLyogSlNT
UUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCNTYyREI1RTE3RDNDRDU2MDAxMEFGOTYgLyogSFRNTEVsZW1lbnRUeXBl
Q2hlY2tzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEhUTUxFbGVtZW50VHlwZUNoZWNrcy5oOyBwYXRoID0g
Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQnVpbGQvRGVidWcvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9IVE1MRWxlbWVudFR5cGVDaGVja3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQjU2MkRCNUYxN0QzQ0Q1NjAwMTBBRjk2IC8qIFNWR0VsZW1lbnRUeXBlQ2hlY2tz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IFNWR0VsZW1lbnRUeXBlQ2hlY2tzLmg7IHBhdGggPSAuLi8uLi8u
Li8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9CdWlsZC9EZWJ1Zy9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL1NWR0VsZW1lbnRUeXBlQ2hlY2tzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUI1OENFQjY3MTE5MTM2MDcwMDJBNjc5MCAvKiBKU0RhdGFiYXNlU3luYy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RhdGFiYXNlU3luYy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCNThDRUI2ODExOTEzNjA3MDAyQTY3OTAgLyogSlNEYXRhYmFzZVN5bmMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEYXRhYmFzZVN5bmMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNThDRUI2QjExOTEzNjFDMDAyQTY3
OTAgLyogSlNTUUxUcmFuc2FjdGlvblN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNTUUxUcmFuc2FjdGlvblN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE0MzgyLDYgKzE0Mzg2LDcgQEAKIAkJCQk5NzY3Q0UwQTE0NUFCQzEzMDA1RTY0REIgLyog
RXhjZXB0aW9uSW50ZXJmYWNlcy5oICovLAogCQkJCUExN0M4MTIwMEYyQTVDRjcwMDVEQUFFQiAv
KiBIVE1MRWxlbWVudEZhY3RvcnkuY3BwICovLAogCQkJCUExN0M4MTIxMEYyQTVDRjcwMDVEQUFF
QiAvKiBIVE1MRWxlbWVudEZhY3RvcnkuaCAqLywKKwkJCQlCNTYyREI1RTE3RDNDRDU2MDAxMEFG
OTYgLyogSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmggKi8sCiAJCQkJQThCQzA0OTExMjE0RjY5NjAw
QjVGMTIyIC8qIEhUTUxFbnRpdHlUYWJsZS5jcHAgKi8sCiAJCQkJQThEMDZCMzgwQTI2NURDRDAw
NUU3MjAzIC8qIEhUTUxOYW1lcy5jcHAgKi8sCiAJCQkJQThEMDZCMzcwQTI2NURDRDAwNUU3MjAz
IC8qIEhUTUxOYW1lcy5oICovLApAQCAtMTQ0MDUsNiArMTQ0MTAsNyBAQAogCQkJCTUzRUY3NjZB
MTY1MzBBNjEwMDRDQkU0OSAvKiBTZXR0aW5nc01hY3Jvcy5oICovLAogCQkJCTY1NjU4MUU2MDlE
MTUwOEQwMDBFNjFENyAvKiBTVkdFbGVtZW50RmFjdG9yeS5jcHAgKi8sCiAJCQkJNjU2NTgxRTcw
OUQxNTA4RDAwMEU2MUQ3IC8qIFNWR0VsZW1lbnRGYWN0b3J5LmggKi8sCisJCQkJQjU2MkRCNUYx
N0QzQ0Q1NjAwMTBBRjk2IC8qIFNWR0VsZW1lbnRUeXBlQ2hlY2tzLmggKi8sCiAJCQkJNjU2NTgx
RTgwOUQxNTA4RDAwMEU2MUQ3IC8qIFNWR05hbWVzLmNwcCAqLywKIAkJCQk2NTY1ODFFOTA5RDE1
MDhEMDAwRTYxRDcgLyogU1ZHTmFtZXMuaCAqLywKIAkJCQk2NTY1ODFBRTA5RDE0RUU2MDAwRTYx
RDcgLyogVXNlckFnZW50U3R5bGVTaGVldHMuaCAqLywKQEAgLTIxMzM2LDYgKzIxMzQyLDcgQEAK
IAkJCQk4NTkwOUNEQzBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTQ2hhcnNldFJ1bGVJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzJERDkwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNT
U0ZvbnRGYWNlUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU5MDlDREQwQUNDN0E3RTAwREYw
MUYxIC8qIERPTUNTU0ZvbnRGYWNlUnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQlC
NTYyREI2MTE3RDNDRDY2MDAxMEFGOTYgLyogU1ZHRWxlbWVudFR5cGVDaGVja3MuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTg1MDMyRERCMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NJbXBvcnRSdWxl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTkwOUNERTBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NT
SW1wb3J0UnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMkRERDBBQThDOUJF
MDA3RDNCN0QgLyogRE9NQ1NTTWVkaWFSdWxlLmggaW4gSGVhZGVycyAqLywKQEAgLTIyNzM1LDYg
KzIyNzQyLDcgQEAKIAkJCQk4QzBFMzM0RjEzOEE5MkM3MDA4REE5NEYgLyogTGV2ZWxEQldyaXRl
QmF0Y2guaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMwRDkxMTI0OEYwQjMwMEQzQTlDOSAvKiBM
aWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5NjUwRDAwQkYyMjAwNzFCNzgy
IC8qIExpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjU2MkRC
NjAxN0QzQ0Q2MzAwMTBBRjk2IC8qIEhUTUxFbGVtZW50VHlwZUNoZWNrcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTVBQkI3ODcxM0I5MDRCQzAwRjE5N0UzIC8qIExpbmVCcmVha0l0ZXJhdG9yUG9v
bElDVS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUIzMUM5MUUxMEFFMUI4RTAwMEM3QjkyIC8qIExp
bmVDbGFtcFZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OUI1RUFBMjExRTgwMDNEMDBGMjM2
N0UgLyogTGluZUVuZGluZy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFrZV9uYW1lcy5wbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBs
CmluZGV4IDQwNzgyNDEuLjk4MTkzZGIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9t
YWtlX25hbWVzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCkBAIC0x
NTUsMTIgKzE1NSwxNCBAQCBkaWUgIllvdSBtdXN0IHNwZWNpZnkgYSBuYW1lc3BhY2VVUkkgKGUu
Zy4gaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcpIiB1bmxlc3MgJAogJHBhcmFtZXRlcnN7bmFt
ZXNwYWNlUHJlZml4fSA9ICRwYXJhbWV0ZXJze25hbWVzcGFjZX0gdW5sZXNzICRwYXJhbWV0ZXJz
e25hbWVzcGFjZVByZWZpeH07CiAkcGFyYW1ldGVyc3tmYWxsYmFja0pTSW50ZXJmYWNlTmFtZX0g
PSAkcGFyYW1ldGVyc3tmYWxsYmFja0ludGVyZmFjZU5hbWV9IHVubGVzcyAkcGFyYW1ldGVyc3tm
YWxsYmFja0pTSW50ZXJmYWNlTmFtZX07CiAKK215ICR0eXBlQ2hlY2tzQmFzZVBhdGggPSAiJG91
dHB1dERpci8kcGFyYW1ldGVyc3tuYW1lc3BhY2V9RWxlbWVudFR5cGVDaGVja3MiOwogbXkgJG5h
bWVzQmFzZVBhdGggPSAiJG91dHB1dERpci8kcGFyYW1ldGVyc3tuYW1lc3BhY2V9TmFtZXMiOwog
bXkgJGZhY3RvcnlCYXNlUGF0aCA9ICIkb3V0cHV0RGlyLyRwYXJhbWV0ZXJze25hbWVzcGFjZX1F
bGVtZW50RmFjdG9yeSI7CiBteSAkd3JhcHBlckZhY3RvcnlGaWxlTmFtZSA9ICIkcGFyYW1ldGVy
c3tuYW1lc3BhY2V9RWxlbWVudFdyYXBwZXJGYWN0b3J5IjsKIAogcHJpbnROYW1lc0hlYWRlckZp
bGUoIiRuYW1lc0Jhc2VQYXRoLmgiKTsKIHByaW50TmFtZXNDcHBGaWxlKCIkbmFtZXNCYXNlUGF0
aC5jcHAiKTsKK3ByaW50VHlwZUNoZWNrc0hlYWRlckZpbGUoIiR0eXBlQ2hlY2tzQmFzZVBhdGgu
aCIpOwogCiBpZiAoJHByaW50RmFjdG9yeSkgewogICAgIHByaW50RmFjdG9yeUNwcEZpbGUoIiRm
YWN0b3J5QmFzZVBhdGguY3BwIik7CkBAIC0xODcsNyArMTg5LDggQEAgc3ViIGRlZmF1bHRUYWdQ
cm9wZXJ0eUhhc2gKICAgICAgICAgJ3dyYXBwZXJPbmx5SWZNZWRpYUlzQXZhaWxhYmxlJyA9PiAw
LAogICAgICAgICAnY29uZGl0aW9uYWwnID0+IDAsCiAgICAgICAgICdjb250ZXh0Q29uZGl0aW9u
YWwnID0+IDAsCi0gICAgICAgICdydW50aW1lQ29uZGl0aW9uYWwnID0+IDAKKyAgICAgICAgJ3J1
bnRpbWVDb25kaXRpb25hbCcgPT4gMCwKKyAgICAgICAgJ2dlbmVyYXRlVHlwZUNoZWNrcycgPT4g
MAogICAgICk7CiB9CiAKQEAgLTU4Niw3ICs1ODksNyBAQCBzdWIgcHJpbnRMaWNlbnNlSGVhZGVy
CiAgKgogICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIGRvbS9tYWtlX25hbWVzLnBs
IHNjcmlwdC4KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIw
MDkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
NSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMyBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02MTMsNiArNjE2LDUw
IEBAIHN1YiBwcmludExpY2Vuc2VIZWFkZXIKICI7CiB9CiAKK3N1YiBwcmludFR5cGVDaGVja3MK
K3sKKyAgICBteSAoJEYsICRuYW1lc1JlZikgPSBAXzsKKyAgICBteSAlbmFtZXMgPSAlJG5hbWVz
UmVmOworCisgICAgZm9yIG15ICRuYW1lIChzb3J0IGtleXMgJW5hbWVzKSB7CisgICAgICAgIGlm
ICgkcGFyc2VkVGFnc3skbmFtZX17Z2VuZXJhdGVUeXBlQ2hlY2tzfSAhPSAxKSB7CisgICAgICAg
ICAgICBuZXh0OworICAgICAgICB9CisKKyAgICAgICAgbXkgJGNsYXNzID0gJHBhcnNlZFRhZ3N7
JG5hbWV9e2ludGVyZmFjZU5hbWV9OworICAgICAgICBteSAkaGVscGVyID0gImlzJGNsYXNzIjsK
KworICAgICAgICBwcmludCBGICJjbGFzcyAkY2xhc3M7XG4iOworICAgICAgICBwcmludCBGICJp
bmxpbmUgYm9vbCAkaGVscGVyKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpIHsgcmV0dXJuIGVsZW1l
bnQuaGFzVGFnTmFtZSgiLiRwYXJhbWV0ZXJze25hbWVzcGFjZX0uIk5hbWVzOjoiLiRuYW1lLiJU
YWcpOyB9XG4iOworICAgICAgICBwcmludCBGICJpbmxpbmUgYm9vbCAkaGVscGVyKGNvbnN0IEVs
ZW1lbnQqIGVsZW1lbnQpIHsgQVNTRVJUKGVsZW1lbnQpOyByZXR1cm4gJGhlbHBlcigqZWxlbWVu
dCk7IH1cbiI7CisgICAgICAgIHByaW50IEYgImlubGluZSBib29sICRoZWxwZXIoY29uc3QgTm9k
ZSogbm9kZSkgeyBBU1NFUlQobm9kZSk7IHJldHVybiBub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYg
JGhlbHBlcih0b0VsZW1lbnQobm9kZSkpOyB9XG4iOworICAgICAgICBwcmludCBGICJ0ZW1wbGF0
ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8JGNsYXNzPihjb25zdCBFbGVtZW50KiBl
bGVtZW50KSB7IHJldHVybiAkaGVscGVyKGVsZW1lbnQpOyB9XG4iOworCisgICAgICAgIHByaW50
IEYgIlxuIjsKKyAgICB9Cit9CisKK3N1YiBwcmludFR5cGVDaGVja3NIZWFkZXJGaWxlCit7Cisg
ICAgbXkgKCRoZWFkZXJQYXRoKSA9IHNoaWZ0OworICAgIG15ICRGOworICAgIG9wZW4gRiwgIj4k
aGVhZGVyUGF0aCI7CisgICAgcHJpbnRMaWNlbnNlSGVhZGVyKCRGKTsKKworICAgIHByaW50IEYg
IiNpZm5kZWYgIi4kcGFyYW1ldGVyc3tuYW1lc3BhY2V9LiJFbGVtZW50VHlwZUNoZWNrc19oXG4i
OworICAgIHByaW50IEYgIiNkZWZpbmUgIi4kcGFyYW1ldGVyc3tuYW1lc3BhY2V9LiJFbGVtZW50
VHlwZUNoZWNrc19oXG5cbiI7CisgICAgcHJpbnQgRiAiI2luY2x1ZGUgXCJjb25maWcuaFwiXG4i
OworICAgIHByaW50IEYgIiNpbmNsdWRlIFwiIi4kcGFyYW1ldGVyc3tuYW1lc3BhY2V9LiJOYW1l
cy5oXCJcblxuIjsKKyAgICBwcmludCBGICJuYW1lc3BhY2UgV2ViQ29yZSB7XG5cbiI7CisKKyAg
ICBwcmludFR5cGVDaGVja3MoJEYsIFwlYWxsVGFncyk7CisKKyAgICBwcmludCBGICJ9XG5cbiI7
CisgICAgcHJpbnQgRiAiI2VuZGlmXG4iOworCisgICAgY2xvc2UgRjsKK30KKwogc3ViIHByaW50
TmFtZXNIZWFkZXJGaWxlCiB7CiAgICAgbXkgKCRoZWFkZXJQYXRoKSA9IHNoaWZ0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCmluZGV4IGNmNDY5NDguLmQ0YWQ2OWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKQEAgLTE0OSwyNCArMTQ5LDEy
IEBAIGlubGluZSBMaW5rSGFzaCBIVE1MQW5jaG9yRWxlbWVudDo6dmlzaXRlZExpbmtIYXNoKCkg
Y29uc3QKICAgICByZXR1cm4gbV9jYWNoZWRWaXNpdGVkTGlua0hhc2g7IAogfQogCi1pbmxpbmUg
Ym9vbCBpc0hUTUxBbmNob3JFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJu
IG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjphVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNI
VE1MQW5jaG9yRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBl
bGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YVRhZyk7Ci19Ci0KIGlubGluZSBIVE1MQW5j
aG9yRWxlbWVudCogdG9IVE1MQW5jaG9yRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VS
VF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTEFuY2hvckVsZW1lbnQo
bm9kZSkpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MQW5jaG9yRWxlbWVudCo+KG5vZGUp
OwogfQogCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTEFuY2hv
ckVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTEFuY2hvckVs
ZW1lbnQoZWxlbWVudCk7IH0KLQogLy8gRnVuY3Rpb25zIHNoYXJlZCB3aXRoIHRoZSBvdGhlciBh
bmNob3IgZWxlbWVudHMgKGkuZS4sIFNWRykuCiAKIGJvb2wgaXNFbnRlcktleUtleWRvd25FdmVu
dChFdmVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmgKaW5kZXggOGZmYzAy
NS4uZDZjMmMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5oCkBAIC03MCwx
OCArNzAsNiBAQCBwcml2YXRlOgogICAgIFNoYXBlIG1fc2hhcGU7CiB9OwogCi1pbmxpbmUgYm9v
bCBpc0hUTUxBcmVhRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2Rl
LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YXJlYVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRN
TEFyZWFFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1l
bnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjphcmVhVGFnKTsKLX0KLQotdGVtcGxhdGUgPD4gaW5s
aW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxBcmVhRWxlbWVudD4oY29uc3QgRWxlbWVudCog
ZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MQXJlYUVsZW1lbnQoZWxlbWVudCk7IH0KLQogaW5saW5l
IEhUTUxBcmVhRWxlbWVudCogdG9IVE1MQXJlYUVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxBcmVhRWxlbWVu
dChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0VsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5oCmluZGV4IDA3Y2E0
OGQuLjgxNTNiMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5oCkBAIC00
MywxNiArNDMsNiBAQCBwcml2YXRlOgogICAgIEhUTUxBdWRpb0VsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50KiwgYm9vbCk7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxBdWRp
b0VsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1M
TmFtZXM6OmF1ZGlvVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MQXVkaW9FbGVtZW50KEVs
ZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5h
bWVzOjphdWRpb1RhZyk7Ci19Ci0KIGlubGluZSBIVE1MQXVkaW9FbGVtZW50KiB0b0hUTUxBdWRp
b0VsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNB
VElPTighbm9kZSB8fCBpc0hUTUxBdWRpb0VsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEJhc2VFbGVtZW50LmgKaW5kZXggMWEzNWY0Ny4uODhlZjdjNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxCYXNlRWxlbWVudC5oCkBAIC00NCwxOCArNDQsNiBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCByZW1vdmVkRnJvbShDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CiB9OwogCi1p
bmxpbmUgYm9vbCBpc0hUTUxCYXNlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJl
dHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YmFzZVRhZyk7Ci19Ci0KLWlubGluZSBi
b29sIGlzSFRNTEJhc2VFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0
dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpiYXNlVGFnKTsKLX0KLQotdGVtcGxh
dGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxCYXNlRWxlbWVudD4oY29uc3Qg
RWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MQmFzZUVsZW1lbnQoZWxlbWVudCk7IH0K
LQogfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxDYW52YXNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmgKaW5kZXggNjU4MTA5ZC4uMmZjYjAwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TENhbnZhc0VsZW1lbnQuaApAQCAtMTg4LDExICsxODgsNiBAQCBwcml2YXRlOgogICAgIG11dGFi
bGUgUmVmUHRyPEltYWdlPiBtX2NvcGllZEltYWdlOyAvLyBGSVhNRTogVGhpcyBpcyB0ZW1wb3Jh
cnkgZm9yIHBsYXRmb3JtcyB0aGF0IGhhdmUgdG8gY29weSB0aGUgaW1hZ2UgYnVmZmVyIHRvIHJl
bmRlciAoYW5kIGZvciBDU1NDYW52YXNWYWx1ZSkuCiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxD
YW52YXNFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1Rh
Z05hbWUoSFRNTE5hbWVzOjpjYW52YXNUYWcpOwotfQotCiBpbmxpbmUgY29uc3QgSFRNTENhbnZh
c0VsZW1lbnQqIHRvSFRNTENhbnZhc0VsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKIHsKICAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxDYW52YXNFbGVt
ZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaAppbmRleCBhNmRiZWYyLi40ZmYw
MDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCkBAIC0yNSw2ICsyNSw4IEBACiAKICNp
bmNsdWRlICJTdHlsZWRFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJIVE1MRWxlbWVudFR5cGVDaGVj
a3MuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudEZyYWdtZW50Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaAppbmRleCAyYzQ0NGJjLi40
YTM0Y2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaApAQCAt
NjMsMTkgKzYzLDYgQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIHVpbnQ2NF90IG1fZG9jdW1lbnRW
ZXJzaW9uOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MRmllbGRTZXRFbGVtZW50KGNvbnN0IE5v
ZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmlzRWxlbWVudE5vZGUoKSAmJiB0b0VsZW1l
bnQobm9kZSktPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpmaWVsZHNldFRhZyk7Ci19Ci0KLWlubGlu
ZSBib29sIGlzSFRNTEZpZWxkU2V0RWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewot
ICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6ZmllbGRzZXRUYWcpOwot
fQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTEZpZWxkU2V0
RWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MRmllbGRTZXRF
bGVtZW50KGVsZW1lbnQpOyB9Ci0KLQogfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaAppbmRleCA5YTc0MzFhLi42MWE1YTRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKQEAgLTE2NiwxNiArMTY2LDYgQEAgcHJpdmF0
ZToKICAgICBib29sIG1fd2FzRGVtb3RlZDsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTEZvcm1F
bGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5h
bWVzOjpmb3JtVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MRm9ybUVsZW1lbnQoRWxlbWVu
dCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6
OmZvcm1UYWcpOwotfQotCiBpbmxpbmUgSFRNTEZvcm1FbGVtZW50KiB0b0hUTUxGb3JtRWxlbWVu
dChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFu
b2RlIHx8IGlzSFRNTEZvcm1FbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RnJhbWVTZXRFbGVtZW50LmgKaW5kZXggN2RkOTMxZS4uYWMyYTk5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmgKQEAgLTEwMCwxNiArMTAwLDYgQEAgcHJpdmF0
ZToKICAgICBib29sIG1fbm9yZXNpemU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxGcmFtZVNl
dEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFt
ZShIVE1MTmFtZXM6OmZyYW1lc2V0VGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MRnJhbWVT
ZXRFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQt
Pmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpmcmFtZXNldFRhZyk7Ci19Ci0KIGlubGluZSBIVE1MRnJh
bWVTZXRFbGVtZW50KiB0b0hUTUxGcmFtZVNldEVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxGcmFtZVNldEVs
ZW1lbnQobm9kZSkpOwpAQCAtMTIyLDggKzExMiw2IEBAIGlubGluZSBjb25zdCBIVE1MRnJhbWVT
ZXRFbGVtZW50KiB0b0hUTUxGcmFtZVNldEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgSFRNTEZyYW1lU2V0RWxlbWVudCo+KG5vZGUpOwogfQog
Ci10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTEZyYW1lU2V0RWxl
bWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MRnJhbWVTZXRFbGVt
ZW50KGVsZW1lbnQpOyB9Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEhU
TUxGcmFtZVNldEVsZW1lbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaApp
bmRleCA5ZjcxM2NjLi4yNDhlNmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1l
bnQuaApAQCAtMTE1LDE2ICsxMTUsNiBAQCBwcml2YXRlOgogICAgIEF0b21pY1N0cmluZyBtX2Jl
c3RGaXRJbWFnZVVSTDsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTEltYWdlRWxlbWVudChOb2Rl
KiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFn
KTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MSW1hZ2VFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQp
Ci17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbWdUYWcpOwot
fQotCiBpbmxpbmUgSFRNTEltYWdlRWxlbWVudCogdG9IVE1MSW1hZ2VFbGVtZW50KE5vZGUqIG5v
ZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNI
VE1MSW1hZ2VFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmgKaW5kZXggNWI3NjYwYi4uMWQ3ODdiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmgKQEAgLTQ0MywxNiArNDQzLDYgQEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAotaW5s
aW5lIGJvb2wgaXNIVE1MSW5wdXRFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0
dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZyk7Ci19Ci0KLWlubGluZSBi
b29sIGlzSFRNTElucHV0RWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJl
dHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpOwotfQotCiBpbmxp
bmUgSFRNTElucHV0RWxlbWVudCogdG9IVE1MSW5wdXRFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAg
ICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MSW5wdXRF
bGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVs
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmgKaW5kZXgg
YWIzMTU4My4uOTBhMzY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFi
ZWxFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmgK
QEAgLTU1LDE4ICs1NSw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKGJvb2wg
cmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uLCBGb2N1c0RpcmVjdGlvbikgT1ZFUlJJREU7CiB9Owog
Ci1pbmxpbmUgYm9vbCBpc0hUTUxMYWJlbEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAg
ICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmxhYmVsVGFnKTsKLX0KLQotaW5s
aW5lIGJvb2wgaXNIVE1MTGFiZWxFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0g
ICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpsYWJlbFRhZyk7Ci19Ci0K
LXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxIVE1MTGFiZWxFbGVtZW50
Pihjb25zdCBFbGVtZW50KiBlbGVtZW50KSB7IHJldHVybiBpc0hUTUxMYWJlbEVsZW1lbnQoZWxl
bWVudCk7IH0KLQogaW5saW5lIEhUTUxMYWJlbEVsZW1lbnQqIHRvSFRNTExhYmVsRWxlbWVudChO
b2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2Rl
IHx8IGlzSFRNTExhYmVsRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdl
bmRFbGVtZW50LmgKaW5kZXggNTgzMTcyYS4uZGNjMGQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTExlZ2VuZEVsZW1lbnQuaApAQCAtNDUsMTggKzQ1LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIEhUTUxGb3JtRWxlbWVudCogdmlydHVhbEZvcm0oKSBjb25zdCBPVkVSUklERTsKIH07CiAK
LWlubGluZSBib29sIGlzSFRNTExlZ2VuZEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAg
ICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmxlZ2VuZFRhZyk7Ci19Ci0KLWlu
bGluZSBib29sIGlzSFRNTExlZ2VuZEVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsK
LSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmxlZ2VuZFRhZyk7Ci19
Ci0KLXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxIVE1MTGVnZW5kRWxl
bWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MTGVnZW5kRWxlbWVu
dChlbGVtZW50KTsgfQotCiB9IC8vbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFwRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWFwRWxlbWVudC5oCmluZGV4IDIyYjhiNGEuLjhmNjI3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNYXBFbGVtZW50LmgKQEAgLTU0LDE2ICs1NCw2IEBAIHByaXZhdGU6CiAgICAgQXRvbWlj
U3RyaW5nIG1fbmFtZTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTE1hcEVsZW1lbnQoTm9kZSog
bm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6Om1hcFRhZyk7
Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTE1hcEVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkKLXsK
LSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6Om1hcFRhZyk7Ci19Ci0K
IGlubGluZSBIVE1MTWFwRWxlbWVudCogdG9IVE1MTWFwRWxlbWVudChOb2RlKiBub2RlKQogewog
ICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTE1hcEVs
ZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaAppbmRleCA1
ZDEzNmYyLi5jZTc0NjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRl
ckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaApA
QCAtODIsMTEgKzgyLDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TWV0ZXJWYWx1ZUVsZW1lbnQ+
IG1fdmFsdWU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxNZXRlckVsZW1lbnQoTm9kZSogbm9k
ZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6Om1ldGVyVGFnKTsK
LX0KLQogaW5saW5lIEhUTUxNZXRlckVsZW1lbnQqIHRvSFRNTE1ldGVyRWxlbWVudChOb2RlKiBu
b2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlz
SFRNTE1ldGVyRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxPcHRHcm91cEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3Vw
RWxlbWVudC5oCmluZGV4IDU5MzE5N2UuLjMzMGViNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE9wdEdyb3VwRWxlbWVudC5oCkBAIC02MywxNiArNjMsNiBAQCBwcml2YXRlOgogICAgIFJl
ZlB0cjxSZW5kZXJTdHlsZT4gbV9zdHlsZTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTE9wdEdy
b3VwRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdO
YW1lKEhUTUxOYW1lczo6b3B0Z3JvdXBUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxPcHRH
cm91cEVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVu
dC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6Om9wdGdyb3VwVGFnKTsKLX0KLQogaW5saW5lIEhUTUxP
cHRHcm91cEVsZW1lbnQqIHRvSFRNTE9wdEdyb3VwRWxlbWVudChOb2RlKiBub2RlKQogewogICAg
IEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTE9wdEdyb3Vw
RWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRp
b25FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgKaW5k
ZXggMzY0ZTUzMy4uMjc2MmRiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T3B0aW9uRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1l
bnQuaApAQCAtOTUsMTYgKzk1LDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+
IG1fc3R5bGU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxPcHRpb25FbGVtZW50KGNvbnN0IE5v
ZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpvcHRp
b25UYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxPcHRpb25FbGVtZW50KGNvbnN0IEVsZW1l
bnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVz
OjpvcHRpb25UYWcpOwotfQotCiBpbmxpbmUgSFRNTE9wdGlvbkVsZW1lbnQqIHRvSFRNTE9wdGlv
bkVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNB
VElPTighbm9kZSB8fCBpc0hUTUxPcHRpb25FbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MUGFyYW1FbGVtZW50LmgKaW5kZXggYjY1OTVkNi4uZWQwOTFhYjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5oCkBAIC00MCwyMyArNDAsOSBAQCBwcml2YXRlOgog
ICAgIEhUTUxQYXJhbUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAK
ICAgICB2aXJ0dWFsIGJvb2wgaXNVUkxBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJikgY29uc3Qg
T1ZFUlJJREU7Ci0KICAgICB2aXJ0dWFsIHZvaWQgYWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxz
KExpc3RIYXNoU2V0PEtVUkw+JikgY29uc3Q7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxQYXJh
bUVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFt
ZShIVE1MTmFtZXM6OnBhcmFtVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MUGFyYW1FbGVt
ZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1Rh
Z05hbWUoSFRNTE5hbWVzOjpwYXJhbVRhZyk7Ci19Ci0KLXRlbXBsYXRlIDw+IGlubGluZSBib29s
IGlzRWxlbWVudE9mVHlwZTxIVE1MUGFyYW1FbGVtZW50Pihjb25zdCBFbGVtZW50KiBlbGVtZW50
KSB7IHJldHVybiBpc0hUTUxQYXJhbUVsZW1lbnQoZWxlbWVudCk7IH0KLQotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUHJvZ3Jlc3NFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0Vs
ZW1lbnQuaAppbmRleCA2MGMwZmFhLi4zOWZmMjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQcm9ncmVzc0VsZW1lbnQuaApAQCAtNjksMTIgKzY5LDYgQEAgcHJpdmF0ZToKICAgICBQcm9n
cmVzc1ZhbHVlRWxlbWVudCogbV92YWx1ZTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFByb2dy
ZXNzRWxlbWVudChOb2RlKiBub2RlKQotewotICAgIEFTU0VSVChub2RlKTsKLSAgICByZXR1cm4g
bm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnByb2dyZXNzVGFnKTsKLX0KLQogaW5saW5lIEhU
TUxQcm9ncmVzc0VsZW1lbnQqIHRvSFRNTFByb2dyZXNzRWxlbWVudChOb2RlKiBub2RlKQogewog
ICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTFByb2dy
ZXNzRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
Y3JpcHRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmgK
aW5kZXggZWViNjZjNy4uZTMzZDE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU2NyaXB0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVs
ZW1lbnQuaApAQCAtNjcsMTEgKzY3LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8RWxlbWVudD4gY2xvbmVFbGVtZW50V2l0aG91dEF0dHJpYnV0ZXNBbmRDaGlsZHJlbigpOwog
fTsKIAotaW5saW5lIGJvb2wgaXNIVE1MU2NyaXB0RWxlbWVudChOb2RlKiBub2RlKQotewotICAg
IHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6c2NyaXB0VGFnKTsKLX0KLQogaW5s
aW5lIEhUTUxTY3JpcHRFbGVtZW50KiB0b0hUTUxTY3JpcHRFbGVtZW50KE5vZGUqIG5vZGUpCiB7
CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgbm9kZS0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OnNjcmlwdFRhZykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291
cmNlRWxlbWVudC5oCmluZGV4IGZjOTIyYmMuLmRjMTgyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTb3VyY2VFbGVtZW50LmgKQEAgLTU3LDE5ICs1Nyw2IEBAIHByaXZhdGU6CiAgICAgVGlt
ZXI8SFRNTFNvdXJjZUVsZW1lbnQ+IG1fZXJyb3JFdmVudFRpbWVyOwogfTsKIAotaW5saW5lIGJv
b2wgaXNIVE1MU291cmNlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBu
b2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6c291cmNlVGFnKTsKLX0KLQotaW5saW5lIGJvb2wg
aXNIVE1MU291cmNlRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVy
biBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6c291cmNlVGFnKTsKLX0KLQotdGVtcGxh
dGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxTb3VyY2VFbGVtZW50Pihjb25z
dCBFbGVtZW50KiBlbGVtZW50KSB7IHJldHVybiBpc0hUTUxTb3VyY2VFbGVtZW50KGVsZW1lbnQp
OyB9Ci0KLQogfSAvL25hbWVzcGFjZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5
bGVFbGVtZW50LmgKaW5kZXggNTQ4ZWE5Zi4uOTIwZGVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU3R5bGVFbGVtZW50LmgKQEAgLTkzLDI0ICs5MywxMiBAQCBwcml2YXRlOgogICAgIFNjb3Bl
ZFN0eWxlUmVnaXN0cmF0aW9uU3RhdGUgbV9zY29wZWRTdHlsZVJlZ2lzdHJhdGlvblN0YXRlOwog
fTsKIAotaW5saW5lIGJvb2wgaXNIVE1MU3R5bGVFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17
Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpzdHlsZVRhZyk7Ci19Ci0K
LWlubGluZSBib29sIGlzSFRNTFN0eWxlRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQot
ewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6c3R5bGVUYWcpOwot
fQotCiBpbmxpbmUgSFRNTFN0eWxlRWxlbWVudCogdG9IVE1MU3R5bGVFbGVtZW50KE5vZGUqIG5v
ZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNI
VE1MU3R5bGVFbGVtZW50KG5vZGUpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTFN0eWxl
RWxlbWVudCo+KG5vZGUpOwogfQogCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRP
ZlR5cGU8SFRNTFN0eWxlRWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4g
aXNIVE1MU3R5bGVFbGVtZW50KGVsZW1lbnQpOyB9Ci0KIH0gLy9uYW1lc3BhY2UKIAogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5oCmluZGV4IGVjMjE0MDEuLjBkNzZh
YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5oCkBAIC0xMDAsMTYgKzEw
MCw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFN0eWxlUHJvcGVydHlTZXQ+IG1fc2hhcmVkQ2Vs
bFN0eWxlOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MVGFibGVFbGVtZW50KGNvbnN0IE5vZGUq
IG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0YWJsZVRh
Zyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTFRhYmxlRWxlbWVudChjb25zdCBFbGVtZW50KiBl
bGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGFi
bGVUYWcpOwotfQotCiBpbmxpbmUgSFRNTFRhYmxlRWxlbWVudCogdG9IVE1MVGFibGVFbGVtZW50
KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5v
ZGUgfHwgaXNIVE1MVGFibGVFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGFibGVSb3dFbGVtZW50LmgKaW5kZXggYmVkNzUxYy4uNTNlZjRmMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmgKQEAgLTUxLDE4ICs1MSw2IEBAIHByaXZhdGU6
CiAgICAgSFRNTFRhYmxlUm93RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
KTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFRhYmxlUm93RWxlbWVudChjb25zdCBOb2RlKiBu
b2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dHJUYWcpOwot
fQotCi1pbmxpbmUgYm9vbCBpc0hUTUxUYWJsZVJvd0VsZW1lbnQoY29uc3QgRWxlbWVudCogZWxl
bWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRyVGFn
KTsKLX0KLQotdGVtcGxhdGU8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTFRhYmxl
Um93RWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MVGFibGVS
b3dFbGVtZW50KGVsZW1lbnQpOyB9Ci0KIGlubGluZSBIVE1MVGFibGVSb3dFbGVtZW50KiB0b0hU
TUxUYWJsZVJvd0VsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxUYWJsZVJvd0VsZW1lbnQobm9kZSkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbgppbmRleCBmMmQ0ZTUwLi40NjYxNTI0NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KQEAgLTMsMTcgKzMsMTcgQEAgbmFtZXNwYWNlUHJl
Zml4PSJ4aHRtbCIKIG5hbWVzcGFjZVVSST0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIK
IGZhbGxiYWNrSW50ZXJmYWNlTmFtZT0iSFRNTFVua25vd25FbGVtZW50IgogCi1hIGludGVyZmFj
ZU5hbWU9SFRNTEFuY2hvckVsZW1lbnQKK2EgaW50ZXJmYWNlTmFtZT1IVE1MQW5jaG9yRWxlbWVu
dCwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBhYmJyIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGFj
cm9ueW0gaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogYWRkcmVzcyBpbnRlcmZhY2VOYW1lPUhU
TUxFbGVtZW50CiBhcHBsZXQgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlcgotYXJlYQor
YXJlYSBnZW5lcmF0ZVR5cGVDaGVja3MKIGFydGljbGUgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVu
dAogYXNpZGUgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotYXVkaW8gd3JhcHBlck9ubHlJZk1l
ZGlhSXNBdmFpbGFibGUsIGNvbmRpdGlvbmFsPVZJREVPLCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRl
ZEJ5UGFyc2VyCithdWRpbyB3cmFwcGVyT25seUlmTWVkaWFJc0F2YWlsYWJsZSwgY29uZGl0aW9u
YWw9VklERU8sIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIsIGdlbmVyYXRlVHlwZUNo
ZWNrcwogYiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50Ci1iYXNlCitiYXNlIGdlbmVyYXRlVHlw
ZUNoZWNrcwogYmFzZWZvbnQgaW50ZXJmYWNlTmFtZT1IVE1MQmFzZUZvbnRFbGVtZW50CiBiZGkg
aW50ZXJmYWNlTmFtZT1IVE1MQkRJRWxlbWVudCwgSlNJbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50
CiBiZG8gaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudApAQCAtMjMsNyArMjMsNyBAQCBibG9ja3F1
b3RlIGludGVyZmFjZU5hbWU9SFRNTFF1b3RlRWxlbWVudAogYm9keQogYnIgaW50ZXJmYWNlTmFt
ZT1IVE1MQlJFbGVtZW50CiBidXR0b24gY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50Ci1jYW52
YXMKK2NhbnZhcyBnZW5lcmF0ZVR5cGVDaGVja3MKIGNhcHRpb24gaW50ZXJmYWNlTmFtZT1IVE1M
VGFibGVDYXB0aW9uRWxlbWVudAogY2VudGVyIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGNp
dGUgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudApAQCAtNDQsMTQgKzQ0LDE0IEBAIGRsIGludGVy
ZmFjZU5hbWU9SFRNTERMaXN0RWxlbWVudAogZHQgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAog
ZW0gaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogZW1iZWQgY29uc3RydWN0b3JOZWVkc0NyZWF0
ZWRCeVBhcnNlcgotZmllbGRzZXQgaW50ZXJmYWNlTmFtZT1IVE1MRmllbGRTZXRFbGVtZW50LCBj
b25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQKK2ZpZWxkc2V0IGludGVyZmFjZU5hbWU9SFRNTEZp
ZWxkU2V0RWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50LCBnZW5lcmF0ZVR5cGVD
aGVja3MKIGZpZ2NhcHRpb24gaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogZmlndXJlIGludGVy
ZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGZvbnQKIGZvb3RlciBpbnRlcmZhY2VOYW1lPUhUTUxFbGVt
ZW50Ci1mb3JtCitmb3JtIGdlbmVyYXRlVHlwZUNoZWNrcwogZnJhbWUKLWZyYW1lc2V0IGludGVy
ZmFjZU5hbWU9SFRNTEZyYW1lU2V0RWxlbWVudAorZnJhbWVzZXQgaW50ZXJmYWNlTmFtZT1IVE1M
RnJhbWVTZXRFbGVtZW50LCBnZW5lcmF0ZVR5cGVDaGVja3MKIGgxIGludGVyZmFjZU5hbWU9SFRN
TEhlYWRpbmdFbGVtZW50CiBoMiBpbnRlcmZhY2VOYW1lPUhUTUxIZWFkaW5nRWxlbWVudAogaDMg
aW50ZXJmYWNlTmFtZT1IVE1MSGVhZGluZ0VsZW1lbnQKQEAgLTY2LDI1ICs2NiwyNSBAQCBodG1s
CiBpIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGlmcmFtZSBpbnRlcmZhY2VOYW1lPUhUTUxJ
RnJhbWVFbGVtZW50CiBpbWFnZSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50Ci1pbWcgaW50ZXJm
YWNlTmFtZT1IVE1MSW1hZ2VFbGVtZW50LCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQKLWlu
cHV0IGNvbnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRC
eVBhcnNlcgoraW1nIGludGVyZmFjZU5hbWU9SFRNTEltYWdlRWxlbWVudCwgY29uc3RydWN0b3JO
ZWVkc0Zvcm1FbGVtZW50LCBnZW5lcmF0ZVR5cGVDaGVja3MKK2lucHV0IGNvbnN0cnVjdG9yTmVl
ZHNGb3JtRWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlciwgZ2VuZXJhdGVU
eXBlQ2hlY2tzCiBpbnMgaW50ZXJmYWNlTmFtZT1IVE1MTW9kRWxlbWVudAogaXNpbmRleCBpbnRl
cmZhY2VOYW1lPUhUTUxVbmtub3duRWxlbWVudAoga2JkIGludGVyZmFjZU5hbWU9SFRNTEVsZW1l
bnQKIGtleWdlbiBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQKLWxhYmVsCitsYWJlbCBnZW5l
cmF0ZVR5cGVDaGVja3MKIGxheWVyIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLWxlZ2VuZAor
bGVnZW5kIGdlbmVyYXRlVHlwZUNoZWNrcwogbGkgaW50ZXJmYWNlTmFtZT1IVE1MTElFbGVtZW50
CiBsaW5rIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIKIGxpc3RpbmcgaW50ZXJmYWNl
TmFtZT1IVE1MUHJlRWxlbWVudAogbWFpbiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50Ci1tYXAK
K21hcCBnZW5lcmF0ZVR5cGVDaGVja3MKIG1hcmsgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAog
bWFycXVlZQogbWVudQogbWV0YQotbWV0ZXIgaW50ZXJmYWNlTmFtZT1IVE1MTWV0ZXJFbGVtZW50
LCBjb25kaXRpb25hbD1NRVRFUl9FTEVNRU5UCittZXRlciBpbnRlcmZhY2VOYW1lPUhUTUxNZXRl
ckVsZW1lbnQsIGNvbmRpdGlvbmFsPU1FVEVSX0VMRU1FTlQsIGdlbmVyYXRlVHlwZUNoZWNrcwog
bmF2IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIG5vYnIgaW50ZXJmYWNlTmFtZT1IVE1MRWxl
bWVudAogbm9lbWJlZCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CkBAIC05Miw0MyArOTIsNDMg
QEAgbm9mcmFtZXMgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogbm9sYXllciBpbnRlcmZhY2VO
YW1lPUhUTUxFbGVtZW50CiBvYmplY3QgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50LCBjb25z
dHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCiBvbCBpbnRlcmZhY2VOYW1lPUhUTUxPTGlzdEVs
ZW1lbnQKLW9wdGdyb3VwIGludGVyZmFjZU5hbWU9SFRNTE9wdEdyb3VwRWxlbWVudAotb3B0aW9u
CitvcHRncm91cCBpbnRlcmZhY2VOYW1lPUhUTUxPcHRHcm91cEVsZW1lbnQsIGdlbmVyYXRlVHlw
ZUNoZWNrcworb3B0aW9uIGdlbmVyYXRlVHlwZUNoZWNrcwogb3V0cHV0IGNvbnN0cnVjdG9yTmVl
ZHNGb3JtRWxlbWVudAogcCBpbnRlcmZhY2VOYW1lPUhUTUxQYXJhZ3JhcGhFbGVtZW50Ci1wYXJh
bQorcGFyYW0gZ2VuZXJhdGVUeXBlQ2hlY2tzCiBwbGFpbnRleHQgaW50ZXJmYWNlTmFtZT1IVE1M
RWxlbWVudAogcHJlCi1wcm9ncmVzcyBpbnRlcmZhY2VOYW1lPUhUTUxQcm9ncmVzc0VsZW1lbnQs
IGNvbmRpdGlvbmFsPVBST0dSRVNTX0VMRU1FTlQKK3Byb2dyZXNzIGludGVyZmFjZU5hbWU9SFRN
TFByb2dyZXNzRWxlbWVudCwgY29uZGl0aW9uYWw9UFJPR1JFU1NfRUxFTUVOVCwgZ2VuZXJhdGVU
eXBlQ2hlY2tzCiBxIGludGVyZmFjZU5hbWU9SFRNTFF1b3RlRWxlbWVudAogcnAgaW50ZXJmYWNl
TmFtZT1IVE1MRWxlbWVudAogcnQgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogcnVieSBpbnRl
cmZhY2VOYW1lPUhUTUxFbGVtZW50CiBzIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHNhbXAg
aW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotc2NyaXB0IGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVk
QnlQYXJzZXIKK3NjcmlwdCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyLCBnZW5lcmF0
ZVR5cGVDaGVja3MKIHNlY3Rpb24gaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogc2VsZWN0IGNv
bnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudAogc21hbGwgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVu
dAotc291cmNlIHdyYXBwZXJPbmx5SWZNZWRpYUlzQXZhaWxhYmxlLCBjb25kaXRpb25hbD1WSURF
Tworc291cmNlIHdyYXBwZXJPbmx5SWZNZWRpYUlzQXZhaWxhYmxlLCBjb25kaXRpb25hbD1WSURF
TywgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBzcGFuCiBzdHJpa2UgaW50ZXJmYWNlTmFtZT1IVE1MRWxl
bWVudAogc3Ryb25nIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLXN0eWxlIGNvbnN0cnVjdG9y
TmVlZHNDcmVhdGVkQnlQYXJzZXIKK3N0eWxlIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJz
ZXIsIGdlbmVyYXRlVHlwZUNoZWNrcwogc3ViIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHN1
bW1hcnkgaW50ZXJmYWNlTmFtZT1IVE1MU3VtbWFyeUVsZW1lbnQsIEpTSW50ZXJmYWNlTmFtZT1I
VE1MRWxlbWVudCwgY29uZGl0aW9uYWw9REVUQUlMU19FTEVNRU5UCiBzdXAgaW50ZXJmYWNlTmFt
ZT1IVE1MRWxlbWVudAotdGFibGUKK3RhYmxlIGdlbmVyYXRlVHlwZUNoZWNrcwogdGJvZHkgaW50
ZXJmYWNlTmFtZT1IVE1MVGFibGVTZWN0aW9uRWxlbWVudAogdGQgaW50ZXJmYWNlTmFtZT1IVE1M
VGFibGVDZWxsRWxlbWVudAogdGVtcGxhdGUgY29uZGl0aW9uYWw9VEVNUExBVEVfRUxFTUVOVAot
dGV4dGFyZWEgaW50ZXJmYWNlTmFtZT1IVE1MVGV4dEFyZWFFbGVtZW50LCBjb25zdHJ1Y3Rvck5l
ZWRzRm9ybUVsZW1lbnQKK3RleHRhcmVhIGludGVyZmFjZU5hbWU9SFRNTFRleHRBcmVhRWxlbWVu
dCwgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50LCBnZW5lcmF0ZVR5cGVDaGVja3MKIHRmb290
IGludGVyZmFjZU5hbWU9SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQKIHRoIGludGVyZmFjZU5hbWU9
SFRNTFRhYmxlQ2VsbEVsZW1lbnQKIHRoZWFkIGludGVyZmFjZU5hbWU9SFRNTFRhYmxlU2VjdGlv
bkVsZW1lbnQKLXRpdGxlCi10ciBpbnRlcmZhY2VOYW1lPUhUTUxUYWJsZVJvd0VsZW1lbnQKLXRy
YWNrIHdyYXBwZXJPbmx5SWZNZWRpYUlzQXZhaWxhYmxlLCBjb25kaXRpb25hbD1WSURFT19UUkFD
SwordGl0bGUgZ2VuZXJhdGVUeXBlQ2hlY2tzCit0ciBpbnRlcmZhY2VOYW1lPUhUTUxUYWJsZVJv
d0VsZW1lbnQsIGdlbmVyYXRlVHlwZUNoZWNrcwordHJhY2sgd3JhcHBlck9ubHlJZk1lZGlhSXNB
dmFpbGFibGUsIGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBnZW5lcmF0ZVR5cGVDaGVja3MKIHR0
IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHUgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAog
dWwgaW50ZXJmYWNlTmFtZT1IVE1MVUxpc3RFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRBcmVhRWxlbWVudC5oCmluZGV4IGZiZjg1YmEuLjY3NTUxMTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCkBAIC0xMjcsMTYgKzEyNyw2IEBAIHByaXZh
dGU6CiAgICAgbXV0YWJsZSBib29sIG1fd2FzTW9kaWZpZWRCeVVzZXI7CiB9OwogCi1pbmxpbmUg
Ym9vbCBpc0hUTUxUZXh0QXJlYUVsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9k
ZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRleHRhcmVhVGFnKTsKLX0KLQotaW5saW5lIGJvb2wg
aXNIVE1MVGV4dEFyZWFFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVs
ZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0ZXh0YXJlYVRhZyk7Ci19Ci0KIGlubGluZSBI
VE1MVGV4dEFyZWFFbGVtZW50KiB0b0hUTUxUZXh0QXJlYUVsZW1lbnQoTm9kZSogbm9kZSkKIHsK
ICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxUZXh0
QXJlYUVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGl0bGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUaXRsZUVsZW1lbnQuaApp
bmRleCBkZGY2ZGE3Li5iNjk0ZTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUaXRsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUaXRsZUVsZW1l
bnQuaApAQCAtNDYsMjQgKzQ2LDEyIEBAIHByaXZhdGU6CiAgICAgU3RyaW5nV2l0aERpcmVjdGlv
biBtX3RpdGxlOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MVGl0bGVFbGVtZW50KGNvbnN0IE5v
ZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0aXRs
ZVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTFRpdGxlRWxlbWVudChjb25zdCBFbGVtZW50
KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6
dGl0bGVUYWcpOwotfQotCiBpbmxpbmUgSFRNTFRpdGxlRWxlbWVudCogdG9IVE1MVGl0bGVFbGVt
ZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04o
IW5vZGUgfHwgaXNIVE1MVGl0bGVFbGVtZW50KG5vZGUpKTsKICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8SFRNTFRpdGxlRWxlbWVudCo+KG5vZGUpOwogfQogCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9v
bCBpc0VsZW1lbnRPZlR5cGU8SFRNTFRpdGxlRWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVu
dCkgeyByZXR1cm4gaXNIVE1MVGl0bGVFbGVtZW50KGVsZW1lbnQpOyB9Ci0KIH0gLy9uYW1lc3Bh
Y2UKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0Vs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5oCmluZGV4IGM3
OTNiMzQuLjlkOGViM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNr
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5oCkBA
IC05NywxOSArOTcsNiBAQCBwcml2YXRlOgogICAgIFRpbWVyPEhUTUxUcmFja0VsZW1lbnQ+IG1f
bG9hZFRpbWVyOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MVHJhY2tFbGVtZW50KGNvbnN0IE5v
ZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0cmFj
a1RhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTFRyYWNrRWxlbWVudChjb25zdCBFbGVtZW50
KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6
dHJhY2tUYWcpOwotfQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8
SFRNTFRyYWNrRWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1M
VHJhY2tFbGVtZW50KGVsZW1lbnQpOyB9Ci0KLQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudC5oCmluZGV4IDc2YmRlNzAuLmIxM2YwMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaApA
QCAtMjYsNiArMjYsNyBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlO
YW1lcy5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nLmgiCisjaW5jbHVkZSAiU1ZHRWxl
bWVudFR5cGVDaGVja3MuaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJT
VkdMb2NhdGFibGUuaCIKICNpbmNsdWRlICJTVkdQYXJzaW5nRXJyb3IuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnRFbGVtZW50LmgKaW5kZXggMDFmZTZjMi4uMDY4MWE2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnRFbGVtZW50LmgKQEAgLTg5LDExICs4OSw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X2lzR2x5cGhDYWNoZVZhbGlkOwogfTsKIAotaW5saW5lIGJvb2wgaXNTVkdGb250RWxlbWVudChj
b25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVz
Ojpmb250VGFnKTsKLX0KLQogaW5saW5lIFNWR0ZvbnRFbGVtZW50KiB0b1NWR0ZvbnRFbGVtZW50
KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5v
ZGUgfHwgaXNTVkdGb250RWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZh
Y2VFbGVtZW50LmgKaW5kZXggZGFiNDI5MC4uNmU3ZDhlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb250RmFjZUVsZW1lbnQuaApAQCAtNjcsMTggKzY3LDYgQEAgcHJpdmF0ZToKICAgICBTVkdG
b250RWxlbWVudCogbV9mb250RWxlbWVudDsKIH07CiAKLWlubGluZSBib29sIGlzU1ZHRm9udEZh
Y2VFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05h
bWUoU1ZHTmFtZXM6OmZvbnRfZmFjZVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzU1ZHRm9udEZh
Y2VFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQt
Pmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZvbnRfZmFjZVRhZyk7Ci19Ci0KLXRlbXBsYXRlIDw+IGlu
bGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxTVkdGb250RmFjZUVsZW1lbnQ+KGNvbnN0IEVsZW1l
bnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzU1ZHRm9udEZhY2VFbGVtZW50KGVsZW1lbnQpOyB9Ci0K
IGlubGluZSBTVkdGb250RmFjZUVsZW1lbnQqIHRvU1ZHRm9udEZhY2VFbGVtZW50KE5vZGUqIG5v
ZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNT
VkdGb250RmFjZUVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWln
bk9iamVjdEVsZW1lbnQuaAppbmRleCBiMGRjNjIwLi44OTM2MzA4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaApAQCAtNTksMTkgKzU5LDYgQEAgcHJp
dmF0ZToKICAgICBFTkRfREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUSUVTCiB9OwogCi1pbmxpbmUg
Ym9vbCBpc1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAg
cmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZvcmVpZ25PYmplY3RUYWcpOwotfQot
Ci1pbmxpbmUgYm9vbCBpc1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVs
ZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZvcmVp
Z25PYmplY3RUYWcpOwotfQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5
cGU8U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0
dXJuIGlzU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQoZWxlbWVudCk7IH0KLQotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0lt
YWdlRWxlbWVudC5oCmluZGV4IDljZDU3OTMuLjkxMzRmMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
SW1hZ2VFbGVtZW50LmgKQEAgLTc3LDExICs3Nyw2IEBAIHByaXZhdGU6CiAgICAgU1ZHSW1hZ2VM
b2FkZXIgbV9pbWFnZUxvYWRlcjsKIH07CiAKLWlubGluZSBib29sIGlzU1ZHSW1hZ2VFbGVtZW50
KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFt
ZXM6OmltYWdlVGFnKTsKLX0KLQogaW5saW5lIFNWR0ltYWdlRWxlbWVudCogdG9TVkdJbWFnZUVs
ZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
Tighbm9kZSB8fCBpc1NWR0ltYWdlRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Nj
cmlwdEVsZW1lbnQuaAppbmRleCBlNjI1NGM1Li5jYWEwOTgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTY3JpcHRFbGVtZW50LmgKQEAgLTg4LDExICs4OCw2IEBAIHByaXZhdGU6CiAgICAgVGltZXI8
U1ZHRWxlbWVudD4gbV9zdmdMb2FkRXZlbnRUaW1lcjsKIH07CiAKLWlubGluZSBib29sIGlzU1ZH
U2NyaXB0RWxlbWVudChOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1l
KFNWR05hbWVzOjpzY3JpcHRUYWcpOwotfQotCiBpbmxpbmUgU1ZHU2NyaXB0RWxlbWVudCogdG9T
VkdTY3JpcHRFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlf
SU1QTElDQVRJT04oIW5vZGUgfHwgbm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6c2NyaXB0VGFn
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvc3ZndGFncy5pbiBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9zdmd0YWdzLmluCmluZGV4IDdkYjQ4MTQuLmM0MDYzMTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9zdmd0YWdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9z
dmd0YWdzLmluCkBAIC01MywyMSArNTMsMjEgQEAgZmVUdXJidWxlbmNlCiBmaWx0ZXIKICNlbmRp
ZgogI2lmIEVOQUJMRV9TVkdfRk9OVFMKLWZvbnQKLWZvbnRfZmFjZQorZm9udCBnZW5lcmF0ZVR5
cGVDaGVja3MKK2ZvbnRfZmFjZSBnZW5lcmF0ZVR5cGVDaGVja3MKIGZvbnRfZmFjZV9mb3JtYXQK
IGZvbnRfZmFjZV9uYW1lCiBmb250X2ZhY2Vfc3JjCiBmb250X2ZhY2VfdXJpCiAjZW5kaWYKLWZv
cmVpZ25PYmplY3QKK2ZvcmVpZ25PYmplY3QgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBnCiAjaWYgRU5B
QkxFX1NWR19GT05UUwogZ2x5cGgKIGdseXBoUmVmCiBoa2VybiBpbnRlcmZhY2VOYW1lPVNWR0hL
ZXJuRWxlbWVudAogI2VuZGlmCi1pbWFnZQoraW1hZ2UgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBsaW5l
CiBsaW5lYXJHcmFkaWVudAogbWFya2VyCkBAIC04Myw3ICs4Myw3IEBAIHBvbHlnb24KIHBvbHls
aW5lCiByYWRpYWxHcmFkaWVudAogcmVjdAotc2NyaXB0IGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVk
QnlQYXJzZXIKK3NjcmlwdCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyLCBnZW5lcmF0
ZVR5cGVDaGVja3MKIHN0b3AKIHN0eWxlIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIK
IHN2ZyBpbnRlcmZhY2VOYW1lPVNWR1NWR0VsZW1lbnQK
</data>
<flag name="commit-queue"
          id="232394"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210290</attachid>
            <date>2013-09-02 08:33:49 -0700</date>
            <delta_ts>2013-09-02 08:54:02 -0700</delta_ts>
            <desc>No? This time?</desc>
            <filename>land-120584.diff</filename>
            <type>text/plain</type>
            <size>42954</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkZTViN2Q4Li41YWU3NThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkg
QEAKKzIwMTMtMDktMDEgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIEdlbmVyYXRlIGlzRm9vRWxlbWVudCgpIGZ1bmN0aW9ucyBmcm9tIHRhZ25hbWUgZGF0YS4K
KyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyMDU4ND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBBZGQgYSAiZ2VuZXJhdGVUeXBlQ2hlY2tz
IiBhdHRyaWJ1dGUgdGhhdCBjYW4gYmUgdXNlZCBpbiBIVE1MVGFnTmFtZXMuaW4gJiBmcmllbmRz
LgorICAgICAgICBJZiBwcmVzZW50LCBpc0Zvb0VsZW1lbnQoKSBzdHlsZSBoZWxwZXJzIHdpbGwg
YmUgYWRkZWQgdG8gSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmguCisgICAgICAgIFRoaXMgYWxzbyBv
dXRwdXRzIGFuIGlzRWxlbWVudE9mVHlwZTxUPiBjaGVjayBmb3IgdGhlIEVsZW1lbnQgaXRlcmF0
b3JzLgorCisgICAgICAgIFJlbW92ZWQgYWxsIHRoZSBoYW5kLXdyaXR0ZW4gaXNGb29FbGVtZW50
KCkgZnVuY3Rpb25zIHRoYXQgb25seSBjaGVja2VkIHRhZyBuYW1lLgorCisgICAgICAgICogaHRt
bC9IVE1MVGFnTmFtZXMuaW46CisgICAgICAgICogc3ZnL3N2Z3RhZ3MuaW46CisKKyAgICAgICAg
ICAgIEFkZGVkICJnZW5lcmF0ZVR5cGVDaGVja3MiIGF0dHJpYnV0ZSBhcyBhcHByb3ByaWF0ZS4K
KworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3Qu
YW06CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgICAgIEFkZGVk
IHRvIGJ1aWxkIHN5c3RlbXMgYmFzZWQgb24gaG93IEhUTUxOYW1lcy5oIHdhcyBkb25lLgorICAg
ICAgICAgICAgV2UncmUganVzdCBvdXRwdXR0aW5nIGFuIGFkZGl0aW9uYWwgaGVhZGVyIGZpbGUg
aW4gdGhlIGdlbmVyYXRlZCBjb2RlIGRpcmVjdG9yeQorICAgICAgICAgICAgc28gSSBzdXNwZWN0
IG1vc3QgcG9ydHMgd2lsbCBqdXN0IHBpY2sgdGhpcyB1cCBhdXRvbWFnaWNhbGx5LgorCisgICAg
ICAgICogZG9tL21ha2VfbmFtZXMucGw6CisgICAgICAgIChkZWZhdWx0VGFnUHJvcGVydHlIYXNo
KToKKyAgICAgICAgKHByaW50TGljZW5zZUhlYWRlcik6CisgICAgICAgIChwcmludFR5cGVDaGVj
a3MpOgorICAgICAgICAocHJpbnRUeXBlQ2hlY2tzSGVhZGVyRmlsZSk6CisKKyAgICAgICAgICAg
IEdlbmVyYXRlIGEgc2VwYXJhdGUgZmlsZSBmb3IgZWFjaCBuYW1lc3BhY2Ugd2l0aCBpc0Zvb0Vs
ZW1lbnQoKSBoZWxwZXJzIGZvcgorICAgICAgICAgICAgZWxlbWVudHMgd2l0aCAiZ2VuZXJhdGVU
eXBlQ2hlY2tzIiBhdHRyaWJ1dGUgc2V0LgorCiAyMDEzLTA5LTAyICBDb21taXQgUXVldWUgIDxj
b21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTU0OTU1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA0ZDdlMTgwLi5hNGI4OGU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtMjk4LDYgKzI5OCw3IEBAIERlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvUGx1Z0luc1Jlc291cmNlcy5oOiAkKFdlYkNvcmUpL2Nzcy9tYWtlLWNzcy1maWxlLWFycmF5
cy5wCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5j
cHA6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTEVsZW1lbnRGYWN0b3J5LmNwcAogRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9IVE1MRWxlbWVudEZhY3RvcnkuY3BwOiBEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0hUTUxFbGVtZW50RmFjdG9yeS5oCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxF
bGVtZW50RmFjdG9yeS5oOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5jcHAKK0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmg6IERlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSFRNTE5hbWVzLmgKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVz
LmNwcDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaAogRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9IVE1MTmFtZXMuaDogJChXZWJDb3JlKS9kb20vbWFrZV9uYW1lcy5wbCAkKFdlYkNv
cmUpL2JpbmRpbmdzL3NjcmlwdHMvSGFzaGVyLnBtICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0
cy9TdGF0aWNTdHJpbmcucG0gJChXZWJDb3JlKS9odG1sL0hUTUxUYWdOYW1lcy5pbiAkKFdlYkNv
cmUpL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCiAJJChBTV9WX0dFTikkKFBFUkwpIC1JJChX
ZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzICQ8IC0tdGFncyAkKFdlYkNvcmUpL2h0bWwvSFRNTFRh
Z05hbWVzLmluIC0tYXR0cnMgJChXZWJDb3JlKS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiAt
LWV4dHJhRGVmaW5lcyAiJChmZWF0dXJlX2RlZmluZXMpIiAtLWZhY3RvcnkgLS13cmFwcGVyRmFj
dG9yeSAtLW91dHB1dERpciAiJChHRU5TT1VSQ0VTX1dFQkNPUkUpIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KaW5kZXggZWVmYzkwNi4uYmRmN2I3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCkBAIC0xNSw2ICsxNSw3IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9FeGNlcHRpb25JbnRlcmZhY2VzLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSFRNTEVsZW1lbnRGYWN0b3J5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9IVE1MRWxlbWVudEZhY3RvcnkuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9I
VE1MRWxlbWVudFR5cGVDaGVja3MuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MRW50
aXR5VGFibGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmggXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMDAyYjM3NS4uMGI0NGQwZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBA
IC0xODI0MSw2ICsxODI0MSw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcRXhjZXB0aW9uSGVhZGVycy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUp
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEV4Y2VwdGlvbkludGVyZmFjZXMuaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBs
YXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xIVE1MRWxl
bWVudEZhY3RvcnkuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xIVE1MRWxlbWVudFR5cGVDaGVja3MuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJl
KVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xIVE1MTmFtZXMuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJj
aGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xJbmplY3RlZFNjcmlwdENh
bnZhc01vZHVsZVNvdXJjZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEluamVjdGVkU2NyaXB0U291cmNlLmgiIC8+CkBAIC0xODY5OCw2ICsx
ODY5OSw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcTWF0aE1MRWxlbWVudEZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xNYXRoTUxOYW1lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1
cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFNWR0VsZW1lbnRGYWN0b3J5LmgiIC8+
CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQ
bGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcU1ZHRWxl
bWVudFR5cGVDaGVja3MuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xTVkdOYW1lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXFVzZXJBZ2VudFN0eWxlU2hlZXRzLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFy
Y2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcV2ViS2l0Rm9udEZhbWls
eU5hbWVzLmgiIC8+CkBAIC0yMTQwNiw0ICsyMTQwOCw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJl
bD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBkYTNmZjI4Li4yYTVjOTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NTAxLDYgKzQ1MDEsOCBAQAogCQlCNTVENUFBNDEx
OTEzMUZDMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU1RDVBQTIxMTkxMzFGQzAw
QkNDMzE1IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suaCAqLzsgfTsKIAkJQjU1RDVB
QTUxMTkxMzFGQzAwQkNDMzE1IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU1RDVBQTMxMTkx
MzFGQzAwQkNDMzE1IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suY3BwICovOyB9Owog
CQlCNTVENUFBOTExOTEzMjUwMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU1RDVB
QTcxMTkxMzI1MDAwQkNDMzE1IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcCAqLzsg
fTsKKwkJQjU2MkRCNjAxN0QzQ0Q2MzAwMTBBRjk2IC8qIEhUTUxFbGVtZW50VHlwZUNoZWNrcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU2MkRCNUUx
N0QzQ0Q1NjAwMTBBRjk2IC8qIEhUTUxFbGVtZW50VHlwZUNoZWNrcy5oICovOyB9OworCQlCNTYy
REI2MTE3RDNDRDY2MDAxMEFGOTYgLyogU1ZHRWxlbWVudFR5cGVDaGVja3MuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1NjJEQjVGMTdEM0NENTYwMDEw
QUY5NiAvKiBTVkdFbGVtZW50VHlwZUNoZWNrcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUI1OENFQjY5MTE5MTM2MDcwMDJBNjc5MCAvKiBKU0Rh
dGFiYXNlU3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjU4Q0VCNjcxMTkxMzYwNzAwMkE2NzkwIC8qIEpTRGF0YWJhc2VTeW5jLmggKi87IH07CiAJ
CUI1OENFQjZBMTE5MTM2MDcwMDJBNjc5MCAvKiBKU0RhdGFiYXNlU3luYy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNThDRUI2ODExOTEzNjA3MDAy
QTY3OTAgLyogSlNEYXRhYmFzZVN5bmMuY3BwICovOyB9OwogCQlCNThDRUI2RDExOTEzNjFDMDAy
QTY3OTAgLyogSlNTUUxUcmFuc2FjdGlvblN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1OENFQjZCMTE5MTM2MUMwMDJBNjc5MCAvKiBKU1NRTFRy
YW5zYWN0aW9uU3luYy5oICovOyB9OwpAQCAtMTExNTEsNiArMTExNTMsOCBAQAogCQlCNTVENUFB
MjExOTEzMUZDMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI1NUQ1QUEzMTE5MTMxRkMwMEJDQzMx
NSAvKiBKU1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNTVENUFBNzExOTEzMjUwMDBCQ0MzMTUgLyogSlNT
UUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCNTYyREI1RTE3RDNDRDU2MDAxMEFGOTYgLyogSFRNTEVsZW1lbnRUeXBl
Q2hlY2tzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEhUTUxFbGVtZW50VHlwZUNoZWNrcy5oOyBwYXRoID0g
Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQnVpbGQvRGVidWcvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9IVE1MRWxlbWVudFR5cGVDaGVja3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQjU2MkRCNUYxN0QzQ0Q1NjAwMTBBRjk2IC8qIFNWR0VsZW1lbnRUeXBlQ2hlY2tz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IFNWR0VsZW1lbnRUeXBlQ2hlY2tzLmg7IHBhdGggPSAuLi8uLi8u
Li8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9CdWlsZC9EZWJ1Zy9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL1NWR0VsZW1lbnRUeXBlQ2hlY2tzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUI1OENFQjY3MTE5MTM2MDcwMDJBNjc5MCAvKiBKU0RhdGFiYXNlU3luYy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RhdGFiYXNlU3luYy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCNThDRUI2ODExOTEzNjA3MDAyQTY3OTAgLyogSlNEYXRhYmFzZVN5bmMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEYXRhYmFzZVN5bmMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNThDRUI2QjExOTEzNjFDMDAyQTY3
OTAgLyogSlNTUUxUcmFuc2FjdGlvblN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNTUUxUcmFuc2FjdGlvblN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE0MzgyLDYgKzE0Mzg2LDcgQEAKIAkJCQk5NzY3Q0UwQTE0NUFCQzEzMDA1RTY0REIgLyog
RXhjZXB0aW9uSW50ZXJmYWNlcy5oICovLAogCQkJCUExN0M4MTIwMEYyQTVDRjcwMDVEQUFFQiAv
KiBIVE1MRWxlbWVudEZhY3RvcnkuY3BwICovLAogCQkJCUExN0M4MTIxMEYyQTVDRjcwMDVEQUFF
QiAvKiBIVE1MRWxlbWVudEZhY3RvcnkuaCAqLywKKwkJCQlCNTYyREI1RTE3RDNDRDU2MDAxMEFG
OTYgLyogSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmggKi8sCiAJCQkJQThCQzA0OTExMjE0RjY5NjAw
QjVGMTIyIC8qIEhUTUxFbnRpdHlUYWJsZS5jcHAgKi8sCiAJCQkJQThEMDZCMzgwQTI2NURDRDAw
NUU3MjAzIC8qIEhUTUxOYW1lcy5jcHAgKi8sCiAJCQkJQThEMDZCMzcwQTI2NURDRDAwNUU3MjAz
IC8qIEhUTUxOYW1lcy5oICovLApAQCAtMTQ0MDUsNiArMTQ0MTAsNyBAQAogCQkJCTUzRUY3NjZB
MTY1MzBBNjEwMDRDQkU0OSAvKiBTZXR0aW5nc01hY3Jvcy5oICovLAogCQkJCTY1NjU4MUU2MDlE
MTUwOEQwMDBFNjFENyAvKiBTVkdFbGVtZW50RmFjdG9yeS5jcHAgKi8sCiAJCQkJNjU2NTgxRTcw
OUQxNTA4RDAwMEU2MUQ3IC8qIFNWR0VsZW1lbnRGYWN0b3J5LmggKi8sCisJCQkJQjU2MkRCNUYx
N0QzQ0Q1NjAwMTBBRjk2IC8qIFNWR0VsZW1lbnRUeXBlQ2hlY2tzLmggKi8sCiAJCQkJNjU2NTgx
RTgwOUQxNTA4RDAwMEU2MUQ3IC8qIFNWR05hbWVzLmNwcCAqLywKIAkJCQk2NTY1ODFFOTA5RDE1
MDhEMDAwRTYxRDcgLyogU1ZHTmFtZXMuaCAqLywKIAkJCQk2NTY1ODFBRTA5RDE0RUU2MDAwRTYx
RDcgLyogVXNlckFnZW50U3R5bGVTaGVldHMuaCAqLywKQEAgLTIxMzM2LDYgKzIxMzQyLDcgQEAK
IAkJCQk4NTkwOUNEQzBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTQ2hhcnNldFJ1bGVJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzJERDkwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNT
U0ZvbnRGYWNlUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU5MDlDREQwQUNDN0E3RTAwREYw
MUYxIC8qIERPTUNTU0ZvbnRGYWNlUnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQlC
NTYyREI2MTE3RDNDRDY2MDAxMEFGOTYgLyogU1ZHRWxlbWVudFR5cGVDaGVja3MuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTg1MDMyRERCMEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NJbXBvcnRSdWxl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTkwOUNERTBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NT
SW1wb3J0UnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMkRERDBBQThDOUJF
MDA3RDNCN0QgLyogRE9NQ1NTTWVkaWFSdWxlLmggaW4gSGVhZGVycyAqLywKQEAgLTIyNzM1LDYg
KzIyNzQyLDcgQEAKIAkJCQk4QzBFMzM0RjEzOEE5MkM3MDA4REE5NEYgLyogTGV2ZWxEQldyaXRl
QmF0Y2guaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMwRDkxMTI0OEYwQjMwMEQzQTlDOSAvKiBM
aWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5NjUwRDAwQkYyMjAwNzFCNzgy
IC8qIExpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjU2MkRC
NjAxN0QzQ0Q2MzAwMTBBRjk2IC8qIEhUTUxFbGVtZW50VHlwZUNoZWNrcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTVBQkI3ODcxM0I5MDRCQzAwRjE5N0UzIC8qIExpbmVCcmVha0l0ZXJhdG9yUG9v
bElDVS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUIzMUM5MUUxMEFFMUI4RTAwMEM3QjkyIC8qIExp
bmVDbGFtcFZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OUI1RUFBMjExRTgwMDNEMDBGMjM2
N0UgLyogTGluZUVuZGluZy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFrZV9uYW1lcy5wbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBs
CmluZGV4IDQwNzgyNDEuLjk4MTkzZGIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9t
YWtlX25hbWVzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCkBAIC0x
NTUsMTIgKzE1NSwxNCBAQCBkaWUgIllvdSBtdXN0IHNwZWNpZnkgYSBuYW1lc3BhY2VVUkkgKGUu
Zy4gaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcpIiB1bmxlc3MgJAogJHBhcmFtZXRlcnN7bmFt
ZXNwYWNlUHJlZml4fSA9ICRwYXJhbWV0ZXJze25hbWVzcGFjZX0gdW5sZXNzICRwYXJhbWV0ZXJz
e25hbWVzcGFjZVByZWZpeH07CiAkcGFyYW1ldGVyc3tmYWxsYmFja0pTSW50ZXJmYWNlTmFtZX0g
PSAkcGFyYW1ldGVyc3tmYWxsYmFja0ludGVyZmFjZU5hbWV9IHVubGVzcyAkcGFyYW1ldGVyc3tm
YWxsYmFja0pTSW50ZXJmYWNlTmFtZX07CiAKK215ICR0eXBlQ2hlY2tzQmFzZVBhdGggPSAiJG91
dHB1dERpci8kcGFyYW1ldGVyc3tuYW1lc3BhY2V9RWxlbWVudFR5cGVDaGVja3MiOwogbXkgJG5h
bWVzQmFzZVBhdGggPSAiJG91dHB1dERpci8kcGFyYW1ldGVyc3tuYW1lc3BhY2V9TmFtZXMiOwog
bXkgJGZhY3RvcnlCYXNlUGF0aCA9ICIkb3V0cHV0RGlyLyRwYXJhbWV0ZXJze25hbWVzcGFjZX1F
bGVtZW50RmFjdG9yeSI7CiBteSAkd3JhcHBlckZhY3RvcnlGaWxlTmFtZSA9ICIkcGFyYW1ldGVy
c3tuYW1lc3BhY2V9RWxlbWVudFdyYXBwZXJGYWN0b3J5IjsKIAogcHJpbnROYW1lc0hlYWRlckZp
bGUoIiRuYW1lc0Jhc2VQYXRoLmgiKTsKIHByaW50TmFtZXNDcHBGaWxlKCIkbmFtZXNCYXNlUGF0
aC5jcHAiKTsKK3ByaW50VHlwZUNoZWNrc0hlYWRlckZpbGUoIiR0eXBlQ2hlY2tzQmFzZVBhdGgu
aCIpOwogCiBpZiAoJHByaW50RmFjdG9yeSkgewogICAgIHByaW50RmFjdG9yeUNwcEZpbGUoIiRm
YWN0b3J5QmFzZVBhdGguY3BwIik7CkBAIC0xODcsNyArMTg5LDggQEAgc3ViIGRlZmF1bHRUYWdQ
cm9wZXJ0eUhhc2gKICAgICAgICAgJ3dyYXBwZXJPbmx5SWZNZWRpYUlzQXZhaWxhYmxlJyA9PiAw
LAogICAgICAgICAnY29uZGl0aW9uYWwnID0+IDAsCiAgICAgICAgICdjb250ZXh0Q29uZGl0aW9u
YWwnID0+IDAsCi0gICAgICAgICdydW50aW1lQ29uZGl0aW9uYWwnID0+IDAKKyAgICAgICAgJ3J1
bnRpbWVDb25kaXRpb25hbCcgPT4gMCwKKyAgICAgICAgJ2dlbmVyYXRlVHlwZUNoZWNrcycgPT4g
MAogICAgICk7CiB9CiAKQEAgLTU4Niw3ICs1ODksNyBAQCBzdWIgcHJpbnRMaWNlbnNlSGVhZGVy
CiAgKgogICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIGRvbS9tYWtlX25hbWVzLnBs
IHNjcmlwdC4KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIw
MDkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
NSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMyBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02MTMsNiArNjE2LDUw
IEBAIHN1YiBwcmludExpY2Vuc2VIZWFkZXIKICI7CiB9CiAKK3N1YiBwcmludFR5cGVDaGVja3MK
K3sKKyAgICBteSAoJEYsICRuYW1lc1JlZikgPSBAXzsKKyAgICBteSAlbmFtZXMgPSAlJG5hbWVz
UmVmOworCisgICAgZm9yIG15ICRuYW1lIChzb3J0IGtleXMgJW5hbWVzKSB7CisgICAgICAgIGlm
ICgkcGFyc2VkVGFnc3skbmFtZX17Z2VuZXJhdGVUeXBlQ2hlY2tzfSAhPSAxKSB7CisgICAgICAg
ICAgICBuZXh0OworICAgICAgICB9CisKKyAgICAgICAgbXkgJGNsYXNzID0gJHBhcnNlZFRhZ3N7
JG5hbWV9e2ludGVyZmFjZU5hbWV9OworICAgICAgICBteSAkaGVscGVyID0gImlzJGNsYXNzIjsK
KworICAgICAgICBwcmludCBGICJjbGFzcyAkY2xhc3M7XG4iOworICAgICAgICBwcmludCBGICJp
bmxpbmUgYm9vbCAkaGVscGVyKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpIHsgcmV0dXJuIGVsZW1l
bnQuaGFzVGFnTmFtZSgiLiRwYXJhbWV0ZXJze25hbWVzcGFjZX0uIk5hbWVzOjoiLiRuYW1lLiJU
YWcpOyB9XG4iOworICAgICAgICBwcmludCBGICJpbmxpbmUgYm9vbCAkaGVscGVyKGNvbnN0IEVs
ZW1lbnQqIGVsZW1lbnQpIHsgQVNTRVJUKGVsZW1lbnQpOyByZXR1cm4gJGhlbHBlcigqZWxlbWVu
dCk7IH1cbiI7CisgICAgICAgIHByaW50IEYgImlubGluZSBib29sICRoZWxwZXIoY29uc3QgTm9k
ZSogbm9kZSkgeyBBU1NFUlQobm9kZSk7IHJldHVybiBub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYg
JGhlbHBlcih0b0VsZW1lbnQobm9kZSkpOyB9XG4iOworICAgICAgICBwcmludCBGICJ0ZW1wbGF0
ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8JGNsYXNzPihjb25zdCBFbGVtZW50KiBl
bGVtZW50KSB7IHJldHVybiAkaGVscGVyKGVsZW1lbnQpOyB9XG4iOworCisgICAgICAgIHByaW50
IEYgIlxuIjsKKyAgICB9Cit9CisKK3N1YiBwcmludFR5cGVDaGVja3NIZWFkZXJGaWxlCit7Cisg
ICAgbXkgKCRoZWFkZXJQYXRoKSA9IHNoaWZ0OworICAgIG15ICRGOworICAgIG9wZW4gRiwgIj4k
aGVhZGVyUGF0aCI7CisgICAgcHJpbnRMaWNlbnNlSGVhZGVyKCRGKTsKKworICAgIHByaW50IEYg
IiNpZm5kZWYgIi4kcGFyYW1ldGVyc3tuYW1lc3BhY2V9LiJFbGVtZW50VHlwZUNoZWNrc19oXG4i
OworICAgIHByaW50IEYgIiNkZWZpbmUgIi4kcGFyYW1ldGVyc3tuYW1lc3BhY2V9LiJFbGVtZW50
VHlwZUNoZWNrc19oXG5cbiI7CisgICAgcHJpbnQgRiAiI2luY2x1ZGUgXCJjb25maWcuaFwiXG4i
OworICAgIHByaW50IEYgIiNpbmNsdWRlIFwiIi4kcGFyYW1ldGVyc3tuYW1lc3BhY2V9LiJOYW1l
cy5oXCJcblxuIjsKKyAgICBwcmludCBGICJuYW1lc3BhY2UgV2ViQ29yZSB7XG5cbiI7CisKKyAg
ICBwcmludFR5cGVDaGVja3MoJEYsIFwlYWxsVGFncyk7CisKKyAgICBwcmludCBGICJ9XG5cbiI7
CisgICAgcHJpbnQgRiAiI2VuZGlmXG4iOworCisgICAgY2xvc2UgRjsKK30KKwogc3ViIHByaW50
TmFtZXNIZWFkZXJGaWxlCiB7CiAgICAgbXkgKCRoZWFkZXJQYXRoKSA9IHNoaWZ0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCmluZGV4IGNmNDY5NDguLmQ0YWQ2OWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKQEAgLTE0OSwyNCArMTQ5LDEy
IEBAIGlubGluZSBMaW5rSGFzaCBIVE1MQW5jaG9yRWxlbWVudDo6dmlzaXRlZExpbmtIYXNoKCkg
Y29uc3QKICAgICByZXR1cm4gbV9jYWNoZWRWaXNpdGVkTGlua0hhc2g7IAogfQogCi1pbmxpbmUg
Ym9vbCBpc0hUTUxBbmNob3JFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJu
IG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjphVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNI
VE1MQW5jaG9yRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBl
bGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YVRhZyk7Ci19Ci0KIGlubGluZSBIVE1MQW5j
aG9yRWxlbWVudCogdG9IVE1MQW5jaG9yRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VS
VF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTEFuY2hvckVsZW1lbnQo
bm9kZSkpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MQW5jaG9yRWxlbWVudCo+KG5vZGUp
OwogfQogCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTEFuY2hv
ckVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTEFuY2hvckVs
ZW1lbnQoZWxlbWVudCk7IH0KLQogLy8gRnVuY3Rpb25zIHNoYXJlZCB3aXRoIHRoZSBvdGhlciBh
bmNob3IgZWxlbWVudHMgKGkuZS4sIFNWRykuCiAKIGJvb2wgaXNFbnRlcktleUtleWRvd25FdmVu
dChFdmVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmgKaW5kZXggOGZmYzAy
NS4uZDZjMmMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5oCkBAIC03MCwx
OCArNzAsNiBAQCBwcml2YXRlOgogICAgIFNoYXBlIG1fc2hhcGU7CiB9OwogCi1pbmxpbmUgYm9v
bCBpc0hUTUxBcmVhRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2Rl
LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YXJlYVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRN
TEFyZWFFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1l
bnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjphcmVhVGFnKTsKLX0KLQotdGVtcGxhdGUgPD4gaW5s
aW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxBcmVhRWxlbWVudD4oY29uc3QgRWxlbWVudCog
ZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MQXJlYUVsZW1lbnQoZWxlbWVudCk7IH0KLQogaW5saW5l
IEhUTUxBcmVhRWxlbWVudCogdG9IVE1MQXJlYUVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxBcmVhRWxlbWVu
dChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0VsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5oCmluZGV4IDA3Y2E0
OGQuLjgxNTNiMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5oCkBAIC00
MywxNiArNDMsNiBAQCBwcml2YXRlOgogICAgIEhUTUxBdWRpb0VsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50KiwgYm9vbCk7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxBdWRp
b0VsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1M
TmFtZXM6OmF1ZGlvVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MQXVkaW9FbGVtZW50KEVs
ZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5h
bWVzOjphdWRpb1RhZyk7Ci19Ci0KIGlubGluZSBIVE1MQXVkaW9FbGVtZW50KiB0b0hUTUxBdWRp
b0VsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNB
VElPTighbm9kZSB8fCBpc0hUTUxBdWRpb0VsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEJhc2VFbGVtZW50LmgKaW5kZXggMWEzNWY0Ny4uODhlZjdjNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxCYXNlRWxlbWVudC5oCkBAIC00NCwxOCArNDQsNiBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCByZW1vdmVkRnJvbShDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CiB9OwogCi1p
bmxpbmUgYm9vbCBpc0hUTUxCYXNlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJl
dHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YmFzZVRhZyk7Ci19Ci0KLWlubGluZSBi
b29sIGlzSFRNTEJhc2VFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0
dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpiYXNlVGFnKTsKLX0KLQotdGVtcGxh
dGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxCYXNlRWxlbWVudD4oY29uc3Qg
RWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MQmFzZUVsZW1lbnQoZWxlbWVudCk7IH0K
LQogfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxDYW52YXNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmgKaW5kZXggNjU4MTA5ZC4uMmZjYjAwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TENhbnZhc0VsZW1lbnQuaApAQCAtMTg4LDExICsxODgsNiBAQCBwcml2YXRlOgogICAgIG11dGFi
bGUgUmVmUHRyPEltYWdlPiBtX2NvcGllZEltYWdlOyAvLyBGSVhNRTogVGhpcyBpcyB0ZW1wb3Jh
cnkgZm9yIHBsYXRmb3JtcyB0aGF0IGhhdmUgdG8gY29weSB0aGUgaW1hZ2UgYnVmZmVyIHRvIHJl
bmRlciAoYW5kIGZvciBDU1NDYW52YXNWYWx1ZSkuCiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxD
YW52YXNFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1Rh
Z05hbWUoSFRNTE5hbWVzOjpjYW52YXNUYWcpOwotfQotCiBpbmxpbmUgY29uc3QgSFRNTENhbnZh
c0VsZW1lbnQqIHRvSFRNTENhbnZhc0VsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKIHsKICAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxDYW52YXNFbGVt
ZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaAppbmRleCBhNmRiZWYyLi40ZmYw
MDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCkBAIC0yNSw2ICsyNSw4IEBACiAKICNp
bmNsdWRlICJTdHlsZWRFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJIVE1MRWxlbWVudFR5cGVDaGVj
a3MuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudEZyYWdtZW50Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaAppbmRleCAyYzQ0NGJjLi40
YTM0Y2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaApAQCAt
NjMsMTkgKzYzLDYgQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIHVpbnQ2NF90IG1fZG9jdW1lbnRW
ZXJzaW9uOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MRmllbGRTZXRFbGVtZW50KGNvbnN0IE5v
ZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmlzRWxlbWVudE5vZGUoKSAmJiB0b0VsZW1l
bnQobm9kZSktPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpmaWVsZHNldFRhZyk7Ci19Ci0KLWlubGlu
ZSBib29sIGlzSFRNTEZpZWxkU2V0RWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewot
ICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6ZmllbGRzZXRUYWcpOwot
fQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTEZpZWxkU2V0
RWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MRmllbGRTZXRF
bGVtZW50KGVsZW1lbnQpOyB9Ci0KLQogfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaAppbmRleCA5YTc0MzFhLi42MWE1YTRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKQEAgLTE2NiwxNiArMTY2LDYgQEAgcHJpdmF0
ZToKICAgICBib29sIG1fd2FzRGVtb3RlZDsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTEZvcm1F
bGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5h
bWVzOjpmb3JtVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MRm9ybUVsZW1lbnQoRWxlbWVu
dCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6
OmZvcm1UYWcpOwotfQotCiBpbmxpbmUgSFRNTEZvcm1FbGVtZW50KiB0b0hUTUxGb3JtRWxlbWVu
dChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFu
b2RlIHx8IGlzSFRNTEZvcm1FbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RnJhbWVTZXRFbGVtZW50LmgKaW5kZXggN2RkOTMxZS4uYWMyYTk5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmgKQEAgLTEwMCwxNiArMTAwLDYgQEAgcHJpdmF0
ZToKICAgICBib29sIG1fbm9yZXNpemU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxGcmFtZVNl
dEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFt
ZShIVE1MTmFtZXM6OmZyYW1lc2V0VGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MRnJhbWVT
ZXRFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQt
Pmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpmcmFtZXNldFRhZyk7Ci19Ci0KIGlubGluZSBIVE1MRnJh
bWVTZXRFbGVtZW50KiB0b0hUTUxGcmFtZVNldEVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxGcmFtZVNldEVs
ZW1lbnQobm9kZSkpOwpAQCAtMTIyLDggKzExMiw2IEBAIGlubGluZSBjb25zdCBIVE1MRnJhbWVT
ZXRFbGVtZW50KiB0b0hUTUxGcmFtZVNldEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgSFRNTEZyYW1lU2V0RWxlbWVudCo+KG5vZGUpOwogfQog
Ci10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTEZyYW1lU2V0RWxl
bWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MRnJhbWVTZXRFbGVt
ZW50KGVsZW1lbnQpOyB9Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEhU
TUxGcmFtZVNldEVsZW1lbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaApp
bmRleCA5ZjcxM2NjLi4yNDhlNmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1l
bnQuaApAQCAtMTE1LDE2ICsxMTUsNiBAQCBwcml2YXRlOgogICAgIEF0b21pY1N0cmluZyBtX2Jl
c3RGaXRJbWFnZVVSTDsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTEltYWdlRWxlbWVudChOb2Rl
KiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFn
KTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MSW1hZ2VFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQp
Ci17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbWdUYWcpOwot
fQotCiBpbmxpbmUgSFRNTEltYWdlRWxlbWVudCogdG9IVE1MSW1hZ2VFbGVtZW50KE5vZGUqIG5v
ZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNI
VE1MSW1hZ2VFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmgKaW5kZXggNWI3NjYwYi4uMWQ3ODdiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmgKQEAgLTQ0MywxNiArNDQzLDYgQEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAotaW5s
aW5lIGJvb2wgaXNIVE1MSW5wdXRFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0
dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZyk7Ci19Ci0KLWlubGluZSBi
b29sIGlzSFRNTElucHV0RWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJl
dHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpOwotfQotCiBpbmxp
bmUgSFRNTElucHV0RWxlbWVudCogdG9IVE1MSW5wdXRFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAg
ICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MSW5wdXRF
bGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVs
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmgKaW5kZXgg
YWIzMTU4My4uOTBhMzY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFi
ZWxFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmgK
QEAgLTU1LDE4ICs1NSw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKGJvb2wg
cmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uLCBGb2N1c0RpcmVjdGlvbikgT1ZFUlJJREU7CiB9Owog
Ci1pbmxpbmUgYm9vbCBpc0hUTUxMYWJlbEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAg
ICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmxhYmVsVGFnKTsKLX0KLQotaW5s
aW5lIGJvb2wgaXNIVE1MTGFiZWxFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0g
ICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpsYWJlbFRhZyk7Ci19Ci0K
LXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxIVE1MTGFiZWxFbGVtZW50
Pihjb25zdCBFbGVtZW50KiBlbGVtZW50KSB7IHJldHVybiBpc0hUTUxMYWJlbEVsZW1lbnQoZWxl
bWVudCk7IH0KLQogaW5saW5lIEhUTUxMYWJlbEVsZW1lbnQqIHRvSFRNTExhYmVsRWxlbWVudChO
b2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2Rl
IHx8IGlzSFRNTExhYmVsRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdl
bmRFbGVtZW50LmgKaW5kZXggNTgzMTcyYS4uZGNjMGQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTExlZ2VuZEVsZW1lbnQuaApAQCAtNDUsMTggKzQ1LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIEhUTUxGb3JtRWxlbWVudCogdmlydHVhbEZvcm0oKSBjb25zdCBPVkVSUklERTsKIH07CiAK
LWlubGluZSBib29sIGlzSFRNTExlZ2VuZEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAg
ICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmxlZ2VuZFRhZyk7Ci19Ci0KLWlu
bGluZSBib29sIGlzSFRNTExlZ2VuZEVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsK
LSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmxlZ2VuZFRhZyk7Ci19
Ci0KLXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxIVE1MTGVnZW5kRWxl
bWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MTGVnZW5kRWxlbWVu
dChlbGVtZW50KTsgfQotCiB9IC8vbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFwRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWFwRWxlbWVudC5oCmluZGV4IDIyYjhiNGEuLjhmNjI3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNYXBFbGVtZW50LmgKQEAgLTU0LDE2ICs1NCw2IEBAIHByaXZhdGU6CiAgICAgQXRvbWlj
U3RyaW5nIG1fbmFtZTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTE1hcEVsZW1lbnQoTm9kZSog
bm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6Om1hcFRhZyk7
Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTE1hcEVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkKLXsK
LSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6Om1hcFRhZyk7Ci19Ci0K
IGlubGluZSBIVE1MTWFwRWxlbWVudCogdG9IVE1MTWFwRWxlbWVudChOb2RlKiBub2RlKQogewog
ICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTE1hcEVs
ZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaAppbmRleCA1
ZDEzNmYyLi5jZTc0NjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRl
ckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaApA
QCAtODIsMTEgKzgyLDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TWV0ZXJWYWx1ZUVsZW1lbnQ+
IG1fdmFsdWU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxNZXRlckVsZW1lbnQoTm9kZSogbm9k
ZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6Om1ldGVyVGFnKTsK
LX0KLQogaW5saW5lIEhUTUxNZXRlckVsZW1lbnQqIHRvSFRNTE1ldGVyRWxlbWVudChOb2RlKiBu
b2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlz
SFRNTE1ldGVyRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxPcHRHcm91cEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3Vw
RWxlbWVudC5oCmluZGV4IDU5MzE5N2UuLjMzMGViNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE9wdEdyb3VwRWxlbWVudC5oCkBAIC02MywxNiArNjMsNiBAQCBwcml2YXRlOgogICAgIFJl
ZlB0cjxSZW5kZXJTdHlsZT4gbV9zdHlsZTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTE9wdEdy
b3VwRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdO
YW1lKEhUTUxOYW1lczo6b3B0Z3JvdXBUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxPcHRH
cm91cEVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVu
dC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6Om9wdGdyb3VwVGFnKTsKLX0KLQogaW5saW5lIEhUTUxP
cHRHcm91cEVsZW1lbnQqIHRvSFRNTE9wdEdyb3VwRWxlbWVudChOb2RlKiBub2RlKQogewogICAg
IEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTE9wdEdyb3Vw
RWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRp
b25FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgKaW5k
ZXggMzY0ZTUzMy4uMjc2MmRiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T3B0aW9uRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1l
bnQuaApAQCAtOTUsMTYgKzk1LDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+
IG1fc3R5bGU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxPcHRpb25FbGVtZW50KGNvbnN0IE5v
ZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpvcHRp
b25UYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxPcHRpb25FbGVtZW50KGNvbnN0IEVsZW1l
bnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVz
OjpvcHRpb25UYWcpOwotfQotCiBpbmxpbmUgSFRNTE9wdGlvbkVsZW1lbnQqIHRvSFRNTE9wdGlv
bkVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNB
VElPTighbm9kZSB8fCBpc0hUTUxPcHRpb25FbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MUGFyYW1FbGVtZW50LmgKaW5kZXggYjY1OTVkNi4uZWQwOTFhYjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5oCkBAIC00MCwyMyArNDAsOSBAQCBwcml2YXRlOgog
ICAgIEhUTUxQYXJhbUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAK
ICAgICB2aXJ0dWFsIGJvb2wgaXNVUkxBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJikgY29uc3Qg
T1ZFUlJJREU7Ci0KICAgICB2aXJ0dWFsIHZvaWQgYWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxz
KExpc3RIYXNoU2V0PEtVUkw+JikgY29uc3Q7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxQYXJh
bUVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFt
ZShIVE1MTmFtZXM6OnBhcmFtVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MUGFyYW1FbGVt
ZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1Rh
Z05hbWUoSFRNTE5hbWVzOjpwYXJhbVRhZyk7Ci19Ci0KLXRlbXBsYXRlIDw+IGlubGluZSBib29s
IGlzRWxlbWVudE9mVHlwZTxIVE1MUGFyYW1FbGVtZW50Pihjb25zdCBFbGVtZW50KiBlbGVtZW50
KSB7IHJldHVybiBpc0hUTUxQYXJhbUVsZW1lbnQoZWxlbWVudCk7IH0KLQotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUHJvZ3Jlc3NFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0Vs
ZW1lbnQuaAppbmRleCA2MGMwZmFhLi4zOWZmMjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQcm9ncmVzc0VsZW1lbnQuaApAQCAtNjksMTIgKzY5LDYgQEAgcHJpdmF0ZToKICAgICBQcm9n
cmVzc1ZhbHVlRWxlbWVudCogbV92YWx1ZTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFByb2dy
ZXNzRWxlbWVudChOb2RlKiBub2RlKQotewotICAgIEFTU0VSVChub2RlKTsKLSAgICByZXR1cm4g
bm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnByb2dyZXNzVGFnKTsKLX0KLQogaW5saW5lIEhU
TUxQcm9ncmVzc0VsZW1lbnQqIHRvSFRNTFByb2dyZXNzRWxlbWVudChOb2RlKiBub2RlKQogewog
ICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTFByb2dy
ZXNzRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
Y3JpcHRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmgK
aW5kZXggZWViNjZjNy4uZTMzZDE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU2NyaXB0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVs
ZW1lbnQuaApAQCAtNjcsMTEgKzY3LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8RWxlbWVudD4gY2xvbmVFbGVtZW50V2l0aG91dEF0dHJpYnV0ZXNBbmRDaGlsZHJlbigpOwog
fTsKIAotaW5saW5lIGJvb2wgaXNIVE1MU2NyaXB0RWxlbWVudChOb2RlKiBub2RlKQotewotICAg
IHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6c2NyaXB0VGFnKTsKLX0KLQogaW5s
aW5lIEhUTUxTY3JpcHRFbGVtZW50KiB0b0hUTUxTY3JpcHRFbGVtZW50KE5vZGUqIG5vZGUpCiB7
CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgbm9kZS0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OnNjcmlwdFRhZykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291
cmNlRWxlbWVudC5oCmluZGV4IGZjOTIyYmMuLmRjMTgyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTb3VyY2VFbGVtZW50LmgKQEAgLTU3LDE5ICs1Nyw2IEBAIHByaXZhdGU6CiAgICAgVGlt
ZXI8SFRNTFNvdXJjZUVsZW1lbnQ+IG1fZXJyb3JFdmVudFRpbWVyOwogfTsKIAotaW5saW5lIGJv
b2wgaXNIVE1MU291cmNlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBu
b2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6c291cmNlVGFnKTsKLX0KLQotaW5saW5lIGJvb2wg
aXNIVE1MU291cmNlRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVy
biBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6c291cmNlVGFnKTsKLX0KLQotdGVtcGxh
dGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxTb3VyY2VFbGVtZW50Pihjb25z
dCBFbGVtZW50KiBlbGVtZW50KSB7IHJldHVybiBpc0hUTUxTb3VyY2VFbGVtZW50KGVsZW1lbnQp
OyB9Ci0KLQogfSAvL25hbWVzcGFjZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3R5
bGVFbGVtZW50LmgKaW5kZXggNTQ4ZWE5Zi4uOTIwZGVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU3R5bGVFbGVtZW50LmgKQEAgLTkzLDI0ICs5MywxMiBAQCBwcml2YXRlOgogICAgIFNjb3Bl
ZFN0eWxlUmVnaXN0cmF0aW9uU3RhdGUgbV9zY29wZWRTdHlsZVJlZ2lzdHJhdGlvblN0YXRlOwog
fTsKIAotaW5saW5lIGJvb2wgaXNIVE1MU3R5bGVFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17
Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpzdHlsZVRhZyk7Ci19Ci0K
LWlubGluZSBib29sIGlzSFRNTFN0eWxlRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQot
ewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6c3R5bGVUYWcpOwot
fQotCiBpbmxpbmUgSFRNTFN0eWxlRWxlbWVudCogdG9IVE1MU3R5bGVFbGVtZW50KE5vZGUqIG5v
ZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNI
VE1MU3R5bGVFbGVtZW50KG5vZGUpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTFN0eWxl
RWxlbWVudCo+KG5vZGUpOwogfQogCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRP
ZlR5cGU8SFRNTFN0eWxlRWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4g
aXNIVE1MU3R5bGVFbGVtZW50KGVsZW1lbnQpOyB9Ci0KIH0gLy9uYW1lc3BhY2UKIAogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5oCmluZGV4IGVjMjE0MDEuLjBkNzZh
YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5oCkBAIC0xMDAsMTYgKzEw
MCw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFN0eWxlUHJvcGVydHlTZXQ+IG1fc2hhcmVkQ2Vs
bFN0eWxlOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MVGFibGVFbGVtZW50KGNvbnN0IE5vZGUq
IG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0YWJsZVRh
Zyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTFRhYmxlRWxlbWVudChjb25zdCBFbGVtZW50KiBl
bGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGFi
bGVUYWcpOwotfQotCiBpbmxpbmUgSFRNTFRhYmxlRWxlbWVudCogdG9IVE1MVGFibGVFbGVtZW50
KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5v
ZGUgfHwgaXNIVE1MVGFibGVFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGFibGVSb3dFbGVtZW50LmgKaW5kZXggYmVkNzUxYy4uNTNlZjRmMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmgKQEAgLTUxLDE4ICs1MSw2IEBAIHByaXZhdGU6
CiAgICAgSFRNTFRhYmxlUm93RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
KTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFRhYmxlUm93RWxlbWVudChjb25zdCBOb2RlKiBu
b2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dHJUYWcpOwot
fQotCi1pbmxpbmUgYm9vbCBpc0hUTUxUYWJsZVJvd0VsZW1lbnQoY29uc3QgRWxlbWVudCogZWxl
bWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRyVGFn
KTsKLX0KLQotdGVtcGxhdGU8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTFRhYmxl
Um93RWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MVGFibGVS
b3dFbGVtZW50KGVsZW1lbnQpOyB9Ci0KIGlubGluZSBIVE1MVGFibGVSb3dFbGVtZW50KiB0b0hU
TUxUYWJsZVJvd0VsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxUYWJsZVJvd0VsZW1lbnQobm9kZSkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbgppbmRleCBmMmQ0ZTUwLi40NjYxNTI0NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KQEAgLTMsMTcgKzMsMTcgQEAgbmFtZXNwYWNlUHJl
Zml4PSJ4aHRtbCIKIG5hbWVzcGFjZVVSST0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIK
IGZhbGxiYWNrSW50ZXJmYWNlTmFtZT0iSFRNTFVua25vd25FbGVtZW50IgogCi1hIGludGVyZmFj
ZU5hbWU9SFRNTEFuY2hvckVsZW1lbnQKK2EgaW50ZXJmYWNlTmFtZT1IVE1MQW5jaG9yRWxlbWVu
dCwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBhYmJyIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGFj
cm9ueW0gaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogYWRkcmVzcyBpbnRlcmZhY2VOYW1lPUhU
TUxFbGVtZW50CiBhcHBsZXQgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlcgotYXJlYQor
YXJlYSBnZW5lcmF0ZVR5cGVDaGVja3MKIGFydGljbGUgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVu
dAogYXNpZGUgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotYXVkaW8gd3JhcHBlck9ubHlJZk1l
ZGlhSXNBdmFpbGFibGUsIGNvbmRpdGlvbmFsPVZJREVPLCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRl
ZEJ5UGFyc2VyCithdWRpbyB3cmFwcGVyT25seUlmTWVkaWFJc0F2YWlsYWJsZSwgY29uZGl0aW9u
YWw9VklERU8sIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIsIGdlbmVyYXRlVHlwZUNo
ZWNrcwogYiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50Ci1iYXNlCitiYXNlIGdlbmVyYXRlVHlw
ZUNoZWNrcwogYmFzZWZvbnQgaW50ZXJmYWNlTmFtZT1IVE1MQmFzZUZvbnRFbGVtZW50CiBiZGkg
aW50ZXJmYWNlTmFtZT1IVE1MQkRJRWxlbWVudCwgSlNJbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50
CiBiZG8gaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudApAQCAtMjMsNyArMjMsNyBAQCBibG9ja3F1
b3RlIGludGVyZmFjZU5hbWU9SFRNTFF1b3RlRWxlbWVudAogYm9keQogYnIgaW50ZXJmYWNlTmFt
ZT1IVE1MQlJFbGVtZW50CiBidXR0b24gY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50Ci1jYW52
YXMKK2NhbnZhcyBnZW5lcmF0ZVR5cGVDaGVja3MKIGNhcHRpb24gaW50ZXJmYWNlTmFtZT1IVE1M
VGFibGVDYXB0aW9uRWxlbWVudAogY2VudGVyIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGNp
dGUgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudApAQCAtNDQsMTQgKzQ0LDE0IEBAIGRsIGludGVy
ZmFjZU5hbWU9SFRNTERMaXN0RWxlbWVudAogZHQgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAog
ZW0gaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogZW1iZWQgY29uc3RydWN0b3JOZWVkc0NyZWF0
ZWRCeVBhcnNlcgotZmllbGRzZXQgaW50ZXJmYWNlTmFtZT1IVE1MRmllbGRTZXRFbGVtZW50LCBj
b25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQKK2ZpZWxkc2V0IGludGVyZmFjZU5hbWU9SFRNTEZp
ZWxkU2V0RWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50LCBnZW5lcmF0ZVR5cGVD
aGVja3MKIGZpZ2NhcHRpb24gaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogZmlndXJlIGludGVy
ZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGZvbnQKIGZvb3RlciBpbnRlcmZhY2VOYW1lPUhUTUxFbGVt
ZW50Ci1mb3JtCitmb3JtIGdlbmVyYXRlVHlwZUNoZWNrcwogZnJhbWUKLWZyYW1lc2V0IGludGVy
ZmFjZU5hbWU9SFRNTEZyYW1lU2V0RWxlbWVudAorZnJhbWVzZXQgaW50ZXJmYWNlTmFtZT1IVE1M
RnJhbWVTZXRFbGVtZW50LCBnZW5lcmF0ZVR5cGVDaGVja3MKIGgxIGludGVyZmFjZU5hbWU9SFRN
TEhlYWRpbmdFbGVtZW50CiBoMiBpbnRlcmZhY2VOYW1lPUhUTUxIZWFkaW5nRWxlbWVudAogaDMg
aW50ZXJmYWNlTmFtZT1IVE1MSGVhZGluZ0VsZW1lbnQKQEAgLTY2LDI1ICs2NiwyNSBAQCBodG1s
CiBpIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGlmcmFtZSBpbnRlcmZhY2VOYW1lPUhUTUxJ
RnJhbWVFbGVtZW50CiBpbWFnZSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50Ci1pbWcgaW50ZXJm
YWNlTmFtZT1IVE1MSW1hZ2VFbGVtZW50LCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQKLWlu
cHV0IGNvbnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRC
eVBhcnNlcgoraW1nIGludGVyZmFjZU5hbWU9SFRNTEltYWdlRWxlbWVudCwgY29uc3RydWN0b3JO
ZWVkc0Zvcm1FbGVtZW50LCBnZW5lcmF0ZVR5cGVDaGVja3MKK2lucHV0IGNvbnN0cnVjdG9yTmVl
ZHNGb3JtRWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlciwgZ2VuZXJhdGVU
eXBlQ2hlY2tzCiBpbnMgaW50ZXJmYWNlTmFtZT1IVE1MTW9kRWxlbWVudAogaXNpbmRleCBpbnRl
cmZhY2VOYW1lPUhUTUxVbmtub3duRWxlbWVudAoga2JkIGludGVyZmFjZU5hbWU9SFRNTEVsZW1l
bnQKIGtleWdlbiBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQKLWxhYmVsCitsYWJlbCBnZW5l
cmF0ZVR5cGVDaGVja3MKIGxheWVyIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLWxlZ2VuZAor
bGVnZW5kIGdlbmVyYXRlVHlwZUNoZWNrcwogbGkgaW50ZXJmYWNlTmFtZT1IVE1MTElFbGVtZW50
CiBsaW5rIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIKIGxpc3RpbmcgaW50ZXJmYWNl
TmFtZT1IVE1MUHJlRWxlbWVudAogbWFpbiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50Ci1tYXAK
K21hcCBnZW5lcmF0ZVR5cGVDaGVja3MKIG1hcmsgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAog
bWFycXVlZQogbWVudQogbWV0YQotbWV0ZXIgaW50ZXJmYWNlTmFtZT1IVE1MTWV0ZXJFbGVtZW50
LCBjb25kaXRpb25hbD1NRVRFUl9FTEVNRU5UCittZXRlciBpbnRlcmZhY2VOYW1lPUhUTUxNZXRl
ckVsZW1lbnQsIGNvbmRpdGlvbmFsPU1FVEVSX0VMRU1FTlQsIGdlbmVyYXRlVHlwZUNoZWNrcwog
bmF2IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIG5vYnIgaW50ZXJmYWNlTmFtZT1IVE1MRWxl
bWVudAogbm9lbWJlZCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CkBAIC05Miw0MyArOTIsNDMg
QEAgbm9mcmFtZXMgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogbm9sYXllciBpbnRlcmZhY2VO
YW1lPUhUTUxFbGVtZW50CiBvYmplY3QgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50LCBjb25z
dHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCiBvbCBpbnRlcmZhY2VOYW1lPUhUTUxPTGlzdEVs
ZW1lbnQKLW9wdGdyb3VwIGludGVyZmFjZU5hbWU9SFRNTE9wdEdyb3VwRWxlbWVudAotb3B0aW9u
CitvcHRncm91cCBpbnRlcmZhY2VOYW1lPUhUTUxPcHRHcm91cEVsZW1lbnQsIGdlbmVyYXRlVHlw
ZUNoZWNrcworb3B0aW9uIGdlbmVyYXRlVHlwZUNoZWNrcwogb3V0cHV0IGNvbnN0cnVjdG9yTmVl
ZHNGb3JtRWxlbWVudAogcCBpbnRlcmZhY2VOYW1lPUhUTUxQYXJhZ3JhcGhFbGVtZW50Ci1wYXJh
bQorcGFyYW0gZ2VuZXJhdGVUeXBlQ2hlY2tzCiBwbGFpbnRleHQgaW50ZXJmYWNlTmFtZT1IVE1M
RWxlbWVudAogcHJlCi1wcm9ncmVzcyBpbnRlcmZhY2VOYW1lPUhUTUxQcm9ncmVzc0VsZW1lbnQs
IGNvbmRpdGlvbmFsPVBST0dSRVNTX0VMRU1FTlQKK3Byb2dyZXNzIGludGVyZmFjZU5hbWU9SFRN
TFByb2dyZXNzRWxlbWVudCwgY29uZGl0aW9uYWw9UFJPR1JFU1NfRUxFTUVOVCwgZ2VuZXJhdGVU
eXBlQ2hlY2tzCiBxIGludGVyZmFjZU5hbWU9SFRNTFF1b3RlRWxlbWVudAogcnAgaW50ZXJmYWNl
TmFtZT1IVE1MRWxlbWVudAogcnQgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogcnVieSBpbnRl
cmZhY2VOYW1lPUhUTUxFbGVtZW50CiBzIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHNhbXAg
aW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotc2NyaXB0IGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVk
QnlQYXJzZXIKK3NjcmlwdCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyLCBnZW5lcmF0
ZVR5cGVDaGVja3MKIHNlY3Rpb24gaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogc2VsZWN0IGNv
bnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudAogc21hbGwgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVu
dAotc291cmNlIHdyYXBwZXJPbmx5SWZNZWRpYUlzQXZhaWxhYmxlLCBjb25kaXRpb25hbD1WSURF
Tworc291cmNlIHdyYXBwZXJPbmx5SWZNZWRpYUlzQXZhaWxhYmxlLCBjb25kaXRpb25hbD1WSURF
TywgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBzcGFuCiBzdHJpa2UgaW50ZXJmYWNlTmFtZT1IVE1MRWxl
bWVudAogc3Ryb25nIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLXN0eWxlIGNvbnN0cnVjdG9y
TmVlZHNDcmVhdGVkQnlQYXJzZXIKK3N0eWxlIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJz
ZXIsIGdlbmVyYXRlVHlwZUNoZWNrcwogc3ViIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHN1
bW1hcnkgaW50ZXJmYWNlTmFtZT1IVE1MU3VtbWFyeUVsZW1lbnQsIEpTSW50ZXJmYWNlTmFtZT1I
VE1MRWxlbWVudCwgY29uZGl0aW9uYWw9REVUQUlMU19FTEVNRU5UCiBzdXAgaW50ZXJmYWNlTmFt
ZT1IVE1MRWxlbWVudAotdGFibGUKK3RhYmxlIGdlbmVyYXRlVHlwZUNoZWNrcwogdGJvZHkgaW50
ZXJmYWNlTmFtZT1IVE1MVGFibGVTZWN0aW9uRWxlbWVudAogdGQgaW50ZXJmYWNlTmFtZT1IVE1M
VGFibGVDZWxsRWxlbWVudAogdGVtcGxhdGUgY29uZGl0aW9uYWw9VEVNUExBVEVfRUxFTUVOVAot
dGV4dGFyZWEgaW50ZXJmYWNlTmFtZT1IVE1MVGV4dEFyZWFFbGVtZW50LCBjb25zdHJ1Y3Rvck5l
ZWRzRm9ybUVsZW1lbnQKK3RleHRhcmVhIGludGVyZmFjZU5hbWU9SFRNTFRleHRBcmVhRWxlbWVu
dCwgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50LCBnZW5lcmF0ZVR5cGVDaGVja3MKIHRmb290
IGludGVyZmFjZU5hbWU9SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQKIHRoIGludGVyZmFjZU5hbWU9
SFRNTFRhYmxlQ2VsbEVsZW1lbnQKIHRoZWFkIGludGVyZmFjZU5hbWU9SFRNTFRhYmxlU2VjdGlv
bkVsZW1lbnQKLXRpdGxlCi10ciBpbnRlcmZhY2VOYW1lPUhUTUxUYWJsZVJvd0VsZW1lbnQKLXRy
YWNrIHdyYXBwZXJPbmx5SWZNZWRpYUlzQXZhaWxhYmxlLCBjb25kaXRpb25hbD1WSURFT19UUkFD
SwordGl0bGUgZ2VuZXJhdGVUeXBlQ2hlY2tzCit0ciBpbnRlcmZhY2VOYW1lPUhUTUxUYWJsZVJv
d0VsZW1lbnQsIGdlbmVyYXRlVHlwZUNoZWNrcwordHJhY2sgd3JhcHBlck9ubHlJZk1lZGlhSXNB
dmFpbGFibGUsIGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBnZW5lcmF0ZVR5cGVDaGVja3MKIHR0
IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHUgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAog
dWwgaW50ZXJmYWNlTmFtZT1IVE1MVUxpc3RFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRBcmVhRWxlbWVudC5oCmluZGV4IGZiZjg1YmEuLjY3NTUxMTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCkBAIC0xMjcsMTYgKzEyNyw2IEBAIHByaXZh
dGU6CiAgICAgbXV0YWJsZSBib29sIG1fd2FzTW9kaWZpZWRCeVVzZXI7CiB9OwogCi1pbmxpbmUg
Ym9vbCBpc0hUTUxUZXh0QXJlYUVsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9k
ZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRleHRhcmVhVGFnKTsKLX0KLQotaW5saW5lIGJvb2wg
aXNIVE1MVGV4dEFyZWFFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVs
ZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0ZXh0YXJlYVRhZyk7Ci19Ci0KIGlubGluZSBI
VE1MVGV4dEFyZWFFbGVtZW50KiB0b0hUTUxUZXh0QXJlYUVsZW1lbnQoTm9kZSogbm9kZSkKIHsK
ICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxUZXh0
QXJlYUVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGl0bGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUaXRsZUVsZW1lbnQuaApp
bmRleCBkZGY2ZGE3Li5iNjk0ZTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUaXRsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUaXRsZUVsZW1l
bnQuaApAQCAtNDYsMjQgKzQ2LDEyIEBAIHByaXZhdGU6CiAgICAgU3RyaW5nV2l0aERpcmVjdGlv
biBtX3RpdGxlOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MVGl0bGVFbGVtZW50KGNvbnN0IE5v
ZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0aXRs
ZVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTFRpdGxlRWxlbWVudChjb25zdCBFbGVtZW50
KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6
dGl0bGVUYWcpOwotfQotCiBpbmxpbmUgSFRNTFRpdGxlRWxlbWVudCogdG9IVE1MVGl0bGVFbGVt
ZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04o
IW5vZGUgfHwgaXNIVE1MVGl0bGVFbGVtZW50KG5vZGUpKTsKICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8SFRNTFRpdGxlRWxlbWVudCo+KG5vZGUpOwogfQogCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9v
bCBpc0VsZW1lbnRPZlR5cGU8SFRNTFRpdGxlRWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVu
dCkgeyByZXR1cm4gaXNIVE1MVGl0bGVFbGVtZW50KGVsZW1lbnQpOyB9Ci0KIH0gLy9uYW1lc3Bh
Y2UKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0Vs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5oCmluZGV4IGM3
OTNiMzQuLjlkOGViM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNr
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5oCkBA
IC05NywxOSArOTcsNiBAQCBwcml2YXRlOgogICAgIFRpbWVyPEhUTUxUcmFja0VsZW1lbnQ+IG1f
bG9hZFRpbWVyOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MVHJhY2tFbGVtZW50KGNvbnN0IE5v
ZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0cmFj
a1RhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTFRyYWNrRWxlbWVudChjb25zdCBFbGVtZW50
KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6
dHJhY2tUYWcpOwotfQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8
SFRNTFRyYWNrRWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1M
VHJhY2tFbGVtZW50KGVsZW1lbnQpOyB9Ci0KLQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudC5oCmluZGV4IDc2YmRlNzAuLmIxM2YwMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaApA
QCAtMjYsNiArMjYsNyBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlO
YW1lcy5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkU3RyaW5nLmgiCisjaW5jbHVkZSAiU1ZHRWxl
bWVudFR5cGVDaGVja3MuaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJT
VkdMb2NhdGFibGUuaCIKICNpbmNsdWRlICJTVkdQYXJzaW5nRXJyb3IuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnRFbGVtZW50LmgKaW5kZXggMDFmZTZjMi4uMDY4MWE2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnRFbGVtZW50LmgKQEAgLTg5LDExICs4OSw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X2lzR2x5cGhDYWNoZVZhbGlkOwogfTsKIAotaW5saW5lIGJvb2wgaXNTVkdGb250RWxlbWVudChj
b25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVz
Ojpmb250VGFnKTsKLX0KLQogaW5saW5lIFNWR0ZvbnRFbGVtZW50KiB0b1NWR0ZvbnRFbGVtZW50
KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5v
ZGUgfHwgaXNTVkdGb250RWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZh
Y2VFbGVtZW50LmgKaW5kZXggZGFiNDI5MC4uNmU3ZDhlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb250RmFjZUVsZW1lbnQuaApAQCAtNjcsMTggKzY3LDYgQEAgcHJpdmF0ZToKICAgICBTVkdG
b250RWxlbWVudCogbV9mb250RWxlbWVudDsKIH07CiAKLWlubGluZSBib29sIGlzU1ZHRm9udEZh
Y2VFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05h
bWUoU1ZHTmFtZXM6OmZvbnRfZmFjZVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzU1ZHRm9udEZh
Y2VFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQt
Pmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZvbnRfZmFjZVRhZyk7Ci19Ci0KLXRlbXBsYXRlIDw+IGlu
bGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxTVkdGb250RmFjZUVsZW1lbnQ+KGNvbnN0IEVsZW1l
bnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzU1ZHRm9udEZhY2VFbGVtZW50KGVsZW1lbnQpOyB9Ci0K
IGlubGluZSBTVkdGb250RmFjZUVsZW1lbnQqIHRvU1ZHRm9udEZhY2VFbGVtZW50KE5vZGUqIG5v
ZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNT
VkdGb250RmFjZUVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWln
bk9iamVjdEVsZW1lbnQuaAppbmRleCBiMGRjNjIwLi44OTM2MzA4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaApAQCAtNTksMTkgKzU5LDYgQEAgcHJp
dmF0ZToKICAgICBFTkRfREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUSUVTCiB9OwogCi1pbmxpbmUg
Ym9vbCBpc1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAg
cmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZvcmVpZ25PYmplY3RUYWcpOwotfQot
Ci1pbmxpbmUgYm9vbCBpc1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVs
ZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZvcmVp
Z25PYmplY3RUYWcpOwotfQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5
cGU8U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0
dXJuIGlzU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQoZWxlbWVudCk7IH0KLQotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0lt
YWdlRWxlbWVudC5oCmluZGV4IDljZDU3OTMuLjkxMzRmMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
SW1hZ2VFbGVtZW50LmgKQEAgLTc3LDExICs3Nyw2IEBAIHByaXZhdGU6CiAgICAgU1ZHSW1hZ2VM
b2FkZXIgbV9pbWFnZUxvYWRlcjsKIH07CiAKLWlubGluZSBib29sIGlzU1ZHSW1hZ2VFbGVtZW50
KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFt
ZXM6OmltYWdlVGFnKTsKLX0KLQogaW5saW5lIFNWR0ltYWdlRWxlbWVudCogdG9TVkdJbWFnZUVs
ZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
Tighbm9kZSB8fCBpc1NWR0ltYWdlRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Nj
cmlwdEVsZW1lbnQuaAppbmRleCBlNjI1NGM1Li5jYWEwOTgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTY3JpcHRFbGVtZW50LmgKQEAgLTg4LDExICs4OCw2IEBAIHByaXZhdGU6CiAgICAgVGltZXI8
U1ZHRWxlbWVudD4gbV9zdmdMb2FkRXZlbnRUaW1lcjsKIH07CiAKLWlubGluZSBib29sIGlzU1ZH
U2NyaXB0RWxlbWVudChOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1l
KFNWR05hbWVzOjpzY3JpcHRUYWcpOwotfQotCiBpbmxpbmUgU1ZHU2NyaXB0RWxlbWVudCogdG9T
VkdTY3JpcHRFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlf
SU1QTElDQVRJT04oIW5vZGUgfHwgbm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6c2NyaXB0VGFn
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvc3ZndGFncy5pbiBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9zdmd0YWdzLmluCmluZGV4IDdkYjQ4MTQuLmM0MDYzMTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9zdmd0YWdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9z
dmd0YWdzLmluCkBAIC01MywyMSArNTMsMjEgQEAgZmVUdXJidWxlbmNlCiBmaWx0ZXIKICNlbmRp
ZgogI2lmIEVOQUJMRV9TVkdfRk9OVFMKLWZvbnQKLWZvbnRfZmFjZQorZm9udCBnZW5lcmF0ZVR5
cGVDaGVja3MKK2ZvbnRfZmFjZSBnZW5lcmF0ZVR5cGVDaGVja3MKIGZvbnRfZmFjZV9mb3JtYXQK
IGZvbnRfZmFjZV9uYW1lCiBmb250X2ZhY2Vfc3JjCiBmb250X2ZhY2VfdXJpCiAjZW5kaWYKLWZv
cmVpZ25PYmplY3QKK2ZvcmVpZ25PYmplY3QgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBnCiAjaWYgRU5B
QkxFX1NWR19GT05UUwogZ2x5cGgKIGdseXBoUmVmCiBoa2VybiBpbnRlcmZhY2VOYW1lPVNWR0hL
ZXJuRWxlbWVudAogI2VuZGlmCi1pbWFnZQoraW1hZ2UgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBsaW5l
CiBsaW5lYXJHcmFkaWVudAogbWFya2VyCkBAIC04Myw3ICs4Myw3IEBAIHBvbHlnb24KIHBvbHls
aW5lCiByYWRpYWxHcmFkaWVudAogcmVjdAotc2NyaXB0IGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVk
QnlQYXJzZXIKK3NjcmlwdCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyLCBnZW5lcmF0
ZVR5cGVDaGVja3MKIHN0b3AKIHN0eWxlIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIK
IHN2ZyBpbnRlcmZhY2VOYW1lPVNWR1NWR0VsZW1lbnQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210295</attachid>
            <date>2013-09-02 09:30:54 -0700</date>
            <delta_ts>2013-09-02 10:23:25 -0700</delta_ts>
            <desc>Without kling-relative paths :|</desc>
            <filename>land-120584-2.diff</filename>
            <type>text/plain</type>
            <size>42811</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3NWY4NjM2Li43Yzg0ZTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkg
QEAKKzIwMTMtMDktMDEgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIEdlbmVyYXRlIGlzRm9vRWxlbWVudCgpIGZ1bmN0aW9ucyBmcm9tIHRhZ25hbWUgZGF0YS4K
KyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyMDU4ND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBBZGQgYSAiZ2VuZXJhdGVUeXBlQ2hlY2tz
IiBhdHRyaWJ1dGUgdGhhdCBjYW4gYmUgdXNlZCBpbiBIVE1MVGFnTmFtZXMuaW4gJiBmcmllbmRz
LgorICAgICAgICBJZiBwcmVzZW50LCBpc0Zvb0VsZW1lbnQoKSBzdHlsZSBoZWxwZXJzIHdpbGwg
YmUgYWRkZWQgdG8gSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmguCisgICAgICAgIFRoaXMgYWxzbyBv
dXRwdXRzIGFuIGlzRWxlbWVudE9mVHlwZTxUPiBjaGVjayBmb3IgdGhlIEVsZW1lbnQgaXRlcmF0
b3JzLgorCisgICAgICAgIFJlbW92ZWQgYWxsIHRoZSBoYW5kLXdyaXR0ZW4gaXNGb29FbGVtZW50
KCkgZnVuY3Rpb25zIHRoYXQgb25seSBjaGVja2VkIHRhZyBuYW1lLgorCisgICAgICAgICogaHRt
bC9IVE1MVGFnTmFtZXMuaW46CisgICAgICAgICogc3ZnL3N2Z3RhZ3MuaW46CisKKyAgICAgICAg
ICAgIEFkZGVkICJnZW5lcmF0ZVR5cGVDaGVja3MiIGF0dHJpYnV0ZSBhcyBhcHByb3ByaWF0ZS4K
KworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3Qu
YW06CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgICAgIEFkZGVk
IHRvIGJ1aWxkIHN5c3RlbXMgYmFzZWQgb24gaG93IEhUTUxOYW1lcy5oIHdhcyBkb25lLgorICAg
ICAgICAgICAgV2UncmUganVzdCBvdXRwdXR0aW5nIGFuIGFkZGl0aW9uYWwgaGVhZGVyIGZpbGUg
aW4gdGhlIGdlbmVyYXRlZCBjb2RlIGRpcmVjdG9yeQorICAgICAgICAgICAgc28gSSBzdXNwZWN0
IG1vc3QgcG9ydHMgd2lsbCBqdXN0IHBpY2sgdGhpcyB1cCBhdXRvbWFnaWNhbGx5LgorCisgICAg
ICAgICogZG9tL21ha2VfbmFtZXMucGw6CisgICAgICAgIChkZWZhdWx0VGFnUHJvcGVydHlIYXNo
KToKKyAgICAgICAgKHByaW50TGljZW5zZUhlYWRlcik6CisgICAgICAgIChwcmludFR5cGVDaGVj
a3MpOgorICAgICAgICAocHJpbnRUeXBlQ2hlY2tzSGVhZGVyRmlsZSk6CisKKyAgICAgICAgICAg
IEdlbmVyYXRlIGEgc2VwYXJhdGUgZmlsZSBmb3IgZWFjaCBuYW1lc3BhY2Ugd2l0aCBpc0Zvb0Vs
ZW1lbnQoKSBoZWxwZXJzIGZvcgorICAgICAgICAgICAgZWxlbWVudHMgd2l0aCAiZ2VuZXJhdGVU
eXBlQ2hlY2tzIiBhdHRyaWJ1dGUgc2V0LgorCiAyMDEzLTA5LTAyICBBbmRyZWFzIEtsaW5nICA8
YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBTaW1wbGlmeSBEb2N1bWVudFR5cGUgaGFuZGxp
bmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDRkN2UxODAuLmE0Yjg4ZTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCkBAIC0yOTgsNiArMjk4LDcgQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9QbHVn
SW5zUmVzb3VyY2VzLmg6ICQoV2ViQ29yZSkvY3NzL21ha2UtY3NzLWZpbGUtYXJyYXlzLnAKIERl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcDogRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MRWxlbWVudEZhY3RvcnkuY3BwCiBEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0hUTUxFbGVtZW50RmFjdG9yeS5jcHA6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SFRNTEVsZW1lbnRGYWN0b3J5LmgKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTEVsZW1lbnRG
YWN0b3J5Lmg6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcAorRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9IVE1MRWxlbWVudFR5cGVDaGVja3MuaDogRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9IVE1MTmFtZXMuaAogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuY3BwOiBE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5oCiBEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0hUTUxOYW1lcy5oOiAkKFdlYkNvcmUpL2RvbS9tYWtlX25hbWVzLnBsICQoV2ViQ29yZSkvYmlu
ZGluZ3Mvc2NyaXB0cy9IYXNoZXIucG0gJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL1N0YXRp
Y1N0cmluZy5wbSAkKFdlYkNvcmUpL2h0bWwvSFRNTFRhZ05hbWVzLmluICQoV2ViQ29yZSkvaHRt
bC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KIAkkKEFNX1ZfR0VOKSQoUEVSTCkgLUkkKFdlYkNvcmUp
L2JpbmRpbmdzL3NjcmlwdHMgJDwgLS10YWdzICQoV2ViQ29yZSkvaHRtbC9IVE1MVGFnTmFtZXMu
aW4gLS1hdHRycyAkKFdlYkNvcmUpL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIC0tZXh0cmFE
ZWZpbmVzICIkKGZlYXR1cmVfZGVmaW5lcykiIC0tZmFjdG9yeSAtLXdyYXBwZXJGYWN0b3J5IC0t
b3V0cHV0RGlyICIkKEdFTlNPVVJDRVNfV0VCQ09SRSkiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQppbmRleCBlZWZjOTA2Li5iZGY3YjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTE1LDYgKzE1LDcgQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0V4Y2VwdGlvbkludGVyZmFjZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9IVE1MRWxlbWVudEZhY3RvcnkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0hUTUxFbGVtZW50RmFjdG9yeS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxFbGVt
ZW50VHlwZUNoZWNrcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxFbnRpdHlUYWJs
ZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCAwMDJiMzc1Li4wYjQ0ZDBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTE4MjQx
LDYgKzE4MjQxLDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xFeGNlcHRpb25IZWFkZXJzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcRXhjZXB0aW9uSW50ZXJmYWNlcy5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1B
cmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEhUTUxFbGVtZW50RmFj
dG9yeS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEhUTUxFbGVtZW50VHlwZUNoZWNrcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEhUTUxOYW1lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1
cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEluamVjdGVkU2NyaXB0Q2FudmFzTW9k
dWxlU291cmNlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCIgLz4KQEAgLTE4Njk4LDYgKzE4Njk5LDcg
QEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmok
KFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xNYXRo
TUxFbGVtZW50RmFjdG9yeS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXE1hdGhNTE5hbWVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcU1ZHRWxlbWVudEZhY3RvcnkuaCIgLz4KKyAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3Jt
QXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xTVkdFbGVtZW50VHlw
ZUNoZWNrcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXFNWR05hbWVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcVXNlckFnZW50U3R5bGVTaGVldHMuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0
dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xXZWJLaXRGb250RmFtaWx5TmFtZXMu
aCIgLz4KQEAgLTIxNDA2LDQgKzIxNDA4LDQgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRl
bnNpb25UYXJnZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcQnVp
bGRDdXN0b21pemF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1By
b2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGRhM2Zm
MjguLmEwMWYwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTQ1MDEsNiArNDUwMSw4IEBACiAJCUI1NUQ1QUE0MTE5MTMxRkMw
MEJDQzMxNSAvKiBKU1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNTVENUFBMjExOTEzMUZDMDBCQ0MzMTUg
LyogSlNTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5oICovOyB9OwogCQlCNTVENUFBNTExOTEz
MUZDMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNTVENUFBMzExOTEzMUZDMDBC
Q0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5jcHAgKi87IH07CiAJCUI1NUQ1
QUE5MTE5MTMyNTAwMEJDQzMxNSAvKiBKU1NRTFRyYW5zYWN0aW9uU3luY0N1c3RvbS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNTVENUFBNzExOTEz
MjUwMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwICovOyB9OworCQlC
NTYyREI2MDE3RDNDRDYzMDAxMEFGOTYgLyogSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNTYyREI1RTE3RDNDRDU2
MDAxMEFGOTYgLyogSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmggKi87IH07CisJCUI1NjJEQjYxMTdE
M0NENjYwMDEwQUY5NiAvKiBTVkdFbGVtZW50VHlwZUNoZWNrcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU2MkRCNUYxN0QzQ0Q1NjAwMTBBRjk2IC8q
IFNWR0VsZW1lbnRUeXBlQ2hlY2tzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQjU4Q0VCNjkxMTkxMzYwNzAwMkE2NzkwIC8qIEpTRGF0YWJhc2VT
eW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNThD
RUI2NzExOTEzNjA3MDAyQTY3OTAgLyogSlNEYXRhYmFzZVN5bmMuaCAqLzsgfTsKIAkJQjU4Q0VC
NkExMTkxMzYwNzAwMkE2NzkwIC8qIEpTRGF0YWJhc2VTeW5jLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1OENFQjY4MTE5MTM2MDcwMDJBNjc5MCAv
KiBKU0RhdGFiYXNlU3luYy5jcHAgKi87IH07CiAJCUI1OENFQjZEMTE5MTM2MUMwMDJBNjc5MCAv
KiBKU1NRTFRyYW5zYWN0aW9uU3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjU4Q0VCNkIxMTkxMzYxQzAwMkE2NzkwIC8qIEpTU1FMVHJhbnNhY3Rp
b25TeW5jLmggKi87IH07CkBAIC0xMTE1MSw2ICsxMTE1Myw4IEBACiAJCUI1NUQ1QUEyMTE5MTMx
RkMwMEJDQzMxNSAvKiBKU1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjU1RDVBQTMxMTkxMzFGQzAwQkNDMzE1IC8qIEpT
U1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUI1NUQ1QUE3MTE5MTMyNTAwMEJDQzMxNSAvKiBKU1NRTFRyYW5z
YWN0aW9uU3luY0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU1NRTFRyYW5zYWN0aW9uU3luY0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUI1NjJEQjVFMTdEM0NENTYwMDEwQUY5NiAvKiBIVE1MRWxlbWVudFR5cGVDaGVja3Mu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmg7IHBhdGggPSBIVE1MRWxl
bWVudFR5cGVDaGVja3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjU2MkRCNUYx
N0QzQ0Q1NjAwMTBBRjk2IC8qIFNWR0VsZW1lbnRUeXBlQ2hlY2tzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFNWR0VsZW1lbnRUeXBlQ2hlY2tzLmg7IHBhdGggPSBTVkdFbGVtZW50VHlwZUNoZWNrcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNThDRUI2NzExOTEzNjA3MDAyQTY3OTAgLyog
SlNEYXRhYmFzZVN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEYXRh
YmFzZVN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjU4Q0VCNjgxMTkxMzYw
NzAwMkE2NzkwIC8qIEpTRGF0YWJhc2VTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTRGF0YWJhc2VTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQjU4Q0VCNkIxMTkxMzYxQzAwMkE2NzkwIC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU1FMVHJhbnNhY3Rpb25TeW5jLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDM4Miw2ICsxNDM4Niw3IEBACiAJCQkJ
OTc2N0NFMEExNDVBQkMxMzAwNUU2NERCIC8qIEV4Y2VwdGlvbkludGVyZmFjZXMuaCAqLywKIAkJ
CQlBMTdDODEyMDBGMkE1Q0Y3MDA1REFBRUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLywK
IAkJCQlBMTdDODEyMTBGMkE1Q0Y3MDA1REFBRUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmggKi8s
CisJCQkJQjU2MkRCNUUxN0QzQ0Q1NjAwMTBBRjk2IC8qIEhUTUxFbGVtZW50VHlwZUNoZWNrcy5o
ICovLAogCQkJCUE4QkMwNDkxMTIxNEY2OTYwMEI1RjEyMiAvKiBIVE1MRW50aXR5VGFibGUuY3Bw
ICovLAogCQkJCUE4RDA2QjM4MEEyNjVEQ0QwMDVFNzIwMyAvKiBIVE1MTmFtZXMuY3BwICovLAog
CQkJCUE4RDA2QjM3MEEyNjVEQ0QwMDVFNzIwMyAvKiBIVE1MTmFtZXMuaCAqLywKQEAgLTE0NDA1
LDYgKzE0NDEwLDcgQEAKIAkJCQk1M0VGNzY2QTE2NTMwQTYxMDA0Q0JFNDkgLyogU2V0dGluZ3NN
YWNyb3MuaCAqLywKIAkJCQk2NTY1ODFFNjA5RDE1MDhEMDAwRTYxRDcgLyogU1ZHRWxlbWVudEZh
Y3RvcnkuY3BwICovLAogCQkJCTY1NjU4MUU3MDlEMTUwOEQwMDBFNjFENyAvKiBTVkdFbGVtZW50
RmFjdG9yeS5oICovLAorCQkJCUI1NjJEQjVGMTdEM0NENTYwMDEwQUY5NiAvKiBTVkdFbGVtZW50
VHlwZUNoZWNrcy5oICovLAogCQkJCTY1NjU4MUU4MDlEMTUwOEQwMDBFNjFENyAvKiBTVkdOYW1l
cy5jcHAgKi8sCiAJCQkJNjU2NTgxRTkwOUQxNTA4RDAwMEU2MUQ3IC8qIFNWR05hbWVzLmggKi8s
CiAJCQkJNjU2NTgxQUUwOUQxNEVFNjAwMEU2MUQ3IC8qIFVzZXJBZ2VudFN0eWxlU2hlZXRzLmgg
Ki8sCkBAIC0yMTMzNiw2ICsyMTM0Miw3IEBACiAJCQkJODU5MDlDREMwQUNDN0E3RTAwREYwMUYx
IC8qIERPTUNTU0NoYXJzZXRSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMy
REQ5MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NGb250RmFjZVJ1bGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTg1OTA5Q0REMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NGb250RmFjZVJ1bGVJbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjU2MkRCNjExN0QzQ0Q2NjAwMTBBRjk2IC8qIFNW
R0VsZW1lbnRUeXBlQ2hlY2tzLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMkREQjBBQThDOUJF
MDA3RDNCN0QgLyogRE9NQ1NTSW1wb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU5MDlD
REUwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU0ltcG9ydFJ1bGVJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODUwMzJEREQwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU01lZGlhUnVsZS5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yMjczNSw2ICsyMjc0Miw3IEBACiAJCQkJOEMwRTMzNEYxMzhB
OTJDNzAwOERBOTRGIC8qIExldmVsREJXcml0ZUJhdGNoLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NDczMEQ5MTEyNDhGMEIzMDBEM0E5QzkgLyogTGlnaHRTb3VyY2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCUIyMjI3OTY1MEQwMEJGMjIwMDcxQjc4MiAvKiBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUI1NjJEQjYwMTdEM0NENjMwMDEwQUY5NiAvKiBIVE1MRWxl
bWVudFR5cGVDaGVja3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1QUJCNzg3MTNCOTA0QkMwMEYx
OTdFMyAvKiBMaW5lQnJlYWtJdGVyYXRvclBvb2xJQ1UuaCBpbiBIZWFkZXJzICovLAogCQkJCUFC
MzFDOTFFMTBBRTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODlCNUVBQTIxMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRpbmcuaCBpbiBIZWFkZXJz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAppbmRleCA0MDc4MjQxLi45ODE5M2RiIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFrZV9uYW1lcy5wbApAQCAtMTU1LDEyICsxNTUsMTQgQEAgZGllICJZb3UgbXVz
dCBzcGVjaWZ5IGEgbmFtZXNwYWNlVVJJIChlLmcuIGh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
KSIgdW5sZXNzICQKICRwYXJhbWV0ZXJze25hbWVzcGFjZVByZWZpeH0gPSAkcGFyYW1ldGVyc3tu
YW1lc3BhY2V9IHVubGVzcyAkcGFyYW1ldGVyc3tuYW1lc3BhY2VQcmVmaXh9OwogJHBhcmFtZXRl
cnN7ZmFsbGJhY2tKU0ludGVyZmFjZU5hbWV9ID0gJHBhcmFtZXRlcnN7ZmFsbGJhY2tJbnRlcmZh
Y2VOYW1lfSB1bmxlc3MgJHBhcmFtZXRlcnN7ZmFsbGJhY2tKU0ludGVyZmFjZU5hbWV9OwogCitt
eSAkdHlwZUNoZWNrc0Jhc2VQYXRoID0gIiRvdXRwdXREaXIvJHBhcmFtZXRlcnN7bmFtZXNwYWNl
fUVsZW1lbnRUeXBlQ2hlY2tzIjsKIG15ICRuYW1lc0Jhc2VQYXRoID0gIiRvdXRwdXREaXIvJHBh
cmFtZXRlcnN7bmFtZXNwYWNlfU5hbWVzIjsKIG15ICRmYWN0b3J5QmFzZVBhdGggPSAiJG91dHB1
dERpci8kcGFyYW1ldGVyc3tuYW1lc3BhY2V9RWxlbWVudEZhY3RvcnkiOwogbXkgJHdyYXBwZXJG
YWN0b3J5RmlsZU5hbWUgPSAiJHBhcmFtZXRlcnN7bmFtZXNwYWNlfUVsZW1lbnRXcmFwcGVyRmFj
dG9yeSI7CiAKIHByaW50TmFtZXNIZWFkZXJGaWxlKCIkbmFtZXNCYXNlUGF0aC5oIik7CiBwcmlu
dE5hbWVzQ3BwRmlsZSgiJG5hbWVzQmFzZVBhdGguY3BwIik7CitwcmludFR5cGVDaGVja3NIZWFk
ZXJGaWxlKCIkdHlwZUNoZWNrc0Jhc2VQYXRoLmgiKTsKIAogaWYgKCRwcmludEZhY3RvcnkpIHsK
ICAgICBwcmludEZhY3RvcnlDcHBGaWxlKCIkZmFjdG9yeUJhc2VQYXRoLmNwcCIpOwpAQCAtMTg3
LDcgKzE4OSw4IEBAIHN1YiBkZWZhdWx0VGFnUHJvcGVydHlIYXNoCiAgICAgICAgICd3cmFwcGVy
T25seUlmTWVkaWFJc0F2YWlsYWJsZScgPT4gMCwKICAgICAgICAgJ2NvbmRpdGlvbmFsJyA9PiAw
LAogICAgICAgICAnY29udGV4dENvbmRpdGlvbmFsJyA9PiAwLAotICAgICAgICAncnVudGltZUNv
bmRpdGlvbmFsJyA9PiAwCisgICAgICAgICdydW50aW1lQ29uZGl0aW9uYWwnID0+IDAsCisgICAg
ICAgICdnZW5lcmF0ZVR5cGVDaGVja3MnID0+IDAKICAgICApOwogfQogCkBAIC01ODYsNyArNTg5
LDcgQEAgc3ViIHByaW50TGljZW5zZUhlYWRlcgogICoKICAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJh
dGVkIGJ5IHRoZSBkb20vbWFrZV9uYW1lcy5wbCBzY3JpcHQuCiAgKgotICogQ29weXJpZ2h0IChD
KSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIw
MTMgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtNjEzLDYgKzYxNiw1MCBAQCBzdWIgcHJpbnRMaWNlbnNlSGVhZGVyCiAi
OwogfQogCitzdWIgcHJpbnRUeXBlQ2hlY2tzCit7CisgICAgbXkgKCRGLCAkbmFtZXNSZWYpID0g
QF87CisgICAgbXkgJW5hbWVzID0gJSRuYW1lc1JlZjsKKworICAgIGZvciBteSAkbmFtZSAoc29y
dCBrZXlzICVuYW1lcykgeworICAgICAgICBpZiAoJHBhcnNlZFRhZ3N7JG5hbWV9e2dlbmVyYXRl
VHlwZUNoZWNrc30gIT0gMSkgeworICAgICAgICAgICAgbmV4dDsKKyAgICAgICAgfQorCisgICAg
ICAgIG15ICRjbGFzcyA9ICRwYXJzZWRUYWdzeyRuYW1lfXtpbnRlcmZhY2VOYW1lfTsKKyAgICAg
ICAgbXkgJGhlbHBlciA9ICJpcyRjbGFzcyI7CisKKyAgICAgICAgcHJpbnQgRiAiY2xhc3MgJGNs
YXNzO1xuIjsKKyAgICAgICAgcHJpbnQgRiAiaW5saW5lIGJvb2wgJGhlbHBlcihjb25zdCBFbGVt
ZW50JiBlbGVtZW50KSB7IHJldHVybiBlbGVtZW50Lmhhc1RhZ05hbWUoIi4kcGFyYW1ldGVyc3tu
YW1lc3BhY2V9LiJOYW1lczo6Ii4kbmFtZS4iVGFnKTsgfVxuIjsKKyAgICAgICAgcHJpbnQgRiAi
aW5saW5lIGJvb2wgJGhlbHBlcihjb25zdCBFbGVtZW50KiBlbGVtZW50KSB7IEFTU0VSVChlbGVt
ZW50KTsgcmV0dXJuICRoZWxwZXIoKmVsZW1lbnQpOyB9XG4iOworICAgICAgICBwcmludCBGICJp
bmxpbmUgYm9vbCAkaGVscGVyKGNvbnN0IE5vZGUqIG5vZGUpIHsgQVNTRVJUKG5vZGUpOyByZXR1
cm4gbm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmICRoZWxwZXIodG9FbGVtZW50KG5vZGUpKTsgfVxu
IjsKKyAgICAgICAgcHJpbnQgRiAidGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZU
eXBlPCRjbGFzcz4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gJGhlbHBlcihlbGVt
ZW50KTsgfVxuIjsKKworICAgICAgICBwcmludCBGICJcbiI7CisgICAgfQorfQorCitzdWIgcHJp
bnRUeXBlQ2hlY2tzSGVhZGVyRmlsZQoreworICAgIG15ICgkaGVhZGVyUGF0aCkgPSBzaGlmdDsK
KyAgICBteSAkRjsKKyAgICBvcGVuIEYsICI+JGhlYWRlclBhdGgiOworICAgIHByaW50TGljZW5z
ZUhlYWRlcigkRik7CisKKyAgICBwcmludCBGICIjaWZuZGVmICIuJHBhcmFtZXRlcnN7bmFtZXNw
YWNlfS4iRWxlbWVudFR5cGVDaGVja3NfaFxuIjsKKyAgICBwcmludCBGICIjZGVmaW5lICIuJHBh
cmFtZXRlcnN7bmFtZXNwYWNlfS4iRWxlbWVudFR5cGVDaGVja3NfaFxuXG4iOworICAgIHByaW50
IEYgIiNpbmNsdWRlIFwiY29uZmlnLmhcIlxuIjsKKyAgICBwcmludCBGICIjaW5jbHVkZSBcIiIu
JHBhcmFtZXRlcnN7bmFtZXNwYWNlfS4iTmFtZXMuaFwiXG5cbiI7CisgICAgcHJpbnQgRiAibmFt
ZXNwYWNlIFdlYkNvcmUge1xuXG4iOworCisgICAgcHJpbnRUeXBlQ2hlY2tzKCRGLCBcJWFsbFRh
Z3MpOworCisgICAgcHJpbnQgRiAifVxuXG4iOworICAgIHByaW50IEYgIiNlbmRpZlxuIjsKKwor
ICAgIGNsb3NlIEY7Cit9CisKIHN1YiBwcmludE5hbWVzSGVhZGVyRmlsZQogewogICAgIG15ICgk
aGVhZGVyUGF0aCkgPSBzaGlmdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEFuY2hvckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQu
aAppbmRleCBjZjQ2OTQ4Li5kNGFkNjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBbmNob3JFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5oCkBAIC0xNDksMjQgKzE0OSwxMiBAQCBpbmxpbmUgTGlua0hhc2ggSFRNTEFuY2hv
ckVsZW1lbnQ6OnZpc2l0ZWRMaW5rSGFzaCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVkVmlz
aXRlZExpbmtIYXNoOyAKIH0KIAotaW5saW5lIGJvb2wgaXNIVE1MQW5jaG9yRWxlbWVudChjb25z
dCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6
YVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTEFuY2hvckVsZW1lbnQoY29uc3QgRWxlbWVu
dCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6
OmFUYWcpOwotfQotCiBpbmxpbmUgSFRNTEFuY2hvckVsZW1lbnQqIHRvSFRNTEFuY2hvckVsZW1l
bnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTigh
bm9kZSB8fCBpc0hUTUxBbmNob3JFbGVtZW50KG5vZGUpKTsKICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8SFRNTEFuY2hvckVsZW1lbnQqPihub2RlKTsKIH0KIAotdGVtcGxhdGUgPD4gaW5saW5lIGJv
b2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxBbmNob3JFbGVtZW50Pihjb25zdCBFbGVtZW50KiBlbGVt
ZW50KSB7IHJldHVybiBpc0hUTUxBbmNob3JFbGVtZW50KGVsZW1lbnQpOyB9Ci0KIC8vIEZ1bmN0
aW9ucyBzaGFyZWQgd2l0aCB0aGUgb3RoZXIgYW5jaG9yIGVsZW1lbnRzIChpLmUuLCBTVkcpLgog
CiBib29sIGlzRW50ZXJLZXlLZXlkb3duRXZlbnQoRXZlbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBcmVhRWxlbWVudC5oCmluZGV4IDhmZmMwMjUuLmQ2YzJjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQXJlYUVsZW1lbnQuaApAQCAtNzAsMTggKzcwLDYgQEAgcHJpdmF0ZToKICAgICBTaGFw
ZSBtX3NoYXBlOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MQXJlYUVsZW1lbnQoY29uc3QgTm9k
ZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmFyZWFU
YWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxBcmVhRWxlbWVudChjb25zdCBFbGVtZW50KiBl
bGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YXJl
YVRhZyk7Ci19Ci0KLXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxIVE1M
QXJlYUVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTEFyZWFF
bGVtZW50KGVsZW1lbnQpOyB9Ci0KIGlubGluZSBIVE1MQXJlYUVsZW1lbnQqIHRvSFRNTEFyZWFF
bGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJ
T04oIW5vZGUgfHwgaXNIVE1MQXJlYUVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdWRpb0VsZW1lbnQuaAppbmRleCAwN2NhNDhkLi44MTUzYjM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBdWRpb0VsZW1lbnQuaApAQCAtNDMsMTYgKzQzLDYgQEAgcHJpdmF0ZToKICAgICBI
VE1MQXVkaW9FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCosIGJvb2wpOwog
fTsKIAotaW5saW5lIGJvb2wgaXNIVE1MQXVkaW9FbGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAg
cmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjphdWRpb1RhZyk7Ci19Ci0KLWlubGlu
ZSBib29sIGlzSFRNTEF1ZGlvRWxlbWVudChFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVy
biBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YXVkaW9UYWcpOwotfQotCiBpbmxpbmUg
SFRNTEF1ZGlvRWxlbWVudCogdG9IVE1MQXVkaW9FbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAg
QVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MQXVkaW9FbGVt
ZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oCmluZGV4IDFhMzVm
NDcuLjg4ZWY3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaApAQCAtNDQs
MTggKzQ0LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb20oQ29udGFp
bmVyTm9kZSopIE9WRVJSSURFOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MQmFzZUVsZW1lbnQo
Y29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFt
ZXM6OmJhc2VUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxCYXNlRWxlbWVudChjb25zdCBF
bGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxO
YW1lczo6YmFzZVRhZyk7Ci19Ci0KLXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9m
VHlwZTxIVE1MQmFzZUVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlz
SFRNTEJhc2VFbGVtZW50KGVsZW1lbnQpOyB9Ci0KIH0gLy8gbmFtZXNwYWNlCiAKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCmluZGV4IDY1ODEwOWQuLjJmY2Iw
MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmgKQEAgLTE4OCwxMSAr
MTg4LDYgQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIFJlZlB0cjxJbWFnZT4gbV9jb3BpZWRJbWFn
ZTsgLy8gRklYTUU6IFRoaXMgaXMgdGVtcG9yYXJ5IGZvciBwbGF0Zm9ybXMgdGhhdCBoYXZlIHRv
IGNvcHkgdGhlIGltYWdlIGJ1ZmZlciB0byByZW5kZXIgKGFuZCBmb3IgQ1NTQ2FudmFzVmFsdWUp
LgogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MQ2FudmFzRWxlbWVudChjb25zdCBOb2RlKiBub2Rl
KQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6Y2FudmFzVGFnKTsK
LX0KLQogaW5saW5lIGNvbnN0IEhUTUxDYW52YXNFbGVtZW50KiB0b0hUTUxDYW52YXNFbGVtZW50
KGNvbnN0IE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJ
T04oIW5vZGUgfHwgaXNIVE1MQ2FudmFzRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmgKaW5kZXggYTZkYmVmMi4uNGZmMDAwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1l
bnQuaApAQCAtMjUsNiArMjUsOCBAQAogCiAjaW5jbHVkZSAiU3R5bGVkRWxlbWVudC5oIgogCisj
aW5jbHVkZSAiSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRG9jdW1lbnRGcmFnbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRT
ZXRFbGVtZW50LmgKaW5kZXggMmM0NDRiYy4uNGEzNGNjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRmllbGRTZXRFbGVtZW50LmgKQEAgLTYzLDE5ICs2Myw2IEBAIHByaXZhdGU6CiAgICAg
bXV0YWJsZSB1aW50NjRfdCBtX2RvY3VtZW50VmVyc2lvbjsKIH07CiAKLWlubGluZSBib29sIGlz
SFRNTEZpZWxkU2V0RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2Rl
LT5pc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KG5vZGUpLT5oYXNUYWdOYW1lKEhUTUxOYW1l
czo6ZmllbGRzZXRUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxGaWVsZFNldEVsZW1lbnQo
Y29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFt
ZShIVE1MTmFtZXM6OmZpZWxkc2V0VGFnKTsKLX0KLQotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wg
aXNFbGVtZW50T2ZUeXBlPEhUTUxGaWVsZFNldEVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1l
bnQpIHsgcmV0dXJuIGlzSFRNTEZpZWxkU2V0RWxlbWVudChlbGVtZW50KTsgfQotCi0KIH0gLy8g
bmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5k
ZXggOWE3NDMxYS4uNjFhNWE0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5o
CkBAIC0xNjYsMTYgKzE2Niw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dhc0RlbW90ZWQ7CiB9
OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxGb3JtRWxlbWVudChOb2RlKiBub2RlKQotewotICAgIHJl
dHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6Zm9ybVRhZyk7Ci19Ci0KLWlubGluZSBi
b29sIGlzSFRNTEZvcm1FbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVs
ZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpmb3JtVGFnKTsKLX0KLQogaW5saW5lIEhUTUxG
b3JtRWxlbWVudCogdG9IVE1MRm9ybUVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRf
V0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxGb3JtRWxlbWVudChub2Rl
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5oCmluZGV4IDdkZDkz
MWUuLmFjMmE5OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5o
CkBAIC0xMDAsMTYgKzEwMCw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX25vcmVzaXplOwogfTsK
IAotaW5saW5lIGJvb2wgaXNIVE1MRnJhbWVTZXRFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17
Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpmcmFtZXNldFRhZyk7Ci19
Ci0KLWlubGluZSBib29sIGlzSFRNTEZyYW1lU2V0RWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVt
ZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6ZnJhbWVz
ZXRUYWcpOwotfQotCiBpbmxpbmUgSFRNTEZyYW1lU2V0RWxlbWVudCogdG9IVE1MRnJhbWVTZXRF
bGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJ
T04oIW5vZGUgfHwgaXNIVE1MRnJhbWVTZXRFbGVtZW50KG5vZGUpKTsKQEAgLTEyMiw4ICsxMTIs
NiBAQCBpbmxpbmUgY29uc3QgSFRNTEZyYW1lU2V0RWxlbWVudCogdG9IVE1MRnJhbWVTZXRFbGVt
ZW50KGNvbnN0IE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEhUTUxG
cmFtZVNldEVsZW1lbnQqPihub2RlKTsKIH0KIAotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNF
bGVtZW50T2ZUeXBlPEhUTUxGcmFtZVNldEVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQp
IHsgcmV0dXJuIGlzSFRNTEZyYW1lU2V0RWxlbWVudChlbGVtZW50KTsgfQotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBIVE1MRnJhbWVTZXRFbGVtZW50X2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggOWY3MTNjYy4uMjQ4ZTZjMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTExNSwxNiArMTE1LDYgQEAgcHJp
dmF0ZToKICAgICBBdG9taWNTdHJpbmcgbV9iZXN0Rml0SW1hZ2VVUkw7CiB9OwogCi1pbmxpbmUg
Ym9vbCBpc0hUTUxJbWFnZUVsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+
aGFzVGFnTmFtZShIVE1MTmFtZXM6OmltZ1RhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTElt
YWdlRWxlbWVudChFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNU
YWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKTsKLX0KLQogaW5saW5lIEhUTUxJbWFnZUVsZW1lbnQq
IHRvSFRNTEltYWdlRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTEltYWdlRWxlbWVudChub2RlKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDViNzY2MGIuLjFkNzg3YjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC00NDMsMTYgKzQ0Myw2IEBA
IHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWlubGluZSBib29sIGlzSFRNTElucHV0RWxlbWVudChj
b25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1l
czo6aW5wdXRUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxJbnB1dEVsZW1lbnQoY29uc3Qg
RWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1M
TmFtZXM6OmlucHV0VGFnKTsKLX0KLQogaW5saW5lIEhUTUxJbnB1dEVsZW1lbnQqIHRvSFRNTElu
cHV0RWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKCFub2RlIHx8IGlzSFRNTElucHV0RWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTExhYmVsRWxlbWVudC5oCmluZGV4IGFiMzE1ODMuLjkwYTM2OTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCkBAIC01NSwxOCArNTUsNiBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgdm9pZCBmb2N1cyhib29sIHJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbiwgRm9j
dXNEaXJlY3Rpb24pIE9WRVJSSURFOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MTGFiZWxFbGVt
ZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRN
TE5hbWVzOjpsYWJlbFRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTExhYmVsRWxlbWVudChj
b25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1l
KEhUTUxOYW1lczo6bGFiZWxUYWcpOwotfQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0Vs
ZW1lbnRPZlR5cGU8SFRNTExhYmVsRWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyBy
ZXR1cm4gaXNIVE1MTGFiZWxFbGVtZW50KGVsZW1lbnQpOyB9Ci0KIGlubGluZSBIVE1MTGFiZWxF
bGVtZW50KiB0b0hUTUxMYWJlbEVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lU
SF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxMYWJlbEVsZW1lbnQobm9kZSkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5oCmluZGV4IDU4MzE3MmEuLmRj
YzBkMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExlZ2VuZEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmgKQEAgLTQ1LDE4
ICs0NSw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBIVE1MRm9ybUVsZW1lbnQqIHZpcnR1YWxG
b3JtKCkgY29uc3QgT1ZFUlJJREU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxMZWdlbmRFbGVt
ZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRN
TE5hbWVzOjpsZWdlbmRUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxMZWdlbmRFbGVtZW50
KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05h
bWUoSFRNTE5hbWVzOjpsZWdlbmRUYWcpOwotfQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBp
c0VsZW1lbnRPZlR5cGU8SFRNTExlZ2VuZEVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQp
IHsgcmV0dXJuIGlzSFRNTExlZ2VuZEVsZW1lbnQoZWxlbWVudCk7IH0KLQogfSAvL25hbWVzcGFj
ZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuaAppbmRleCAyMmI4YjRh
Li44ZjYyNzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXBFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFwRWxlbWVudC5oCkBAIC01NCwxNiAr
NTQsNiBAQCBwcml2YXRlOgogICAgIEF0b21pY1N0cmluZyBtX25hbWU7CiB9OwogCi1pbmxpbmUg
Ym9vbCBpc0hUTUxNYXBFbGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhh
c1RhZ05hbWUoSFRNTE5hbWVzOjptYXBUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxNYXBF
bGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05h
bWUoSFRNTE5hbWVzOjptYXBUYWcpOwotfQotCiBpbmxpbmUgSFRNTE1hcEVsZW1lbnQqIHRvSFRN
TE1hcEVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBM
SUNBVElPTighbm9kZSB8fCBpc0hUTUxNYXBFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWV0ZXJFbGVtZW50LmgKaW5kZXggNWQxMzZmMi4uY2U3NDYwNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgKQEAgLTgyLDExICs4Miw2IEBAIHByaXZhdGU6CiAg
ICAgUmVmUHRyPE1ldGVyVmFsdWVFbGVtZW50PiBtX3ZhbHVlOwogfTsKIAotaW5saW5lIGJvb2wg
aXNIVE1MTWV0ZXJFbGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1Rh
Z05hbWUoSFRNTE5hbWVzOjptZXRlclRhZyk7Ci19Ci0KIGlubGluZSBIVE1MTWV0ZXJFbGVtZW50
KiB0b0hUTUxNZXRlckVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNV
UklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxNZXRlckVsZW1lbnQobm9kZSkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuaAppbmRleCA1OTMxOTdlLi4zMzBl
YjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuaApAQCAtNjMs
MTYgKzYzLDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IG1fc3R5bGU7CiB9
OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxPcHRHcm91cEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkK
LXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6Om9wdGdyb3VwVGFnKTsK
LX0KLQotaW5saW5lIGJvb2wgaXNIVE1MT3B0R3JvdXBFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVs
ZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpvcHRn
cm91cFRhZyk7Ci19Ci0KIGlubGluZSBIVE1MT3B0R3JvdXBFbGVtZW50KiB0b0hUTUxPcHRHcm91
cEVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNB
VElPTighbm9kZSB8fCBpc0hUTUxPcHRHcm91cEVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oCmluZGV4IDM2NGU1MzMuLjI3NjJkYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgKQEAgLTk1LDE2ICs5NSw2IEBAIHByaXZh
dGU6CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBtX3N0eWxlOwogfTsKIAotaW5saW5lIGJvb2wg
aXNIVE1MT3B0aW9uRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2Rl
LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6b3B0aW9uVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNI
VE1MT3B0aW9uRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBl
bGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6b3B0aW9uVGFnKTsKLX0KLQogaW5saW5lIEhU
TUxPcHRpb25FbGVtZW50KiB0b0hUTUxPcHRpb25FbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAg
QVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MT3B0aW9uRWxl
bWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJhbUVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5oCmluZGV4IGI2
NTk1ZDYuLmVkMDkxYWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJh
bUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJhbUVsZW1lbnQuaApA
QCAtNDAsMjMgKzQwLDkgQEAgcHJpdmF0ZToKICAgICBIVE1MUGFyYW1FbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCiAgICAgdmlydHVhbCBib29sIGlzVVJMQXR0cmli
dXRlKGNvbnN0IEF0dHJpYnV0ZSYpIGNvbnN0IE9WRVJSSURFOwotCiAgICAgdmlydHVhbCB2b2lk
IGFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJMcyhMaXN0SGFzaFNldDxLVVJMPiYpIGNvbnN0Owog
fTsKIAotaW5saW5lIGJvb2wgaXNIVE1MUGFyYW1FbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17
Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpwYXJhbVRhZyk7Ci19Ci0K
LWlubGluZSBib29sIGlzSFRNTFBhcmFtRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQot
ewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6cGFyYW1UYWcpOwot
fQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTFBhcmFtRWxl
bWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MUGFyYW1FbGVtZW50
KGVsZW1lbnQpOyB9Ci0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmgKaW5kZXggNjBjMGZhYS4uMzlmZjIz
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmgKQEAgLTY5LDEy
ICs2OSw2IEBAIHByaXZhdGU6CiAgICAgUHJvZ3Jlc3NWYWx1ZUVsZW1lbnQqIG1fdmFsdWU7CiB9
OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxQcm9ncmVzc0VsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAg
ICBBU1NFUlQobm9kZSk7Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpw
cm9ncmVzc1RhZyk7Ci19Ci0KIGlubGluZSBIVE1MUHJvZ3Jlc3NFbGVtZW50KiB0b0hUTUxQcm9n
cmVzc0VsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBM
SUNBVElPTighbm9kZSB8fCBpc0hUTUxQcm9ncmVzc0VsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5oCmluZGV4IGVlYjY2YzcuLmUzM2QxNTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmgKQEAgLTY3LDExICs2Nyw2IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNsb25lRWxlbWVudFdpdGhv
dXRBdHRyaWJ1dGVzQW5kQ2hpbGRyZW4oKTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFNjcmlw
dEVsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1M
TmFtZXM6OnNjcmlwdFRhZyk7Ci19Ci0KIGlubGluZSBIVE1MU2NyaXB0RWxlbWVudCogdG9IVE1M
U2NyaXB0RWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lN
UExJQ0FUSU9OKCFub2RlIHx8IG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpzY3JpcHRUYWcp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaAppbmRleCBmYzkyMmJjLi5k
YzE4MjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5oCkBAIC01Nywx
OSArNTcsNiBAQCBwcml2YXRlOgogICAgIFRpbWVyPEhUTUxTb3VyY2VFbGVtZW50PiBtX2Vycm9y
RXZlbnRUaW1lcjsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFNvdXJjZUVsZW1lbnQoY29uc3Qg
Tm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnNv
dXJjZVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTFNvdXJjZUVsZW1lbnQoY29uc3QgRWxl
bWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFt
ZXM6OnNvdXJjZVRhZyk7Ci19Ci0KLXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9m
VHlwZTxIVE1MU291cmNlRWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4g
aXNIVE1MU291cmNlRWxlbWVudChlbGVtZW50KTsgfQotCi0KIH0gLy9uYW1lc3BhY2UKIAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oCmluZGV4IDU0OGVhOWYuLjky
MGRlYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oCkBAIC05MywyNCAr
OTMsMTIgQEAgcHJpdmF0ZToKICAgICBTY29wZWRTdHlsZVJlZ2lzdHJhdGlvblN0YXRlIG1fc2Nv
cGVkU3R5bGVSZWdpc3RyYXRpb25TdGF0ZTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFN0eWxl
RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1l
KEhUTUxOYW1lczo6c3R5bGVUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxTdHlsZUVsZW1l
bnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFn
TmFtZShIVE1MTmFtZXM6OnN0eWxlVGFnKTsKLX0KLQogaW5saW5lIEhUTUxTdHlsZUVsZW1lbnQq
IHRvSFRNTFN0eWxlRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTFN0eWxlRWxlbWVudChub2RlKSk7CiAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PEhUTUxTdHlsZUVsZW1lbnQqPihub2RlKTsKIH0KIAotdGVtcGxh
dGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxTdHlsZUVsZW1lbnQ+KGNvbnN0
IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTFN0eWxlRWxlbWVudChlbGVtZW50KTsg
fQotCiB9IC8vbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGFibGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVs
ZW1lbnQuaAppbmRleCBlYzIxNDAxLi4wZDc2YWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
YWJsZUVsZW1lbnQuaApAQCAtMTAwLDE2ICsxMDAsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxT
dHlsZVByb3BlcnR5U2V0PiBtX3NoYXJlZENlbGxTdHlsZTsKIH07CiAKLWlubGluZSBib29sIGlz
SFRNTFRhYmxlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5o
YXNUYWdOYW1lKEhUTUxOYW1lczo6dGFibGVUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxU
YWJsZUVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVu
dC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRhYmxlVGFnKTsKLX0KLQogaW5saW5lIEhUTUxUYWJs
ZUVsZW1lbnQqIHRvSFRNTFRhYmxlRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9X
SVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTFRhYmxlRWxlbWVudChub2Rl
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5oCmluZGV4IGJlZDc1
MWMuLjUzZWY0ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5o
CkBAIC01MSwxOCArNTEsNiBAQCBwcml2YXRlOgogICAgIEhUTUxUYWJsZVJvd0VsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxU
YWJsZVJvd0VsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OnRyVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MVGFibGVS
b3dFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQt
Pmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0clRhZyk7Ci19Ci0KLXRlbXBsYXRlPD4gaW5saW5lIGJv
b2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxUYWJsZVJvd0VsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVs
ZW1lbnQpIHsgcmV0dXJuIGlzSFRNTFRhYmxlUm93RWxlbWVudChlbGVtZW50KTsgfQotCiBpbmxp
bmUgSFRNTFRhYmxlUm93RWxlbWVudCogdG9IVE1MVGFibGVSb3dFbGVtZW50KE5vZGUqIG5vZGUp
CiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1M
VGFibGVSb3dFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRhZ05hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KaW5k
ZXggZjJkNGU1MC4uNDY2MTUyNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRhZ05hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCkBA
IC0zLDE3ICszLDE3IEBAIG5hbWVzcGFjZVByZWZpeD0ieGh0bWwiCiBuYW1lc3BhY2VVUkk9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiCiBmYWxsYmFja0ludGVyZmFjZU5hbWU9IkhUTUxV
bmtub3duRWxlbWVudCIKIAotYSBpbnRlcmZhY2VOYW1lPUhUTUxBbmNob3JFbGVtZW50CithIGlu
dGVyZmFjZU5hbWU9SFRNTEFuY2hvckVsZW1lbnQsIGdlbmVyYXRlVHlwZUNoZWNrcwogYWJiciBp
bnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBhY3JvbnltIGludGVyZmFjZU5hbWU9SFRNTEVsZW1l
bnQKIGFkZHJlc3MgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogYXBwbGV0IGNvbnN0cnVjdG9y
TmVlZHNDcmVhdGVkQnlQYXJzZXIKLWFyZWEKK2FyZWEgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBhcnRp
Y2xlIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGFzaWRlIGludGVyZmFjZU5hbWU9SFRNTEVs
ZW1lbnQKLWF1ZGlvIHdyYXBwZXJPbmx5SWZNZWRpYUlzQXZhaWxhYmxlLCBjb25kaXRpb25hbD1W
SURFTywgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlcgorYXVkaW8gd3JhcHBlck9ubHlJ
Zk1lZGlhSXNBdmFpbGFibGUsIGNvbmRpdGlvbmFsPVZJREVPLCBjb25zdHJ1Y3Rvck5lZWRzQ3Jl
YXRlZEJ5UGFyc2VyLCBnZW5lcmF0ZVR5cGVDaGVja3MKIGIgaW50ZXJmYWNlTmFtZT1IVE1MRWxl
bWVudAotYmFzZQorYmFzZSBnZW5lcmF0ZVR5cGVDaGVja3MKIGJhc2Vmb250IGludGVyZmFjZU5h
bWU9SFRNTEJhc2VGb250RWxlbWVudAogYmRpIGludGVyZmFjZU5hbWU9SFRNTEJESUVsZW1lbnQs
IEpTSW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogYmRvIGludGVyZmFjZU5hbWU9SFRNTEVsZW1l
bnQKQEAgLTIzLDcgKzIzLDcgQEAgYmxvY2txdW90ZSBpbnRlcmZhY2VOYW1lPUhUTUxRdW90ZUVs
ZW1lbnQKIGJvZHkKIGJyIGludGVyZmFjZU5hbWU9SFRNTEJSRWxlbWVudAogYnV0dG9uIGNvbnN0
cnVjdG9yTmVlZHNGb3JtRWxlbWVudAotY2FudmFzCitjYW52YXMgZ2VuZXJhdGVUeXBlQ2hlY2tz
CiBjYXB0aW9uIGludGVyZmFjZU5hbWU9SFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQKIGNlbnRlciBp
bnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBjaXRlIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQK
QEAgLTQ0LDE0ICs0NCwxNCBAQCBkbCBpbnRlcmZhY2VOYW1lPUhUTUxETGlzdEVsZW1lbnQKIGR0
IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGVtIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQK
IGVtYmVkIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIKLWZpZWxkc2V0IGludGVyZmFj
ZU5hbWU9SFRNTEZpZWxkU2V0RWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50Citm
aWVsZHNldCBpbnRlcmZhY2VOYW1lPUhUTUxGaWVsZFNldEVsZW1lbnQsIGNvbnN0cnVjdG9yTmVl
ZHNGb3JtRWxlbWVudCwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBmaWdjYXB0aW9uIGludGVyZmFjZU5h
bWU9SFRNTEVsZW1lbnQKIGZpZ3VyZSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBmb250CiBm
b290ZXIgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotZm9ybQorZm9ybSBnZW5lcmF0ZVR5cGVD
aGVja3MKIGZyYW1lCi1mcmFtZXNldCBpbnRlcmZhY2VOYW1lPUhUTUxGcmFtZVNldEVsZW1lbnQK
K2ZyYW1lc2V0IGludGVyZmFjZU5hbWU9SFRNTEZyYW1lU2V0RWxlbWVudCwgZ2VuZXJhdGVUeXBl
Q2hlY2tzCiBoMSBpbnRlcmZhY2VOYW1lPUhUTUxIZWFkaW5nRWxlbWVudAogaDIgaW50ZXJmYWNl
TmFtZT1IVE1MSGVhZGluZ0VsZW1lbnQKIGgzIGludGVyZmFjZU5hbWU9SFRNTEhlYWRpbmdFbGVt
ZW50CkBAIC02NiwyNSArNjYsMjUgQEAgaHRtbAogaSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50
CiBpZnJhbWUgaW50ZXJmYWNlTmFtZT1IVE1MSUZyYW1lRWxlbWVudAogaW1hZ2UgaW50ZXJmYWNl
TmFtZT1IVE1MRWxlbWVudAotaW1nIGludGVyZmFjZU5hbWU9SFRNTEltYWdlRWxlbWVudCwgY29u
c3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50Ci1pbnB1dCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1l
bnQsIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIKK2ltZyBpbnRlcmZhY2VOYW1lPUhU
TUxJbWFnZUVsZW1lbnQsIGNvbnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudCwgZ2VuZXJhdGVUeXBl
Q2hlY2tzCitpbnB1dCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQsIGNvbnN0cnVjdG9yTmVl
ZHNDcmVhdGVkQnlQYXJzZXIsIGdlbmVyYXRlVHlwZUNoZWNrcwogaW5zIGludGVyZmFjZU5hbWU9
SFRNTE1vZEVsZW1lbnQKIGlzaW5kZXggaW50ZXJmYWNlTmFtZT1IVE1MVW5rbm93bkVsZW1lbnQK
IGtiZCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBrZXlnZW4gY29uc3RydWN0b3JOZWVkc0Zv
cm1FbGVtZW50Ci1sYWJlbAorbGFiZWwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBsYXllciBpbnRlcmZh
Y2VOYW1lPUhUTUxFbGVtZW50Ci1sZWdlbmQKK2xlZ2VuZCBnZW5lcmF0ZVR5cGVDaGVja3MKIGxp
IGludGVyZmFjZU5hbWU9SFRNTExJRWxlbWVudAogbGluayBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRl
ZEJ5UGFyc2VyCiBsaXN0aW5nIGludGVyZmFjZU5hbWU9SFRNTFByZUVsZW1lbnQKIG1haW4gaW50
ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotbWFwCittYXAgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBtYXJr
IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIG1hcnF1ZWUKIG1lbnUKIG1ldGEKLW1ldGVyIGlu
dGVyZmFjZU5hbWU9SFRNTE1ldGVyRWxlbWVudCwgY29uZGl0aW9uYWw9TUVURVJfRUxFTUVOVAor
bWV0ZXIgaW50ZXJmYWNlTmFtZT1IVE1MTWV0ZXJFbGVtZW50LCBjb25kaXRpb25hbD1NRVRFUl9F
TEVNRU5ULCBnZW5lcmF0ZVR5cGVDaGVja3MKIG5hdiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50
CiBub2JyIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIG5vZW1iZWQgaW50ZXJmYWNlTmFtZT1I
VE1MRWxlbWVudApAQCAtOTIsNDMgKzkyLDQzIEBAIG5vZnJhbWVzIGludGVyZmFjZU5hbWU9SFRN
TEVsZW1lbnQKIG5vbGF5ZXIgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogb2JqZWN0IGNvbnN0
cnVjdG9yTmVlZHNGb3JtRWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlcgog
b2wgaW50ZXJmYWNlTmFtZT1IVE1MT0xpc3RFbGVtZW50Ci1vcHRncm91cCBpbnRlcmZhY2VOYW1l
PUhUTUxPcHRHcm91cEVsZW1lbnQKLW9wdGlvbgorb3B0Z3JvdXAgaW50ZXJmYWNlTmFtZT1IVE1M
T3B0R3JvdXBFbGVtZW50LCBnZW5lcmF0ZVR5cGVDaGVja3MKK29wdGlvbiBnZW5lcmF0ZVR5cGVD
aGVja3MKIG91dHB1dCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQKIHAgaW50ZXJmYWNlTmFt
ZT1IVE1MUGFyYWdyYXBoRWxlbWVudAotcGFyYW0KK3BhcmFtIGdlbmVyYXRlVHlwZUNoZWNrcwog
cGxhaW50ZXh0IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHByZQotcHJvZ3Jlc3MgaW50ZXJm
YWNlTmFtZT1IVE1MUHJvZ3Jlc3NFbGVtZW50LCBjb25kaXRpb25hbD1QUk9HUkVTU19FTEVNRU5U
Citwcm9ncmVzcyBpbnRlcmZhY2VOYW1lPUhUTUxQcm9ncmVzc0VsZW1lbnQsIGNvbmRpdGlvbmFs
PVBST0dSRVNTX0VMRU1FTlQsIGdlbmVyYXRlVHlwZUNoZWNrcwogcSBpbnRlcmZhY2VOYW1lPUhU
TUxRdW90ZUVsZW1lbnQKIHJwIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHJ0IGludGVyZmFj
ZU5hbWU9SFRNTEVsZW1lbnQKIHJ1YnkgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogcyBpbnRl
cmZhY2VOYW1lPUhUTUxFbGVtZW50CiBzYW1wIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLXNj
cmlwdCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCitzY3JpcHQgY29uc3RydWN0b3JO
ZWVkc0NyZWF0ZWRCeVBhcnNlciwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBzZWN0aW9uIGludGVyZmFj
ZU5hbWU9SFRNTEVsZW1lbnQKIHNlbGVjdCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQKIHNt
YWxsIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLXNvdXJjZSB3cmFwcGVyT25seUlmTWVkaWFJ
c0F2YWlsYWJsZSwgY29uZGl0aW9uYWw9VklERU8KK3NvdXJjZSB3cmFwcGVyT25seUlmTWVkaWFJ
c0F2YWlsYWJsZSwgY29uZGl0aW9uYWw9VklERU8sIGdlbmVyYXRlVHlwZUNoZWNrcwogc3Bhbgog
c3RyaWtlIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHN0cm9uZyBpbnRlcmZhY2VOYW1lPUhU
TUxFbGVtZW50Ci1zdHlsZSBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCitzdHlsZSBj
b25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyLCBnZW5lcmF0ZVR5cGVDaGVja3MKIHN1YiBp
bnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBzdW1tYXJ5IGludGVyZmFjZU5hbWU9SFRNTFN1bW1h
cnlFbGVtZW50LCBKU0ludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQsIGNvbmRpdGlvbmFsPURFVEFJ
TFNfRUxFTUVOVAogc3VwIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLXRhYmxlCit0YWJsZSBn
ZW5lcmF0ZVR5cGVDaGVja3MKIHRib2R5IGludGVyZmFjZU5hbWU9SFRNTFRhYmxlU2VjdGlvbkVs
ZW1lbnQKIHRkIGludGVyZmFjZU5hbWU9SFRNTFRhYmxlQ2VsbEVsZW1lbnQKIHRlbXBsYXRlIGNv
bmRpdGlvbmFsPVRFTVBMQVRFX0VMRU1FTlQKLXRleHRhcmVhIGludGVyZmFjZU5hbWU9SFRNTFRl
eHRBcmVhRWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50Cit0ZXh0YXJlYSBpbnRl
cmZhY2VOYW1lPUhUTUxUZXh0QXJlYUVsZW1lbnQsIGNvbnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVu
dCwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiB0Zm9vdCBpbnRlcmZhY2VOYW1lPUhUTUxUYWJsZVNlY3Rp
b25FbGVtZW50CiB0aCBpbnRlcmZhY2VOYW1lPUhUTUxUYWJsZUNlbGxFbGVtZW50CiB0aGVhZCBp
bnRlcmZhY2VOYW1lPUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50Ci10aXRsZQotdHIgaW50ZXJmYWNl
TmFtZT1IVE1MVGFibGVSb3dFbGVtZW50Ci10cmFjayB3cmFwcGVyT25seUlmTWVkaWFJc0F2YWls
YWJsZSwgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKK3RpdGxlIGdlbmVyYXRlVHlwZUNoZWNrcwor
dHIgaW50ZXJmYWNlTmFtZT1IVE1MVGFibGVSb3dFbGVtZW50LCBnZW5lcmF0ZVR5cGVDaGVja3MK
K3RyYWNrIHdyYXBwZXJPbmx5SWZNZWRpYUlzQXZhaWxhYmxlLCBjb25kaXRpb25hbD1WSURFT19U
UkFDSywgZ2VuZXJhdGVUeXBlQ2hlY2tzCiB0dCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiB1
IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHVsIGludGVyZmFjZU5hbWU9SFRNTFVMaXN0RWxl
bWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAppbmRleCBmYmY4
NWJhLi42NzU1MTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJl
YUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQu
aApAQCAtMTI3LDE2ICsxMjcsNiBAQCBwcml2YXRlOgogICAgIG11dGFibGUgYm9vbCBtX3dhc01v
ZGlmaWVkQnlVc2VyOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MVGV4dEFyZWFFbGVtZW50KE5v
ZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0ZXh0
YXJlYVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTFRleHRBcmVhRWxlbWVudChFbGVtZW50
KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6
dGV4dGFyZWFUYWcpOwotfQotCiBpbmxpbmUgSFRNTFRleHRBcmVhRWxlbWVudCogdG9IVE1MVGV4
dEFyZWFFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1Q
TElDQVRJT04oIW5vZGUgfHwgaXNIVE1MVGV4dEFyZWFFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmgKaW5kZXggZGRmNmRhNy4uYjY5NGUzNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmgKQEAgLTQ2LDI0ICs0NiwxMiBAQCBwcml2
YXRlOgogICAgIFN0cmluZ1dpdGhEaXJlY3Rpb24gbV90aXRsZTsKIH07CiAKLWlubGluZSBib29s
IGlzSFRNTFRpdGxlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2Rl
LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGl0bGVUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hU
TUxUaXRsZUVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxl
bWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRpdGxlVGFnKTsKLX0KLQogaW5saW5lIEhUTUxU
aXRsZUVsZW1lbnQqIHRvSFRNTFRpdGxlRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VS
VF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTFRpdGxlRWxlbWVudChu
b2RlKSk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxUaXRsZUVsZW1lbnQqPihub2RlKTsK
IH0KIAotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxUaXRsZUVs
ZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTFRpdGxlRWxlbWVu
dChlbGVtZW50KTsgfQotCiB9IC8vbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUcmFja0VsZW1lbnQuaAppbmRleCBjNzkzYjM0Li45ZDhlYjNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaApAQCAtOTcsMTkgKzk3LDYgQEAgcHJpdmF0ZToKICAg
ICBUaW1lcjxIVE1MVHJhY2tFbGVtZW50PiBtX2xvYWRUaW1lcjsKIH07CiAKLWlubGluZSBib29s
IGlzSFRNTFRyYWNrRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2Rl
LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dHJhY2tUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hU
TUxUcmFja0VsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxl
bWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRyYWNrVGFnKTsKLX0KLQotdGVtcGxhdGUgPD4g
aW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxUcmFja0VsZW1lbnQ+KGNvbnN0IEVsZW1l
bnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTFRyYWNrRWxlbWVudChlbGVtZW50KTsgfQotCi0K
IH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAppbmRleCA3NmJkZTcwLi5iMTNmMDI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZiBFTkFCTEUo
U1ZHKQogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNpbmNsdWRlICJTVkdBbmltYXRl
ZFN0cmluZy5oIgorI2luY2x1ZGUgIlNWR0VsZW1lbnRUeXBlQ2hlY2tzLmgiCiAjaW5jbHVkZSAi
U1ZHTGFuZ1NwYWNlLmgiCiAjaW5jbHVkZSAiU1ZHTG9jYXRhYmxlLmgiCiAjaW5jbHVkZSAiU1ZH
UGFyc2luZ0Vycm9yLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oCmluZGV4IDAxZmU2
YzIuLjA2ODFhNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oCkBAIC04OSwxMSAr
ODksNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0dseXBoQ2FjaGVWYWxpZDsKIH07CiAKLWlu
bGluZSBib29sIGlzU1ZHRm9udEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1
cm4gbm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6Zm9udFRhZyk7Ci19Ci0KIGlubGluZSBTVkdG
b250RWxlbWVudCogdG9TVkdGb250RWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9X
SVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzU1ZHRm9udEVsZW1lbnQobm9kZSkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oCmluZGV4IGRhYjQyOTAuLjZl
N2Q4ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmgKQEAgLTY3LDE4
ICs2Nyw2IEBAIHByaXZhdGU6CiAgICAgU1ZHRm9udEVsZW1lbnQqIG1fZm9udEVsZW1lbnQ7CiB9
OwogCi1pbmxpbmUgYm9vbCBpc1NWR0ZvbnRGYWNlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQot
ewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmb250X2ZhY2VUYWcpOwot
fQotCi1pbmxpbmUgYm9vbCBpc1NWR0ZvbnRGYWNlRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVt
ZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmb250X2Zh
Y2VUYWcpOwotfQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8U1ZH
Rm9udEZhY2VFbGVtZW50Pihjb25zdCBFbGVtZW50KiBlbGVtZW50KSB7IHJldHVybiBpc1NWR0Zv
bnRGYWNlRWxlbWVudChlbGVtZW50KTsgfQotCiBpbmxpbmUgU1ZHRm9udEZhY2VFbGVtZW50KiB0
b1NWR0ZvbnRGYWNlRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzU1ZHRm9udEZhY2VFbGVtZW50KG5vZGUpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgKaW5kZXggYjBkYzYy
MC4uODkzNjMwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVt
ZW50LmgKQEAgLTU5LDE5ICs1OSw2IEBAIHByaXZhdGU6CiAgICAgRU5EX0RFQ0xBUkVfQU5JTUFU
RURfUFJPUEVSVElFUwogfTsKIAotaW5saW5lIGJvb2wgaXNTVkdGb3JlaWduT2JqZWN0RWxlbWVu
dChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKFNWR05h
bWVzOjpmb3JlaWduT2JqZWN0VGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNTVkdGb3JlaWduT2Jq
ZWN0RWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50
LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmb3JlaWduT2JqZWN0VGFnKTsKLX0KLQotdGVtcGxhdGUg
PD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50Pihj
b25zdCBFbGVtZW50KiBlbGVtZW50KSB7IHJldHVybiBpc1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50
KGVsZW1lbnQpOyB9Ci0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5B
QkxFKFNWRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaAppbmRleCA5Y2Q1NzkzLi45
MTM0ZjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCkBAIC03NywxMSArNzcs
NiBAQCBwcml2YXRlOgogICAgIFNWR0ltYWdlTG9hZGVyIG1faW1hZ2VMb2FkZXI7CiB9OwogCi1p
bmxpbmUgYm9vbCBpc1NWR0ltYWdlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJl
dHVybiBub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjppbWFnZVRhZyk7Ci19Ci0KIGlubGluZSBT
VkdJbWFnZUVsZW1lbnQqIHRvU1ZHSW1hZ2VFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNT
RVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNTVkdJbWFnZUVsZW1lbnQo
bm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgKaW5kZXggZTYyNTRjNS4u
Y2FhMDk4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCkBAIC04OCwxMSAr
ODgsNiBAQCBwcml2YXRlOgogICAgIFRpbWVyPFNWR0VsZW1lbnQ+IG1fc3ZnTG9hZEV2ZW50VGlt
ZXI7CiB9OwogCi1pbmxpbmUgYm9vbCBpc1NWR1NjcmlwdEVsZW1lbnQoTm9kZSogbm9kZSkKLXsK
LSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6c2NyaXB0VGFnKTsKLX0KLQog
aW5saW5lIFNWR1NjcmlwdEVsZW1lbnQqIHRvU1ZHU2NyaXB0RWxlbWVudChOb2RlKiBub2RlKQog
ewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IG5vZGUtPmhh
c1RhZ05hbWUoU1ZHTmFtZXM6OnNjcmlwdFRhZykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL3N2Z3RhZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9zdmcvc3ZndGFncy5pbgppbmRleCA3
ZGI0ODE0Li5jNDA2MzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvc3ZndGFncy5p
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvc3ZndGFncy5pbgpAQCAtNTMsMjEgKzUzLDIxIEBA
IGZlVHVyYnVsZW5jZQogZmlsdGVyCiAjZW5kaWYKICNpZiBFTkFCTEVfU1ZHX0ZPTlRTCi1mb250
Ci1mb250X2ZhY2UKK2ZvbnQgZ2VuZXJhdGVUeXBlQ2hlY2tzCitmb250X2ZhY2UgZ2VuZXJhdGVU
eXBlQ2hlY2tzCiBmb250X2ZhY2VfZm9ybWF0CiBmb250X2ZhY2VfbmFtZQogZm9udF9mYWNlX3Ny
YwogZm9udF9mYWNlX3VyaQogI2VuZGlmCi1mb3JlaWduT2JqZWN0Citmb3JlaWduT2JqZWN0IGdl
bmVyYXRlVHlwZUNoZWNrcwogZwogI2lmIEVOQUJMRV9TVkdfRk9OVFMKIGdseXBoCiBnbHlwaFJl
ZgogaGtlcm4gaW50ZXJmYWNlTmFtZT1TVkdIS2VybkVsZW1lbnQKICNlbmRpZgotaW1hZ2UKK2lt
YWdlIGdlbmVyYXRlVHlwZUNoZWNrcwogbGluZQogbGluZWFyR3JhZGllbnQKIG1hcmtlcgpAQCAt
ODMsNyArODMsNyBAQCBwb2x5Z29uCiBwb2x5bGluZQogcmFkaWFsR3JhZGllbnQKIHJlY3QKLXNj
cmlwdCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCitzY3JpcHQgY29uc3RydWN0b3JO
ZWVkc0NyZWF0ZWRCeVBhcnNlciwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBzdG9wCiBzdHlsZSBjb25z
dHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCiBzdmcgaW50ZXJmYWNlTmFtZT1TVkdTVkdFbGVt
ZW50Cg==
</data>
<flag name="commit-queue"
          id="232401"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210299</attachid>
            <date>2013-09-02 10:23:25 -0700</date>
            <delta_ts>2013-09-02 11:55:25 -0700</delta_ts>
            <desc>With HTMLElementTypeChecks.h copied to privateheaders</desc>
            <filename>land-120584-3.diff</filename>
            <type>text/plain</type>
            <size>42841</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5YjUyMzkyLi4yN2Q2NTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkg
QEAKKzIwMTMtMDktMDEgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIEdlbmVyYXRlIGlzRm9vRWxlbWVudCgpIGZ1bmN0aW9ucyBmcm9tIHRhZ25hbWUgZGF0YS4K
KyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyMDU4ND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBBZGQgYSAiZ2VuZXJhdGVUeXBlQ2hlY2tz
IiBhdHRyaWJ1dGUgdGhhdCBjYW4gYmUgdXNlZCBpbiBIVE1MVGFnTmFtZXMuaW4gJiBmcmllbmRz
LgorICAgICAgICBJZiBwcmVzZW50LCBpc0Zvb0VsZW1lbnQoKSBzdHlsZSBoZWxwZXJzIHdpbGwg
YmUgYWRkZWQgdG8gSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmguCisgICAgICAgIFRoaXMgYWxzbyBv
dXRwdXRzIGFuIGlzRWxlbWVudE9mVHlwZTxUPiBjaGVjayBmb3IgdGhlIEVsZW1lbnQgaXRlcmF0
b3JzLgorCisgICAgICAgIFJlbW92ZWQgYWxsIHRoZSBoYW5kLXdyaXR0ZW4gaXNGb29FbGVtZW50
KCkgZnVuY3Rpb25zIHRoYXQgb25seSBjaGVja2VkIHRhZyBuYW1lLgorCisgICAgICAgICogaHRt
bC9IVE1MVGFnTmFtZXMuaW46CisgICAgICAgICogc3ZnL3N2Z3RhZ3MuaW46CisKKyAgICAgICAg
ICAgIEFkZGVkICJnZW5lcmF0ZVR5cGVDaGVja3MiIGF0dHJpYnV0ZSBhcyBhcHByb3ByaWF0ZS4K
KworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3Qu
YW06CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgICAgIEFkZGVk
IHRvIGJ1aWxkIHN5c3RlbXMgYmFzZWQgb24gaG93IEhUTUxOYW1lcy5oIHdhcyBkb25lLgorICAg
ICAgICAgICAgV2UncmUganVzdCBvdXRwdXR0aW5nIGFuIGFkZGl0aW9uYWwgaGVhZGVyIGZpbGUg
aW4gdGhlIGdlbmVyYXRlZCBjb2RlIGRpcmVjdG9yeQorICAgICAgICAgICAgc28gSSBzdXNwZWN0
IG1vc3QgcG9ydHMgd2lsbCBqdXN0IHBpY2sgdGhpcyB1cCBhdXRvbWFnaWNhbGx5LgorCisgICAg
ICAgICogZG9tL21ha2VfbmFtZXMucGw6CisgICAgICAgIChkZWZhdWx0VGFnUHJvcGVydHlIYXNo
KToKKyAgICAgICAgKHByaW50TGljZW5zZUhlYWRlcik6CisgICAgICAgIChwcmludFR5cGVDaGVj
a3MpOgorICAgICAgICAocHJpbnRUeXBlQ2hlY2tzSGVhZGVyRmlsZSk6CisKKyAgICAgICAgICAg
IEdlbmVyYXRlIGEgc2VwYXJhdGUgZmlsZSBmb3IgZWFjaCBuYW1lc3BhY2Ugd2l0aCBpc0Zvb0Vs
ZW1lbnQoKSBoZWxwZXJzIGZvcgorICAgICAgICAgICAgZWxlbWVudHMgd2l0aCAiZ2VuZXJhdGVU
eXBlQ2hlY2tzIiBhdHRyaWJ1dGUgc2V0LgorCiAyMDEzLTA5LTAyICBBbnRvbiBPYnpoaXJvdiAg
PGEub2J6aGlyb3ZAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9i
Lzk4MzUwPiBbR1RLXSBhY2Nlc3NpYmlsaXR5L2FyaWEtaW52YWxpZC5odG1sIHRpbWVzIG91dApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQppbmRleCA0ZDdlMTgwLi5hNGI4OGU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQpAQCAtMjk4LDYgKzI5OCw3IEBAIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvUGx1Z0luc1Jl
c291cmNlcy5oOiAkKFdlYkNvcmUpL2Nzcy9tYWtlLWNzcy1maWxlLWFycmF5cy5wCiBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTSFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHA6IERlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSFRNTEVsZW1lbnRGYWN0b3J5LmNwcAogRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9IVE1MRWxlbWVudEZhY3RvcnkuY3BwOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxF
bGVtZW50RmFjdG9yeS5oCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxFbGVtZW50RmFjdG9y
eS5oOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5jcHAKK0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmg6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SFRNTE5hbWVzLmgKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcDogRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaAogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1M
TmFtZXMuaDogJChXZWJDb3JlKS9kb20vbWFrZV9uYW1lcy5wbCAkKFdlYkNvcmUpL2JpbmRpbmdz
L3NjcmlwdHMvSGFzaGVyLnBtICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cy9TdGF0aWNTdHJp
bmcucG0gJChXZWJDb3JlKS9odG1sL0hUTUxUYWdOYW1lcy5pbiAkKFdlYkNvcmUpL2h0bWwvSFRN
TEF0dHJpYnV0ZU5hbWVzLmluCiAJJChBTV9WX0dFTikkKFBFUkwpIC1JJChXZWJDb3JlKS9iaW5k
aW5ncy9zY3JpcHRzICQ8IC0tdGFncyAkKFdlYkNvcmUpL2h0bWwvSFRNTFRhZ05hbWVzLmluIC0t
YXR0cnMgJChXZWJDb3JlKS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiAtLWV4dHJhRGVmaW5l
cyAiJChmZWF0dXJlX2RlZmluZXMpIiAtLWZhY3RvcnkgLS13cmFwcGVyRmFjdG9yeSAtLW91dHB1
dERpciAiJChHRU5TT1VSQ0VTX1dFQkNPUkUpIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
aW5kZXggZWVmYzkwNi4uYmRmN2I3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBA
IC0xNSw2ICsxNSw3IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9FeGNlcHRpb25JbnRlcmZhY2VzLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSFRNTEVsZW1lbnRGYWN0b3J5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1M
RWxlbWVudEZhY3RvcnkuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MRWxlbWVudFR5
cGVDaGVja3MuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MRW50aXR5VGFibGUuY3Bw
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSFRNTE5hbWVzLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMDAyYjM3NS4uMGI0NGQwZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xODI0MSw2ICsx
ODI0MSw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcRXhjZXB0aW9uSGVhZGVycy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEV4Y2VwdGlvbkludGVyZmFjZXMuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0
ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xIVE1MRWxlbWVudEZhY3Rvcnku
aCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxv
YmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xI
VE1MRWxlbWVudFR5cGVDaGVja3MuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xIVE1MTmFtZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZVNv
dXJjZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEluamVjdGVkU2NyaXB0U291cmNlLmgiIC8+CkBAIC0xODY5OCw2ICsxODY5OSw3IEBACiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0
Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcTWF0aE1MRWxl
bWVudEZhY3RvcnkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xNYXRoTUxOYW1lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXFNWR0VsZW1lbnRGYWN0b3J5LmgiIC8+CisgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hp
dGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcU1ZHRWxlbWVudFR5cGVDaGVj
a3MuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xTVkdOYW1lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXFVzZXJBZ2VudFN0eWxlU2hlZXRzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcV2ViS2l0Rm9udEZhbWlseU5hbWVzLmgiIC8+
CkBAIC0yMTQwNiw0ICsyMTQwOCw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9u
VGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXEJ1aWxkQ3Vz
dG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkYTNmZjI4Li4z
ZDg0NmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC00NTAxLDYgKzQ1MDEsOCBAQAogCQlCNTVENUFBNDExOTEzMUZDMDBCQ0Mz
MTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU1RDVBQTIxMTkxMzFGQzAwQkNDMzE1IC8qIEpT
U1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suaCAqLzsgfTsKIAkJQjU1RDVBQTUxMTkxMzFGQzAw
QkNDMzE1IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU1RDVBQTMxMTkxMzFGQzAwQkNDMzE1
IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suY3BwICovOyB9OwogCQlCNTVENUFBOTEx
OTEzMjUwMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU1RDVBQTcxMTkxMzI1MDAw
QkNDMzE1IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcCAqLzsgfTsKKwkJQjU2MkRC
NjAxN0QzQ0Q2MzAwMTBBRjk2IC8qIEhUTUxFbGVtZW50VHlwZUNoZWNrcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU2MkRCNUUxN0QzQ0Q1NjAwMTBB
Rjk2IC8qIEhUTUxFbGVtZW50VHlwZUNoZWNrcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUI1NjJEQjYxMTdEM0NENjYwMDEwQUY5NiAvKiBTVkdF
bGVtZW50VHlwZUNoZWNrcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjU2MkRCNUYxN0QzQ0Q1NjAwMTBBRjk2IC8qIFNWR0VsZW1lbnRUeXBlQ2hlY2tz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjU4
Q0VCNjkxMTkxMzYwNzAwMkE2NzkwIC8qIEpTRGF0YWJhc2VTeW5jLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNThDRUI2NzExOTEzNjA3MDAyQTY3OTAg
LyogSlNEYXRhYmFzZVN5bmMuaCAqLzsgfTsKIAkJQjU4Q0VCNkExMTkxMzYwNzAwMkE2NzkwIC8q
IEpTRGF0YWJhc2VTeW5jLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEI1OENFQjY4MTE5MTM2MDcwMDJBNjc5MCAvKiBKU0RhdGFiYXNlU3luYy5jcHAg
Ki87IH07CiAJCUI1OENFQjZEMTE5MTM2MUMwMDJBNjc5MCAvKiBKU1NRTFRyYW5zYWN0aW9uU3lu
Yy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU4Q0VC
NkIxMTkxMzYxQzAwMkE2NzkwIC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jLmggKi87IH07CkBAIC0x
MTE1MSw2ICsxMTE1Myw4IEBACiAJCUI1NUQ1QUEyMTE5MTMxRkMwMEJDQzMxNSAvKiBKU1NRTFRy
YW5zYWN0aW9uU3luY0NhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQjU1RDVBQTMxMTkxMzFGQzAwQkNDMzE1IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2Fs
bGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTUUxUcmFu
c2FjdGlvblN5bmNDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI1
NUQ1QUE3MTE5MTMyNTAwMEJDQzMxNSAvKiBKU1NRTFRyYW5zYWN0aW9uU3luY0N1c3RvbS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NRTFRyYW5zYWN0aW9uU3lu
Y0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI1NjJEQjVFMTdEM0NE
NTYwMDEwQUY5NiAvKiBIVE1MRWxlbWVudFR5cGVDaGVja3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRN
TEVsZW1lbnRUeXBlQ2hlY2tzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI1NjJE
QjVGMTdEM0NENTYwMDEwQUY5NiAvKiBTVkdFbGVtZW50VHlwZUNoZWNrcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTVkdFbGVtZW50VHlwZUNoZWNrcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlCNThDRUI2NzExOTEzNjA3MDAyQTY3OTAgLyogSlNEYXRhYmFzZVN5bmMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEYXRhYmFzZVN5bmMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjU4Q0VCNjgxMTkxMzYwNzAwMkE2NzkwIC8qIEpTRGF0YWJhc2VTeW5j
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGF0YWJhc2VTeW5j
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjU4Q0VCNkIxMTkxMzYxQzAwMkE2
NzkwIC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTU1FMVHJhbnNhY3Rpb25TeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xNDM4Miw2ICsxNDM4Niw3IEBACiAJCQkJOTc2N0NFMEExNDVBQkMxMzAwNUU2NERCIC8q
IEV4Y2VwdGlvbkludGVyZmFjZXMuaCAqLywKIAkJCQlBMTdDODEyMDBGMkE1Q0Y3MDA1REFBRUIg
LyogSFRNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLywKIAkJCQlBMTdDODEyMTBGMkE1Q0Y3MDA1REFB
RUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmggKi8sCisJCQkJQjU2MkRCNUUxN0QzQ0Q1NjAwMTBB
Rjk2IC8qIEhUTUxFbGVtZW50VHlwZUNoZWNrcy5oICovLAogCQkJCUE4QkMwNDkxMTIxNEY2OTYw
MEI1RjEyMiAvKiBIVE1MRW50aXR5VGFibGUuY3BwICovLAogCQkJCUE4RDA2QjM4MEEyNjVEQ0Qw
MDVFNzIwMyAvKiBIVE1MTmFtZXMuY3BwICovLAogCQkJCUE4RDA2QjM3MEEyNjVEQ0QwMDVFNzIw
MyAvKiBIVE1MTmFtZXMuaCAqLywKQEAgLTE0NDA1LDYgKzE0NDEwLDcgQEAKIAkJCQk1M0VGNzY2
QTE2NTMwQTYxMDA0Q0JFNDkgLyogU2V0dGluZ3NNYWNyb3MuaCAqLywKIAkJCQk2NTY1ODFFNjA5
RDE1MDhEMDAwRTYxRDcgLyogU1ZHRWxlbWVudEZhY3RvcnkuY3BwICovLAogCQkJCTY1NjU4MUU3
MDlEMTUwOEQwMDBFNjFENyAvKiBTVkdFbGVtZW50RmFjdG9yeS5oICovLAorCQkJCUI1NjJEQjVG
MTdEM0NENTYwMDEwQUY5NiAvKiBTVkdFbGVtZW50VHlwZUNoZWNrcy5oICovLAogCQkJCTY1NjU4
MUU4MDlEMTUwOEQwMDBFNjFENyAvKiBTVkdOYW1lcy5jcHAgKi8sCiAJCQkJNjU2NTgxRTkwOUQx
NTA4RDAwMEU2MUQ3IC8qIFNWR05hbWVzLmggKi8sCiAJCQkJNjU2NTgxQUUwOUQxNEVFNjAwMEU2
MUQ3IC8qIFVzZXJBZ2VudFN0eWxlU2hlZXRzLmggKi8sCkBAIC0yMTMzNiw2ICsyMTM0Miw3IEBA
CiAJCQkJODU5MDlDREMwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU0NoYXJzZXRSdWxlSW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMyREQ5MEFBOEM5QkUwMDdEM0I3RCAvKiBET01D
U1NGb250RmFjZVJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1OTA5Q0REMEFDQzdBN0UwMERG
MDFGMSAvKiBET01DU1NGb250RmFjZVJ1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QjU2MkRCNjExN0QzQ0Q2NjAwMTBBRjk2IC8qIFNWR0VsZW1lbnRUeXBlQ2hlY2tzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4NTAzMkREQjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTSW1wb3J0UnVs
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU5MDlDREUwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNT
U0ltcG9ydFJ1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzJEREQwQUE4QzlC
RTAwN0QzQjdEIC8qIERPTUNTU01lZGlhUnVsZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMjczNSw2
ICsyMjc0Miw3IEBACiAJCQkJOEMwRTMzNEYxMzhBOTJDNzAwOERBOTRGIC8qIExldmVsREJXcml0
ZUJhdGNoLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ5MTEyNDhGMEIzMDBEM0E5QzkgLyog
TGlnaHRTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3OTY1MEQwMEJGMjIwMDcxQjc4
MiAvKiBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUI1NjJE
QjYwMTdEM0NENjMwMDEwQUY5NiAvKiBIVE1MRWxlbWVudFR5cGVDaGVja3MuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE1QUJCNzg3MTNCOTA0QkMwMEYxOTdFMyAvKiBMaW5lQnJlYWtJdGVyYXRvclBv
b2xJQ1UuaCBpbiBIZWFkZXJzICovLAogCQkJCUFCMzFDOTFFMTBBRTFCOEUwMDBDN0I5MiAvKiBM
aW5lQ2xhbXBWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODlCNUVBQTIxMUU4MDAzRDAwRjIz
NjdFIC8qIExpbmVFbmRpbmcuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL21ha2VfbmFtZXMucGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5w
bAppbmRleCA0MDc4MjQxLi45ODE5M2RiIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
bWFrZV9uYW1lcy5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbApAQCAt
MTU1LDEyICsxNTUsMTQgQEAgZGllICJZb3UgbXVzdCBzcGVjaWZ5IGEgbmFtZXNwYWNlVVJJIChl
LmcuIGh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnKSIgdW5sZXNzICQKICRwYXJhbWV0ZXJze25h
bWVzcGFjZVByZWZpeH0gPSAkcGFyYW1ldGVyc3tuYW1lc3BhY2V9IHVubGVzcyAkcGFyYW1ldGVy
c3tuYW1lc3BhY2VQcmVmaXh9OwogJHBhcmFtZXRlcnN7ZmFsbGJhY2tKU0ludGVyZmFjZU5hbWV9
ID0gJHBhcmFtZXRlcnN7ZmFsbGJhY2tJbnRlcmZhY2VOYW1lfSB1bmxlc3MgJHBhcmFtZXRlcnN7
ZmFsbGJhY2tKU0ludGVyZmFjZU5hbWV9OwogCitteSAkdHlwZUNoZWNrc0Jhc2VQYXRoID0gIiRv
dXRwdXREaXIvJHBhcmFtZXRlcnN7bmFtZXNwYWNlfUVsZW1lbnRUeXBlQ2hlY2tzIjsKIG15ICRu
YW1lc0Jhc2VQYXRoID0gIiRvdXRwdXREaXIvJHBhcmFtZXRlcnN7bmFtZXNwYWNlfU5hbWVzIjsK
IG15ICRmYWN0b3J5QmFzZVBhdGggPSAiJG91dHB1dERpci8kcGFyYW1ldGVyc3tuYW1lc3BhY2V9
RWxlbWVudEZhY3RvcnkiOwogbXkgJHdyYXBwZXJGYWN0b3J5RmlsZU5hbWUgPSAiJHBhcmFtZXRl
cnN7bmFtZXNwYWNlfUVsZW1lbnRXcmFwcGVyRmFjdG9yeSI7CiAKIHByaW50TmFtZXNIZWFkZXJG
aWxlKCIkbmFtZXNCYXNlUGF0aC5oIik7CiBwcmludE5hbWVzQ3BwRmlsZSgiJG5hbWVzQmFzZVBh
dGguY3BwIik7CitwcmludFR5cGVDaGVja3NIZWFkZXJGaWxlKCIkdHlwZUNoZWNrc0Jhc2VQYXRo
LmgiKTsKIAogaWYgKCRwcmludEZhY3RvcnkpIHsKICAgICBwcmludEZhY3RvcnlDcHBGaWxlKCIk
ZmFjdG9yeUJhc2VQYXRoLmNwcCIpOwpAQCAtMTg3LDcgKzE4OSw4IEBAIHN1YiBkZWZhdWx0VGFn
UHJvcGVydHlIYXNoCiAgICAgICAgICd3cmFwcGVyT25seUlmTWVkaWFJc0F2YWlsYWJsZScgPT4g
MCwKICAgICAgICAgJ2NvbmRpdGlvbmFsJyA9PiAwLAogICAgICAgICAnY29udGV4dENvbmRpdGlv
bmFsJyA9PiAwLAotICAgICAgICAncnVudGltZUNvbmRpdGlvbmFsJyA9PiAwCisgICAgICAgICdy
dW50aW1lQ29uZGl0aW9uYWwnID0+IDAsCisgICAgICAgICdnZW5lcmF0ZVR5cGVDaGVja3MnID0+
IDAKICAgICApOwogfQogCkBAIC01ODYsNyArNTg5LDcgQEAgc3ViIHByaW50TGljZW5zZUhlYWRl
cgogICoKICAqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBkb20vbWFrZV9uYW1lcy5w
bCBzY3JpcHQuCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAy
MDA5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTMgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjEzLDYgKzYxNiw1
MCBAQCBzdWIgcHJpbnRMaWNlbnNlSGVhZGVyCiAiOwogfQogCitzdWIgcHJpbnRUeXBlQ2hlY2tz
Cit7CisgICAgbXkgKCRGLCAkbmFtZXNSZWYpID0gQF87CisgICAgbXkgJW5hbWVzID0gJSRuYW1l
c1JlZjsKKworICAgIGZvciBteSAkbmFtZSAoc29ydCBrZXlzICVuYW1lcykgeworICAgICAgICBp
ZiAoJHBhcnNlZFRhZ3N7JG5hbWV9e2dlbmVyYXRlVHlwZUNoZWNrc30gIT0gMSkgeworICAgICAg
ICAgICAgbmV4dDsKKyAgICAgICAgfQorCisgICAgICAgIG15ICRjbGFzcyA9ICRwYXJzZWRUYWdz
eyRuYW1lfXtpbnRlcmZhY2VOYW1lfTsKKyAgICAgICAgbXkgJGhlbHBlciA9ICJpcyRjbGFzcyI7
CisKKyAgICAgICAgcHJpbnQgRiAiY2xhc3MgJGNsYXNzO1xuIjsKKyAgICAgICAgcHJpbnQgRiAi
aW5saW5lIGJvb2wgJGhlbHBlcihjb25zdCBFbGVtZW50JiBlbGVtZW50KSB7IHJldHVybiBlbGVt
ZW50Lmhhc1RhZ05hbWUoIi4kcGFyYW1ldGVyc3tuYW1lc3BhY2V9LiJOYW1lczo6Ii4kbmFtZS4i
VGFnKTsgfVxuIjsKKyAgICAgICAgcHJpbnQgRiAiaW5saW5lIGJvb2wgJGhlbHBlcihjb25zdCBF
bGVtZW50KiBlbGVtZW50KSB7IEFTU0VSVChlbGVtZW50KTsgcmV0dXJuICRoZWxwZXIoKmVsZW1l
bnQpOyB9XG4iOworICAgICAgICBwcmludCBGICJpbmxpbmUgYm9vbCAkaGVscGVyKGNvbnN0IE5v
ZGUqIG5vZGUpIHsgQVNTRVJUKG5vZGUpOyByZXR1cm4gbm9kZS0+aXNFbGVtZW50Tm9kZSgpICYm
ICRoZWxwZXIodG9FbGVtZW50KG5vZGUpKTsgfVxuIjsKKyAgICAgICAgcHJpbnQgRiAidGVtcGxh
dGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPCRjbGFzcz4oY29uc3QgRWxlbWVudCog
ZWxlbWVudCkgeyByZXR1cm4gJGhlbHBlcihlbGVtZW50KTsgfVxuIjsKKworICAgICAgICBwcmlu
dCBGICJcbiI7CisgICAgfQorfQorCitzdWIgcHJpbnRUeXBlQ2hlY2tzSGVhZGVyRmlsZQorewor
ICAgIG15ICgkaGVhZGVyUGF0aCkgPSBzaGlmdDsKKyAgICBteSAkRjsKKyAgICBvcGVuIEYsICI+
JGhlYWRlclBhdGgiOworICAgIHByaW50TGljZW5zZUhlYWRlcigkRik7CisKKyAgICBwcmludCBG
ICIjaWZuZGVmICIuJHBhcmFtZXRlcnN7bmFtZXNwYWNlfS4iRWxlbWVudFR5cGVDaGVja3NfaFxu
IjsKKyAgICBwcmludCBGICIjZGVmaW5lICIuJHBhcmFtZXRlcnN7bmFtZXNwYWNlfS4iRWxlbWVu
dFR5cGVDaGVja3NfaFxuXG4iOworICAgIHByaW50IEYgIiNpbmNsdWRlIFwiY29uZmlnLmhcIlxu
IjsKKyAgICBwcmludCBGICIjaW5jbHVkZSBcIiIuJHBhcmFtZXRlcnN7bmFtZXNwYWNlfS4iTmFt
ZXMuaFwiXG5cbiI7CisgICAgcHJpbnQgRiAibmFtZXNwYWNlIFdlYkNvcmUge1xuXG4iOworCisg
ICAgcHJpbnRUeXBlQ2hlY2tzKCRGLCBcJWFsbFRhZ3MpOworCisgICAgcHJpbnQgRiAifVxuXG4i
OworICAgIHByaW50IEYgIiNlbmRpZlxuIjsKKworICAgIGNsb3NlIEY7Cit9CisKIHN1YiBwcmlu
dE5hbWVzSGVhZGVyRmlsZQogewogICAgIG15ICgkaGVhZGVyUGF0aCkgPSBzaGlmdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAppbmRleCBjZjQ2OTQ4Li5kNGFkNjliIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCkBAIC0xNDksMjQgKzE0OSwx
MiBAQCBpbmxpbmUgTGlua0hhc2ggSFRNTEFuY2hvckVsZW1lbnQ6OnZpc2l0ZWRMaW5rSGFzaCgp
IGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVkVmlzaXRlZExpbmtIYXNoOyAKIH0KIAotaW5saW5l
IGJvb2wgaXNIVE1MQW5jaG9yRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVy
biBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlz
SFRNTEFuY2hvckVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4g
ZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmFUYWcpOwotfQotCiBpbmxpbmUgSFRNTEFu
Y2hvckVsZW1lbnQqIHRvSFRNTEFuY2hvckVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NF
UlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxBbmNob3JFbGVtZW50
KG5vZGUpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTEFuY2hvckVsZW1lbnQqPihub2Rl
KTsKIH0KIAotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxBbmNo
b3JFbGVtZW50Pihjb25zdCBFbGVtZW50KiBlbGVtZW50KSB7IHJldHVybiBpc0hUTUxBbmNob3JF
bGVtZW50KGVsZW1lbnQpOyB9Ci0KIC8vIEZ1bmN0aW9ucyBzaGFyZWQgd2l0aCB0aGUgb3RoZXIg
YW5jaG9yIGVsZW1lbnRzIChpLmUuLCBTVkcpLgogCiBib29sIGlzRW50ZXJLZXlLZXlkb3duRXZl
bnQoRXZlbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5oCmluZGV4IDhmZmMw
MjUuLmQ2YzJjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQuaApAQCAtNzAs
MTggKzcwLDYgQEAgcHJpdmF0ZToKICAgICBTaGFwZSBtX3NoYXBlOwogfTsKIAotaW5saW5lIGJv
b2wgaXNIVE1MQXJlYUVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9k
ZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmFyZWFUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hU
TUxBcmVhRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVt
ZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YXJlYVRhZyk7Ci19Ci0KLXRlbXBsYXRlIDw+IGlu
bGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxIVE1MQXJlYUVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQq
IGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTEFyZWFFbGVtZW50KGVsZW1lbnQpOyB9Ci0KIGlubGlu
ZSBIVE1MQXJlYUVsZW1lbnQqIHRvSFRNTEFyZWFFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAg
QVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MQXJlYUVsZW1l
bnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0VsZW1lbnQuaAppbmRleCAwN2Nh
NDhkLi44MTUzYjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0Vs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0VsZW1lbnQuaApAQCAt
NDMsMTYgKzQzLDYgQEAgcHJpdmF0ZToKICAgICBIVE1MQXVkaW9FbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCosIGJvb2wpOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MQXVk
aW9FbGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRN
TE5hbWVzOjphdWRpb1RhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTEF1ZGlvRWxlbWVudChF
bGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxO
YW1lczo6YXVkaW9UYWcpOwotfQotCiBpbmxpbmUgSFRNTEF1ZGlvRWxlbWVudCogdG9IVE1MQXVk
aW9FbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElD
QVRJT04oIW5vZGUgfHwgaXNIVE1MQXVkaW9FbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCYXNlRWxlbWVudC5oCmluZGV4IDFhMzVmNDcuLjg4ZWY3YzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQmFzZUVsZW1lbnQuaApAQCAtNDQsMTggKzQ0LDYgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSopIE9WRVJSSURFOwogfTsKIAot
aW5saW5lIGJvb2wgaXNIVE1MQmFzZUVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICBy
ZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmJhc2VUYWcpOwotfQotCi1pbmxpbmUg
Ym9vbCBpc0hUTUxCYXNlRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJl
dHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YmFzZVRhZyk7Ci19Ci0KLXRlbXBs
YXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxIVE1MQmFzZUVsZW1lbnQ+KGNvbnN0
IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTEJhc2VFbGVtZW50KGVsZW1lbnQpOyB9
Ci0KIH0gLy8gbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFz
RWxlbWVudC5oCmluZGV4IDY1ODEwOWQuLjJmY2IwMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxDYW52YXNFbGVtZW50LmgKQEAgLTE4OCwxMSArMTg4LDYgQEAgcHJpdmF0ZToKICAgICBtdXRh
YmxlIFJlZlB0cjxJbWFnZT4gbV9jb3BpZWRJbWFnZTsgLy8gRklYTUU6IFRoaXMgaXMgdGVtcG9y
YXJ5IGZvciBwbGF0Zm9ybXMgdGhhdCBoYXZlIHRvIGNvcHkgdGhlIGltYWdlIGJ1ZmZlciB0byBy
ZW5kZXIgKGFuZCBmb3IgQ1NTQ2FudmFzVmFsdWUpLgogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1M
Q2FudmFzRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNU
YWdOYW1lKEhUTUxOYW1lczo6Y2FudmFzVGFnKTsKLX0KLQogaW5saW5lIGNvbnN0IEhUTUxDYW52
YXNFbGVtZW50KiB0b0hUTUxDYW52YXNFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCiB7CiAgICAg
QVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MQ2FudmFzRWxl
bWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKaW5kZXggYTZkYmVmMi4uNGZm
MDAwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaApAQCAtMjUsNiArMjUsOCBAQAogCiAj
aW5jbHVkZSAiU3R5bGVkRWxlbWVudC5oIgogCisjaW5jbHVkZSAiSFRNTEVsZW1lbnRUeXBlQ2hl
Y2tzLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnRGcmFnbWVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmgKaW5kZXggMmM0NDRiYy4u
NGEzNGNjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmgKQEAg
LTYzLDE5ICs2Myw2IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSB1aW50NjRfdCBtX2RvY3VtZW50
VmVyc2lvbjsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTEZpZWxkU2V0RWxlbWVudChjb25zdCBO
b2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVt
ZW50KG5vZGUpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6ZmllbGRzZXRUYWcpOwotfQotCi1pbmxp
bmUgYm9vbCBpc0hUTUxGaWVsZFNldEVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsK
LSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmZpZWxkc2V0VGFnKTsK
LX0KLQotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxGaWVsZFNl
dEVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTEZpZWxkU2V0
RWxlbWVudChlbGVtZW50KTsgfQotCi0KIH0gLy8gbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXggOWE3NDMxYS4uNjFhNWE0YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCkBAIC0xNjYsMTYgKzE2Niw2IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX3dhc0RlbW90ZWQ7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxGb3Jt
RWxlbWVudChOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxO
YW1lczo6Zm9ybVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTEZvcm1FbGVtZW50KEVsZW1l
bnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVz
Ojpmb3JtVGFnKTsKLX0KLQogaW5saW5lIEhUTUxGb3JtRWxlbWVudCogdG9IVE1MRm9ybUVsZW1l
bnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTigh
bm9kZSB8fCBpc0hUTUxGb3JtRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZyYW1lU2V0RWxlbWVudC5oCmluZGV4IDdkZDkzMWUuLmFjMmE5OWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5oCkBAIC0xMDAsMTYgKzEwMCw2IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX25vcmVzaXplOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MRnJhbWVT
ZXRFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05h
bWUoSFRNTE5hbWVzOjpmcmFtZXNldFRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTEZyYW1l
U2V0RWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50
LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6ZnJhbWVzZXRUYWcpOwotfQotCiBpbmxpbmUgSFRNTEZy
YW1lU2V0RWxlbWVudCogdG9IVE1MRnJhbWVTZXRFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAg
QVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MRnJhbWVTZXRF
bGVtZW50KG5vZGUpKTsKQEAgLTEyMiw4ICsxMTIsNiBAQCBpbmxpbmUgY29uc3QgSFRNTEZyYW1l
U2V0RWxlbWVudCogdG9IVE1MRnJhbWVTZXRFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCiAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEhUTUxGcmFtZVNldEVsZW1lbnQqPihub2RlKTsKIH0K
IAotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxGcmFtZVNldEVs
ZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTEZyYW1lU2V0RWxl
bWVudChlbGVtZW50KTsgfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBI
VE1MRnJhbWVTZXRFbGVtZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgK
aW5kZXggOWY3MTNjYy4uMjQ4ZTZjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmgKQEAgLTExNSwxNiArMTE1LDYgQEAgcHJpdmF0ZToKICAgICBBdG9taWNTdHJpbmcgbV9i
ZXN0Rml0SW1hZ2VVUkw7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxJbWFnZUVsZW1lbnQoTm9k
ZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmltZ1Rh
Zyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTEltYWdlRWxlbWVudChFbGVtZW50KiBlbGVtZW50
KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKTsK
LX0KLQogaW5saW5lIEhUTUxJbWFnZUVsZW1lbnQqIHRvSFRNTEltYWdlRWxlbWVudChOb2RlKiBu
b2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlz
SFRNTEltYWdlRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5oCmluZGV4IDViNzY2MGIuLjFkNzg3YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5oCkBAIC00NDMsMTYgKzQ0Myw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWlu
bGluZSBib29sIGlzSFRNTElucHV0RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJl
dHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpOwotfQotCi1pbmxpbmUg
Ym9vbCBpc0hUTUxJbnB1dEVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICBy
ZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKTsKLX0KLQogaW5s
aW5lIEhUTUxJbnB1dEVsZW1lbnQqIHRvSFRNTElucHV0RWxlbWVudChOb2RlKiBub2RlKQogewog
ICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTElucHV0
RWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJl
bEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCmluZGV4
IGFiMzE1ODMuLjkwYTM2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExh
YmVsRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5o
CkBAIC01NSwxOCArNTUsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmb2N1cyhib29s
IHJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbiwgRm9jdXNEaXJlY3Rpb24pIE9WRVJSSURFOwogfTsK
IAotaW5saW5lIGJvb2wgaXNIVE1MTGFiZWxFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0g
ICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpsYWJlbFRhZyk7Ci19Ci0KLWlu
bGluZSBib29sIGlzSFRNTExhYmVsRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewot
ICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6bGFiZWxUYWcpOwotfQot
Ci10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTExhYmVsRWxlbWVu
dD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MTGFiZWxFbGVtZW50KGVs
ZW1lbnQpOyB9Ci0KIGlubGluZSBIVE1MTGFiZWxFbGVtZW50KiB0b0hUTUxMYWJlbEVsZW1lbnQo
Tm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9k
ZSB8fCBpc0hUTUxMYWJlbEVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVn
ZW5kRWxlbWVudC5oCmluZGV4IDU4MzE3MmEuLmRjYzBkMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTExlZ2VuZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxMZWdlbmRFbGVtZW50LmgKQEAgLTQ1LDE4ICs0NSw2IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCBIVE1MRm9ybUVsZW1lbnQqIHZpcnR1YWxGb3JtKCkgY29uc3QgT1ZFUlJJREU7CiB9Owog
Ci1pbmxpbmUgYm9vbCBpc0hUTUxMZWdlbmRFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0g
ICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpsZWdlbmRUYWcpOwotfQotCi1p
bmxpbmUgYm9vbCBpc0hUTUxMZWdlbmRFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17
Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpsZWdlbmRUYWcpOwot
fQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTExlZ2VuZEVs
ZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTExlZ2VuZEVsZW1l
bnQoZWxlbWVudCk7IH0KLQogfSAvL25hbWVzcGFjZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1hcEVsZW1lbnQuaAppbmRleCAyMmI4YjRhLi44ZjYyNzQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNYXBFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWFwRWxlbWVudC5oCkBAIC01NCwxNiArNTQsNiBAQCBwcml2YXRlOgogICAgIEF0b21p
Y1N0cmluZyBtX25hbWU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxNYXBFbGVtZW50KE5vZGUq
IG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjptYXBUYWcp
OwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxNYXBFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpCi17
Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjptYXBUYWcpOwotfQot
CiBpbmxpbmUgSFRNTE1hcEVsZW1lbnQqIHRvSFRNTE1hcEVsZW1lbnQoTm9kZSogbm9kZSkKIHsK
ICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxNYXBF
bGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGVy
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgKaW5kZXgg
NWQxMzZmMi4uY2U3NDYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0
ZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgK
QEAgLTgyLDExICs4Miw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1ldGVyVmFsdWVFbGVtZW50
PiBtX3ZhbHVlOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MTWV0ZXJFbGVtZW50KE5vZGUqIG5v
ZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjptZXRlclRhZyk7
Ci19Ci0KIGlubGluZSBIVE1MTWV0ZXJFbGVtZW50KiB0b0hUTUxNZXRlckVsZW1lbnQoTm9kZSog
bm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBp
c0hUTUxNZXRlckVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MT3B0R3JvdXBFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91
cEVsZW1lbnQuaAppbmRleCA1OTMxOTdlLi4zMzBlYjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxPcHRHcm91cEVsZW1lbnQuaApAQCAtNjMsMTYgKzYzLDYgQEAgcHJpdmF0ZToKICAgICBS
ZWZQdHI8UmVuZGVyU3R5bGU+IG1fc3R5bGU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxPcHRH
cm91cEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFn
TmFtZShIVE1MTmFtZXM6Om9wdGdyb3VwVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MT3B0
R3JvdXBFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1l
bnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpvcHRncm91cFRhZyk7Ci19Ci0KIGlubGluZSBIVE1M
T3B0R3JvdXBFbGVtZW50KiB0b0hUTUxPcHRHcm91cEVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAg
ICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxPcHRHcm91
cEVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0
aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oCmlu
ZGV4IDM2NGU1MzMuLjI3NjJkYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVt
ZW50LmgKQEAgLTk1LDE2ICs5NSw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFJlbmRlclN0eWxl
PiBtX3N0eWxlOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MT3B0aW9uRWxlbWVudChjb25zdCBO
b2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6b3B0
aW9uVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MT3B0aW9uRWxlbWVudChjb25zdCBFbGVt
ZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1l
czo6b3B0aW9uVGFnKTsKLX0KLQogaW5saW5lIEhUTUxPcHRpb25FbGVtZW50KiB0b0hUTUxPcHRp
b25FbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElD
QVRJT04oIW5vZGUgfHwgaXNIVE1MT3B0aW9uRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJhbUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBhcmFtRWxlbWVudC5oCmluZGV4IGI2NTk1ZDYuLmVkMDkxYWI0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJhbUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQYXJhbUVsZW1lbnQuaApAQCAtNDAsMjMgKzQwLDkgQEAgcHJpdmF0ZToK
ICAgICBIVE1MUGFyYW1FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwog
CiAgICAgdmlydHVhbCBib29sIGlzVVJMQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYpIGNvbnN0
IE9WRVJSSURFOwotCiAgICAgdmlydHVhbCB2b2lkIGFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJM
cyhMaXN0SGFzaFNldDxLVVJMPiYpIGNvbnN0OwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MUGFy
YW1FbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05h
bWUoSFRNTE5hbWVzOjpwYXJhbVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTFBhcmFtRWxl
bWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNU
YWdOYW1lKEhUTUxOYW1lczo6cGFyYW1UYWcpOwotfQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9v
bCBpc0VsZW1lbnRPZlR5cGU8SFRNTFBhcmFtRWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVu
dCkgeyByZXR1cm4gaXNIVE1MUGFyYW1FbGVtZW50KGVsZW1lbnQpOyB9Ci0KLQogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFByb2dyZXNzRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NF
bGVtZW50LmgKaW5kZXggNjBjMGZhYS4uMzlmZjIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUHJvZ3Jlc3NFbGVtZW50LmgKQEAgLTY5LDEyICs2OSw2IEBAIHByaXZhdGU6CiAgICAgUHJv
Z3Jlc3NWYWx1ZUVsZW1lbnQqIG1fdmFsdWU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxQcm9n
cmVzc0VsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAgICBBU1NFUlQobm9kZSk7Ci0gICAgcmV0dXJu
IG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpwcm9ncmVzc1RhZyk7Ci19Ci0KIGlubGluZSBI
VE1MUHJvZ3Jlc3NFbGVtZW50KiB0b0hUTUxQcm9ncmVzc0VsZW1lbnQoTm9kZSogbm9kZSkKIHsK
ICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxQcm9n
cmVzc0VsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U2NyaXB0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5o
CmluZGV4IGVlYjY2YzcuLmUzM2QxNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFNjcmlwdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRF
bGVtZW50LmgKQEAgLTY3LDExICs2Nyw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBQYXNzUmVm
UHRyPEVsZW1lbnQ+IGNsb25lRWxlbWVudFdpdGhvdXRBdHRyaWJ1dGVzQW5kQ2hpbGRyZW4oKTsK
IH07CiAKLWlubGluZSBib29sIGlzSFRNTFNjcmlwdEVsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAg
ICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnNjcmlwdFRhZyk7Ci19Ci0KIGlu
bGluZSBIVE1MU2NyaXB0RWxlbWVudCogdG9IVE1MU2NyaXB0RWxlbWVudChOb2RlKiBub2RlKQog
ewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IG5vZGUtPmhh
c1RhZ05hbWUoSFRNTE5hbWVzOjpzY3JpcHRUYWcpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNv
dXJjZUVsZW1lbnQuaAppbmRleCBmYzkyMmJjLi5kYzE4MjFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU291cmNlRWxlbWVudC5oCkBAIC01NywxOSArNTcsNiBAQCBwcml2YXRlOgogICAgIFRp
bWVyPEhUTUxTb3VyY2VFbGVtZW50PiBtX2Vycm9yRXZlbnRUaW1lcjsKIH07CiAKLWlubGluZSBi
b29sIGlzSFRNTFNvdXJjZUVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4g
bm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnNvdXJjZVRhZyk7Ci19Ci0KLWlubGluZSBib29s
IGlzSFRNTFNvdXJjZUVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1
cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnNvdXJjZVRhZyk7Ci19Ci0KLXRlbXBs
YXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxIVE1MU291cmNlRWxlbWVudD4oY29u
c3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MU291cmNlRWxlbWVudChlbGVtZW50
KTsgfQotCi0KIH0gLy9uYW1lc3BhY2UKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0
eWxlRWxlbWVudC5oCmluZGV4IDU0OGVhOWYuLjkyMGRlYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFN0eWxlRWxlbWVudC5oCkBAIC05MywyNCArOTMsMTIgQEAgcHJpdmF0ZToKICAgICBTY29w
ZWRTdHlsZVJlZ2lzdHJhdGlvblN0YXRlIG1fc2NvcGVkU3R5bGVSZWdpc3RyYXRpb25TdGF0ZTsK
IH07CiAKLWlubGluZSBib29sIGlzSFRNTFN0eWxlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQot
ewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6c3R5bGVUYWcpOwotfQot
Ci1pbmxpbmUgYm9vbCBpc0hUTUxTdHlsZUVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkK
LXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnN0eWxlVGFnKTsK
LX0KLQogaW5saW5lIEhUTUxTdHlsZUVsZW1lbnQqIHRvSFRNTFN0eWxlRWxlbWVudChOb2RlKiBu
b2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlz
SFRNTFN0eWxlRWxlbWVudChub2RlKSk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxTdHls
ZUVsZW1lbnQqPihub2RlKTsKIH0KIAotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50
T2ZUeXBlPEhUTUxTdHlsZUVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJu
IGlzSFRNTFN0eWxlRWxlbWVudChlbGVtZW50KTsgfQotCiB9IC8vbmFtZXNwYWNlCiAKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaAppbmRleCBlYzIxNDAxLi4wZDc2
YWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaApAQCAtMTAwLDE2ICsx
MDAsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxTdHlsZVByb3BlcnR5U2V0PiBtX3NoYXJlZENl
bGxTdHlsZTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFRhYmxlRWxlbWVudChjb25zdCBOb2Rl
KiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGFibGVU
YWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxUYWJsZUVsZW1lbnQoY29uc3QgRWxlbWVudCog
ZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRh
YmxlVGFnKTsKLX0KLQogaW5saW5lIEhUTUxUYWJsZUVsZW1lbnQqIHRvSFRNTFRhYmxlRWxlbWVu
dChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFu
b2RlIHx8IGlzSFRNTFRhYmxlRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRhYmxlUm93RWxlbWVudC5oCmluZGV4IGJlZDc1MWMuLjUzZWY0ZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5oCkBAIC01MSwxOCArNTEsNiBAQCBwcml2YXRl
OgogICAgIEhUTUxUYWJsZVJvd0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Kik7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxUYWJsZVJvd0VsZW1lbnQoY29uc3QgTm9kZSog
bm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnRyVGFnKTsK
LX0KLQotaW5saW5lIGJvb2wgaXNIVE1MVGFibGVSb3dFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVs
ZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0clRh
Zyk7Ci19Ci0KLXRlbXBsYXRlPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxUYWJs
ZVJvd0VsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTFRhYmxl
Um93RWxlbWVudChlbGVtZW50KTsgfQotCiBpbmxpbmUgSFRNTFRhYmxlUm93RWxlbWVudCogdG9I
VE1MVGFibGVSb3dFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJ
VFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MVGFibGVSb3dFbGVtZW50KG5vZGUpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KaW5kZXggZjJkNGU1MC4uNDY2MTUyNDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCkBAIC0zLDE3ICszLDE3IEBAIG5hbWVzcGFjZVBy
ZWZpeD0ieGh0bWwiCiBuYW1lc3BhY2VVUkk9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwi
CiBmYWxsYmFja0ludGVyZmFjZU5hbWU9IkhUTUxVbmtub3duRWxlbWVudCIKIAotYSBpbnRlcmZh
Y2VOYW1lPUhUTUxBbmNob3JFbGVtZW50CithIGludGVyZmFjZU5hbWU9SFRNTEFuY2hvckVsZW1l
bnQsIGdlbmVyYXRlVHlwZUNoZWNrcwogYWJiciBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBh
Y3JvbnltIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGFkZHJlc3MgaW50ZXJmYWNlTmFtZT1I
VE1MRWxlbWVudAogYXBwbGV0IGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIKLWFyZWEK
K2FyZWEgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBhcnRpY2xlIGludGVyZmFjZU5hbWU9SFRNTEVsZW1l
bnQKIGFzaWRlIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLWF1ZGlvIHdyYXBwZXJPbmx5SWZN
ZWRpYUlzQXZhaWxhYmxlLCBjb25kaXRpb25hbD1WSURFTywgY29uc3RydWN0b3JOZWVkc0NyZWF0
ZWRCeVBhcnNlcgorYXVkaW8gd3JhcHBlck9ubHlJZk1lZGlhSXNBdmFpbGFibGUsIGNvbmRpdGlv
bmFsPVZJREVPLCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyLCBnZW5lcmF0ZVR5cGVD
aGVja3MKIGIgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotYmFzZQorYmFzZSBnZW5lcmF0ZVR5
cGVDaGVja3MKIGJhc2Vmb250IGludGVyZmFjZU5hbWU9SFRNTEJhc2VGb250RWxlbWVudAogYmRp
IGludGVyZmFjZU5hbWU9SFRNTEJESUVsZW1lbnQsIEpTSW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVu
dAogYmRvIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKQEAgLTIzLDcgKzIzLDcgQEAgYmxvY2tx
dW90ZSBpbnRlcmZhY2VOYW1lPUhUTUxRdW90ZUVsZW1lbnQKIGJvZHkKIGJyIGludGVyZmFjZU5h
bWU9SFRNTEJSRWxlbWVudAogYnV0dG9uIGNvbnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudAotY2Fu
dmFzCitjYW52YXMgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBjYXB0aW9uIGludGVyZmFjZU5hbWU9SFRN
TFRhYmxlQ2FwdGlvbkVsZW1lbnQKIGNlbnRlciBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBj
aXRlIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKQEAgLTQ0LDE0ICs0NCwxNCBAQCBkbCBpbnRl
cmZhY2VOYW1lPUhUTUxETGlzdEVsZW1lbnQKIGR0IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQK
IGVtIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGVtYmVkIGNvbnN0cnVjdG9yTmVlZHNDcmVh
dGVkQnlQYXJzZXIKLWZpZWxkc2V0IGludGVyZmFjZU5hbWU9SFRNTEZpZWxkU2V0RWxlbWVudCwg
Y29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50CitmaWVsZHNldCBpbnRlcmZhY2VOYW1lPUhUTUxG
aWVsZFNldEVsZW1lbnQsIGNvbnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudCwgZ2VuZXJhdGVUeXBl
Q2hlY2tzCiBmaWdjYXB0aW9uIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGZpZ3VyZSBpbnRl
cmZhY2VOYW1lPUhUTUxFbGVtZW50CiBmb250CiBmb290ZXIgaW50ZXJmYWNlTmFtZT1IVE1MRWxl
bWVudAotZm9ybQorZm9ybSBnZW5lcmF0ZVR5cGVDaGVja3MKIGZyYW1lCi1mcmFtZXNldCBpbnRl
cmZhY2VOYW1lPUhUTUxGcmFtZVNldEVsZW1lbnQKK2ZyYW1lc2V0IGludGVyZmFjZU5hbWU9SFRN
TEZyYW1lU2V0RWxlbWVudCwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBoMSBpbnRlcmZhY2VOYW1lPUhU
TUxIZWFkaW5nRWxlbWVudAogaDIgaW50ZXJmYWNlTmFtZT1IVE1MSGVhZGluZ0VsZW1lbnQKIGgz
IGludGVyZmFjZU5hbWU9SFRNTEhlYWRpbmdFbGVtZW50CkBAIC02NiwyNSArNjYsMjUgQEAgaHRt
bAogaSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBpZnJhbWUgaW50ZXJmYWNlTmFtZT1IVE1M
SUZyYW1lRWxlbWVudAogaW1hZ2UgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotaW1nIGludGVy
ZmFjZU5hbWU9SFRNTEltYWdlRWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50Ci1p
bnB1dCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQsIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVk
QnlQYXJzZXIKK2ltZyBpbnRlcmZhY2VOYW1lPUhUTUxJbWFnZUVsZW1lbnQsIGNvbnN0cnVjdG9y
TmVlZHNGb3JtRWxlbWVudCwgZ2VuZXJhdGVUeXBlQ2hlY2tzCitpbnB1dCBjb25zdHJ1Y3Rvck5l
ZWRzRm9ybUVsZW1lbnQsIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIsIGdlbmVyYXRl
VHlwZUNoZWNrcwogaW5zIGludGVyZmFjZU5hbWU9SFRNTE1vZEVsZW1lbnQKIGlzaW5kZXggaW50
ZXJmYWNlTmFtZT1IVE1MVW5rbm93bkVsZW1lbnQKIGtiZCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVt
ZW50CiBrZXlnZW4gY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50Ci1sYWJlbAorbGFiZWwgZ2Vu
ZXJhdGVUeXBlQ2hlY2tzCiBsYXllciBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50Ci1sZWdlbmQK
K2xlZ2VuZCBnZW5lcmF0ZVR5cGVDaGVja3MKIGxpIGludGVyZmFjZU5hbWU9SFRNTExJRWxlbWVu
dAogbGluayBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCiBsaXN0aW5nIGludGVyZmFj
ZU5hbWU9SFRNTFByZUVsZW1lbnQKIG1haW4gaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotbWFw
CittYXAgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBtYXJrIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQK
IG1hcnF1ZWUKIG1lbnUKIG1ldGEKLW1ldGVyIGludGVyZmFjZU5hbWU9SFRNTE1ldGVyRWxlbWVu
dCwgY29uZGl0aW9uYWw9TUVURVJfRUxFTUVOVAorbWV0ZXIgaW50ZXJmYWNlTmFtZT1IVE1MTWV0
ZXJFbGVtZW50LCBjb25kaXRpb25hbD1NRVRFUl9FTEVNRU5ULCBnZW5lcmF0ZVR5cGVDaGVja3MK
IG5hdiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBub2JyIGludGVyZmFjZU5hbWU9SFRNTEVs
ZW1lbnQKIG5vZW1iZWQgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudApAQCAtOTIsNDMgKzkyLDQz
IEBAIG5vZnJhbWVzIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIG5vbGF5ZXIgaW50ZXJmYWNl
TmFtZT1IVE1MRWxlbWVudAogb2JqZWN0IGNvbnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudCwgY29u
c3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlcgogb2wgaW50ZXJmYWNlTmFtZT1IVE1MT0xpc3RF
bGVtZW50Ci1vcHRncm91cCBpbnRlcmZhY2VOYW1lPUhUTUxPcHRHcm91cEVsZW1lbnQKLW9wdGlv
bgorb3B0Z3JvdXAgaW50ZXJmYWNlTmFtZT1IVE1MT3B0R3JvdXBFbGVtZW50LCBnZW5lcmF0ZVR5
cGVDaGVja3MKK29wdGlvbiBnZW5lcmF0ZVR5cGVDaGVja3MKIG91dHB1dCBjb25zdHJ1Y3Rvck5l
ZWRzRm9ybUVsZW1lbnQKIHAgaW50ZXJmYWNlTmFtZT1IVE1MUGFyYWdyYXBoRWxlbWVudAotcGFy
YW0KK3BhcmFtIGdlbmVyYXRlVHlwZUNoZWNrcwogcGxhaW50ZXh0IGludGVyZmFjZU5hbWU9SFRN
TEVsZW1lbnQKIHByZQotcHJvZ3Jlc3MgaW50ZXJmYWNlTmFtZT1IVE1MUHJvZ3Jlc3NFbGVtZW50
LCBjb25kaXRpb25hbD1QUk9HUkVTU19FTEVNRU5UCitwcm9ncmVzcyBpbnRlcmZhY2VOYW1lPUhU
TUxQcm9ncmVzc0VsZW1lbnQsIGNvbmRpdGlvbmFsPVBST0dSRVNTX0VMRU1FTlQsIGdlbmVyYXRl
VHlwZUNoZWNrcwogcSBpbnRlcmZhY2VOYW1lPUhUTUxRdW90ZUVsZW1lbnQKIHJwIGludGVyZmFj
ZU5hbWU9SFRNTEVsZW1lbnQKIHJ0IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHJ1YnkgaW50
ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogcyBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBzYW1w
IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLXNjcmlwdCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRl
ZEJ5UGFyc2VyCitzY3JpcHQgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlciwgZ2VuZXJh
dGVUeXBlQ2hlY2tzCiBzZWN0aW9uIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHNlbGVjdCBj
b25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQKIHNtYWxsIGludGVyZmFjZU5hbWU9SFRNTEVsZW1l
bnQKLXNvdXJjZSB3cmFwcGVyT25seUlmTWVkaWFJc0F2YWlsYWJsZSwgY29uZGl0aW9uYWw9VklE
RU8KK3NvdXJjZSB3cmFwcGVyT25seUlmTWVkaWFJc0F2YWlsYWJsZSwgY29uZGl0aW9uYWw9VklE
RU8sIGdlbmVyYXRlVHlwZUNoZWNrcwogc3Bhbgogc3RyaWtlIGludGVyZmFjZU5hbWU9SFRNTEVs
ZW1lbnQKIHN0cm9uZyBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50Ci1zdHlsZSBjb25zdHJ1Y3Rv
ck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCitzdHlsZSBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFy
c2VyLCBnZW5lcmF0ZVR5cGVDaGVja3MKIHN1YiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBz
dW1tYXJ5IGludGVyZmFjZU5hbWU9SFRNTFN1bW1hcnlFbGVtZW50LCBKU0ludGVyZmFjZU5hbWU9
SFRNTEVsZW1lbnQsIGNvbmRpdGlvbmFsPURFVEFJTFNfRUxFTUVOVAogc3VwIGludGVyZmFjZU5h
bWU9SFRNTEVsZW1lbnQKLXRhYmxlCit0YWJsZSBnZW5lcmF0ZVR5cGVDaGVja3MKIHRib2R5IGlu
dGVyZmFjZU5hbWU9SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQKIHRkIGludGVyZmFjZU5hbWU9SFRN
TFRhYmxlQ2VsbEVsZW1lbnQKIHRlbXBsYXRlIGNvbmRpdGlvbmFsPVRFTVBMQVRFX0VMRU1FTlQK
LXRleHRhcmVhIGludGVyZmFjZU5hbWU9SFRNTFRleHRBcmVhRWxlbWVudCwgY29uc3RydWN0b3JO
ZWVkc0Zvcm1FbGVtZW50Cit0ZXh0YXJlYSBpbnRlcmZhY2VOYW1lPUhUTUxUZXh0QXJlYUVsZW1l
bnQsIGNvbnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudCwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiB0Zm9v
dCBpbnRlcmZhY2VOYW1lPUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50CiB0aCBpbnRlcmZhY2VOYW1l
PUhUTUxUYWJsZUNlbGxFbGVtZW50CiB0aGVhZCBpbnRlcmZhY2VOYW1lPUhUTUxUYWJsZVNlY3Rp
b25FbGVtZW50Ci10aXRsZQotdHIgaW50ZXJmYWNlTmFtZT1IVE1MVGFibGVSb3dFbGVtZW50Ci10
cmFjayB3cmFwcGVyT25seUlmTWVkaWFJc0F2YWlsYWJsZSwgY29uZGl0aW9uYWw9VklERU9fVFJB
Q0sKK3RpdGxlIGdlbmVyYXRlVHlwZUNoZWNrcwordHIgaW50ZXJmYWNlTmFtZT1IVE1MVGFibGVS
b3dFbGVtZW50LCBnZW5lcmF0ZVR5cGVDaGVja3MKK3RyYWNrIHdyYXBwZXJPbmx5SWZNZWRpYUlz
QXZhaWxhYmxlLCBjb25kaXRpb25hbD1WSURFT19UUkFDSywgZ2VuZXJhdGVUeXBlQ2hlY2tzCiB0
dCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiB1IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQK
IHVsIGludGVyZmFjZU5hbWU9SFRNTFVMaXN0RWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUZXh0QXJlYUVsZW1lbnQuaAppbmRleCBmYmY4NWJhLi42NzU1MTE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaApAQCAtMTI3LDE2ICsxMjcsNiBAQCBwcml2
YXRlOgogICAgIG11dGFibGUgYm9vbCBtX3dhc01vZGlmaWVkQnlVc2VyOwogfTsKIAotaW5saW5l
IGJvb2wgaXNIVE1MVGV4dEFyZWFFbGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5v
ZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0ZXh0YXJlYVRhZyk7Ci19Ci0KLWlubGluZSBib29s
IGlzSFRNTFRleHRBcmVhRWxlbWVudChFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBl
bGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGV4dGFyZWFUYWcpOwotfQotCiBpbmxpbmUg
SFRNTFRleHRBcmVhRWxlbWVudCogdG9IVE1MVGV4dEFyZWFFbGVtZW50KE5vZGUqIG5vZGUpCiB7
CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MVGV4
dEFyZWFFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRpdGxlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmgK
aW5kZXggZGRmNmRhNy4uYjY5NGUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVGl0bGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVt
ZW50LmgKQEAgLTQ2LDI0ICs0NiwxMiBAQCBwcml2YXRlOgogICAgIFN0cmluZ1dpdGhEaXJlY3Rp
b24gbV90aXRsZTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFRpdGxlRWxlbWVudChjb25zdCBO
b2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGl0
bGVUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxUaXRsZUVsZW1lbnQoY29uc3QgRWxlbWVu
dCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6
OnRpdGxlVGFnKTsKLX0KLQogaW5saW5lIEhUTUxUaXRsZUVsZW1lbnQqIHRvSFRNTFRpdGxlRWxl
bWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9O
KCFub2RlIHx8IGlzSFRNTFRpdGxlRWxlbWVudChub2RlKSk7CiAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PEhUTUxUaXRsZUVsZW1lbnQqPihub2RlKTsKIH0KIAotdGVtcGxhdGUgPD4gaW5saW5lIGJv
b2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxUaXRsZUVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1l
bnQpIHsgcmV0dXJuIGlzSFRNTFRpdGxlRWxlbWVudChlbGVtZW50KTsgfQotCiB9IC8vbmFtZXNw
YWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaAppbmRleCBj
NzkzYjM0Li45ZDhlYjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFj
a0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaApA
QCAtOTcsMTkgKzk3LDYgQEAgcHJpdmF0ZToKICAgICBUaW1lcjxIVE1MVHJhY2tFbGVtZW50PiBt
X2xvYWRUaW1lcjsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFRyYWNrRWxlbWVudChjb25zdCBO
b2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dHJh
Y2tUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxUcmFja0VsZW1lbnQoY29uc3QgRWxlbWVu
dCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6
OnRyYWNrVGFnKTsKLX0KLQotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBl
PEhUTUxUcmFja0VsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRN
TFRyYWNrRWxlbWVudChlbGVtZW50KTsgfQotCi0KIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Vs
ZW1lbnQuaAppbmRleCA3NmJkZTcwLi5iMTNmMDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgK
QEAgLTI2LDYgKzI2LDcgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkNTU1Byb3BlcnR5
TmFtZXMuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFN0cmluZy5oIgorI2luY2x1ZGUgIlNWR0Vs
ZW1lbnRUeXBlQ2hlY2tzLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNlLmgiCiAjaW5jbHVkZSAi
U1ZHTG9jYXRhYmxlLmgiCiAjaW5jbHVkZSAiU1ZHUGFyc2luZ0Vycm9yLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb250RWxlbWVudC5oCmluZGV4IDAxZmU2YzIuLjA2ODFhNjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb250RWxlbWVudC5oCkBAIC04OSwxMSArODksNiBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9pc0dseXBoQ2FjaGVWYWxpZDsKIH07CiAKLWlubGluZSBib29sIGlzU1ZHRm9udEVsZW1lbnQo
Y29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShTVkdOYW1l
czo6Zm9udFRhZyk7Ci19Ci0KIGlubGluZSBTVkdGb250RWxlbWVudCogdG9TVkdGb250RWxlbWVu
dChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFu
b2RlIHx8IGlzU1ZHRm9udEVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRG
YWNlRWxlbWVudC5oCmluZGV4IGRhYjQyOTAuLjZlN2Q4ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRm9udEZhY2VFbGVtZW50LmgKQEAgLTY3LDE4ICs2Nyw2IEBAIHByaXZhdGU6CiAgICAgU1ZH
Rm9udEVsZW1lbnQqIG1fZm9udEVsZW1lbnQ7CiB9OwogCi1pbmxpbmUgYm9vbCBpc1NWR0ZvbnRG
YWNlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdO
YW1lKFNWR05hbWVzOjpmb250X2ZhY2VUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc1NWR0ZvbnRG
YWNlRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50
LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmb250X2ZhY2VUYWcpOwotfQotCi10ZW1wbGF0ZSA8PiBp
bmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8U1ZHRm9udEZhY2VFbGVtZW50Pihjb25zdCBFbGVt
ZW50KiBlbGVtZW50KSB7IHJldHVybiBpc1NWR0ZvbnRGYWNlRWxlbWVudChlbGVtZW50KTsgfQot
CiBpbmxpbmUgU1ZHRm9udEZhY2VFbGVtZW50KiB0b1NWR0ZvbnRGYWNlRWxlbWVudChOb2RlKiBu
b2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlz
U1ZHRm9udEZhY2VFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVp
Z25PYmplY3RFbGVtZW50LmgKaW5kZXggYjBkYzYyMC4uODkzNjMwOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgKQEAgLTU5LDE5ICs1OSw2IEBAIHBy
aXZhdGU6CiAgICAgRU5EX0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVElFUwogfTsKIAotaW5saW5l
IGJvb2wgaXNTVkdGb3JlaWduT2JqZWN0RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAg
IHJldHVybiBub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmb3JlaWduT2JqZWN0VGFnKTsKLX0K
LQotaW5saW5lIGJvb2wgaXNTVkdGb3JlaWduT2JqZWN0RWxlbWVudChjb25zdCBFbGVtZW50KiBl
bGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmb3Jl
aWduT2JqZWN0VGFnKTsKLX0KLQotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZU
eXBlPFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50Pihjb25zdCBFbGVtZW50KiBlbGVtZW50KSB7IHJl
dHVybiBpc1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50KGVsZW1lbnQpOyB9Ci0KLQogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJ
bWFnZUVsZW1lbnQuaAppbmRleCA5Y2Q1NzkzLi45MTM0ZjFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ltYWdlRWxlbWVudC5oCkBAIC03NywxMSArNzcsNiBAQCBwcml2YXRlOgogICAgIFNWR0ltYWdl
TG9hZGVyIG1faW1hZ2VMb2FkZXI7CiB9OwogCi1pbmxpbmUgYm9vbCBpc1NWR0ltYWdlRWxlbWVu
dChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKFNWR05h
bWVzOjppbWFnZVRhZyk7Ci19Ci0KIGlubGluZSBTVkdJbWFnZUVsZW1lbnQqIHRvU1ZHSW1hZ2VF
bGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJ
T04oIW5vZGUgfHwgaXNTVkdJbWFnZUVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdT
Y3JpcHRFbGVtZW50LmgKaW5kZXggZTYyNTRjNS4uY2FhMDk4MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHU2NyaXB0RWxlbWVudC5oCkBAIC04OCwxMSArODgsNiBAQCBwcml2YXRlOgogICAgIFRpbWVy
PFNWR0VsZW1lbnQ+IG1fc3ZnTG9hZEV2ZW50VGltZXI7CiB9OwogCi1pbmxpbmUgYm9vbCBpc1NW
R1NjcmlwdEVsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFt
ZShTVkdOYW1lczo6c2NyaXB0VGFnKTsKLX0KLQogaW5saW5lIFNWR1NjcmlwdEVsZW1lbnQqIHRv
U1ZHU2NyaXB0RWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZ
X0lNUExJQ0FUSU9OKCFub2RlIHx8IG5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnNjcmlwdFRh
ZykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3N2Z3RhZ3MuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvc3ZndGFncy5pbgppbmRleCA3ZGI0ODE0Li5jNDA2MzExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvc3ZndGFncy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
c3ZndGFncy5pbgpAQCAtNTMsMjEgKzUzLDIxIEBAIGZlVHVyYnVsZW5jZQogZmlsdGVyCiAjZW5k
aWYKICNpZiBFTkFCTEVfU1ZHX0ZPTlRTCi1mb250Ci1mb250X2ZhY2UKK2ZvbnQgZ2VuZXJhdGVU
eXBlQ2hlY2tzCitmb250X2ZhY2UgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBmb250X2ZhY2VfZm9ybWF0
CiBmb250X2ZhY2VfbmFtZQogZm9udF9mYWNlX3NyYwogZm9udF9mYWNlX3VyaQogI2VuZGlmCi1m
b3JlaWduT2JqZWN0Citmb3JlaWduT2JqZWN0IGdlbmVyYXRlVHlwZUNoZWNrcwogZwogI2lmIEVO
QUJMRV9TVkdfRk9OVFMKIGdseXBoCiBnbHlwaFJlZgogaGtlcm4gaW50ZXJmYWNlTmFtZT1TVkdI
S2VybkVsZW1lbnQKICNlbmRpZgotaW1hZ2UKK2ltYWdlIGdlbmVyYXRlVHlwZUNoZWNrcwogbGlu
ZQogbGluZWFyR3JhZGllbnQKIG1hcmtlcgpAQCAtODMsNyArODMsNyBAQCBwb2x5Z29uCiBwb2x5
bGluZQogcmFkaWFsR3JhZGllbnQKIHJlY3QKLXNjcmlwdCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRl
ZEJ5UGFyc2VyCitzY3JpcHQgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlciwgZ2VuZXJh
dGVUeXBlQ2hlY2tzCiBzdG9wCiBzdHlsZSBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2Vy
CiBzdmcgaW50ZXJmYWNlTmFtZT1TVkdTVkdFbGVtZW50Cg==
</data>
<flag name="commit-queue"
          id="232403"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210304</attachid>
            <date>2013-09-02 11:55:25 -0700</date>
            <delta_ts>2013-09-02 13:09:07 -0700</delta_ts>
            <desc>Patch for landing...</desc>
            <filename>land-120584-4.diff</filename>
            <type>text/plain</type>
            <size>42802</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkN2QyM2IwLi4yYjA1MTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDEg
QEAKIDIwMTMtMDktMDEgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCisgICAg
ICAgIEdlbmVyYXRlIGlzRm9vRWxlbWVudCgpIGZ1bmN0aW9ucyBmcm9tIHRhZ25hbWUgZGF0YS4K
KyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyMDU4ND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBBZGQgYSAiZ2VuZXJhdGVUeXBlQ2hlY2tz
IiBhdHRyaWJ1dGUgdGhhdCBjYW4gYmUgdXNlZCBpbiBIVE1MVGFnTmFtZXMuaW4gJiBmcmllbmRz
LgorICAgICAgICBJZiBwcmVzZW50LCBpc0Zvb0VsZW1lbnQoKSBzdHlsZSBoZWxwZXJzIHdpbGwg
YmUgYWRkZWQgdG8gSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmguCisgICAgICAgIFRoaXMgYWxzbyBv
dXRwdXRzIGFuIGlzRWxlbWVudE9mVHlwZTxUPiBjaGVjayBmb3IgdGhlIEVsZW1lbnQgaXRlcmF0
b3JzLgorCisgICAgICAgIFJlbW92ZWQgYWxsIHRoZSBoYW5kLXdyaXR0ZW4gaXNGb29FbGVtZW50
KCkgZnVuY3Rpb25zIHRoYXQgb25seSBjaGVja2VkIHRhZyBuYW1lLgorCisgICAgICAgICogaHRt
bC9IVE1MVGFnTmFtZXMuaW46CisgICAgICAgICogc3ZnL3N2Z3RhZ3MuaW46CisKKyAgICAgICAg
ICAgIEFkZGVkICJnZW5lcmF0ZVR5cGVDaGVja3MiIGF0dHJpYnV0ZSBhcyBhcHByb3ByaWF0ZS4K
KworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3Qu
YW06CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgICAgIEFkZGVk
IHRvIGJ1aWxkIHN5c3RlbXMgYmFzZWQgb24gaG93IEhUTUxOYW1lcy5oIHdhcyBkb25lLgorICAg
ICAgICAgICAgV2UncmUganVzdCBvdXRwdXR0aW5nIGFuIGFkZGl0aW9uYWwgaGVhZGVyIGZpbGUg
aW4gdGhlIGdlbmVyYXRlZCBjb2RlIGRpcmVjdG9yeQorICAgICAgICAgICAgc28gSSBzdXNwZWN0
IG1vc3QgcG9ydHMgd2lsbCBqdXN0IHBpY2sgdGhpcyB1cCBhdXRvbWFnaWNhbGx5LgorCisgICAg
ICAgICogZG9tL21ha2VfbmFtZXMucGw6CisgICAgICAgIChkZWZhdWx0VGFnUHJvcGVydHlIYXNo
KToKKyAgICAgICAgKHByaW50TGljZW5zZUhlYWRlcik6CisgICAgICAgIChwcmludFR5cGVDaGVj
a3MpOgorICAgICAgICAocHJpbnRUeXBlQ2hlY2tzSGVhZGVyRmlsZSk6CisKKyAgICAgICAgICAg
IEdlbmVyYXRlIGEgc2VwYXJhdGUgZmlsZSBmb3IgZWFjaCBuYW1lc3BhY2Ugd2l0aCBpc0Zvb0Vs
ZW1lbnQoKSBoZWxwZXJzIGZvcgorICAgICAgICAgICAgZWxlbWVudHMgd2l0aCAiZ2VuZXJhdGVU
eXBlQ2hlY2tzIiBhdHRyaWJ1dGUgc2V0LgorCisyMDEzLTA5LTAxICBBbmRyZWFzIEtsaW5nICA8
YWtsaW5nQGFwcGxlLmNvbT4KKwogICAgICAgICBSZWY6IEEgc21hcnQgcG9pbnRlciBmb3IgdGhl
IHJlZmVyZW5jZSBhZ2UuCiAgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMjA1NzA+CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0KaW5kZXggNGQ3ZTE4MC4uYTRiODhlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KQEAgLTI5OCw2ICsyOTgsNyBAQCBEZXJpdmVkU291cmNlcy9XZWJDb3JlL1BsdWdJbnNS
ZXNvdXJjZXMuaDogJChXZWJDb3JlKS9jc3MvbWFrZS1jc3MtZmlsZS1hcnJheXMucAogRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwOiBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0hUTUxFbGVtZW50RmFjdG9yeS5jcHAKIERlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSFRNTEVsZW1lbnRGYWN0b3J5LmNwcDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1M
RWxlbWVudEZhY3RvcnkuaAogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MRWxlbWVudEZhY3Rv
cnkuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuY3BwCitEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0hUTUxFbGVtZW50VHlwZUNoZWNrcy5oOiBEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0hUTUxOYW1lcy5oCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5jcHA6IERlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmgKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRN
TE5hbWVzLmg6ICQoV2ViQ29yZSkvZG9tL21ha2VfbmFtZXMucGwgJChXZWJDb3JlKS9iaW5kaW5n
cy9zY3JpcHRzL0hhc2hlci5wbSAkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMvU3RhdGljU3Ry
aW5nLnBtICQoV2ViQ29yZSkvaHRtbC9IVE1MVGFnTmFtZXMuaW4gJChXZWJDb3JlKS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgogCSQoQU1fVl9HRU4pJChQRVJMKSAtSSQoV2ViQ29yZSkvYmlu
ZGluZ3Mvc2NyaXB0cyAkPCAtLXRhZ3MgJChXZWJDb3JlKS9odG1sL0hUTUxUYWdOYW1lcy5pbiAt
LWF0dHJzICQoV2ViQ29yZSkvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gLS1leHRyYURlZmlu
ZXMgIiQoZmVhdHVyZV9kZWZpbmVzKSIgLS1mYWN0b3J5IC0td3JhcHBlckZhY3RvcnkgLS1vdXRw
dXREaXIgIiQoR0VOU09VUkNFU19XRUJDT1JFKSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CmluZGV4IGVlZmM5MDYuLmJkZjdiNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpA
QCAtMTUsNiArMTUsNyBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvRXhjZXB0aW9uSW50ZXJmYWNlcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0hUTUxFbGVtZW50RmFjdG9yeS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRN
TEVsZW1lbnRGYWN0b3J5LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTEVsZW1lbnRU
eXBlQ2hlY2tzLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTEVudGl0eVRhYmxlLmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuY3BwIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDAwMmIzNzUuLjBiNDRkMGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTgyNDEsNiAr
MTgyNDEsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEV4Y2VwdGlvbkhlYWRlcnMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xFeGNlcHRpb25JbnRlcmZhY2VzLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hp
dGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSFRNTEVsZW1lbnRGYWN0b3J5
LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSFRNTE5hbWVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVT
b3VyY2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xJbmplY3RlZFNjcmlwdFNvdXJjZS5oIiAvPgpAQCAtMTg2OTgsNiArMTg2OTksNyBAQAog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxh
dGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXE1hdGhNTEVs
ZW1lbnRGYWN0b3J5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcTWF0aE1MTmFtZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xTVkdFbGVtZW50RmFjdG9yeS5oIiAvPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNo
aXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFNWR0VsZW1lbnRUeXBlQ2hl
Y2tzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcU1ZHTmFtZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xVc2VyQWdlbnRTdHlsZVNoZWV0cy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUp
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFdlYktpdEZvbnRGYW1pbHlOYW1lcy5oIiAv
PgpAQCAtMjE0MDYsNCArMjE0MDgsNCBAQAogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lv
blRhcmdldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxCdWlsZEN1
c3RvbWl6YXRpb25zXG1hc20udGFyZ2V0cyIgLz4KICAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVj
dD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGEzZmYyOC4u
M2Q4NDZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNDUwMSw2ICs0NTAxLDggQEAKIAkJQjU1RDVBQTQxMTkxMzFGQzAwQkND
MzE1IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1NUQ1QUEyMTE5MTMxRkMwMEJDQzMxNSAvKiBK
U1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmggKi87IH07CiAJCUI1NUQ1QUE1MTE5MTMxRkMw
MEJDQzMxNSAvKiBKU1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1NUQ1QUEzMTE5MTMxRkMwMEJDQzMx
NSAvKiBKU1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmNwcCAqLzsgfTsKIAkJQjU1RDVBQTkx
MTkxMzI1MDAwQkNDMzE1IC8qIEpTU1FMVHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1NUQ1QUE3MTE5MTMyNTAw
MEJDQzMxNSAvKiBKU1NRTFRyYW5zYWN0aW9uU3luY0N1c3RvbS5jcHAgKi87IH07CisJCUI1NjJE
QjYwMTdEM0NENjMwMDEwQUY5NiAvKiBIVE1MRWxlbWVudFR5cGVDaGVja3MuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1NjJEQjVFMTdEM0NENTYwMDEw
QUY5NiAvKiBIVE1MRWxlbWVudFR5cGVDaGVja3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCNTYyREI2MTE3RDNDRDY2MDAxMEFGOTYgLyogU1ZH
RWxlbWVudFR5cGVDaGVja3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEI1NjJEQjVGMTdEM0NENTYwMDEwQUY5NiAvKiBTVkdFbGVtZW50VHlwZUNoZWNr
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUI1
OENFQjY5MTE5MTM2MDcwMDJBNjc5MCAvKiBKU0RhdGFiYXNlU3luYy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjU4Q0VCNjcxMTkxMzYwNzAwMkE2Nzkw
IC8qIEpTRGF0YWJhc2VTeW5jLmggKi87IH07CiAJCUI1OENFQjZBMTE5MTM2MDcwMDJBNjc5MCAv
KiBKU0RhdGFiYXNlU3luYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCNThDRUI2ODExOTEzNjA3MDAyQTY3OTAgLyogSlNEYXRhYmFzZVN5bmMuY3Bw
ICovOyB9OwogCQlCNThDRUI2RDExOTEzNjFDMDAyQTY3OTAgLyogSlNTUUxUcmFuc2FjdGlvblN5
bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1OENF
QjZCMTE5MTM2MUMwMDJBNjc5MCAvKiBKU1NRTFRyYW5zYWN0aW9uU3luYy5oICovOyB9OwpAQCAt
MTExNTEsNiArMTExNTMsOCBAQAogCQlCNTVENUFBMjExOTEzMUZDMDBCQ0MzMTUgLyogSlNTUUxU
cmFuc2FjdGlvblN5bmNDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUI1NUQ1QUEzMTE5MTMxRkMwMEJDQzMxNSAvKiBKU1NRTFRyYW5zYWN0aW9uU3luY0Nh
bGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1FMVHJh
bnNhY3Rpb25TeW5jQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
NTVENUFBNzExOTEzMjUwMDBCQ0MzMTUgLyogSlNTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTUUxUcmFuc2FjdGlvblN5
bmNDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNTYyREI1RTE3RDND
RDU2MDAxMEFGOTYgLyogSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhU
TUxFbGVtZW50VHlwZUNoZWNrcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNTYy
REI1RjE3RDNDRDU2MDAxMEFGOTYgLyogU1ZHRWxlbWVudFR5cGVDaGVja3MuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU1ZHRWxlbWVudFR5cGVDaGVja3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQjU4Q0VCNjcxMTkxMzYwNzAwMkE2NzkwIC8qIEpTRGF0YWJhc2VTeW5jLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGF0YWJhc2VTeW5jLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUI1OENFQjY4MTE5MTM2MDcwMDJBNjc5MCAvKiBKU0RhdGFiYXNlU3lu
Yy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RhdGFiYXNlU3lu
Yy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI1OENFQjZCMTE5MTM2MUMwMDJB
Njc5MCAvKiBKU1NRTFRyYW5zYWN0aW9uU3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU1NRTFRyYW5zYWN0aW9uU3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTQzODIsNiArMTQzODYsNyBAQAogCQkJCTk3NjdDRTBBMTQ1QUJDMTMwMDVFNjREQiAv
KiBFeGNlcHRpb25JbnRlcmZhY2VzLmggKi8sCiAJCQkJQTE3QzgxMjAwRjJBNUNGNzAwNURBQUVC
IC8qIEhUTUxFbGVtZW50RmFjdG9yeS5jcHAgKi8sCiAJCQkJQTE3QzgxMjEwRjJBNUNGNzAwNURB
QUVCIC8qIEhUTUxFbGVtZW50RmFjdG9yeS5oICovLAorCQkJCUI1NjJEQjVFMTdEM0NENTYwMDEw
QUY5NiAvKiBIVE1MRWxlbWVudFR5cGVDaGVja3MuaCAqLywKIAkJCQlBOEJDMDQ5MTEyMTRGNjk2
MDBCNUYxMjIgLyogSFRNTEVudGl0eVRhYmxlLmNwcCAqLywKIAkJCQlBOEQwNkIzODBBMjY1RENE
MDA1RTcyMDMgLyogSFRNTE5hbWVzLmNwcCAqLywKIAkJCQlBOEQwNkIzNzBBMjY1RENEMDA1RTcy
MDMgLyogSFRNTE5hbWVzLmggKi8sCkBAIC0xNDQwNSw2ICsxNDQxMCw3IEBACiAJCQkJNTNFRjc2
NkExNjUzMEE2MTAwNENCRTQ5IC8qIFNldHRpbmdzTWFjcm9zLmggKi8sCiAJCQkJNjU2NTgxRTYw
OUQxNTA4RDAwMEU2MUQ3IC8qIFNWR0VsZW1lbnRGYWN0b3J5LmNwcCAqLywKIAkJCQk2NTY1ODFF
NzA5RDE1MDhEMDAwRTYxRDcgLyogU1ZHRWxlbWVudEZhY3RvcnkuaCAqLywKKwkJCQlCNTYyREI1
RjE3RDNDRDU2MDAxMEFGOTYgLyogU1ZHRWxlbWVudFR5cGVDaGVja3MuaCAqLywKIAkJCQk2NTY1
ODFFODA5RDE1MDhEMDAwRTYxRDcgLyogU1ZHTmFtZXMuY3BwICovLAogCQkJCTY1NjU4MUU5MDlE
MTUwOEQwMDBFNjFENyAvKiBTVkdOYW1lcy5oICovLAogCQkJCTY1NjU4MUFFMDlEMTRFRTYwMDBF
NjFENyAvKiBVc2VyQWdlbnRTdHlsZVNoZWV0cy5oICovLApAQCAtMjEzMzYsNiArMjEzNDIsNyBA
QAogCQkJCTg1OTA5Q0RDMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NDaGFyc2V0UnVsZUludGVy
bmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMkREOTBBQThDOUJFMDA3RDNCN0QgLyogRE9N
Q1NTRm9udEZhY2VSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTkwOUNERDBBQ0M3QTdFMDBE
RjAxRjEgLyogRE9NQ1NTRm9udEZhY2VSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUI1NjJEQjYxMTdEM0NENjYwMDEwQUY5NiAvKiBTVkdFbGVtZW50VHlwZUNoZWNrcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODUwMzJEREIwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0ltcG9ydFJ1
bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1OTA5Q0RFMEFDQzdBN0UwMERGMDFGMSAvKiBET01D
U1NJbXBvcnRSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMyREREMEFBOEM5
QkUwMDdEM0I3RCAvKiBET01DU1NNZWRpYVJ1bGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjI3MzUs
NiArMjI3NDIsNyBAQAogCQkJCThDMEUzMzRGMTM4QTkyQzcwMDhEQTk0RiAvKiBMZXZlbERCV3Jp
dGVCYXRjaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEOTExMjQ4RjBCMzAwRDNBOUM5IC8q
IExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzk2NTBEMDBCRjIyMDA3MUI3
ODIgLyogTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlCNTYy
REI2MDE3RDNDRDYzMDAxMEFGOTYgLyogSFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBNUFCQjc4NzEzQjkwNEJDMDBGMTk3RTMgLyogTGluZUJyZWFrSXRlcmF0b3JQ
b29sSUNVLmggaW4gSGVhZGVycyAqLywKIAkJCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyog
TGluZUNsYW1wVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5QjVFQUEyMTFFODAwM0QwMEYy
MzY3RSAvKiBMaW5lRW5kaW5nLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMu
cGwKaW5kZXggNDA3ODI0MS4uZjk2NmZmYiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L21ha2VfbmFtZXMucGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKQEAg
LTE1NSwxMiArMTU1LDE0IEBAIGRpZSAiWW91IG11c3Qgc3BlY2lmeSBhIG5hbWVzcGFjZVVSSSAo
ZS5nLiBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZykiIHVubGVzcyAkCiAkcGFyYW1ldGVyc3tu
YW1lc3BhY2VQcmVmaXh9ID0gJHBhcmFtZXRlcnN7bmFtZXNwYWNlfSB1bmxlc3MgJHBhcmFtZXRl
cnN7bmFtZXNwYWNlUHJlZml4fTsKICRwYXJhbWV0ZXJze2ZhbGxiYWNrSlNJbnRlcmZhY2VOYW1l
fSA9ICRwYXJhbWV0ZXJze2ZhbGxiYWNrSW50ZXJmYWNlTmFtZX0gdW5sZXNzICRwYXJhbWV0ZXJz
e2ZhbGxiYWNrSlNJbnRlcmZhY2VOYW1lfTsKIAorbXkgJHR5cGVDaGVja3NCYXNlUGF0aCA9ICIk
b3V0cHV0RGlyLyRwYXJhbWV0ZXJze25hbWVzcGFjZX1FbGVtZW50VHlwZUNoZWNrcyI7CiBteSAk
bmFtZXNCYXNlUGF0aCA9ICIkb3V0cHV0RGlyLyRwYXJhbWV0ZXJze25hbWVzcGFjZX1OYW1lcyI7
CiBteSAkZmFjdG9yeUJhc2VQYXRoID0gIiRvdXRwdXREaXIvJHBhcmFtZXRlcnN7bmFtZXNwYWNl
fUVsZW1lbnRGYWN0b3J5IjsKIG15ICR3cmFwcGVyRmFjdG9yeUZpbGVOYW1lID0gIiRwYXJhbWV0
ZXJze25hbWVzcGFjZX1FbGVtZW50V3JhcHBlckZhY3RvcnkiOwogCiBwcmludE5hbWVzSGVhZGVy
RmlsZSgiJG5hbWVzQmFzZVBhdGguaCIpOwogcHJpbnROYW1lc0NwcEZpbGUoIiRuYW1lc0Jhc2VQ
YXRoLmNwcCIpOworcHJpbnRUeXBlQ2hlY2tzSGVhZGVyRmlsZSgiJHR5cGVDaGVja3NCYXNlUGF0
aC5oIik7CiAKIGlmICgkcHJpbnRGYWN0b3J5KSB7CiAgICAgcHJpbnRGYWN0b3J5Q3BwRmlsZSgi
JGZhY3RvcnlCYXNlUGF0aC5jcHAiKTsKQEAgLTE4Nyw3ICsxODksOCBAQCBzdWIgZGVmYXVsdFRh
Z1Byb3BlcnR5SGFzaAogICAgICAgICAnd3JhcHBlck9ubHlJZk1lZGlhSXNBdmFpbGFibGUnID0+
IDAsCiAgICAgICAgICdjb25kaXRpb25hbCcgPT4gMCwKICAgICAgICAgJ2NvbnRleHRDb25kaXRp
b25hbCcgPT4gMCwKLSAgICAgICAgJ3J1bnRpbWVDb25kaXRpb25hbCcgPT4gMAorICAgICAgICAn
cnVudGltZUNvbmRpdGlvbmFsJyA9PiAwLAorICAgICAgICAnZ2VuZXJhdGVUeXBlQ2hlY2tzJyA9
PiAwCiAgICAgKTsKIH0KIApAQCAtNTg2LDcgKzU4OSw3IEBAIHN1YiBwcmludExpY2Vuc2VIZWFk
ZXIKICAqCiAgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgZG9tL21ha2VfbmFtZXMu
cGwgc2NyaXB0LgogICoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwg
MjAwOSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEzIEFwcGxlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTYxMyw2ICs2MTYs
NDkgQEAgc3ViIHByaW50TGljZW5zZUhlYWRlcgogIjsKIH0KIAorc3ViIHByaW50VHlwZUNoZWNr
cworeworICAgIG15ICgkRiwgJG5hbWVzUmVmKSA9IEBfOworICAgIG15ICVuYW1lcyA9ICUkbmFt
ZXNSZWY7CisKKyAgICBmb3IgbXkgJG5hbWUgKHNvcnQga2V5cyAlbmFtZXMpIHsKKyAgICAgICAg
aWYgKCRwYXJzZWRUYWdzeyRuYW1lfXtnZW5lcmF0ZVR5cGVDaGVja3N9ICE9IDEpIHsKKyAgICAg
ICAgICAgIG5leHQ7CisgICAgICAgIH0KKworICAgICAgICBteSAkY2xhc3MgPSAkcGFyc2VkVGFn
c3skbmFtZX17aW50ZXJmYWNlTmFtZX07CisgICAgICAgIG15ICRoZWxwZXIgPSAiaXMkY2xhc3Mi
OworCisgICAgICAgIHByaW50IEYgImNsYXNzICRjbGFzcztcbiI7CisgICAgICAgIHByaW50IEYg
ImlubGluZSBib29sICRoZWxwZXIoY29uc3QgRWxlbWVudCYgZWxlbWVudCkgeyByZXR1cm4gZWxl
bWVudC5oYXNUYWdOYW1lKCIuJHBhcmFtZXRlcnN7bmFtZXNwYWNlfS4iTmFtZXM6OiIuJG5hbWUu
IlRhZyk7IH1cbiI7CisgICAgICAgIHByaW50IEYgImlubGluZSBib29sICRoZWxwZXIoY29uc3Qg
RWxlbWVudCogZWxlbWVudCkgeyBBU1NFUlQoZWxlbWVudCk7IHJldHVybiAkaGVscGVyKCplbGVt
ZW50KTsgfVxuIjsKKyAgICAgICAgcHJpbnQgRiAiaW5saW5lIGJvb2wgJGhlbHBlcihjb25zdCBO
b2RlKiBub2RlKSB7IEFTU0VSVChub2RlKTsgcmV0dXJuIG5vZGUtPmlzRWxlbWVudE5vZGUoKSAm
JiAkaGVscGVyKHRvRWxlbWVudChub2RlKSk7IH1cbiI7CisgICAgICAgIHByaW50IEYgInRlbXBs
YXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTwkY2xhc3M+KGNvbnN0IEVsZW1lbnQq
IGVsZW1lbnQpIHsgcmV0dXJuICRoZWxwZXIoZWxlbWVudCk7IH1cbiI7CisKKyAgICAgICAgcHJp
bnQgRiAiXG4iOworICAgIH0KK30KKworc3ViIHByaW50VHlwZUNoZWNrc0hlYWRlckZpbGUKK3sK
KyAgICBteSAoJGhlYWRlclBhdGgpID0gc2hpZnQ7CisgICAgbXkgJEY7CisgICAgb3BlbiBGLCAi
PiRoZWFkZXJQYXRoIjsKKyAgICBwcmludExpY2Vuc2VIZWFkZXIoJEYpOworCisgICAgcHJpbnQg
RiAiI2lmbmRlZiAiLiRwYXJhbWV0ZXJze25hbWVzcGFjZX0uIkVsZW1lbnRUeXBlQ2hlY2tzX2hc
biI7CisgICAgcHJpbnQgRiAiI2RlZmluZSAiLiRwYXJhbWV0ZXJze25hbWVzcGFjZX0uIkVsZW1l
bnRUeXBlQ2hlY2tzX2hcblxuIjsKKyAgICBwcmludCBGICIjaW5jbHVkZSBcIiIuJHBhcmFtZXRl
cnN7bmFtZXNwYWNlfS4iTmFtZXMuaFwiXG5cbiI7CisgICAgcHJpbnQgRiAibmFtZXNwYWNlIFdl
YkNvcmUge1xuXG4iOworCisgICAgcHJpbnRUeXBlQ2hlY2tzKCRGLCBcJWFsbFRhZ3MpOworCisg
ICAgcHJpbnQgRiAifVxuXG4iOworICAgIHByaW50IEYgIiNlbmRpZlxuIjsKKworICAgIGNsb3Nl
IEY7Cit9CisKIHN1YiBwcmludE5hbWVzSGVhZGVyRmlsZQogewogICAgIG15ICgkaGVhZGVyUGF0
aCkgPSBzaGlmdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAppbmRleCBj
ZjQ2OTQ4Li5kNGFkNjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNo
b3JFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5o
CkBAIC0xNDksMjQgKzE0OSwxMiBAQCBpbmxpbmUgTGlua0hhc2ggSFRNTEFuY2hvckVsZW1lbnQ6
OnZpc2l0ZWRMaW5rSGFzaCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVkVmlzaXRlZExpbmtI
YXNoOyAKIH0KIAotaW5saW5lIGJvb2wgaXNIVE1MQW5jaG9yRWxlbWVudChjb25zdCBOb2RlKiBu
b2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YVRhZyk7Ci19
Ci0KLWlubGluZSBib29sIGlzSFRNTEFuY2hvckVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVu
dCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmFUYWcpOwot
fQotCiBpbmxpbmUgSFRNTEFuY2hvckVsZW1lbnQqIHRvSFRNTEFuY2hvckVsZW1lbnQoTm9kZSog
bm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBp
c0hUTUxBbmNob3JFbGVtZW50KG5vZGUpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTEFu
Y2hvckVsZW1lbnQqPihub2RlKTsKIH0KIAotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVt
ZW50T2ZUeXBlPEhUTUxBbmNob3JFbGVtZW50Pihjb25zdCBFbGVtZW50KiBlbGVtZW50KSB7IHJl
dHVybiBpc0hUTUxBbmNob3JFbGVtZW50KGVsZW1lbnQpOyB9Ci0KIC8vIEZ1bmN0aW9ucyBzaGFy
ZWQgd2l0aCB0aGUgb3RoZXIgYW5jaG9yIGVsZW1lbnRzIChpLmUuLCBTVkcpLgogCiBib29sIGlz
RW50ZXJLZXlLZXlkb3duRXZlbnQoRXZlbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEFyZWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxl
bWVudC5oCmluZGV4IDhmZmMwMjUuLmQ2YzJjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEFyZWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJl
YUVsZW1lbnQuaApAQCAtNzAsMTggKzcwLDYgQEAgcHJpdmF0ZToKICAgICBTaGFwZSBtX3NoYXBl
OwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MQXJlYUVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkK
LXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmFyZWFUYWcpOwotfQot
Ci1pbmxpbmUgYm9vbCBpc0hUTUxBcmVhRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQot
ewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YXJlYVRhZyk7Ci19
Ci0KLXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxIVE1MQXJlYUVsZW1l
bnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTEFyZWFFbGVtZW50KGVs
ZW1lbnQpOyB9Ci0KIGlubGluZSBIVE1MQXJlYUVsZW1lbnQqIHRvSFRNTEFyZWFFbGVtZW50KE5v
ZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUg
fHwgaXNIVE1MQXJlYUVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQXVkaW9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0Vs
ZW1lbnQuaAppbmRleCAwN2NhNDhkLi44MTUzYjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdWRpb0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
dWRpb0VsZW1lbnQuaApAQCAtNDMsMTYgKzQzLDYgQEAgcHJpdmF0ZToKICAgICBIVE1MQXVkaW9F
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCosIGJvb2wpOwogfTsKIAotaW5s
aW5lIGJvb2wgaXNIVE1MQXVkaW9FbGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5v
ZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjphdWRpb1RhZyk7Ci19Ci0KLWlubGluZSBib29sIGlz
SFRNTEF1ZGlvRWxlbWVudChFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50
LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YXVkaW9UYWcpOwotfQotCiBpbmxpbmUgSFRNTEF1ZGlv
RWxlbWVudCogdG9IVE1MQXVkaW9FbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJ
VEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MQXVkaW9FbGVtZW50KG5vZGUp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5oCmluZGV4IDFhMzVmNDcuLjg4ZWY3
YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaApAQCAtNDQsMTggKzQ0LDYg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSop
IE9WRVJSSURFOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MQmFzZUVsZW1lbnQoY29uc3QgTm9k
ZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmJhc2VU
YWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxCYXNlRWxlbWVudChjb25zdCBFbGVtZW50KiBl
bGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YmFz
ZVRhZyk7Ci19Ci0KLXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxIVE1M
QmFzZUVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTEJhc2VF
bGVtZW50KGVsZW1lbnQpOyB9Ci0KIH0gLy8gbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCmluZGV4IDY1ODEwOWQuLjJmY2IwMGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmgKQEAgLTE4OCwxMSArMTg4LDYgQEAg
cHJpdmF0ZToKICAgICBtdXRhYmxlIFJlZlB0cjxJbWFnZT4gbV9jb3BpZWRJbWFnZTsgLy8gRklY
TUU6IFRoaXMgaXMgdGVtcG9yYXJ5IGZvciBwbGF0Zm9ybXMgdGhhdCBoYXZlIHRvIGNvcHkgdGhl
IGltYWdlIGJ1ZmZlciB0byByZW5kZXIgKGFuZCBmb3IgQ1NTQ2FudmFzVmFsdWUpLgogfTsKIAot
aW5saW5lIGJvb2wgaXNIVE1MQ2FudmFzRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAg
IHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6Y2FudmFzVGFnKTsKLX0KLQogaW5s
aW5lIGNvbnN0IEhUTUxDYW52YXNFbGVtZW50KiB0b0hUTUxDYW52YXNFbGVtZW50KGNvbnN0IE5v
ZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUg
fHwgaXNIVE1MQ2FudmFzRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgK
aW5kZXggYTZkYmVmMi4uNGZmMDAwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaApAQCAt
MjUsNiArMjUsOCBAQAogCiAjaW5jbHVkZSAiU3R5bGVkRWxlbWVudC5oIgogCisjaW5jbHVkZSAi
SFRNTEVsZW1lbnRUeXBlQ2hlY2tzLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
RG9jdW1lbnRGcmFnbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZp
ZWxkU2V0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50
LmgKaW5kZXggMmM0NDRiYy4uNGEzNGNjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRmllbGRTZXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmll
bGRTZXRFbGVtZW50LmgKQEAgLTYzLDE5ICs2Myw2IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSB1
aW50NjRfdCBtX2RvY3VtZW50VmVyc2lvbjsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTEZpZWxk
U2V0RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5pc0VsZW1l
bnROb2RlKCkgJiYgdG9FbGVtZW50KG5vZGUpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6ZmllbGRz
ZXRUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxGaWVsZFNldEVsZW1lbnQoY29uc3QgRWxl
bWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFt
ZXM6OmZpZWxkc2V0VGFnKTsKLX0KLQotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50
T2ZUeXBlPEhUTUxGaWVsZFNldEVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0
dXJuIGlzSFRNTEZpZWxkU2V0RWxlbWVudChlbGVtZW50KTsgfQotCi0KIH0gLy8gbmFtZXNwYWNl
CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXggOWE3NDMx
YS4uNjFhNWE0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCkBAIC0xNjYs
MTYgKzE2Niw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dhc0RlbW90ZWQ7CiB9OwogCi1pbmxp
bmUgYm9vbCBpc0hUTUxGb3JtRWxlbWVudChOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2Rl
LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6Zm9ybVRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRN
TEZvcm1FbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhh
c1RhZ05hbWUoSFRNTE5hbWVzOjpmb3JtVGFnKTsKLX0KLQogaW5saW5lIEhUTUxGb3JtRWxlbWVu
dCogdG9IVE1MRm9ybUVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNV
UklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxGb3JtRWxlbWVudChub2RlKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5oCmluZGV4IDdkZDkzMWUuLmFjMmE5
OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5oCkBAIC0xMDAs
MTYgKzEwMCw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX25vcmVzaXplOwogfTsKIAotaW5saW5l
IGJvb2wgaXNIVE1MRnJhbWVTZXRFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0
dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpmcmFtZXNldFRhZyk7Ci19Ci0KLWlubGlu
ZSBib29sIGlzSFRNTEZyYW1lU2V0RWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewot
ICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6ZnJhbWVzZXRUYWcpOwot
fQotCiBpbmxpbmUgSFRNTEZyYW1lU2V0RWxlbWVudCogdG9IVE1MRnJhbWVTZXRFbGVtZW50KE5v
ZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUg
fHwgaXNIVE1MRnJhbWVTZXRFbGVtZW50KG5vZGUpKTsKQEAgLTEyMiw4ICsxMTIsNiBAQCBpbmxp
bmUgY29uc3QgSFRNTEZyYW1lU2V0RWxlbWVudCogdG9IVE1MRnJhbWVTZXRFbGVtZW50KGNvbnN0
IE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEhUTUxGcmFtZVNldEVs
ZW1lbnQqPihub2RlKTsKIH0KIAotdGVtcGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZU
eXBlPEhUTUxGcmFtZVNldEVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJu
IGlzSFRNTEZyYW1lU2V0RWxlbWVudChlbGVtZW50KTsgfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBIVE1MRnJhbWVTZXRFbGVtZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggOWY3MTNjYy4uMjQ4ZTZjMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTExNSwxNiArMTE1LDYgQEAgcHJpdmF0ZToKICAg
ICBBdG9taWNTdHJpbmcgbV9iZXN0Rml0SW1hZ2VVUkw7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hU
TUxJbWFnZUVsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFt
ZShIVE1MTmFtZXM6OmltZ1RhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTEltYWdlRWxlbWVu
dChFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhU
TUxOYW1lczo6aW1nVGFnKTsKLX0KLQogaW5saW5lIEhUTUxJbWFnZUVsZW1lbnQqIHRvSFRNTElt
YWdlRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKCFub2RlIHx8IGlzSFRNTEltYWdlRWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDViNzY2MGIuLjFkNzg3YjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC00NDMsMTYgKzQ0Myw2IEBAIHByaXZhdGU6
CiAjZW5kaWYKIH07CiAKLWlubGluZSBib29sIGlzSFRNTElucHV0RWxlbWVudChjb25zdCBOb2Rl
KiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRU
YWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxJbnB1dEVsZW1lbnQoY29uc3QgRWxlbWVudCog
ZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6Omlu
cHV0VGFnKTsKLX0KLQogaW5saW5lIEhUTUxJbnB1dEVsZW1lbnQqIHRvSFRNTElucHV0RWxlbWVu
dChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFu
b2RlIHx8IGlzSFRNTElucHV0RWxlbWVudChub2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExh
YmVsRWxlbWVudC5oCmluZGV4IGFiMzE1ODMuLjkwYTM2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTExhYmVsRWxlbWVudC5oCkBAIC01NSwxOCArNTUsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgdm9pZCBmb2N1cyhib29sIHJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbiwgRm9jdXNEaXJlY3Rp
b24pIE9WRVJSSURFOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MTGFiZWxFbGVtZW50KGNvbnN0
IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjps
YWJlbFRhZyk7Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTExhYmVsRWxlbWVudChjb25zdCBFbGVt
ZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1l
czo6bGFiZWxUYWcpOwotfQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5
cGU8SFRNTExhYmVsRWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNI
VE1MTGFiZWxFbGVtZW50KGVsZW1lbnQpOyB9Ci0KIGlubGluZSBIVE1MTGFiZWxFbGVtZW50KiB0
b0hUTUxMYWJlbEVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTighbm9kZSB8fCBpc0hUTUxMYWJlbEVsZW1lbnQobm9kZSkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5oCmluZGV4IDU4MzE3MmEuLmRjYzBkMzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExlZ2VuZEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmgKQEAgLTQ1LDE4ICs0NSw2IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCBIVE1MRm9ybUVsZW1lbnQqIHZpcnR1YWxGb3JtKCkgY29u
c3QgT1ZFUlJJREU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxMZWdlbmRFbGVtZW50KGNvbnN0
IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjps
ZWdlbmRUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxMZWdlbmRFbGVtZW50KGNvbnN0IEVs
ZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5h
bWVzOjpsZWdlbmRUYWcpOwotfQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRP
ZlR5cGU8SFRNTExlZ2VuZEVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJu
IGlzSFRNTExlZ2VuZEVsZW1lbnQoZWxlbWVudCk7IH0KLQogfSAvL25hbWVzcGFjZQogCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuaAppbmRleCAyMmI4YjRhLi44ZjYyNzQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXBFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFwRWxlbWVudC5oCkBAIC01NCwxNiArNTQsNiBAQCBw
cml2YXRlOgogICAgIEF0b21pY1N0cmluZyBtX25hbWU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hU
TUxNYXBFbGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUo
SFRNTE5hbWVzOjptYXBUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxNYXBFbGVtZW50KEVs
ZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5h
bWVzOjptYXBUYWcpOwotfQotCiBpbmxpbmUgSFRNTE1hcEVsZW1lbnQqIHRvSFRNTE1hcEVsZW1l
bnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTigh
bm9kZSB8fCBpc0hUTUxNYXBFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0
ZXJFbGVtZW50LmgKaW5kZXggNWQxMzZmMi4uY2U3NDYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWV0ZXJFbGVtZW50LmgKQEAgLTgyLDExICs4Miw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRy
PE1ldGVyVmFsdWVFbGVtZW50PiBtX3ZhbHVlOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MTWV0
ZXJFbGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRN
TE5hbWVzOjptZXRlclRhZyk7Ci19Ci0KIGlubGluZSBIVE1MTWV0ZXJFbGVtZW50KiB0b0hUTUxN
ZXRlckVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBM
SUNBVElPTighbm9kZSB8fCBpc0hUTUxNZXRlckVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuaAppbmRleCA1OTMxOTdlLi4zMzBlYjcxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuaApAQCAtNjMsMTYgKzYzLDYg
QEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IG1fc3R5bGU7CiB9OwogCi1pbmxp
bmUgYm9vbCBpc0hUTUxPcHRHcm91cEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICBy
ZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6Om9wdGdyb3VwVGFnKTsKLX0KLQotaW5s
aW5lIGJvb2wgaXNIVE1MT3B0R3JvdXBFbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17
Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpvcHRncm91cFRhZyk7
Ci19Ci0KIGlubGluZSBIVE1MT3B0R3JvdXBFbGVtZW50KiB0b0hUTUxPcHRHcm91cEVsZW1lbnQo
Tm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9k
ZSB8fCBpc0hUTUxPcHRHcm91cEVsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T3B0aW9uRWxlbWVudC5oCmluZGV4IDM2NGU1MzMuLjI3NjJkYmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxPcHRpb25FbGVtZW50LmgKQEAgLTk1LDE2ICs5NSw2IEBAIHByaXZhdGU6CiAgICAg
UmVmUHRyPFJlbmRlclN0eWxlPiBtX3N0eWxlOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MT3B0
aW9uRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdO
YW1lKEhUTUxOYW1lczo6b3B0aW9uVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MT3B0aW9u
RWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5o
YXNUYWdOYW1lKEhUTUxOYW1lczo6b3B0aW9uVGFnKTsKLX0KLQogaW5saW5lIEhUTUxPcHRpb25F
bGVtZW50KiB0b0hUTUxPcHRpb25FbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJ
VEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MT3B0aW9uRWxlbWVudChub2Rl
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJhbUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5oCmluZGV4IGI2NTk1ZDYuLmVk
MDkxYWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJhbUVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJhbUVsZW1lbnQuaApAQCAtNDAsMjMg
KzQwLDkgQEAgcHJpdmF0ZToKICAgICBIVE1MUGFyYW1FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCopOwogCiAgICAgdmlydHVhbCBib29sIGlzVVJMQXR0cmlidXRlKGNvbnN0
IEF0dHJpYnV0ZSYpIGNvbnN0IE9WRVJSSURFOwotCiAgICAgdmlydHVhbCB2b2lkIGFkZFN1YnJl
c291cmNlQXR0cmlidXRlVVJMcyhMaXN0SGFzaFNldDxLVVJMPiYpIGNvbnN0OwogfTsKIAotaW5s
aW5lIGJvb2wgaXNIVE1MUGFyYW1FbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0
dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpwYXJhbVRhZyk7Ci19Ci0KLWlubGluZSBi
b29sIGlzSFRNTFBhcmFtRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJl
dHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6cGFyYW1UYWcpOwotfQotCi10ZW1w
bGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8SFRNTFBhcmFtRWxlbWVudD4oY29u
c3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MUGFyYW1FbGVtZW50KGVsZW1lbnQp
OyB9Ci0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmgKaW5kZXggNjBjMGZhYS4uMzlmZjIzZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmgKQEAgLTY5LDEyICs2OSw2IEBA
IHByaXZhdGU6CiAgICAgUHJvZ3Jlc3NWYWx1ZUVsZW1lbnQqIG1fdmFsdWU7CiB9OwogCi1pbmxp
bmUgYm9vbCBpc0hUTUxQcm9ncmVzc0VsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAgICBBU1NFUlQo
bm9kZSk7Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpwcm9ncmVzc1Rh
Zyk7Ci19Ci0KIGlubGluZSBIVE1MUHJvZ3Jlc3NFbGVtZW50KiB0b0hUTUxQcm9ncmVzc0VsZW1l
bnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTigh
bm9kZSB8fCBpc0hUTUxQcm9ncmVzc0VsZW1lbnQobm9kZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU2NyaXB0RWxlbWVudC5oCmluZGV4IGVlYjY2YzcuLmUzM2QxNTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmgKQEAgLTY3LDExICs2Nyw2IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNsb25lRWxlbWVudFdpdGhvdXRBdHRyaWJ1
dGVzQW5kQ2hpbGRyZW4oKTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFNjcmlwdEVsZW1lbnQo
Tm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnNj
cmlwdFRhZyk7Ci19Ci0KIGlubGluZSBIVE1MU2NyaXB0RWxlbWVudCogdG9IVE1MU2NyaXB0RWxl
bWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9O
KCFub2RlIHx8IG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpzY3JpcHRUYWcpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaAppbmRleCBmYzkyMmJjLi5kYzE4MjFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5oCkBAIC01NywxOSArNTcsNiBA
QCBwcml2YXRlOgogICAgIFRpbWVyPEhUTUxTb3VyY2VFbGVtZW50PiBtX2Vycm9yRXZlbnRUaW1l
cjsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFNvdXJjZUVsZW1lbnQoY29uc3QgTm9kZSogbm9k
ZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnNvdXJjZVRhZyk7
Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTFNvdXJjZUVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxl
bWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnNvdXJj
ZVRhZyk7Ci19Ci0KLXRlbXBsYXRlIDw+IGlubGluZSBib29sIGlzRWxlbWVudE9mVHlwZTxIVE1M
U291cmNlRWxlbWVudD4oY29uc3QgRWxlbWVudCogZWxlbWVudCkgeyByZXR1cm4gaXNIVE1MU291
cmNlRWxlbWVudChlbGVtZW50KTsgfQotCi0KIH0gLy9uYW1lc3BhY2UKIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oCmluZGV4IDU0OGVhOWYuLjkyMGRlYTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5oCkBAIC05MywyNCArOTMsMTIgQEAg
cHJpdmF0ZToKICAgICBTY29wZWRTdHlsZVJlZ2lzdHJhdGlvblN0YXRlIG1fc2NvcGVkU3R5bGVS
ZWdpc3RyYXRpb25TdGF0ZTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFN0eWxlRWxlbWVudChj
b25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1l
czo6c3R5bGVUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxTdHlsZUVsZW1lbnQoY29uc3Qg
RWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFtZShIVE1M
TmFtZXM6OnN0eWxlVGFnKTsKLX0KLQogaW5saW5lIEhUTUxTdHlsZUVsZW1lbnQqIHRvSFRNTFN0
eWxlRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKCFub2RlIHx8IGlzSFRNTFN0eWxlRWxlbWVudChub2RlKSk7CiAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PEhUTUxTdHlsZUVsZW1lbnQqPihub2RlKTsKIH0KIAotdGVtcGxhdGUgPD4gaW5s
aW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxTdHlsZUVsZW1lbnQ+KGNvbnN0IEVsZW1lbnQq
IGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTFN0eWxlRWxlbWVudChlbGVtZW50KTsgfQotCiB9IC8v
bmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGFibGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaApp
bmRleCBlYzIxNDAxLi4wZDc2YWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUYWJsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1l
bnQuaApAQCAtMTAwLDE2ICsxMDAsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxTdHlsZVByb3Bl
cnR5U2V0PiBtX3NoYXJlZENlbGxTdHlsZTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFRhYmxl
RWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1l
KEhUTUxOYW1lczo6dGFibGVUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxUYWJsZUVsZW1l
bnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFn
TmFtZShIVE1MTmFtZXM6OnRhYmxlVGFnKTsKLX0KLQogaW5saW5lIEhUTUxUYWJsZUVsZW1lbnQq
IHRvSFRNTFRhYmxlRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTFRhYmxlRWxlbWVudChub2RlKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5oCmluZGV4IGJlZDc1MWMuLjUzZWY0
ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5oCkBAIC01MSwx
OCArNTEsNiBAQCBwcml2YXRlOgogICAgIEhUTUxUYWJsZVJvd0VsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Kik7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hUTUxUYWJsZVJvd0Vs
ZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFtZShI
VE1MTmFtZXM6OnRyVGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNIVE1MVGFibGVSb3dFbGVtZW50
KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIGVsZW1lbnQtPmhhc1RhZ05h
bWUoSFRNTE5hbWVzOjp0clRhZyk7Ci19Ci0KLXRlbXBsYXRlPD4gaW5saW5lIGJvb2wgaXNFbGVt
ZW50T2ZUeXBlPEhUTUxUYWJsZVJvd0VsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsg
cmV0dXJuIGlzSFRNTFRhYmxlUm93RWxlbWVudChlbGVtZW50KTsgfQotCiBpbmxpbmUgSFRNTFRh
YmxlUm93RWxlbWVudCogdG9IVE1MVGFibGVSb3dFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAg
QVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNIVE1MVGFibGVSb3dF
bGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhZ05h
bWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KaW5kZXggZjJkNGU1
MC4uNDY2MTUyNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVz
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCkBAIC0zLDE3ICsz
LDE3IEBAIG5hbWVzcGFjZVByZWZpeD0ieGh0bWwiCiBuYW1lc3BhY2VVUkk9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGh0bWwiCiBmYWxsYmFja0ludGVyZmFjZU5hbWU9IkhUTUxVbmtub3duRWxl
bWVudCIKIAotYSBpbnRlcmZhY2VOYW1lPUhUTUxBbmNob3JFbGVtZW50CithIGludGVyZmFjZU5h
bWU9SFRNTEFuY2hvckVsZW1lbnQsIGdlbmVyYXRlVHlwZUNoZWNrcwogYWJiciBpbnRlcmZhY2VO
YW1lPUhUTUxFbGVtZW50CiBhY3JvbnltIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGFkZHJl
c3MgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogYXBwbGV0IGNvbnN0cnVjdG9yTmVlZHNDcmVh
dGVkQnlQYXJzZXIKLWFyZWEKK2FyZWEgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBhcnRpY2xlIGludGVy
ZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGFzaWRlIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLWF1
ZGlvIHdyYXBwZXJPbmx5SWZNZWRpYUlzQXZhaWxhYmxlLCBjb25kaXRpb25hbD1WSURFTywgY29u
c3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlcgorYXVkaW8gd3JhcHBlck9ubHlJZk1lZGlhSXNB
dmFpbGFibGUsIGNvbmRpdGlvbmFsPVZJREVPLCBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFy
c2VyLCBnZW5lcmF0ZVR5cGVDaGVja3MKIGIgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotYmFz
ZQorYmFzZSBnZW5lcmF0ZVR5cGVDaGVja3MKIGJhc2Vmb250IGludGVyZmFjZU5hbWU9SFRNTEJh
c2VGb250RWxlbWVudAogYmRpIGludGVyZmFjZU5hbWU9SFRNTEJESUVsZW1lbnQsIEpTSW50ZXJm
YWNlTmFtZT1IVE1MRWxlbWVudAogYmRvIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKQEAgLTIz
LDcgKzIzLDcgQEAgYmxvY2txdW90ZSBpbnRlcmZhY2VOYW1lPUhUTUxRdW90ZUVsZW1lbnQKIGJv
ZHkKIGJyIGludGVyZmFjZU5hbWU9SFRNTEJSRWxlbWVudAogYnV0dG9uIGNvbnN0cnVjdG9yTmVl
ZHNGb3JtRWxlbWVudAotY2FudmFzCitjYW52YXMgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBjYXB0aW9u
IGludGVyZmFjZU5hbWU9SFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQKIGNlbnRlciBpbnRlcmZhY2VO
YW1lPUhUTUxFbGVtZW50CiBjaXRlIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKQEAgLTQ0LDE0
ICs0NCwxNCBAQCBkbCBpbnRlcmZhY2VOYW1lPUhUTUxETGlzdEVsZW1lbnQKIGR0IGludGVyZmFj
ZU5hbWU9SFRNTEVsZW1lbnQKIGVtIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIGVtYmVkIGNv
bnN0cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIKLWZpZWxkc2V0IGludGVyZmFjZU5hbWU9SFRN
TEZpZWxkU2V0RWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50CitmaWVsZHNldCBp
bnRlcmZhY2VOYW1lPUhUTUxGaWVsZFNldEVsZW1lbnQsIGNvbnN0cnVjdG9yTmVlZHNGb3JtRWxl
bWVudCwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBmaWdjYXB0aW9uIGludGVyZmFjZU5hbWU9SFRNTEVs
ZW1lbnQKIGZpZ3VyZSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBmb250CiBmb290ZXIgaW50
ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAotZm9ybQorZm9ybSBnZW5lcmF0ZVR5cGVDaGVja3MKIGZy
YW1lCi1mcmFtZXNldCBpbnRlcmZhY2VOYW1lPUhUTUxGcmFtZVNldEVsZW1lbnQKK2ZyYW1lc2V0
IGludGVyZmFjZU5hbWU9SFRNTEZyYW1lU2V0RWxlbWVudCwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBo
MSBpbnRlcmZhY2VOYW1lPUhUTUxIZWFkaW5nRWxlbWVudAogaDIgaW50ZXJmYWNlTmFtZT1IVE1M
SGVhZGluZ0VsZW1lbnQKIGgzIGludGVyZmFjZU5hbWU9SFRNTEhlYWRpbmdFbGVtZW50CkBAIC02
NiwyNSArNjYsMjUgQEAgaHRtbAogaSBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBpZnJhbWUg
aW50ZXJmYWNlTmFtZT1IVE1MSUZyYW1lRWxlbWVudAogaW1hZ2UgaW50ZXJmYWNlTmFtZT1IVE1M
RWxlbWVudAotaW1nIGludGVyZmFjZU5hbWU9SFRNTEltYWdlRWxlbWVudCwgY29uc3RydWN0b3JO
ZWVkc0Zvcm1FbGVtZW50Ci1pbnB1dCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQsIGNvbnN0
cnVjdG9yTmVlZHNDcmVhdGVkQnlQYXJzZXIKK2ltZyBpbnRlcmZhY2VOYW1lPUhUTUxJbWFnZUVs
ZW1lbnQsIGNvbnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudCwgZ2VuZXJhdGVUeXBlQ2hlY2tzCitp
bnB1dCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQsIGNvbnN0cnVjdG9yTmVlZHNDcmVhdGVk
QnlQYXJzZXIsIGdlbmVyYXRlVHlwZUNoZWNrcwogaW5zIGludGVyZmFjZU5hbWU9SFRNTE1vZEVs
ZW1lbnQKIGlzaW5kZXggaW50ZXJmYWNlTmFtZT1IVE1MVW5rbm93bkVsZW1lbnQKIGtiZCBpbnRl
cmZhY2VOYW1lPUhUTUxFbGVtZW50CiBrZXlnZW4gY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50
Ci1sYWJlbAorbGFiZWwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBsYXllciBpbnRlcmZhY2VOYW1lPUhU
TUxFbGVtZW50Ci1sZWdlbmQKK2xlZ2VuZCBnZW5lcmF0ZVR5cGVDaGVja3MKIGxpIGludGVyZmFj
ZU5hbWU9SFRNTExJRWxlbWVudAogbGluayBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2Vy
CiBsaXN0aW5nIGludGVyZmFjZU5hbWU9SFRNTFByZUVsZW1lbnQKIG1haW4gaW50ZXJmYWNlTmFt
ZT1IVE1MRWxlbWVudAotbWFwCittYXAgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBtYXJrIGludGVyZmFj
ZU5hbWU9SFRNTEVsZW1lbnQKIG1hcnF1ZWUKIG1lbnUKIG1ldGEKLW1ldGVyIGludGVyZmFjZU5h
bWU9SFRNTE1ldGVyRWxlbWVudCwgY29uZGl0aW9uYWw9TUVURVJfRUxFTUVOVAorbWV0ZXIgaW50
ZXJmYWNlTmFtZT1IVE1MTWV0ZXJFbGVtZW50LCBjb25kaXRpb25hbD1NRVRFUl9FTEVNRU5ULCBn
ZW5lcmF0ZVR5cGVDaGVja3MKIG5hdiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBub2JyIGlu
dGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIG5vZW1iZWQgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVu
dApAQCAtOTIsNDMgKzkyLDQzIEBAIG5vZnJhbWVzIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQK
IG5vbGF5ZXIgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogb2JqZWN0IGNvbnN0cnVjdG9yTmVl
ZHNGb3JtRWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0NyZWF0ZWRCeVBhcnNlcgogb2wgaW50ZXJm
YWNlTmFtZT1IVE1MT0xpc3RFbGVtZW50Ci1vcHRncm91cCBpbnRlcmZhY2VOYW1lPUhUTUxPcHRH
cm91cEVsZW1lbnQKLW9wdGlvbgorb3B0Z3JvdXAgaW50ZXJmYWNlTmFtZT1IVE1MT3B0R3JvdXBF
bGVtZW50LCBnZW5lcmF0ZVR5cGVDaGVja3MKK29wdGlvbiBnZW5lcmF0ZVR5cGVDaGVja3MKIG91
dHB1dCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQKIHAgaW50ZXJmYWNlTmFtZT1IVE1MUGFy
YWdyYXBoRWxlbWVudAotcGFyYW0KK3BhcmFtIGdlbmVyYXRlVHlwZUNoZWNrcwogcGxhaW50ZXh0
IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHByZQotcHJvZ3Jlc3MgaW50ZXJmYWNlTmFtZT1I
VE1MUHJvZ3Jlc3NFbGVtZW50LCBjb25kaXRpb25hbD1QUk9HUkVTU19FTEVNRU5UCitwcm9ncmVz
cyBpbnRlcmZhY2VOYW1lPUhUTUxQcm9ncmVzc0VsZW1lbnQsIGNvbmRpdGlvbmFsPVBST0dSRVNT
X0VMRU1FTlQsIGdlbmVyYXRlVHlwZUNoZWNrcwogcSBpbnRlcmZhY2VOYW1lPUhUTUxRdW90ZUVs
ZW1lbnQKIHJwIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHJ0IGludGVyZmFjZU5hbWU9SFRN
TEVsZW1lbnQKIHJ1YnkgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogcyBpbnRlcmZhY2VOYW1l
PUhUTUxFbGVtZW50CiBzYW1wIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLXNjcmlwdCBjb25z
dHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCitzY3JpcHQgY29uc3RydWN0b3JOZWVkc0NyZWF0
ZWRCeVBhcnNlciwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBzZWN0aW9uIGludGVyZmFjZU5hbWU9SFRN
TEVsZW1lbnQKIHNlbGVjdCBjb25zdHJ1Y3Rvck5lZWRzRm9ybUVsZW1lbnQKIHNtYWxsIGludGVy
ZmFjZU5hbWU9SFRNTEVsZW1lbnQKLXNvdXJjZSB3cmFwcGVyT25seUlmTWVkaWFJc0F2YWlsYWJs
ZSwgY29uZGl0aW9uYWw9VklERU8KK3NvdXJjZSB3cmFwcGVyT25seUlmTWVkaWFJc0F2YWlsYWJs
ZSwgY29uZGl0aW9uYWw9VklERU8sIGdlbmVyYXRlVHlwZUNoZWNrcwogc3Bhbgogc3RyaWtlIGlu
dGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIHN0cm9uZyBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50
Ci1zdHlsZSBjb25zdHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCitzdHlsZSBjb25zdHJ1Y3Rv
ck5lZWRzQ3JlYXRlZEJ5UGFyc2VyLCBnZW5lcmF0ZVR5cGVDaGVja3MKIHN1YiBpbnRlcmZhY2VO
YW1lPUhUTUxFbGVtZW50CiBzdW1tYXJ5IGludGVyZmFjZU5hbWU9SFRNTFN1bW1hcnlFbGVtZW50
LCBKU0ludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQsIGNvbmRpdGlvbmFsPURFVEFJTFNfRUxFTUVO
VAogc3VwIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKLXRhYmxlCit0YWJsZSBnZW5lcmF0ZVR5
cGVDaGVja3MKIHRib2R5IGludGVyZmFjZU5hbWU9SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQKIHRk
IGludGVyZmFjZU5hbWU9SFRNTFRhYmxlQ2VsbEVsZW1lbnQKIHRlbXBsYXRlIGNvbmRpdGlvbmFs
PVRFTVBMQVRFX0VMRU1FTlQKLXRleHRhcmVhIGludGVyZmFjZU5hbWU9SFRNTFRleHRBcmVhRWxl
bWVudCwgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50Cit0ZXh0YXJlYSBpbnRlcmZhY2VOYW1l
PUhUTUxUZXh0QXJlYUVsZW1lbnQsIGNvbnN0cnVjdG9yTmVlZHNGb3JtRWxlbWVudCwgZ2VuZXJh
dGVUeXBlQ2hlY2tzCiB0Zm9vdCBpbnRlcmZhY2VOYW1lPUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50
CiB0aCBpbnRlcmZhY2VOYW1lPUhUTUxUYWJsZUNlbGxFbGVtZW50CiB0aGVhZCBpbnRlcmZhY2VO
YW1lPUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50Ci10aXRsZQotdHIgaW50ZXJmYWNlTmFtZT1IVE1M
VGFibGVSb3dFbGVtZW50Ci10cmFjayB3cmFwcGVyT25seUlmTWVkaWFJc0F2YWlsYWJsZSwgY29u
ZGl0aW9uYWw9VklERU9fVFJBQ0sKK3RpdGxlIGdlbmVyYXRlVHlwZUNoZWNrcwordHIgaW50ZXJm
YWNlTmFtZT1IVE1MVGFibGVSb3dFbGVtZW50LCBnZW5lcmF0ZVR5cGVDaGVja3MKK3RyYWNrIHdy
YXBwZXJPbmx5SWZNZWRpYUlzQXZhaWxhYmxlLCBjb25kaXRpb25hbD1WSURFT19UUkFDSywgZ2Vu
ZXJhdGVUeXBlQ2hlY2tzCiB0dCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiB1IGludGVyZmFj
ZU5hbWU9SFRNTEVsZW1lbnQKIHVsIGludGVyZmFjZU5hbWU9SFRNTFVMaXN0RWxlbWVudApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAppbmRleCBmYmY4NWJhLi42NzU1
MTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaApAQCAtMTI3
LDE2ICsxMjcsNiBAQCBwcml2YXRlOgogICAgIG11dGFibGUgYm9vbCBtX3dhc01vZGlmaWVkQnlV
c2VyOwogfTsKIAotaW5saW5lIGJvb2wgaXNIVE1MVGV4dEFyZWFFbGVtZW50KE5vZGUqIG5vZGUp
Ci17Ci0gICAgcmV0dXJuIG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0ZXh0YXJlYVRhZyk7
Ci19Ci0KLWlubGluZSBib29sIGlzSFRNTFRleHRBcmVhRWxlbWVudChFbGVtZW50KiBlbGVtZW50
KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGV4dGFyZWFU
YWcpOwotfQotCiBpbmxpbmUgSFRNTFRleHRBcmVhRWxlbWVudCogdG9IVE1MVGV4dEFyZWFFbGVt
ZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04o
IW5vZGUgfHwgaXNIVE1MVGV4dEFyZWFFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVGl0bGVFbGVtZW50LmgKaW5kZXggZGRmNmRhNy4uYjY5NGUzNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGl0bGVFbGVtZW50LmgKQEAgLTQ2LDI0ICs0NiwxMiBAQCBwcml2YXRlOgogICAg
IFN0cmluZ1dpdGhEaXJlY3Rpb24gbV90aXRsZTsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFRp
dGxlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdO
YW1lKEhUTUxOYW1lczo6dGl0bGVUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxUaXRsZUVs
ZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OnRpdGxlVGFnKTsKLX0KLQogaW5saW5lIEhUTUxUaXRsZUVsZW1l
bnQqIHRvSFRNTFRpdGxlRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NF
Q1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzSFRNTFRpdGxlRWxlbWVudChub2RlKSk7CiAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxUaXRsZUVsZW1lbnQqPihub2RlKTsKIH0KIAotdGVt
cGxhdGUgPD4gaW5saW5lIGJvb2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxUaXRsZUVsZW1lbnQ+KGNv
bnN0IEVsZW1lbnQqIGVsZW1lbnQpIHsgcmV0dXJuIGlzSFRNTFRpdGxlRWxlbWVudChlbGVtZW50
KTsgfQotCiB9IC8vbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFj
a0VsZW1lbnQuaAppbmRleCBjNzkzYjM0Li45ZDhlYjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUcmFja0VsZW1lbnQuaApAQCAtOTcsMTkgKzk3LDYgQEAgcHJpdmF0ZToKICAgICBUaW1lcjxI
VE1MVHJhY2tFbGVtZW50PiBtX2xvYWRUaW1lcjsKIH07CiAKLWlubGluZSBib29sIGlzSFRNTFRy
YWNrRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdO
YW1lKEhUTUxOYW1lczo6dHJhY2tUYWcpOwotfQotCi1pbmxpbmUgYm9vbCBpc0hUTUxUcmFja0Vs
ZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICByZXR1cm4gZWxlbWVudC0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OnRyYWNrVGFnKTsKLX0KLQotdGVtcGxhdGUgPD4gaW5saW5lIGJv
b2wgaXNFbGVtZW50T2ZUeXBlPEhUTUxUcmFja0VsZW1lbnQ+KGNvbnN0IEVsZW1lbnQqIGVsZW1l
bnQpIHsgcmV0dXJuIGlzSFRNTFRyYWNrRWxlbWVudChlbGVtZW50KTsgfQotCi0KIH0KIAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAppbmRleCA3NmJkZTcwLi5iMTNmMDI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50LmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2lu
Y2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFN0cmluZy5o
IgorI2luY2x1ZGUgIlNWR0VsZW1lbnRUeXBlQ2hlY2tzLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1Nw
YWNlLmgiCiAjaW5jbHVkZSAiU1ZHTG9jYXRhYmxlLmgiCiAjaW5jbHVkZSAiU1ZHUGFyc2luZ0Vy
cm9yLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oCmluZGV4IDAxZmU2YzIuLjA2ODFh
NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oCkBAIC04OSwxMSArODksNiBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9pc0dseXBoQ2FjaGVWYWxpZDsKIH07CiAKLWlubGluZSBib29s
IGlzU1ZHRm9udEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+
aGFzVGFnTmFtZShTVkdOYW1lczo6Zm9udFRhZyk7Ci19Ci0KIGlubGluZSBTVkdGb250RWxlbWVu
dCogdG9TVkdGb250RWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzU1ZHRm9udEVsZW1lbnQobm9kZSkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oCmluZGV4IGRhYjQyOTAuLjZlN2Q4ZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmgKQEAgLTY3LDE4ICs2Nyw2IEBA
IHByaXZhdGU6CiAgICAgU1ZHRm9udEVsZW1lbnQqIG1fZm9udEVsZW1lbnQ7CiB9OwogCi1pbmxp
bmUgYm9vbCBpc1NWR0ZvbnRGYWNlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJl
dHVybiBub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmb250X2ZhY2VUYWcpOwotfQotCi1pbmxp
bmUgYm9vbCBpc1NWR0ZvbnRGYWNlRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewot
ICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmb250X2ZhY2VUYWcpOwot
fQotCi10ZW1wbGF0ZSA8PiBpbmxpbmUgYm9vbCBpc0VsZW1lbnRPZlR5cGU8U1ZHRm9udEZhY2VF
bGVtZW50Pihjb25zdCBFbGVtZW50KiBlbGVtZW50KSB7IHJldHVybiBpc1NWR0ZvbnRGYWNlRWxl
bWVudChlbGVtZW50KTsgfQotCiBpbmxpbmUgU1ZHRm9udEZhY2VFbGVtZW50KiB0b1NWR0ZvbnRG
YWNlRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKCFub2RlIHx8IGlzU1ZHRm9udEZhY2VFbGVtZW50KG5vZGUpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgKaW5kZXggYjBkYzYyMC4uODkzNjMw
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgKQEAg
LTU5LDE5ICs1OSw2IEBAIHByaXZhdGU6CiAgICAgRU5EX0RFQ0xBUkVfQU5JTUFURURfUFJPUEVS
VElFUwogfTsKIAotaW5saW5lIGJvb2wgaXNTVkdGb3JlaWduT2JqZWN0RWxlbWVudChjb25zdCBO
b2RlKiBub2RlKQotewotICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmb3Jl
aWduT2JqZWN0VGFnKTsKLX0KLQotaW5saW5lIGJvb2wgaXNTVkdGb3JlaWduT2JqZWN0RWxlbWVu
dChjb25zdCBFbGVtZW50KiBlbGVtZW50KQotewotICAgIHJldHVybiBlbGVtZW50LT5oYXNUYWdO
YW1lKFNWR05hbWVzOjpmb3JlaWduT2JqZWN0VGFnKTsKLX0KLQotdGVtcGxhdGUgPD4gaW5saW5l
IGJvb2wgaXNFbGVtZW50T2ZUeXBlPFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50Pihjb25zdCBFbGVt
ZW50KiBlbGVtZW50KSB7IHJldHVybiBpc1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50KGVsZW1lbnQp
OyB9Ci0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaAppbmRleCA5Y2Q1NzkzLi45MTM0ZjFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCkBAIC03NywxMSArNzcsNiBAQCBwcml2
YXRlOgogICAgIFNWR0ltYWdlTG9hZGVyIG1faW1hZ2VMb2FkZXI7CiB9OwogCi1pbmxpbmUgYm9v
bCBpc1NWR0ltYWdlRWxlbWVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIHJldHVybiBub2Rl
LT5oYXNUYWdOYW1lKFNWR05hbWVzOjppbWFnZVRhZyk7Ci19Ci0KIGlubGluZSBTVkdJbWFnZUVs
ZW1lbnQqIHRvU1ZHSW1hZ2VFbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUX1dJVEhf
U0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgaXNTVkdJbWFnZUVsZW1lbnQobm9kZSkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgKaW5kZXggZTYyNTRjNS4uY2FhMDk4MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCkBAIC04OCwxMSArODgsNiBAQCBw
cml2YXRlOgogICAgIFRpbWVyPFNWR0VsZW1lbnQ+IG1fc3ZnTG9hZEV2ZW50VGltZXI7CiB9Owog
Ci1pbmxpbmUgYm9vbCBpc1NWR1NjcmlwdEVsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAgICByZXR1
cm4gbm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6c2NyaXB0VGFnKTsKLX0KLQogaW5saW5lIFNW
R1NjcmlwdEVsZW1lbnQqIHRvU1ZHU2NyaXB0RWxlbWVudChOb2RlKiBub2RlKQogewogICAgIEFT
U0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IG5vZGUtPmhhc1RhZ05hbWUo
U1ZHTmFtZXM6OnNjcmlwdFRhZykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3N2
Z3RhZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9zdmcvc3ZndGFncy5pbgppbmRleCA3ZGI0ODE0Li5j
NDA2MzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvc3ZndGFncy5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvc3ZndGFncy5pbgpAQCAtNTMsMjEgKzUzLDIxIEBAIGZlVHVyYnVs
ZW5jZQogZmlsdGVyCiAjZW5kaWYKICNpZiBFTkFCTEVfU1ZHX0ZPTlRTCi1mb250Ci1mb250X2Zh
Y2UKK2ZvbnQgZ2VuZXJhdGVUeXBlQ2hlY2tzCitmb250X2ZhY2UgZ2VuZXJhdGVUeXBlQ2hlY2tz
CiBmb250X2ZhY2VfZm9ybWF0CiBmb250X2ZhY2VfbmFtZQogZm9udF9mYWNlX3NyYwogZm9udF9m
YWNlX3VyaQogI2VuZGlmCi1mb3JlaWduT2JqZWN0Citmb3JlaWduT2JqZWN0IGdlbmVyYXRlVHlw
ZUNoZWNrcwogZwogI2lmIEVOQUJMRV9TVkdfRk9OVFMKIGdseXBoCiBnbHlwaFJlZgogaGtlcm4g
aW50ZXJmYWNlTmFtZT1TVkdIS2VybkVsZW1lbnQKICNlbmRpZgotaW1hZ2UKK2ltYWdlIGdlbmVy
YXRlVHlwZUNoZWNrcwogbGluZQogbGluZWFyR3JhZGllbnQKIG1hcmtlcgpAQCAtODMsNyArODMs
NyBAQCBwb2x5Z29uCiBwb2x5bGluZQogcmFkaWFsR3JhZGllbnQKIHJlY3QKLXNjcmlwdCBjb25z
dHJ1Y3Rvck5lZWRzQ3JlYXRlZEJ5UGFyc2VyCitzY3JpcHQgY29uc3RydWN0b3JOZWVkc0NyZWF0
ZWRCeVBhcnNlciwgZ2VuZXJhdGVUeXBlQ2hlY2tzCiBzdG9wCiBzdHlsZSBjb25zdHJ1Y3Rvck5l
ZWRzQ3JlYXRlZEJ5UGFyc2VyCiBzdmcgaW50ZXJmYWNlTmFtZT1TVkdTVkdFbGVtZW50Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>