<?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>230337</bug_id>
          
          <creation_ts>2021-09-16 02:11:04 -0700</creation_ts>
          <short_desc>Parsing support for font-palette-values</short_desc>
          <delta_ts>2021-09-21 17:10:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>230446</blocked>
    
    <blocked>230447</blocked>
    
    <blocked>230586</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonlee</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1793981</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-16 02:11:04 -0700</bug_when>
    <thetext>Parsing support for font-palette-values</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793982</commentid>
    <comment_count>1</comment_count>
      <attachid>438329</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-16 02:11:59 -0700</bug_when>
    <thetext>Created attachment 438329
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794233</commentid>
    <comment_count>2</comment_count>
      <attachid>438407</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-16 15:34:28 -0700</bug_when>
    <thetext>Created attachment 438407
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794249</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-16 16:05:26 -0700</bug_when>
    <thetext>I have to put it behind a guard, and make CSSFontPaletteValuesRule match https://drafts.csswg.org/css-fonts/#om-fontpalettevalues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794343</commentid>
    <comment_count>4</comment_count>
      <attachid>438445</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-16 23:11:09 -0700</bug_when>
    <thetext>Created attachment 438445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794344</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-09-16 23:12:19 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794382</commentid>
    <comment_count>6</comment_count>
      <attachid>438456</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-17 02:17:13 -0700</bug_when>
    <thetext>Created attachment 438456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794754</commentid>
    <comment_count>7</comment_count>
      <attachid>438551</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-18 00:28:07 -0700</bug_when>
    <thetext>Created attachment 438551
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794760</commentid>
    <comment_count>8</comment_count>
      <attachid>438555</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-18 02:04:49 -0700</bug_when>
    <thetext>Created attachment 438555
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794864</commentid>
    <comment_count>9</comment_count>
      <attachid>438555</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-19 05:40:40 -0700</bug_when>
    <thetext>Comment on attachment 438555
Patch

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

&gt; Source/WebCore/css/CSSRule.h:61
&gt; +        MARGIN_RULE = 9,
&gt; +        NAMESPACE_RULE = 10,
&gt; +        COUNTER_STYLE_RULE = 11,
&gt; +        SUPPORTS_RULE = 12,
&gt; +        DOCUMENT_RULE = 13,
&gt; +        FONT_FEATURE_VALUES_RULE = 14,
&gt; +        VIEWPORT_RULE = 15,
&gt; +        REGION_STYLE_RULE = 16,
&gt; +        CUSTOM_MEDIA_RULE = 17,
&gt; +        PROPERTY_RULE = 18,
&gt; +        FONT_PALETTE_VALUES_RULE = 19, // https://github.com/w3c/csswg-drafts/issues/6623
&gt; +        LAYER_RULE = 20

Why are you you adding constants for things we don&apos;t support?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794865</commentid>
    <comment_count>10</comment_count>
      <attachid>438555</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-19 05:45:02 -0700</bug_when>
    <thetext>Comment on attachment 438555
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Parsing support for font-palette-values
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=230337
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        There&apos;s nothing particularly interesting here - it&apos;s just support for another at-rule.
&gt; +        I&apos;ve implemented what&apos;s in the spec right now.

You could point to the spec.

&gt; Source/WebCore/ChangeLog:18
&gt; +        Also, some of our StyleRules had the wrong web-exposed Type constant, so I fixed that too, because
&gt; +        this patch adds a new StyleRule and it needs to have the correct Type.

Let&apos;s not do any drive-by fixing here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795324</commentid>
    <comment_count>11</comment_count>
      <attachid>438744</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-20 15:58:07 -0700</bug_when>
    <thetext>Created attachment 438744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795360</commentid>
    <comment_count>12</comment_count>
      <attachid>438754</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-20 17:02:25 -0700</bug_when>
    <thetext>Created attachment 438754
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795363</commentid>
    <comment_count>13</comment_count>
      <attachid>438756</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-20 17:06:10 -0700</bug_when>
    <thetext>Created attachment 438756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795391</commentid>
    <comment_count>14</comment_count>
      <attachid>438756</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2021-09-20 19:04:08 -0700</bug_when>
    <thetext>Comment on attachment 438756
Patch

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

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:4055
&gt; +        /* Unimplemented @font-palette-values properties */

Weird comment style, but I see it is not unusual for this file.

&gt; Source/WebCore/css/CSSFontPaletteValuesRule.cpp:153
&gt; +    builder.append(&quot;}&quot;);

&quot;}&quot; =&gt; &apos;}&apos;?

&gt; Source/WebCore/css/CSSRule.cpp:4
&gt; + * Copyright (C) 2002 - 2021 Apple Inc. All rights reserved.

I think there are normally no spaces around the hyphen.

&gt; Source/WebCore/css/CSSValue.h:3
&gt; + * Copyright (C) 2004 - 2021 Apple Inc. All rights reserved.

Same here.

&gt; Source/WebCore/css/StyleRuleType.h:2
&gt; + * Copyright (C) 2019 - 2021 Apple Inc. All rights reserved.

Same here (and a bunch of others).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795407</commentid>
    <comment_count>15</comment_count>
      <attachid>438756</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-20 21:44:51 -0700</bug_when>
    <thetext>Comment on attachment 438756
Patch

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

&gt; Source/WebCore/css/CSSFontPaletteValuesRule.cpp:75
&gt; +
&gt; +void CSSFontPaletteValuesRule::setFontFamily(String&amp;&amp; fontFamily)
&gt; +{
&gt; +    m_fontPaletteValuesRule-&gt;setFontFamily(fontFamily);
&gt; +}

This needs CSSStyleSheet::RuleMutationScope. See CSSKeyframesRule::setName for example.

If it is important to have a mutable CSSOM API then it needs to be tested also in shared stylesheet case (in WPT too). For example, use the same exact stylesheet in two different shadow roots, mutate one and check the other one doesn&apos;t mutate too.

&gt; Source/WebCore/css/CSSFontPaletteValuesRule.cpp:77
&gt; +void CSSFontPaletteValuesRule::setBasePalette(String&amp;&amp; basePalette)

Same thing here.

&gt; Source/WebCore/css/CSSFontPaletteValuesRule.cpp:99
&gt; +void CSSFontPaletteValuesRule::setFromMapLike(unsigned key, String&amp;&amp; value)

And here.

&gt; Source/WebCore/css/CSSFontPaletteValuesRule.idl:27
&gt; +    maplike&lt;unsigned long, CSSOMString&gt;;
&gt; +    attribute CSSOMString fontFamily;
&gt; +    attribute CSSOMString basePalette;

Why do people keep adding mutable things to CSSOM? What is this stuff good for?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795414</commentid>
    <comment_count>16</comment_count>
      <attachid>438778</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-20 22:40:44 -0700</bug_when>
    <thetext>Created attachment 438778
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795415</commentid>
    <comment_count>17</comment_count>
      <attachid>438756</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-20 23:16:01 -0700</bug_when>
    <thetext>Comment on attachment 438756
Patch

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

&gt;&gt; Source/WebCore/css/CSSFontPaletteValuesRule.idl:27
&gt;&gt; +    attribute CSSOMString basePalette;
&gt; 
&gt; Why do people keep adding mutable things to CSSOM? What is this stuff good for?

I don&apos;t think it&apos;s important. https://github.com/w3c/csswg-drafts/issues/6645</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795425</commentid>
    <comment_count>18</comment_count>
      <attachid>438784</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-20 23:32:15 -0700</bug_when>
    <thetext>Created attachment 438784
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795426</commentid>
    <comment_count>19</comment_count>
      <attachid>438785</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-20 23:33:26 -0700</bug_when>
    <thetext>Created attachment 438785
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795427</commentid>
    <comment_count>20</comment_count>
      <attachid>438786</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-20 23:34:23 -0700</bug_when>
    <thetext>Created attachment 438786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795461</commentid>
    <comment_count>21</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-21 01:19:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/83343696&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795462</commentid>
    <comment_count>22</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-21 01:24:46 -0700</bug_when>
    <thetext>Committed r282806 (241938@main): &lt;https://commits.webkit.org/241938@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438329</attachid>
            <date>2021-09-16 02:11:59 -0700</date>
            <delta_ts>2021-09-16 15:34:26 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-230337-20210916021158.patch</filename>
            <type>text/plain</type>
            <size>52597</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmM4MGMwMDY0YTA1MmFk
MWU0NjkwMTIxMzdjZGJlMjY3YjlmYTE2YS4uYTlkMWJlMzlmMWI0ZGY5YWFkMTYzZWFjMTg5YmNl
YjdkYzQ4ODlkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDIxLTA5LTE2ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUGFyc2luZyBz
dXBwb3J0IGZvciBmb250LXBhbGV0dGUtdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAg
ICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3Bl
cnR5SW5TdHlsZSk6CisgICAgICAgICogY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVD
b2xvclZhbHVlLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5
cGUuaC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xv
clZhbHVlOjpjdXN0b21DU1NUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQ
YWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlOjplcXVhbHMgY29uc3QpOgorICAgICAgICAq
IGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlVHlwZS5oLgorICAgICAgICAqIGNzcy9DU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6fkNTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnN0eWxl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3NzVGV4dCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnJlYXR0
YWNoKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmg6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmguCisgICAgICAgICogY3NzL0NT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGw6IEFkZGVkLgorICAgICAgICAqIGNzcy9DU1NQcm9w
ZXJ0aWVzLmpzb246CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUnVsZVNvdXJjZURhdGE6OkNTU1J1bGVTb3VyY2VEYXRhKToKKyAg
ICAgICAgKiBjc3MvQ1NTUnVsZS5jcHA6CisgICAgICAgICogY3NzL0NTU1J1bGUuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmVxdWFs
cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Y3NzVGV4dCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAgICAgICogY3NzL0NTU1Zh
bHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZSBjb25zdCk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUnVsZUJhc2U6OmNvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6bXV0YWJsZVByb3Bl
cnRpZXMpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZUJhc2U6OmlzRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGNvbnN0KToKKyAgICAgICAgKGlz
VHlwZSk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZVR5cGUuaDoKKyAgICAgICAgKiBjc3MvU3R5
bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRyYXZlcnNlUnVsZXNJblZl
Y3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVNoZWV0Q29udGVudHM6OnRyYXZlcnNlU3Vi
cmVzb3VyY2VzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmNzc0F0UnVsZUlEKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NT
U0F0UnVsZUlELmg6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVBdFJ1bGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6Y29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJJbXBsOjpjb25zdW1lRGVjbGFyYXRpb24pOgorICAg
ICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oOgorICAgICAgICAqIGNzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJz
ZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVz
Y3JpcHRvcik6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0
b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udFBhbGV0
dGVWYWx1ZXNEZXNjcmlwdG9yKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VyLmg6CisKIDIwMjEtMDktMTUgIFBoaWxpcCBDaGltZW50byAgPHBjaGltZW50b0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIEZpeGVzIGZvciBidWlsZC13ZWJraXQgLS1taW5pbWFsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBiOGM2YWZm
YTFlYzUwZDYwMTgyMDM2Y2M4NDNkOTAxNjFhZGQwOGZmLi4wNDRhNmEyYWM3YmNkODYzNzhiYTA1
NTg3YjM1MDgxZmRiMGUzM2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKQEAgLTY4MSw2ICs2ODEsNyBAQCAkKFBST0pFQ1RfRElSKS9jcnlw
dG8vcGFyYW1ldGVycy9Sc2FQc3NQYXJhbXMuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTQ29u
ZGl0aW9uUnVsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlk
bAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKKyQoUFJPSkVDVF9ESVIp
L2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NT
R3JvdXBpbmdSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAk
KFBST0pFQ1RfRElSKS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA1ZjRmMGQ1OWQ2NDJjYzg5
OTM4ODE3M2I0Mzg3OTRjMmRjMjE3YTlhLi5lZTI3ZDQwZjZiMGM4MGNiMzM0MmJmNWI3YzZhMmQx
NjUyMDY5NjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdApAQCAtMzAwLDYgKzMwMCw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRG
YWNlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ1NTRm9udEZhY2VSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NHcm91
cGluZ1J1bGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0NTU0dyb3VwaW5nUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQppbmRleCBjZDQzY2FhYjQyMzQ5MzI5NjdmZTNmZjg4MzRmZjMwN2NjYmUxZTEzLi4yYWUwZjBj
OGI5YWNlZmY2NGMwOWRlN2Y0YmMxYmZkMmI5ZDk2MjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVs
IFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1l
cm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTU3NCw2ICs1NzQsNyBAQCBKU19C
SU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRs
IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTR3JvdXBp
bmdSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvY3NzL0NTU0tleWZyYW1lUnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBh
ZGQyNzJjYTJjNjY0Y2FkMTdiOWI4NzE0ZGFhMWI4YjA3NzAzYTE4Li5lNGZkNTQ1MmZmMmNmNzhl
MjlhMGRmZjliYThjZWZhZDYxMjE5Njk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMSw0ICsxLDQgQEAK
LS8vIENvcHlyaWdodCAoQykgMjAxNy0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNy0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjU3LDYgKzY1Nyw4IEBA
IGNzcy9DU1NGb250RmFjZVNldC5jcHAKIGNzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAKIGNzcy9D
U1NGb250RmFjZVNyY1ZhbHVlLmNwcAogY3NzL0NTU0ZvbnRGZWF0dXJlVmFsdWUuY3BwCitjc3Mv
Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwCitjc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlLmNwcAogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKIGNzcy9DU1NGb250
U3R5bGVSYW5nZVZhbHVlLmNwcAogY3NzL0NTU0ZvbnRTdHlsZVZhbHVlLmNwcApAQCAtMjgwOSw2
ICsyODExLDcgQEAgSlNDU1NBbmltYXRpb24uY3BwCiBKU0NTU0NvbmRpdGlvblJ1bGUuY3BwCiBK
U0NTU0NvdW50ZXJTdHlsZVJ1bGUuY3BwCiBKU0NTU0ZvbnRGYWNlUnVsZS5jcHAKK0pTQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlLmNwcAogSlNDU1NHcm91cGluZ1J1bGUuY3BwCiBKU0NTU0ltcG9y
dFJ1bGUuY3BwCiBKU0NTU0tleWZyYW1lUnVsZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxZGIxYzY2MTYyOThmMTdmOWMx
OWE5NTk1ZDY1ZjYyNWQ1MzRhNmJkLi5kZDM3ZTU2ZDc5MjM4ZjI5OTdiMGE2ZTQyNjBmMThiMTU4
OGIzYWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC02NjIsNiArNjYyLDcgQEAKIAkJMUNFODg2NDEyNjEwNUJGMjAwMEM4MTZD
IC8qIEluTWVtb3J5RGlzcGxheUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDRTg4NjNGMjYxMDVBNUYwMDBDODE2QyAvKiBJbk1lbW9yeURpc3Bs
YXlMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMUNFOEQxMjcyNjE4NUMwRTAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlbUJ1ZmZlcklkZW50
aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFD
RThEMTI1MjYxODVCRDgwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJZGVudGlmaWVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUNF
OEQxMkUyNjE4NjFDNDAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlcmF0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRThEMTJDMjYxODYxNjQwMEZD
M0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUNFQUE1MzIyNkYzMzZGQzAwODY4NTA3IC8qIENTU0Zv
bnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0VBQTUzMTI2RjMzMUMxMDA4Njg1MDcgLyogQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCAqLzsgfTsKIAkJMUNGQUUzMjMw
QTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0QgLyogbGli
b2JqYy5keWxpYiAqLzsgfTsKIAkJMUQwMDI2QTQyMzc0RDYyNDAwQ0E2Q0RGIC8qIEpTUGljdHVy
ZUluUGljdHVyZVdpbmRvdy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUQwMDI2QTIyMzc0RDYyMzAwQ0E2Q0RGIC8qIEpTUGljdHVyZUluUGljdHVyZVdp
bmRvdy5oICovOyB9OwogCQkxRDAwMjZBQTIzNzRGOUVBMDBDQTZDREYgLyogSlNFbnRlclBpY3R1
cmVJblBpY3R1cmVFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUQwMDI2QTgyMzc0RjlEOTAwQ0E2Q0RGIC8qIEpTRW50ZXJQaWN0dXJlSW5QaWN0
dXJlRXZlbnQuaCAqLzsgfTsKQEAgLTcwNTYsNiArNzA1NywxMSBAQAogCQkxQ0U4RDEyNTI2MTg1
QkQ4MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDRThEMTJCMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0
ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlMaXN0SXRlcmF0b3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0U4RDEyQzI2MTg2MTY0MDBGQzNBRUYgLyog
RGlzcGxheUxpc3RJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZXJhdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUw
NyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUNFQUE1MkQyNkYzMUEzQzAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MkYyNkYzMUFGODAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MzAyNkYzMzFDMTAwODY4NTA3IC8qIENTU0Zv
bnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MzEyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDRjBCRkQ0MjI5ODcwNjgwMEVEMjA3NCAvKiBUZXh0U2l6ZUFkanVzdG1lbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gVGV4dFNpemVBZGp1c3RtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUNGMThGM0MyNkJCNUFGMjAwNEIxNzIyIC8qIExvZ0luaXRpYWxpemF0
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvZ0luaXRpYWxpemF0aW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGQUUzMjIwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9i
amMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAv
dXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAt
Mjk0NzksNiArMjk0ODUsMTEgQEAKIAkJCQk4MzUyMEM3RDFBNzFCRkNDMDA2QkQyQUEgLyogQ1NT
Rm9udEZhbWlseS5oICovLAogCQkJCTRBNkU5RkMxMTNDMTdEMUQwMDQ2QTdGOCAvKiBDU1NGb250
RmVhdHVyZVZhbHVlLmNwcCAqLywKIAkJCQk0QTZFOUZDMjEzQzE3RDFEMDA0NkE3RjggLyogQ1NT
Rm9udEZlYXR1cmVWYWx1ZS5oICovLAorCQkJCTFDRUFBNTMwMjZGMzMxQzEwMDg2ODUwNyAvKiBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAgKi8sCisJCQkJMUNFQUE1
MzEyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZh
bHVlLmggKi8sCisJCQkJMUNFQUE1MkMyNkYzMUEzQzAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5jcHAgKi8sCisJCQkJMUNFQUE1MkQyNkYzMUEzQzAwODY4NTA3IC8qIENTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZS5oICovLAorCQkJCTFDRUFBNTJGMjZGMzFBRjgwMDg2ODUwNyAv
KiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsICovLAogCQkJCUJDNjRCNEQzMENCNDI5OEEw
MDVGMkI2MiAvKiBDU1NGb250U2VsZWN0b3IuY3BwICovLAogCQkJCUJDNjRCNEQ0MENCNDI5OEEw
MDVGMkI2MiAvKiBDU1NGb250U2VsZWN0b3IuaCAqLywKIAkJCQlDMkUzOEVGRjFFODQ1NzM1MDBD
QTNBREYgLyogQ1NTRm9udFN0eWxlUmFuZ2VWYWx1ZS5jcHAgKi8sCkBAIC0zMTg1Myw2ICszMTg2
NCw3IEBACiAJCQkJQkM2NEI0REEwQ0I0Mjk4QTAwNUYyQjYyIC8qIENTU0ZvbnRGYWNlU3JjVmFs
dWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNTIwQzdFMUE3MUJGQ0MwMDZCRDJBQSAvKiBDU1NG
b250RmFtaWx5LmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTZFOUZDNDEzQzE3RDFEMDA0NkE3Rjgg
LyogQ1NTRm9udEZlYXR1cmVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUNFQUE1MzIyNkYz
MzZGQzAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzY0QjREQzBDQjQyOThBMDA1RjJCNjIgLyogQ1NTRm9udFNl
bGVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMkUzOEYwMjFFODQ1NzM1MDBDQTNBREYgLyog
Q1NTRm9udFN0eWxlUmFuZ2VWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJFMzhFRkUxRTgz
OTZGRDAwQ0EzQURGIC8qIENTU0ZvbnRTdHlsZVZhbHVlLmggaW4gSGVhZGVycyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5k
ZXggNWUwYTNkMzM4YTFkYjQ3ZjNmZWI0MWEzMzhhMmFhMGUxY2M3M2Q2YS4uNWQ5ZTRlYjZkODU5
ZTkyYTllMzVhMzY0MjBmM2YyM2Y1ZGFiZGNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTQwNTQsNiArNDA1NCwxMSBA
QCBSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVy
dHlJblN0eWxlKGNvbnN0IFJlbmRlclN0eQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udERp
c3BsYXk6CiAgICAgICAgICAgICBicmVhazsKIAorICAgICAgICAvKiBVbmltcGxlbWVudGVkIEBm
b250LXBhbGV0dGUtdmFsdWVzIHByb3BlcnRpZXMgKi8KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eUJhc2VQYWxldHRlOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3ZlcnJpZGVDb2xvcjoKKyAg
ICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIC8qIE90aGVyIHVuaW1wbGVtZW50ZWQgcHJvcGVy
dGllcyAqLwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5UGFnZTogLy8gZm9yIEBwYWdlCiAgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlTaXplOiAvLyBmb3IgQHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFs
dWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM2ZDQ2YzJhMTFmYWJmZDFmMjc1MDdmNGIzMzMxMzdlNjY0Yjdm
M2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNv
bG9yVmFsdWU6OmN1c3RvbUNTU1RleHQoKSBjb25zdAoreworICAgIHJldHVybiBtYWtlU3RyaW5n
KG1fa2V5LT5jc3NUZXh0KCksICIgIiwgbV9jb2xvci0+Y3NzVGV4dCgpKTsKK30KKworYm9vbCBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU0Zv
bnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlJiBvdGhlcikgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9rZXktPmVxdWFscyhvdGhlci5rZXkoKSkgJiYgbV9jb2xvci0+ZXF1YWxzKG90aGVy
LmNvbG9yKCkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3MTkw
YmJjOTI3MDJkYjNhNjk5MGE3Yzk4YWVhZjIxNDRiZjZmN2EKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUu
aApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25z
LmgiCisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVkRm9udDsKK2NsYXNz
IEZvbnRMb2FkUmVxdWVzdDsKK2NsYXNzIFNWR0ZvbnRGYWNlRWxlbWVudDsKK2NsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVD
b2xvclZhbHVlIGZpbmFsIDogcHVibGljIENTU1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UmVmPENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPiBjcmVhdGUoUmVmPENT
U1ByaW1pdGl2ZVZhbHVlPiYmIGtleSwgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIGNvbG9yKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNP
dmVycmlkZUNvbG9yVmFsdWUoV1RGTW92ZShrZXkpLCBXVEZNb3ZlKGNvbG9yKSkpOworICAgIH0K
KworICAgIGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBrZXkoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fa2V5LmdldCgpOworICAgIH0KKworICAgIGNvbnN0IENTU1ByaW1pdGl2ZVZh
bHVlJiBjb2xvcigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9jb2xvci5nZXQoKTsK
KyAgICB9CisKKyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OworCisgICAgYm9vbCBl
cXVhbHMoY29uc3QgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUmKSBjb25z
dDsKKworcHJpdmF0ZToKKyAgICBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1
ZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYga2V5LCBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYg
Y29sb3IpCisgICAgICAgIDogQ1NTVmFsdWUoRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9y
Q2xhc3MpCisgICAgICAgICwgbV9rZXkoV1RGTW92ZShrZXkpKQorICAgICAgICAsIG1fY29sb3Io
V1RGTW92ZShjb2xvcikpCisgICAgeworICAgIH0KKworICAgIFJlZjxDU1NQcmltaXRpdmVWYWx1
ZT4gbV9rZXk7CisgICAgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiBtX2NvbG9yOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19WQUxVRShD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSwgaXNGb250UGFsZXR0ZVZhbHVl
c092ZXJyaWRlQ29sb3JWYWx1ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMjc1NjkyNWYxMDkyODI2NTY5MjIyYTM2
OGU2ZTQwZWUyOWM4N2NjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKKworI2luY2x1ZGUgIlByb3BlcnR5
U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5oIgorI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgor
I2luY2x1ZGUgIlN0eWxlUnVsZS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OkNT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZShTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyYgZm9udFBh
bGV0dGVWYWx1ZXNSdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCisgICAgOiBDU1NSdWxlKHBh
cmVudCkKKyAgICAsIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlKGZvbnRQYWxldHRlVmFsdWVzUnVs
ZSkKK3sKK30KKworQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjp+Q1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlKCkKK3sKKyAgICBpZiAobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKQorICAgICAgICBt
X3Byb3BlcnRpZXNDU1NPTVdyYXBwZXItPmNsZWFyUGFyZW50UnVsZSgpOworfQorCitDU1NTdHls
ZURlY2xhcmF0aW9uJiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnN0eWxlKCkKK3sKKyAgICBp
ZiAoIW1fcHJvcGVydGllc0NTU09NV3JhcHBlcikKKyAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01X
cmFwcGVyID0gU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRlKG1fZm9udFBhbGV0
dGVWYWx1ZXNSdWxlLT5tdXRhYmxlUHJvcGVydGllcygpLCAqdGhpcyk7CisgICAgcmV0dXJuICpt
X3Byb3BlcnRpZXNDU1NPTVdyYXBwZXI7Cit9CisKK1N0cmluZyBDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZyBkZWNsYXJhdGlvbnMgPSBtX2Zv
bnRQYWxldHRlVmFsdWVzUnVsZS0+cHJvcGVydGllcygpLmFzVGV4dCgpOworICAgIGlmIChkZWNs
YXJhdGlvbnMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiQGZvbnQtcGFs
ZXR0ZS12YWx1ZXMgIiwgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm5hbWUoKSwgIiB7IH0iKTsK
KyAgICByZXR1cm4gbWFrZVN0cmluZygiQGZvbnQtcGFsZXR0ZS12YWx1ZXMgIiwgbV9mb250UGFs
ZXR0ZVZhbHVlc1J1bGUtPm5hbWUoKSwgIiB7ICIsIGRlY2xhcmF0aW9ucywgIiB9Iik7Cit9CisK
K3ZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlJiBy
dWxlKQoreworICAgIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlID0gZG93bmNhc3Q8U3R5bGVSdWxl
Rm9udFBhbGV0dGVWYWx1ZXM+KHJ1bGUpOworICAgIGlmIChtX3Byb3BlcnRpZXNDU1NPTVdyYXBw
ZXIpCisgICAgICAgIG1fcHJvcGVydGllc0NTU09NV3JhcHBlci0+cmVhdHRhY2gobV9mb250UGFs
ZXR0ZVZhbHVlc1J1bGUtPm11dGFibGVQcm9wZXJ0aWVzKCkpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDQ4MTEyNjFiMDU4N2Y5ZWVmZDRhYmRmYTgwZTE4YjAxMzM1YTg5NQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUuaApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDU1NSdWxlLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTU3R5bGVEZWNsYXJhdGlvbjsKK2NsYXNzIFN0
eWxlUnVsZUZvbnRGYWNlOworY2xhc3MgU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjsKKwor
Y2xhc3MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGZpbmFsIDogcHVibGljIENTU1J1bGUgewor
cHVibGljOgorICAgIHN0YXRpYyBSZWY8Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlPiBjcmVhdGUo
U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZShydWxlLCBzaGVl
dCkpOyB9CisKKyAgICB2aXJ0dWFsIH5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoKTsKKworICAg
IFdFQkNPUkVfRVhQT1JUIENTU1N0eWxlRGVjbGFyYXRpb24mIHN0eWxlKCk7CisKK3ByaXZhdGU6
CisgICAgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
JiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKKworICAgIENTU1J1bGU6OlR5cGUgdHlwZSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRTsgfQorICAgIFN0cmlu
ZyBjc3NUZXh0KCkgY29uc3QgZmluYWw7CisgICAgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVCYXNl
JikgZmluYWw7CisKKyAgICBSZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IG1fZm9udFBh
bGV0dGVWYWx1ZXNSdWxlOworICAgIFJlZlB0cjxTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9u
PiBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUoQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlLCBDU1NSdWxlOjpGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzOTUxNDNl
ZTY1MzM4YzdhY2Q1ODVmNDdhZDI2NTY1OWFhZjNiMzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbApAQCAtMCwwICsxLDI3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisg
Ki8KKworWworICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAorICAgIEpTR2VuZXJhdGVUb05hdGl2
ZU9iamVjdCwKKyAgICBFeHBvc2VkPVdpbmRvdworXSBpbnRlcmZhY2UgQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlIDogQ1NTUnVsZSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1N0eWxlRGVj
bGFyYXRpb24gc3R5bGU7Cit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgpp
bmRleCBhOGJjODk1ZjYzYzAyNTcxMDRkZDNjNDhjODE2MTRiOTFhYTUwNjliLi5kNDExN2FmOTcy
OGJiNjRiZjQ3YzkwNmM1ZjFlMGQxMmJjODQ0NzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0aWVzLmpzb24KQEAgLTQwNzUsNiArNDA3NSwyNiBAQAogICAgICAgICAgICAgICAgICJ1cmwi
OiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1mb250cy0zLyNzcmMtZGVzYyIKICAgICAgICAg
ICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgImJhc2UtcGFsZXR0ZSI6IHsKKyAgICAgICAgICAg
ICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6
IHRydWUsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0b3Itb25seSI6IHRydWUKKyAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAi
Y2F0ZWdvcnkiOiAiY3NzLWZvbnRzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMtNC8jYmFzZS1wYWxldHRlLWRlc2MiCisgICAgICAg
ICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJvdmVycmlkZS1jb2xvciI6IHsKKyAgICAgICAg
ICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRl
ciI6IHRydWUsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0b3Itb25seSI6IHRydWUKKyAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAg
ICAiY2F0ZWdvcnkiOiAiY3NzLWZvbnRzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMtNC8jb3ZlcnJpZGUtY29sb3IiCisgICAgICAg
ICAgICB9CisgICAgICAgIH0sCiAgICAgICAgICJzdG9wLWNvbG9yIjogewogICAgICAgICAgICAg
ImNvZGVnZW4tcHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAiY29udmVydGVyIjogIlNW
R0NvbG9yIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJj
ZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEuaAppbmRl
eCBiNTBkMzAzMWY0ZDY5YTRjNjlhMWZhYmVlMGRlZTYwODBhZWI4MGFhLi5iN2VlMTM2YTI2OWY0
NWVkNDE3ZGZmMWQ2MmQwZGUzNGUxMGNmYTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5U291cmNlRGF0YS5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoYykg
MjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKQEAgLTkzLDYgKzk0LDcgQEAgc3RydWN0IENTU1J1bGVTb3VyY2VEYXRh
IDogcHVibGljIFJlZkNvdW50ZWQ8Q1NTUnVsZVNvdXJjZURhdGE+IHsKICAgICBDU1NSdWxlU291
cmNlRGF0YShTdHlsZVJ1bGVUeXBlIHR5cGUpCiAgICAgICAgIDogdHlwZSh0eXBlKQogICAgIHsK
KyAgICAgICAgLy8gRklYTUU6IERvZXMgdGhpcyBuZWVkIHRvIGJlIG1vZGlmaWVkIGZvciBTdHls
ZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcz8KICAgICAgICAgaWYgKHR5cGUgPT0gU3R5bGVS
dWxlVHlwZTo6U3R5bGUgfHwgdHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZSB8fCB0eXBl
ID09IFN0eWxlUnVsZVR5cGU6OlBhZ2UpCiAgICAgICAgICAgICBzdHlsZVNvdXJjZURhdGEgPSBD
U1NTdHlsZVNvdXJjZURhdGE6OmNyZWF0ZSgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcApp
bmRleCAwZjNjNDM5NGQ5NWUyMzcwNmU0OGY0ZTI5YWZiNDg0ZmJmZGMzODAyLi42ZjViNWZkZWI2
NDhiZDY4ZTQ1YTZiYzU5YjZlYzkyYzliZDM2NTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCkBA
IC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2Rl
Lm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMTIgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAyIC0gMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTQyLDYgKzQy
LDcgQEAgQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6Q2hhcnNldCA9PSBzdGF0aWNfY2Fz
dDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXAKIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5
cGU6OkltcG9ydCA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpJ
TVBPUlRfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CiBDT01QSUxFX0FTU0VSVChTdHlsZVJ1
bGVUeXBlOjpNZWRpYSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBl
OjpNRURJQV9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKIENPTVBJTEVfQVNTRVJUKFN0eWxl
UnVsZVR5cGU6OkZvbnRGYWNlID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6
OlR5cGU6OkZPTlRfRkFDRV9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKK0NPTVBJTEVfQVNT
RVJUKFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzID09IHN0YXRpY19jYXN0PFN0eWxl
UnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6OkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSksIGVudW1z
X3Nob3VsZF9tYXRjaCk7CiBDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpQYWdlID09IHN0
YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6OlBBR0VfUlVMRSksIGVudW1z
X3Nob3VsZF9tYXRjaCk7CiBDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZXMg
PT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6S0VZRlJBTUVTX1JV
TEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6
S2V5ZnJhbWUgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6S0VZ
RlJBTUVfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAppbmRleCA3
ZWZiM2ExN2JlNGI0MzExZDQ1MDYwMmNkNzE4MGI0MTYwM2NmNzE0Li4xN2U0MDNmZjY3NjgyYTk3
NzZlMGMyZjA0YjIzOTgyZDNiOTZmZTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKQEAgLTEsNyArMSw3
IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICog
KEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdo
dCAoQykgMjAwMi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwMi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENv
cHlyaWdodCAoQykgMjAxMSBBbmRyZWFzIEtsaW5nIChrbGluZ0B3ZWJraXQub3JnKQogICoKICAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKQEAgLTUwLDcgKzUwLDkgQEAgcHVibGljOgogICAgICAgICBNQVJHSU5fUlVMRSwKICAg
ICAgICAgTkFNRVNQQUNFX1JVTEUsCiAgICAgICAgIENPVU5URVJfU1RZTEVfUlVMRSwKLSAgICAg
ICAgU1VQUE9SVFNfUlVMRQorICAgICAgICBTVVBQT1JUU19SVUxFLAorICAgICAgICBMQVlFUl9S
VUxFLAorICAgICAgICBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUKICAgICB9OwogCiAgICAgZW51
bSBEZXByZWNhdGVkVHlwZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCA4NzM2OWFiMGRi
NTJmMGEyZThhM2JhMmMwMzk1MzYwNGM0NGQxN2UyLi4xOWNiNzNlZmVkM2RjYjgwNjA3NDIxMDk2
NGRlZDg0NmM2MDU1NWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTEsNiArMSw3IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEFuZHJlYXMgS2xpbmcgKGtsaW5nQHdlYmtpdC5v
cmcpCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSw2
ICs0MCw3IEBACiAjaW5jbHVkZSAiQ1NTRmlsdGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNT
U0ZvbnRGYWNlU3JjVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmVhdHVyZVZhbHVlLmgiCisj
aW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKICNpbmNs
dWRlICJDU1NGb250U3R5bGVSYW5nZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFN0eWxlVmFs
dWUuaCIKICNpbmNsdWRlICJDU1NGb250VmFsdWUuaCIKQEAgLTE2NCw2ICsxNjYsOCBAQCBib29s
IENTU1ZhbHVlOjplcXVhbHMoY29uc3QgQ1NTVmFsdWUmIG90aGVyKSBjb25zdAogICAgICAgICAg
ICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRm9udFZhbHVlPigqdGhpcywgb3RoZXIpOwog
ICAgICAgICBjYXNlIEZvbnRGYWNlU3JjQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFy
ZUNTU1ZhbHVlczxDU1NGb250RmFjZVNyY1ZhbHVlPigqdGhpcywgb3RoZXIpOworICAgICAgICBj
YXNlIEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvckNsYXNzOgorICAgICAgICAgICAgcmV0
dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFs
dWU+KCp0aGlzLCBvdGhlcik7CiAgICAgICAgIGNhc2UgRm9udEZlYXR1cmVDbGFzczoKICAgICAg
ICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0ZvbnRGZWF0dXJlVmFsdWU+KCp0aGlz
LCBvdGhlcik7CiAgICAgICAgIGNhc2UgRm9udFZhcmlhdGlvbkNsYXNzOgpAQCAtMjY0LDYgKzI2
OCw4IEBAIFN0cmluZyBDU1NWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBk
b3duY2FzdDxDU1NGb250VmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBG
b250RmFjZVNyY0NsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9udEZhY2VTcmNW
YWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKKyAgICBjYXNlIEZvbnRQYWxldHRlVmFsdWVz
T3ZlcnJpZGVDb2xvckNsYXNzOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9udFBhbGV0
dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAg
Y2FzZSBGb250RmVhdHVyZUNsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9udEZl
YXR1cmVWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNlIEZvbnRWYXJpYXRp
b25DbGFzczoKQEAgLTM3Nyw2ICszODMsOSBAQCB2b2lkIENTU1ZhbHVlOjpkZXN0cm95KCkKICAg
ICBjYXNlIEZvbnRGYWNlU3JjQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NGb250
RmFjZVNyY1ZhbHVlPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgRm9udFBhbGV0
dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3M6CisgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NG
b250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZT4odGhpcyk7CisgICAgICAgIHJldHVy
bjsKICAgICBjYXNlIEZvbnRGZWF0dXJlQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxD
U1NGb250RmVhdHVyZVZhbHVlPih0aGlzKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuaAppbmRleCAyM2ViNWVjMzhjY2U5NjkwZTVkOGFiNDRiNTY1MjQ1Zjg3MmQ5MDVkLi5iMzFj
OTkyMGVhNDMxNzY4OTBiMjA5NmFlZmI4OWEwZmI3Y2YzZjFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUu
aApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xs
QGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0IC0g
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
QEAgLTk3LDYgKzk3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNGb250RmVhdHVyZVZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udEZlYXR1cmVDbGFzczsgfQogICAgIGJv
b2wgaXNGb250VmFyaWF0aW9uVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBG
b250VmFyaWF0aW9uQ2xhc3M7IH0KICAgICBib29sIGlzRm9udEZhY2VTcmNWYWx1ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRGYWNlU3JjQ2xhc3M7IH0KKyAgICBib29sIGlz
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Ns
YXNzVHlwZSA9PSBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczsgfQogICAgIGJv
b2wgaXNGb250VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250Q2xhc3M7
IH0KICAgICBib29sIGlzRm9udFN0eWxlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlw
ZSA9PSBGb250U3R5bGVDbGFzczsgfQogICAgIGJvb2wgaXNGb250U3R5bGVSYW5nZVZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udFN0eWxlUmFuZ2VDbGFzczsgfQpAQCAt
MTg3LDYgKzE4OCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgRm9udFN0eWxlQ2xhc3MsCiAgICAg
ICAgIEZvbnRTdHlsZVJhbmdlQ2xhc3MsCiAgICAgICAgIEZvbnRGYWNlU3JjQ2xhc3MsCisgICAg
ICAgIEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvckNsYXNzLAogICAgICAgICBGdW5jdGlv
bkNsYXNzLAogCiAgICAgICAgIEluaGVyaXRlZENsYXNzLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNw
cAppbmRleCA0YjE1YzA5NDk4OTliYmUzZGVkOTkxNGJlOWI2ZWIxZTY3ODMyNWMzLi5kMjc2NDQ2
NzNjZjVkMDZjMGMyNDFmNWMzZTEzNmUzN2NiOWM4MDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxl
LmNwcApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtu
b2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUu
b3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVk
ZSAiQ1NTQ291bnRlclN0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkNTU0RlZmVycmVkUGFyc2VyLmgi
CiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VSdWxlLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTSW1wb3J0UnVsZS5oIgogI2luY2x1ZGUgIkNTU0tl
eWZyYW1lUnVsZS5oIgogI2luY2x1ZGUgIkNTU0tleWZyYW1lc1J1bGUuaCIKQEAgLTcwLDYgKzcx
LDkgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KCkKICAgICBjYXNlIFN0eWxlUnVsZVR5
cGU6OkZvbnRGYWNlOgogICAgICAgICBkZWxldGUgZG93bmNhc3Q8U3R5bGVSdWxlRm9udEZhY2U+
KHRoaXMpOwogICAgICAgICByZXR1cm47CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFs
ZXR0ZVZhbHVlczoKKyAgICAgICAgZGVsZXRlIGRvd25jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRl
VmFsdWVzPih0aGlzKTsKKyAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6
TWVkaWE6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxTdHlsZVJ1bGVNZWRpYT4odGhpcyk7CiAg
ICAgICAgIHJldHVybjsKQEAgLTExMyw2ICsxMTcsOCBAQCBSZWY8U3R5bGVSdWxlQmFzZT4gU3R5
bGVSdWxlQmFzZTo6Y29weSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1
bGVQYWdlPigqdGhpcykuY29weSgpOwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2U6
CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVGb250RmFjZT4oKnRoaXMpLmNvcHko
KTsKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOgorICAgICAgICBy
ZXR1cm4gZG93bmNhc3Q8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+KCp0aGlzKS5jb3B5KCk7
CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpNZWRpYToKICAgICAgICAgcmV0dXJuIGRvd25jYXN0
PFN0eWxlUnVsZU1lZGlhPigqdGhpcykuY29weSgpOwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6
U3VwcG9ydHM6CkBAIC0xNDksNiArMTU1LDkgQEAgUmVmPENTU1J1bGU+IFN0eWxlUnVsZUJhc2U6
OmNyZWF0ZUNTU09NV3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgQ1NTUnUKICAg
ICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOgogICAgICAgICBydWxlID0gQ1NTRm9udEZh
Y2VSdWxlOjpjcmVhdGUoZG93bmNhc3Q8U3R5bGVSdWxlRm9udEZhY2U+KHNlbGYpLCBwYXJlbnRT
aGVldCk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0
dGVWYWx1ZXM6CisgICAgICAgIHJ1bGUgPSBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmNyZWF0
ZShkb3duY2FzdDxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4oc2VsZiksIHBhcmVudFNoZWV0
KTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpNZWRpYToKICAgICAg
ICAgcnVsZSA9IENTU01lZGlhUnVsZTo6Y3JlYXRlKGRvd25jYXN0PFN0eWxlUnVsZU1lZGlhPihz
ZWxmKSwgcGFyZW50U2hlZXQpOwogICAgICAgICBicmVhazsKQEAgLTMxOSw2ICszMjgsMjggQEAg
TXV0YWJsZVN0eWxlUHJvcGVydGllcyYgU3R5bGVSdWxlRm9udEZhY2U6Om11dGFibGVQcm9wZXJ0
aWVzKCkKICAgICByZXR1cm4gZG93bmNhc3Q8TXV0YWJsZVN0eWxlUHJvcGVydGllcz4obV9wcm9w
ZXJ0aWVzLmdldCgpKTsKIH0KIAorU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlN0eWxlUnVs
ZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIFJlZjxTdHlsZVByb3Bl
cnRpZXM+JiYgcHJvcGVydGllcykKKyAgICA6IFN0eWxlUnVsZUJhc2UoU3R5bGVSdWxlVHlwZTo6
Rm9udFBhbGV0dGVWYWx1ZXMpCisgICAgLCBtX25hbWUobmFtZSkKKyAgICAsIG1fcHJvcGVydGll
cyhXVEZNb3ZlKHByb3BlcnRpZXMpKQoreworfQorCitTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVl
czo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoY29uc3QgU3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXMmIG8pCisgICAgOiBTdHlsZVJ1bGVCYXNlKG8pCisgICAgLCBtX3Byb3BlcnRpZXMoby5t
X3Byb3BlcnRpZXMtPm11dGFibGVDb3B5KCkpCit7Cit9CisKK1N0eWxlUnVsZUZvbnRQYWxldHRl
VmFsdWVzOjp+U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoKSA9IGRlZmF1bHQ7CisKK011dGFi
bGVTdHlsZVByb3BlcnRpZXMmIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjptdXRhYmxlUHJv
cGVydGllcygpCit7CisgICAgaWYgKCFpczxNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzPihtX3Byb3Bl
cnRpZXMuZ2V0KCkpKQorICAgICAgICBtX3Byb3BlcnRpZXMgPSBtX3Byb3BlcnRpZXMtPm11dGFi
bGVDb3B5KCk7CisgICAgcmV0dXJuIGRvd25jYXN0PE11dGFibGVTdHlsZVByb3BlcnRpZXM+KG1f
cHJvcGVydGllcy5nZXQoKSk7Cit9CisKIERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0OjpEZWZl
cnJlZFN0eWxlR3JvdXBSdWxlTGlzdChjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwg
Q1NTRGVmZXJyZWRQYXJzZXImIHBhcnNlcikKICAgICA6IG1fcGFyc2VyKHBhcnNlcikKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJ1bGUuaAppbmRleCAxNTYyYzc5MjY3ZWE2NGQyMTcwMWI5ZGY3NTdjMDM1MjU5
MGY5NzFiLi45ZWIzMTQwOWY4ZmI4ZjAzOWQxZDVhYmI1OGE0MmNjNDY5NTZkMmE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUnVsZS5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFy
cyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyICht
dWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTUyLDYgKzUyLDcg
QEAgcHVibGljOgogICAgIGJvb2wgaXNDaGFyc2V0UnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUo
KSA9PSBTdHlsZVJ1bGVUeXBlOjpDaGFyc2V0OyB9CiAgICAgYm9vbCBpc0NvdW50ZXJTdHlsZVJ1
bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlwZTo6Q291bnRlclN0eWxl
OyB9CiAgICAgYm9vbCBpc0ZvbnRGYWNlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBT
dHlsZVJ1bGVUeXBlOjpGb250RmFjZTsgfQorICAgIGJvb2wgaXNGb250UGFsZXR0ZVZhbHVlc1J1
bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVW
YWx1ZXM7IH0KICAgICBib29sIGlzS2V5ZnJhbWVzUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUo
KSA9PSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZXM7IH0KICAgICBib29sIGlzS2V5ZnJhbWVSdWxl
KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lOyB9CiAg
ICAgYm9vbCBpc05hbWVzcGFjZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVS
dWxlVHlwZTo6TmFtZXNwYWNlOyB9CkBAIC0xNTUsNiArMTU2LDM0IEBAIHByaXZhdGU6CiAgICAg
UmVmPFN0eWxlUHJvcGVydGllcz4gbV9wcm9wZXJ0aWVzOwogfTsKIAorY2xhc3MgU3R5bGVSdWxl
Rm9udFBhbGV0dGVWYWx1ZXMgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gY3JlYXRlKGNvbnN0
IEF0b21TdHJpbmcmIG5hbWUsIFJlZjxTdHlsZVByb3BlcnRpZXM+JiYgcHJvcGVydGllcykgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhuYW1lLCBXVEZN
b3ZlKHByb3BlcnRpZXMpKSk7IH0KKyAgICAKKyAgICB+U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXMoKTsKKworICAgIGNvbnN0IEF0b21TdHJpbmcmIG5hbWUoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fbmFtZTsKKyAgICB9CisKKyAgICBjb25zdCBTdHlsZVByb3BlcnRpZXMmIHBy
b3BlcnRpZXMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fcHJvcGVydGllczsKKyAg
ICB9CisKKyAgICBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBtdXRhYmxlUHJvcGVydGllcygpOwor
CisgICAgUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBjb3B5KCkgY29uc3QgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygqdGhpcykpOyB9CisK
K3ByaXZhdGU6CisgICAgZXhwbGljaXQgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoY29uc3Qg
QXRvbVN0cmluZyYgbmFtZSwgUmVmPFN0eWxlUHJvcGVydGllcz4mJik7CisgICAgU3R5bGVSdWxl
Rm9udFBhbGV0dGVWYWx1ZXMoY29uc3QgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmKTsKKwor
ICAgIEF0b21TdHJpbmcgbV9uYW1lOworICAgIFJlZjxTdHlsZVByb3BlcnRpZXM+IG1fcHJvcGVy
dGllczsKK307CisKIGNsYXNzIFN0eWxlUnVsZVBhZ2UgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxl
QmFzZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVQYWdlPiBjcmVhdGUoUmVm
PFN0eWxlUHJvcGVydGllcz4mJiwgQ1NTU2VsZWN0b3JMaXN0JiYpOwpAQCAtMzU3LDYgKzM4Niwx
MCBAQCBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZUZvbnRG
YWNlKQogICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1bGVCYXNl
JiBydWxlKSB7IHJldHVybiBydWxlLmlzRm9udEZhY2VSdWxlKCk7IH0KIFNQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfRU5EKCkKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpT
dHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcykKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3Qg
V2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0ZvbnRQYWxldHRl
VmFsdWVzUnVsZSgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCisKIFNQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxlTWVkaWEpCiAgICAgc3RhdGlj
IGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0dXJu
IHJ1bGUuaXNNZWRpYVJ1bGUoKTsgfQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmgKaW5kZXggYzllNTE4ZGJlNjFiNzM1YjZkN2ExYTdmZjYy
NDNjZDk4MTVjYzViZC4uYWNiMWY5YjNkZGQ5ZTdlNzRkNjAxNmM5MzRlMDBkMmVlZWNlNWFkOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlVHlwZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTkgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDEsNiArNDEsNyBAQCBlbnVtIGNsYXNz
IFN0eWxlUnVsZVR5cGUgOiB1aW50OF90IHsKICAgICBDb3VudGVyU3R5bGUgPSAxMSwKICAgICBT
dXBwb3J0cyA9IDEyLAogICAgIExheWVyID0gMTMsCisgICAgRm9udFBhbGV0dGVWYWx1ZXMgPSAx
NCwKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
U2hlZXRDb250ZW50cy5jcHAKaW5kZXggMzI4NDk3NDg1MzVhMGQ3NjQ2OTAzMDczY2MyNGRjMTg2
NmRiMDRjZS4uYTZlOTcxYzYyNjM2NmJiYTAwZTdkNWVlZDhkNTIzMGU3ODYzZWM5ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKQEAgLTEsNiArMSw2IEBACiAv
KgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJp
Z2h0IChDKSAyMDA0LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDA0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCkBAIC00MzYsNiArNDM2LDcgQEAgc3RhdGljIGJvb2wgdHJhdmVyc2VS
dWxlc0luVmVjdG9yKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiBydWxlcywg
Y28KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlN0eWxl
OgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOgorICAgICAgICBjYXNlIFN0
eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5
cGU6OlBhZ2U6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWVzOgogICAgICAg
ICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok5hbWVzcGFjZToKQEAgLTQ4Niw2ICs0ODcsNyBAQCBib29s
IFN0eWxlU2hlZXRDb250ZW50czo6dHJhdmVyc2VTdWJyZXNvdXJjZXMoY29uc3QgV1RGOjpGdW5j
dGlvbjxib29sIChjb25zdCBDYQogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OktleWZyYW1l
OgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlN1cHBvcnRzOgogICAgICAgICBjYXNlIFN0
eWxlUnVsZVR5cGU6OkxheWVyOgorICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxl
dHRlVmFsdWVzOgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9OwogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTQXRSdWxlSUQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1
bGVJRC5jcHAKaW5kZXggMDgyNTcyMzhjOGIzNThlNTNiZmEyN2UyYWI2YmVjY2Q1YTZkMmU5OS4u
OWNlMzUxZDE2YmE4NzE1MjY1MGUzZWI0NjAzZGFmNjI0NDEzMGM2YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAKQEAgLTEsNSArMSw1IEBACiAvLyBDb3B5cmln
aHQgMjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5
cmlnaHQgKEMpIDIwMTYgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8v
CiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM4LDYgKzM4LDggQEAgQ1NTQXRS
dWxlSUQgY3NzQXRSdWxlSUQoU3RyaW5nVmlldyBuYW1lKQogICAgICAgICByZXR1cm4gQ1NTQXRS
dWxlQ2hhcnNldDsKICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiZm9udC1m
YWNlIikpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVGb250RmFjZTsKKyAgICBpZiAoZXF1YWxJ
Z25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiZm9udC1wYWxldHRlLXZhbHVlcyIpKQorICAgICAgICBy
ZXR1cm4gQ1NTQXRSdWxlRm9udFBhbGV0dGVWYWx1ZXM7CiAgICAgaWYgKGVxdWFsSWdub3JpbmdB
U0NJSUNhc2UobmFtZSwgImltcG9ydCIpKQogICAgICAgICByZXR1cm4gQ1NTQXRSdWxlSW1wb3J0
OwogICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG5hbWUsICJrZXlmcmFtZXMiKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaAppbmRleCAzMzBmNmNiZTJlMjViM2Rj
Y2YwZTcyOWU0NDg5OWYxODk0MTVhN2JlLi41ZTRkNDM1MzMyZDYxMjNjNzFiYjhkM2MzYzI1M2Fi
NzcxMzI5ZjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVs
ZUlELmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5oCkBAIC0x
LDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTUgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAyMDE2IC0gMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBA
IC00OSw2ICs0OSw4IEBAIGVudW0gQ1NTQXRSdWxlSUQgewogICAgIENTU0F0UnVsZUFwcGx5ID0g
MTEsCiAgICAgQ1NTQXRSdWxlQ291bnRlclN0eWxlID0gMTIsCiAgICAgQ1NTQXRSdWxlTGF5ZXIg
PSAxMywKKworICAgIENTU0F0UnVsZUZvbnRQYWxldHRlVmFsdWVzID0gMTQsCiB9OwogCiBDU1NB
dFJ1bGVJRCBjc3NBdFJ1bGVJRChTdHJpbmdWaWV3IG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKaW5kZXggZTViNzQzMDJlMGNlNGM1YWJkNjE2ZWM0
NTcxYjYyYzRmZmM3ZTUxOS4uNDg2YWEyMGI5YWQxYjM1NTIxMmMyZDhlODZmZTVmYzVkYjFjODJk
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC00NDUsNiArNDQ1LDggQEAgUmVmUHRyPFN0eWxlUnVsZUJhc2U+IENTU1BhcnNlckltcGw6
OmNvbnN1bWVBdFJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIEEKICAgICAgICAgcmV0
dXJuIGNvbnN1bWVTdXBwb3J0c1J1bGUocHJlbHVkZSwgYmxvY2spOwogICAgIGNhc2UgQ1NTQXRS
dWxlRm9udEZhY2U6CiAgICAgICAgIHJldHVybiBjb25zdW1lRm9udEZhY2VSdWxlKHByZWx1ZGUs
IGJsb2NrKTsKKyAgICBjYXNlIENTU0F0UnVsZUZvbnRQYWxldHRlVmFsdWVzOgorICAgICAgICBy
ZXR1cm4gY29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZShwcmVsdWRlLCBibG9jayk7CiAgICAg
Y2FzZSBDU1NBdFJ1bGVXZWJraXRLZXlmcmFtZXM6CiAgICAgICAgIHJldHVybiBjb25zdW1lS2V5
ZnJhbWVzUnVsZSh0cnVlLCBwcmVsdWRlLCBibG9jayk7CiAgICAgY2FzZSBDU1NBdFJ1bGVLZXlm
cmFtZXM6CkBAIC02NTIsNiArNjU0LDI0IEBAIFJlZlB0cjxTdHlsZVJ1bGVGb250RmFjZT4gQ1NT
UGFyc2VySW1wbDo6Y29uc3VtZUZvbnRGYWNlUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlCiAgICAg
cmV0dXJuIFN0eWxlUnVsZUZvbnRGYWNlOjpjcmVhdGUoY3JlYXRlU3R5bGVQcm9wZXJ0aWVzKG1f
cGFyc2VkUHJvcGVydGllcywgbV9jb250ZXh0Lm1vZGUpKTsKIH0KIAorUmVmUHRyPFN0eWxlUnVs
ZUZvbnRQYWxldHRlVmFsdWVzPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lRm9udFBhbGV0dGVWYWx1
ZXNSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBi
bG9jaykKK3sKKyAgICBhdXRvIG5hbWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1
bWVDdXN0b21JZGVudChwcmVsdWRlKTsKKyAgICBpZiAoIXByZWx1ZGUuYXRFbmQoKSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7IC8vIFBhcnNlIGVycm9yOyBleHBlY3RlZCBjdXN0b20gaWRlbnQg
aW4gQGZvbnQtcGFsZXR0ZS12YWx1ZXMgaGVhZGVyCisKKyAgICBpZiAobV9vYnNlcnZlcldyYXBw
ZXIpIHsKKyAgICAgICAgdW5zaWduZWQgZW5kT2Zmc2V0ID0gbV9vYnNlcnZlcldyYXBwZXItPmVu
ZE9mZnNldChwcmVsdWRlKTsKKyAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCku
c3RhcnRSdWxlSGVhZGVyKFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzLCBtX29ic2Vy
dmVyV3JhcHBlci0+c3RhcnRPZmZzZXQocHJlbHVkZSkpOworICAgICAgICBtX29ic2VydmVyV3Jh
cHBlci0+b2JzZXJ2ZXIoKS5lbmRSdWxlSGVhZGVyKGVuZE9mZnNldCk7CisgICAgICAgIG1fb2Jz
ZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigpLnN0YXJ0UnVsZUJvZHkoZW5kT2Zmc2V0KTsKKyAgICAg
ICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5kUnVsZUJvZHkoZW5kT2Zmc2V0KTsK
KyAgICB9CisKKyAgICBjb25zdW1lRGVjbGFyYXRpb25MaXN0KGJsb2NrLCBTdHlsZVJ1bGVUeXBl
OjpGb250UGFsZXR0ZVZhbHVlcyk7CisgICAgcmV0dXJuIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFs
dWVzOjpjcmVhdGUobmFtZS0+c3RyaW5nVmFsdWUoKSwgY3JlYXRlU3R5bGVQcm9wZXJ0aWVzKG1f
cGFyc2VkUHJvcGVydGllcywgbV9jb250ZXh0Lm1vZGUpKTsKK30KKwogUmVmUHRyPFN0eWxlUnVs
ZUtleWZyYW1lcz4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZUtleWZyYW1lc1J1bGUoYm9vbCB3ZWJr
aXRQcmVmaXhlZCwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJh
bmdlIGJsb2NrKQogewogICAgIENTU1BhcnNlclRva2VuUmFuZ2UgcmFuZ2VDb3B5ID0gcHJlbHVk
ZTsgLy8gRm9yIGluc3BlY3RvciBjYWxsYmFja3MKQEAgLTk2MSw3ICs5ODEsNyBAQCB2b2lkIENT
U1BhcnNlckltcGw6OmNvbnN1bWVEZWNsYXJhdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlIHJhbmdl
LCBTdHlsZVJ1bGVUeXBlCiAgICAgICAgIGNvbnN1bWVDdXN0b21Qcm9wZXJ0eVZhbHVlKHJhbmdl
Lm1ha2VTdWJSYW5nZSgmcmFuZ2UucGVlaygpLCBkZWNsYXJhdGlvblZhbHVlRW5kKSwgdmFyaWFi
bGVOYW1lLCBpbXBvcnRhbnQpOwogICAgIH0KIAotICAgIGlmIChpbXBvcnRhbnQgJiYgKHJ1bGVU
eXBlID09IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5
cGU6OktleWZyYW1lIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZSkp
CisgICAgaWYgKGltcG9ydGFudCAmJiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udEZh
Y2UgfHwgcnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWUgfHwgcnVsZVR5cGUgPT0g
U3R5bGVSdWxlVHlwZTo6Q291bnRlclN0eWxlIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6
OkZvbnRQYWxldHRlVmFsdWVzKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHByb3BlcnR5
SUQgIT0gQ1NTUHJvcGVydHlJbnZhbGlkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQYXJzZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Bh
cnNlckltcGwuaAppbmRleCAxNmM0YzNkMTlmNTA4YzEwMjFmNTFiNGMzNWI3NDA1OWRlNTA0NTQ3
Li5lMjVmZTVlMmE3NTI4Y2FiNDM0YTllZWI4NmE4ZDFjZDdhZmFhM2FkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuaApAQCAtMSw1ICsxLDUgQEAKIC8vIENvcHly
aWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8g
Q29weXJpZ2h0IChDKSAyMDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gQ29weXJpZ2h0IChDKSAyMDE2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogLy8KIC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTEsNiArNTEsNyBAQCBj
bGFzcyBTdHlsZVJ1bGU7CiBjbGFzcyBTdHlsZVJ1bGVCYXNlOwogY2xhc3MgU3R5bGVSdWxlQ2hh
cnNldDsKIGNsYXNzIFN0eWxlUnVsZUZvbnRGYWNlOworY2xhc3MgU3R5bGVSdWxlRm9udFBhbGV0
dGVWYWx1ZXM7CiBjbGFzcyBTdHlsZVJ1bGVJbXBvcnQ7CiBjbGFzcyBTdHlsZVJ1bGVLZXlmcmFt
ZXM7CiBjbGFzcyBTdHlsZVJ1bGVMYXllcjsKQEAgLTEzMyw2ICsxMzQsNyBAQCBwcml2YXRlOgog
ICAgIFJlZlB0cjxTdHlsZVJ1bGVTdXBwb3J0cz4gY29uc3VtZVN1cHBvcnRzUnVsZShDU1NQYXJz
ZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJl
ZlB0cjxTdHlsZVJ1bGVWaWV3cG9ydD4gY29uc3VtZVZpZXdwb3J0UnVsZShDU1NQYXJzZXJUb2tl
blJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxT
dHlsZVJ1bGVGb250RmFjZT4gY29uc3VtZUZvbnRGYWNlUnVsZShDU1NQYXJzZXJUb2tlblJhbmdl
IHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOworICAgIFJlZlB0cjxTdHlsZVJ1
bGVGb250UGFsZXR0ZVZhbHVlcz4gY29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZShDU1NQYXJz
ZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJl
ZlB0cjxTdHlsZVJ1bGVLZXlmcmFtZXM+IGNvbnN1bWVLZXlmcmFtZXNSdWxlKGJvb2wgd2Via2l0
UHJlZml4ZWQsIENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5n
ZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZVBhZ2U+IGNvbnN1bWVQYWdlUnVsZShDU1NQ
YXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAg
IFJlZlB0cjxTdHlsZVJ1bGVDb3VudGVyU3R5bGU+IGNvbnN1bWVDb3VudGVyU3R5bGVSdWxlKENT
U1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jayk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4
IDdkMzMzMGI4MWVhMzMzNjQ3MjM0NGU1MTBmZDA1OGVhY2MyNTExNzMuLjA2ODYyMjM3MzExZGU0
YzVmOWZmZTYzNDUzMDRjZDBjMGQ2MjdiMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAi
Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlU3JjVmFsdWUu
aCIKICNpbmNsdWRlICJDU1NGb250RmVhdHVyZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKICNpZiBFTkFCTEUoVkFSSUFUSU9OX0ZP
TlRTKQogI2luY2x1ZGUgIkNTU0ZvbnRWYXJpYXRpb25WYWx1ZS5oIgogI2VuZGlmCkBAIC0yMzMs
NiArMjM0LDggQEAgYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0
eUlEIHByb3BlcnR5SUQsIGJvb2wgaW1wb3J0YW50LCBjb24KIAogICAgIGlmIChydWxlVHlwZSA9
PSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZSkKICAgICAgICAgcGFyc2VTdWNjZXNzID0gcGFyc2Vy
LnBhcnNlRm9udEZhY2VEZXNjcmlwdG9yKHByb3BlcnR5SUQpOworICAgIGVsc2UgaWYgKHJ1bGVU
eXBlID09IFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzKQorICAgICAgICBwYXJzZVN1
Y2Nlc3MgPSBwYXJzZXIucGFyc2VGb250UGFsZXR0ZVZhbHVlc0Rlc2NyaXB0b3IocHJvcGVydHlJ
RCk7CiAgICAgZWxzZSBpZiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Q291bnRlclN0eWxl
KQogICAgICAgICBwYXJzZVN1Y2Nlc3MgPSBwYXJzZXIucGFyc2VDb3VudGVyU3R5bGVEZXNjcmlw
dG9yKHByb3BlcnR5SUQsIGNvbnRleHQpOwogICAgIGVsc2UKQEAgLTQ4MzgsNiArNDg0MSw2MiBA
QCBib29sIENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZUZvbnRGYWNlRGVzY3JpcHRvcihDU1NQcm9w
ZXJ0eUlEIHByb3BJZCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIFJlZlB0cjxDU1NQ
cmltaXRpdmVWYWx1ZT4gY29uc3VtZUJhc2VQYWxldHRlRGVzY3JpcHRvcihDU1NQYXJzZXJUb2tl
blJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSA9PSBTdHJpbmdU
b2tlbikKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVTdHJpbmcocmFuZ2UpOworICAgIHJldHVybiBj
b25zdW1lSW50ZWdlcihyYW5nZSk7Cit9CisKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBj
b25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2Us
IGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgUmVmUHRyPENTU1ZhbHVl
TGlzdD4gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKKyAgICBk
byB7CisgICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4ga2V5OworICAgICAgICBpZiAo
cmFuZ2UucGVlaygpLnR5cGUoKSA9PSBTdHJpbmdUb2tlbikKKyAgICAgICAgICAgIGtleSA9IGNv
bnN1bWVTdHJpbmcocmFuZ2UpOworICAgICAgICBrZXkgPSBjb25zdW1lSW50ZWdlcihyYW5nZSk7
CisgICAgICAgIGlmICgha2V5KQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAg
ICAgYXV0byBjb2xvciA9IGNvbnN1bWVDb2xvcihyYW5nZSwgY29udGV4dCk7CisgICAgICAgIGlm
ICghY29sb3IpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBSZWZQdHI8
Q1NTVmFsdWU+IHZhbHVlID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU6
OmNyZWF0ZShrZXkucmVsZWFzZU5vbk51bGwoKSwgY29sb3IucmVsZWFzZU5vbk51bGwoKSk7Cisg
ICAgICAgIGxpc3QtPmFwcGVuZCh2YWx1ZS5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICB9IHdoaWxl
IChjb25zdW1lQ29tbWFJbmNsdWRpbmdXaGl0ZXNwYWNlKHJhbmdlKSk7CisgICAgCisgICAgaWYg
KCFyYW5nZS5hdEVuZCgpIHx8ICFsaXN0LT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICByZXR1cm4gbGlzdDsKK30KKworYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFy
c2VGb250UGFsZXR0ZVZhbHVlc0Rlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCBwcm9wSWQpCit7Cisg
ICAgUmVmUHRyPENTU1ZhbHVlPiBwYXJzZWRWYWx1ZTsKKyAgICBzd2l0Y2ggKHByb3BJZCkgewor
ICAgIGNhc2UgQ1NTUHJvcGVydHlGb250RmFtaWx5OgorICAgICAgICBwYXJzZWRWYWx1ZSA9IGNv
bnN1bWVGb250RmFtaWx5RGVzY3JpcHRvcihtX3JhbmdlKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eUJhc2VQYWxldHRlOgorICAgICAgICBwYXJzZWRWYWx1ZSA9IGNvbnN1
bWVCYXNlUGFsZXR0ZURlc2NyaXB0b3IobV9yYW5nZSk7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgQ1NTUHJvcGVydHlPdmVycmlkZUNvbG9yOgorICAgICAgICBwYXJzZWRWYWx1ZSA9IGNvbnN1
bWVPdmVycmlkZUNvbG9yRGVzY3JpcHRvcihtX3JhbmdlLCBtX2NvbnRleHQpOworICAgICAgICBi
cmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoIXBh
cnNlZFZhbHVlIHx8ICFtX3JhbmdlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIGFkZFByb3BlcnR5KHByb3BJZCwgQ1NTUHJvcGVydHlJbnZhbGlkLCAqcGFyc2VkVmFsdWUs
IGZhbHNlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6
Y29uc3VtZVN5c3RlbUZvbnQoYm9vbCBpbXBvcnRhbnQpCiB7CiAgICAgQ1NTVmFsdWVJRCBzeXN0
ZW1Gb250SUQgPSBtX3JhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCkuaWQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaAppbmRleCAyN2Fj
MzU5MzdjYzJmYTVhYzdjMmYyMzA0MGUzMDEwYjUwODE3MTM5Li5kODc0MDk4ZmRjNDg5ZTJlYzRh
YzVlMTYzYWQ0ZTFlMmQ5MjNjYWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1Byb3BlcnR5UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQcm9wZXJ0eVBhcnNlci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDA0LCAy
MDA1LCAyMDA2LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNCAtIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdl
YmtpdC5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgLSAyMDEwICBUb3JjaCBNb2JpbGUgKEJl
aWppbmcpIENvLiBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtNzMsNiArNzMsNyBA
QCBwcml2YXRlOgogCiAgICAgYm9vbCBwYXJzZVZpZXdwb3J0RGVzY3JpcHRvcihDU1NQcm9wZXJ0
eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogICAgIGJvb2wgcGFyc2VGb250RmFjZURlc2Ny
aXB0b3IoQ1NTUHJvcGVydHlJRCk7CisgICAgYm9vbCBwYXJzZUZvbnRQYWxldHRlVmFsdWVzRGVz
Y3JpcHRvcihDU1NQcm9wZXJ0eUlEKTsKICAgICBib29sIHBhcnNlQ291bnRlclN0eWxlRGVzY3Jp
cHRvcihDU1NQcm9wZXJ0eUlELCBjb25zdCBDU1NQYXJzZXJDb250ZXh0Jik7CiAKICAgICB2b2lk
IGFkZFByb3BlcnR5KENTU1Byb3BlcnR5SUQsIENTU1Byb3BlcnR5SUQsIFJlZjxDU1NWYWx1ZT4m
JiwgYm9vbCBpbXBvcnRhbnQsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438407</attachid>
            <date>2021-09-16 15:34:28 -0700</date>
            <delta_ts>2021-09-16 23:11:07 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-230337-20210916153427.patch</filename>
            <type>text/plain</type>
            <size>54798</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmM4MGMwMDY0YTA1MmFk
MWU0NjkwMTIxMzdjZGJlMjY3YjlmYTE2YS4uYTlkMWJlMzlmMWI0ZGY5YWFkMTYzZWFjMTg5YmNl
YjdkYzQ4ODlkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDIxLTA5LTE2ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUGFyc2luZyBz
dXBwb3J0IGZvciBmb250LXBhbGV0dGUtdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAg
ICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3Bl
cnR5SW5TdHlsZSk6CisgICAgICAgICogY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVD
b2xvclZhbHVlLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5
cGUuaC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xv
clZhbHVlOjpjdXN0b21DU1NUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQ
YWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlOjplcXVhbHMgY29uc3QpOgorICAgICAgICAq
IGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlVHlwZS5oLgorICAgICAgICAqIGNzcy9DU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6fkNTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnN0eWxl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3NzVGV4dCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnJlYXR0
YWNoKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmg6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmguCisgICAgICAgICogY3NzL0NT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGw6IEFkZGVkLgorICAgICAgICAqIGNzcy9DU1NQcm9w
ZXJ0aWVzLmpzb246CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUnVsZVNvdXJjZURhdGE6OkNTU1J1bGVTb3VyY2VEYXRhKToKKyAg
ICAgICAgKiBjc3MvQ1NTUnVsZS5jcHA6CisgICAgICAgICogY3NzL0NTU1J1bGUuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmVxdWFs
cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Y3NzVGV4dCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAgICAgICogY3NzL0NTU1Zh
bHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZSBjb25zdCk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUnVsZUJhc2U6OmNvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6bXV0YWJsZVByb3Bl
cnRpZXMpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZUJhc2U6OmlzRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGNvbnN0KToKKyAgICAgICAgKGlz
VHlwZSk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZVR5cGUuaDoKKyAgICAgICAgKiBjc3MvU3R5
bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRyYXZlcnNlUnVsZXNJblZl
Y3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVNoZWV0Q29udGVudHM6OnRyYXZlcnNlU3Vi
cmVzb3VyY2VzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmNzc0F0UnVsZUlEKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NT
U0F0UnVsZUlELmg6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVBdFJ1bGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6Y29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJJbXBsOjpjb25zdW1lRGVjbGFyYXRpb24pOgorICAg
ICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oOgorICAgICAgICAqIGNzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJz
ZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVz
Y3JpcHRvcik6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0
b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udFBhbGV0
dGVWYWx1ZXNEZXNjcmlwdG9yKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VyLmg6CisKIDIwMjEtMDktMTUgIFBoaWxpcCBDaGltZW50byAgPHBjaGltZW50b0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIEZpeGVzIGZvciBidWlsZC13ZWJraXQgLS1taW5pbWFsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBiOGM2YWZm
YTFlYzUwZDYwMTgyMDM2Y2M4NDNkOTAxNjFhZGQwOGZmLi4wNDRhNmEyYWM3YmNkODYzNzhiYTA1
NTg3YjM1MDgxZmRiMGUzM2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKQEAgLTY4MSw2ICs2ODEsNyBAQCAkKFBST0pFQ1RfRElSKS9jcnlw
dG8vcGFyYW1ldGVycy9Sc2FQc3NQYXJhbXMuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTQ29u
ZGl0aW9uUnVsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlk
bAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKKyQoUFJPSkVDVF9ESVIp
L2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NT
R3JvdXBpbmdSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAk
KFBST0pFQ1RfRElSKS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA1ZjRmMGQ1OWQ2NDJjYzg5
OTM4ODE3M2I0Mzg3OTRjMmRjMjE3YTlhLi5lZTI3ZDQwZjZiMGM4MGNiMzM0MmJmNWI3YzZhMmQx
NjUyMDY5NjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdApAQCAtMzAwLDYgKzMwMCw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRG
YWNlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ1NTRm9udEZhY2VSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NHcm91
cGluZ1J1bGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0NTU0dyb3VwaW5nUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQppbmRleCBjZDQzY2FhYjQyMzQ5MzI5NjdmZTNmZjg4MzRmZjMwN2NjYmUxZTEzLi4yYWUwZjBj
OGI5YWNlZmY2NGMwOWRlN2Y0YmMxYmZkMmI5ZDk2MjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVs
IFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1l
cm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTU3NCw2ICs1NzQsNyBAQCBKU19C
SU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRs
IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTR3JvdXBp
bmdSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvY3NzL0NTU0tleWZyYW1lUnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBh
ZGQyNzJjYTJjNjY0Y2FkMTdiOWI4NzE0ZGFhMWI4YjA3NzAzYTE4Li5lNGZkNTQ1MmZmMmNmNzhl
MjlhMGRmZjliYThjZWZhZDYxMjE5Njk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMSw0ICsxLDQgQEAK
LS8vIENvcHlyaWdodCAoQykgMjAxNy0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNy0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjU3LDYgKzY1Nyw4IEBA
IGNzcy9DU1NGb250RmFjZVNldC5jcHAKIGNzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAKIGNzcy9D
U1NGb250RmFjZVNyY1ZhbHVlLmNwcAogY3NzL0NTU0ZvbnRGZWF0dXJlVmFsdWUuY3BwCitjc3Mv
Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwCitjc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlLmNwcAogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKIGNzcy9DU1NGb250
U3R5bGVSYW5nZVZhbHVlLmNwcAogY3NzL0NTU0ZvbnRTdHlsZVZhbHVlLmNwcApAQCAtMjgwOSw2
ICsyODExLDcgQEAgSlNDU1NBbmltYXRpb24uY3BwCiBKU0NTU0NvbmRpdGlvblJ1bGUuY3BwCiBK
U0NTU0NvdW50ZXJTdHlsZVJ1bGUuY3BwCiBKU0NTU0ZvbnRGYWNlUnVsZS5jcHAKK0pTQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlLmNwcAogSlNDU1NHcm91cGluZ1J1bGUuY3BwCiBKU0NTU0ltcG9y
dFJ1bGUuY3BwCiBKU0NTU0tleWZyYW1lUnVsZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxZGIxYzY2MTYyOThmMTdmOWMx
OWE5NTk1ZDY1ZjYyNWQ1MzRhNmJkLi5kZDM3ZTU2ZDc5MjM4ZjI5OTdiMGE2ZTQyNjBmMThiMTU4
OGIzYWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC02NjIsNiArNjYyLDcgQEAKIAkJMUNFODg2NDEyNjEwNUJGMjAwMEM4MTZD
IC8qIEluTWVtb3J5RGlzcGxheUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDRTg4NjNGMjYxMDVBNUYwMDBDODE2QyAvKiBJbk1lbW9yeURpc3Bs
YXlMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMUNFOEQxMjcyNjE4NUMwRTAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlbUJ1ZmZlcklkZW50
aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFD
RThEMTI1MjYxODVCRDgwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJZGVudGlmaWVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUNF
OEQxMkUyNjE4NjFDNDAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlcmF0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRThEMTJDMjYxODYxNjQwMEZD
M0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUNFQUE1MzIyNkYzMzZGQzAwODY4NTA3IC8qIENTU0Zv
bnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0VBQTUzMTI2RjMzMUMxMDA4Njg1MDcgLyogQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCAqLzsgfTsKIAkJMUNGQUUzMjMw
QTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0QgLyogbGli
b2JqYy5keWxpYiAqLzsgfTsKIAkJMUQwMDI2QTQyMzc0RDYyNDAwQ0E2Q0RGIC8qIEpTUGljdHVy
ZUluUGljdHVyZVdpbmRvdy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUQwMDI2QTIyMzc0RDYyMzAwQ0E2Q0RGIC8qIEpTUGljdHVyZUluUGljdHVyZVdp
bmRvdy5oICovOyB9OwogCQkxRDAwMjZBQTIzNzRGOUVBMDBDQTZDREYgLyogSlNFbnRlclBpY3R1
cmVJblBpY3R1cmVFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUQwMDI2QTgyMzc0RjlEOTAwQ0E2Q0RGIC8qIEpTRW50ZXJQaWN0dXJlSW5QaWN0
dXJlRXZlbnQuaCAqLzsgfTsKQEAgLTcwNTYsNiArNzA1NywxMSBAQAogCQkxQ0U4RDEyNTI2MTg1
QkQ4MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDRThEMTJCMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0
ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlMaXN0SXRlcmF0b3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0U4RDEyQzI2MTg2MTY0MDBGQzNBRUYgLyog
RGlzcGxheUxpc3RJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZXJhdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUw
NyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUNFQUE1MkQyNkYzMUEzQzAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MkYyNkYzMUFGODAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MzAyNkYzMzFDMTAwODY4NTA3IC8qIENTU0Zv
bnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MzEyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDRjBCRkQ0MjI5ODcwNjgwMEVEMjA3NCAvKiBUZXh0U2l6ZUFkanVzdG1lbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gVGV4dFNpemVBZGp1c3RtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUNGMThGM0MyNkJCNUFGMjAwNEIxNzIyIC8qIExvZ0luaXRpYWxpemF0
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvZ0luaXRpYWxpemF0aW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGQUUzMjIwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9i
amMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAv
dXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAt
Mjk0NzksNiArMjk0ODUsMTEgQEAKIAkJCQk4MzUyMEM3RDFBNzFCRkNDMDA2QkQyQUEgLyogQ1NT
Rm9udEZhbWlseS5oICovLAogCQkJCTRBNkU5RkMxMTNDMTdEMUQwMDQ2QTdGOCAvKiBDU1NGb250
RmVhdHVyZVZhbHVlLmNwcCAqLywKIAkJCQk0QTZFOUZDMjEzQzE3RDFEMDA0NkE3RjggLyogQ1NT
Rm9udEZlYXR1cmVWYWx1ZS5oICovLAorCQkJCTFDRUFBNTMwMjZGMzMxQzEwMDg2ODUwNyAvKiBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAgKi8sCisJCQkJMUNFQUE1
MzEyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZh
bHVlLmggKi8sCisJCQkJMUNFQUE1MkMyNkYzMUEzQzAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5jcHAgKi8sCisJCQkJMUNFQUE1MkQyNkYzMUEzQzAwODY4NTA3IC8qIENTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZS5oICovLAorCQkJCTFDRUFBNTJGMjZGMzFBRjgwMDg2ODUwNyAv
KiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsICovLAogCQkJCUJDNjRCNEQzMENCNDI5OEEw
MDVGMkI2MiAvKiBDU1NGb250U2VsZWN0b3IuY3BwICovLAogCQkJCUJDNjRCNEQ0MENCNDI5OEEw
MDVGMkI2MiAvKiBDU1NGb250U2VsZWN0b3IuaCAqLywKIAkJCQlDMkUzOEVGRjFFODQ1NzM1MDBD
QTNBREYgLyogQ1NTRm9udFN0eWxlUmFuZ2VWYWx1ZS5jcHAgKi8sCkBAIC0zMTg1Myw2ICszMTg2
NCw3IEBACiAJCQkJQkM2NEI0REEwQ0I0Mjk4QTAwNUYyQjYyIC8qIENTU0ZvbnRGYWNlU3JjVmFs
dWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNTIwQzdFMUE3MUJGQ0MwMDZCRDJBQSAvKiBDU1NG
b250RmFtaWx5LmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTZFOUZDNDEzQzE3RDFEMDA0NkE3Rjgg
LyogQ1NTRm9udEZlYXR1cmVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUNFQUE1MzIyNkYz
MzZGQzAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzY0QjREQzBDQjQyOThBMDA1RjJCNjIgLyogQ1NTRm9udFNl
bGVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMkUzOEYwMjFFODQ1NzM1MDBDQTNBREYgLyog
Q1NTRm9udFN0eWxlUmFuZ2VWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJFMzhFRkUxRTgz
OTZGRDAwQ0EzQURGIC8qIENTU0ZvbnRTdHlsZVZhbHVlLmggaW4gSGVhZGVycyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5k
ZXggNWUwYTNkMzM4YTFkYjQ3ZjNmZWI0MWEzMzhhMmFhMGUxY2M3M2Q2YS4uNWQ5ZTRlYjZkODU5
ZTkyYTllMzVhMzY0MjBmM2YyM2Y1ZGFiZGNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTQwNTQsNiArNDA1NCwxMSBA
QCBSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVy
dHlJblN0eWxlKGNvbnN0IFJlbmRlclN0eQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udERp
c3BsYXk6CiAgICAgICAgICAgICBicmVhazsKIAorICAgICAgICAvKiBVbmltcGxlbWVudGVkIEBm
b250LXBhbGV0dGUtdmFsdWVzIHByb3BlcnRpZXMgKi8KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eUJhc2VQYWxldHRlOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3ZlcnJpZGVDb2xvcjoKKyAg
ICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIC8qIE90aGVyIHVuaW1wbGVtZW50ZWQgcHJvcGVy
dGllcyAqLwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5UGFnZTogLy8gZm9yIEBwYWdlCiAgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlTaXplOiAvLyBmb3IgQHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFs
dWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM2ZDQ2YzJhMTFmYWJmZDFmMjc1MDdmNGIzMzMxMzdlNjY0Yjdm
M2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNv
bG9yVmFsdWU6OmN1c3RvbUNTU1RleHQoKSBjb25zdAoreworICAgIHJldHVybiBtYWtlU3RyaW5n
KG1fa2V5LT5jc3NUZXh0KCksICIgIiwgbV9jb2xvci0+Y3NzVGV4dCgpKTsKK30KKworYm9vbCBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU0Zv
bnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlJiBvdGhlcikgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9rZXktPmVxdWFscyhvdGhlci5rZXkoKSkgJiYgbV9jb2xvci0+ZXF1YWxzKG90aGVy
LmNvbG9yKCkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3MTkw
YmJjOTI3MDJkYjNhNjk5MGE3Yzk4YWVhZjIxNDRiZjZmN2EKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUu
aApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25z
LmgiCisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVkRm9udDsKK2NsYXNz
IEZvbnRMb2FkUmVxdWVzdDsKK2NsYXNzIFNWR0ZvbnRGYWNlRWxlbWVudDsKK2NsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVD
b2xvclZhbHVlIGZpbmFsIDogcHVibGljIENTU1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UmVmPENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPiBjcmVhdGUoUmVmPENT
U1ByaW1pdGl2ZVZhbHVlPiYmIGtleSwgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIGNvbG9yKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNP
dmVycmlkZUNvbG9yVmFsdWUoV1RGTW92ZShrZXkpLCBXVEZNb3ZlKGNvbG9yKSkpOworICAgIH0K
KworICAgIGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBrZXkoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fa2V5LmdldCgpOworICAgIH0KKworICAgIGNvbnN0IENTU1ByaW1pdGl2ZVZh
bHVlJiBjb2xvcigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9jb2xvci5nZXQoKTsK
KyAgICB9CisKKyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OworCisgICAgYm9vbCBl
cXVhbHMoY29uc3QgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUmKSBjb25z
dDsKKworcHJpdmF0ZToKKyAgICBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1
ZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYga2V5LCBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYg
Y29sb3IpCisgICAgICAgIDogQ1NTVmFsdWUoRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9y
Q2xhc3MpCisgICAgICAgICwgbV9rZXkoV1RGTW92ZShrZXkpKQorICAgICAgICAsIG1fY29sb3Io
V1RGTW92ZShjb2xvcikpCisgICAgeworICAgIH0KKworICAgIFJlZjxDU1NQcmltaXRpdmVWYWx1
ZT4gbV9rZXk7CisgICAgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiBtX2NvbG9yOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19WQUxVRShD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSwgaXNGb250UGFsZXR0ZVZhbHVl
c092ZXJyaWRlQ29sb3JWYWx1ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMjc1NjkyNWYxMDkyODI2NTY5MjIyYTM2
OGU2ZTQwZWUyOWM4N2NjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKKworI2luY2x1ZGUgIlByb3BlcnR5
U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5oIgorI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgor
I2luY2x1ZGUgIlN0eWxlUnVsZS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OkNT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZShTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyYgZm9udFBh
bGV0dGVWYWx1ZXNSdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCisgICAgOiBDU1NSdWxlKHBh
cmVudCkKKyAgICAsIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlKGZvbnRQYWxldHRlVmFsdWVzUnVs
ZSkKK3sKK30KKworQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjp+Q1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlKCkKK3sKKyAgICBpZiAobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKQorICAgICAgICBt
X3Byb3BlcnRpZXNDU1NPTVdyYXBwZXItPmNsZWFyUGFyZW50UnVsZSgpOworfQorCitDU1NTdHls
ZURlY2xhcmF0aW9uJiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnN0eWxlKCkKK3sKKyAgICBp
ZiAoIW1fcHJvcGVydGllc0NTU09NV3JhcHBlcikKKyAgICAgICAgbV9wcm9wZXJ0aWVzQ1NTT01X
cmFwcGVyID0gU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRlKG1fZm9udFBhbGV0
dGVWYWx1ZXNSdWxlLT5tdXRhYmxlUHJvcGVydGllcygpLCAqdGhpcyk7CisgICAgcmV0dXJuICpt
X3Byb3BlcnRpZXNDU1NPTVdyYXBwZXI7Cit9CisKK1N0cmluZyBDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZyBkZWNsYXJhdGlvbnMgPSBtX2Zv
bnRQYWxldHRlVmFsdWVzUnVsZS0+cHJvcGVydGllcygpLmFzVGV4dCgpOworICAgIGlmIChkZWNs
YXJhdGlvbnMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiQGZvbnQtcGFs
ZXR0ZS12YWx1ZXMgIiwgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm5hbWUoKSwgIiB7IH0iKTsK
KyAgICByZXR1cm4gbWFrZVN0cmluZygiQGZvbnQtcGFsZXR0ZS12YWx1ZXMgIiwgbV9mb250UGFs
ZXR0ZVZhbHVlc1J1bGUtPm5hbWUoKSwgIiB7ICIsIGRlY2xhcmF0aW9ucywgIiB9Iik7Cit9CisK
K3ZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlJiBy
dWxlKQoreworICAgIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlID0gZG93bmNhc3Q8U3R5bGVSdWxl
Rm9udFBhbGV0dGVWYWx1ZXM+KHJ1bGUpOworICAgIGlmIChtX3Byb3BlcnRpZXNDU1NPTVdyYXBw
ZXIpCisgICAgICAgIG1fcHJvcGVydGllc0NTU09NV3JhcHBlci0+cmVhdHRhY2gobV9mb250UGFs
ZXR0ZVZhbHVlc1J1bGUtPm11dGFibGVQcm9wZXJ0aWVzKCkpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDQ4MTEyNjFiMDU4N2Y5ZWVmZDRhYmRmYTgwZTE4YjAxMzM1YTg5NQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUuaApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDU1NSdWxlLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTU3R5bGVEZWNsYXJhdGlvbjsKK2NsYXNzIFN0
eWxlUnVsZUZvbnRGYWNlOworY2xhc3MgU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjsKKwor
Y2xhc3MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGZpbmFsIDogcHVibGljIENTU1J1bGUgewor
cHVibGljOgorICAgIHN0YXRpYyBSZWY8Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlPiBjcmVhdGUo
U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZShydWxlLCBzaGVl
dCkpOyB9CisKKyAgICB2aXJ0dWFsIH5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoKTsKKworICAg
IFdFQkNPUkVfRVhQT1JUIENTU1N0eWxlRGVjbGFyYXRpb24mIHN0eWxlKCk7CisKK3ByaXZhdGU6
CisgICAgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
JiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKKworICAgIENTU1J1bGU6OlR5cGUgdHlwZSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRTsgfQorICAgIFN0cmlu
ZyBjc3NUZXh0KCkgY29uc3QgZmluYWw7CisgICAgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVCYXNl
JikgZmluYWw7CisKKyAgICBSZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IG1fZm9udFBh
bGV0dGVWYWx1ZXNSdWxlOworICAgIFJlZlB0cjxTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9u
PiBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUoQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlLCBDU1NSdWxlOjpGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzOTUxNDNl
ZTY1MzM4YzdhY2Q1ODVmNDdhZDI2NTY1OWFhZjNiMzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbApAQCAtMCwwICsxLDI3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisg
Ki8KKworWworICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAorICAgIEpTR2VuZXJhdGVUb05hdGl2
ZU9iamVjdCwKKyAgICBFeHBvc2VkPVdpbmRvdworXSBpbnRlcmZhY2UgQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlIDogQ1NTUnVsZSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1N0eWxlRGVj
bGFyYXRpb24gc3R5bGU7Cit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgpp
bmRleCBhOGJjODk1ZjYzYzAyNTcxMDRkZDNjNDhjODE2MTRiOTFhYTUwNjliLi5kNDExN2FmOTcy
OGJiNjRiZjQ3YzkwNmM1ZjFlMGQxMmJjODQ0NzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0aWVzLmpzb24KQEAgLTQwNzUsNiArNDA3NSwyNiBAQAogICAgICAgICAgICAgICAgICJ1cmwi
OiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1mb250cy0zLyNzcmMtZGVzYyIKICAgICAgICAg
ICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgImJhc2UtcGFsZXR0ZSI6IHsKKyAgICAgICAgICAg
ICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6
IHRydWUsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0b3Itb25seSI6IHRydWUKKyAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAi
Y2F0ZWdvcnkiOiAiY3NzLWZvbnRzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMtNC8jYmFzZS1wYWxldHRlLWRlc2MiCisgICAgICAg
ICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJvdmVycmlkZS1jb2xvciI6IHsKKyAgICAgICAg
ICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRl
ciI6IHRydWUsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0b3Itb25seSI6IHRydWUKKyAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAg
ICAiY2F0ZWdvcnkiOiAiY3NzLWZvbnRzIiwKKyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMtNC8jb3ZlcnJpZGUtY29sb3IiCisgICAgICAg
ICAgICB9CisgICAgICAgIH0sCiAgICAgICAgICJzdG9wLWNvbG9yIjogewogICAgICAgICAgICAg
ImNvZGVnZW4tcHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAiY29udmVydGVyIjogIlNW
R0NvbG9yIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJj
ZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEuaAppbmRl
eCBiNTBkMzAzMWY0ZDY5YTRjNjlhMWZhYmVlMGRlZTYwODBhZWI4MGFhLi5iN2VlMTM2YTI2OWY0
NWVkNDE3ZGZmMWQ2MmQwZGUzNGUxMGNmYTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5U291cmNlRGF0YS5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoYykg
MjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKQEAgLTkzLDYgKzk0LDcgQEAgc3RydWN0IENTU1J1bGVTb3VyY2VEYXRh
IDogcHVibGljIFJlZkNvdW50ZWQ8Q1NTUnVsZVNvdXJjZURhdGE+IHsKICAgICBDU1NSdWxlU291
cmNlRGF0YShTdHlsZVJ1bGVUeXBlIHR5cGUpCiAgICAgICAgIDogdHlwZSh0eXBlKQogICAgIHsK
KyAgICAgICAgLy8gRklYTUU6IERvZXMgdGhpcyBuZWVkIHRvIGJlIG1vZGlmaWVkIGZvciBTdHls
ZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcz8KICAgICAgICAgaWYgKHR5cGUgPT0gU3R5bGVS
dWxlVHlwZTo6U3R5bGUgfHwgdHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZSB8fCB0eXBl
ID09IFN0eWxlUnVsZVR5cGU6OlBhZ2UpCiAgICAgICAgICAgICBzdHlsZVNvdXJjZURhdGEgPSBD
U1NTdHlsZVNvdXJjZURhdGE6OmNyZWF0ZSgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcApp
bmRleCAwZjNjNDM5NGQ5NWUyMzcwNmU0OGY0ZTI5YWZiNDg0ZmJmZGMzODAyLi43YjAxMWY2M2U5
NzI0ZWVjNWZmYTIwZTEwYmQxYjlhM2MxOGEyYzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCkBA
IC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2Rl
Lm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMTIgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAyIC0gMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTQ4LDYgKzQ4
LDExIEBAIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OktleWZyYW1lID09IHN0YXRpY19j
YXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5CiBDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVU
eXBlOjpOYW1lc3BhY2UgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlw
ZTo6TkFNRVNQQUNFX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElMRV9BU1NFUlQo
U3R5bGVSdWxlVHlwZTo6Q291bnRlclN0eWxlID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+
KENTU1J1bGU6OlR5cGU6OkNPVU5URVJfU1RZTEVfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7
CiBDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpTdXBwb3J0cyA9PSBzdGF0aWNfY2FzdDxT
dHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpTVVBQT1JUU19SVUxFKSwgZW51bXNfc2hvdWxk
X21hdGNoKTsKK0NPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OkRvY3VtZW50ID09IHN0YXRp
Y19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6OkRPQ1VNRU5UX1JVTEUpLCBlbnVt
c19zaG91bGRfbWF0Y2gpOworQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6Rm9udEZlYXR1
cmVWYWx1ZXMgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6Rk9O
VF9GRUFUVVJFX1ZBTFVFU19SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKK0NPTVBJTEVfQVNT
RVJUKFN0eWxlUnVsZVR5cGU6OlZpZXdwb3J0ID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+
KENTU1J1bGU6OlR5cGU6OlZJRVdQT1JUX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOworQ09N
UElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6UmVnaW9uU3R5bGUgPT0gc3RhdGljX2Nhc3Q8U3R5
bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6UkVHSU9OX1NUWUxFX1JVTEUpLCBlbnVtc19zaG91
bGRfbWF0Y2gpOworQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1
ZXMgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6Rk9OVF9QQUxF
VFRFX1ZBTFVFU19SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKIAogRXhjZXB0aW9uT3I8dm9p
ZD4gQ1NTUnVsZTo6c2V0Q3NzVGV4dChjb25zdCBTdHJpbmcmKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgK
aW5kZXggN2VmYjNhMTdiZTRiNDMxMWQ0NTA2MDJjZDcxODBiNDE2MDNjZjcxNC4uMmEwZjkwYWNi
NGFkNjA5Nzk2ZGU3YTM3MmZkYzk0Y2M4YzA3NDQ3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCkBAIC0x
LDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9y
ZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQW5kcmVhcyBLbGluZyAoa2xpbmdAd2Via2l0Lm9yZykK
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCkBAIC01MCw3ICs1MCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIE1BUkdJTl9S
VUxFLAogICAgICAgICBOQU1FU1BBQ0VfUlVMRSwKICAgICAgICAgQ09VTlRFUl9TVFlMRV9SVUxF
LAotICAgICAgICBTVVBQT1JUU19SVUxFCisgICAgICAgIFNVUFBPUlRTX1JVTEUsCisgICAgICAg
IERPQ1VNRU5UX1JVTEUsCisgICAgICAgIEZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSwKKyAgICAg
ICAgVklFV1BPUlRfUlVMRSwKKyAgICAgICAgUkVHSU9OX1NUWUxFX1JVTEUsCisgICAgICAgIEZP
TlRfUEFMRVRURV9WQUxVRVNfUlVMRSwKKyAgICAgICAgTEFZRVJfUlVMRQogICAgIH07CiAKICAg
ICBlbnVtIERlcHJlY2F0ZWRUeXBlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCmluZGV4IDg3MzY5
YWIwZGI1MmYwYTJlOGEzYmEyYzAzOTUzNjA0YzQ0ZDE3ZTIuLjE5Y2I3M2VmZWQzZGNiODA2MDc0
MjEwOTY0ZGVkODQ2YzYwNTU1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcApAQCAtMSw2ICsx
LDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQW5kcmVhcyBLbGluZyAoa2xpbmdAd2Vi
a2l0Lm9yZykKICAqIENvcHlyaWdodCAoQykgMjAxMyBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRl
ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTM5LDYgKzQwLDcgQEAKICNpbmNsdWRlICJDU1NGaWx0ZXJJbWFnZVZhbHVlLmgiCiAjaW5jbHVk
ZSAiQ1NTRm9udEZhY2VTcmNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGZWF0dXJlVmFsdWUu
aCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIgog
I2luY2x1ZGUgIkNTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250U3R5
bGVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRWYWx1ZS5oIgpAQCAtMTY0LDYgKzE2Niw4IEBA
IGJvb2wgQ1NTVmFsdWU6OmVxdWFscyhjb25zdCBDU1NWYWx1ZSYgb3RoZXIpIGNvbnN0CiAgICAg
ICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NGb250VmFsdWU+KCp0aGlzLCBvdGhl
cik7CiAgICAgICAgIGNhc2UgRm9udEZhY2VTcmNDbGFzczoKICAgICAgICAgICAgIHJldHVybiBj
b21wYXJlQ1NTVmFsdWVzPENTU0ZvbnRGYWNlU3JjVmFsdWU+KCp0aGlzLCBvdGhlcik7CisgICAg
ICAgIGNhc2UgRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3M6CisgICAgICAgICAg
ICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29s
b3JWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGb250RmVhdHVyZUNsYXNzOgog
ICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRm9udEZlYXR1cmVWYWx1ZT4o
KnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGb250VmFyaWF0aW9uQ2xhc3M6CkBAIC0yNjQs
NiArMjY4LDggQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29uc3QKICAgICAgICAgcmV0
dXJuIGRvd25jYXN0PENTU0ZvbnRWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKICAgICBj
YXNlIEZvbnRGYWNlU3JjQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NGb250RmFj
ZVNyY1ZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOworICAgIGNhc2UgRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3M6CisgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsK
ICAgICBjYXNlIEZvbnRGZWF0dXJlQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NG
b250RmVhdHVyZVZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgRm9udFZh
cmlhdGlvbkNsYXNzOgpAQCAtMzc3LDYgKzM4Myw5IEBAIHZvaWQgQ1NTVmFsdWU6OmRlc3Ryb3ko
KQogICAgIGNhc2UgRm9udEZhY2VTcmNDbGFzczoKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PENT
U0ZvbnRGYWNlU3JjVmFsdWU+KHRoaXMpOwogICAgICAgICByZXR1cm47CisgICAgY2FzZSBGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczoKKyAgICAgICAgZGVsZXRlIGRvd25jYXN0
PENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPih0aGlzKTsKKyAgICAgICAg
cmV0dXJuOwogICAgIGNhc2UgRm9udEZlYXR1cmVDbGFzczoKICAgICAgICAgZGVsZXRlIGRvd25j
YXN0PENTU0ZvbnRGZWF0dXJlVmFsdWU+KHRoaXMpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZS5oCmluZGV4IDIzZWI1ZWMzOGNjZTk2OTBlNWQ4YWI0NGI1NjUyNDVmODcyZDkwNWQu
LmIzMWM5OTIwZWE0MzE3Njg5MGIyMDk2YWVmYjg5YTBmYjdjZjNmMWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAo
a25vbGxAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywg
MjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDQgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwpAQCAtOTcsNiArOTcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZvbnRGZWF0dXJlVmFs
dWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250RmVhdHVyZUNsYXNzOyB9CiAg
ICAgYm9vbCBpc0ZvbnRWYXJpYXRpb25WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBl
ID09IEZvbnRWYXJpYXRpb25DbGFzczsgfQogICAgIGJvb2wgaXNGb250RmFjZVNyY1ZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udEZhY2VTcmNDbGFzczsgfQorICAgIGJv
b2wgaXNGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NUeXBlID09IEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvckNsYXNzOyB9CiAg
ICAgYm9vbCBpc0ZvbnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRD
bGFzczsgfQogICAgIGJvb2wgaXNGb250U3R5bGVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xh
c3NUeXBlID09IEZvbnRTdHlsZUNsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRTdHlsZVJhbmdlVmFs
dWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250U3R5bGVSYW5nZUNsYXNzOyB9
CkBAIC0xODcsNiArMTg4LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBGb250U3R5bGVDbGFzcywK
ICAgICAgICAgRm9udFN0eWxlUmFuZ2VDbGFzcywKICAgICAgICAgRm9udEZhY2VTcmNDbGFzcywK
KyAgICAgICAgRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3MsCiAgICAgICAgIEZ1
bmN0aW9uQ2xhc3MsCiAKICAgICAgICAgSW5oZXJpdGVkQ2xhc3MsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1
bGUuY3BwCmluZGV4IDRiMTVjMDk0OTg5OWJiZTNkZWQ5OTE0YmU5YjZlYjFlNjc4MzI1YzMuLjc4
YTE2NWNlN2Y5ZTBjNTNiYjIyODFlYWI4M2EzNDc2MjQxN2Y2MGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGUuY3BwCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9s
bCAoa25vbGxAa2RlLm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVy
QGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI1LDYgKzI1LDcgQEAKICNp
bmNsdWRlICJDU1NDb3VudGVyU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTRGVmZXJyZWRQYXJz
ZXIuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAi
Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtNzAs
NiArNzEsOSBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6OmRlc3Ryb3koKQogICAgIGNhc2UgU3R5bGVS
dWxlVHlwZTo6Rm9udEZhY2U6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxTdHlsZVJ1bGVGb250
RmFjZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZv
bnRQYWxldHRlVmFsdWVzOgorICAgICAgICBkZWxldGUgZG93bmNhc3Q8U3R5bGVSdWxlRm9udFBh
bGV0dGVWYWx1ZXM+KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpNZWRpYToKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PFN0eWxlUnVsZU1lZGlhPih0aGlz
KTsKICAgICAgICAgcmV0dXJuOwpAQCAtOTgsNiArMTAyLDEwIEBAIHZvaWQgU3R5bGVSdWxlQmFz
ZTo6ZGVzdHJveSgpCiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxTdHlsZVJ1bGVMYXllcj4odGhp
cyk7CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlVua25vd246Cisg
ICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpEb2N1bWVudDoKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OkZvbnRGZWF0dXJlVmFsdWVzOgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Vmlld3BvcnQ6Cisg
ICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpSZWdpb25TdHlsZToKICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMTMsNiArMTIxLDggQEAgUmVm
PFN0eWxlUnVsZUJhc2U+IFN0eWxlUnVsZUJhc2U6OmNvcHkoKSBjb25zdAogICAgICAgICByZXR1
cm4gZG93bmNhc3Q8U3R5bGVSdWxlUGFnZT4oKnRoaXMpLmNvcHkoKTsKICAgICBjYXNlIFN0eWxl
UnVsZVR5cGU6OkZvbnRGYWNlOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8U3R5bGVSdWxlRm9u
dEZhY2U+KCp0aGlzKS5jb3B5KCk7CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0
ZVZhbHVlczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFs
dWVzPigqdGhpcykuY29weSgpOwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TWVkaWE6CiAgICAg
ICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVNZWRpYT4oKnRoaXMpLmNvcHkoKTsKICAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6OlN1cHBvcnRzOgpAQCAtMTMwLDYgKzE0MCwxMCBAQCBSZWY8U3R5
bGVSdWxlQmFzZT4gU3R5bGVSdWxlQmFzZTo6Y29weSgpIGNvbnN0CiAgICAgY2FzZSBTdHlsZVJ1
bGVUeXBlOjpVbmtub3duOgogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Q2hhcnNldDoKICAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6OktleWZyYW1lOgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6RG9j
dW1lbnQ6CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250RmVhdHVyZVZhbHVlczoKKyAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6OlZpZXdwb3J0OgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6UmVn
aW9uU3R5bGU6CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBDUkFTSCgpOwpAQCAtMTQ5LDYg
KzE2Myw5IEBAIFJlZjxDU1NSdWxlPiBTdHlsZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIo
Q1NTU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIENTU1J1CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBl
OjpGb250RmFjZToKICAgICAgICAgcnVsZSA9IENTU0ZvbnRGYWNlUnVsZTo6Y3JlYXRlKGRvd25j
YXN0PFN0eWxlUnVsZUZvbnRGYWNlPihzZWxmKSwgcGFyZW50U2hlZXQpOwogICAgICAgICBicmVh
azsKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOgorICAgICAgICBy
dWxlID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjcmVhdGUoZG93bmNhc3Q8U3R5bGVSdWxl
Rm9udFBhbGV0dGVWYWx1ZXM+KHNlbGYpLCBwYXJlbnRTaGVldCk7CisgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TWVkaWE6CiAgICAgICAgIHJ1bGUgPSBDU1NNZWRpYVJ1
bGU6OmNyZWF0ZShkb3duY2FzdDxTdHlsZVJ1bGVNZWRpYT4oc2VsZiksIHBhcmVudFNoZWV0KTsK
ICAgICAgICAgYnJlYWs7CkBAIC0xNzIsNiArMTg5LDEwIEBAIFJlZjxDU1NSdWxlPiBTdHlsZVJ1
bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIoQ1NTU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIENT
U1J1CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpVbmtub3duOgogICAgIGNhc2UgU3R5bGVSdWxl
VHlwZTo6Q2hhcnNldDoKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OktleWZyYW1lOgorICAgIGNh
c2UgU3R5bGVSdWxlVHlwZTo6RG9jdW1lbnQ6CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250
RmVhdHVyZVZhbHVlczoKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlZpZXdwb3J0OgorICAgIGNh
c2UgU3R5bGVSdWxlVHlwZTo6UmVnaW9uU3R5bGU6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC0zMTksNiArMzQwLDI4IEBAIE11dGFibGVT
dHlsZVByb3BlcnRpZXMmIFN0eWxlUnVsZUZvbnRGYWNlOjptdXRhYmxlUHJvcGVydGllcygpCiAg
ICAgcmV0dXJuIGRvd25jYXN0PE11dGFibGVTdHlsZVByb3BlcnRpZXM+KG1fcHJvcGVydGllcy5n
ZXQoKSk7CiB9CiAKK1N0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjpTdHlsZVJ1bGVGb250UGFs
ZXR0ZVZhbHVlcyhjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBSZWY8U3R5bGVQcm9wZXJ0aWVzPiYm
IHByb3BlcnRpZXMpCisgICAgOiBTdHlsZVJ1bGVCYXNlKFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxl
dHRlVmFsdWVzKQorICAgICwgbV9uYW1lKG5hbWUpCisgICAgLCBtX3Byb3BlcnRpZXMoV1RGTW92
ZShwcm9wZXJ0aWVzKSkKK3sKK30KKworU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlN0eWxl
UnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJiBv
KQorICAgIDogU3R5bGVSdWxlQmFzZShvKQorICAgICwgbV9wcm9wZXJ0aWVzKG8ubV9wcm9wZXJ0
aWVzLT5tdXRhYmxlQ29weSgpKQoreworfQorCitTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6
flN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKCkgPSBkZWZhdWx0OworCitNdXRhYmxlU3R5bGVQ
cm9wZXJ0aWVzJiBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6bXV0YWJsZVByb3BlcnRpZXMo
KQoreworICAgIGlmICghaXM8TXV0YWJsZVN0eWxlUHJvcGVydGllcz4obV9wcm9wZXJ0aWVzLmdl
dCgpKSkKKyAgICAgICAgbV9wcm9wZXJ0aWVzID0gbV9wcm9wZXJ0aWVzLT5tdXRhYmxlQ29weSgp
OworICAgIHJldHVybiBkb3duY2FzdDxNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzPihtX3Byb3BlcnRp
ZXMuZ2V0KCkpOworfQorCiBEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdDo6RGVmZXJyZWRTdHls
ZUdyb3VwUnVsZUxpc3QoY29uc3QgQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIENTU0RlZmVy
cmVkUGFyc2VyJiBwYXJzZXIpCiAgICAgOiBtX3BhcnNlcihwYXJzZXIpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSdWxlLmgKaW5kZXggMTU2MmM3OTI2N2VhNjRkMjE3MDFiOWRmNzU3YzAzNTI1OTBmOTcxYi4u
OWViMzE0MDlmOGZiOGYwMzlkMWQ1YWJiNThhNDJjYzQ2OTU2ZDJhNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGUuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwg
KGtub2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBr
ZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC01Miw2ICs1Miw3IEBAIHB1Ymxp
YzoKICAgICBib29sIGlzQ2hhcnNldFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5
bGVSdWxlVHlwZTo6Q2hhcnNldDsgfQogICAgIGJvb2wgaXNDb3VudGVyU3R5bGVSdWxlKCkgY29u
c3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZTsgfQogICAg
IGJvb2wgaXNGb250RmFjZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxl
VHlwZTo6Rm9udEZhY2U7IH0KKyAgICBib29sIGlzRm9udFBhbGV0dGVWYWx1ZXNSdWxlKCkgY29u
c3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOyB9
CiAgICAgYm9vbCBpc0tleWZyYW1lc1J1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5
bGVSdWxlVHlwZTo6S2V5ZnJhbWVzOyB9CiAgICAgYm9vbCBpc0tleWZyYW1lUnVsZSgpIGNvbnN0
IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZTsgfQogICAgIGJvb2wg
aXNOYW1lc3BhY2VSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6
Ok5hbWVzcGFjZTsgfQpAQCAtMTU1LDYgKzE1NiwzNCBAQCBwcml2YXRlOgogICAgIFJlZjxTdHls
ZVByb3BlcnRpZXM+IG1fcHJvcGVydGllczsKIH07CiAKK2NsYXNzIFN0eWxlUnVsZUZvbnRQYWxl
dHRlVmFsdWVzIGZpbmFsIDogcHVibGljIFN0eWxlUnVsZUJhc2UgeworcHVibGljOgorICAgIHN0
YXRpYyBSZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IGNyZWF0ZShjb25zdCBBdG9tU3Ry
aW5nJiBuYW1lLCBSZWY8U3R5bGVQcm9wZXJ0aWVzPiYmIHByb3BlcnRpZXMpIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMobmFtZSwgV1RGTW92ZShwcm9w
ZXJ0aWVzKSkpOyB9CisgICAgCisgICAgflN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKCk7CisK
KyAgICBjb25zdCBBdG9tU3RyaW5nJiBuYW1lKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biBtX25hbWU7CisgICAgfQorCisgICAgY29uc3QgU3R5bGVQcm9wZXJ0aWVzJiBwcm9wZXJ0aWVz
KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3Byb3BlcnRpZXM7CisgICAgfQorCisg
ICAgTXV0YWJsZVN0eWxlUHJvcGVydGllcyYgbXV0YWJsZVByb3BlcnRpZXMoKTsKKworICAgIFJl
ZjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoKnRoaXMpKTsgfQorCitwcml2YXRl
OgorICAgIGV4cGxpY2l0IFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IEF0b21TdHJp
bmcmIG5hbWUsIFJlZjxTdHlsZVByb3BlcnRpZXM+JiYpOworICAgIFN0eWxlUnVsZUZvbnRQYWxl
dHRlVmFsdWVzKGNvbnN0IFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJik7CisKKyAgICBBdG9t
U3RyaW5nIG1fbmFtZTsKKyAgICBSZWY8U3R5bGVQcm9wZXJ0aWVzPiBtX3Byb3BlcnRpZXM7Cit9
OworCiBjbGFzcyBTdHlsZVJ1bGVQYWdlIGZpbmFsIDogcHVibGljIFN0eWxlUnVsZUJhc2Ugewog
cHVibGljOgogICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlUGFnZT4gY3JlYXRlKFJlZjxTdHlsZVBy
b3BlcnRpZXM+JiYsIENTU1NlbGVjdG9yTGlzdCYmKTsKQEAgLTM1Nyw2ICszODYsMTAgQEAgU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpTdHlsZVJ1bGVGb250RmFjZSkKICAg
ICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkg
eyByZXR1cm4gcnVsZS5pc0ZvbnRGYWNlUnVsZSgpOyB9CiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0VORCgpCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxl
Rm9udFBhbGV0dGVWYWx1ZXMpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6
OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0dXJuIHJ1bGUuaXNGb250UGFsZXR0ZVZhbHVlc1J1
bGUoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQorCiBTUEVDSUFMSVpFX1RZUEVf
VFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZU1lZGlhKQogICAgIHN0YXRpYyBib29sIGlz
VHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlJiBydWxlKSB7IHJldHVybiBydWxlLmlz
TWVkaWFSdWxlKCk7IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSdWxlVHlwZS5oCmluZGV4IGM5ZTUxOGRiZTYxYjczNWI2ZDdhMWE3ZmY2MjQzY2Q5ODE1
Y2M1YmQuLjk5NjRiNDJmYTYwMTk1NjM3M2UxNTI1YmQ5ZmVmYTVkZmNjMTRkYzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZVR5cGUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDE5IC0gMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQwLDcgKzQwLDEyIEBAIGVudW0gY2xhc3MgU3R5bGVS
dWxlVHlwZSA6IHVpbnQ4X3QgewogICAgIE5hbWVzcGFjZSA9IDEwLAogICAgIENvdW50ZXJTdHls
ZSA9IDExLAogICAgIFN1cHBvcnRzID0gMTIsCi0gICAgTGF5ZXIgPSAxMywKKyAgICBEb2N1bWVu
dCA9IDEzLAorICAgIEZvbnRGZWF0dXJlVmFsdWVzID0gMTQsCisgICAgVmlld3BvcnQgPSAxNSwK
KyAgICBSZWdpb25TdHlsZSA9IDE2LAorICAgIEZvbnRQYWxldHRlVmFsdWVzID0gMTcsCisgICAg
TGF5ZXIgPSAxOAogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAppbmRleCAzMjg0OTc0ODUzNWEwZDc2NDY5MDMwNzNj
YzI0ZGMxODY2ZGIwNGNlLi5hNTQ4NGM5YmRjMTRkMWZhNzZlMjU3YjY4OGQ0ODM3NGMxZDBlMDQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcApAQCAtMSw2ICsx
LDYgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTQzNiw2ICs0MzYsNyBAQCBzdGF0aWMgYm9vbCB0
cmF2ZXJzZVJ1bGVzSW5WZWN0b3IoY29uc3QgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4m
IHJ1bGVzLCBjbwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlw
ZTo6U3R5bGU6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2U6CisgICAgICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXM6CiAgICAgICAgIGNhc2UgU3R5
bGVSdWxlVHlwZTo6UGFnZToKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZXM6
CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TmFtZXNwYWNlOgpAQCAtNDQzLDYgKzQ0NCwx
MCBAQCBzdGF0aWMgYm9vbCB0cmF2ZXJzZVJ1bGVzSW5WZWN0b3IoY29uc3QgVmVjdG9yPFJlZlB0
cjxTdHlsZVJ1bGVCYXNlPj4mIHJ1bGVzLCBjbwogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OkNoYXJzZXQ6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Q291bnRlclN0eWxlOgogICAg
ICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OktleWZyYW1lOgorICAgICAgICBjYXNlIFN0eWxlUnVs
ZVR5cGU6OkRvY3VtZW50OgorICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGZWF0dXJl
VmFsdWVzOgorICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlZpZXdwb3J0OgorICAgICAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6OlJlZ2lvblN0eWxlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KICAgICB9CkBAIC00ODYsNiArNDkxLDExIEBAIGJvb2wgU3R5bGVTaGVldENvbnRlbnRz
Ojp0cmF2ZXJzZVN1YnJlc291cmNlcyhjb25zdCBXVEY6OkZ1bmN0aW9uPGJvb2wgKGNvbnN0IENh
CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWU6CiAgICAgICAgIGNhc2UgU3R5
bGVSdWxlVHlwZTo6U3VwcG9ydHM6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TGF5ZXI6
CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6RG9jdW1lbnQ6CisgICAgICAgIGNhc2UgU3R5
bGVSdWxlVHlwZTo6Rm9udEZlYXR1cmVWYWx1ZXM6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlw
ZTo6Vmlld3BvcnQ6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6UmVnaW9uU3R5bGU6Cisg
ICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXM6CiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH07CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcAppbmRleCAwODI1NzIz
OGM4YjM1OGU1M2JmYTI3ZTJhYjZiZWNjZDVhNmQyZTk5Li45Y2UzNTFkMTZiYTg3MTUyNjUwZTNl
YjQ2MDNkYWY2MjQ0MTMwYzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU0F0UnVsZUlELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVs
ZUlELmNwcApAQCAtMSw1ICsxLDUgQEAKIC8vIENvcHlyaWdodCAyMDE1IFRoZSBDaHJvbWl1bSBB
dXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNiAtIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogLy8gbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtMzgsNiArMzgsOCBAQCBDU1NBdFJ1bGVJRCBjc3NBdFJ1bGVJRChTdHJp
bmdWaWV3IG5hbWUpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVDaGFyc2V0OwogICAgIGlmIChl
cXVhbElnbm9yaW5nQVNDSUlDYXNlKG5hbWUsICJmb250LWZhY2UiKSkKICAgICAgICAgcmV0dXJu
IENTU0F0UnVsZUZvbnRGYWNlOworICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG5hbWUs
ICJmb250LXBhbGV0dGUtdmFsdWVzIikpCisgICAgICAgIHJldHVybiBDU1NBdFJ1bGVGb250UGFs
ZXR0ZVZhbHVlczsKICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiaW1wb3J0
IikpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVJbXBvcnQ7CiAgICAgaWYgKGVxdWFsSWdub3Jp
bmdBU0NJSUNhc2UobmFtZSwgImtleWZyYW1lcyIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NBdFJ1bGVJRC5oCmluZGV4IDMzMGY2Y2JlMmUyNWIzZGNjZjBlNzI5ZTQ0ODk5ZjE4OTQxNWE3
YmUuLjVlNGQ0MzUzMzJkNjEyM2M3MWJiOGQzYzNjMjUzYWI3NzEzMjlmMDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmgKQEAgLTEsNSArMSw1IEBACiAvLyBDb3B5cmln
aHQgMjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5
cmlnaHQgKEMpIDIwMTYgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8v
CiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQ5LDYgKzQ5LDggQEAgZW51bSBD
U1NBdFJ1bGVJRCB7CiAgICAgQ1NTQXRSdWxlQXBwbHkgPSAxMSwKICAgICBDU1NBdFJ1bGVDb3Vu
dGVyU3R5bGUgPSAxMiwKICAgICBDU1NBdFJ1bGVMYXllciA9IDEzLAorCisgICAgQ1NTQXRSdWxl
Rm9udFBhbGV0dGVWYWx1ZXMgPSAxNCwKIH07CiAKIENTU0F0UnVsZUlEIGNzc0F0UnVsZUlEKFN0
cmluZ1ZpZXcgbmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1BhcnNlckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBs
LmNwcAppbmRleCBlNWI3NDMwMmUwY2U0YzVhYmQ2MTZlYzQ1NzFiNjJjNGZmYzdlNTE5Li40ODZh
YTIwYjlhZDFiMzU1MjEyYzJkOGU4NmZlNWZjNWRiMWM4MmRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKQEAgLTEsNSArMSw1IEBACiAvLyBDb3B5cmln
aHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIENv
cHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
IC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQ0NSw2ICs0NDUsOCBAQCBS
ZWZQdHI8U3R5bGVSdWxlQmFzZT4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZUF0UnVsZShDU1NQYXJz
ZXJUb2tlblJhbmdlJiByYW5nZSwgQQogICAgICAgICByZXR1cm4gY29uc3VtZVN1cHBvcnRzUnVs
ZShwcmVsdWRlLCBibG9jayk7CiAgICAgY2FzZSBDU1NBdFJ1bGVGb250RmFjZToKICAgICAgICAg
cmV0dXJuIGNvbnN1bWVGb250RmFjZVJ1bGUocHJlbHVkZSwgYmxvY2spOworICAgIGNhc2UgQ1NT
QXRSdWxlRm9udFBhbGV0dGVWYWx1ZXM6CisgICAgICAgIHJldHVybiBjb25zdW1lRm9udFBhbGV0
dGVWYWx1ZXNSdWxlKHByZWx1ZGUsIGJsb2NrKTsKICAgICBjYXNlIENTU0F0UnVsZVdlYmtpdEtl
eWZyYW1lczoKICAgICAgICAgcmV0dXJuIGNvbnN1bWVLZXlmcmFtZXNSdWxlKHRydWUsIHByZWx1
ZGUsIGJsb2NrKTsKICAgICBjYXNlIENTU0F0UnVsZUtleWZyYW1lczoKQEAgLTY1Miw2ICs2NTQs
MjQgQEAgUmVmUHRyPFN0eWxlUnVsZUZvbnRGYWNlPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lRm9u
dEZhY2VSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UKICAgICByZXR1cm4gU3R5bGVSdWxlRm9udEZh
Y2U6OmNyZWF0ZShjcmVhdGVTdHlsZVByb3BlcnRpZXMobV9wYXJzZWRQcm9wZXJ0aWVzLCBtX2Nv
bnRleHQubW9kZSkpOwogfQogCitSZWZQdHI8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IENT
U1BhcnNlckltcGw6OmNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUoQ1NTUGFyc2VyVG9rZW5S
YW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKQoreworICAgIGF1dG8gbmFt
ZSA9IENTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZUN1c3RvbUlkZW50KHByZWx1ZGUp
OworICAgIGlmICghcHJlbHVkZS5hdEVuZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsgLy8g
UGFyc2UgZXJyb3I7IGV4cGVjdGVkIGN1c3RvbSBpZGVudCBpbiBAZm9udC1wYWxldHRlLXZhbHVl
cyBoZWFkZXIKKworICAgIGlmIChtX29ic2VydmVyV3JhcHBlcikgeworICAgICAgICB1bnNpZ25l
ZCBlbmRPZmZzZXQgPSBtX29ic2VydmVyV3JhcHBlci0+ZW5kT2Zmc2V0KHByZWx1ZGUpOworICAg
ICAgICBtX29ic2VydmVyV3JhcHBlci0+b2JzZXJ2ZXIoKS5zdGFydFJ1bGVIZWFkZXIoU3R5bGVS
dWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMsIG1fb2JzZXJ2ZXJXcmFwcGVyLT5zdGFydE9mZnNl
dChwcmVsdWRlKSk7CisgICAgICAgIG1fb2JzZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigpLmVuZFJ1
bGVIZWFkZXIoZW5kT2Zmc2V0KTsKKyAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVy
KCkuc3RhcnRSdWxlQm9keShlbmRPZmZzZXQpOworICAgICAgICBtX29ic2VydmVyV3JhcHBlci0+
b2JzZXJ2ZXIoKS5lbmRSdWxlQm9keShlbmRPZmZzZXQpOworICAgIH0KKworICAgIGNvbnN1bWVE
ZWNsYXJhdGlvbkxpc3QoYmxvY2ssIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzKTsK
KyAgICByZXR1cm4gU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OmNyZWF0ZShuYW1lLT5zdHJp
bmdWYWx1ZSgpLCBjcmVhdGVTdHlsZVByb3BlcnRpZXMobV9wYXJzZWRQcm9wZXJ0aWVzLCBtX2Nv
bnRleHQubW9kZSkpOworfQorCiBSZWZQdHI8U3R5bGVSdWxlS2V5ZnJhbWVzPiBDU1NQYXJzZXJJ
bXBsOjpjb25zdW1lS2V5ZnJhbWVzUnVsZShib29sIHdlYmtpdFByZWZpeGVkLCBDU1NQYXJzZXJU
b2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spCiB7CiAgICAgQ1NT
UGFyc2VyVG9rZW5SYW5nZSByYW5nZUNvcHkgPSBwcmVsdWRlOyAvLyBGb3IgaW5zcGVjdG9yIGNh
bGxiYWNrcwpAQCAtOTYxLDcgKzk4MSw3IEBAIHZvaWQgQ1NTUGFyc2VySW1wbDo6Y29uc3VtZURl
Y2xhcmF0aW9uKENTU1BhcnNlclRva2VuUmFuZ2UgcmFuZ2UsIFN0eWxlUnVsZVR5cGUKICAgICAg
ICAgY29uc3VtZUN1c3RvbVByb3BlcnR5VmFsdWUocmFuZ2UubWFrZVN1YlJhbmdlKCZyYW5nZS5w
ZWVrKCksIGRlY2xhcmF0aW9uVmFsdWVFbmQpLCB2YXJpYWJsZU5hbWUsIGltcG9ydGFudCk7CiAg
ICAgfQogCi0gICAgaWYgKGltcG9ydGFudCAmJiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6
Rm9udEZhY2UgfHwgcnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWUgfHwgcnVsZVR5
cGUgPT0gU3R5bGVSdWxlVHlwZTo6Q291bnRlclN0eWxlKSkKKyAgICBpZiAoaW1wb3J0YW50ICYm
IChydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZSB8fCBydWxlVHlwZSA9PSBTdHls
ZVJ1bGVUeXBlOjpLZXlmcmFtZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3VudGVy
U3R5bGUgfHwgcnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMpKQog
ICAgICAgICByZXR1cm47CiAKICAgICBpZiAocHJvcGVydHlJRCAhPSBDU1NQcm9wZXJ0eUludmFs
aWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oCmluZGV4IDE2YzRj
M2QxOWY1MDhjMTAyMWY1MWI0YzM1Yjc0MDU5ZGU1MDQ1NDcuLmUyNWZlNWUyYTc1MjhjYWI0MzRh
OWVlYjg2YThkMWNkN2FmYWEzYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUGFyc2VySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFy
c2VySW1wbC5oCkBAIC0xLDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVt
IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYt
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAv
LyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCkBAIC01MSw2ICs1MSw3IEBAIGNsYXNzIFN0eWxlUnVsZTsKIGNsYXNz
IFN0eWxlUnVsZUJhc2U7CiBjbGFzcyBTdHlsZVJ1bGVDaGFyc2V0OwogY2xhc3MgU3R5bGVSdWxl
Rm9udEZhY2U7CitjbGFzcyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczsKIGNsYXNzIFN0eWxl
UnVsZUltcG9ydDsKIGNsYXNzIFN0eWxlUnVsZUtleWZyYW1lczsKIGNsYXNzIFN0eWxlUnVsZUxh
eWVyOwpAQCAtMTMzLDYgKzEzNCw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFN0eWxlUnVsZVN1
cHBvcnRzPiBjb25zdW1lU3VwcG9ydHNSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwg
Q1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZVZpZXdwb3J0
PiBjb25zdW1lVmlld3BvcnRSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFy
c2VyVG9rZW5SYW5nZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZUZvbnRGYWNlPiBjb25z
dW1lRm9udEZhY2VSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9r
ZW5SYW5nZSBibG9jayk7CisgICAgUmVmUHRyPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBj
b25zdW1lRm9udFBhbGV0dGVWYWx1ZXNSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwg
Q1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZUtleWZyYW1l
cz4gY29uc3VtZUtleWZyYW1lc1J1bGUoYm9vbCB3ZWJraXRQcmVmaXhlZCwgQ1NTUGFyc2VyVG9r
ZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8
U3R5bGVSdWxlUGFnZT4gY29uc3VtZVBhZ2VSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVk
ZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZUNvdW50
ZXJTdHlsZT4gY29uc3VtZUNvdW50ZXJTdHlsZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVs
dWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKaW5kZXggN2QzMzMwYjgxZWEzMzM2NDcyMzQ0
ZTUxMGZkMDU4ZWFjYzI1MTE3My4uMDY4NjIyMzczMTFkZTRjNWY5ZmZlNjM0NTMwNGNkMGMwZDYy
N2IwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNl
ci5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJDU1NDdXN0b21Qcm9wZXJ0eVZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VTcmNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRG
ZWF0dXJlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29s
b3JWYWx1ZS5oIgogI2lmIEVOQUJMRShWQVJJQVRJT05fRk9OVFMpCiAjaW5jbHVkZSAiQ1NTRm9u
dFZhcmlhdGlvblZhbHVlLmgiCiAjZW5kaWYKQEAgLTIzMyw2ICsyMzQsOCBAQCBib29sIENTU1By
b3BlcnR5UGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgYm9vbCBp
bXBvcnRhbnQsIGNvbgogCiAgICAgaWYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkZvbnRG
YWNlKQogICAgICAgICBwYXJzZVN1Y2Nlc3MgPSBwYXJzZXIucGFyc2VGb250RmFjZURlc2NyaXB0
b3IocHJvcGVydHlJRCk7CisgICAgZWxzZSBpZiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6
Rm9udFBhbGV0dGVWYWx1ZXMpCisgICAgICAgIHBhcnNlU3VjY2VzcyA9IHBhcnNlci5wYXJzZUZv
bnRQYWxldHRlVmFsdWVzRGVzY3JpcHRvcihwcm9wZXJ0eUlEKTsKICAgICBlbHNlIGlmIChydWxl
VHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3VudGVyU3R5bGUpCiAgICAgICAgIHBhcnNlU3VjY2Vz
cyA9IHBhcnNlci5wYXJzZUNvdW50ZXJTdHlsZURlc2NyaXB0b3IocHJvcGVydHlJRCwgY29udGV4
dCk7CiAgICAgZWxzZQpAQCAtNDgzOCw2ICs0ODQxLDYyIEBAIGJvb2wgQ1NTUHJvcGVydHlQYXJz
ZXI6OnBhcnNlRm9udEZhY2VEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkKQogICAgIHJl
dHVybiB0cnVlOwogfQogCitzdGF0aWMgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1l
QmFzZVBhbGV0dGVEZXNjcmlwdG9yKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAg
IGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09IFN0cmluZ1Rva2VuKQorICAgICAgICByZXR1cm4g
Y29uc3VtZVN0cmluZyhyYW5nZSk7CisgICAgcmV0dXJuIGNvbnN1bWVJbnRlZ2VyKHJhbmdlKTsK
K30KKworc3RhdGljIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGNvbnN1bWVPdmVycmlkZUNvbG9yRGVz
Y3JpcHRvcihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4
dCYgY29udGV4dCkKK3sKKyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVM
aXN0OjpjcmVhdGVDb21tYVNlcGFyYXRlZCgpOworICAgIGRvIHsKKyAgICAgICAgUmVmUHRyPENT
U1ByaW1pdGl2ZVZhbHVlPiBrZXk7CisgICAgICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09
IFN0cmluZ1Rva2VuKQorICAgICAgICAgICAga2V5ID0gY29uc3VtZVN0cmluZyhyYW5nZSk7Cisg
ICAgICAgIGtleSA9IGNvbnN1bWVJbnRlZ2VyKHJhbmdlKTsKKyAgICAgICAgaWYgKCFrZXkpCisg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBhdXRvIGNvbG9yID0gY29uc3Vt
ZUNvbG9yKHJhbmdlLCBjb250ZXh0KTsKKyAgICAgICAgaWYgKCFjb2xvcikKKyAgICAgICAgICAg
IHJldHVybiBudWxscHRyOworCisgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBDU1NG
b250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3JlYXRlKGtleS5yZWxlYXNlTm9u
TnVsbCgpLCBjb2xvci5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICAgICAgbGlzdC0+YXBwZW5kKHZh
bHVlLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0gd2hpbGUgKGNvbnN1bWVDb21tYUluY2x1ZGlu
Z1doaXRlc3BhY2UocmFuZ2UpKTsKKyAgICAKKyAgICBpZiAoIXJhbmdlLmF0RW5kKCkgfHwgIWxp
c3QtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBsaXN0
OworfQorCitib29sIENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZUZvbnRQYWxldHRlVmFsdWVzRGVz
Y3JpcHRvcihDU1NQcm9wZXJ0eUlEIHByb3BJZCkKK3sKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHBh
cnNlZFZhbHVlOworICAgIHN3aXRjaCAocHJvcElkKSB7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUZv
bnRGYW1pbHk6CisgICAgICAgIHBhcnNlZFZhbHVlID0gY29uc3VtZUZvbnRGYW1pbHlEZXNjcmlw
dG9yKG1fcmFuZ2UpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5QmFzZVBh
bGV0dGU6CisgICAgICAgIHBhcnNlZFZhbHVlID0gY29uc3VtZUJhc2VQYWxldHRlRGVzY3JpcHRv
cihtX3JhbmdlKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NQcm9wZXJ0eU92ZXJyaWRl
Q29sb3I6CisgICAgICAgIHBhcnNlZFZhbHVlID0gY29uc3VtZU92ZXJyaWRlQ29sb3JEZXNjcmlw
dG9yKG1fcmFuZ2UsIG1fY29udGV4dCk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6Cisg
ICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGlmICghcGFyc2VkVmFsdWUgfHwgIW1fcmFuZ2Uu
YXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYWRkUHJvcGVydHkocHJvcElk
LCBDU1NQcm9wZXJ0eUludmFsaWQsICpwYXJzZWRWYWx1ZSwgZmFsc2UpOworICAgIHJldHVybiB0
cnVlOworfQorCiBib29sIENTU1Byb3BlcnR5UGFyc2VyOjpjb25zdW1lU3lzdGVtRm9udChib29s
IGltcG9ydGFudCkKIHsKICAgICBDU1NWYWx1ZUlEIHN5c3RlbUZvbnRJRCA9IG1fcmFuZ2UuY29u
c3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKS5pZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oCmluZGV4IDI3YWMzNTkzN2NjMmZhNWFjN2MyZjIzMDQw
ZTMwMTBiNTA4MTcxMzkuLmQ4NzQwOThmZGM0ODllMmVjNGFjNWUxNjNhZDRlMWUyZDkyM2NhYjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmgKQEAg
LTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDAzIExhcnMgS25vbGwgKGtub2xs
QGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDgsIDIwMDks
IDIwMTAsIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDA0IC0gMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KICAqIENvcHlyaWdo
dCAoQykgMjAwOSAtIDIwMTAgIFRvcmNoIE1vYmlsZSAoQmVpamluZykgQ28uIEx0ZC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCkBAIC03Myw2ICs3Myw3IEBAIHByaXZhdGU6CiAKICAgICBib29s
IHBhcnNlVmlld3BvcnREZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9y
dGFudCk7CiAgICAgYm9vbCBwYXJzZUZvbnRGYWNlRGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEKTsK
KyAgICBib29sIHBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQp
OwogICAgIGJvb2wgcGFyc2VDb3VudGVyU3R5bGVEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQsIGNv
bnN0IENTU1BhcnNlckNvbnRleHQmKTsKIAogICAgIHZvaWQgYWRkUHJvcGVydHkoQ1NTUHJvcGVy
dHlJRCwgQ1NTUHJvcGVydHlJRCwgUmVmPENTU1ZhbHVlPiYmLCBib29sIGltcG9ydGFudCwgYm9v
bCBpbXBsaWNpdCA9IGZhbHNlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438445</attachid>
            <date>2021-09-16 23:11:09 -0700</date>
            <delta_ts>2021-09-17 02:15:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230337-20210916231108.patch</filename>
            <type>text/plain</type>
            <size>82439</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZiM2IyMThkYzk2NWM1
NjhhMjgxNmQyZTgxOWM5ZmMzYzcyMGRkZi4uMjRjYjcxNzI5MzFlNTU3NzE1OGIxZTFiNDcwMWRm
MzM4ZWFjODdkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkwIEBACisyMDIxLTA5LTE2ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUGFyc2luZyBz
dXBwb3J0IGZvciBmb250LXBhbGV0dGUtdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSdzIG5vdGhpbmcgcGFydGljdWxhcmx5IGludGVy
ZXN0aW5nIGhlcmUgLSBpdCdzIGp1c3Qgc3VwcG9ydCBmb3IgYW5vdGhlciBhdC1ydWxlLgorICAg
ICAgICBJJ3ZlIGltcGxlbWVudGVkIHdoYXQncyBpbiB0aGUgc3BlYyByaWdodCBub3cuCisKKyAg
ICAgICAgVGhlcmUgYXJlIDIgbmV3IGRlc2NyaXB0b3JzOiBiYXNlLXBhbGV0dGUgYW5kIG92ZXJy
aWRlLWNvbG9yLiBJJ3ZlIGFkZGVkIGEgbmV3IENTU1ZhbHVlIHN1YmNsYXNzCisgICAgICAgIGZv
ciBlYWNoIG9mIHRoZSBpdGVtcyBpbiB0aGUgb3ZlcnJpZGUtY29sb3IgbGlzdCAtIHRoZXNlIGl0
ZW1zIGFyZSBqdXN0IHR1cGxlcyBvZiB0d28KKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWVzLiBJ
IGNvdWxkIGhhdmUgZG9uZSB0aGlzIHdpdGggYSBDU1NWYWx1ZUxpc3Qgd2hpY2ggYWx3YXlzIGp1
c3QgaGFwcGVucyB0byBoYXZlCisgICAgICAgIGEgbGVuZ3RoIG9mIDIsIGJ1dCBJIHRob3VnaHQg
dGhhdCB3YXMgbGVzcyBlbGVnYW50IChhbmQgaGFzIGFuIGV4dHJhIHBvaW50ZXIgaW5kaXJlY3Rp
b24pIHRoYW4KKyAgICAgICAgbWFraW5nIGEgY2xhc3MgdG8gaG9sZCB0aGUgdHdvIENTU1ByaW1p
dGl2ZVZhbHVlcy4KKworICAgICAgICBBbHNvLCBzb21lIG9mIG91ciBTdHlsZVJ1bGVzIGhhZCB0
aGUgd3Jvbmcgd2ViLWV4cG9zZWQgVHlwZSBjb25zdGFudCwgc28gSSBmaXhlZCB0aGF0IHRvbywg
YmVjYXVzZQorICAgICAgICB0aGlzIHBhdGNoIGFkZHMgYSBuZXcgU3R5bGVSdWxlIGFuZCBpdCBu
ZWVkcyB0byBoYXZlIHRoZSBjb3JyZWN0IFR5cGUuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtaW52YWxpZC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZh
bGlkLmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlND
U1NSdWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgor
ICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUp
OgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5j
cHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmguCisgICAg
ICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3Vz
dG9tQ1NTVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVl
c092ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaDogQ29waWVkIGZyb20gU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6On5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpmb250RmFtaWx5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6YmFzZVBhbGV0
dGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpz
ZXRGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZTo6c2V0QmFzZVBhbGV0dGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlOjppbml0aWFsaXplTWFwTGlrZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGU6OnNldEZyb21NYXBMaWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpjc3NUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZTo6cmVhdHRhY2gpOgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5
cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDogQWRkZWQu
CisgICAgICAgICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTUnVs
ZS5jcHA6CisgICAgICAgICogY3NzL0NTU1J1bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5p
ZGw6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Zh
bHVlOjplcXVhbHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1RleHQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAgICAq
IGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmlzRm9udFBhbGV0
dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6ZGVzdHJveSk6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpjb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNTU09NV3JhcHBlciBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXMpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZUJhc2U6OmlzRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGNvbnN0KToKKyAgICAgICAgKGlz
VHlwZSk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZVR5cGUuaDoKKyAgICAgICAgKiBjc3MvU3R5
bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRyYXZlcnNlUnVsZXNJblZl
Y3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVNoZWV0Q29udGVudHM6OnRyYXZlcnNlU3Vi
cmVzb3VyY2VzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmNzc0F0UnVsZUlEKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NT
U0F0UnVsZUlELmg6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVBdFJ1bGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6Y29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJJbXBsOjpjb25zdW1lRGVjbGFyYXRpb24pOgorICAg
ICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oOgorICAgICAgICAqIGNzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJz
ZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVz
Y3JpcHRvcik6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0
b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udFBhbGV0
dGVWYWx1ZXNEZXNjcmlwdG9yKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VyLmg6CisKIDIwMjEtMDktMTYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiBuc0RhdGEgdW5kZXIgRGF0YVVSTFJlc291cmNlTWVk
aWFMb2FkZXI6OkRhdGFVUkxSZXNvdXJjZU1lZGlhTG9hZGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGUzMDI4MTYxOWJmYmVhMWVj
MmZmM2Q2ODQ0ZGI2YjQyYzNmMjNmMzEuLjc5MzdmNGEzZTQ1MWE5MjcxMzk1MjU5OWZlYzI5OTBk
N2EwYzdlY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdApAQCAtNjgyLDYgKzY4Miw3IEBAICQoUFJPSkVDVF9ESVIpL2NyeXB0by9wYXJhbWV0
ZXJzL1JzYVBzc1BhcmFtcy5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NDb25kaXRpb25SdWxl
LmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuaWRsCiAkKFBST0pF
Q1RfRElSKS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbAorJChQUk9KRUNUX0RJUikvY3NzL0NTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NHcm91cGluZ1J1
bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwKICQoUFJPSkVDVF9E
SVIpL2Nzcy9DU1NLZXlmcmFtZVJ1bGUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGFhYzUyNDAwYmE2ZGE3M2ZiNzgxYjc4YjBj
NmI5MDQ3MzBjOGE4YjAuLjRjODc3NWQwN2I3MDE0NWU1MmE2YWFlNjg4ZDAyZTkyYTdiZGZjYTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CkBAIC0zMDAsNiArMzAwLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNDU1NDb3VudGVyU3R5bGVSdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NDb3VudGVyU3R5bGVSdWxlLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250
RmFjZVJ1bGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0dyb3VwaW5nUnVsZS5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTR3Jv
dXBpbmdSdWxlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ1NTSW1wb3J0UnVsZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRh
NjQ5YjMzNWJlYjAxMzAzM2YwM2RlZDJlOTM4ZDJhODQ2OGQ0MTEuLjZlOGYwODQ1ODJhMjIyZmE5
MzAyMjc3NDUwODMyOTFiYmJlYTQwYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxz
YW0ud2VpbmlnQGdtYWlsLmNvbT4KICMgQ29weXJpZ2h0IChDKSAyMDA5IENhbWVyb24gTWNDb3Jt
YWNrIDxjYW1AbWNjLmlkLmF1PgogIwpAQCAtNTc1LDYgKzU3NSw3IEBAIEpTX0JJTkRJTkdfSURM
UyA6PSBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTQ29uZGl0aW9uUnVsZS5pZGwgXAogICAgICQo
V2ViQ29yZSkvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nz
cy9DU1NGb250RmFjZVJ1bGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2Nzcy9DU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NHcm91cGluZ1J1bGUuaWRs
IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NJbXBvcnRSdWxlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDJiODRiYWE1OTU0
NWMzYTNmMjQ0YzVmMjJmZWZlODIzMGZiZDcwZjIuLmY0MTllODIwNDU1ZGNiYzhlZTVkYzEzOGRi
OGE2MmU3NzM5ZmVhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xLDQgKzEsNCBAQAotLy8gQ29weXJp
Z2h0IChDKSAyMDE3LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29w
eXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8K
IC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NTcsNiArNjU3LDggQEAgY3NzL0NTU0Zv
bnRGYWNlU2V0LmNwcAogY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAogY3NzL0NTU0ZvbnRGYWNl
U3JjVmFsdWUuY3BwCiBjc3MvQ1NTRm9udEZlYXR1cmVWYWx1ZS5jcHAKK2Nzcy9DU1NGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAKK2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUuY3BwCiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAogY3NzL0NTU0ZvbnRTdHlsZVJhbmdl
VmFsdWUuY3BwCiBjc3MvQ1NTRm9udFN0eWxlVmFsdWUuY3BwCkBAIC0yODA5LDYgKzI4MTEsNyBA
QCBKU0NTU0FuaW1hdGlvbi5jcHAKIEpTQ1NTQ29uZGl0aW9uUnVsZS5jcHAKIEpTQ1NTQ291bnRl
clN0eWxlUnVsZS5jcHAKIEpTQ1NTRm9udEZhY2VSdWxlLmNwcAorSlNDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUuY3BwCiBKU0NTU0dyb3VwaW5nUnVsZS5jcHAKIEpTQ1NTSW1wb3J0UnVsZS5jcHAK
IEpTQ1NTS2V5ZnJhbWVSdWxlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM3NTg0MzA2MTc3ZDg2NWI0OWUxOWI3ZTAzOWRl
ZGY1MDBmMTNkNmQuLjJkNTg3MWE0ZGI2MzI2YjU1Y2FhZWRlMTZjZTA1NDZkMjQ4YzIzMGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTY2Miw2ICs2NjIsNyBAQAogCQkxQ0U4ODY0MTI2MTA1QkYyMDAwQzgxNkMgLyogSW5NZW1v
cnlEaXNwbGF5TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUNFODg2M0YyNjEwNUE1RjAwMEM4MTZDIC8qIEluTWVtb3J5RGlzcGxheUxpc3QuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQ0U4RDEy
NzI2MTg1QzBFMDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNFOEQxMjUyNjE4
NUJEODAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlbUJ1ZmZlcklkZW50aWZpZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQ0U4RDEyRTI2MTg2
MUM0MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNFOEQxMkMyNjE4NjE2NDAwRkMzQUVGIC8qIERp
c3BsYXlMaXN0SXRlcmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkxQ0VBQTUzMjI2RjMzNkZDMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDRUFBNTMxMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oICovOyB9OwogCQkxQ0ZBRTMyMzBBNkQ2QTNGMDAz
MjU5M0QgLyogbGlib2JqYy5keWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDRkFFMzIyMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5bGli
ICovOyB9OwogCQkxRDAwMjZBNDIzNzRENjI0MDBDQTZDREYgLyogSlNQaWN0dXJlSW5QaWN0dXJl
V2luZG93LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
RDAwMjZBMjIzNzRENjIzMDBDQTZDREYgLyogSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmggKi87
IH07CiAJCTFEMDAyNkFBMjM3NEY5RUEwMENBNkNERiAvKiBKU0VudGVyUGljdHVyZUluUGljdHVy
ZUV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
RDAwMjZBODIzNzRGOUQ5MDBDQTZDREYgLyogSlNFbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5o
ICovOyB9OwpAQCAtNzA1Nyw2ICs3MDU4LDExIEBACiAJCTFDRThEMTI1MjYxODVCRDgwMEZDM0FF
RiAvKiBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERp
c3BsYXlMaXN0SXRlbUJ1ZmZlcklkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUNFOEQxMkIyNjE4NjE2NDAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlcmF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRGlzcGxheUxpc3RJdGVyYXRvci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDRThEMTJDMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlz
dEl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpc3BsYXlMaXN0SXRlcmF0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MkMyNkYzMUEzQzAwODY4NTA3IC8qIENTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VBQTUyRDI2
RjMxQTNDMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQ0VBQTUyRjI2RjMxQUY4MDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxQ0VBQTUzMDI2RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxQ0VBQTUzMTI2RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNP
dmVycmlkZUNvbG9yVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNP
dmVycmlkZUNvbG9yVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGMEJG
RDQyMjk4NzA2ODAwRUQyMDc0IC8qIFRleHRTaXplQWRqdXN0bWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBUZXh0U2l6ZUFkanVzdG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQ0YxOEYzQzI2QkI1QUYyMDA0QjE3MjIgLyogTG9nSW5pdGlhbGl6YXRpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTG9nSW5pdGlhbGl6YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0QgLyogbGlib2JqYy5keWxpYiAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9ICJjb21waWxl
ZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGlib2JqYy5keWxpYjsgcGF0aCA9IC91c3IvbGliL2xp
Ym9iamMuZHlsaWI7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CkBAIC0yOTQ4NCw2ICsy
OTQ5MCwxMSBAQAogCQkJCTgzNTIwQzdEMUE3MUJGQ0MwMDZCRDJBQSAvKiBDU1NGb250RmFtaWx5
LmggKi8sCiAJCQkJNEE2RTlGQzExM0MxN0QxRDAwNDZBN0Y4IC8qIENTU0ZvbnRGZWF0dXJlVmFs
dWUuY3BwICovLAogCQkJCTRBNkU5RkMyMTNDMTdEMUQwMDQ2QTdGOCAvKiBDU1NGb250RmVhdHVy
ZVZhbHVlLmggKi8sCisJCQkJMUNFQUE1MzAyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcCAqLywKKwkJCQkxQ0VBQTUzMTI2RjMzMUMx
MDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCAqLywK
KwkJCQkxQ0VBQTUyQzI2RjMxQTNDMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
LmNwcCAqLywKKwkJCQkxQ0VBQTUyRDI2RjMxQTNDMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlLmggKi8sCisJCQkJMUNFQUE1MkYyNkYzMUFGODAwODY4NTA3IC8qIENTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS5pZGwgKi8sCiAJCQkJQkM2NEI0RDMwQ0I0Mjk4QTAwNUYyQjYyIC8q
IENTU0ZvbnRTZWxlY3Rvci5jcHAgKi8sCiAJCQkJQkM2NEI0RDQwQ0I0Mjk4QTAwNUYyQjYyIC8q
IENTU0ZvbnRTZWxlY3Rvci5oICovLAogCQkJCUMyRTM4RUZGMUU4NDU3MzUwMENBM0FERiAvKiBD
U1NGb250U3R5bGVSYW5nZVZhbHVlLmNwcCAqLywKQEAgLTMxODU4LDYgKzMxODY5LDcgQEAKIAkJ
CQlCQzY0QjREQTBDQjQyOThBMDA1RjJCNjIgLyogQ1NTRm9udEZhY2VTcmNWYWx1ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODM1MjBDN0UxQTcxQkZDQzAwNkJEMkFBIC8qIENTU0ZvbnRGYW1pbHku
aCBpbiBIZWFkZXJzICovLAogCQkJCTRBNkU5RkM0MTNDMTdEMUQwMDQ2QTdGOCAvKiBDU1NGb250
RmVhdHVyZVZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkxQ0VBQTUzMjI2RjMzNkZDMDA4Njg1
MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNjRCNERDMENCNDI5OEEwMDVGMkI2MiAvKiBDU1NGb250U2VsZWN0b3IuaCBp
biBIZWFkZXJzICovLAogCQkJCUMyRTM4RjAyMUU4NDU3MzUwMENBM0FERiAvKiBDU1NGb250U3R5
bGVSYW5nZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMkUzOEVGRTFFODM5NkZEMDBDQTNB
REYgLyogQ1NTRm9udFN0eWxlVmFsdWUuaCBpbiBIZWFkZXJzICovLApAQCAtMzMxMzIsNyArMzMx
NDQsNiBAQAogCQkJCUJDNjkzMjc0MEQ3RTI5MzkwMEFFNDREMSAvKiBKU0RPTVdpbmRvd0Jhc2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTY1MkZCQkJDMERFMjdDQjYwMDAxRDM4NiAvKiBKU0RPTVdp
bmRvd0N1c3RvbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDYwQ0JGMzYxRDRCQ0QwRTAwOTJFODhF
IC8qIEpTRE9NV2luZG93UHJvcGVydGllcy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDEwQkNGNTYy
NkYwQ0Q4QzAwNDBCMTI0IC8qIFJUQ0xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNjVFMEU5NDQxMTMzQzg5RjAwQjRDQjEwIC8qIEpTRE9NV3JhcHBlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0NUM5RDMxRTNGQ0JENzAwQUFCNTU4IC8qIEpTRE9NV3Jh
cHBlckNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0E4MDYxRTFFMDNCNTg1MDA4QTFGMjYg
LyogSlNEb3VibGVSYW5nZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNDc0Miw2ICszNDc1Myw3IEBA
CiAJCQkJMDdBQjk5NkIxOERBM0MwMTAwMTg3NzFFIC8qIFJUQ0ljZVNlcnZlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzEzNTkxMDgxRTdEREM3MzAwRjMwNjMwIC8qIFJUQ0ljZVRyYW5zcG9ydFBv
bGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzEzNTkxMDkxRTdEREM3MzAwRjMwNjMwIC8qIFJU
Q0ljZVRyYW5zcG9ydFN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTBCQ0Y1NjI2RjBDRDhD
MDA0MEIxMjQgLyogUlRDTG9jYWxTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmggaW4gSGVhZGVycyAq
LywKIAkJCQk0MUMxNEJDNjI2REU2REU4MDA2ODVCRjUgLyogUlRDTmV0d29ya01hbmFnZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTA3Mzc5NEZFMTlGNTg2NEUwMEU1QTA0NSAvKiBSVENOb3RpZmll
cnNNb2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzM3OTRERTE5RUUyQzUyMDBFNUEwNDUgLyog
UlRDT2ZmZXJBbnN3ZXJPcHRpb25zLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCmluZGV4IDc1MGUwMGMzODdmYmQyNzhl
NTg1ZmVjNmJkMzRkMjA1MDcxY2M1ZDMuLjhjNGM1NjE1YTM5ZjcxMzk1ZDdkYzdlOWI4ZmU3OWY2
MTk3YzkyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVs
ZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3Vz
dG9tLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0eWxlUnVs
ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZS5oIgogI2luY2x1ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJD
U1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZXNSdWxlLmgiCkBAIC0zOCw2
ICszOSw3IEBACiAjaW5jbHVkZSAiQ1NTU3VwcG9ydHNSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1ND
b3VudGVyU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNs
dWRlICJKU0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTSW1wb3J0
UnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NL
ZXlmcmFtZXNSdWxlLmgiCkBAIC03MCw2ICs3Miw4IEBAIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxD
CiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU01lZGlhUnVsZT4oZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKHJ1bGUpKTsKICAgICBjYXNlIENTU1J1bGU6OkZPTlRfRkFDRV9SVUxFOgogICAg
ICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NGb250RmFjZVJ1bGU+KGdsb2JhbE9iamVjdCwg
V1RGTW92ZShydWxlKSk7CisgICAgY2FzZSBDU1NSdWxlOjpGT05UX1BBTEVUVEVfVkFMVUVTX1JV
TEU6CisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHJ1bGUpKTsKICAgICBjYXNlIENTU1J1bGU6OlBBR0Vf
UlVMRToKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTUGFnZVJ1bGU+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxlOjpJTVBPUlRfUlVMRToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAK
aW5kZXggNjRjYTFmY2IyYmRhMWYzM2VmMzk5Y2EwNzBiYjE5NDJjZDRjZmRlNi4uMjgwNWM4OWI0
OGMxOTM4NDBhZmYwODBmY2M0MjY4OGNlMzI2OGRmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTEsNiArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDA0IFphY2sgUnVzaW4gPHphY2tAa2RlLm9yZz4KLSAqIENv
cHlyaWdodCAoQykgMjAwNC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqIENvcHlyaWdodCAoQykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQub3Jn
PgogICogQ29weXJpZ2h0IChDKSAyMDA3IE5pY2hvbGFzIFNoYW5rcyA8d2Via2l0QG5pY2tzaGFu
a3MuY29tPgogICogQ29weXJpZ2h0IChDKSAyMDExIFNlbmNoYSwgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgpAQCAtNDA1NCw2ICs0MDU0LDExIEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRT
dHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGb250RGlzcGxheToKICAgICAgICAgICAgIGJyZWFrOwog
CisgICAgICAgIC8qIFVuaW1wbGVtZW50ZWQgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgcHJvcGVydGll
cyAqLworICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFzZVBhbGV0dGU6CisgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlPdmVycmlkZUNvbG9yOgorICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAg
LyogT3RoZXIgdW5pbXBsZW1lbnRlZCBwcm9wZXJ0aWVzICovCiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlQYWdlOiAvLyBmb3IgQHBhZ2UKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVNpemU6IC8v
IGZvciBAcGFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRl
VmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzZkNDZjMmEx
MWZhYmZkMWYyNzUwN2Y0YjMzMzEzN2U2NjRiN2YzZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAK
QEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVl
c092ZXJyaWRlQ29sb3JWYWx1ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1N0cmluZyBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1ha2VTdHJpbmcobV9rZXktPmNzc1RleHQoKSwgIiAiLCBtX2Nv
bG9yLT5jc3NUZXh0KCkpOworfQorCitib29sIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVD
b2xvclZhbHVlOjplcXVhbHMoY29uc3QgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9y
VmFsdWUmIG90aGVyKSBjb25zdAoreworICAgIHJldHVybiBtX2tleS0+ZXF1YWxzKG90aGVyLmtl
eSgpKSAmJiBtX2NvbG9yLT5lcXVhbHMob3RoZXIuY29sb3IoKSk7Cit9CisKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JW
YWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVD
b2xvclZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjcxOTBiYmM5MjcwMmRiM2E2OTkwYTdjOThhZWFmMjE0
NGJmNmY3YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgIkNTU1ZhbHVlLmgiCisjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKKyNp
bmNsdWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24u
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBDYWNoZWRGb250OworY2xhc3MgRm9udExvYWRSZXF1ZXN0OworY2xhc3MgU1ZH
Rm9udEZhY2VFbGVtZW50OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3Mg
Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUgZmluYWwgOiBwdWJsaWMgQ1NT
VmFsdWUgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVy
cmlkZUNvbG9yVmFsdWU+IGNyZWF0ZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYga2V5LCBSZWY8
Q1NTUHJpbWl0aXZlVmFsdWU+JiYgY29sb3IpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZShXVEZNb3ZlKGtl
eSksIFdURk1vdmUoY29sb3IpKSk7CisgICAgfQorCisgICAgY29uc3QgQ1NTUHJpbWl0aXZlVmFs
dWUmIGtleSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9rZXkuZ2V0KCk7CisgICAg
fQorCisgICAgY29uc3QgQ1NTUHJpbWl0aXZlVmFsdWUmIGNvbG9yKCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIHJldHVybiBtX2NvbG9yLmdldCgpOworICAgIH0KKworICAgIFN0cmluZyBjdXN0b21D
U1NUZXh0KCkgY29uc3Q7CisKKyAgICBib29sIGVxdWFscyhjb25zdCBDU1NGb250UGFsZXR0ZVZh
bHVlc092ZXJyaWRlQ29sb3JWYWx1ZSYpIGNvbnN0OworCitwcml2YXRlOgorICAgIENTU0ZvbnRQ
YWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlKFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4mJiBr
ZXksIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4mJiBjb2xvcikKKyAgICAgICAgOiBDU1NWYWx1ZShG
b250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzcykKKyAgICAgICAgLCBtX2tleShXVEZN
b3ZlKGtleSkpCisgICAgICAgICwgbV9jb2xvcihXVEZNb3ZlKGNvbG9yKSkKKyAgICB7CisgICAg
fQorCisgICAgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiBtX2tleTsKKyAgICBSZWY8Q1NTUHJpbWl0
aXZlVmFsdWU+IG1fY29sb3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1ZBTFVFKENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVD
b2xvclZhbHVlLCBpc0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE4Y2M3NDE1OTExODljYjY4Y2UzYzI5YzBhMGFlMTQ4Yzk5MWI1MTYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcApA
QCAtMCwwICsxLDEzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUuaCIKKworI2luY2x1ZGUgIkNvbG9yU2VyaWFsaXphdGlvbi5oIgorI2luY2x1ZGUgIkpT
RE9NTWFwTGlrZS5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5o
IgorI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgorI2luY2x1ZGUgIlN0eWxlUnVsZS5oIgor
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZShT
dHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyYgZm9udFBhbGV0dGVWYWx1ZXNSdWxlLCBDU1NTdHls
ZVNoZWV0KiBwYXJlbnQpCisgICAgOiBDU1NSdWxlKHBhcmVudCkKKyAgICAsIG1fZm9udFBhbGV0
dGVWYWx1ZXNSdWxlKGZvbnRQYWxldHRlVmFsdWVzUnVsZSkKK3sKK30KKworQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjp+Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKCkKK3sKK30KKworU3RyaW5n
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Zm9udEZhbWlseSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5mb250RmFtaWx5KCk7Cit9CisKK1N0cmluZyBD
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmJhc2VQYWxldHRlKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwg
WyZdKGludDY0X3QgaW5kZXgpIHsKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoaW5kZXgpOwor
ICAgIH0sIFsmXShjb25zdCBBdG9tU3RyaW5nJiBiYXNlUGFsZXR0ZSkgLT4gU3RyaW5nIHsKKyAg
ICAgICAgaWYgKCFiYXNlUGFsZXR0ZS5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBiYXNl
UGFsZXR0ZS5zdHJpbmcoKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmVtcHR5KCk7Cisg
ICAgfSk7Cit9CisKK3ZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpzZXRGb250RmFtaWx5
KFN0cmluZyYmIGZvbnRGYW1pbHkpCit7CisgICAgVU5VU0VEX1BBUkFNKGZvbnRGYW1pbHkpOwor
ICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4KK30KKwordm9pZCBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGU6OnNldEJhc2VQYWxldHRlKFN0cmluZyYmIGJhc2VQYWxldHRlKQoreworICAgIFVO
VVNFRF9QQVJBTShiYXNlUGFsZXR0ZSk7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgor
fQorCit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6aW5pdGlhbGl6ZU1hcExpa2UoRE9N
TWFwQWRhcHRlciYgbWFwKQoreworICAgIGZvciAoYXV0byYgcGFpciA6IG1fZm9udFBhbGV0dGVW
YWx1ZXNSdWxlLT5vdmVycmlkZUNvbG9yKCkpIHsKKyAgICAgICAgaWYgKCFXVEY6OmhvbGRzX2Fs
dGVybmF0aXZlPGludDY0X3Q+KHBhaXIuZmlyc3QpKQorICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgIG1hcC5zZXQ8SURMVW5zaWduZWRMb25nLCBJRExVU1ZTdHJpbmc+KFdURjo6Z2V0PGlu
dDY0X3Q+KHBhaXIuZmlyc3QpLCBzZXJpYWxpemF0aW9uRm9yQ1NTKHBhaXIuc2Vjb25kKSk7Cisg
ICAgfQorfQorCit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0RnJvbU1hcExpa2Uo
dW5zaWduZWQga2V5LCBTdHJpbmcmJiB2YWx1ZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oa2V5KTsK
KyAgICBVTlVTRURfUEFSQU0odmFsdWUpOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4K
K30KKwordm9pZCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmNsZWFyKCkKK3sKKyAgICBtX2Zv
bnRQYWxldHRlVmFsdWVzUnVsZS0+Y2xlYXJPdmVycmlkZUNvbG9yKCk7Cit9CisKK2Jvb2wgQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpyZW1vdmUodW5zaWduZWQga2V5KQoreworICAgIHJldHVy
biBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+cmVtb3ZlKGtleSk7Cit9CisKK1N0cmluZyBDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZ0J1aWxk
ZXIgYnVpbGRlcjsKKyAgICBidWlsZGVyLmFwcGVuZCgiQGZvbnQtcGFsZXR0ZS12YWx1ZXMgIiwg
bV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm5hbWUoKSwgIiB7ICIpOworICAgIGlmICghbV9mb250
UGFsZXR0ZVZhbHVlc1J1bGUtPmZvbnRGYW1pbHkoKS5pc051bGwoKSkKKyAgICAgICAgYnVpbGRl
ci5hcHBlbmQoImZvbnQtZmFtaWx5OiAiLCBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+Zm9udEZh
bWlseSgpLCAiOyAiKTsKKyAgICBXVEY6OnN3aXRjaE9uKG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxl
LT5iYXNlUGFsZXR0ZSgpLCBbJl0oaW50NjRfdCBpbmRleCkgeworICAgICAgICBidWlsZGVyLmFw
cGVuZCgiYmFzZS1wYWxldHRlOiAiLCBpbmRleCwgIjsgIik7CisgICAgfSwgWyZdKGNvbnN0IEF0
b21TdHJpbmcmIGJhc2VQYWxldHRlKSB7CisgICAgICAgIGlmICghYmFzZVBhbGV0dGUuaXNOdWxs
KCkpCisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiYmFzZS1wYWxldHRlOiAiLCBzZXJpYWxp
emVTdHJpbmcoYmFzZVBhbGV0dGUuc3RyaW5nKCkpLCAiOyAiKTsKKyAgICB9KTsKKyAgICBpZiAo
IW1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5vdmVycmlkZUNvbG9yKCkuaXNFbXB0eSgpKSB7Cisg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJvdmVycmlkZS1jb2xvcjoiKTsKKyAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+b3ZlcnJpZGVDb2xvcigp
LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICBidWls
ZGVyLmFwcGVuZCgnLCcpOworICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKKyAgICAg
ICAgICAgIFdURjo6c3dpdGNoT24obV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29s
b3IoKVtpXS5maXJzdCwgWyZdKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUpIHsKKyAgICAgICAgICAg
ICAgICBidWlsZGVyLmFwcGVuZChzZXJpYWxpemVTdHJpbmcobmFtZS5zdHJpbmcoKSkpOworICAg
ICAgICAgICAgfSwgWyZdKGludDY0X3QgaW5kZXgpIHsKKyAgICAgICAgICAgICAgICBidWlsZGVy
LmFwcGVuZChpbmRleCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBw
ZW5kKCcgJywgc2VyaWFsaXphdGlvbkZvckNTUyhtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+b3Zl
cnJpZGVDb2xvcigpW2ldLnNlY29uZCkpOworICAgICAgICB9CisgICAgICAgIGJ1aWxkZXIuYXBw
ZW5kKCI7ICIpOworICAgIH0KKyAgICBidWlsZGVyLmFwcGVuZCgifSIpOworICAgIHJldHVybiBi
dWlsZGVyLnRvU3RyaW5nKCk7Cit9CisKK3ZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpy
ZWF0dGFjaChTdHlsZVJ1bGVCYXNlJiBydWxlKQoreworICAgIG1fZm9udFBhbGV0dGVWYWx1ZXNS
dWxlID0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmPihydWxlKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhYWZmOTQwYmZhMDc5ZTI4ODRhNDc3OTI0
ZDM0YTI1ZmNjZDYxOGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAi
Q1NTUnVsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1N0eWxlRGVjbGFy
YXRpb247CitjbGFzcyBET01NYXBBZGFwdGVyOworY2xhc3MgU3R5bGVSdWxlRm9udEZhY2U7Citj
bGFzcyBTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uOworCitjbGFzcyBDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUgZmluYWwgOiBwdWJsaWMgQ1NTUnVsZSB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFJlZjxDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU+IGNyZWF0ZShTdHlsZVJ1bGVGb250UGFsZXR0
ZVZhbHVlcyYgcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKHJ1bGUsIHNoZWV0KSk7IH0KKworICAgIHZpcnR1
YWwgfkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgpOworCisgICAgU3RyaW5nIGZvbnRGYW1pbHko
KSBjb25zdDsKKyAgICBTdHJpbmcgYmFzZVBhbGV0dGUoKSBjb25zdDsKKworICAgIHZvaWQgc2V0
Rm9udEZhbWlseShTdHJpbmcmJik7CisgICAgdm9pZCBzZXRCYXNlUGFsZXR0ZShTdHJpbmcmJik7
CisKKyAgICB2b2lkIGluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXImKTsKKyAgICB2b2lk
IHNldEZyb21NYXBMaWtlKHVuc2lnbmVkIGtleSwgU3RyaW5nJiYgdmFsdWUpOworICAgIHZvaWQg
Y2xlYXIoKTsKKyAgICBib29sIHJlbW92ZSh1bnNpZ25lZCBrZXkpOworCitwcml2YXRlOgorICAg
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZShTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyYsIENT
U1N0eWxlU2hlZXQqIHBhcmVudCk7CisKKyAgICBDU1NSdWxlOjpUeXBlIHR5cGUoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEU7IH0KKyAgICBTdHJpbmcgY3Nz
VGV4dCgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFzZSYpIGZp
bmFsOworCisgICAgUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBtX2ZvbnRQYWxldHRl
VmFsdWVzUnVsZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19DU1NfUlVMRShDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUsIENTU1J1bGU6OkZP
TlRfUEFMRVRURV9WQUxVRVNfUlVMRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE1ZjYxMjE3MjMyOGUwOWY3M2VlNTk2
MDcwZGJkZGQ0ODIyNDI1NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCit0eXBlZGVmIFVT
VlN0cmluZyBDU1NPTVN0cmluZzsKKworWworICAgIEV4cG9zZWQ9V2luZG93CitdIGludGVyZmFj
ZSBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgOiBDU1NSdWxlIHsKKyAgICBtYXBsaWtlPHVuc2ln
bmVkIGxvbmcsIENTU09NU3RyaW5nPjsKKyAgICBhdHRyaWJ1dGUgQ1NTT01TdHJpbmcgZm9udEZh
bWlseTsKKyAgICBhdHRyaWJ1dGUgQ1NTT01TdHJpbmcgYmFzZVBhbGV0dGU7Cit9OworCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCBhOGJjODk1ZjYzYzAyNTcxMDRkZDNj
NDhjODE2MTRiOTFhYTUwNjliLi5kNDExN2FmOTcyOGJiNjRiZjQ3YzkwNmM1ZjFlMGQxMmJjODQ0
NzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTQwNzUsNiArNDA3
NSwyNiBAQAogICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nz
cy1mb250cy0zLyNzcmMtZGVzYyIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAg
ImJhc2UtcGFsZXR0ZSI6IHsKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Cisg
ICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUsCisgICAgICAgICAgICAgICAgImRl
c2NyaXB0b3Itb25seSI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lm
aWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWZvbnRzIiwKKyAg
ICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMt
NC8jYmFzZS1wYWxldHRlLWRlc2MiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAg
ICJvdmVycmlkZS1jb2xvciI6IHsKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7
CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUsCisgICAgICAgICAgICAgICAg
ImRlc2NyaXB0b3Itb25seSI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3Bl
Y2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWZvbnRzIiwK
KyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9u
dHMtNC8jb3ZlcnJpZGUtY29sb3IiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAg
ICJzdG9wLWNvbG9yIjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKICAg
ICAgICAgICAgICAgICAiY29udmVydGVyIjogIlNWR0NvbG9yIiwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNw
cAppbmRleCAwZjNjNDM5NGQ5NWUyMzcwNmU0OGY0ZTI5YWZiNDg0ZmJmZGMzODAyLi5lZDVkODYw
ZmQyMzdjNWZkYTQ5NjM5ODJmMjc0YjFiNmRlODVkZjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3Bw
CkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxA
a2RlLm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcp
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMTIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAyIC0gMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTQ1LDkg
KzQ1LDE3IEBAIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlID09IHN0YXRp
Y19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5CiBDT01QSUxFX0FTU0VSVChTdHlsZVJ1
bGVUeXBlOjpQYWdlID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6
OlBBR0VfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CiBDT01QSUxFX0FTU0VSVChTdHlsZVJ1
bGVUeXBlOjpLZXlmcmFtZXMgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6
VHlwZTo6S0VZRlJBTUVTX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElMRV9BU1NF
UlQoU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWUgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4o
Q1NTUnVsZTo6VHlwZTo6S0VZRlJBTUVfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CitDT01Q
SUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpNYXJnaW4gPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxl
VHlwZT4oQ1NTUnVsZTo6VHlwZTo6TUFSR0lOX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwog
Q09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6TmFtZXNwYWNlID09IHN0YXRpY19jYXN0PFN0
eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6Ok5BTUVTUEFDRV9SVUxFKSwgZW51bXNfc2hvdWxk
X21hdGNoKTsKIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZSA9PSBz
dGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpDT1VOVEVSX1NUWUxFX1JV
TEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6
U3VwcG9ydHMgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6U1VQ
UE9SVFNfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CitDT01QSUxFX0FTU0VSVChTdHlsZVJ1
bGVUeXBlOjpEb2N1bWVudCA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpU
eXBlOjpET0NVTUVOVF9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKK0NPTVBJTEVfQVNTRVJU
KFN0eWxlUnVsZVR5cGU6OkZvbnRGZWF0dXJlVmFsdWVzID09IHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVR5cGU+KENTU1J1bGU6OlR5cGU6OkZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSksIGVudW1zX3No
b3VsZF9tYXRjaCk7CitDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpWaWV3cG9ydCA9PSBz
dGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpWSUVXUE9SVF9SVUxFKSwg
ZW51bXNfc2hvdWxkX21hdGNoKTsKK0NPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OlJlZ2lv
blN0eWxlID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6OlJFR0lP
Tl9TVFlMRV9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKK0NPTVBJTEVfQVNTRVJUKFN0eWxl
UnVsZVR5cGU6OkN1c3RvbU1lZGlhID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1
bGU6OlR5cGU6OkNVU1RPTV9NRURJQV9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKK0NPTVBJ
TEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OlByb3BlcnR5ID09IHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVR5cGU+KENTU1J1bGU6OlR5cGU6OlBST1BFUlRZX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gp
OworQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMgPT0gc3Rh
dGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6Rk9OVF9QQUxFVFRFX1ZBTFVF
U19SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKIAogRXhjZXB0aW9uT3I8dm9pZD4gQ1NTUnVs
ZTo6c2V0Q3NzVGV4dChjb25zdCBTdHJpbmcmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKaW5kZXggN2Vm
YjNhMTdiZTRiNDMxMWQ0NTA2MDJjZDcxODBiNDE2MDNjZjcxNC4uYmM0OTI2Yjg0MDg0OGZlMTk1
NmQ2ODZiNDU5YTM1ZTkyMThmYTRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCkBAIC0xLDcgKzEsNyBA
QAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAqIChD
KSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgQW5kcmVhcyBLbGluZyAoa2xpbmdAd2Via2l0Lm9yZykKICAqCiAgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCkBAIC0zOCwxOSArMzgsMjcgQEAgcHVibGljOgogCiAgICAgLy8gV2ViSURMIGVudW0KICAg
ICBlbnVtIFR5cGUgewotICAgICAgICBVTktOT1dOX1JVTEUsCi0gICAgICAgIFNUWUxFX1JVTEUs
Ci0gICAgICAgIENIQVJTRVRfUlVMRSwKLSAgICAgICAgSU1QT1JUX1JVTEUsCi0gICAgICAgIE1F
RElBX1JVTEUsCi0gICAgICAgIEZPTlRfRkFDRV9SVUxFLAotICAgICAgICBQQUdFX1JVTEUsCi0g
ICAgICAgIEtFWUZSQU1FU19SVUxFLAotICAgICAgICBLRVlGUkFNRV9SVUxFLAotICAgICAgICBN
QVJHSU5fUlVMRSwKLSAgICAgICAgTkFNRVNQQUNFX1JVTEUsCi0gICAgICAgIENPVU5URVJfU1RZ
TEVfUlVMRSwKLSAgICAgICAgU1VQUE9SVFNfUlVMRQorICAgICAgICBVTktOT1dOX1JVTEUgPSAw
LAorICAgICAgICBTVFlMRV9SVUxFID0gMSwKKyAgICAgICAgQ0hBUlNFVF9SVUxFID0gMiwKKyAg
ICAgICAgSU1QT1JUX1JVTEUgPSAzLAorICAgICAgICBNRURJQV9SVUxFID0gNCwKKyAgICAgICAg
Rk9OVF9GQUNFX1JVTEUgPSA1LAorICAgICAgICBQQUdFX1JVTEUgPSA2LAorICAgICAgICBLRVlG
UkFNRVNfUlVMRSA9IDcsCisgICAgICAgIEtFWUZSQU1FX1JVTEUgPSA4LAorICAgICAgICBNQVJH
SU5fUlVMRSA9IDksCisgICAgICAgIE5BTUVTUEFDRV9SVUxFID0gMTAsCisgICAgICAgIENPVU5U
RVJfU1RZTEVfUlVMRSA9IDExLAorICAgICAgICBTVVBQT1JUU19SVUxFID0gMTIsCisgICAgICAg
IERPQ1VNRU5UX1JVTEUgPSAxMywKKyAgICAgICAgRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFID0g
MTQsCisgICAgICAgIFZJRVdQT1JUX1JVTEUgPSAxNSwKKyAgICAgICAgUkVHSU9OX1NUWUxFX1JV
TEUgPSAxNiwKKyAgICAgICAgQ1VTVE9NX01FRElBX1JVTEUgPSAxNywKKyAgICAgICAgUFJPUEVS
VFlfUlVMRSA9IDE4LAorICAgICAgICBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUgPSAxOSwgLy8g
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzY2MjMKKyAgICAgICAg
TEFZRVJfUlVMRSA9IDIwCiAgICAgfTsKIAogICAgIGVudW0gRGVwcmVjYXRlZFR5cGUgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1J1bGUuaWRsCmluZGV4IGYzZTY2MTM3ZDc2MzczMGMzN2YwMjNhMTYzM2UzMmVmODI1
MGViNTYuLmNmZTNiZTA3MjNhMGQ5MDU2MTgzZjM1MDEwYWRhZmQyYjk2NGQ2ZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUnVsZS5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2
LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
QEAgLTQ0LDYgKzQ0LDEzIEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTkFNRVNQQUNFX1JV
TEUgPSAxMDsKICAgICBbRW5hYmxlZEJ5U2V0dGluZz1DU1NDb3VudGVyU3R5bGVBdFJ1bGVzXSBj
b25zdCB1bnNpZ25lZCBzaG9ydCBDT1VOVEVSX1NUWUxFX1JVTEUgPSAxMTsKICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBTVVBQT1JUU19SVUxFID0gMTI7CisgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgRE9DVU1FTlRfUlVMRSA9IDEzOworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEZPTlRfRkVB
VFVSRV9WQUxVRVNfUlVMRSA9IDE0OworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFZJRVdQT1JU
X1JVTEUgPSAxNTsKKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBSRUdJT05fU1RZTEVfUlVMRSA9
IDE2OworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENVU1RPTV9NRURJQV9SVUxFID0gMTc7Cisg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUFJPUEVSVFlfUlVMRSA9IDE4OworICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSA9IDE5OyAvKiBodHRwczovL2dp
dGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjYyMyAqLwogCiAgICAgLy8gTGVnYWN5
IHN5bm9ueW1zIGZvciB0aGUgYWJvdmUsIGtlcHQgdG8gYXZvaWQgYnJlYWtpbmcgZXhpc3Rpbmcg
Y29udGVudC4KICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBXRUJLSVRfS0VZRlJBTUVTX1JVTEUg
PSA3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKaW5kZXggODczNjlhYjBkYjUyZjBhMmU4YTNiYTJj
MDM5NTM2MDRjNDRkMTdlMi4uMTljYjczZWZlZDNkY2I4MDYwNzQyMTA5NjRkZWQ4NDZjNjA1NTVm
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHly
aWdodCAoQykgMjAxMSBBbmRyZWFzIEtsaW5nIChrbGluZ0B3ZWJraXQub3JnKQogICogQ29weXJp
Z2h0IChDKSAyMDEzIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzksNiArNDAsNyBAQAogI2lu
Y2x1ZGUgIkNTU0ZpbHRlckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNyY1Zh
bHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZlYXR1cmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0Zv
bnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFN0
eWxlUmFuZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRTdHlsZVZhbHVlLmgiCiAjaW5jbHVk
ZSAiQ1NTRm9udFZhbHVlLmgiCkBAIC0xNjQsNiArMTY2LDggQEAgYm9vbCBDU1NWYWx1ZTo6ZXF1
YWxzKGNvbnN0IENTU1ZhbHVlJiBvdGhlcikgY29uc3QKICAgICAgICAgICAgIHJldHVybiBjb21w
YXJlQ1NTVmFsdWVzPENTU0ZvbnRWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBG
b250RmFjZVNyY0NsYXNzOgogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NT
Rm9udEZhY2VTcmNWYWx1ZT4oKnRoaXMsIG90aGVyKTsKKyAgICAgICAgY2FzZSBGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczoKKyAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NT
VmFsdWVzPENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPigqdGhpcywgb3Ro
ZXIpOwogICAgICAgICBjYXNlIEZvbnRGZWF0dXJlQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4g
Y29tcGFyZUNTU1ZhbHVlczxDU1NGb250RmVhdHVyZVZhbHVlPigqdGhpcywgb3RoZXIpOwogICAg
ICAgICBjYXNlIEZvbnRWYXJpYXRpb25DbGFzczoKQEAgLTI2NCw2ICsyNjgsOCBAQCBTdHJpbmcg
Q1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9u
dFZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgRm9udEZhY2VTcmNDbGFz
czoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0ZvbnRGYWNlU3JjVmFsdWU+KCp0aGlzKS5j
dXN0b21DU1NUZXh0KCk7CisgICAgY2FzZSBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JD
bGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvclZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgRm9udEZlYXR1
cmVDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0ZvbnRGZWF0dXJlVmFsdWU+KCp0
aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBGb250VmFyaWF0aW9uQ2xhc3M6CkBAIC0z
NzcsNiArMzgzLDkgQEAgdm9pZCBDU1NWYWx1ZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBGb250RmFj
ZVNyY0NsYXNzOgogICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTRm9udEZhY2VTcmNWYWx1ZT4o
dGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvckNsYXNzOgorICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTRm9udFBhbGV0dGVWYWx1
ZXNPdmVycmlkZUNvbG9yVmFsdWU+KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBG
b250RmVhdHVyZUNsYXNzOgogICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTRm9udEZlYXR1cmVW
YWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggMjNl
YjVlYzM4Y2NlOTY5MGU1ZDhhYjQ0YjU2NTI0NWY4NzJkOTA1ZC4uYjMxYzk5MjBlYTQzMTc2ODkw
YjIwOTZhZWZiODlhMGZiN2NmM2YxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTEsNiArMSw2
IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICog
Q29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNCAtIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC05Nyw2ICs5Nyw3
IEBAIHB1YmxpYzoKICAgICBib29sIGlzRm9udEZlYXR1cmVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NUeXBlID09IEZvbnRGZWF0dXJlQ2xhc3M7IH0KICAgICBib29sIGlzRm9udFZhcmlh
dGlvblZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udFZhcmlhdGlvbkNs
YXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRGYWNlU3JjVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Ns
YXNzVHlwZSA9PSBGb250RmFjZVNyY0NsYXNzOyB9CisgICAgYm9vbCBpc0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9u
dFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3M7IH0KICAgICBib29sIGlzRm9udFZhbHVl
KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udENsYXNzOyB9CiAgICAgYm9vbCBp
c0ZvbnRTdHlsZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udFN0eWxl
Q2xhc3M7IH0KICAgICBib29sIGlzRm9udFN0eWxlUmFuZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NUeXBlID09IEZvbnRTdHlsZVJhbmdlQ2xhc3M7IH0KQEAgLTE4Nyw2ICsxODgsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgICAgIEZvbnRTdHlsZUNsYXNzLAogICAgICAgICBGb250U3R5bGVS
YW5nZUNsYXNzLAogICAgICAgICBGb250RmFjZVNyY0NsYXNzLAorICAgICAgICBGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzcywKICAgICAgICAgRnVuY3Rpb25DbGFzcywKIAogICAg
ICAgICBJbmhlcml0ZWRDbGFzcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKaW5kZXggNGIxNWMw
OTQ5ODk5YmJlM2RlZDk5MTRiZTliNmViMWU2NzgzMjVjMy4uNDIzMTBhOWEyM2MwMzE4N2QzZmI3
MWE0ZmQxNjA3ZjA2NzBlNWNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKQEAgLTEsNyAr
MSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQog
ICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHly
aWdodCAoQykgMjAwMi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAwMi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwpAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgIkNTU0NvdW50ZXJT
dHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NEZWZlcnJlZFBhcnNlci5oIgogI2luY2x1ZGUgIkNT
U0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oIgog
I2luY2x1ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZVJ1bGUuaCIK
ICNpbmNsdWRlICJDU1NLZXlmcmFtZXNSdWxlLmgiCkBAIC03MCw2ICs3MSw5IEBAIHZvaWQgU3R5
bGVSdWxlQmFzZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZToK
ICAgICAgICAgZGVsZXRlIGRvd25jYXN0PFN0eWxlUnVsZUZvbnRGYWNlPih0aGlzKTsKICAgICAg
ICAgcmV0dXJuOworICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXM6Cisg
ICAgICAgIGRlbGV0ZSBkb3duY2FzdDxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4odGhpcyk7
CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok1lZGlhOgogICAgICAg
ICBkZWxldGUgZG93bmNhc3Q8U3R5bGVSdWxlTWVkaWE+KHRoaXMpOwogICAgICAgICByZXR1cm47
CkBAIC05OCw2ICsxMDIsMTMgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KCkKICAgICAg
ICAgZGVsZXRlIGRvd25jYXN0PFN0eWxlUnVsZUxheWVyPih0aGlzKTsKICAgICAgICAgcmV0dXJu
OwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6VW5rbm93bjoKKyAgICBjYXNlIFN0eWxlUnVsZVR5
cGU6OkRvY3VtZW50OgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZlYXR1cmVWYWx1ZXM6
CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpWaWV3cG9ydDoKKyAgICBjYXNlIFN0eWxlUnVsZVR5
cGU6OlJlZ2lvblN0eWxlOgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Q3VzdG9tTWVkaWE6Cisg
ICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpNYXJnaW46CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpQ
cm9wZXJ0eToKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CkBAIC0xMTMsNiArMTI0LDggQEAgUmVmPFN0eWxlUnVsZUJhc2U+IFN0eWxlUnVsZUJh
c2U6OmNvcHkoKSBjb25zdAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8U3R5bGVSdWxlUGFnZT4o
KnRoaXMpLmNvcHkoKTsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOgogICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8U3R5bGVSdWxlRm9udEZhY2U+KCp0aGlzKS5jb3B5KCk7CisgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoKKyAgICAgICAgcmV0dXJuIGRv
d25jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPigqdGhpcykuY29weSgpOwogICAgIGNh
c2UgU3R5bGVSdWxlVHlwZTo6TWVkaWE6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1
bGVNZWRpYT4oKnRoaXMpLmNvcHkoKTsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlN1cHBvcnRz
OgpAQCAtMTMwLDYgKzE0MywxMyBAQCBSZWY8U3R5bGVSdWxlQmFzZT4gU3R5bGVSdWxlQmFzZTo6
Y29weSgpIGNvbnN0CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpVbmtub3duOgogICAgIGNhc2Ug
U3R5bGVSdWxlVHlwZTo6Q2hhcnNldDoKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OktleWZyYW1l
OgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6RG9jdW1lbnQ6CisgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpGb250RmVhdHVyZVZhbHVlczoKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlZpZXdwb3J0
OgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6UmVnaW9uU3R5bGU6CisgICAgY2FzZSBTdHlsZVJ1
bGVUeXBlOjpDdXN0b21NZWRpYToKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok1hcmdpbjoKKyAg
ICBjYXNlIFN0eWxlUnVsZVR5cGU6OlByb3BlcnR5OgogICAgICAgICBicmVhazsKICAgICB9CiAg
ICAgQ1JBU0goKTsKQEAgLTE0OSw2ICsxNjksOSBAQCBSZWY8Q1NTUnVsZT4gU3R5bGVSdWxlQmFz
ZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKENTU1N0eWxlU2hlZXQqIHBhcmVudFNoZWV0LCBDU1NSdQog
ICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2U6CiAgICAgICAgIHJ1bGUgPSBDU1NGb250
RmFjZVJ1bGU6OmNyZWF0ZShkb3duY2FzdDxTdHlsZVJ1bGVGb250RmFjZT4oc2VsZiksIHBhcmVu
dFNoZWV0KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFs
ZXR0ZVZhbHVlczoKKyAgICAgICAgcnVsZSA9IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3Jl
YXRlKGRvd25jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPihzZWxmKSwgcGFyZW50U2hl
ZXQpOworICAgICAgICBicmVhazsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok1lZGlhOgogICAg
ICAgICBydWxlID0gQ1NTTWVkaWFSdWxlOjpjcmVhdGUoZG93bmNhc3Q8U3R5bGVSdWxlTWVkaWE+
KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTcyLDYgKzE5NSwxMyBA
QCBSZWY8Q1NTUnVsZT4gU3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKENTU1N0eWxl
U2hlZXQqIHBhcmVudFNoZWV0LCBDU1NSdQogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6VW5rbm93
bjoKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkNoYXJzZXQ6CiAgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpLZXlmcmFtZToKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkRvY3VtZW50OgorICAgIGNh
c2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZlYXR1cmVWYWx1ZXM6CisgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpWaWV3cG9ydDoKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlJlZ2lvblN0eWxlOgorICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6Q3VzdG9tTWVkaWE6CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBl
OjpNYXJnaW46CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpQcm9wZXJ0eToKICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTMxOSw2ICszNDks
MjYgQEAgTXV0YWJsZVN0eWxlUHJvcGVydGllcyYgU3R5bGVSdWxlRm9udEZhY2U6Om11dGFibGVQ
cm9wZXJ0aWVzKCkKICAgICByZXR1cm4gZG93bmNhc3Q8TXV0YWJsZVN0eWxlUHJvcGVydGllcz4o
bV9wcm9wZXJ0aWVzLmdldCgpKTsKIH0KIAorU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlN0
eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IEF0
b21TdHJpbmcmIGZvbnRGYW1pbHksIGNvbnN0IFBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZl
Y3RvcjxPdmVycmlkZGVuQ29sb3I+JiYgb3ZlcnJpZGVDb2xvcikKKyAgICA6IFN0eWxlUnVsZUJh
c2UoU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMpCisgICAgLCBtX25hbWUobmFtZSkK
KyAgICAsIG1fZm9udEZhbWlseShmb250RmFtaWx5KQorICAgICwgbV9iYXNlUGFsZXR0ZShiYXNl
UGFsZXR0ZSkKKyAgICAsIG1fb3ZlcnJpZGVDb2xvcihXVEZNb3ZlKG92ZXJyaWRlQ29sb3IpKQor
eworfQorCitTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXMoY29uc3QgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIG8pCisgICAgOiBTdHlsZVJ1
bGVCYXNlKG8pCisgICAgLCBtX25hbWUoby5uYW1lKCkpCisgICAgLCBtX2ZvbnRGYW1pbHkoby5m
b250RmFtaWx5KCkpCisgICAgLCBtX2Jhc2VQYWxldHRlKG8uYmFzZVBhbGV0dGUoKSkKKyAgICAs
IG1fb3ZlcnJpZGVDb2xvcihvLm92ZXJyaWRlQ29sb3IoKSkKK3sKK30KKworU3R5bGVSdWxlRm9u
dFBhbGV0dGVWYWx1ZXM6On5TdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygpID0gZGVmYXVsdDsK
KwogRGVmZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q6OkRlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0
KGNvbnN0IENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBDU1NEZWZlcnJlZFBhcnNlciYgcGFy
c2VyKQogICAgIDogbV9wYXJzZXIocGFyc2VyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCmluZGV4
IDE1NjJjNzkyNjdlYTY0ZDIxNzAxYjlkZjc1N2MwMzUyNTkwZjk3MWIuLmI1M2RmOWIxOTcyNzlm
M2FhZjkwZjhhNGY2OWY2MWRjNmY0ZGFhZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKQEAgLTEs
NyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3Jn
KQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENv
cHlyaWdodCAoQykgMjAwMi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwMi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBp
c0NoYXJzZXRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkNo
YXJzZXQ7IH0KICAgICBib29sIGlzQ291bnRlclN0eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5
cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3VudGVyU3R5bGU7IH0KICAgICBib29sIGlzRm9udEZh
Y2VSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNl
OyB9CisgICAgYm9vbCBpc0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5
cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczsgfQogICAgIGJvb2wgaXNL
ZXlmcmFtZXNSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6Oktl
eWZyYW1lczsgfQogICAgIGJvb2wgaXNLZXlmcmFtZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBl
KCkgPT0gU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWU7IH0KICAgICBib29sIGlzTmFtZXNwYWNlUnVs
ZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpOYW1lc3BhY2U7IH0K
QEAgLTE1NSw2ICsxNTYsNjAgQEAgcHJpdmF0ZToKICAgICBSZWY8U3R5bGVQcm9wZXJ0aWVzPiBt
X3Byb3BlcnRpZXM7CiB9OwogCitjbGFzcyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyBmaW5h
bCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsKK3B1YmxpYzoKKyAgICB1c2luZyBQYWxldHRlSW5k
ZXggPSBWYXJpYW50PGludDY0X3QsIEF0b21TdHJpbmc+OworICAgIHVzaW5nIFBhbGV0dGVDb2xv
ckluZGV4ID0gVmFyaWFudDxBdG9tU3RyaW5nLCBpbnQ2NF90PjsKKyAgICB1c2luZyBPdmVycmlk
ZGVuQ29sb3IgPSBzdGQ6OnBhaXI8UGFsZXR0ZUNvbG9ySW5kZXgsIENvbG9yPjsKKworICAgIHN0
YXRpYyBSZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IGNyZWF0ZShjb25zdCBBdG9tU3Ry
aW5nJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBmb250RmFtaWx5LCBjb25zdCBQYWxldHRlSW5k
ZXgmIGJhc2VQYWxldHRlLCBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3Ip
IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMobmFtZSwg
Zm9udEZhbWlseSwgYmFzZVBhbGV0dGUsIFdURk1vdmUob3ZlcnJpZGVDb2xvcikpKTsgfQorICAg
IAorICAgIH5TdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygpOworCisgICAgY29uc3QgQXRvbVN0
cmluZyYgbmFtZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9uYW1lOworICAgIH0K
KworICAgIGNvbnN0IEF0b21TdHJpbmcmIGZvbnRGYW1pbHkoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fZm9udEZhbWlseTsKKyAgICB9CisKKyAgICBjb25zdCBQYWxldHRlSW5kZXgm
IGJhc2VQYWxldHRlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2Jhc2VQYWxldHRl
OworICAgIH0KKworICAgIGNvbnN0IFZlY3RvcjxPdmVycmlkZGVuQ29sb3I+JiBvdmVycmlkZUNv
bG9yKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX292ZXJyaWRlQ29sb3I7CisgICAg
fQorCisgICAgdm9pZCBjbGVhck92ZXJyaWRlQ29sb3IoKQorICAgIHsKKyAgICAgICAgbV9vdmVy
cmlkZUNvbG9yLmNsZWFyKCk7CisgICAgfQorCisgICAgYm9vbCByZW1vdmUodW5zaWduZWQga2V5
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fb3ZlcnJpZGVDb2xvci5yZW1vdmVBbGxNYXRjaGlu
Zyhba2V5XShjb25zdCBPdmVycmlkZGVuQ29sb3ImIG92ZXJyaWRkZW5Db2xvcikgLT4gYm9vbCB7
CisgICAgICAgICAgICByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxpbnQ2NF90PihvdmVy
cmlkZGVuQ29sb3IuZmlyc3QpICYmIFdURjo6Z2V0PGludDY0X3Q+KG92ZXJyaWRkZW5Db2xvci5m
aXJzdCkgPT0ga2V5OworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBSZWY8U3R5bGVSdWxlRm9u
dFBhbGV0dGVWYWx1ZXM+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxl
UnVsZUZvbnRQYWxldHRlVmFsdWVzKCp0aGlzKSk7IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNp
dCBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25z
dCBBdG9tU3RyaW5nJiBmb250RmFtaWx5LCBjb25zdCBQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRl
LCBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpOworICAgIFN0eWxlUnVs
ZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJik7CisK
KyAgICBBdG9tU3RyaW5nIG1fbmFtZTsKKyAgICBBdG9tU3RyaW5nIG1fZm9udEZhbWlseTsKKyAg
ICBQYWxldHRlSW5kZXggbV9iYXNlUGFsZXR0ZTsKKyAgICBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9y
PiBtX292ZXJyaWRlQ29sb3I7Cit9OworCiBjbGFzcyBTdHlsZVJ1bGVQYWdlIGZpbmFsIDogcHVi
bGljIFN0eWxlUnVsZUJhc2UgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlUGFn
ZT4gY3JlYXRlKFJlZjxTdHlsZVByb3BlcnRpZXM+JiYsIENTU1NlbGVjdG9yTGlzdCYmKTsKQEAg
LTM1Nyw2ICs0MTIsMTAgQEAgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpT
dHlsZVJ1bGVGb250RmFjZSkKICAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0ZvbnRGYWNlUnVsZSgpOyB9CiBT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVH
SU4oV2ViQ29yZTo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMpCisgICAgc3RhdGljIGJvb2wg
aXNUeXBlKGNvbnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0dXJuIHJ1bGUu
aXNGb250UGFsZXR0ZVZhbHVlc1J1bGUoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQo
KQorCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZU1lZGlh
KQogICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlJiBy
dWxlKSB7IHJldHVybiBydWxlLmlzTWVkaWFSdWxlKCk7IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJ
VFNfRU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlVHlwZS5oCmluZGV4IGM5ZTUxOGRiZTYxYjcz
NWI2ZDdhMWE3ZmY2MjQzY2Q5ODE1Y2M1YmQuLmMxZDdmMzE1MmVmMDI2YTEzMzhhMjk1NjkxOTZj
YTM3NmFiZTNjNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE5IC0gMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDE5ICsyOCwy
NyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIFN0eWxlUnVsZVR5cGUgOiB1
aW50OF90IHsKLSAgICBVbmtub3duLCAvLyBOb3QgdXNlZC4KLSAgICBTdHlsZSwKLSAgICBDaGFy
c2V0LCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgc3RyaW5ncyBvd25lZCBieSB0
aGUgc3R5bGUgc2hlZXQuCi0gICAgSW1wb3J0LAotICAgIE1lZGlhLAotICAgIEZvbnRGYWNlLAot
ICAgIFBhZ2UsCi0gICAgS2V5ZnJhbWVzLAotICAgIEtleWZyYW1lLCAvLyBOb3QgdXNlZC4gVGhl
c2UgYXJlIGludGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVSdWxlS2V5ZnJhbWUgb2JqZWN0cy4KKyAg
ICBVbmtub3duID0gMCwgLy8gTm90IHVzZWQuCisgICAgU3R5bGUgPSAxLAorICAgIENoYXJzZXQg
PSAyLCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgc3RyaW5ncyBvd25lZCBieSB0
aGUgc3R5bGUgc2hlZXQuCisgICAgSW1wb3J0ID0gMywKKyAgICBNZWRpYSA9IDQsCisgICAgRm9u
dEZhY2UgPSA1LAorICAgIFBhZ2UgPSA2LAorICAgIEtleWZyYW1lcyA9IDcsCisgICAgS2V5ZnJh
bWUgPSA4LCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVS
dWxlS2V5ZnJhbWUgb2JqZWN0cy4KKyAgICBNYXJnaW4gPSA5LAogICAgIE5hbWVzcGFjZSA9IDEw
LAogICAgIENvdW50ZXJTdHlsZSA9IDExLAogICAgIFN1cHBvcnRzID0gMTIsCi0gICAgTGF5ZXIg
PSAxMywKKyAgICBEb2N1bWVudCA9IDEzLAorICAgIEZvbnRGZWF0dXJlVmFsdWVzID0gMTQsCisg
ICAgVmlld3BvcnQgPSAxNSwKKyAgICBSZWdpb25TdHlsZSA9IDE2LAorICAgIEN1c3RvbU1lZGlh
ID0gMTcsCisgICAgUHJvcGVydHkgPSAxOCwKKyAgICBGb250UGFsZXR0ZVZhbHVlcyA9IDE5LCAv
LyBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjYyMworICAgIExh
eWVyID0gMjAKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlU2hlZXRDb250ZW50cy5jcHAKaW5kZXggMzI4NDk3NDg1MzVhMGQ3NjQ2OTAzMDczY2My
NGRjMTg2NmRiMDRjZS4uY2Y3ZDRlZDgwZmJmNWUxYjJiOWRkOTk4ZGMzNzI3NjY4NmE3NGY5MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKQEAgLTEsNiArMSw2
IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICog
Q29weXJpZ2h0IChDKSAyMDA0LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC00MzYsNiArNDM2LDcgQEAgc3RhdGljIGJvb2wgdHJh
dmVyc2VSdWxlc0luVmVjdG9yKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiBy
dWxlcywgY28KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OlN0eWxlOgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOgorICAgICAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOgogICAgICAgICBjYXNlIFN0eWxl
UnVsZVR5cGU6OlBhZ2U6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWVzOgog
ICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok5hbWVzcGFjZToKQEAgLTQ0Myw2ICs0NDQsMTMg
QEAgc3RhdGljIGJvb2wgdHJhdmVyc2VSdWxlc0luVmVjdG9yKGNvbnN0IFZlY3RvcjxSZWZQdHI8
U3R5bGVSdWxlQmFzZT4+JiBydWxlcywgY28KICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpD
aGFyc2V0OgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZToKICAgICAg
ICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZToKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpEb2N1bWVudDoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250RmVhdHVyZVZh
bHVlczoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpWaWV3cG9ydDoKKyAgICAgICAgY2Fz
ZSBTdHlsZVJ1bGVUeXBlOjpSZWdpb25TdHlsZToKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBl
OjpDdXN0b21NZWRpYToKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpNYXJnaW46CisgICAg
ICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6UHJvcGVydHk6CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogICAgIH0KQEAgLTQ4Niw2ICs0OTQsMTQgQEAgYm9vbCBTdHlsZVNoZWV0Q29udGVu
dHM6OnRyYXZlcnNlU3VicmVzb3VyY2VzKGNvbnN0IFdURjo6RnVuY3Rpb248Ym9vbCAoY29uc3Qg
Q2EKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZToKICAgICAgICAgY2FzZSBT
dHlsZVJ1bGVUeXBlOjpTdXBwb3J0czoKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpMYXll
cjoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpEb2N1bWVudDoKKyAgICAgICAgY2FzZSBT
dHlsZVJ1bGVUeXBlOjpGb250RmVhdHVyZVZhbHVlczoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpWaWV3cG9ydDoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpSZWdpb25TdHlsZToK
KyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoKKyAgICAgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpDdXN0b21NZWRpYToKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpNYXJnaW46CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6UHJvcGVydHk6CiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH07CiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJ
RC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcAppbmRleCAw
ODI1NzIzOGM4YjM1OGU1M2JmYTI3ZTJhYjZiZWNjZDVhNmQyZTk5Li45Y2UzNTFkMTZiYTg3MTUy
NjUwZTNlYjQ2MDNkYWY2MjQ0MTMwYzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU0F0UnVsZUlELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U0F0UnVsZUlELmNwcApAQCAtMSw1ICsxLDUgQEAKIC8vIENvcHlyaWdodCAyMDE1IFRoZSBDaHJv
bWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gQ29weXJpZ2h0IChDKSAyMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNiAt
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
Ly8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQpAQCAtMzgsNiArMzgsOCBAQCBDU1NBdFJ1bGVJRCBjc3NBdFJ1bGVJ
RChTdHJpbmdWaWV3IG5hbWUpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVDaGFyc2V0OwogICAg
IGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG5hbWUsICJmb250LWZhY2UiKSkKICAgICAgICAg
cmV0dXJuIENTU0F0UnVsZUZvbnRGYWNlOworICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNl
KG5hbWUsICJmb250LXBhbGV0dGUtdmFsdWVzIikpCisgICAgICAgIHJldHVybiBDU1NBdFJ1bGVG
b250UGFsZXR0ZVZhbHVlczsKICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAi
aW1wb3J0IikpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVJbXBvcnQ7CiAgICAgaWYgKGVxdWFs
SWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImtleWZyYW1lcyIpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NBdFJ1bGVJRC5oCmluZGV4IDMzMGY2Y2JlMmUyNWIzZGNjZjBlNzI5ZTQ0ODk5ZjE4
OTQxNWE3YmUuLjVlNGQ0MzUzMzJkNjEyM2M3MWJiOGQzYzNjMjUzYWI3NzEzMjlmMDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmgKQEAgLTEsNSArMSw1IEBACiAvLyBD
b3B5cmlnaHQgMjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LS8vIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBDb3B5cmlnaHQgKEMpIDIwMTYgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQ5LDYgKzQ5LDggQEAg
ZW51bSBDU1NBdFJ1bGVJRCB7CiAgICAgQ1NTQXRSdWxlQXBwbHkgPSAxMSwKICAgICBDU1NBdFJ1
bGVDb3VudGVyU3R5bGUgPSAxMiwKICAgICBDU1NBdFJ1bGVMYXllciA9IDEzLAorCisgICAgQ1NT
QXRSdWxlRm9udFBhbGV0dGVWYWx1ZXMgPSAxNCwKIH07CiAKIENTU0F0UnVsZUlEIGNzc0F0UnVs
ZUlEKFN0cmluZ1ZpZXcgbmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJz
ZXJJbXBsLmNwcAppbmRleCBlNWI3NDMwMmUwY2U0YzVhYmQ2MTZlYzQ1NzFiNjJjNGZmYzdlNTE5
Li5hZjVkZTVmOGEyNmVjZWNlYTlkNjg4YmFiYzVhNWNjNWJiMTllYjg5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKQEAgLTEsNSArMSw1IEBACiAvLyBD
b3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LS8vIENvcHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM0LDYgKzM0LDcg
QEAKICNpbmNsdWRlICJDU1NDb3VudGVyU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTQ3VzdG9t
UHJvcGVydHlWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0RlZmVycmVkUGFyc2VyLmgiCisjaW5jbHVk
ZSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKICNpbmNsdWRlICJD
U1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZXNSdWxlLmgiCiAjaW5jbHVk
ZSAiQ1NTUGFyc2VyT2JzZXJ2ZXIuaCIKQEAgLTQ0NSw2ICs0NDYsOCBAQCBSZWZQdHI8U3R5bGVS
dWxlQmFzZT4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZUF0UnVsZShDU1NQYXJzZXJUb2tlblJhbmdl
JiByYW5nZSwgQQogICAgICAgICByZXR1cm4gY29uc3VtZVN1cHBvcnRzUnVsZShwcmVsdWRlLCBi
bG9jayk7CiAgICAgY2FzZSBDU1NBdFJ1bGVGb250RmFjZToKICAgICAgICAgcmV0dXJuIGNvbnN1
bWVGb250RmFjZVJ1bGUocHJlbHVkZSwgYmxvY2spOworICAgIGNhc2UgQ1NTQXRSdWxlRm9udFBh
bGV0dGVWYWx1ZXM6CisgICAgICAgIHJldHVybiBjb25zdW1lRm9udFBhbGV0dGVWYWx1ZXNSdWxl
KHByZWx1ZGUsIGJsb2NrKTsKICAgICBjYXNlIENTU0F0UnVsZVdlYmtpdEtleWZyYW1lczoKICAg
ICAgICAgcmV0dXJuIGNvbnN1bWVLZXlmcmFtZXNSdWxlKHRydWUsIHByZWx1ZGUsIGJsb2NrKTsK
ICAgICBjYXNlIENTU0F0UnVsZUtleWZyYW1lczoKQEAgLTY1Miw2ICs2NTUsNTUgQEAgUmVmUHRy
PFN0eWxlUnVsZUZvbnRGYWNlPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lRm9udEZhY2VSdWxlKENT
U1BhcnNlclRva2VuUmFuZ2UKICAgICByZXR1cm4gU3R5bGVSdWxlRm9udEZhY2U6OmNyZWF0ZShj
cmVhdGVTdHlsZVByb3BlcnRpZXMobV9wYXJzZWRQcm9wZXJ0aWVzLCBtX2NvbnRleHQubW9kZSkp
OwogfQogCitSZWZQdHI8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IENTU1BhcnNlckltcGw6
OmNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRl
LCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKQoreworICAgIGF1dG8gbmFtZSA9IENTU1Byb3Bl
cnR5UGFyc2VySGVscGVyczo6Y29uc3VtZUN1c3RvbUlkZW50KHByZWx1ZGUpOworICAgIGlmICgh
bmFtZSB8fCAhcHJlbHVkZS5hdEVuZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsgLy8gUGFy
c2UgZXJyb3I7IGV4cGVjdGVkIGN1c3RvbSBpZGVudCBpbiBAZm9udC1wYWxldHRlLXZhbHVlcyBo
ZWFkZXIKKworICAgIGlmIChtX29ic2VydmVyV3JhcHBlcikgeworICAgICAgICB1bnNpZ25lZCBl
bmRPZmZzZXQgPSBtX29ic2VydmVyV3JhcHBlci0+ZW5kT2Zmc2V0KHByZWx1ZGUpOworICAgICAg
ICBtX29ic2VydmVyV3JhcHBlci0+b2JzZXJ2ZXIoKS5zdGFydFJ1bGVIZWFkZXIoU3R5bGVSdWxl
VHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMsIG1fb2JzZXJ2ZXJXcmFwcGVyLT5zdGFydE9mZnNldChw
cmVsdWRlKSk7CisgICAgICAgIG1fb2JzZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigpLmVuZFJ1bGVI
ZWFkZXIoZW5kT2Zmc2V0KTsKKyAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCku
c3RhcnRSdWxlQm9keShlbmRPZmZzZXQpOworICAgICAgICBtX29ic2VydmVyV3JhcHBlci0+b2Jz
ZXJ2ZXIoKS5lbmRSdWxlQm9keShlbmRPZmZzZXQpOworICAgIH0KKworICAgIGNvbnN1bWVEZWNs
YXJhdGlvbkxpc3QoYmxvY2ssIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzKTsKKyAg
ICBhdXRvIHByb3BlcnRpZXMgPSBjcmVhdGVTdHlsZVByb3BlcnRpZXMobV9wYXJzZWRQcm9wZXJ0
aWVzLCBtX2NvbnRleHQubW9kZSk7CisKKyAgICBBdG9tU3RyaW5nIGZvbnRGYW1pbHk7CisgICAg
aWYgKGF1dG8gZm9udEZhbWlseVZhbHVlID0gcHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1
ZShDU1NQcm9wZXJ0eUZvbnRGYW1pbHkpKQorICAgICAgICBmb250RmFtaWx5ID0gZG93bmNhc3Q8
Q1NTUHJpbWl0aXZlVmFsdWU+KCpmb250RmFtaWx5VmFsdWUpLmZvbnRGYW1pbHkoKS5mYW1pbHlO
YW1lOworCisgICAgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0dGVJbmRleCBiYXNl
UGFsZXR0ZShudWxsQXRvbSgpKTsKKyAgICBpZiAoYXV0byBiYXNlUGFsZXR0ZVZhbHVlID0gcHJv
cGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUJhc2VQYWxldHRlKSkgewor
ICAgICAgICBjb25zdCBhdXRvJiBwcmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlPigqYmFzZVBhbGV0dGVWYWx1ZSk7CisgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS5p
c1N0cmluZygpKQorICAgICAgICAgICAgYmFzZVBhbGV0dGUgPSBwcmltaXRpdmVWYWx1ZS5zdHJp
bmdWYWx1ZSgpOworICAgICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS5pc051bWJlcigpKQor
ICAgICAgICAgICAgYmFzZVBhbGV0dGUgPSBwcmltaXRpdmVWYWx1ZS52YWx1ZTxpbnQ2NF90Pigp
OworICAgIH0KKworICAgIFZlY3RvcjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6T3ZlcnJp
ZGRlbkNvbG9yPiBvdmVycmlkZUNvbG9yOworICAgIGlmIChhdXRvIG92ZXJyaWRlQ29sb3JWYWx1
ZSA9IHByb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlPdmVycmlkZUNv
bG9yKSkgeworICAgICAgICBjb25zdCBhdXRvJiBsaXN0ID0gZG93bmNhc3Q8Q1NTVmFsdWVMaXN0
Pigqb3ZlcnJpZGVDb2xvclZhbHVlKTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBpdGVtIDog
bGlzdCkgeworICAgICAgICAgICAgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0dGVD
b2xvckluZGV4IGtleShudWxsQXRvbSgpKTsKKyAgICAgICAgICAgIGNvbnN0IGF1dG8mIHBhaXIg
PSBkb3duY2FzdDxDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZT4oaXRlbS5n
ZXQoKSk7CisgICAgICAgICAgICBpZiAocGFpci5rZXkoKS5pc1N0cmluZygpKQorICAgICAgICAg
ICAgICAgIGtleSA9IHBhaXIua2V5KCkuc3RyaW5nVmFsdWUoKTsKKyAgICAgICAgICAgIGVsc2Ug
aWYgKHBhaXIua2V5KCkuaXNOdW1iZXIoKSkKKyAgICAgICAgICAgICAgICBrZXkgPSBwYWlyLmtl
eSgpLnZhbHVlPGludDY0X3Q+KCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICBvdmVycmlkZUNvbG9yLmFwcGVuZChzdGQ6Om1ha2VfcGFp
cihrZXksIHBhaXIuY29sb3IoKS5jb2xvcigpKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBy
ZXR1cm4gU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OmNyZWF0ZShuYW1lLT5zdHJpbmdWYWx1
ZSgpLCBmb250RmFtaWx5LCBiYXNlUGFsZXR0ZSwgV1RGTW92ZShvdmVycmlkZUNvbG9yKSk7Cit9
CisKIFJlZlB0cjxTdHlsZVJ1bGVLZXlmcmFtZXM+IENTU1BhcnNlckltcGw6OmNvbnN1bWVLZXlm
cmFtZXNSdWxlKGJvb2wgd2Via2l0UHJlZml4ZWQsIENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVk
ZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jaykKIHsKICAgICBDU1NQYXJzZXJUb2tlblJhbmdl
IHJhbmdlQ29weSA9IHByZWx1ZGU7IC8vIEZvciBpbnNwZWN0b3IgY2FsbGJhY2tzCkBAIC05NjEs
NyArMTAxMyw3IEBAIHZvaWQgQ1NTUGFyc2VySW1wbDo6Y29uc3VtZURlY2xhcmF0aW9uKENTU1Bh
cnNlclRva2VuUmFuZ2UgcmFuZ2UsIFN0eWxlUnVsZVR5cGUKICAgICAgICAgY29uc3VtZUN1c3Rv
bVByb3BlcnR5VmFsdWUocmFuZ2UubWFrZVN1YlJhbmdlKCZyYW5nZS5wZWVrKCksIGRlY2xhcmF0
aW9uVmFsdWVFbmQpLCB2YXJpYWJsZU5hbWUsIGltcG9ydGFudCk7CiAgICAgfQogCi0gICAgaWYg
KGltcG9ydGFudCAmJiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2UgfHwgcnVs
ZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWUgfHwgcnVsZVR5cGUgPT0gU3R5bGVSdWxl
VHlwZTo6Q291bnRlclN0eWxlKSkKKyAgICBpZiAoaW1wb3J0YW50ICYmIChydWxlVHlwZSA9PSBT
dHlsZVJ1bGVUeXBlOjpGb250RmFjZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpLZXlm
cmFtZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3VudGVyU3R5bGUgfHwgcnVsZVR5
cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMpKQogICAgICAgICByZXR1cm47
CiAKICAgICBpZiAocHJvcGVydHlJRCAhPSBDU1NQcm9wZXJ0eUludmFsaWQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oCmluZGV4IDE2YzRjM2QxOWY1MDhjMTAyMWY1
MWI0YzM1Yjc0MDU5ZGU1MDQ1NDcuLmUyNWZlNWUyYTc1MjhjYWI0MzRhOWVlYjg2YThkMWNkN2Fm
YWEzYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oCkBAIC0x
LDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC01MSw2ICs1MSw3IEBAIGNsYXNzIFN0eWxlUnVsZTsKIGNsYXNzIFN0eWxlUnVsZUJhc2U7
CiBjbGFzcyBTdHlsZVJ1bGVDaGFyc2V0OwogY2xhc3MgU3R5bGVSdWxlRm9udEZhY2U7CitjbGFz
cyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczsKIGNsYXNzIFN0eWxlUnVsZUltcG9ydDsKIGNs
YXNzIFN0eWxlUnVsZUtleWZyYW1lczsKIGNsYXNzIFN0eWxlUnVsZUxheWVyOwpAQCAtMTMzLDYg
KzEzNCw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFN0eWxlUnVsZVN1cHBvcnRzPiBjb25zdW1l
U3VwcG9ydHNSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5S
YW5nZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZVZpZXdwb3J0PiBjb25zdW1lVmlld3Bv
cnRSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBi
bG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZUZvbnRGYWNlPiBjb25zdW1lRm9udEZhY2VSdWxl
KENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jayk7
CisgICAgUmVmUHRyPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBjb25zdW1lRm9udFBhbGV0
dGVWYWx1ZXNSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5S
YW5nZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZUtleWZyYW1lcz4gY29uc3VtZUtleWZy
YW1lc1J1bGUoYm9vbCB3ZWJraXRQcmVmaXhlZCwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRl
LCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVSdWxlUGFnZT4g
Y29uc3VtZVBhZ2VSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9r
ZW5SYW5nZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZUNvdW50ZXJTdHlsZT4gY29uc3Vt
ZUNvdW50ZXJTdHlsZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJU
b2tlblJhbmdlIGJsb2NrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9w
ZXJ0eVBhcnNlci5jcHAKaW5kZXggN2QzMzMwYjgxZWEzMzM2NDcyMzQ0ZTUxMGZkMDU4ZWFjYzI1
MTE3My4uMzg3MmE1YTY3Y2VjMjc4NWJiMTJkMDRjMGU1ODRkMzMyMzJlNGQ3YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTM4LDYg
KzM4LDcgQEAKICNpbmNsdWRlICJDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTRm9udEZhY2VTcmNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGZWF0dXJlVmFsdWUuaCIK
KyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIgogI2lm
IEVOQUJMRShWQVJJQVRJT05fRk9OVFMpCiAjaW5jbHVkZSAiQ1NTRm9udFZhcmlhdGlvblZhbHVl
LmgiCiAjZW5kaWYKQEAgLTIzMyw2ICsyMzQsOCBAQCBib29sIENTU1Byb3BlcnR5UGFyc2VyOjpw
YXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgYm9vbCBpbXBvcnRhbnQsIGNvbgog
CiAgICAgaWYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlKQogICAgICAgICBw
YXJzZVN1Y2Nlc3MgPSBwYXJzZXIucGFyc2VGb250RmFjZURlc2NyaXB0b3IocHJvcGVydHlJRCk7
CisgICAgZWxzZSBpZiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1
ZXMpCisgICAgICAgIHBhcnNlU3VjY2VzcyA9IHBhcnNlci5wYXJzZUZvbnRQYWxldHRlVmFsdWVz
RGVzY3JpcHRvcihwcm9wZXJ0eUlEKTsKICAgICBlbHNlIGlmIChydWxlVHlwZSA9PSBTdHlsZVJ1
bGVUeXBlOjpDb3VudGVyU3R5bGUpCiAgICAgICAgIHBhcnNlU3VjY2VzcyA9IHBhcnNlci5wYXJz
ZUNvdW50ZXJTdHlsZURlc2NyaXB0b3IocHJvcGVydHlJRCwgY29udGV4dCk7CiAgICAgZWxzZQpA
QCAtNDgzOCw2ICs0ODQxLDYzIEBAIGJvb2wgQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udEZh
Y2VEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkKQogICAgIHJldHVybiB0cnVlOwogfQog
CitzdGF0aWMgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lQmFzZVBhbGV0dGVEZXNj
cmlwdG9yKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAgIGlmIChyYW5nZS5wZWVr
KCkudHlwZSgpID09IFN0cmluZ1Rva2VuKQorICAgICAgICByZXR1cm4gY29uc3VtZVN0cmluZyhy
YW5nZSk7CisgICAgcmV0dXJuIGNvbnN1bWVJbnRlZ2VyKHJhbmdlKTsKK30KKworc3RhdGljIFJl
ZlB0cjxDU1NWYWx1ZUxpc3Q+IGNvbnN1bWVPdmVycmlkZUNvbG9yRGVzY3JpcHRvcihDU1NQYXJz
ZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sK
KyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVDb21t
YVNlcGFyYXRlZCgpOworICAgIGRvIHsKKyAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVl
PiBrZXk7CisgICAgICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09IFN0cmluZ1Rva2VuKQor
ICAgICAgICAgICAga2V5ID0gY29uc3VtZVN0cmluZyhyYW5nZSk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGtleSA9IGNvbnN1bWVJbnRlZ2VyKHJhbmdlKTsKKyAgICAgICAgaWYgKCFrZXkp
CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBhdXRvIGNvbG9yID0gY29u
c3VtZUNvbG9yKHJhbmdlLCBjb250ZXh0KTsKKyAgICAgICAgaWYgKCFjb2xvcikKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3JlYXRlKGtleS5yZWxlYXNl
Tm9uTnVsbCgpLCBjb2xvci5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICAgICAgbGlzdC0+YXBwZW5k
KHZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0gd2hpbGUgKGNvbnN1bWVDb21tYUluY2x1
ZGluZ1doaXRlc3BhY2UocmFuZ2UpKTsKKyAgICAKKyAgICBpZiAoIXJhbmdlLmF0RW5kKCkgfHwg
IWxpc3QtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBs
aXN0OworfQorCitib29sIENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZUZvbnRQYWxldHRlVmFsdWVz
RGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEIHByb3BJZCkKK3sKKyAgICBSZWZQdHI8Q1NTVmFsdWU+
IHBhcnNlZFZhbHVlOworICAgIHN3aXRjaCAocHJvcElkKSB7CisgICAgY2FzZSBDU1NQcm9wZXJ0
eUZvbnRGYW1pbHk6CisgICAgICAgIHBhcnNlZFZhbHVlID0gY29uc3VtZUZhbWlseU5hbWUobV9y
YW5nZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlCYXNlUGFsZXR0ZToK
KyAgICAgICAgcGFyc2VkVmFsdWUgPSBjb25zdW1lQmFzZVBhbGV0dGVEZXNjcmlwdG9yKG1fcmFu
Z2UpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5T3ZlcnJpZGVDb2xvcjoK
KyAgICAgICAgcGFyc2VkVmFsdWUgPSBjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IobV9y
YW5nZSwgbV9jb250ZXh0KTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAg
YnJlYWs7CisgICAgfQorCisgICAgaWYgKCFwYXJzZWRWYWx1ZSB8fCAhbV9yYW5nZS5hdEVuZCgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIENTU1By
b3BlcnR5SW52YWxpZCwgKnBhcnNlZFZhbHVlLCBmYWxzZSk7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKIGJvb2wgQ1NTUHJvcGVydHlQYXJzZXI6OmNvbnN1bWVTeXN0ZW1Gb250KGJvb2wgaW1wb3J0
YW50KQogewogICAgIENTU1ZhbHVlSUQgc3lzdGVtRm9udElEID0gbV9yYW5nZS5jb25zdW1lSW5j
bHVkaW5nV2hpdGVzcGFjZSgpLmlkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VyLmgKaW5kZXggMjdhYzM1OTM3Y2MyZmE1YWM3YzJmMjMwNDBlMzAxMGI1
MDgxNzEzOS4uZDg3NDA5OGZkYzQ4OWUyZWM0YWM1ZTE2M2FkNGUxZTJkOTIzY2FiMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaApAQCAtMSw2ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9y
ZykKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCwgMjAwOSwgMjAxMCwg
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDQgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAwOCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgogICogQ29weXJpZ2h0IChDKSAy
MDA5IC0gMjAxMCAgVG9yY2ggTW9iaWxlIChCZWlqaW5nKSBDby4gTHRkLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKQEAgLTczLDYgKzczLDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgcGFyc2VW
aWV3cG9ydERlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsK
ICAgICBib29sIHBhcnNlRm9udEZhY2VEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQpOworICAgIGJv
b2wgcGFyc2VGb250UGFsZXR0ZVZhbHVlc0Rlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCk7CiAgICAg
Ym9vbCBwYXJzZUNvdW50ZXJTdHlsZURlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCwgY29uc3QgQ1NT
UGFyc2VyQ29udGV4dCYpOwogCiAgICAgdm9pZCBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlELCBD
U1NQcm9wZXJ0eUlELCBSZWY8Q1NTVmFsdWU+JiYsIGJvb2wgaW1wb3J0YW50LCBib29sIGltcGxp
Y2l0ID0gZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOTkxMjQ1MTQw
YWU4YjQ5ZDQ5NDUwZDdlZTlmYjQxYzlhMTkwYzc1My4uMDRiZGZjYTJmNTBlNmJmZDkyMGFlZWQ4
YWVjZmE5YTRhODFhZTcwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMjEtMDktMTYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxl
LmNvbT4KKworICAgICAgICBQYXJzaW5nIHN1cHBvcnQgZm9yIGZvbnQtcGFsZXR0ZS12YWx1ZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDMzNwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXNlIGFy
ZSBiZWluZyB1cHN0cmVhbWVkIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVz
dHMvd3B0L3B1bGwvMzA4NDAuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNp
bmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVl
cy12YWxpZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sOiBB
ZGRlZC4KKwogMjAyMS0wOS0xNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFsgTWFjT1MgJiBpT1MgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2xpbmtzL2xpbmtzLWNyZWF0ZWQtYnktYS1hbmQtYXJlYS1lbGVtZW50cy9o
dG1sYW5jaG9yZWxlbWVudF9ub29wZW5lci5odG1sIGlzIGZsYWt5IGZhaWxpbmcKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
b250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMv
cGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJjNzJlOWE1MWQ1YWFiYWVjNjE3MmVhMTQwM2YzM2MwYzAwMTk2YjgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTYgQEAKKworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNp
bmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBw
YXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZl
bCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDIKK1BBU1MgQ1NTIEZvbnRzIE1vZHVs
ZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDMKK1BBU1MgQ1NTIEZvbnRz
IE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDQKK1BBU1MgQ1NT
IEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDUKK1BB
U1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVz
IDYKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUt
dmFsdWVzIDcKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBh
bGV0dGUtdmFsdWVzIDgKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBm
b250LXBhbGV0dGUtdmFsdWVzIDkKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJz
aW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEwCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMQorUEFTUyBDU1MgRm9udHMgTW9kdWxl
IExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTIKK1BBU1MgQ1NTIEZvbnRz
IE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEzCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNp
bmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODcwNTQyZWQ4
OGM0YzkzMDdjMGM1MjE5YzNjNGRlODY4ZmVjZmFlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJz
aW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sCkBAIC0wLDAgKzEsMTgyIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+Q1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFs
dWVzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzcy1mb250cy8jZm9udC1wYWxldHRlLXZhbHVlcyI+Cis8bWV0YSBuYW1lPSJhc3NlcnQi
IGNvbnRlbnQ9IkBmb250LXBhbGV0dGUtdmFsdWVzIGlzIHBhcnNlZCBjb3JyZWN0bHkuIj4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZSBp
ZD0ic3R5bGUiPgorQGZvbnQtcGFsZXR0ZS12YWx1ZXMgeworfQorCitAZm9udC1wYWxldHRlLXZh
bHVlcyBBIEIgeworfQorCisvKiAwICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBm
b250LWZhbWlseTogYSwgYjsKK30KKworLyogMSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7
CisgICAgZm9udC1mYW1pbHk6IDE7Cit9CisKKy8qIDIgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVz
IEEgeworICAgIGZvbnQ6IDEycHggYTsKK30KKworLyogMyAqLworQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgQSB7CisgICAgYmFzZS1wYWxldHRlOiAxIDI7Cit9CisKKy8qIDQgKi8KK0Bmb250LXBhbGV0
dGUtdmFsdWVzIEEgeworICAgIGJhc2UtcGFsZXR0ZTogaWRlbnQ7Cit9CisKKy8qIDUgKi8KK0Bm
b250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGJhc2UtcGFsZXR0ZTogImEiICJiIjsKK30KKwor
LyogNiAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgYmFzZS1wYWxldHRlOiA7Cit9
CisKKy8qIDcgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIG92ZXJyaWRlLWNvbG9y
OiBpZGVudCAjMTIzOworfQorCisvKiA4ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAg
ICBvdmVycmlkZS1jb2xvcjogMCAicmVkIjsKK30KKworLyogOSAqLworQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDAgIzEyMywgMTsKK30KKworLyogMTAgKi8K
K0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIG92ZXJyaWRlLWNvbG9yOiA7Cit9CisKKy8q
IDExICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBvdmVycmlkZS1jb2xvcjogMCAj
MTIzIDE7Cit9CisKKy8qIDEyICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBvdmVy
cmlkZS1jb2xvcjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cits
ZXQgcnVsZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3R5bGUiKS5zaGVldC5jc3NSdWxl
czsKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlcy5sZW5ndGgsIDEz
KTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMF0uY3Nz
VGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzBdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5p
bmRleE9mKCJmb250LWZhbWlseSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRG
YW1pbHksICIiKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVs
ZXNbMV0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzFdOworICAgIGFzc2VydF9lcXVh
bHModGV4dC5pbmRleE9mKCJmb250LWZhbWlseSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhy
dWxlLmZvbnRGYW1pbHksICIiKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0
ZXh0ID0gcnVsZXNbMl0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzJdOworICAgIGFz
c2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJmb250OiIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLmZvbnRGYW1pbHksICIiKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxl
dCB0ZXh0ID0gcnVsZXNbM10uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzNdOworICAg
IGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFz
c2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s0XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVs
ZXNbNF07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAt
MSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7Cit9KTsKKwordGVz
dChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzVdLmNzc1RleHQ7CisgICAgbGV0
IHJ1bGUgPSBydWxlc1s1XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1w
YWxldHRlIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsK
K30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbNl0uY3NzVGV4
dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzZdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRl
eE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFs
ZXR0ZSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxl
c1s3XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbN107CisgICAgYXNzZXJ0X2VxdWFs
cyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9
IHJ1bGVzWzhdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s4XTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9l
cXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0
ZXh0ID0gcnVsZXNbOV0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzldOworICAgIGFz
c2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAgYXNz
ZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
bGV0IHRleHQgPSBydWxlc1sxMF0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzEwXTsK
KyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkg
eworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTFdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxl
c1sxMV07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiks
IC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzEyXS5jc3NUZXh0OworICAgIGxldCBydWxl
ID0gcnVsZXNbMTJdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1j
b2xvciIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVl
cy12YWxpZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGI0ODJmZmFmMzc0ZTE4YmNkZjIzMDg4
Mjk2MWQ5MTMxYjhkNWYxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKKworUEFTUyBDU1Mg
Rm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMKK1BBU1Mg
Q1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEK
K1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFs
dWVzIDIKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0
dGUtdmFsdWVzIDMKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250
LXBhbGV0dGUtdmFsdWVzIDQKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5n
IEBmb250LXBhbGV0dGUtdmFsdWVzIDUKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBw
YXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDYKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZl
bCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDcKK1BBU1MgQ1NTIEZvbnRzIE1vZHVs
ZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDgKK1BBU1MgQ1NTIEZvbnRz
IE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDkKK1BBU1MgQ1NT
IEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEwCitQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cyAxMQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgMTIKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250
LXBhbGV0dGUtdmFsdWVzIDEzCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2lu
ZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6
IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTUKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBM
ZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE2CitQQVNTIENTUyBGb250cyBN
b2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNworUEFTUyBDU1Mg
Rm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTgKK1BB
U1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVz
IDE5CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
b250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
Njc3NGVmYmIxNDkzMWViZjUwODA4YzNjYjM1ZmJmZjhhMTM3OWI4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZv
bnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sCkBAIC0wLDAgKzEsMjMz
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+Q1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0
dGUtdmFsdWVzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1mb250cy8jZm9udC1wYWxldHRlLXZhbHVlcyI+Cis8bWV0YSBuYW1lPSJh
c3NlcnQiIGNvbnRlbnQ9IkBmb250LXBhbGV0dGUtdmFsdWVzIGlzIHBhcnNlZCBjb3JyZWN0bHku
Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
dHlsZSBpZD0ic3R5bGUiPgorLyogMCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7Cit9CisK
Ky8qIDEgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEIgeworICAgIGZvbnQtd2VpZ2h0OiA0MDA7
Cit9CisKKy8qIDIgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEMgeworICAgIGZvbnQtZmFtaWx5
OiBmb287CisgICAgZm9udC1mYW1pbHk6IGJhcjsKKyAgICBiYXNlLXBhbGV0dGU6IDE7CisgICAg
YmFzZS1wYWxldHRlOiAiYmF6IjsKKyAgICBiYXNlLXBhbGV0dGU6IDI7CisgICAgb3ZlcnJpZGUt
Y29sb3I6ICJhIiAjMTIzOworICAgIG92ZXJyaWRlLWNvbG9yOiAzICMxMjM7CisgICAgb3ZlcnJp
ZGUtY29sb3I6ICJiIiAjMTIzOworfQorCisvKiAzICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBE
IHsKKyAgICBiYXNlLXBhbGV0dGU6ICJmb28iOworICAgIGJhc2UtcGFsZXR0ZTogMTsKKyAgICBi
YXNlLXBhbGV0dGU6ICJiYXIiOworICAgIG92ZXJyaWRlLWNvbG9yOiAzICMxMjM7CisgICAgb3Zl
cnJpZGUtY29sb3I6ICJiYXoiICMxMjM7CisgICAgb3ZlcnJpZGUtY29sb3I6IDQgIzEyMzsKK30K
KworLyogNCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgRSB7CisgICAgb3ZlcnJpZGUtY29sb3I6
IDMgcmdiKDE3LCAzNCwgNTEpOworICAgIG92ZXJyaWRlLWNvbG9yOiAzIHJnYig2OCwgODUsIDEw
Mik7Cit9CisKKy8qIDUgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEYgeworICAgIGZvbnQtZmFt
aWx5OiAiZm9vIjsKK30KKworLyogNiAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgRyB7CisgICAg
b3ZlcnJpZGUtY29sb3I6IDMgcmdiKDE3LCAzNCwgNTEpLCA0IHJnYig2OCwgODUsIDEwMik7Cit9
CisKKy8qIDcgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEggeworICAgIG92ZXJyaWRlLWNvbG9y
OiAzIHJnYigxNywgMzQsIDUxKSwgMyByZ2IoNjgsIDg1LCAxMDIpOworfQorCisvKiA4ICovCitA
Zm9udC1wYWxldHRlLXZhbHVlcyBJIHsKKyAgICBiYXNlLXBhbGV0dGU6IC0zOworfQorCisvKiA5
ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBKIHsKKyAgICBvdmVycmlkZS1jb2xvcjogLTMgcmdi
KDE3LCAzNCwgNTEpOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2xl
dCBydWxlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdHlsZSIpLnNoZWV0LmNzc1J1bGVz
OwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzBdLmNzc1RleHQ7Cisg
ICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJAZm9udC1wYWxldHRlLXZhbHVlcyAi
KSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiIEEgIiksIC0xKTsK
KyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoInsiKSwgLTEpOworICAgIGFzc2Vy
dF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigifSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0
ZXh0LmluZGV4T2YoImZvbnQtZmFtaWx5IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQu
aW5kZXhPZigiYmFzZS1wYWxldHRlIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5k
ZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgbGV0IHJ1bGUgPSBydWxlc1swXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUudHlwZSwgQ1NT
UnVsZS5GT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5j
b25zdHJ1Y3Rvci5uYW1lLCAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIik7CisgICAgYXNzZXJ0
X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFz
ZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwor
dGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzFdLmNzc1RleHQ7CisgICAg
YXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQtd2VpZ2h0IiksIC0xKTsKK30pOworCit0
ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbMV07CisgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBh
bGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVz
dChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzJdLmNzc1RleHQ7CisgICAgYXNz
ZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQtZmFtaWx5OiBmb287IiksIC0xKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQtZmFtaWx5OiBiYXI7IiksIC0xKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiAxOyIpLCAtMSk7
CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZTogXCJiYXpcIiIp
LCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6
IDI7IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29s
b3I6IFwiYVwiIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJp
ZGUtY29sb3I6IDMiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigi
b3ZlcnJpZGUtY29sb3I6IFwiYlwiIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICAgIGxldCBydWxlID0gcnVsZXNbMl07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1p
bHksICJiYXIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIyIik7Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgICAgbGV0IHRleHQgPSBydWxlc1szXS5jc3NUZXh0OworICAgIGFzc2VydF9lcXVhbHModGV4
dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6IFwiZm9vXCI7IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiAxIiksIC0xKTsKKyAgICBhc3NlcnRfbm90
X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZTogXCJiYXJcIjsiKSwgLTEpOworICAg
IGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvcjogMyIpLCAtMSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiBcImJhelwiIiks
IC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9y
OiA0IiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVs
ZXNbM107CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICJiYXIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuc2l6ZSwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsK
KyAgICBhc3NlcnRfbm90X2VxdWFscyhydWxlLmdldCg0KS5pbmRleE9mKCJyZ2IiKSwgLTEpOwor
fSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s0XS5jc3NUZXh0
OworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCI1MSIpLCAtMSk7CisgICAgYXNzZXJ0
X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCIxMDIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s0XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUu
Zm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIp
OworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuZ2V0KDcpLCB1bmRlZmluZWQpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDMp
LmluZGV4T2YoIjEwMiIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQg
dGV4dCA9IHJ1bGVzWzVdLmNzc1RleHQ7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRl
eE9mKCJmb28iKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUg
PSBydWxlc1s1XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgImZvbyIpOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVh
bHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0
ID0gcnVsZXNbNl0uY3NzVGV4dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2Yo
IjUxIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjEwMiIpLCAt
MSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzZdOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDIp
OworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0
X25vdF9lcXVhbHMocnVsZS5nZXQoMykuaW5kZXhPZigiNTEiKSwgLTEpOworICAgIGFzc2VydF9u
b3RfZXF1YWxzKHJ1bGUuZ2V0KDQpLmluZGV4T2YoIjEwMiIpLCAtMSk7Cit9KTsKKwordGVzdChm
dW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzddLmNzc1RleHQ7CisgICAgYXNzZXJ0
X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCI1MSIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVh
bHModGV4dC5pbmRleE9mKCIxMDIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgbGV0IHJ1bGUgPSBydWxlc1s3XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWls
eSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFz
c2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDcp
LCB1bmRlZmluZWQpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDMpLmluZGV4T2Yo
IjEwMiIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg0KSwgdW5kZWZpbmVkKTsK
K30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbOF0uY3NzVGV4
dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAt
MSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzhdOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLmJhc2VQYWxldHRlLCAiLTMiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwg
MCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzldLmNz
c1RleHQ7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xv
ciIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVz
WzldOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0
X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNp
emUsIDEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7CisgICAg
YXNzZXJ0X2VxdWFscyhydWxlLmdldCgtMyksIHVuZGVmaW5lZCk7Cit9KTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438456</attachid>
            <date>2021-09-17 02:17:13 -0700</date>
            <delta_ts>2021-09-18 00:28:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230337-20210917021712.patch</filename>
            <type>text/plain</type>
            <size>89421</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZiM2IyMThkYzk2NWM1
NjhhMjgxNmQyZTgxOWM5ZmMzYzcyMGRkZi4uMjRjYjcxNzI5MzFlNTU3NzE1OGIxZTFiNDcwMWRm
MzM4ZWFjODdkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkwIEBACisyMDIxLTA5LTE2ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUGFyc2luZyBz
dXBwb3J0IGZvciBmb250LXBhbGV0dGUtdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSdzIG5vdGhpbmcgcGFydGljdWxhcmx5IGludGVy
ZXN0aW5nIGhlcmUgLSBpdCdzIGp1c3Qgc3VwcG9ydCBmb3IgYW5vdGhlciBhdC1ydWxlLgorICAg
ICAgICBJJ3ZlIGltcGxlbWVudGVkIHdoYXQncyBpbiB0aGUgc3BlYyByaWdodCBub3cuCisKKyAg
ICAgICAgVGhlcmUgYXJlIDIgbmV3IGRlc2NyaXB0b3JzOiBiYXNlLXBhbGV0dGUgYW5kIG92ZXJy
aWRlLWNvbG9yLiBJJ3ZlIGFkZGVkIGEgbmV3IENTU1ZhbHVlIHN1YmNsYXNzCisgICAgICAgIGZv
ciBlYWNoIG9mIHRoZSBpdGVtcyBpbiB0aGUgb3ZlcnJpZGUtY29sb3IgbGlzdCAtIHRoZXNlIGl0
ZW1zIGFyZSBqdXN0IHR1cGxlcyBvZiB0d28KKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWVzLiBJ
IGNvdWxkIGhhdmUgZG9uZSB0aGlzIHdpdGggYSBDU1NWYWx1ZUxpc3Qgd2hpY2ggYWx3YXlzIGp1
c3QgaGFwcGVucyB0byBoYXZlCisgICAgICAgIGEgbGVuZ3RoIG9mIDIsIGJ1dCBJIHRob3VnaHQg
dGhhdCB3YXMgbGVzcyBlbGVnYW50IChhbmQgaGFzIGFuIGV4dHJhIHBvaW50ZXIgaW5kaXJlY3Rp
b24pIHRoYW4KKyAgICAgICAgbWFraW5nIGEgY2xhc3MgdG8gaG9sZCB0aGUgdHdvIENTU1ByaW1p
dGl2ZVZhbHVlcy4KKworICAgICAgICBBbHNvLCBzb21lIG9mIG91ciBTdHlsZVJ1bGVzIGhhZCB0
aGUgd3Jvbmcgd2ViLWV4cG9zZWQgVHlwZSBjb25zdGFudCwgc28gSSBmaXhlZCB0aGF0IHRvbywg
YmVjYXVzZQorICAgICAgICB0aGlzIHBhdGNoIGFkZHMgYSBuZXcgU3R5bGVSdWxlIGFuZCBpdCBu
ZWVkcyB0byBoYXZlIHRoZSBjb3JyZWN0IFR5cGUuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtaW52YWxpZC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZh
bGlkLmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlND
U1NSdWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgor
ICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUp
OgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5j
cHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmguCisgICAg
ICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3Vz
dG9tQ1NTVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVl
c092ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaDogQ29waWVkIGZyb20gU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6On5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpmb250RmFtaWx5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6YmFzZVBhbGV0
dGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpz
ZXRGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZTo6c2V0QmFzZVBhbGV0dGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlOjppbml0aWFsaXplTWFwTGlrZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGU6OnNldEZyb21NYXBMaWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpjc3NUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZTo6cmVhdHRhY2gpOgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5
cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDogQWRkZWQu
CisgICAgICAgICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTUnVs
ZS5jcHA6CisgICAgICAgICogY3NzL0NTU1J1bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5p
ZGw6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Zh
bHVlOjplcXVhbHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1RleHQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAgICAq
IGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmlzRm9udFBhbGV0
dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUgY29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6ZGVzdHJveSk6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpjb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNTU09NV3JhcHBlciBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXMpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZUJhc2U6OmlzRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGNvbnN0KToKKyAgICAgICAgKGlz
VHlwZSk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZVR5cGUuaDoKKyAgICAgICAgKiBjc3MvU3R5
bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRyYXZlcnNlUnVsZXNJblZl
Y3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVNoZWV0Q29udGVudHM6OnRyYXZlcnNlU3Vi
cmVzb3VyY2VzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmNzc0F0UnVsZUlEKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NT
U0F0UnVsZUlELmg6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVBdFJ1bGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6Y29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJJbXBsOjpjb25zdW1lRGVjbGFyYXRpb24pOgorICAg
ICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oOgorICAgICAgICAqIGNzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJz
ZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVz
Y3JpcHRvcik6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0
b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udFBhbGV0
dGVWYWx1ZXNEZXNjcmlwdG9yKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VyLmg6CisKIDIwMjEtMDktMTYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiBuc0RhdGEgdW5kZXIgRGF0YVVSTFJlc291cmNlTWVk
aWFMb2FkZXI6OkRhdGFVUkxSZXNvdXJjZU1lZGlhTG9hZGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGUzMDI4MTYxOWJmYmVhMWVj
MmZmM2Q2ODQ0ZGI2YjQyYzNmMjNmMzEuLjc5MzdmNGEzZTQ1MWE5MjcxMzk1MjU5OWZlYzI5OTBk
N2EwYzdlY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdApAQCAtNjgyLDYgKzY4Miw3IEBAICQoUFJPSkVDVF9ESVIpL2NyeXB0by9wYXJhbWV0
ZXJzL1JzYVBzc1BhcmFtcy5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NDb25kaXRpb25SdWxl
LmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuaWRsCiAkKFBST0pF
Q1RfRElSKS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbAorJChQUk9KRUNUX0RJUikvY3NzL0NTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NHcm91cGluZ1J1
bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwKICQoUFJPSkVDVF9E
SVIpL2Nzcy9DU1NLZXlmcmFtZVJ1bGUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGFhYzUyNDAwYmE2ZGE3M2ZiNzgxYjc4YjBj
NmI5MDQ3MzBjOGE4YjAuLjRjODc3NWQwN2I3MDE0NWU1MmE2YWFlNjg4ZDAyZTkyYTdiZGZjYTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CkBAIC0zMDAsNiArMzAwLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNDU1NDb3VudGVyU3R5bGVSdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NDb3VudGVyU3R5bGVSdWxlLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250
RmFjZVJ1bGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0dyb3VwaW5nUnVsZS5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTR3Jv
dXBpbmdSdWxlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ1NTSW1wb3J0UnVsZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRh
NjQ5YjMzNWJlYjAxMzAzM2YwM2RlZDJlOTM4ZDJhODQ2OGQ0MTEuLjZlOGYwODQ1ODJhMjIyZmE5
MzAyMjc3NDUwODMyOTFiYmJlYTQwYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxz
YW0ud2VpbmlnQGdtYWlsLmNvbT4KICMgQ29weXJpZ2h0IChDKSAyMDA5IENhbWVyb24gTWNDb3Jt
YWNrIDxjYW1AbWNjLmlkLmF1PgogIwpAQCAtNTc1LDYgKzU3NSw3IEBAIEpTX0JJTkRJTkdfSURM
UyA6PSBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTQ29uZGl0aW9uUnVsZS5pZGwgXAogICAgICQo
V2ViQ29yZSkvY3NzL0NTU0NvdW50ZXJTdHlsZVJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nz
cy9DU1NGb250RmFjZVJ1bGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2Nzcy9DU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NHcm91cGluZ1J1bGUuaWRs
IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NJbXBvcnRSdWxlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDJiODRiYWE1OTU0
NWMzYTNmMjQ0YzVmMjJmZWZlODIzMGZiZDcwZjIuLmY0MTllODIwNDU1ZGNiYzhlZTVkYzEzOGRi
OGE2MmU3NzM5ZmVhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xLDQgKzEsNCBAQAotLy8gQ29weXJp
Z2h0IChDKSAyMDE3LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29w
eXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8K
IC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NTcsNiArNjU3LDggQEAgY3NzL0NTU0Zv
bnRGYWNlU2V0LmNwcAogY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAogY3NzL0NTU0ZvbnRGYWNl
U3JjVmFsdWUuY3BwCiBjc3MvQ1NTRm9udEZlYXR1cmVWYWx1ZS5jcHAKK2Nzcy9DU1NGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAKK2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUuY3BwCiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAogY3NzL0NTU0ZvbnRTdHlsZVJhbmdl
VmFsdWUuY3BwCiBjc3MvQ1NTRm9udFN0eWxlVmFsdWUuY3BwCkBAIC0yODA5LDYgKzI4MTEsNyBA
QCBKU0NTU0FuaW1hdGlvbi5jcHAKIEpTQ1NTQ29uZGl0aW9uUnVsZS5jcHAKIEpTQ1NTQ291bnRl
clN0eWxlUnVsZS5jcHAKIEpTQ1NTRm9udEZhY2VSdWxlLmNwcAorSlNDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUuY3BwCiBKU0NTU0dyb3VwaW5nUnVsZS5jcHAKIEpTQ1NTSW1wb3J0UnVsZS5jcHAK
IEpTQ1NTS2V5ZnJhbWVSdWxlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM3NTg0MzA2MTc3ZDg2NWI0OWUxOWI3ZTAzOWRl
ZGY1MDBmMTNkNmQuLjJkNTg3MWE0ZGI2MzI2YjU1Y2FhZWRlMTZjZTA1NDZkMjQ4YzIzMGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTY2Miw2ICs2NjIsNyBAQAogCQkxQ0U4ODY0MTI2MTA1QkYyMDAwQzgxNkMgLyogSW5NZW1v
cnlEaXNwbGF5TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUNFODg2M0YyNjEwNUE1RjAwMEM4MTZDIC8qIEluTWVtb3J5RGlzcGxheUxpc3QuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQ0U4RDEy
NzI2MTg1QzBFMDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNFOEQxMjUyNjE4
NUJEODAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlbUJ1ZmZlcklkZW50aWZpZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQ0U4RDEyRTI2MTg2
MUM0MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNFOEQxMkMyNjE4NjE2NDAwRkMzQUVGIC8qIERp
c3BsYXlMaXN0SXRlcmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkxQ0VBQTUzMjI2RjMzNkZDMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDRUFBNTMxMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oICovOyB9OwogCQkxQ0ZBRTMyMzBBNkQ2QTNGMDAz
MjU5M0QgLyogbGlib2JqYy5keWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDRkFFMzIyMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5bGli
ICovOyB9OwogCQkxRDAwMjZBNDIzNzRENjI0MDBDQTZDREYgLyogSlNQaWN0dXJlSW5QaWN0dXJl
V2luZG93LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
RDAwMjZBMjIzNzRENjIzMDBDQTZDREYgLyogSlNQaWN0dXJlSW5QaWN0dXJlV2luZG93LmggKi87
IH07CiAJCTFEMDAyNkFBMjM3NEY5RUEwMENBNkNERiAvKiBKU0VudGVyUGljdHVyZUluUGljdHVy
ZUV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
RDAwMjZBODIzNzRGOUQ5MDBDQTZDREYgLyogSlNFbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5o
ICovOyB9OwpAQCAtNzA1Nyw2ICs3MDU4LDExIEBACiAJCTFDRThEMTI1MjYxODVCRDgwMEZDM0FF
RiAvKiBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERp
c3BsYXlMaXN0SXRlbUJ1ZmZlcklkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUNFOEQxMkIyNjE4NjE2NDAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlcmF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRGlzcGxheUxpc3RJdGVyYXRvci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDRThEMTJDMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlz
dEl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpc3BsYXlMaXN0SXRlcmF0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MkMyNkYzMUEzQzAwODY4NTA3IC8qIENTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VBQTUyRDI2
RjMxQTNDMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQ0VBQTUyRjI2RjMxQUY4MDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxQ0VBQTUzMDI2RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxQ0VBQTUzMTI2RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNP
dmVycmlkZUNvbG9yVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNP
dmVycmlkZUNvbG9yVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGMEJG
RDQyMjk4NzA2ODAwRUQyMDc0IC8qIFRleHRTaXplQWRqdXN0bWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBUZXh0U2l6ZUFkanVzdG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQ0YxOEYzQzI2QkI1QUYyMDA0QjE3MjIgLyogTG9nSW5pdGlhbGl6YXRpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTG9nSW5pdGlhbGl6YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0QgLyogbGlib2JqYy5keWxpYiAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9ICJjb21waWxl
ZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGlib2JqYy5keWxpYjsgcGF0aCA9IC91c3IvbGliL2xp
Ym9iamMuZHlsaWI7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CkBAIC0yOTQ4NCw2ICsy
OTQ5MCwxMSBAQAogCQkJCTgzNTIwQzdEMUE3MUJGQ0MwMDZCRDJBQSAvKiBDU1NGb250RmFtaWx5
LmggKi8sCiAJCQkJNEE2RTlGQzExM0MxN0QxRDAwNDZBN0Y4IC8qIENTU0ZvbnRGZWF0dXJlVmFs
dWUuY3BwICovLAogCQkJCTRBNkU5RkMyMTNDMTdEMUQwMDQ2QTdGOCAvKiBDU1NGb250RmVhdHVy
ZVZhbHVlLmggKi8sCisJCQkJMUNFQUE1MzAyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcCAqLywKKwkJCQkxQ0VBQTUzMTI2RjMzMUMx
MDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCAqLywK
KwkJCQkxQ0VBQTUyQzI2RjMxQTNDMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
LmNwcCAqLywKKwkJCQkxQ0VBQTUyRDI2RjMxQTNDMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlLmggKi8sCisJCQkJMUNFQUE1MkYyNkYzMUFGODAwODY4NTA3IC8qIENTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS5pZGwgKi8sCiAJCQkJQkM2NEI0RDMwQ0I0Mjk4QTAwNUYyQjYyIC8q
IENTU0ZvbnRTZWxlY3Rvci5jcHAgKi8sCiAJCQkJQkM2NEI0RDQwQ0I0Mjk4QTAwNUYyQjYyIC8q
IENTU0ZvbnRTZWxlY3Rvci5oICovLAogCQkJCUMyRTM4RUZGMUU4NDU3MzUwMENBM0FERiAvKiBD
U1NGb250U3R5bGVSYW5nZVZhbHVlLmNwcCAqLywKQEAgLTMxODU4LDYgKzMxODY5LDcgQEAKIAkJ
CQlCQzY0QjREQTBDQjQyOThBMDA1RjJCNjIgLyogQ1NTRm9udEZhY2VTcmNWYWx1ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODM1MjBDN0UxQTcxQkZDQzAwNkJEMkFBIC8qIENTU0ZvbnRGYW1pbHku
aCBpbiBIZWFkZXJzICovLAogCQkJCTRBNkU5RkM0MTNDMTdEMUQwMDQ2QTdGOCAvKiBDU1NGb250
RmVhdHVyZVZhbHVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkxQ0VBQTUzMjI2RjMzNkZDMDA4Njg1
MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNjRCNERDMENCNDI5OEEwMDVGMkI2MiAvKiBDU1NGb250U2VsZWN0b3IuaCBp
biBIZWFkZXJzICovLAogCQkJCUMyRTM4RjAyMUU4NDU3MzUwMENBM0FERiAvKiBDU1NGb250U3R5
bGVSYW5nZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMkUzOEVGRTFFODM5NkZEMDBDQTNB
REYgLyogQ1NTRm9udFN0eWxlVmFsdWUuaCBpbiBIZWFkZXJzICovLApAQCAtMzMxMzIsNyArMzMx
NDQsNiBAQAogCQkJCUJDNjkzMjc0MEQ3RTI5MzkwMEFFNDREMSAvKiBKU0RPTVdpbmRvd0Jhc2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTY1MkZCQkJDMERFMjdDQjYwMDAxRDM4NiAvKiBKU0RPTVdp
bmRvd0N1c3RvbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDYwQ0JGMzYxRDRCQ0QwRTAwOTJFODhF
IC8qIEpTRE9NV2luZG93UHJvcGVydGllcy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDEwQkNGNTYy
NkYwQ0Q4QzAwNDBCMTI0IC8qIFJUQ0xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNjVFMEU5NDQxMTMzQzg5RjAwQjRDQjEwIC8qIEpTRE9NV3JhcHBlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0M0NUM5RDMxRTNGQ0JENzAwQUFCNTU4IC8qIEpTRE9NV3Jh
cHBlckNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0E4MDYxRTFFMDNCNTg1MDA4QTFGMjYg
LyogSlNEb3VibGVSYW5nZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNDc0Miw2ICszNDc1Myw3IEBA
CiAJCQkJMDdBQjk5NkIxOERBM0MwMTAwMTg3NzFFIC8qIFJUQ0ljZVNlcnZlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzEzNTkxMDgxRTdEREM3MzAwRjMwNjMwIC8qIFJUQ0ljZVRyYW5zcG9ydFBv
bGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzEzNTkxMDkxRTdEREM3MzAwRjMwNjMwIC8qIFJU
Q0ljZVRyYW5zcG9ydFN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTBCQ0Y1NjI2RjBDRDhD
MDA0MEIxMjQgLyogUlRDTG9jYWxTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmggaW4gSGVhZGVycyAq
LywKIAkJCQk0MUMxNEJDNjI2REU2REU4MDA2ODVCRjUgLyogUlRDTmV0d29ya01hbmFnZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTA3Mzc5NEZFMTlGNTg2NEUwMEU1QTA0NSAvKiBSVENOb3RpZmll
cnNNb2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzM3OTRERTE5RUUyQzUyMDBFNUEwNDUgLyog
UlRDT2ZmZXJBbnN3ZXJPcHRpb25zLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCmluZGV4IDc1MGUwMGMzODdmYmQyNzhl
NTg1ZmVjNmJkMzRkMjA1MDcxY2M1ZDMuLjhjNGM1NjE1YTM5ZjcxMzk1ZDdkYzdlOWI4ZmU3OWY2
MTk3YzkyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVs
ZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3Vz
dG9tLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0eWxlUnVs
ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZS5oIgogI2luY2x1ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJD
U1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZXNSdWxlLmgiCkBAIC0zOCw2
ICszOSw3IEBACiAjaW5jbHVkZSAiQ1NTU3VwcG9ydHNSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1ND
b3VudGVyU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNs
dWRlICJKU0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTSW1wb3J0
UnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NL
ZXlmcmFtZXNSdWxlLmgiCkBAIC03MCw2ICs3Miw4IEBAIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRl
ZChKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxD
CiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU01lZGlhUnVsZT4oZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKHJ1bGUpKTsKICAgICBjYXNlIENTU1J1bGU6OkZPTlRfRkFDRV9SVUxFOgogICAg
ICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NGb250RmFjZVJ1bGU+KGdsb2JhbE9iamVjdCwg
V1RGTW92ZShydWxlKSk7CisgICAgY2FzZSBDU1NSdWxlOjpGT05UX1BBTEVUVEVfVkFMVUVTX1JV
TEU6CisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHJ1bGUpKTsKICAgICBjYXNlIENTU1J1bGU6OlBBR0Vf
UlVMRToKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTUGFnZVJ1bGU+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxlOjpJTVBPUlRfUlVMRToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAK
aW5kZXggNjRjYTFmY2IyYmRhMWYzM2VmMzk5Y2EwNzBiYjE5NDJjZDRjZmRlNi4uMjgwNWM4OWI0
OGMxOTM4NDBhZmYwODBmY2M0MjY4OGNlMzI2OGRmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTEsNiArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDA0IFphY2sgUnVzaW4gPHphY2tAa2RlLm9yZz4KLSAqIENv
cHlyaWdodCAoQykgMjAwNC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqIENvcHlyaWdodCAoQykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQub3Jn
PgogICogQ29weXJpZ2h0IChDKSAyMDA3IE5pY2hvbGFzIFNoYW5rcyA8d2Via2l0QG5pY2tzaGFu
a3MuY29tPgogICogQ29weXJpZ2h0IChDKSAyMDExIFNlbmNoYSwgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgpAQCAtNDA1NCw2ICs0MDU0LDExIEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRT
dHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGb250RGlzcGxheToKICAgICAgICAgICAgIGJyZWFrOwog
CisgICAgICAgIC8qIFVuaW1wbGVtZW50ZWQgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgcHJvcGVydGll
cyAqLworICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFzZVBhbGV0dGU6CisgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlPdmVycmlkZUNvbG9yOgorICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAg
LyogT3RoZXIgdW5pbXBsZW1lbnRlZCBwcm9wZXJ0aWVzICovCiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlQYWdlOiAvLyBmb3IgQHBhZ2UKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVNpemU6IC8v
IGZvciBAcGFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRl
VmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzZkNDZjMmEx
MWZhYmZkMWYyNzUwN2Y0YjMzMzEzN2U2NjRiN2YzZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAK
QEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVl
c092ZXJyaWRlQ29sb3JWYWx1ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1N0cmluZyBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1ha2VTdHJpbmcobV9rZXktPmNzc1RleHQoKSwgIiAiLCBtX2Nv
bG9yLT5jc3NUZXh0KCkpOworfQorCitib29sIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVD
b2xvclZhbHVlOjplcXVhbHMoY29uc3QgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9y
VmFsdWUmIG90aGVyKSBjb25zdAoreworICAgIHJldHVybiBtX2tleS0+ZXF1YWxzKG90aGVyLmtl
eSgpKSAmJiBtX2NvbG9yLT5lcXVhbHMob3RoZXIuY29sb3IoKSk7Cit9CisKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JW
YWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVD
b2xvclZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjcxOTBiYmM5MjcwMmRiM2E2OTkwYTdjOThhZWFmMjE0
NGJmNmY3YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgIkNTU1ZhbHVlLmgiCisjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKKyNp
bmNsdWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24u
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBDYWNoZWRGb250OworY2xhc3MgRm9udExvYWRSZXF1ZXN0OworY2xhc3MgU1ZH
Rm9udEZhY2VFbGVtZW50OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3Mg
Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUgZmluYWwgOiBwdWJsaWMgQ1NT
VmFsdWUgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVy
cmlkZUNvbG9yVmFsdWU+IGNyZWF0ZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYga2V5LCBSZWY8
Q1NTUHJpbWl0aXZlVmFsdWU+JiYgY29sb3IpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZShXVEZNb3ZlKGtl
eSksIFdURk1vdmUoY29sb3IpKSk7CisgICAgfQorCisgICAgY29uc3QgQ1NTUHJpbWl0aXZlVmFs
dWUmIGtleSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9rZXkuZ2V0KCk7CisgICAg
fQorCisgICAgY29uc3QgQ1NTUHJpbWl0aXZlVmFsdWUmIGNvbG9yKCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIHJldHVybiBtX2NvbG9yLmdldCgpOworICAgIH0KKworICAgIFN0cmluZyBjdXN0b21D
U1NUZXh0KCkgY29uc3Q7CisKKyAgICBib29sIGVxdWFscyhjb25zdCBDU1NGb250UGFsZXR0ZVZh
bHVlc092ZXJyaWRlQ29sb3JWYWx1ZSYpIGNvbnN0OworCitwcml2YXRlOgorICAgIENTU0ZvbnRQ
YWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlKFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4mJiBr
ZXksIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4mJiBjb2xvcikKKyAgICAgICAgOiBDU1NWYWx1ZShG
b250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzcykKKyAgICAgICAgLCBtX2tleShXVEZN
b3ZlKGtleSkpCisgICAgICAgICwgbV9jb2xvcihXVEZNb3ZlKGNvbG9yKSkKKyAgICB7CisgICAg
fQorCisgICAgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiBtX2tleTsKKyAgICBSZWY8Q1NTUHJpbWl0
aXZlVmFsdWU+IG1fY29sb3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1ZBTFVFKENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVD
b2xvclZhbHVlLCBpc0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE4Y2M3NDE1OTExODljYjY4Y2UzYzI5YzBhMGFlMTQ4Yzk5MWI1MTYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcApA
QCAtMCwwICsxLDEzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUuaCIKKworI2luY2x1ZGUgIkNvbG9yU2VyaWFsaXphdGlvbi5oIgorI2luY2x1ZGUgIkpT
RE9NTWFwTGlrZS5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5o
IgorI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgorI2luY2x1ZGUgIlN0eWxlUnVsZS5oIgor
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZShT
dHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyYgZm9udFBhbGV0dGVWYWx1ZXNSdWxlLCBDU1NTdHls
ZVNoZWV0KiBwYXJlbnQpCisgICAgOiBDU1NSdWxlKHBhcmVudCkKKyAgICAsIG1fZm9udFBhbGV0
dGVWYWx1ZXNSdWxlKGZvbnRQYWxldHRlVmFsdWVzUnVsZSkKK3sKK30KKworQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjp+Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKCkKK3sKK30KKworU3RyaW5n
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Zm9udEZhbWlseSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5mb250RmFtaWx5KCk7Cit9CisKK1N0cmluZyBD
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmJhc2VQYWxldHRlKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwg
WyZdKGludDY0X3QgaW5kZXgpIHsKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoaW5kZXgpOwor
ICAgIH0sIFsmXShjb25zdCBBdG9tU3RyaW5nJiBiYXNlUGFsZXR0ZSkgLT4gU3RyaW5nIHsKKyAg
ICAgICAgaWYgKCFiYXNlUGFsZXR0ZS5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBiYXNl
UGFsZXR0ZS5zdHJpbmcoKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmVtcHR5KCk7Cisg
ICAgfSk7Cit9CisKK3ZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpzZXRGb250RmFtaWx5
KFN0cmluZyYmIGZvbnRGYW1pbHkpCit7CisgICAgVU5VU0VEX1BBUkFNKGZvbnRGYW1pbHkpOwor
ICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4KK30KKwordm9pZCBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGU6OnNldEJhc2VQYWxldHRlKFN0cmluZyYmIGJhc2VQYWxldHRlKQoreworICAgIFVO
VVNFRF9QQVJBTShiYXNlUGFsZXR0ZSk7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgor
fQorCit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6aW5pdGlhbGl6ZU1hcExpa2UoRE9N
TWFwQWRhcHRlciYgbWFwKQoreworICAgIGZvciAoYXV0byYgcGFpciA6IG1fZm9udFBhbGV0dGVW
YWx1ZXNSdWxlLT5vdmVycmlkZUNvbG9yKCkpIHsKKyAgICAgICAgaWYgKCFXVEY6OmhvbGRzX2Fs
dGVybmF0aXZlPGludDY0X3Q+KHBhaXIuZmlyc3QpKQorICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgIG1hcC5zZXQ8SURMVW5zaWduZWRMb25nLCBJRExVU1ZTdHJpbmc+KFdURjo6Z2V0PGlu
dDY0X3Q+KHBhaXIuZmlyc3QpLCBzZXJpYWxpemF0aW9uRm9yQ1NTKHBhaXIuc2Vjb25kKSk7Cisg
ICAgfQorfQorCit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0RnJvbU1hcExpa2Uo
dW5zaWduZWQga2V5LCBTdHJpbmcmJiB2YWx1ZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oa2V5KTsK
KyAgICBVTlVTRURfUEFSQU0odmFsdWUpOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4K
K30KKwordm9pZCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmNsZWFyKCkKK3sKKyAgICBtX2Zv
bnRQYWxldHRlVmFsdWVzUnVsZS0+Y2xlYXJPdmVycmlkZUNvbG9yKCk7Cit9CisKK2Jvb2wgQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpyZW1vdmUodW5zaWduZWQga2V5KQoreworICAgIHJldHVy
biBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+cmVtb3ZlKGtleSk7Cit9CisKK1N0cmluZyBDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZ0J1aWxk
ZXIgYnVpbGRlcjsKKyAgICBidWlsZGVyLmFwcGVuZCgiQGZvbnQtcGFsZXR0ZS12YWx1ZXMgIiwg
bV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm5hbWUoKSwgIiB7ICIpOworICAgIGlmICghbV9mb250
UGFsZXR0ZVZhbHVlc1J1bGUtPmZvbnRGYW1pbHkoKS5pc051bGwoKSkKKyAgICAgICAgYnVpbGRl
ci5hcHBlbmQoImZvbnQtZmFtaWx5OiAiLCBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+Zm9udEZh
bWlseSgpLCAiOyAiKTsKKyAgICBXVEY6OnN3aXRjaE9uKG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxl
LT5iYXNlUGFsZXR0ZSgpLCBbJl0oaW50NjRfdCBpbmRleCkgeworICAgICAgICBidWlsZGVyLmFw
cGVuZCgiYmFzZS1wYWxldHRlOiAiLCBpbmRleCwgIjsgIik7CisgICAgfSwgWyZdKGNvbnN0IEF0
b21TdHJpbmcmIGJhc2VQYWxldHRlKSB7CisgICAgICAgIGlmICghYmFzZVBhbGV0dGUuaXNOdWxs
KCkpCisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiYmFzZS1wYWxldHRlOiAiLCBzZXJpYWxp
emVTdHJpbmcoYmFzZVBhbGV0dGUuc3RyaW5nKCkpLCAiOyAiKTsKKyAgICB9KTsKKyAgICBpZiAo
IW1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5vdmVycmlkZUNvbG9yKCkuaXNFbXB0eSgpKSB7Cisg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJvdmVycmlkZS1jb2xvcjoiKTsKKyAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+b3ZlcnJpZGVDb2xvcigp
LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAgICAgICAgICBidWls
ZGVyLmFwcGVuZCgnLCcpOworICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKKyAgICAg
ICAgICAgIFdURjo6c3dpdGNoT24obV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29s
b3IoKVtpXS5maXJzdCwgWyZdKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUpIHsKKyAgICAgICAgICAg
ICAgICBidWlsZGVyLmFwcGVuZChzZXJpYWxpemVTdHJpbmcobmFtZS5zdHJpbmcoKSkpOworICAg
ICAgICAgICAgfSwgWyZdKGludDY0X3QgaW5kZXgpIHsKKyAgICAgICAgICAgICAgICBidWlsZGVy
LmFwcGVuZChpbmRleCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBw
ZW5kKCcgJywgc2VyaWFsaXphdGlvbkZvckNTUyhtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+b3Zl
cnJpZGVDb2xvcigpW2ldLnNlY29uZCkpOworICAgICAgICB9CisgICAgICAgIGJ1aWxkZXIuYXBw
ZW5kKCI7ICIpOworICAgIH0KKyAgICBidWlsZGVyLmFwcGVuZCgifSIpOworICAgIHJldHVybiBi
dWlsZGVyLnRvU3RyaW5nKCk7Cit9CisKK3ZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpy
ZWF0dGFjaChTdHlsZVJ1bGVCYXNlJiBydWxlKQoreworICAgIG1fZm9udFBhbGV0dGVWYWx1ZXNS
dWxlID0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmPihydWxlKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhYWZmOTQwYmZhMDc5ZTI4ODRhNDc3OTI0
ZDM0YTI1ZmNjZDYxOGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAi
Q1NTUnVsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1N0eWxlRGVjbGFy
YXRpb247CitjbGFzcyBET01NYXBBZGFwdGVyOworY2xhc3MgU3R5bGVSdWxlRm9udEZhY2U7Citj
bGFzcyBTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uOworCitjbGFzcyBDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUgZmluYWwgOiBwdWJsaWMgQ1NTUnVsZSB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFJlZjxDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU+IGNyZWF0ZShTdHlsZVJ1bGVGb250UGFsZXR0
ZVZhbHVlcyYgcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKHJ1bGUsIHNoZWV0KSk7IH0KKworICAgIHZpcnR1
YWwgfkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgpOworCisgICAgU3RyaW5nIGZvbnRGYW1pbHko
KSBjb25zdDsKKyAgICBTdHJpbmcgYmFzZVBhbGV0dGUoKSBjb25zdDsKKworICAgIHZvaWQgc2V0
Rm9udEZhbWlseShTdHJpbmcmJik7CisgICAgdm9pZCBzZXRCYXNlUGFsZXR0ZShTdHJpbmcmJik7
CisKKyAgICB2b2lkIGluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXImKTsKKyAgICB2b2lk
IHNldEZyb21NYXBMaWtlKHVuc2lnbmVkIGtleSwgU3RyaW5nJiYgdmFsdWUpOworICAgIHZvaWQg
Y2xlYXIoKTsKKyAgICBib29sIHJlbW92ZSh1bnNpZ25lZCBrZXkpOworCitwcml2YXRlOgorICAg
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZShTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyYsIENT
U1N0eWxlU2hlZXQqIHBhcmVudCk7CisKKyAgICBDU1NSdWxlOjpUeXBlIHR5cGUoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEU7IH0KKyAgICBTdHJpbmcgY3Nz
VGV4dCgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFzZSYpIGZp
bmFsOworCisgICAgUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBtX2ZvbnRQYWxldHRl
VmFsdWVzUnVsZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19DU1NfUlVMRShDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUsIENTU1J1bGU6OkZP
TlRfUEFMRVRURV9WQUxVRVNfUlVMRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE1ZjYxMjE3MjMyOGUwOWY3M2VlNTk2
MDcwZGJkZGQ0ODIyNDI1NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCit0eXBlZGVmIFVT
VlN0cmluZyBDU1NPTVN0cmluZzsKKworWworICAgIEV4cG9zZWQ9V2luZG93CitdIGludGVyZmFj
ZSBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgOiBDU1NSdWxlIHsKKyAgICBtYXBsaWtlPHVuc2ln
bmVkIGxvbmcsIENTU09NU3RyaW5nPjsKKyAgICBhdHRyaWJ1dGUgQ1NTT01TdHJpbmcgZm9udEZh
bWlseTsKKyAgICBhdHRyaWJ1dGUgQ1NTT01TdHJpbmcgYmFzZVBhbGV0dGU7Cit9OworCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCBhOGJjODk1ZjYzYzAyNTcxMDRkZDNj
NDhjODE2MTRiOTFhYTUwNjliLi5kNDExN2FmOTcyOGJiNjRiZjQ3YzkwNmM1ZjFlMGQxMmJjODQ0
NzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTQwNzUsNiArNDA3
NSwyNiBAQAogICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nz
cy1mb250cy0zLyNzcmMtZGVzYyIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAg
ImJhc2UtcGFsZXR0ZSI6IHsKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Cisg
ICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUsCisgICAgICAgICAgICAgICAgImRl
c2NyaXB0b3Itb25seSI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lm
aWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWZvbnRzIiwKKyAg
ICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMt
NC8jYmFzZS1wYWxldHRlLWRlc2MiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAg
ICJvdmVycmlkZS1jb2xvciI6IHsKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7
CisgICAgICAgICAgICAgICAgInNraXAtYnVpbGRlciI6IHRydWUsCisgICAgICAgICAgICAgICAg
ImRlc2NyaXB0b3Itb25seSI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3Bl
Y2lmaWNhdGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWZvbnRzIiwK
KyAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9u
dHMtNC8jb3ZlcnJpZGUtY29sb3IiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAg
ICJzdG9wLWNvbG9yIjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKICAg
ICAgICAgICAgICAgICAiY29udmVydGVyIjogIlNWR0NvbG9yIiwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNw
cAppbmRleCAwZjNjNDM5NGQ5NWUyMzcwNmU0OGY0ZTI5YWZiNDg0ZmJmZGMzODAyLi5lZDVkODYw
ZmQyMzdjNWZkYTQ5NjM5ODJmMjc0YjFiNmRlODVkZjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3Bw
CkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxA
a2RlLm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcp
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMTIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAyIC0gMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTQ1LDkg
KzQ1LDE3IEBAIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlID09IHN0YXRp
Y19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5CiBDT01QSUxFX0FTU0VSVChTdHlsZVJ1
bGVUeXBlOjpQYWdlID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6
OlBBR0VfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CiBDT01QSUxFX0FTU0VSVChTdHlsZVJ1
bGVUeXBlOjpLZXlmcmFtZXMgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6
VHlwZTo6S0VZRlJBTUVTX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElMRV9BU1NF
UlQoU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWUgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4o
Q1NTUnVsZTo6VHlwZTo6S0VZRlJBTUVfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CitDT01Q
SUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpNYXJnaW4gPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxl
VHlwZT4oQ1NTUnVsZTo6VHlwZTo6TUFSR0lOX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwog
Q09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6TmFtZXNwYWNlID09IHN0YXRpY19jYXN0PFN0
eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6Ok5BTUVTUEFDRV9SVUxFKSwgZW51bXNfc2hvdWxk
X21hdGNoKTsKIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZSA9PSBz
dGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpDT1VOVEVSX1NUWUxFX1JV
TEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6
U3VwcG9ydHMgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6U1VQ
UE9SVFNfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CitDT01QSUxFX0FTU0VSVChTdHlsZVJ1
bGVUeXBlOjpEb2N1bWVudCA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpU
eXBlOjpET0NVTUVOVF9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKK0NPTVBJTEVfQVNTRVJU
KFN0eWxlUnVsZVR5cGU6OkZvbnRGZWF0dXJlVmFsdWVzID09IHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVR5cGU+KENTU1J1bGU6OlR5cGU6OkZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSksIGVudW1zX3No
b3VsZF9tYXRjaCk7CitDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpWaWV3cG9ydCA9PSBz
dGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpWSUVXUE9SVF9SVUxFKSwg
ZW51bXNfc2hvdWxkX21hdGNoKTsKK0NPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OlJlZ2lv
blN0eWxlID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6OlJFR0lP
Tl9TVFlMRV9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKK0NPTVBJTEVfQVNTRVJUKFN0eWxl
UnVsZVR5cGU6OkN1c3RvbU1lZGlhID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1
bGU6OlR5cGU6OkNVU1RPTV9NRURJQV9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKK0NPTVBJ
TEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OlByb3BlcnR5ID09IHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVR5cGU+KENTU1J1bGU6OlR5cGU6OlBST1BFUlRZX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gp
OworQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMgPT0gc3Rh
dGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6Rk9OVF9QQUxFVFRFX1ZBTFVF
U19SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKIAogRXhjZXB0aW9uT3I8dm9pZD4gQ1NTUnVs
ZTo6c2V0Q3NzVGV4dChjb25zdCBTdHJpbmcmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKaW5kZXggN2Vm
YjNhMTdiZTRiNDMxMWQ0NTA2MDJjZDcxODBiNDE2MDNjZjcxNC4uYmM0OTI2Yjg0MDg0OGZlMTk1
NmQ2ODZiNDU5YTM1ZTkyMThmYTRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCkBAIC0xLDcgKzEsNyBA
QAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAqIChD
KSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgQW5kcmVhcyBLbGluZyAoa2xpbmdAd2Via2l0Lm9yZykKICAqCiAgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCkBAIC0zOCwxOSArMzgsMjcgQEAgcHVibGljOgogCiAgICAgLy8gV2ViSURMIGVudW0KICAg
ICBlbnVtIFR5cGUgewotICAgICAgICBVTktOT1dOX1JVTEUsCi0gICAgICAgIFNUWUxFX1JVTEUs
Ci0gICAgICAgIENIQVJTRVRfUlVMRSwKLSAgICAgICAgSU1QT1JUX1JVTEUsCi0gICAgICAgIE1F
RElBX1JVTEUsCi0gICAgICAgIEZPTlRfRkFDRV9SVUxFLAotICAgICAgICBQQUdFX1JVTEUsCi0g
ICAgICAgIEtFWUZSQU1FU19SVUxFLAotICAgICAgICBLRVlGUkFNRV9SVUxFLAotICAgICAgICBN
QVJHSU5fUlVMRSwKLSAgICAgICAgTkFNRVNQQUNFX1JVTEUsCi0gICAgICAgIENPVU5URVJfU1RZ
TEVfUlVMRSwKLSAgICAgICAgU1VQUE9SVFNfUlVMRQorICAgICAgICBVTktOT1dOX1JVTEUgPSAw
LAorICAgICAgICBTVFlMRV9SVUxFID0gMSwKKyAgICAgICAgQ0hBUlNFVF9SVUxFID0gMiwKKyAg
ICAgICAgSU1QT1JUX1JVTEUgPSAzLAorICAgICAgICBNRURJQV9SVUxFID0gNCwKKyAgICAgICAg
Rk9OVF9GQUNFX1JVTEUgPSA1LAorICAgICAgICBQQUdFX1JVTEUgPSA2LAorICAgICAgICBLRVlG
UkFNRVNfUlVMRSA9IDcsCisgICAgICAgIEtFWUZSQU1FX1JVTEUgPSA4LAorICAgICAgICBNQVJH
SU5fUlVMRSA9IDksCisgICAgICAgIE5BTUVTUEFDRV9SVUxFID0gMTAsCisgICAgICAgIENPVU5U
RVJfU1RZTEVfUlVMRSA9IDExLAorICAgICAgICBTVVBQT1JUU19SVUxFID0gMTIsCisgICAgICAg
IERPQ1VNRU5UX1JVTEUgPSAxMywKKyAgICAgICAgRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFID0g
MTQsCisgICAgICAgIFZJRVdQT1JUX1JVTEUgPSAxNSwKKyAgICAgICAgUkVHSU9OX1NUWUxFX1JV
TEUgPSAxNiwKKyAgICAgICAgQ1VTVE9NX01FRElBX1JVTEUgPSAxNywKKyAgICAgICAgUFJPUEVS
VFlfUlVMRSA9IDE4LAorICAgICAgICBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUgPSAxOSwgLy8g
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzY2MjMKKyAgICAgICAg
TEFZRVJfUlVMRSA9IDIwCiAgICAgfTsKIAogICAgIGVudW0gRGVwcmVjYXRlZFR5cGUgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1J1bGUuaWRsCmluZGV4IGYzZTY2MTM3ZDc2MzczMGMzN2YwMjNhMTYzM2UzMmVmODI1
MGViNTYuLmNmZTNiZTA3MjNhMGQ5MDU2MTgzZjM1MDEwYWRhZmQyYjk2NGQ2ZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUnVsZS5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2
LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
QEAgLTQ0LDYgKzQ0LDEzIEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTkFNRVNQQUNFX1JV
TEUgPSAxMDsKICAgICBbRW5hYmxlZEJ5U2V0dGluZz1DU1NDb3VudGVyU3R5bGVBdFJ1bGVzXSBj
b25zdCB1bnNpZ25lZCBzaG9ydCBDT1VOVEVSX1NUWUxFX1JVTEUgPSAxMTsKICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBTVVBQT1JUU19SVUxFID0gMTI7CisgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgRE9DVU1FTlRfUlVMRSA9IDEzOworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEZPTlRfRkVB
VFVSRV9WQUxVRVNfUlVMRSA9IDE0OworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFZJRVdQT1JU
X1JVTEUgPSAxNTsKKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBSRUdJT05fU1RZTEVfUlVMRSA9
IDE2OworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENVU1RPTV9NRURJQV9SVUxFID0gMTc7Cisg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUFJPUEVSVFlfUlVMRSA9IDE4OworICAgIGNvbnN0IHVu
c2lnbmVkIHNob3J0IEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSA9IDE5OyAvKiBodHRwczovL2dp
dGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjYyMyAqLwogCiAgICAgLy8gTGVnYWN5
IHN5bm9ueW1zIGZvciB0aGUgYWJvdmUsIGtlcHQgdG8gYXZvaWQgYnJlYWtpbmcgZXhpc3Rpbmcg
Y29udGVudC4KICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBXRUJLSVRfS0VZRlJBTUVTX1JVTEUg
PSA3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKaW5kZXggODczNjlhYjBkYjUyZjBhMmU4YTNiYTJj
MDM5NTM2MDRjNDRkMTdlMi4uMTljYjczZWZlZDNkY2I4MDYwNzQyMTA5NjRkZWQ4NDZjNjA1NTVm
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHly
aWdodCAoQykgMjAxMSBBbmRyZWFzIEtsaW5nIChrbGluZ0B3ZWJraXQub3JnKQogICogQ29weXJp
Z2h0IChDKSAyMDEzIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzksNiArNDAsNyBAQAogI2lu
Y2x1ZGUgIkNTU0ZpbHRlckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNyY1Zh
bHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZlYXR1cmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0Zv
bnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFN0
eWxlUmFuZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRTdHlsZVZhbHVlLmgiCiAjaW5jbHVk
ZSAiQ1NTRm9udFZhbHVlLmgiCkBAIC0xNjQsNiArMTY2LDggQEAgYm9vbCBDU1NWYWx1ZTo6ZXF1
YWxzKGNvbnN0IENTU1ZhbHVlJiBvdGhlcikgY29uc3QKICAgICAgICAgICAgIHJldHVybiBjb21w
YXJlQ1NTVmFsdWVzPENTU0ZvbnRWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBG
b250RmFjZVNyY0NsYXNzOgogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NT
Rm9udEZhY2VTcmNWYWx1ZT4oKnRoaXMsIG90aGVyKTsKKyAgICAgICAgY2FzZSBGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczoKKyAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NT
VmFsdWVzPENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPigqdGhpcywgb3Ro
ZXIpOwogICAgICAgICBjYXNlIEZvbnRGZWF0dXJlQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4g
Y29tcGFyZUNTU1ZhbHVlczxDU1NGb250RmVhdHVyZVZhbHVlPigqdGhpcywgb3RoZXIpOwogICAg
ICAgICBjYXNlIEZvbnRWYXJpYXRpb25DbGFzczoKQEAgLTI2NCw2ICsyNjgsOCBAQCBTdHJpbmcg
Q1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9u
dFZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgRm9udEZhY2VTcmNDbGFz
czoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0ZvbnRGYWNlU3JjVmFsdWU+KCp0aGlzKS5j
dXN0b21DU1NUZXh0KCk7CisgICAgY2FzZSBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JD
bGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvclZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgRm9udEZlYXR1
cmVDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0ZvbnRGZWF0dXJlVmFsdWU+KCp0
aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBGb250VmFyaWF0aW9uQ2xhc3M6CkBAIC0z
NzcsNiArMzgzLDkgQEAgdm9pZCBDU1NWYWx1ZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBGb250RmFj
ZVNyY0NsYXNzOgogICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTRm9udEZhY2VTcmNWYWx1ZT4o
dGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvckNsYXNzOgorICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTRm9udFBhbGV0dGVWYWx1
ZXNPdmVycmlkZUNvbG9yVmFsdWU+KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBG
b250RmVhdHVyZUNsYXNzOgogICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTRm9udEZlYXR1cmVW
YWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggMjNl
YjVlYzM4Y2NlOTY5MGU1ZDhhYjQ0YjU2NTI0NWY4NzJkOTA1ZC4uYjMxYzk5MjBlYTQzMTc2ODkw
YjIwOTZhZWZiODlhMGZiN2NmM2YxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTEsNiArMSw2
IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICog
Q29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNCAtIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC05Nyw2ICs5Nyw3
IEBAIHB1YmxpYzoKICAgICBib29sIGlzRm9udEZlYXR1cmVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NUeXBlID09IEZvbnRGZWF0dXJlQ2xhc3M7IH0KICAgICBib29sIGlzRm9udFZhcmlh
dGlvblZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udFZhcmlhdGlvbkNs
YXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRGYWNlU3JjVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Ns
YXNzVHlwZSA9PSBGb250RmFjZVNyY0NsYXNzOyB9CisgICAgYm9vbCBpc0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9u
dFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3M7IH0KICAgICBib29sIGlzRm9udFZhbHVl
KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udENsYXNzOyB9CiAgICAgYm9vbCBp
c0ZvbnRTdHlsZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udFN0eWxl
Q2xhc3M7IH0KICAgICBib29sIGlzRm9udFN0eWxlUmFuZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NUeXBlID09IEZvbnRTdHlsZVJhbmdlQ2xhc3M7IH0KQEAgLTE4Nyw2ICsxODgsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgICAgIEZvbnRTdHlsZUNsYXNzLAogICAgICAgICBGb250U3R5bGVS
YW5nZUNsYXNzLAogICAgICAgICBGb250RmFjZVNyY0NsYXNzLAorICAgICAgICBGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzcywKICAgICAgICAgRnVuY3Rpb25DbGFzcywKIAogICAg
ICAgICBJbmhlcml0ZWRDbGFzcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKaW5kZXggNGIxNWMw
OTQ5ODk5YmJlM2RlZDk5MTRiZTliNmViMWU2NzgzMjVjMy4uNDIzMTBhOWEyM2MwMzE4N2QzZmI3
MWE0ZmQxNjA3ZjA2NzBlNWNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKQEAgLTEsNyAr
MSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQog
ICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHly
aWdodCAoQykgMjAwMi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAwMi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwpAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgIkNTU0NvdW50ZXJT
dHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NEZWZlcnJlZFBhcnNlci5oIgogI2luY2x1ZGUgIkNT
U0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oIgog
I2luY2x1ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZVJ1bGUuaCIK
ICNpbmNsdWRlICJDU1NLZXlmcmFtZXNSdWxlLmgiCkBAIC03MCw2ICs3MSw5IEBAIHZvaWQgU3R5
bGVSdWxlQmFzZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZToK
ICAgICAgICAgZGVsZXRlIGRvd25jYXN0PFN0eWxlUnVsZUZvbnRGYWNlPih0aGlzKTsKICAgICAg
ICAgcmV0dXJuOworICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXM6Cisg
ICAgICAgIGRlbGV0ZSBkb3duY2FzdDxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4odGhpcyk7
CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok1lZGlhOgogICAgICAg
ICBkZWxldGUgZG93bmNhc3Q8U3R5bGVSdWxlTWVkaWE+KHRoaXMpOwogICAgICAgICByZXR1cm47
CkBAIC05OCw2ICsxMDIsMTMgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KCkKICAgICAg
ICAgZGVsZXRlIGRvd25jYXN0PFN0eWxlUnVsZUxheWVyPih0aGlzKTsKICAgICAgICAgcmV0dXJu
OwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6VW5rbm93bjoKKyAgICBjYXNlIFN0eWxlUnVsZVR5
cGU6OkRvY3VtZW50OgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZlYXR1cmVWYWx1ZXM6
CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpWaWV3cG9ydDoKKyAgICBjYXNlIFN0eWxlUnVsZVR5
cGU6OlJlZ2lvblN0eWxlOgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Q3VzdG9tTWVkaWE6Cisg
ICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpNYXJnaW46CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpQ
cm9wZXJ0eToKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CkBAIC0xMTMsNiArMTI0LDggQEAgUmVmPFN0eWxlUnVsZUJhc2U+IFN0eWxlUnVsZUJh
c2U6OmNvcHkoKSBjb25zdAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8U3R5bGVSdWxlUGFnZT4o
KnRoaXMpLmNvcHkoKTsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOgogICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8U3R5bGVSdWxlRm9udEZhY2U+KCp0aGlzKS5jb3B5KCk7CisgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoKKyAgICAgICAgcmV0dXJuIGRv
d25jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPigqdGhpcykuY29weSgpOwogICAgIGNh
c2UgU3R5bGVSdWxlVHlwZTo6TWVkaWE6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1
bGVNZWRpYT4oKnRoaXMpLmNvcHkoKTsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlN1cHBvcnRz
OgpAQCAtMTMwLDYgKzE0MywxMyBAQCBSZWY8U3R5bGVSdWxlQmFzZT4gU3R5bGVSdWxlQmFzZTo6
Y29weSgpIGNvbnN0CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpVbmtub3duOgogICAgIGNhc2Ug
U3R5bGVSdWxlVHlwZTo6Q2hhcnNldDoKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OktleWZyYW1l
OgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6RG9jdW1lbnQ6CisgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpGb250RmVhdHVyZVZhbHVlczoKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlZpZXdwb3J0
OgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6UmVnaW9uU3R5bGU6CisgICAgY2FzZSBTdHlsZVJ1
bGVUeXBlOjpDdXN0b21NZWRpYToKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok1hcmdpbjoKKyAg
ICBjYXNlIFN0eWxlUnVsZVR5cGU6OlByb3BlcnR5OgogICAgICAgICBicmVhazsKICAgICB9CiAg
ICAgQ1JBU0goKTsKQEAgLTE0OSw2ICsxNjksOSBAQCBSZWY8Q1NTUnVsZT4gU3R5bGVSdWxlQmFz
ZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKENTU1N0eWxlU2hlZXQqIHBhcmVudFNoZWV0LCBDU1NSdQog
ICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2U6CiAgICAgICAgIHJ1bGUgPSBDU1NGb250
RmFjZVJ1bGU6OmNyZWF0ZShkb3duY2FzdDxTdHlsZVJ1bGVGb250RmFjZT4oc2VsZiksIHBhcmVu
dFNoZWV0KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFs
ZXR0ZVZhbHVlczoKKyAgICAgICAgcnVsZSA9IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3Jl
YXRlKGRvd25jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPihzZWxmKSwgcGFyZW50U2hl
ZXQpOworICAgICAgICBicmVhazsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok1lZGlhOgogICAg
ICAgICBydWxlID0gQ1NTTWVkaWFSdWxlOjpjcmVhdGUoZG93bmNhc3Q8U3R5bGVSdWxlTWVkaWE+
KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTcyLDYgKzE5NSwxMyBA
QCBSZWY8Q1NTUnVsZT4gU3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKENTU1N0eWxl
U2hlZXQqIHBhcmVudFNoZWV0LCBDU1NSdQogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6VW5rbm93
bjoKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkNoYXJzZXQ6CiAgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpLZXlmcmFtZToKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkRvY3VtZW50OgorICAgIGNh
c2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZlYXR1cmVWYWx1ZXM6CisgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpWaWV3cG9ydDoKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlJlZ2lvblN0eWxlOgorICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6Q3VzdG9tTWVkaWE6CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBl
OjpNYXJnaW46CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpQcm9wZXJ0eToKICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTMxOSw2ICszNDks
MjYgQEAgTXV0YWJsZVN0eWxlUHJvcGVydGllcyYgU3R5bGVSdWxlRm9udEZhY2U6Om11dGFibGVQ
cm9wZXJ0aWVzKCkKICAgICByZXR1cm4gZG93bmNhc3Q8TXV0YWJsZVN0eWxlUHJvcGVydGllcz4o
bV9wcm9wZXJ0aWVzLmdldCgpKTsKIH0KIAorU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlN0
eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IEF0
b21TdHJpbmcmIGZvbnRGYW1pbHksIGNvbnN0IFBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZl
Y3RvcjxPdmVycmlkZGVuQ29sb3I+JiYgb3ZlcnJpZGVDb2xvcikKKyAgICA6IFN0eWxlUnVsZUJh
c2UoU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMpCisgICAgLCBtX25hbWUobmFtZSkK
KyAgICAsIG1fZm9udEZhbWlseShmb250RmFtaWx5KQorICAgICwgbV9iYXNlUGFsZXR0ZShiYXNl
UGFsZXR0ZSkKKyAgICAsIG1fb3ZlcnJpZGVDb2xvcihXVEZNb3ZlKG92ZXJyaWRlQ29sb3IpKQor
eworfQorCitTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXMoY29uc3QgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIG8pCisgICAgOiBTdHlsZVJ1
bGVCYXNlKG8pCisgICAgLCBtX25hbWUoby5uYW1lKCkpCisgICAgLCBtX2ZvbnRGYW1pbHkoby5m
b250RmFtaWx5KCkpCisgICAgLCBtX2Jhc2VQYWxldHRlKG8uYmFzZVBhbGV0dGUoKSkKKyAgICAs
IG1fb3ZlcnJpZGVDb2xvcihvLm92ZXJyaWRlQ29sb3IoKSkKK3sKK30KKworU3R5bGVSdWxlRm9u
dFBhbGV0dGVWYWx1ZXM6On5TdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygpID0gZGVmYXVsdDsK
KwogRGVmZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q6OkRlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0
KGNvbnN0IENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBDU1NEZWZlcnJlZFBhcnNlciYgcGFy
c2VyKQogICAgIDogbV9wYXJzZXIocGFyc2VyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCmluZGV4
IDE1NjJjNzkyNjdlYTY0ZDIxNzAxYjlkZjc1N2MwMzUyNTkwZjk3MWIuLmI1M2RmOWIxOTcyNzlm
M2FhZjkwZjhhNGY2OWY2MWRjNmY0ZGFhZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKQEAgLTEs
NyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3Jn
KQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENv
cHlyaWdodCAoQykgMjAwMi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwMi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBp
c0NoYXJzZXRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkNo
YXJzZXQ7IH0KICAgICBib29sIGlzQ291bnRlclN0eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5
cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3VudGVyU3R5bGU7IH0KICAgICBib29sIGlzRm9udEZh
Y2VSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNl
OyB9CisgICAgYm9vbCBpc0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5
cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczsgfQogICAgIGJvb2wgaXNL
ZXlmcmFtZXNSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6Oktl
eWZyYW1lczsgfQogICAgIGJvb2wgaXNLZXlmcmFtZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBl
KCkgPT0gU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWU7IH0KICAgICBib29sIGlzTmFtZXNwYWNlUnVs
ZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpOYW1lc3BhY2U7IH0K
QEAgLTE1NSw2ICsxNTYsNjAgQEAgcHJpdmF0ZToKICAgICBSZWY8U3R5bGVQcm9wZXJ0aWVzPiBt
X3Byb3BlcnRpZXM7CiB9OwogCitjbGFzcyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyBmaW5h
bCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsKK3B1YmxpYzoKKyAgICB1c2luZyBQYWxldHRlSW5k
ZXggPSBWYXJpYW50PGludDY0X3QsIEF0b21TdHJpbmc+OworICAgIHVzaW5nIFBhbGV0dGVDb2xv
ckluZGV4ID0gVmFyaWFudDxBdG9tU3RyaW5nLCBpbnQ2NF90PjsKKyAgICB1c2luZyBPdmVycmlk
ZGVuQ29sb3IgPSBzdGQ6OnBhaXI8UGFsZXR0ZUNvbG9ySW5kZXgsIENvbG9yPjsKKworICAgIHN0
YXRpYyBSZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IGNyZWF0ZShjb25zdCBBdG9tU3Ry
aW5nJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBmb250RmFtaWx5LCBjb25zdCBQYWxldHRlSW5k
ZXgmIGJhc2VQYWxldHRlLCBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3Ip
IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMobmFtZSwg
Zm9udEZhbWlseSwgYmFzZVBhbGV0dGUsIFdURk1vdmUob3ZlcnJpZGVDb2xvcikpKTsgfQorICAg
IAorICAgIH5TdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygpOworCisgICAgY29uc3QgQXRvbVN0
cmluZyYgbmFtZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9uYW1lOworICAgIH0K
KworICAgIGNvbnN0IEF0b21TdHJpbmcmIGZvbnRGYW1pbHkoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fZm9udEZhbWlseTsKKyAgICB9CisKKyAgICBjb25zdCBQYWxldHRlSW5kZXgm
IGJhc2VQYWxldHRlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2Jhc2VQYWxldHRl
OworICAgIH0KKworICAgIGNvbnN0IFZlY3RvcjxPdmVycmlkZGVuQ29sb3I+JiBvdmVycmlkZUNv
bG9yKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX292ZXJyaWRlQ29sb3I7CisgICAg
fQorCisgICAgdm9pZCBjbGVhck92ZXJyaWRlQ29sb3IoKQorICAgIHsKKyAgICAgICAgbV9vdmVy
cmlkZUNvbG9yLmNsZWFyKCk7CisgICAgfQorCisgICAgYm9vbCByZW1vdmUodW5zaWduZWQga2V5
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fb3ZlcnJpZGVDb2xvci5yZW1vdmVBbGxNYXRjaGlu
Zyhba2V5XShjb25zdCBPdmVycmlkZGVuQ29sb3ImIG92ZXJyaWRkZW5Db2xvcikgLT4gYm9vbCB7
CisgICAgICAgICAgICByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxpbnQ2NF90PihvdmVy
cmlkZGVuQ29sb3IuZmlyc3QpICYmIFdURjo6Z2V0PGludDY0X3Q+KG92ZXJyaWRkZW5Db2xvci5m
aXJzdCkgPT0ga2V5OworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBSZWY8U3R5bGVSdWxlRm9u
dFBhbGV0dGVWYWx1ZXM+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxl
UnVsZUZvbnRQYWxldHRlVmFsdWVzKCp0aGlzKSk7IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNp
dCBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25z
dCBBdG9tU3RyaW5nJiBmb250RmFtaWx5LCBjb25zdCBQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRl
LCBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpOworICAgIFN0eWxlUnVs
ZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJik7CisK
KyAgICBBdG9tU3RyaW5nIG1fbmFtZTsKKyAgICBBdG9tU3RyaW5nIG1fZm9udEZhbWlseTsKKyAg
ICBQYWxldHRlSW5kZXggbV9iYXNlUGFsZXR0ZTsKKyAgICBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9y
PiBtX292ZXJyaWRlQ29sb3I7Cit9OworCiBjbGFzcyBTdHlsZVJ1bGVQYWdlIGZpbmFsIDogcHVi
bGljIFN0eWxlUnVsZUJhc2UgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlUGFn
ZT4gY3JlYXRlKFJlZjxTdHlsZVByb3BlcnRpZXM+JiYsIENTU1NlbGVjdG9yTGlzdCYmKTsKQEAg
LTM1Nyw2ICs0MTIsMTAgQEAgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpT
dHlsZVJ1bGVGb250RmFjZSkKICAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0ZvbnRGYWNlUnVsZSgpOyB9CiBT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVH
SU4oV2ViQ29yZTo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMpCisgICAgc3RhdGljIGJvb2wg
aXNUeXBlKGNvbnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0dXJuIHJ1bGUu
aXNGb250UGFsZXR0ZVZhbHVlc1J1bGUoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQo
KQorCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZU1lZGlh
KQogICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlJiBy
dWxlKSB7IHJldHVybiBydWxlLmlzTWVkaWFSdWxlKCk7IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJ
VFNfRU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlVHlwZS5oCmluZGV4IGM5ZTUxOGRiZTYxYjcz
NWI2ZDdhMWE3ZmY2MjQzY2Q5ODE1Y2M1YmQuLmMxZDdmMzE1MmVmMDI2YTEzMzhhMjk1NjkxOTZj
YTM3NmFiZTNjNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE5IC0gMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDE5ICsyOCwy
NyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIFN0eWxlUnVsZVR5cGUgOiB1
aW50OF90IHsKLSAgICBVbmtub3duLCAvLyBOb3QgdXNlZC4KLSAgICBTdHlsZSwKLSAgICBDaGFy
c2V0LCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgc3RyaW5ncyBvd25lZCBieSB0
aGUgc3R5bGUgc2hlZXQuCi0gICAgSW1wb3J0LAotICAgIE1lZGlhLAotICAgIEZvbnRGYWNlLAot
ICAgIFBhZ2UsCi0gICAgS2V5ZnJhbWVzLAotICAgIEtleWZyYW1lLCAvLyBOb3QgdXNlZC4gVGhl
c2UgYXJlIGludGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVSdWxlS2V5ZnJhbWUgb2JqZWN0cy4KKyAg
ICBVbmtub3duID0gMCwgLy8gTm90IHVzZWQuCisgICAgU3R5bGUgPSAxLAorICAgIENoYXJzZXQg
PSAyLCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgc3RyaW5ncyBvd25lZCBieSB0
aGUgc3R5bGUgc2hlZXQuCisgICAgSW1wb3J0ID0gMywKKyAgICBNZWRpYSA9IDQsCisgICAgRm9u
dEZhY2UgPSA1LAorICAgIFBhZ2UgPSA2LAorICAgIEtleWZyYW1lcyA9IDcsCisgICAgS2V5ZnJh
bWUgPSA4LCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVS
dWxlS2V5ZnJhbWUgb2JqZWN0cy4KKyAgICBNYXJnaW4gPSA5LAogICAgIE5hbWVzcGFjZSA9IDEw
LAogICAgIENvdW50ZXJTdHlsZSA9IDExLAogICAgIFN1cHBvcnRzID0gMTIsCi0gICAgTGF5ZXIg
PSAxMywKKyAgICBEb2N1bWVudCA9IDEzLAorICAgIEZvbnRGZWF0dXJlVmFsdWVzID0gMTQsCisg
ICAgVmlld3BvcnQgPSAxNSwKKyAgICBSZWdpb25TdHlsZSA9IDE2LAorICAgIEN1c3RvbU1lZGlh
ID0gMTcsCisgICAgUHJvcGVydHkgPSAxOCwKKyAgICBGb250UGFsZXR0ZVZhbHVlcyA9IDE5LCAv
LyBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjYyMworICAgIExh
eWVyID0gMjAKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlU2hlZXRDb250ZW50cy5jcHAKaW5kZXggMzI4NDk3NDg1MzVhMGQ3NjQ2OTAzMDczY2My
NGRjMTg2NmRiMDRjZS4uY2Y3ZDRlZDgwZmJmNWUxYjJiOWRkOTk4ZGMzNzI3NjY4NmE3NGY5MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKQEAgLTEsNiArMSw2
IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICog
Q29weXJpZ2h0IChDKSAyMDA0LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC00MzYsNiArNDM2LDcgQEAgc3RhdGljIGJvb2wgdHJh
dmVyc2VSdWxlc0luVmVjdG9yKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiBy
dWxlcywgY28KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OlN0eWxlOgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOgorICAgICAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOgogICAgICAgICBjYXNlIFN0eWxl
UnVsZVR5cGU6OlBhZ2U6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWVzOgog
ICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok5hbWVzcGFjZToKQEAgLTQ0Myw2ICs0NDQsMTMg
QEAgc3RhdGljIGJvb2wgdHJhdmVyc2VSdWxlc0luVmVjdG9yKGNvbnN0IFZlY3RvcjxSZWZQdHI8
U3R5bGVSdWxlQmFzZT4+JiBydWxlcywgY28KICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpD
aGFyc2V0OgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZToKICAgICAg
ICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZToKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpEb2N1bWVudDoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250RmVhdHVyZVZh
bHVlczoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpWaWV3cG9ydDoKKyAgICAgICAgY2Fz
ZSBTdHlsZVJ1bGVUeXBlOjpSZWdpb25TdHlsZToKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBl
OjpDdXN0b21NZWRpYToKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpNYXJnaW46CisgICAg
ICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6UHJvcGVydHk6CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogICAgIH0KQEAgLTQ4Niw2ICs0OTQsMTQgQEAgYm9vbCBTdHlsZVNoZWV0Q29udGVu
dHM6OnRyYXZlcnNlU3VicmVzb3VyY2VzKGNvbnN0IFdURjo6RnVuY3Rpb248Ym9vbCAoY29uc3Qg
Q2EKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZToKICAgICAgICAgY2FzZSBT
dHlsZVJ1bGVUeXBlOjpTdXBwb3J0czoKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpMYXll
cjoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpEb2N1bWVudDoKKyAgICAgICAgY2FzZSBT
dHlsZVJ1bGVUeXBlOjpGb250RmVhdHVyZVZhbHVlczoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpWaWV3cG9ydDoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpSZWdpb25TdHlsZToK
KyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoKKyAgICAgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpDdXN0b21NZWRpYToKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpNYXJnaW46CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6UHJvcGVydHk6CiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH07CiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJ
RC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcAppbmRleCAw
ODI1NzIzOGM4YjM1OGU1M2JmYTI3ZTJhYjZiZWNjZDVhNmQyZTk5Li45Y2UzNTFkMTZiYTg3MTUy
NjUwZTNlYjQ2MDNkYWY2MjQ0MTMwYzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU0F0UnVsZUlELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U0F0UnVsZUlELmNwcApAQCAtMSw1ICsxLDUgQEAKIC8vIENvcHlyaWdodCAyMDE1IFRoZSBDaHJv
bWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gQ29weXJpZ2h0IChDKSAyMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNiAt
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
Ly8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQpAQCAtMzgsNiArMzgsOCBAQCBDU1NBdFJ1bGVJRCBjc3NBdFJ1bGVJ
RChTdHJpbmdWaWV3IG5hbWUpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVDaGFyc2V0OwogICAg
IGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG5hbWUsICJmb250LWZhY2UiKSkKICAgICAgICAg
cmV0dXJuIENTU0F0UnVsZUZvbnRGYWNlOworICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNl
KG5hbWUsICJmb250LXBhbGV0dGUtdmFsdWVzIikpCisgICAgICAgIHJldHVybiBDU1NBdFJ1bGVG
b250UGFsZXR0ZVZhbHVlczsKICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAi
aW1wb3J0IikpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVJbXBvcnQ7CiAgICAgaWYgKGVxdWFs
SWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImtleWZyYW1lcyIpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NBdFJ1bGVJRC5oCmluZGV4IDMzMGY2Y2JlMmUyNWIzZGNjZjBlNzI5ZTQ0ODk5ZjE4
OTQxNWE3YmUuLjVlNGQ0MzUzMzJkNjEyM2M3MWJiOGQzYzNjMjUzYWI3NzEzMjlmMDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmgKQEAgLTEsNSArMSw1IEBACiAvLyBD
b3B5cmlnaHQgMjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LS8vIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBDb3B5cmlnaHQgKEMpIDIwMTYgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQ5LDYgKzQ5LDggQEAg
ZW51bSBDU1NBdFJ1bGVJRCB7CiAgICAgQ1NTQXRSdWxlQXBwbHkgPSAxMSwKICAgICBDU1NBdFJ1
bGVDb3VudGVyU3R5bGUgPSAxMiwKICAgICBDU1NBdFJ1bGVMYXllciA9IDEzLAorCisgICAgQ1NT
QXRSdWxlRm9udFBhbGV0dGVWYWx1ZXMgPSAxNCwKIH07CiAKIENTU0F0UnVsZUlEIGNzc0F0UnVs
ZUlEKFN0cmluZ1ZpZXcgbmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJz
ZXJJbXBsLmNwcAppbmRleCBlNWI3NDMwMmUwY2U0YzVhYmQ2MTZlYzQ1NzFiNjJjNGZmYzdlNTE5
Li5hZjVkZTVmOGEyNmVjZWNlYTlkNjg4YmFiYzVhNWNjNWJiMTllYjg5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKQEAgLTEsNSArMSw1IEBACiAvLyBD
b3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LS8vIENvcHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM0LDYgKzM0LDcg
QEAKICNpbmNsdWRlICJDU1NDb3VudGVyU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTQ3VzdG9t
UHJvcGVydHlWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0RlZmVycmVkUGFyc2VyLmgiCisjaW5jbHVk
ZSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKICNpbmNsdWRlICJD
U1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZXNSdWxlLmgiCiAjaW5jbHVk
ZSAiQ1NTUGFyc2VyT2JzZXJ2ZXIuaCIKQEAgLTQ0NSw2ICs0NDYsOCBAQCBSZWZQdHI8U3R5bGVS
dWxlQmFzZT4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZUF0UnVsZShDU1NQYXJzZXJUb2tlblJhbmdl
JiByYW5nZSwgQQogICAgICAgICByZXR1cm4gY29uc3VtZVN1cHBvcnRzUnVsZShwcmVsdWRlLCBi
bG9jayk7CiAgICAgY2FzZSBDU1NBdFJ1bGVGb250RmFjZToKICAgICAgICAgcmV0dXJuIGNvbnN1
bWVGb250RmFjZVJ1bGUocHJlbHVkZSwgYmxvY2spOworICAgIGNhc2UgQ1NTQXRSdWxlRm9udFBh
bGV0dGVWYWx1ZXM6CisgICAgICAgIHJldHVybiBjb25zdW1lRm9udFBhbGV0dGVWYWx1ZXNSdWxl
KHByZWx1ZGUsIGJsb2NrKTsKICAgICBjYXNlIENTU0F0UnVsZVdlYmtpdEtleWZyYW1lczoKICAg
ICAgICAgcmV0dXJuIGNvbnN1bWVLZXlmcmFtZXNSdWxlKHRydWUsIHByZWx1ZGUsIGJsb2NrKTsK
ICAgICBjYXNlIENTU0F0UnVsZUtleWZyYW1lczoKQEAgLTY1Miw2ICs2NTUsNTUgQEAgUmVmUHRy
PFN0eWxlUnVsZUZvbnRGYWNlPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lRm9udEZhY2VSdWxlKENT
U1BhcnNlclRva2VuUmFuZ2UKICAgICByZXR1cm4gU3R5bGVSdWxlRm9udEZhY2U6OmNyZWF0ZShj
cmVhdGVTdHlsZVByb3BlcnRpZXMobV9wYXJzZWRQcm9wZXJ0aWVzLCBtX2NvbnRleHQubW9kZSkp
OwogfQogCitSZWZQdHI8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IENTU1BhcnNlckltcGw6
OmNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRl
LCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKQoreworICAgIGF1dG8gbmFtZSA9IENTU1Byb3Bl
cnR5UGFyc2VySGVscGVyczo6Y29uc3VtZUN1c3RvbUlkZW50KHByZWx1ZGUpOworICAgIGlmICgh
bmFtZSB8fCAhcHJlbHVkZS5hdEVuZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsgLy8gUGFy
c2UgZXJyb3I7IGV4cGVjdGVkIGN1c3RvbSBpZGVudCBpbiBAZm9udC1wYWxldHRlLXZhbHVlcyBo
ZWFkZXIKKworICAgIGlmIChtX29ic2VydmVyV3JhcHBlcikgeworICAgICAgICB1bnNpZ25lZCBl
bmRPZmZzZXQgPSBtX29ic2VydmVyV3JhcHBlci0+ZW5kT2Zmc2V0KHByZWx1ZGUpOworICAgICAg
ICBtX29ic2VydmVyV3JhcHBlci0+b2JzZXJ2ZXIoKS5zdGFydFJ1bGVIZWFkZXIoU3R5bGVSdWxl
VHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMsIG1fb2JzZXJ2ZXJXcmFwcGVyLT5zdGFydE9mZnNldChw
cmVsdWRlKSk7CisgICAgICAgIG1fb2JzZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigpLmVuZFJ1bGVI
ZWFkZXIoZW5kT2Zmc2V0KTsKKyAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCku
c3RhcnRSdWxlQm9keShlbmRPZmZzZXQpOworICAgICAgICBtX29ic2VydmVyV3JhcHBlci0+b2Jz
ZXJ2ZXIoKS5lbmRSdWxlQm9keShlbmRPZmZzZXQpOworICAgIH0KKworICAgIGNvbnN1bWVEZWNs
YXJhdGlvbkxpc3QoYmxvY2ssIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzKTsKKyAg
ICBhdXRvIHByb3BlcnRpZXMgPSBjcmVhdGVTdHlsZVByb3BlcnRpZXMobV9wYXJzZWRQcm9wZXJ0
aWVzLCBtX2NvbnRleHQubW9kZSk7CisKKyAgICBBdG9tU3RyaW5nIGZvbnRGYW1pbHk7CisgICAg
aWYgKGF1dG8gZm9udEZhbWlseVZhbHVlID0gcHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1
ZShDU1NQcm9wZXJ0eUZvbnRGYW1pbHkpKQorICAgICAgICBmb250RmFtaWx5ID0gZG93bmNhc3Q8
Q1NTUHJpbWl0aXZlVmFsdWU+KCpmb250RmFtaWx5VmFsdWUpLmZvbnRGYW1pbHkoKS5mYW1pbHlO
YW1lOworCisgICAgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0dGVJbmRleCBiYXNl
UGFsZXR0ZShudWxsQXRvbSgpKTsKKyAgICBpZiAoYXV0byBiYXNlUGFsZXR0ZVZhbHVlID0gcHJv
cGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUJhc2VQYWxldHRlKSkgewor
ICAgICAgICBjb25zdCBhdXRvJiBwcmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlPigqYmFzZVBhbGV0dGVWYWx1ZSk7CisgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS5p
c1N0cmluZygpKQorICAgICAgICAgICAgYmFzZVBhbGV0dGUgPSBwcmltaXRpdmVWYWx1ZS5zdHJp
bmdWYWx1ZSgpOworICAgICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS5pc051bWJlcigpKQor
ICAgICAgICAgICAgYmFzZVBhbGV0dGUgPSBwcmltaXRpdmVWYWx1ZS52YWx1ZTxpbnQ2NF90Pigp
OworICAgIH0KKworICAgIFZlY3RvcjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6T3ZlcnJp
ZGRlbkNvbG9yPiBvdmVycmlkZUNvbG9yOworICAgIGlmIChhdXRvIG92ZXJyaWRlQ29sb3JWYWx1
ZSA9IHByb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlPdmVycmlkZUNv
bG9yKSkgeworICAgICAgICBjb25zdCBhdXRvJiBsaXN0ID0gZG93bmNhc3Q8Q1NTVmFsdWVMaXN0
Pigqb3ZlcnJpZGVDb2xvclZhbHVlKTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBpdGVtIDog
bGlzdCkgeworICAgICAgICAgICAgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0dGVD
b2xvckluZGV4IGtleShudWxsQXRvbSgpKTsKKyAgICAgICAgICAgIGNvbnN0IGF1dG8mIHBhaXIg
PSBkb3duY2FzdDxDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZT4oaXRlbS5n
ZXQoKSk7CisgICAgICAgICAgICBpZiAocGFpci5rZXkoKS5pc1N0cmluZygpKQorICAgICAgICAg
ICAgICAgIGtleSA9IHBhaXIua2V5KCkuc3RyaW5nVmFsdWUoKTsKKyAgICAgICAgICAgIGVsc2Ug
aWYgKHBhaXIua2V5KCkuaXNOdW1iZXIoKSkKKyAgICAgICAgICAgICAgICBrZXkgPSBwYWlyLmtl
eSgpLnZhbHVlPGludDY0X3Q+KCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICBvdmVycmlkZUNvbG9yLmFwcGVuZChzdGQ6Om1ha2VfcGFp
cihrZXksIHBhaXIuY29sb3IoKS5jb2xvcigpKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBy
ZXR1cm4gU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OmNyZWF0ZShuYW1lLT5zdHJpbmdWYWx1
ZSgpLCBmb250RmFtaWx5LCBiYXNlUGFsZXR0ZSwgV1RGTW92ZShvdmVycmlkZUNvbG9yKSk7Cit9
CisKIFJlZlB0cjxTdHlsZVJ1bGVLZXlmcmFtZXM+IENTU1BhcnNlckltcGw6OmNvbnN1bWVLZXlm
cmFtZXNSdWxlKGJvb2wgd2Via2l0UHJlZml4ZWQsIENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVk
ZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jaykKIHsKICAgICBDU1NQYXJzZXJUb2tlblJhbmdl
IHJhbmdlQ29weSA9IHByZWx1ZGU7IC8vIEZvciBpbnNwZWN0b3IgY2FsbGJhY2tzCkBAIC05NjEs
NyArMTAxMyw3IEBAIHZvaWQgQ1NTUGFyc2VySW1wbDo6Y29uc3VtZURlY2xhcmF0aW9uKENTU1Bh
cnNlclRva2VuUmFuZ2UgcmFuZ2UsIFN0eWxlUnVsZVR5cGUKICAgICAgICAgY29uc3VtZUN1c3Rv
bVByb3BlcnR5VmFsdWUocmFuZ2UubWFrZVN1YlJhbmdlKCZyYW5nZS5wZWVrKCksIGRlY2xhcmF0
aW9uVmFsdWVFbmQpLCB2YXJpYWJsZU5hbWUsIGltcG9ydGFudCk7CiAgICAgfQogCi0gICAgaWYg
KGltcG9ydGFudCAmJiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2UgfHwgcnVs
ZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWUgfHwgcnVsZVR5cGUgPT0gU3R5bGVSdWxl
VHlwZTo6Q291bnRlclN0eWxlKSkKKyAgICBpZiAoaW1wb3J0YW50ICYmIChydWxlVHlwZSA9PSBT
dHlsZVJ1bGVUeXBlOjpGb250RmFjZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpLZXlm
cmFtZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3VudGVyU3R5bGUgfHwgcnVsZVR5
cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMpKQogICAgICAgICByZXR1cm47
CiAKICAgICBpZiAocHJvcGVydHlJRCAhPSBDU1NQcm9wZXJ0eUludmFsaWQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oCmluZGV4IDE2YzRjM2QxOWY1MDhjMTAyMWY1
MWI0YzM1Yjc0MDU5ZGU1MDQ1NDcuLmUyNWZlNWUyYTc1MjhjYWI0MzRhOWVlYjg2YThkMWNkN2Fm
YWEzYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oCkBAIC0x
LDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC01MSw2ICs1MSw3IEBAIGNsYXNzIFN0eWxlUnVsZTsKIGNsYXNzIFN0eWxlUnVsZUJhc2U7
CiBjbGFzcyBTdHlsZVJ1bGVDaGFyc2V0OwogY2xhc3MgU3R5bGVSdWxlRm9udEZhY2U7CitjbGFz
cyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczsKIGNsYXNzIFN0eWxlUnVsZUltcG9ydDsKIGNs
YXNzIFN0eWxlUnVsZUtleWZyYW1lczsKIGNsYXNzIFN0eWxlUnVsZUxheWVyOwpAQCAtMTMzLDYg
KzEzNCw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFN0eWxlUnVsZVN1cHBvcnRzPiBjb25zdW1l
U3VwcG9ydHNSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5S
YW5nZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZVZpZXdwb3J0PiBjb25zdW1lVmlld3Bv
cnRSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBi
bG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZUZvbnRGYWNlPiBjb25zdW1lRm9udEZhY2VSdWxl
KENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jayk7
CisgICAgUmVmUHRyPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBjb25zdW1lRm9udFBhbGV0
dGVWYWx1ZXNSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5S
YW5nZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZUtleWZyYW1lcz4gY29uc3VtZUtleWZy
YW1lc1J1bGUoYm9vbCB3ZWJraXRQcmVmaXhlZCwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRl
LCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVSdWxlUGFnZT4g
Y29uc3VtZVBhZ2VSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9r
ZW5SYW5nZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZUNvdW50ZXJTdHlsZT4gY29uc3Vt
ZUNvdW50ZXJTdHlsZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJU
b2tlblJhbmdlIGJsb2NrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9w
ZXJ0eVBhcnNlci5jcHAKaW5kZXggN2QzMzMwYjgxZWEzMzM2NDcyMzQ0ZTUxMGZkMDU4ZWFjYzI1
MTE3My4uMzg3MmE1YTY3Y2VjMjc4NWJiMTJkMDRjMGU1ODRkMzMyMzJlNGQ3YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTM4LDYg
KzM4LDcgQEAKICNpbmNsdWRlICJDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTRm9udEZhY2VTcmNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGZWF0dXJlVmFsdWUuaCIK
KyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIgogI2lm
IEVOQUJMRShWQVJJQVRJT05fRk9OVFMpCiAjaW5jbHVkZSAiQ1NTRm9udFZhcmlhdGlvblZhbHVl
LmgiCiAjZW5kaWYKQEAgLTIzMyw2ICsyMzQsOCBAQCBib29sIENTU1Byb3BlcnR5UGFyc2VyOjpw
YXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgYm9vbCBpbXBvcnRhbnQsIGNvbgog
CiAgICAgaWYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlKQogICAgICAgICBw
YXJzZVN1Y2Nlc3MgPSBwYXJzZXIucGFyc2VGb250RmFjZURlc2NyaXB0b3IocHJvcGVydHlJRCk7
CisgICAgZWxzZSBpZiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1
ZXMpCisgICAgICAgIHBhcnNlU3VjY2VzcyA9IHBhcnNlci5wYXJzZUZvbnRQYWxldHRlVmFsdWVz
RGVzY3JpcHRvcihwcm9wZXJ0eUlEKTsKICAgICBlbHNlIGlmIChydWxlVHlwZSA9PSBTdHlsZVJ1
bGVUeXBlOjpDb3VudGVyU3R5bGUpCiAgICAgICAgIHBhcnNlU3VjY2VzcyA9IHBhcnNlci5wYXJz
ZUNvdW50ZXJTdHlsZURlc2NyaXB0b3IocHJvcGVydHlJRCwgY29udGV4dCk7CiAgICAgZWxzZQpA
QCAtNDgzOCw2ICs0ODQxLDYzIEBAIGJvb2wgQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udEZh
Y2VEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkKQogICAgIHJldHVybiB0cnVlOwogfQog
CitzdGF0aWMgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lQmFzZVBhbGV0dGVEZXNj
cmlwdG9yKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAgIGlmIChyYW5nZS5wZWVr
KCkudHlwZSgpID09IFN0cmluZ1Rva2VuKQorICAgICAgICByZXR1cm4gY29uc3VtZVN0cmluZyhy
YW5nZSk7CisgICAgcmV0dXJuIGNvbnN1bWVJbnRlZ2VyKHJhbmdlKTsKK30KKworc3RhdGljIFJl
ZlB0cjxDU1NWYWx1ZUxpc3Q+IGNvbnN1bWVPdmVycmlkZUNvbG9yRGVzY3JpcHRvcihDU1NQYXJz
ZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sK
KyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVDb21t
YVNlcGFyYXRlZCgpOworICAgIGRvIHsKKyAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVl
PiBrZXk7CisgICAgICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09IFN0cmluZ1Rva2VuKQor
ICAgICAgICAgICAga2V5ID0gY29uc3VtZVN0cmluZyhyYW5nZSk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGtleSA9IGNvbnN1bWVJbnRlZ2VyKHJhbmdlKTsKKyAgICAgICAgaWYgKCFrZXkp
CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBhdXRvIGNvbG9yID0gY29u
c3VtZUNvbG9yKHJhbmdlLCBjb250ZXh0KTsKKyAgICAgICAgaWYgKCFjb2xvcikKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3JlYXRlKGtleS5yZWxlYXNl
Tm9uTnVsbCgpLCBjb2xvci5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICAgICAgbGlzdC0+YXBwZW5k
KHZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0gd2hpbGUgKGNvbnN1bWVDb21tYUluY2x1
ZGluZ1doaXRlc3BhY2UocmFuZ2UpKTsKKyAgICAKKyAgICBpZiAoIXJhbmdlLmF0RW5kKCkgfHwg
IWxpc3QtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBs
aXN0OworfQorCitib29sIENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZUZvbnRQYWxldHRlVmFsdWVz
RGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEIHByb3BJZCkKK3sKKyAgICBSZWZQdHI8Q1NTVmFsdWU+
IHBhcnNlZFZhbHVlOworICAgIHN3aXRjaCAocHJvcElkKSB7CisgICAgY2FzZSBDU1NQcm9wZXJ0
eUZvbnRGYW1pbHk6CisgICAgICAgIHBhcnNlZFZhbHVlID0gY29uc3VtZUZhbWlseU5hbWUobV9y
YW5nZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlCYXNlUGFsZXR0ZToK
KyAgICAgICAgcGFyc2VkVmFsdWUgPSBjb25zdW1lQmFzZVBhbGV0dGVEZXNjcmlwdG9yKG1fcmFu
Z2UpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5T3ZlcnJpZGVDb2xvcjoK
KyAgICAgICAgcGFyc2VkVmFsdWUgPSBjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IobV9y
YW5nZSwgbV9jb250ZXh0KTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAg
YnJlYWs7CisgICAgfQorCisgICAgaWYgKCFwYXJzZWRWYWx1ZSB8fCAhbV9yYW5nZS5hdEVuZCgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIENTU1By
b3BlcnR5SW52YWxpZCwgKnBhcnNlZFZhbHVlLCBmYWxzZSk7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKIGJvb2wgQ1NTUHJvcGVydHlQYXJzZXI6OmNvbnN1bWVTeXN0ZW1Gb250KGJvb2wgaW1wb3J0
YW50KQogewogICAgIENTU1ZhbHVlSUQgc3lzdGVtRm9udElEID0gbV9yYW5nZS5jb25zdW1lSW5j
bHVkaW5nV2hpdGVzcGFjZSgpLmlkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VyLmgKaW5kZXggMjdhYzM1OTM3Y2MyZmE1YWM3YzJmMjMwNDBlMzAxMGI1
MDgxNzEzOS4uZDg3NDA5OGZkYzQ4OWUyZWM0YWM1ZTE2M2FkNGUxZTJkOTIzY2FiMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaApAQCAtMSw2ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9y
ZykKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCwgMjAwOSwgMjAxMCwg
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDQgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAwOCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgogICogQ29weXJpZ2h0IChDKSAy
MDA5IC0gMjAxMCAgVG9yY2ggTW9iaWxlIChCZWlqaW5nKSBDby4gTHRkLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKQEAgLTczLDYgKzczLDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgcGFyc2VW
aWV3cG9ydERlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsK
ICAgICBib29sIHBhcnNlRm9udEZhY2VEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQpOworICAgIGJv
b2wgcGFyc2VGb250UGFsZXR0ZVZhbHVlc0Rlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCk7CiAgICAg
Ym9vbCBwYXJzZUNvdW50ZXJTdHlsZURlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCwgY29uc3QgQ1NT
UGFyc2VyQ29udGV4dCYpOwogCiAgICAgdm9pZCBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlELCBD
U1NQcm9wZXJ0eUlELCBSZWY8Q1NTVmFsdWU+JiYsIGJvb2wgaW1wb3J0YW50LCBib29sIGltcGxp
Y2l0ID0gZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOTkxMjQ1MTQw
YWU4YjQ5ZDQ5NDUwZDdlZTlmYjQxYzlhMTkwYzc1My4uNmZjNWViMWQxNWE4NGMyNjYyMmE2Yjg4
ZGMxMDc0N2YwNmQ4NWNkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTggQEAKKzIwMjEtMDktMTYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxl
LmNvbT4KKworICAgICAgICBQYXJzaW5nIHN1cHBvcnQgZm9yIGZvbnQtcGFsZXR0ZS12YWx1ZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDMzNwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXNlIGFy
ZSBiZWluZyB1cHN0cmVhbWVkIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVz
dHMvd3B0L3B1bGwvMzA4NDAuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1mb250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1w
YWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12
YWxpZC5odG1sOiBBZGRlZC4KKwogMjAyMS0wOS0xNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIFsgTWFjT1MgJiBpT1MgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2xpbmtzL2xpbmtzLWNyZWF0ZWQtYnktYS1hbmQtYXJl
YS1lbGVtZW50cy9odG1sYW5jaG9yZWxlbWVudF9ub29wZW5lci5odG1sIGlzIGZsYWt5IGZhaWxp
bmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mb250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9pZGxoYXJuZXNzLWV4
cGVjdGVkLnR4dAppbmRleCA0ZWNiYjMzZjhhOTNkOWUyYTI2MWQwNzJhZjg2MTRiYTVlODYwYTJk
Li4yZGQzNzRkY2UxZmE4MGEwZmFhY2ZlZWEwNDg2MjU5MGU0ZmMwZTM1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMv
aWRsaGFybmVzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CkBA
IC0xNSw4ICsxNSw4IEBAIFBBU1MgQ1NTRm9udEZhY2VSdWxlIGludGVyZmFjZTogYXR0cmlidXRl
IHN0eWxlCiBQQVNTIENTU0ZvbnRGYWNlUnVsZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9m
IGNzc0ZvbnRGYWNlUnVsZQogUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgY3NzRm9udEZhY2VSdWxl
CiBQQVNTIENTU0ZvbnRGYWNlUnVsZSBpbnRlcmZhY2U6IGNzc0ZvbnRGYWNlUnVsZSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgInN0eWxlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQotRkFJTCBDU1NSdWxl
IGludGVyZmFjZTogY3NzRm9udEZhY2VSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRk9OVF9G
RUFUVVJFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6
IHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUiIG5vdCBmb3VuZCBpbiBwcm90b3R5
cGUgY2hhaW4KLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc0ZvbnRGYWNlUnVsZSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxF
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBj
c3NGb250RmFjZVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFMVUVT
X1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlCitGQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NG
b250RmFjZVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JV
TEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDE1IGJ1dCBn
b3QgMTkKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxl
IiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIiBtaXNzaW5nCiBG
QUlMIENTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250
RmVhdHVyZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVl
c1J1bGUiIG1pc3NpbmcKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIGludGVyZmFjZSBv
YmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NG
b250RmVhdHVyZVZhbHVlc1J1bGUiIG1pc3NpbmcKQEAgLTM3LDE4ICszNywxOCBAQCBGQUlMIENT
U0ZvbnRGZWF0dXJlVmFsdWVzTWFwIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcgogRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc01hcCBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
ICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIGV4cGVjdGVkIHBy
b3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc01hcCIgbWlzc2luZwogRkFJTCBDU1NGb250RmVh
dHVyZVZhbHVlc01hcCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1
cmVWYWx1ZXNNYXAiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc01hcCIg
bWlzc2luZwogRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc01hcCBpbnRlcmZhY2U6IG9wZXJhdGlv
biBzZXQoQ1NTT01TdHJpbmcsICh1bnNpZ25lZCBsb25nIG9yIHNlcXVlbmNlPHVuc2lnbmVkIGxv
bmc+KSkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250RmVh
dHVyZVZhbHVlc01hcCIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZSBv
YmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0
ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlMIENT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBmb250RmFtaWx5IGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgYmFzZVBhbGV0dGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlMIENTU1J1bGUgaW50
ZXJmYWNlOiBjb25zdGFudCBGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUgb24gaW50ZXJmYWNlIG9i
amVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiRk9OVF9GRUFUVVJF
X1ZBTFVFU19SVUxFIiBtaXNzaW5nCi1GQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBG
T05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUgb24gaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIkZPTlRfRkVBVFVSRV9WQUxVRVNf
UlVMRSIgbWlzc2luZwotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9QQUxF
VFRFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTog
ZXhwZWN0ZWQgcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgbWlzc2luZwotRkFJ
TCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIG9u
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVk
IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIG1pc3NpbmcKLUZBSUwgQ1NTUnVs
ZSBpbnRlcmZhY2U6IGNzc1J1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX0ZFQVRVUkVf
VkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVy
dHkgIkZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFp
bgotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY3NzUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
IkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2lu
aGVyaXRzOiBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiBub3QgZm91bmQgaW4g
cHJvdG90eXBlIGNoYWluCitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIENTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIENTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogYXR0cmlidXRlIGZvbnRGYW1pbHkKK1BBU1MgQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogYXR0cmlidXRlIGJhc2VQYWxldHRlCitQQVNT
IENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUgb24g
aW50ZXJmYWNlIG9iamVjdAorUEFTUyBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9G
RUFUVVJFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitGQUlMIENT
U1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUgb24gaW50
ZXJmYWNlIG9iamVjdCBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0eSBoYXMgd3JvbmcgdmFsdWUgZXhw
ZWN0ZWQgMTUgYnV0IGdvdCAxOQorRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9O
VF9QQUxFVFRFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2Vy
dF9lcXVhbHM6IHByb3BlcnR5IGhhcyB3cm9uZyB2YWx1ZSBleHBlY3RlZCAxNSBidXQgZ290IDE5
CitQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
Rk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorRkFJTCBDU1NS
dWxlIGludGVyZmFjZTogY3NzUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRfUEFMRVRU
RV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgMTUgYnV0IGdvdCAxOQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFs
dWVzLWludmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1p
bnZhbGlkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzcyZTlhNTFkNWFhYmFlYzYxNzJlYTE0
MDNmMzNjMGMwMDE5NmI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRl
LXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACisKK1BBU1MgQ1NT
IEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzCitQQVNT
IENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAx
CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZh
bHVlcyAyCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxl
dHRlLXZhbHVlcyAzCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9u
dC1wYWxldHRlLXZhbHVlcyA0CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2lu
ZyBAZm9udC1wYWxldHRlLXZhbHVlcyA1CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDog
cGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA2CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2
ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA3CitQQVNTIENTUyBGb250cyBNb2R1
bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA4CitQQVNTIENTUyBGb250
cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA5CitQQVNTIENT
UyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMAor
UEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgMTEKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0
dGUtdmFsdWVzIDEyCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9u
dC1wYWxldHRlLXZhbHVlcyAxMworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUt
dmFsdWVzLWludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxp
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg3MDU0MmVkODhjNGM5MzA3YzBjNTIxOWMzYzRkZTg2OGZlY2Zh
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFs
aWQuaHRtbApAQCAtMCwwICsxLDE4MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkNTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlczwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMvI2ZvbnQtcGFsZXR0ZS12
YWx1ZXMiPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJAZm9udC1wYWxldHRlLXZhbHVl
cyBpcyBwYXJzZWQgY29ycmVjdGx5LiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgaWQ9InN0eWxlIj4KK0Bmb250LXBhbGV0dGUtdmFs
dWVzIHsKK30KKworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSBCIHsKK30KKworLyogMCAqLworQGZv
bnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgZm9udC1mYW1pbHk6IGEsIGI7Cit9CisKKy8qIDEg
Ki8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGZvbnQtZmFtaWx5OiAxOworfQorCisv
KiAyICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBmb250OiAxMnB4IGE7Cit9CisK
Ky8qIDMgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGJhc2UtcGFsZXR0ZTogMSAy
OworfQorCisvKiA0ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBiYXNlLXBhbGV0
dGU6IGlkZW50OworfQorCisvKiA1ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBi
YXNlLXBhbGV0dGU6ICJhIiAiYiI7Cit9CisKKy8qIDYgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVz
IEEgeworICAgIGJhc2UtcGFsZXR0ZTogOworfQorCisvKiA3ICovCitAZm9udC1wYWxldHRlLXZh
bHVlcyBBIHsKKyAgICBvdmVycmlkZS1jb2xvcjogaWRlbnQgIzEyMzsKK30KKworLyogOCAqLwor
QGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDAgInJlZCI7Cit9
CisKKy8qIDkgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIG92ZXJyaWRlLWNvbG9y
OiAwICMxMjMsIDE7Cit9CisKKy8qIDEwICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAg
ICBvdmVycmlkZS1jb2xvcjogOworfQorCisvKiAxMSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
QSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDAgIzEyMyAxOworfQorCisvKiAxMiAqLworQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDA7Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorbGV0IHJ1bGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN0eWxlIikuc2hlZXQuY3NzUnVsZXM7Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGFz
c2VydF9lcXVhbHMocnVsZXMubGVuZ3RoLCAxMyk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsK
KyAgICBsZXQgdGV4dCA9IHJ1bGVzWzBdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1sw
XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHkiKSwgLTEpOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Cit9KTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzFdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUg
PSBydWxlc1sxXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHki
KSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Cit9KTsKKwor
dGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzJdLmNzc1RleHQ7CisgICAg
bGV0IHJ1bGUgPSBydWxlc1syXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9u
dDoiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Cit9KTsK
KwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzNdLmNzc1RleHQ7Cisg
ICAgbGV0IHJ1bGUgPSBydWxlc1szXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigi
YmFzZS1wYWxldHRlIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUs
ICIiKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbNF0u
Y3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzRdOworICAgIGFzc2VydF9lcXVhbHModGV4
dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5i
YXNlUGFsZXR0ZSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQg
PSBydWxlc1s1XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbNV07CisgICAgYXNzZXJ0
X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7CisgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAg
ICBsZXQgdGV4dCA9IHJ1bGVzWzZdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s2XTsK
KyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlIiksIC0xKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKK30pOworCit0ZXN0KGZ1bmN0
aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbN10uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9
IHJ1bGVzWzddOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xv
ciIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3Qo
ZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s4XS5jc3NUZXh0OworICAgIGxldCBy
dWxlID0gcnVsZXNbOF07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRl
LWNvbG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwor
dGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzldLmNzc1RleHQ7CisgICAg
bGV0IHJ1bGUgPSBydWxlc1s5XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3Zl
cnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30p
OworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTBdLmNzc1RleHQ7
CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxMF07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4
T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwg
MCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzExXS5j
c3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMTFdOworICAgIGFzc2VydF9lcXVhbHModGV4
dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxl
LnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxl
c1sxMl0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzEyXTsKKyAgICBhc3NlcnRfZXF1
YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9lcXVh
bHMocnVsZS5zaXplLCAwKTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjBiNDgyZmZhZjM3NGUxOGJjZGYyMzA4ODI5NjFkOTEzMWI4ZDVmMTYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDIyIEBACisKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5n
IEBmb250LXBhbGV0dGUtdmFsdWVzCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFy
c2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAyCitQQVNTIENTUyBGb250cyBNb2R1bGUg
TGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAzCitQQVNTIENTUyBGb250cyBN
b2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA0CitQQVNTIENTUyBG
b250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA1CitQQVNT
IENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA2
CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZh
bHVlcyA3CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxl
dHRlLXZhbHVlcyA4CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9u
dC1wYWxldHRlLXZhbHVlcyA5CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2lu
ZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6
IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTEKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBM
ZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEyCitQQVNTIENTUyBGb250cyBN
b2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMworUEFTUyBDU1Mg
Rm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTQKK1BB
U1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVz
IDE1CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRl
LXZhbHVlcyAxNgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgMTcKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5n
IEBmb250LXBhbGV0dGUtdmFsdWVzIDE4CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDog
cGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxOQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9m
b250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFs
dWVzLXZhbGlkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY3NzRlZmJiMTQ5MzFlYmY1MDgwOGMzY2IzNWZi
ZmY4YTEzNzliOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1
ZXMtdmFsaWQuaHRtbApAQCAtMCwwICsxLDIzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkNTUyBGb250cyBNb2R1bGUg
TGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlczwvdGl0bGU+Cis8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMvI2ZvbnQtcGFs
ZXR0ZS12YWx1ZXMiPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJAZm9udC1wYWxldHRl
LXZhbHVlcyBpcyBwYXJzZWQgY29ycmVjdGx5LiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgaWQ9InN0eWxlIj4KKy8qIDAgKi8KK0Bm
b250LXBhbGV0dGUtdmFsdWVzIEEgeworfQorCisvKiAxICovCitAZm9udC1wYWxldHRlLXZhbHVl
cyBCIHsKKyAgICBmb250LXdlaWdodDogNDAwOworfQorCisvKiAyICovCitAZm9udC1wYWxldHRl
LXZhbHVlcyBDIHsKKyAgICBmb250LWZhbWlseTogZm9vOworICAgIGZvbnQtZmFtaWx5OiBiYXI7
CisgICAgYmFzZS1wYWxldHRlOiAxOworICAgIGJhc2UtcGFsZXR0ZTogImJheiI7CisgICAgYmFz
ZS1wYWxldHRlOiAyOworICAgIG92ZXJyaWRlLWNvbG9yOiAiYSIgIzEyMzsKKyAgICBvdmVycmlk
ZS1jb2xvcjogMyAjMTIzOworICAgIG92ZXJyaWRlLWNvbG9yOiAiYiIgIzEyMzsKK30KKworLyog
MyAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgRCB7CisgICAgYmFzZS1wYWxldHRlOiAiZm9vIjsK
KyAgICBiYXNlLXBhbGV0dGU6IDE7CisgICAgYmFzZS1wYWxldHRlOiAiYmFyIjsKKyAgICBvdmVy
cmlkZS1jb2xvcjogMyAjMTIzOworICAgIG92ZXJyaWRlLWNvbG9yOiAiYmF6IiAjMTIzOworICAg
IG92ZXJyaWRlLWNvbG9yOiA0ICMxMjM7Cit9CisKKy8qIDQgKi8KK0Bmb250LXBhbGV0dGUtdmFs
dWVzIEUgeworICAgIG92ZXJyaWRlLWNvbG9yOiAzIHJnYigxNywgMzQsIDUxKTsKKyAgICBvdmVy
cmlkZS1jb2xvcjogMyByZ2IoNjgsIDg1LCAxMDIpOworfQorCisvKiA1ICovCitAZm9udC1wYWxl
dHRlLXZhbHVlcyBGIHsKKyAgICBmb250LWZhbWlseTogImZvbyI7Cit9CisKKy8qIDYgKi8KK0Bm
b250LXBhbGV0dGUtdmFsdWVzIEcgeworICAgIG92ZXJyaWRlLWNvbG9yOiAzIHJnYigxNywgMzQs
IDUxKSwgNCByZ2IoNjgsIDg1LCAxMDIpOworfQorCisvKiA3ICovCitAZm9udC1wYWxldHRlLXZh
bHVlcyBIIHsKKyAgICBvdmVycmlkZS1jb2xvcjogMyByZ2IoMTcsIDM0LCA1MSksIDMgcmdiKDY4
LCA4NSwgMTAyKTsKK30KKworLyogOCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSSB7CisgICAg
YmFzZS1wYWxldHRlOiAtMzsKK30KKworLyogOSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSiB7
CisgICAgb3ZlcnJpZGUtY29sb3I6IC0zIHJnYigxNywgMzQsIDUxKTsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitsZXQgcnVsZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3R5bGUiKS5zaGVldC5jc3NSdWxlczsKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0
IHRleHQgPSBydWxlc1swXS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5k
ZXhPZigiQGZvbnQtcGFsZXR0ZS12YWx1ZXMgIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFs
cyh0ZXh0LmluZGV4T2YoIiBBICIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5p
bmRleE9mKCJ7IiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIn0i
KSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJmb250LWZhbWlseSIpLCAt
MSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7
CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsK
K30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbMF07CisgICAg
YXNzZXJ0X2VxdWFscyhydWxlLnR5cGUsIENTU1J1bGUuRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxF
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuY29uc3RydWN0b3IubmFtZSwgIkNTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZSIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7
CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRl
eHQgPSBydWxlc1sxXS5jc3NUZXh0OworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJm
b250LXdlaWdodCIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVs
ZSA9IHJ1bGVzWzFdOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQg
PSBydWxlc1syXS5jc3NUZXh0OworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJmb250
LWZhbWlseTogZm9vOyIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9m
KCJmb250LWZhbWlseTogYmFyOyIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4
T2YoImJhc2UtcGFsZXR0ZTogMTsiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRl
eE9mKCJiYXNlLXBhbGV0dGU6IFwiYmF6XCIiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxz
KHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiAyOyIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFs
cyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiBcImFcIiIpLCAtMSk7CisgICAgYXNzZXJ0
X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiAzIiksIC0xKTsKKyAgICBhc3Nl
cnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiBcImJcIiIpLCAtMSk7
Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzJdOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiYmFyIik7CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLmJhc2VQYWxldHRlLCAiMiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAw
KTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbM10uY3Nz
VGV4dDsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiBcImZv
b1wiOyIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0
ZTogMSIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBh
bGV0dGU6IFwiYmFyXCI7IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigi
b3ZlcnJpZGUtY29sb3I6IDMiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9m
KCJvdmVycmlkZS1jb2xvcjogXCJiYXpcIiIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMo
dGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvcjogNCIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzNdOworICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAi
YmFyIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOworICAgIGFzc2VydF9lcXVh
bHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMocnVsZS5n
ZXQoNCkuaW5kZXhPZigicmdiIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAg
IGxldCB0ZXh0ID0gcnVsZXNbNF0uY3NzVGV4dDsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5k
ZXhPZigiNTEiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiMTAy
IiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNb
NF07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6
ZSwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyhydWxlLmdldCgzKS5pbmRleE9mKCIxMDIiKSwgLTEpOworfSk7CisK
K3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s1XS5jc3NUZXh0OworICAg
IGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9vIiksIC0xKTsKK30pOworCit0ZXN0
KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbNV07CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLmZvbnRGYW1pbHksICJmb28iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBh
bGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVz
dChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzZdLmNzc1RleHQ7CisgICAgYXNz
ZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCI1MSIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9l
cXVhbHModGV4dC5pbmRleE9mKCIxMDIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgICAgbGV0IHJ1bGUgPSBydWxlc1s2XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZh
bWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAyKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0
KDcpLCB1bmRlZmluZWQpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDMpLmluZGV4
T2YoIjUxIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhydWxlLmdldCg0KS5pbmRleE9m
KCIxMDIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBy
dWxlc1s3XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiNTEi
KSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiMTAyIiksIC0xKTsK
K30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbN107CisgICAg
YXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsKKyAgICBhc3NlcnRfbm90
X2VxdWFscyhydWxlLmdldCgzKS5pbmRleE9mKCIxMDIiKSwgLTEpOworICAgIGFzc2VydF9lcXVh
bHMocnVsZS5nZXQoNCksIHVuZGVmaW5lZCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAg
ICBsZXQgdGV4dCA9IHJ1bGVzWzhdLmNzc1RleHQ7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4
dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgICAgbGV0IHJ1bGUgPSBydWxlc1s4XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZh
bWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIi0zIik7Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgICAgbGV0IHRleHQgPSBydWxlc1s5XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxz
KHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s5XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUu
Zm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIp
OworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuZ2V0KDcpLCB1bmRlZmluZWQpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoLTMpLCB1
bmRlZmluZWQpOworfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438551</attachid>
            <date>2021-09-18 00:28:07 -0700</date>
            <delta_ts>2021-09-18 02:04:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230337-20210918002806.patch</filename>
            <type>text/plain</type>
            <size>89401</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDBlYzhlMzZmZTU5YTUx
YTRlYzAwMmZhNDljYjU4ODRhMzkyMWQ2OC4uMjRiNzMwZTU5ZTM4M2E3Nzk4NjEwNTlkYTg0Mjhh
NzMxMzM3ZDRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkyIEBACisyMDIxLTA5LTE4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUGFyc2luZyBz
dXBwb3J0IGZvciBmb250LXBhbGV0dGUtdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSdzIG5vdGhpbmcgcGFydGljdWxhcmx5IGludGVy
ZXN0aW5nIGhlcmUgLSBpdCdzIGp1c3Qgc3VwcG9ydCBmb3IgYW5vdGhlciBhdC1ydWxlLgorICAg
ICAgICBJJ3ZlIGltcGxlbWVudGVkIHdoYXQncyBpbiB0aGUgc3BlYyByaWdodCBub3cuCisKKyAg
ICAgICAgVGhlcmUgYXJlIDIgbmV3IGRlc2NyaXB0b3JzOiBiYXNlLXBhbGV0dGUgYW5kIG92ZXJy
aWRlLWNvbG9yLiBJJ3ZlIGFkZGVkIGEgbmV3IENTU1ZhbHVlIHN1YmNsYXNzCisgICAgICAgIGZv
ciBlYWNoIG9mIHRoZSBpdGVtcyBpbiB0aGUgb3ZlcnJpZGUtY29sb3IgbGlzdCAtIHRoZXNlIGl0
ZW1zIGFyZSBqdXN0IHR1cGxlcyBvZiB0d28KKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWVzLiBJ
IGNvdWxkIGhhdmUgZG9uZSB0aGlzIHdpdGggYSBDU1NWYWx1ZUxpc3Qgd2hpY2ggYWx3YXlzIGp1
c3QgaGFwcGVucyB0byBoYXZlCisgICAgICAgIGEgbGVuZ3RoIG9mIDIsIGJ1dCBJIHRob3VnaHQg
dGhhdCB3YXMgbGVzcyBlbGVnYW50IChhbmQgaGFzIGFuIGV4dHJhIHBvaW50ZXIgaW5kaXJlY3Rp
b24pIHRoYW4KKyAgICAgICAgbWFraW5nIGEgY2xhc3MgdG8gaG9sZCB0aGUgdHdvIENTU1ByaW1p
dGl2ZVZhbHVlcy4KKworICAgICAgICBBbHNvLCBzb21lIG9mIG91ciBTdHlsZVJ1bGVzIGhhZCB0
aGUgd3Jvbmcgd2ViLWV4cG9zZWQgVHlwZSBjb25zdGFudCwgc28gSSBmaXhlZCB0aGF0IHRvbywg
YmVjYXVzZQorICAgICAgICB0aGlzIHBhdGNoIGFkZHMgYSBuZXcgU3R5bGVSdWxlIGFuZCBpdCBu
ZWVkcyB0byBoYXZlIHRoZSBjb3JyZWN0IFR5cGUuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtaW52YWxpZC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZh
bGlkLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBI
ZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0NTU1J1
bGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAg
ICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZSk6Cisg
ICAgICAgICogY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlOjpjdXN0b21D
U1NUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzT3Zl
cnJpZGVDb2xvclZhbHVlOjplcXVhbHMgY29uc3QpOgorICAgICAgICAqIGNzcy9DU1NGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSdWxlVHlwZS5oLgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6fkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmZvbnRGYW1pbHkgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpiYXNlUGFsZXR0ZSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnNldEZv
bnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpz
ZXRCYXNlUGFsZXR0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGU6OmluaXRpYWxpemVNYXBMaWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZTo6c2V0RnJvbU1hcExpa2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGU6OmNzc1RleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpyZWF0dGFjaCk6CisgICAgICAgICogY3NzL0NTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlVHlwZS5o
LgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsOiBBZGRlZC4KKyAg
ICAgICAgKiBjc3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAgICAgICAqIGNzcy9DU1NSdWxlLmNw
cDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgorICAgICAgICAqIGNzcy9DU1NSdWxlLmlkbDoK
KyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6
OmVxdWFscyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Y3NzVGV4dCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAgICAgICogY3Nz
L0NTU1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNGb250UGFsZXR0ZVZh
bHVlc092ZXJyaWRlQ29sb3JWYWx1ZSBjb25zdCk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KToKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVl
cyk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlQmFzZTo6aXNGb250UGFsZXR0ZVZhbHVlc1J1bGUgY29uc3QpOgorICAgICAgICAoaXNUeXBl
KToKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlVHlwZS5oOgorICAgICAgICAqIGNzcy9TdHlsZVNo
ZWV0Q29udGVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJhdmVyc2VSdWxlc0luVmVjdG9y
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXRDb250ZW50czo6dHJhdmVyc2VTdWJyZXNv
dXJjZXMgY29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y3NzQXRSdWxlSUQpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTQXRS
dWxlSUQuaDoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6Y29uc3VtZUF0UnVsZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXJJbXBsOjpjb25zdW1lRm9udFBhbGV0dGVWYWx1ZXNSdWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVEZWNsYXJhdGlvbik6CisgICAgICAg
ICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmg6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQ
cm9wZXJ0eVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6
cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lQmFzZVBhbGV0dGVEZXNjcmlw
dG9yKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVPdmVycmlkZUNvbG9yRGVzY3JpcHRvcik6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VGb250UGFsZXR0ZVZh
bHVlc0Rlc2NyaXB0b3IpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIu
aDoKKwogMjAyMS0wOS0xNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXBsYWNlIGFsbCB0aGUgY29tcGxleCBtYXRoIGluIFNjcm9sbEFuaW1hdGlv
blNtb290aCB3aXRoIGEgc2luZ2xlIGNhbGwgaW50byBhIEN1YmljQmV6aWVyVGltaW5nRnVuY3Rp
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzM3ZmU2MDQ3YjIzYzAwMzMyMTNkOWQyNjYwYzhm
Y2IxMzQ4ZGMyOC4uYTQxMzJkZmI1Yjk2NmM0ODkxNTdkZTlhMTVlZjY2MmE3MGQ3NDU0OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTcwNSw2ICs3MDUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIGNzcy9DU1NDb25kaXRpb25SdWxlLmlkbAogICAgIGNzcy9DU1NDb3Vu
dGVyU3R5bGVSdWxlLmlkbAogICAgIGNzcy9DU1NGb250RmFjZVJ1bGUuaWRsCisgICAgY3NzL0NT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGwKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAog
ICAgIGNzcy9DU1NJbXBvcnRSdWxlLmlkbAogICAgIGNzcy9DU1NLZXlmcmFtZVJ1bGUuaWRsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA3
ZWYzOWZkYzM1YWVlMmEyM2QzZjZkYTYwNjc3MDE0N2U2ODlmNGVhLi5jZjJlOWFkY2NhZDBhZTE2
Njg3ODQ5OTU0NmQzY2Y3N2I5ZGM5NjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTY4Miw2ICs2ODIsNyBAQCAkKFBST0pFQ1RfRElS
KS9jcnlwdG8vcGFyYW1ldGVycy9Sc2FQc3NQYXJhbXMuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3Mv
Q1NTQ29uZGl0aW9uUnVsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NDb3VudGVyU3R5bGVS
dWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKKyQoUFJPSkVD
VF9ESVIpL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9j
c3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0ltcG9ydFJ1bGUu
aWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmlkbApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCAyN2ViZDhhOTI0
NzMzNTU1M2RhYjQ3N2ZiZjQ4ZjBkMGVlNWE1YmUwLi4xNmNjNDg3ZDRjMDJmNGRhOTdiYzNkYjIx
NDAzYWI0ZDczYzUyN2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdApAQCAtMzAwLDYgKzMwMCw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxl
UnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NT
U0ZvbnRGYWNlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
U1NHcm91cGluZ1J1bGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU0dyb3VwaW5nUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCA1Y2ZiYmE3ZjYxMDgxYjFkYTE4MGZhZTBjYWFlODgyNmQ2MWMzYzk3Li5k
MjAyNDNlZjg1NzdiZTM4NTUyODUxNTdkOWE2Zjc1NGU5NzU3ZjE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAwNi0yMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LTIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDYg
U2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAw
OSBDYW1lcm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTU3NSw2ICs1NzUsNyBA
QCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0NvbmRpdGlvblJ1
bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCisgICAgJChXZWJDb3JlKS9j
c3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NT
R3JvdXBpbmdSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0tleWZyYW1lUnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKaW5kZXggYmVmOTgzNmE2MDE0ODk3YmEwZjI4YmE2YzNlYTU3OGE2ZDRjZjEwMC4uYjA5NGUy
Mzg2MjA4YzRjYzVkNzQxZjJlNzUwOWFmNWE2ZThkY2E3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBA
IC0zNjYsNiArMzY2LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwog
ICAgIGNzcy9DU1NDb25kaXRpb25SdWxlLmgKICAgICBjc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1
ZS5oCiAgICAgY3NzL0NTU0ZvbnRGYWNlUnVsZS5oCisgICAgY3NzL0NTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZS5oCiAgICAgY3NzL0NTU0ZvbnRGYW1pbHkuaAogICAgIGNzcy9DU1NHcmlkSW50ZWdl
clJlcGVhdFZhbHVlLmgKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5k
ZXggNWFhZDBkOTNjMjliZmEzNTE1ZWVjNTljY2RhOTkxNjkyYzQzOTMwNC4uODMyOWZmNGEyMjc5
MWI1ZGIzM2I3OTMwYTQ5YzgzOGE2YzM5ZTVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTEsNCArMSw0
IEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY1OCw2ICs2NTgs
OCBAQCBjc3MvQ1NTRm9udEZhY2VTZXQuY3BwCiBjc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCiBj
c3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAKIGNzcy9DU1NGb250RmVhdHVyZVZhbHVlLmNwcAor
Y3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcAorY3NzL0NTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZS5jcHAKIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwCiBjc3MvQ1NT
Rm9udFN0eWxlUmFuZ2VWYWx1ZS5jcHAKIGNzcy9DU1NGb250U3R5bGVWYWx1ZS5jcHAKQEAgLTI4
MjIsNiArMjgyNCw3IEBAIEpTQ1NTQW5pbWF0aW9uLmNwcAogSlNDU1NDb25kaXRpb25SdWxlLmNw
cAogSlNDU1NDb3VudGVyU3R5bGVSdWxlLmNwcAogSlNDU1NGb250RmFjZVJ1bGUuY3BwCitKU0NT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAKIEpTQ1NTR3JvdXBpbmdSdWxlLmNwcAogSlNDU1NJ
bXBvcnRSdWxlLmNwcAogSlNDU1NLZXlmcmFtZVJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNjcxZTNkYTMwMjZiZTMy
MWRjNmFhYjc5YzYxNDI2YjI2MjhiZmJjNC4uNjQ5MjM0YTk4MmQ5YzY2MTE4MjcwOGYyMDFmYTI5
NmY2ZWM3ZWE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNjY0LDYgKzY2NCw3IEBACiAJCTFDRTg4NjQxMjYxMDVCRjIwMDBD
ODE2QyAvKiBJbk1lbW9yeURpc3BsYXlMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0U4ODYzRjI2MTA1QTVGMDAwQzgxNkMgLyogSW5NZW1vcnlE
aXNwbGF5TGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTFDRThEMTI3MjYxODVDMEUwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJ
ZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQ0U4RDEyNTI2MTg1QkQ4MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVtQnVmZmVySWRlbnRp
Zmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTFDRThEMTJFMjYxODYxQzQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0U4RDEyQzI2MTg2MTY0
MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTFDRUFBNTMyMjZGMzM2RkMwMDg2ODUwNyAvKiBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNFQUE1MzEyNkYzMzFDMTAwODY4NTA3IC8q
IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmggKi87IH07CiAJCTFDRkFF
MzIzMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5bGliIGluIEZyYW1ld29ya3MgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNGQUUzMjIwQTZENkEzRjAwMzI1OTNEIC8q
IGxpYm9iamMuZHlsaWIgKi87IH07CiAJCTFEMDAyNkE0MjM3NEQ2MjQwMENBNkNERiAvKiBKU1Bp
Y3R1cmVJblBpY3R1cmVXaW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFEMDAyNkEyMjM3NEQ2MjMwMENBNkNERiAvKiBKU1BpY3R1cmVJblBpY3R1
cmVXaW5kb3cuaCAqLzsgfTsKIAkJMUQwMDI2QUEyMzc0RjlFQTAwQ0E2Q0RGIC8qIEpTRW50ZXJQ
aWN0dXJlSW5QaWN0dXJlRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFEMDAyNkE4MjM3NEY5RDkwMENBNkNERiAvKiBKU0VudGVyUGljdHVyZUlu
UGljdHVyZUV2ZW50LmggKi87IH07CkBAIC03MDc2LDYgKzcwNzcsMTEgQEAKIAkJMUNFOEQxMjUy
NjE4NUJEODAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlbUJ1ZmZlcklkZW50aWZpZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRGlzcGxheUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQ0U4RDEyQjI2MTg2MTY0MDBGQzNBRUYgLyogRGlzcGxheUxp
c3RJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZXJhdG9yLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNFOEQxMkMyNjE4NjE2NDAwRkMzQUVG
IC8qIERpc3BsYXlMaXN0SXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzcGxheUxpc3RJdGVy
YXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VBQTUyQzI2RjMxQTNDMDA4
Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFDRUFBNTJEMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFDRUFBNTJGMjZGMzFBRjgwMDg2ODUwNyAvKiBDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUFBNTMwMjZGMzMxQzEwMDg2ODUwNyAvKiBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUFBNTMxMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQ0YwQkZENDIyOTg3MDY4MDBFRDIwNzQgLyogVGV4dFNpemVBZGp1c3RtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRleHRTaXplQWRqdXN0bWVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDRjE4RjNDMjZCQjVBRjIwMDRCMTcyMiAvKiBMb2dJbml0aWFs
aXphdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2dJbml0aWFsaXphdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRkFFMzIyMEE2RDZBM0YwMDMyNTkzRCAvKiBs
aWJvYmpjLmR5bGliICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gImNvbXBpbGVkLm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJvYmpjLmR5bGliOyBwYXRo
ID0gL3Vzci9saWIvbGlib2JqYy5keWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsK
QEAgLTI5NTg0LDYgKzI5NTkwLDExIEBACiAJCQkJODM1MjBDN0QxQTcxQkZDQzAwNkJEMkFBIC8q
IENTU0ZvbnRGYW1pbHkuaCAqLywKIAkJCQk0QTZFOUZDMTEzQzE3RDFEMDA0NkE3RjggLyogQ1NT
Rm9udEZlYXR1cmVWYWx1ZS5jcHAgKi8sCiAJCQkJNEE2RTlGQzIxM0MxN0QxRDAwNDZBN0Y4IC8q
IENTU0ZvbnRGZWF0dXJlVmFsdWUuaCAqLywKKwkJCQkxQ0VBQTUzMDI2RjMzMUMxMDA4Njg1MDcg
LyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwICovLAorCQkJCTFD
RUFBNTMxMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29s
b3JWYWx1ZS5oICovLAorCQkJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUuY3BwICovLAorCQkJCTFDRUFBNTJEMjZGMzFBM0MwMDg2ODUwNyAvKiBD
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCAqLywKKwkJCQkxQ0VBQTUyRjI2RjMxQUY4MDA4Njg1
MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCAqLywKIAkJCQlCQzY0QjREMzBDQjQy
OThBMDA1RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmNwcCAqLywKIAkJCQlCQzY0QjRENDBDQjQy
OThBMDA1RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmggKi8sCiAJCQkJQzJFMzhFRkYxRTg0NTcz
NTAwQ0EzQURGIC8qIENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuY3BwICovLApAQCAtMzE5NTgsNiAr
MzE5NjksNyBAQAogCQkJCUJDNjRCNERBMENCNDI5OEEwMDVGMkI2MiAvKiBDU1NGb250RmFjZVNy
Y1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzUyMEM3RTFBNzFCRkNDMDA2QkQyQUEgLyog
Q1NTRm9udEZhbWlseS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE2RTlGQzQxM0MxN0QxRDAwNDZB
N0Y4IC8qIENTU0ZvbnRGZWF0dXJlVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTFDRUFBNTMy
MjZGMzM2RkMwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2NEI0REMwQ0I0Mjk4QTAwNUYyQjYyIC8qIENTU0Zv
bnRTZWxlY3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJFMzhGMDIxRTg0NTczNTAwQ0EzQURG
IC8qIENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyRTM4RUZF
MUU4Mzk2RkQwMENBM0FERiAvKiBDU1NGb250U3R5bGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAppbmRleCA3
NTBlMDBjMzg3ZmJkMjc4ZTU4NWZlYzZiZDM0ZDIwNTA3MWNjNWQzLi44YzRjNTYxNWEzOWY3MTM5
NWQ3ZGM3ZTliOGZlNzlmNjE5N2M5MjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkNT
U0NvdW50ZXJTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNs
dWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxl
LmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVz
UnVsZS5oIgpAQCAtMzgsNiArMzksNyBAQAogI2luY2x1ZGUgIkNTU1N1cHBvcnRzUnVsZS5oIgog
I2luY2x1ZGUgIkpTQ1NTQ291bnRlclN0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTRm9udEZh
Y2VSdWxlLmgiCisjaW5jbHVkZSAiSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNs
dWRlICJKU0NTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU0tleWZyYW1lUnVsZS5oIgog
I2luY2x1ZGUgIkpTQ1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtNzAsNiArNzIsOCBAQCBKU1ZhbHVl
IHRvSlNOZXdseUNyZWF0ZWQoSlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBSZWY8QwogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NNZWRpYVJ1
bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxlOjpGT05U
X0ZBQ0VfUlVMRToKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTRm9udEZhY2VSdWxl
PihnbG9iYWxPYmplY3QsIFdURk1vdmUocnVsZSkpOworICAgIGNhc2UgQ1NTUnVsZTo6Rk9OVF9Q
QUxFVFRFX1ZBTFVFU19SVUxFOgorICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2Fz
ZSBDU1NSdWxlOjpQQUdFX1JVTEU6CiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1Bh
Z2VSdWxlPihnbG9iYWxPYmplY3QsIFdURk1vdmUocnVsZSkpOwogICAgIGNhc2UgQ1NTUnVsZTo6
SU1QT1JUX1JVTEU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCmluZGV4IDY0Y2ExZmNiMmJkYTFmMzNlZjM5OWNhMDcwYmIxOTQyY2Q0
Y2ZkZTYuLjI4MDVjODliNDhjMTkzODQwYWZmMDgwZmNjNDI2ODhjZTMyNjhkZjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBA
IC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNCBaYWNrIFJ1c2luIDx6YWNr
QGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtv
diA8YXBAd2Via2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwNyBOaWNob2xhcyBTaGFua3Mg
PHdlYmtpdEBuaWNrc2hhbmtzLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAxMSBTZW5jaGEsIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTQwNTQsNiArNDA1NCwxMSBAQCBSZWZQdHI8Q1NT
VmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNv
bnN0IFJlbmRlclN0eQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udERpc3BsYXk6CiAgICAg
ICAgICAgICBicmVhazsKIAorICAgICAgICAvKiBVbmltcGxlbWVudGVkIEBmb250LXBhbGV0dGUt
dmFsdWVzIHByb3BlcnRpZXMgKi8KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhc2VQYWxldHRl
OgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3ZlcnJpZGVDb2xvcjoKKyAgICAgICAgICAgIGJy
ZWFrOworCiAgICAgICAgIC8qIE90aGVyIHVuaW1wbGVtZW50ZWQgcHJvcGVydGllcyAqLwogICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5UGFnZTogLy8gZm9yIEBwYWdlCiAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlTaXplOiAvLyBmb3IgQHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM2ZDQ2YzJhMTFmYWJmZDFmMjc1MDdmNGIzMzMxMzdlNjY0YjdmM2UKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlk
ZUNvbG9yVmFsdWUuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU6OmN1
c3RvbUNTU1RleHQoKSBjb25zdAoreworICAgIHJldHVybiBtYWtlU3RyaW5nKG1fa2V5LT5jc3NU
ZXh0KCksICIgIiwgbV9jb2xvci0+Y3NzVGV4dCgpKTsKK30KKworYm9vbCBDU1NGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlJiBvdGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9rZXkt
PmVxdWFscyhvdGhlci5rZXkoKSkgJiYgbV9jb2xvci0+ZXF1YWxzKG90aGVyLmNvbG9yKCkpOwor
fQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1
ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3MTkwYmJjOTI3MDJkYjNh
Njk5MGE3Yzk4YWVhZjIxNDRiZjZmN2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaApAQCAtMCwwICsx
LDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgiCisjaW5jbHVk
ZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVkRm9udDsKK2NsYXNzIEZvbnRMb2FkUmVx
dWVzdDsKK2NsYXNzIFNWR0ZvbnRGYWNlRWxlbWVudDsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ7CisKK2NsYXNzIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlIGZp
bmFsIDogcHVibGljIENTU1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENTU0ZvbnRQ
YWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPiBjcmVhdGUoUmVmPENTU1ByaW1pdGl2ZVZh
bHVlPiYmIGtleSwgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIGNvbG9yKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9y
VmFsdWUoV1RGTW92ZShrZXkpLCBXVEZNb3ZlKGNvbG9yKSkpOworICAgIH0KKworICAgIGNvbnN0
IENTU1ByaW1pdGl2ZVZhbHVlJiBrZXkoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1f
a2V5LmdldCgpOworICAgIH0KKworICAgIGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBjb2xvcigp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9jb2xvci5nZXQoKTsKKyAgICB9CisKKyAg
ICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OworCisgICAgYm9vbCBlcXVhbHMoY29uc3Qg
Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUmKSBjb25zdDsKKworcHJpdmF0
ZToKKyAgICBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZShSZWY8Q1NTUHJp
bWl0aXZlVmFsdWU+JiYga2V5LCBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYgY29sb3IpCisgICAg
ICAgIDogQ1NTVmFsdWUoRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3MpCisgICAg
ICAgICwgbV9rZXkoV1RGTW92ZShrZXkpKQorICAgICAgICAsIG1fY29sb3IoV1RGTW92ZShjb2xv
cikpCisgICAgeworICAgIH0KKworICAgIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9rZXk7Cisg
ICAgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiBtX2NvbG9yOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19WQUxVRShDU1NGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSwgaXNGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29s
b3JWYWx1ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hOGNjNzQxNTkxMTg5Y2I2OGNlM2MyOWMwYTBhZTE0OGM5OTFi
NTE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5jcHAKQEAgLTAsMCArMSwxMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlLmgiCisKKyNpbmNsdWRlICJDb2xvclNlcmlhbGl6YXRpb24u
aCIKKyNpbmNsdWRlICJKU0RPTU1hcExpa2UuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNldENTU1N0
eWxlRGVjbGFyYXRpb24uaCIKKyNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRl
ICJTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIGZvbnRQYWxldHRlVmFs
dWVzUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KQorICAgIDogQ1NTUnVsZShwYXJlbnQpCisg
ICAgLCBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZShmb250UGFsZXR0ZVZhbHVlc1J1bGUpCit7Cit9
CisKK0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6fkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgp
Cit7Cit9CisKK1N0cmluZyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmZvbnRGYW1pbHkoKSBj
b25zdAoreworICAgIHJldHVybiBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+Zm9udEZhbWlseSgp
OworfQorCitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpiYXNlUGFsZXR0ZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24obV9mb250UGFsZXR0ZVZhbHVlc1J1bGUt
PmJhc2VQYWxldHRlKCksIFsmXShpbnQ2NF90IGluZGV4KSB7CisgICAgICAgIHJldHVybiBtYWtl
U3RyaW5nKGluZGV4KTsKKyAgICB9LCBbJl0oY29uc3QgQXRvbVN0cmluZyYgYmFzZVBhbGV0dGUp
IC0+IFN0cmluZyB7CisgICAgICAgIGlmICghYmFzZVBhbGV0dGUuaXNOdWxsKCkpCisgICAgICAg
ICAgICByZXR1cm4gYmFzZVBhbGV0dGUuc3RyaW5nKCk7CisgICAgICAgIHJldHVybiBTdHJpbmdJ
bXBsOjplbXB0eSgpOworICAgIH0pOworfQorCit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZTo6c2V0Rm9udEZhbWlseShTdHJpbmcmJiBmb250RmFtaWx5KQoreworICAgIFVOVVNFRF9QQVJB
TShmb250RmFtaWx5KTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMuCit9CisKK3ZvaWQg
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpzZXRCYXNlUGFsZXR0ZShTdHJpbmcmJiBiYXNlUGFs
ZXR0ZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oYmFzZVBhbGV0dGUpOworICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgdGhpcy4KK30KKwordm9pZCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmluaXRp
YWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXImIG1hcCkKK3sKKyAgICBmb3IgKGF1dG8mIHBhaXIg
OiBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+b3ZlcnJpZGVDb2xvcigpKSB7CisgICAgICAgIGlm
ICghV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxpbnQ2NF90PihwYWlyLmZpcnN0KSkKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICBtYXAuc2V0PElETFVuc2lnbmVkTG9uZywgSURMVVNWU3Ry
aW5nPihXVEY6OmdldDxpbnQ2NF90PihwYWlyLmZpcnN0KSwgc2VyaWFsaXphdGlvbkZvckNTUyhw
YWlyLnNlY29uZCkpOworICAgIH0KK30KKwordm9pZCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6
OnNldEZyb21NYXBMaWtlKHVuc2lnbmVkIGtleSwgU3RyaW5nJiYgdmFsdWUpCit7CisgICAgVU5V
U0VEX1BBUkFNKGtleSk7CisgICAgVU5VU0VEX1BBUkFNKHZhbHVlKTsKKyAgICAvLyBGSVhNRTog
SW1wbGVtZW50IHRoaXMuCit9CisKK3ZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjbGVh
cigpCit7CisgICAgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmNsZWFyT3ZlcnJpZGVDb2xvcigp
OworfQorCitib29sIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6cmVtb3ZlKHVuc2lnbmVkIGtl
eSkKK3sKKyAgICByZXR1cm4gbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPnJlbW92ZShrZXkpOwor
fQorCitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjc3NUZXh0KCkgY29uc3QKK3sK
KyAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CisgICAgYnVpbGRlci5hcHBlbmQoIkBmb250LXBh
bGV0dGUtdmFsdWVzICIsIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5uYW1lKCksICIgeyAiKTsK
KyAgICBpZiAoIW1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5mb250RmFtaWx5KCkuaXNOdWxsKCkp
CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJmb250LWZhbWlseTogIiwgbV9mb250UGFsZXR0ZVZh
bHVlc1J1bGUtPmZvbnRGYW1pbHkoKSwgIjsgIik7CisgICAgV1RGOjpzd2l0Y2hPbihtX2ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwgWyZdKGludDY0X3QgaW5kZXgpIHsKKyAg
ICAgICAgYnVpbGRlci5hcHBlbmQoImJhc2UtcGFsZXR0ZTogIiwgaW5kZXgsICI7ICIpOworICAg
IH0sIFsmXShjb25zdCBBdG9tU3RyaW5nJiBiYXNlUGFsZXR0ZSkgeworICAgICAgICBpZiAoIWJh
c2VQYWxldHRlLmlzTnVsbCgpKQorICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoImJhc2UtcGFs
ZXR0ZTogIiwgc2VyaWFsaXplU3RyaW5nKGJhc2VQYWxldHRlLnN0cmluZygpKSwgIjsgIik7Cisg
ICAgfSk7CisgICAgaWYgKCFtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+b3ZlcnJpZGVDb2xvcigp
LmlzRW1wdHkoKSkgeworICAgICAgICBidWlsZGVyLmFwcGVuZCgib3ZlcnJpZGUtY29sb3I6Iik7
CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUt
Pm92ZXJyaWRlQ29sb3IoKS5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgaWYgKGkpCisgICAg
ICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJywnKTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBw
ZW5kKCcgJyk7CisgICAgICAgICAgICBXVEY6OnN3aXRjaE9uKG1fZm9udFBhbGV0dGVWYWx1ZXNS
dWxlLT5vdmVycmlkZUNvbG9yKClbaV0uZmlyc3QsIFsmXShjb25zdCBBdG9tU3RyaW5nJiBuYW1l
KSB7CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoc2VyaWFsaXplU3RyaW5nKG5hbWUu
c3RyaW5nKCkpKTsKKyAgICAgICAgICAgIH0sIFsmXShpbnQ2NF90IGluZGV4KSB7CisgICAgICAg
ICAgICAgICAgYnVpbGRlci5hcHBlbmQoaW5kZXgpOworICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICBidWlsZGVyLmFwcGVuZCgnICcsIHNlcmlhbGl6YXRpb25Gb3JDU1MobV9mb250UGFsZXR0
ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29sb3IoKVtpXS5zZWNvbmQpKTsKKyAgICAgICAgfQorICAg
ICAgICBidWlsZGVyLmFwcGVuZCgiOyAiKTsKKyAgICB9CisgICAgYnVpbGRlci5hcHBlbmQoIn0i
KTsKKyAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOworfQorCit2b2lkIENTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFzZSYgcnVsZSkKK3sKKyAgICBtX2Zv
bnRQYWxldHRlVmFsdWVzUnVsZSA9IHN0YXRpY19jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFs
dWVzJj4ocnVsZSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYWFmZjk0MGJm
YTA3OWUyODg0YTQ3NzkyNGQzNGEyNWZjY2Q2MThmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCkBAIC0wLDAgKzEsNjYgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2luY2x1ZGUgIkNTU1J1bGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBDU1NTdHlsZURlY2xhcmF0aW9uOworY2xhc3MgRE9NTWFwQWRhcHRlcjsKK2NsYXNzIFN0eWxl
UnVsZUZvbnRGYWNlOworY2xhc3MgU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjsKKworY2xh
c3MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGZpbmFsIDogcHVibGljIENTU1J1bGUgeworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlPiBjcmVhdGUoU3R5
bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KSB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZShydWxlLCBzaGVldCkp
OyB9CisKKyAgICB2aXJ0dWFsIH5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoKTsKKworICAgIFN0
cmluZyBmb250RmFtaWx5KCkgY29uc3Q7CisgICAgU3RyaW5nIGJhc2VQYWxldHRlKCkgY29uc3Q7
CisKKyAgICB2b2lkIHNldEZvbnRGYW1pbHkoU3RyaW5nJiYpOworICAgIHZvaWQgc2V0QmFzZVBh
bGV0dGUoU3RyaW5nJiYpOworCisgICAgdm9pZCBpbml0aWFsaXplTWFwTGlrZShET01NYXBBZGFw
dGVyJik7CisgICAgdm9pZCBzZXRGcm9tTWFwTGlrZSh1bnNpZ25lZCBrZXksIFN0cmluZyYmIHZh
bHVlKTsKKyAgICB2b2lkIGNsZWFyKCk7CisgICAgYm9vbCByZW1vdmUodW5zaWduZWQga2V5KTsK
KworcHJpdmF0ZToKKyAgICBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoU3R5bGVSdWxlRm9udFBh
bGV0dGVWYWx1ZXMmLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpOworCisgICAgQ1NTUnVsZTo6VHlw
ZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFOyB9
CisgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHJlYXR0YWNoKFN0
eWxlUnVsZUJhc2UmKSBmaW5hbDsKKworICAgIFJlZjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVl
cz4gbV9mb250UGFsZXR0ZVZhbHVlc1J1bGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUoQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlLCBDU1NSdWxlOjpGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxNWY2MTIx
NzIzMjhlMDlmNzNlZTU5NjA3MGRiZGRkNDgyMjQyNTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbApAQCAtMCwwICsxLDI5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisg
Ki8KKwordHlwZWRlZiBVU1ZTdHJpbmcgQ1NTT01TdHJpbmc7CisKK1sKKyAgICBFeHBvc2VkPVdp
bmRvdworXSBpbnRlcmZhY2UgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIDogQ1NTUnVsZSB7Cisg
ICAgbWFwbGlrZTx1bnNpZ25lZCBsb25nLCBDU1NPTVN0cmluZz47CisgICAgYXR0cmlidXRlIENT
U09NU3RyaW5nIGZvbnRGYW1pbHk7CisgICAgYXR0cmlidXRlIENTU09NU3RyaW5nIGJhc2VQYWxl
dHRlOworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMu
anNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXggYThiYzg5
NWY2M2MwMjU3MTA0ZGQzYzQ4YzgxNjE0YjkxYWE1MDY5Yi4uZDQxMTdhZjk3MjhiYjY0YmY0N2M5
MDZjNWYxZTBkMTJiYzg0NDc3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29u
CkBAIC00MDc1LDYgKzQwNzUsMjYgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8v
d3d3LnczLm9yZy9UUi9jc3MtZm9udHMtMy8jc3JjLWRlc2MiCiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0sCisgICAgICAgICJiYXNlLXBhbGV0dGUiOiB7CisgICAgICAgICAgICAiY29kZWdlbi1w
cm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlLAorICAg
ICAgICAgICAgICAgICJkZXNjcmlwdG9yLW9ubHkiOiB0cnVlCisgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5Ijog
ImNzcy1mb250cyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLWZvbnRzLTQvI2Jhc2UtcGFsZXR0ZS1kZXNjIgorICAgICAgICAgICAgfQorICAg
ICAgICB9LAorICAgICAgICAib3ZlcnJpZGUtY29sb3IiOiB7CisgICAgICAgICAgICAiY29kZWdl
bi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlLAor
ICAgICAgICAgICAgICAgICJkZXNjcmlwdG9yLW9ubHkiOiB0cnVlCisgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5
IjogImNzcy1mb250cyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWZvbnRzLTQvI292ZXJyaWRlLWNvbG9yIgorICAgICAgICAgICAgfQorICAg
ICAgICB9LAogICAgICAgICAic3RvcC1jb2xvciI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXBy
b3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgImNvbnZlcnRlciI6ICJTVkdDb2xvciIsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5jcHAKaW5kZXggMGYzYzQzOTRkOTVlMjM3MDZlNDhmNGUyOWFmYjQ4NGZi
ZmRjMzgwMi4uZWQ1ZDg2MGZkMjM3YzVmZGE0OTYzOTgyZjI3NGIxYjZkZTg1ZGY2MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NSdWxlLmNwcApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExh
cnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAo
bXVlbGxlckBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2LCAyMDA3
LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwMiAtIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC00NSw5ICs0NSwxNyBAQCBDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpG
b250RmFjZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeQogQ09NUElM
RV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6UGFnZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBl
PihDU1NSdWxlOjpUeXBlOjpQQUdFX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElM
RV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWVzID09IHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVR5cGU+KENTU1J1bGU6OlR5cGU6OktFWUZSQU1FU19SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNo
KTsKIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OktleWZyYW1lID09IHN0YXRpY19jYXN0
PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6OktFWUZSQU1FX1JVTEUpLCBlbnVtc19zaG91
bGRfbWF0Y2gpOworQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6TWFyZ2luID09IHN0YXRp
Y19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6Ok1BUkdJTl9SVUxFKSwgZW51bXNf
c2hvdWxkX21hdGNoKTsKIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6Ok5hbWVzcGFjZSA9
PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpOQU1FU1BBQ0VfUlVM
RSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CiBDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpD
b3VudGVyU3R5bGUgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6
Q09VTlRFUl9TVFlMRV9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKIENPTVBJTEVfQVNTRVJU
KFN0eWxlUnVsZVR5cGU6OlN1cHBvcnRzID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENT
U1J1bGU6OlR5cGU6OlNVUFBPUlRTX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOworQ09NUElM
RV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6RG9jdW1lbnQgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxl
VHlwZT4oQ1NTUnVsZTo6VHlwZTo6RE9DVU1FTlRfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7
CitDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpGb250RmVhdHVyZVZhbHVlcyA9PSBzdGF0
aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpGT05UX0ZFQVRVUkVfVkFMVUVT
X1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOworQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlw
ZTo6Vmlld3BvcnQgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6
VklFV1BPUlRfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CitDT01QSUxFX0FTU0VSVChTdHls
ZVJ1bGVUeXBlOjpSZWdpb25TdHlsZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NS
dWxlOjpUeXBlOjpSRUdJT05fU1RZTEVfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CitDT01Q
SUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpDdXN0b21NZWRpYSA9PSBzdGF0aWNfY2FzdDxTdHls
ZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpDVVNUT01fTUVESUFfUlVMRSksIGVudW1zX3Nob3Vs
ZF9tYXRjaCk7CitDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpQcm9wZXJ0eSA9PSBzdGF0
aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpQUk9QRVJUWV9SVUxFKSwgZW51
bXNfc2hvdWxkX21hdGNoKTsKK0NPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxl
dHRlVmFsdWVzID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6OkZP
TlRfUEFMRVRURV9WQUxVRVNfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CiAKIEV4Y2VwdGlv
bk9yPHZvaWQ+IENTU1J1bGU6OnNldENzc1RleHQoY29uc3QgU3RyaW5nJikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UnVsZS5oCmluZGV4IDdlZmIzYTE3YmU0YjQzMTFkNDUwNjAyY2Q3MTgwYjQxNjAzY2Y3MTQuLmJj
NDkyNmI4NDA4NDhmZTE5NTZkNjg2YjQ1OWEzNWU5MjE4ZmE0ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUu
aApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xs
QGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3Jn
KQotICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEFuZHJlYXMgS2xpbmcgKGtsaW5nQHdlYmtp
dC5vcmcpCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMzgsMTkgKzM4LDI3IEBAIHB1YmxpYzoKIAogICAgIC8v
IFdlYklETCBlbnVtCiAgICAgZW51bSBUeXBlIHsKLSAgICAgICAgVU5LTk9XTl9SVUxFLAotICAg
ICAgICBTVFlMRV9SVUxFLAotICAgICAgICBDSEFSU0VUX1JVTEUsCi0gICAgICAgIElNUE9SVF9S
VUxFLAotICAgICAgICBNRURJQV9SVUxFLAotICAgICAgICBGT05UX0ZBQ0VfUlVMRSwKLSAgICAg
ICAgUEFHRV9SVUxFLAotICAgICAgICBLRVlGUkFNRVNfUlVMRSwKLSAgICAgICAgS0VZRlJBTUVf
UlVMRSwKLSAgICAgICAgTUFSR0lOX1JVTEUsCi0gICAgICAgIE5BTUVTUEFDRV9SVUxFLAotICAg
ICAgICBDT1VOVEVSX1NUWUxFX1JVTEUsCi0gICAgICAgIFNVUFBPUlRTX1JVTEUKKyAgICAgICAg
VU5LTk9XTl9SVUxFID0gMCwKKyAgICAgICAgU1RZTEVfUlVMRSA9IDEsCisgICAgICAgIENIQVJT
RVRfUlVMRSA9IDIsCisgICAgICAgIElNUE9SVF9SVUxFID0gMywKKyAgICAgICAgTUVESUFfUlVM
RSA9IDQsCisgICAgICAgIEZPTlRfRkFDRV9SVUxFID0gNSwKKyAgICAgICAgUEFHRV9SVUxFID0g
NiwKKyAgICAgICAgS0VZRlJBTUVTX1JVTEUgPSA3LAorICAgICAgICBLRVlGUkFNRV9SVUxFID0g
OCwKKyAgICAgICAgTUFSR0lOX1JVTEUgPSA5LAorICAgICAgICBOQU1FU1BBQ0VfUlVMRSA9IDEw
LAorICAgICAgICBDT1VOVEVSX1NUWUxFX1JVTEUgPSAxMSwKKyAgICAgICAgU1VQUE9SVFNfUlVM
RSA9IDEyLAorICAgICAgICBET0NVTUVOVF9SVUxFID0gMTMsCisgICAgICAgIEZPTlRfRkVBVFVS
RV9WQUxVRVNfUlVMRSA9IDE0LAorICAgICAgICBWSUVXUE9SVF9SVUxFID0gMTUsCisgICAgICAg
IFJFR0lPTl9TVFlMRV9SVUxFID0gMTYsCisgICAgICAgIENVU1RPTV9NRURJQV9SVUxFID0gMTcs
CisgICAgICAgIFBST1BFUlRZX1JVTEUgPSAxOCwKKyAgICAgICAgRk9OVF9QQUxFVFRFX1ZBTFVF
U19SVUxFID0gMTksIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vl
cy82NjIzCisgICAgICAgIExBWUVSX1JVTEUgPSAyMAogICAgIH07CiAKICAgICBlbnVtIERlcHJl
Y2F0ZWRUeXBlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAppbmRleCBmM2U2NjEzN2Q3NjM3MzBjMzdm
MDIzYTE2MzNlMzJlZjgyNTBlYjU2Li5jZmUzYmUwNzIzYTBkOTA1NjE4M2YzNTAxMGFkYWZkMmI5
NjRkNmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNv
bT4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCkBAIC00NCw2ICs0NCwxMyBAQAogICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IE5BTUVTUEFDRV9SVUxFID0gMTA7CiAgICAgW0VuYWJsZWRCeVNldHRpbmc9Q1NTQ291bnRl
clN0eWxlQXRSdWxlc10gY29uc3QgdW5zaWduZWQgc2hvcnQgQ09VTlRFUl9TVFlMRV9SVUxFID0g
MTE7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1VQUE9SVFNfUlVMRSA9IDEyOworICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IERPQ1VNRU5UX1JVTEUgPSAxMzsKKyAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUgPSAxNDsKKyAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBWSUVXUE9SVF9SVUxFID0gMTU7CisgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUkVH
SU9OX1NUWUxFX1JVTEUgPSAxNjsKKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDVVNUT01fTUVE
SUFfUlVMRSA9IDE3OworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBST1BFUlRZX1JVTEUgPSAx
ODsKKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUgPSAx
OTsgLyogaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzY2MjMgKi8K
IAogICAgIC8vIExlZ2FjeSBzeW5vbnltcyBmb3IgdGhlIGFib3ZlLCBrZXB0IHRvIGF2b2lkIGJy
ZWFraW5nIGV4aXN0aW5nIGNvbnRlbnQuCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgV0VCS0lU
X0tFWUZSQU1FU19SVUxFID0gNzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCmluZGV4IDg3MzY5YWIw
ZGI1MmYwYTJlOGEzYmEyYzAzOTUzNjA0YzQ0ZDE3ZTIuLjE5Y2I3M2VmZWQzZGNiODA2MDc0MjEw
OTY0ZGVkODQ2YzYwNTU1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcApAQCAtMSw2ICsxLDcg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQW5kcmVhcyBLbGluZyAoa2xpbmdAd2Via2l0
Lm9yZykKICAqIENvcHlyaWdodCAoQykgMjAxMyBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM5
LDYgKzQwLDcgQEAKICNpbmNsdWRlICJDU1NGaWx0ZXJJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTRm9udEZhY2VTcmNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGZWF0dXJlVmFsdWUuaCIK
KyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkNTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250U3R5bGVW
YWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRWYWx1ZS5oIgpAQCAtMTY0LDYgKzE2Niw4IEBAIGJv
b2wgQ1NTVmFsdWU6OmVxdWFscyhjb25zdCBDU1NWYWx1ZSYgb3RoZXIpIGNvbnN0CiAgICAgICAg
ICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NGb250VmFsdWU+KCp0aGlzLCBvdGhlcik7
CiAgICAgICAgIGNhc2UgRm9udEZhY2VTcmNDbGFzczoKICAgICAgICAgICAgIHJldHVybiBjb21w
YXJlQ1NTVmFsdWVzPENTU0ZvbnRGYWNlU3JjVmFsdWU+KCp0aGlzLCBvdGhlcik7CisgICAgICAg
IGNhc2UgRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3M6CisgICAgICAgICAgICBy
ZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JW
YWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGb250RmVhdHVyZUNsYXNzOgogICAg
ICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRm9udEZlYXR1cmVWYWx1ZT4oKnRo
aXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGb250VmFyaWF0aW9uQ2xhc3M6CkBAIC0yNjQsNiAr
MjY4LDggQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29uc3QKICAgICAgICAgcmV0dXJu
IGRvd25jYXN0PENTU0ZvbnRWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNl
IEZvbnRGYWNlU3JjQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NGb250RmFjZVNy
Y1ZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOworICAgIGNhc2UgRm9udFBhbGV0dGVWYWx1
ZXNPdmVycmlkZUNvbG9yQ2xhc3M6CisgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKICAg
ICBjYXNlIEZvbnRGZWF0dXJlQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NGb250
RmVhdHVyZVZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgRm9udFZhcmlh
dGlvbkNsYXNzOgpAQCAtMzc3LDYgKzM4Myw5IEBAIHZvaWQgQ1NTVmFsdWU6OmRlc3Ryb3koKQog
ICAgIGNhc2UgRm9udEZhY2VTcmNDbGFzczoKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PENTU0Zv
bnRGYWNlU3JjVmFsdWU+KHRoaXMpOwogICAgICAgICByZXR1cm47CisgICAgY2FzZSBGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczoKKyAgICAgICAgZGVsZXRlIGRvd25jYXN0PENT
U0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPih0aGlzKTsKKyAgICAgICAgcmV0
dXJuOwogICAgIGNhc2UgRm9udEZlYXR1cmVDbGFzczoKICAgICAgICAgZGVsZXRlIGRvd25jYXN0
PENTU0ZvbnRGZWF0dXJlVmFsdWU+KHRoaXMpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZS5oCmluZGV4IDIzZWI1ZWMzOGNjZTk2OTBlNWQ4YWI0NGI1NjUyNDVmODcyZDkwNWQuLmIz
MWM5OTIwZWE0MzE3Njg5MGIyMDk2YWVmYjg5YTBmYjdjZjNmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25v
bGxAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAw
OCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQg
LSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwpAQCAtOTcsNiArOTcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZvbnRGZWF0dXJlVmFsdWUo
KSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250RmVhdHVyZUNsYXNzOyB9CiAgICAg
Ym9vbCBpc0ZvbnRWYXJpYXRpb25WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09
IEZvbnRWYXJpYXRpb25DbGFzczsgfQogICAgIGJvb2wgaXNGb250RmFjZVNyY1ZhbHVlKCkgY29u
c3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udEZhY2VTcmNDbGFzczsgfQorICAgIGJvb2wg
aXNGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xhc3NUeXBlID09IEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvckNsYXNzOyB9CiAgICAg
Ym9vbCBpc0ZvbnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRDbGFz
czsgfQogICAgIGJvb2wgaXNGb250U3R5bGVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NU
eXBlID09IEZvbnRTdHlsZUNsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRTdHlsZVJhbmdlVmFsdWUo
KSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250U3R5bGVSYW5nZUNsYXNzOyB9CkBA
IC0xODcsNiArMTg4LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBGb250U3R5bGVDbGFzcywKICAg
ICAgICAgRm9udFN0eWxlUmFuZ2VDbGFzcywKICAgICAgICAgRm9udEZhY2VTcmNDbGFzcywKKyAg
ICAgICAgRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3MsCiAgICAgICAgIEZ1bmN0
aW9uQ2xhc3MsCiAKICAgICAgICAgSW5oZXJpdGVkQ2xhc3MsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUu
Y3BwCmluZGV4IDRiMTVjMDk0OTg5OWJiZTNkZWQ5OTE0YmU5YjZlYjFlNjc4MzI1YzMuLjQyMzEw
YTlhMjNjMDMxODdkM2ZiNzFhNGZkMTYwN2YwNjcwZTVjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1
bGUuY3BwCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAo
a25vbGxAa2RlLm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtk
ZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNs
dWRlICJDU1NDb3VudGVyU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTRGVmZXJyZWRQYXJzZXIu
aCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NT
S2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtNzAsNiAr
NzEsOSBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6OmRlc3Ryb3koKQogICAgIGNhc2UgU3R5bGVSdWxl
VHlwZTo6Rm9udEZhY2U6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxTdHlsZVJ1bGVGb250RmFj
ZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRQ
YWxldHRlVmFsdWVzOgorICAgICAgICBkZWxldGUgZG93bmNhc3Q8U3R5bGVSdWxlRm9udFBhbGV0
dGVWYWx1ZXM+KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBl
OjpNZWRpYToKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PFN0eWxlUnVsZU1lZGlhPih0aGlzKTsK
ICAgICAgICAgcmV0dXJuOwpAQCAtOTgsNiArMTAyLDEzIEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6
ZGVzdHJveSgpCiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxTdHlsZVJ1bGVMYXllcj4odGhpcyk7
CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlVua25vd246CisgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpEb2N1bWVudDoKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZv
bnRGZWF0dXJlVmFsdWVzOgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Vmlld3BvcnQ6CisgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpSZWdpb25TdHlsZToKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OkN1c3RvbU1lZGlhOgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TWFyZ2luOgorICAgIGNhc2Ug
U3R5bGVSdWxlVHlwZTo6UHJvcGVydHk6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTEzLDYgKzEyNCw4IEBAIFJlZjxTdHlsZVJ1bGVC
YXNlPiBTdHlsZVJ1bGVCYXNlOjpjb3B5KCkgY29uc3QKICAgICAgICAgcmV0dXJuIGRvd25jYXN0
PFN0eWxlUnVsZVBhZ2U+KCp0aGlzKS5jb3B5KCk7CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpG
b250RmFjZToKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFN0eWxlUnVsZUZvbnRGYWNlPigqdGhp
cykuY29weSgpOworICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXM6Cisg
ICAgICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4oKnRoaXMp
LmNvcHkoKTsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok1lZGlhOgogICAgICAgICByZXR1cm4g
ZG93bmNhc3Q8U3R5bGVSdWxlTWVkaWE+KCp0aGlzKS5jb3B5KCk7CiAgICAgY2FzZSBTdHlsZVJ1
bGVUeXBlOjpTdXBwb3J0czoKQEAgLTEzMCw2ICsxNDMsMTMgQEAgUmVmPFN0eWxlUnVsZUJhc2U+
IFN0eWxlUnVsZUJhc2U6OmNvcHkoKSBjb25zdAogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6VW5r
bm93bjoKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkNoYXJzZXQ6CiAgICAgY2FzZSBTdHlsZVJ1
bGVUeXBlOjpLZXlmcmFtZToKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkRvY3VtZW50OgorICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZlYXR1cmVWYWx1ZXM6CisgICAgY2FzZSBTdHlsZVJ1
bGVUeXBlOjpWaWV3cG9ydDoKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlJlZ2lvblN0eWxlOgor
ICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Q3VzdG9tTWVkaWE6CisgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpNYXJnaW46CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpQcm9wZXJ0eToKICAgICAgICAg
YnJlYWs7CiAgICAgfQogICAgIENSQVNIKCk7CkBAIC0xNDksNiArMTY5LDkgQEAgUmVmPENTU1J1
bGU+IFN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNTU09NV3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJl
bnRTaGVldCwgQ1NTUnUKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOgogICAgICAg
ICBydWxlID0gQ1NTRm9udEZhY2VSdWxlOjpjcmVhdGUoZG93bmNhc3Q8U3R5bGVSdWxlRm9udEZh
Y2U+KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU3R5bGVS
dWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXM6CisgICAgICAgIHJ1bGUgPSBDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGU6OmNyZWF0ZShkb3duY2FzdDxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4o
c2VsZiksIHBhcmVudFNoZWV0KTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpNZWRpYToKICAgICAgICAgcnVsZSA9IENTU01lZGlhUnVsZTo6Y3JlYXRlKGRvd25jYXN0
PFN0eWxlUnVsZU1lZGlhPihzZWxmKSwgcGFyZW50U2hlZXQpOwogICAgICAgICBicmVhazsKQEAg
LTE3Miw2ICsxOTUsMTMgQEAgUmVmPENTU1J1bGU+IFN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNTU09N
V3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgQ1NTUnUKICAgICBjYXNlIFN0eWxl
UnVsZVR5cGU6OlVua25vd246CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpDaGFyc2V0OgogICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWU6CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpE
b2N1bWVudDoKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGZWF0dXJlVmFsdWVzOgorICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6Vmlld3BvcnQ6CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpS
ZWdpb25TdHlsZToKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkN1c3RvbU1lZGlhOgorICAgIGNh
c2UgU3R5bGVSdWxlVHlwZTo6TWFyZ2luOgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6UHJvcGVy
dHk6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBicmVhazsKICAgICB9
CkBAIC0zMTksNiArMzQ5LDI2IEBAIE11dGFibGVTdHlsZVByb3BlcnRpZXMmIFN0eWxlUnVsZUZv
bnRGYWNlOjptdXRhYmxlUHJvcGVydGllcygpCiAgICAgcmV0dXJuIGRvd25jYXN0PE11dGFibGVT
dHlsZVByb3BlcnRpZXM+KG1fcHJvcGVydGllcy5nZXQoKSk7CiB9CiAKK1N0eWxlUnVsZUZvbnRQ
YWxldHRlVmFsdWVzOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBBdG9tU3RyaW5n
JiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBmb250RmFtaWx5LCBjb25zdCBQYWxldHRlSW5kZXgm
IGJhc2VQYWxldHRlLCBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpCisg
ICAgOiBTdHlsZVJ1bGVCYXNlKFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzKQorICAg
ICwgbV9uYW1lKG5hbWUpCisgICAgLCBtX2ZvbnRGYW1pbHkoZm9udEZhbWlseSkKKyAgICAsIG1f
YmFzZVBhbGV0dGUoYmFzZVBhbGV0dGUpCisgICAgLCBtX292ZXJyaWRlQ29sb3IoV1RGTW92ZShv
dmVycmlkZUNvbG9yKSkKK3sKK30KKworU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlN0eWxl
UnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJiBv
KQorICAgIDogU3R5bGVSdWxlQmFzZShvKQorICAgICwgbV9uYW1lKG8ubmFtZSgpKQorICAgICwg
bV9mb250RmFtaWx5KG8uZm9udEZhbWlseSgpKQorICAgICwgbV9iYXNlUGFsZXR0ZShvLmJhc2VQ
YWxldHRlKCkpCisgICAgLCBtX292ZXJyaWRlQ29sb3Ioby5vdmVycmlkZUNvbG9yKCkpCit7Cit9
CisKK1N0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjp+U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXMoKSA9IGRlZmF1bHQ7CisKIERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0OjpEZWZlcnJlZFN0
eWxlR3JvdXBSdWxlTGlzdChjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgQ1NTRGVm
ZXJyZWRQYXJzZXImIHBhcnNlcikKICAgICA6IG1fcGFyc2VyKHBhcnNlcikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJ1bGUuaAppbmRleCAxNTYyYzc5MjY3ZWE2NGQyMTcwMWI5ZGY3NTdjMDM1MjU5MGY5NzFi
Li5iNTNkZjliMTk3Mjc5ZjNhYWY5MGY4YTRmNjlmNjFkYzZmNGRhYWZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUnVsZS5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9s
bCAoa25vbGxAa2RlLm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVy
QGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTUyLDYgKzUyLDcgQEAgcHVi
bGljOgogICAgIGJvb2wgaXNDaGFyc2V0UnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBT
dHlsZVJ1bGVUeXBlOjpDaGFyc2V0OyB9CiAgICAgYm9vbCBpc0NvdW50ZXJTdHlsZVJ1bGUoKSBj
b25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlwZTo6Q291bnRlclN0eWxlOyB9CiAg
ICAgYm9vbCBpc0ZvbnRGYWNlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1
bGVUeXBlOjpGb250RmFjZTsgfQorICAgIGJvb2wgaXNGb250UGFsZXR0ZVZhbHVlc1J1bGUoKSBj
b25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXM7
IH0KICAgICBib29sIGlzS2V5ZnJhbWVzUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBT
dHlsZVJ1bGVUeXBlOjpLZXlmcmFtZXM7IH0KICAgICBib29sIGlzS2V5ZnJhbWVSdWxlKCkgY29u
c3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lOyB9CiAgICAgYm9v
bCBpc05hbWVzcGFjZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlw
ZTo6TmFtZXNwYWNlOyB9CkBAIC0xNTUsNiArMTU2LDYwIEBAIHByaXZhdGU6CiAgICAgUmVmPFN0
eWxlUHJvcGVydGllcz4gbV9wcm9wZXJ0aWVzOwogfTsKIAorY2xhc3MgU3R5bGVSdWxlRm9udFBh
bGV0dGVWYWx1ZXMgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CitwdWJsaWM6CisgICAg
dXNpbmcgUGFsZXR0ZUluZGV4ID0gVmFyaWFudDxpbnQ2NF90LCBBdG9tU3RyaW5nPjsKKyAgICB1
c2luZyBQYWxldHRlQ29sb3JJbmRleCA9IFZhcmlhbnQ8QXRvbVN0cmluZywgaW50NjRfdD47Cisg
ICAgdXNpbmcgT3ZlcnJpZGRlbkNvbG9yID0gc3RkOjpwYWlyPFBhbGV0dGVDb2xvckluZGV4LCBD
b2xvcj47CisKKyAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBjcmVh
dGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwg
Y29uc3QgUGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSwgVmVjdG9yPE92ZXJyaWRkZW5Db2xvcj4m
JiBvdmVycmlkZUNvbG9yKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZUZvbnRQYWxl
dHRlVmFsdWVzKG5hbWUsIGZvbnRGYW1pbHksIGJhc2VQYWxldHRlLCBXVEZNb3ZlKG92ZXJyaWRl
Q29sb3IpKSk7IH0KKyAgICAKKyAgICB+U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoKTsKKwor
ICAgIGNvbnN0IEF0b21TdHJpbmcmIG5hbWUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJu
IG1fbmFtZTsKKyAgICB9CisKKyAgICBjb25zdCBBdG9tU3RyaW5nJiBmb250RmFtaWx5KCkgY29u
c3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2ZvbnRGYW1pbHk7CisgICAgfQorCisgICAgY29u
c3QgUGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1
cm4gbV9iYXNlUGFsZXR0ZTsKKyAgICB9CisKKyAgICBjb25zdCBWZWN0b3I8T3ZlcnJpZGRlbkNv
bG9yPiYgb3ZlcnJpZGVDb2xvcigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9vdmVy
cmlkZUNvbG9yOworICAgIH0KKworICAgIHZvaWQgY2xlYXJPdmVycmlkZUNvbG9yKCkKKyAgICB7
CisgICAgICAgIG1fb3ZlcnJpZGVDb2xvci5jbGVhcigpOworICAgIH0KKworICAgIGJvb2wgcmVt
b3ZlKHVuc2lnbmVkIGtleSkKKyAgICB7CisgICAgICAgIHJldHVybiBtX292ZXJyaWRlQ29sb3Iu
cmVtb3ZlQWxsTWF0Y2hpbmcoW2tleV0oY29uc3QgT3ZlcnJpZGRlbkNvbG9yJiBvdmVycmlkZGVu
Q29sb3IpIC0+IGJvb2wgeworICAgICAgICAgICAgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRp
dmU8aW50NjRfdD4ob3ZlcnJpZGRlbkNvbG9yLmZpcnN0KSAmJiBXVEY6OmdldDxpbnQ2NF90Pihv
dmVycmlkZGVuQ29sb3IuZmlyc3QpID09IGtleTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAg
UmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygqdGhpcykpOyB9CisKK3ByaXZh
dGU6CisgICAgZXhwbGljaXQgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoY29uc3QgQXRvbVN0
cmluZyYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwgY29uc3QgUGFsZXR0ZUlu
ZGV4JiBiYXNlUGFsZXR0ZSwgVmVjdG9yPE92ZXJyaWRkZW5Db2xvcj4mJiBvdmVycmlkZUNvbG9y
KTsKKyAgICBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBTdHlsZVJ1bGVGb250UGFs
ZXR0ZVZhbHVlcyYpOworCisgICAgQXRvbVN0cmluZyBtX25hbWU7CisgICAgQXRvbVN0cmluZyBt
X2ZvbnRGYW1pbHk7CisgICAgUGFsZXR0ZUluZGV4IG1fYmFzZVBhbGV0dGU7CisgICAgVmVjdG9y
PE92ZXJyaWRkZW5Db2xvcj4gbV9vdmVycmlkZUNvbG9yOworfTsKKwogY2xhc3MgU3R5bGVSdWxl
UGFnZSBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFN0eWxlUnVsZVBhZ2U+IGNyZWF0ZShSZWY8U3R5bGVQcm9wZXJ0aWVzPiYmLCBDU1NTZWxl
Y3Rvckxpc3QmJik7CkBAIC0zNTcsNiArNDEyLDEwIEBAIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
QkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxlRm9udEZhY2UpCiAgICAgc3RhdGljIGJvb2wgaXNUeXBl
KGNvbnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0dXJuIHJ1bGUuaXNGb250
RmFjZVJ1bGUoKTsgfQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQogCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKQor
ICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlJiBydWxl
KSB7IHJldHVybiBydWxlLmlzRm9udFBhbGV0dGVWYWx1ZXNSdWxlKCk7IH0KK1NQRUNJQUxJWkVf
VFlQRV9UUkFJVFNfRU5EKCkKKwogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3Jl
OjpTdHlsZVJ1bGVNZWRpYSkKICAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc01lZGlhUnVsZSgpOyB9CiBTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSdWxlVHlwZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaAppbmRl
eCBjOWU1MThkYmU2MWI3MzViNmQ3YTFhN2ZmNjI0M2NkOTgxNWNjNWJkLi5jMWQ3ZjMxNTJlZjAy
NmExMzM4YTI5NTY5MTk2Y2EzNzZhYmUzYzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlVHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBl
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOSAtIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yOCwxOSArMjgsMjcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBT
dHlsZVJ1bGVUeXBlIDogdWludDhfdCB7Ci0gICAgVW5rbm93biwgLy8gTm90IHVzZWQuCi0gICAg
U3R5bGUsCi0gICAgQ2hhcnNldCwgLy8gTm90IHVzZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5IHN0
cmluZ3Mgb3duZWQgYnkgdGhlIHN0eWxlIHNoZWV0LgotICAgIEltcG9ydCwKLSAgICBNZWRpYSwK
LSAgICBGb250RmFjZSwKLSAgICBQYWdlLAotICAgIEtleWZyYW1lcywKLSAgICBLZXlmcmFtZSwg
Ly8gTm90IHVzZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5IG5vbi1ydWxlIFN0eWxlUnVsZUtleWZy
YW1lIG9iamVjdHMuCisgICAgVW5rbm93biA9IDAsIC8vIE5vdCB1c2VkLgorICAgIFN0eWxlID0g
MSwKKyAgICBDaGFyc2V0ID0gMiwgLy8gTm90IHVzZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5IHN0
cmluZ3Mgb3duZWQgYnkgdGhlIHN0eWxlIHNoZWV0LgorICAgIEltcG9ydCA9IDMsCisgICAgTWVk
aWEgPSA0LAorICAgIEZvbnRGYWNlID0gNSwKKyAgICBQYWdlID0gNiwKKyAgICBLZXlmcmFtZXMg
PSA3LAorICAgIEtleWZyYW1lID0gOCwgLy8gTm90IHVzZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5
IG5vbi1ydWxlIFN0eWxlUnVsZUtleWZyYW1lIG9iamVjdHMuCisgICAgTWFyZ2luID0gOSwKICAg
ICBOYW1lc3BhY2UgPSAxMCwKICAgICBDb3VudGVyU3R5bGUgPSAxMSwKICAgICBTdXBwb3J0cyA9
IDEyLAotICAgIExheWVyID0gMTMsCisgICAgRG9jdW1lbnQgPSAxMywKKyAgICBGb250RmVhdHVy
ZVZhbHVlcyA9IDE0LAorICAgIFZpZXdwb3J0ID0gMTUsCisgICAgUmVnaW9uU3R5bGUgPSAxNiwK
KyAgICBDdXN0b21NZWRpYSA9IDE3LAorICAgIFByb3BlcnR5ID0gMTgsCisgICAgRm9udFBhbGV0
dGVWYWx1ZXMgPSAxOSwgLy8gaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNz
dWVzLzY2MjMKKyAgICBMYXllciA9IDIwCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IDMyODQ5NzQ4NTM1
YTBkNzY0NjkwMzA3M2NjMjRkYzE4NjZkYjA0Y2UuLmNmN2Q0ZWQ4MGZiZjVlMWIyYjlkZDk5OGRj
MzcyNzY2ODZhNzRmOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0
Q29udGVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMu
Y3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25v
bGxAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNDM2LDYgKzQzNiw3IEBA
IHN0YXRpYyBib29sIHRyYXZlcnNlUnVsZXNJblZlY3Rvcihjb25zdCBWZWN0b3I8UmVmUHRyPFN0
eWxlUnVsZUJhc2U+PiYgcnVsZXMsIGNvCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBTdHlsZVJ1bGVUeXBlOjpTdHlsZToKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250
RmFjZToKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoKICAg
ICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpQYWdlOgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5
cGU6OktleWZyYW1lczoKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpOYW1lc3BhY2U6CkBA
IC00NDMsNiArNDQ0LDEzIEBAIHN0YXRpYyBib29sIHRyYXZlcnNlUnVsZXNJblZlY3Rvcihjb25z
dCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYgcnVsZXMsIGNvCiAgICAgICAgIGNhc2Ug
U3R5bGVSdWxlVHlwZTo6Q2hhcnNldDoKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpDb3Vu
dGVyU3R5bGU6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWU6CisgICAgICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6RG9jdW1lbnQ6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlw
ZTo6Rm9udEZlYXR1cmVWYWx1ZXM6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Vmlld3Bv
cnQ6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6UmVnaW9uU3R5bGU6CisgICAgICAgIGNh
c2UgU3R5bGVSdWxlVHlwZTo6Q3VzdG9tTWVkaWE6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlw
ZTo6TWFyZ2luOgorICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlByb3BlcnR5OgogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CkBAIC00ODYsNiArNDk0LDE0IEBAIGJvb2wg
U3R5bGVTaGVldENvbnRlbnRzOjp0cmF2ZXJzZVN1YnJlc291cmNlcyhjb25zdCBXVEY6OkZ1bmN0
aW9uPGJvb2wgKGNvbnN0IENhCiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWU6
CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6U3VwcG9ydHM6CiAgICAgICAgIGNhc2UgU3R5
bGVSdWxlVHlwZTo6TGF5ZXI6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6RG9jdW1lbnQ6
CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZlYXR1cmVWYWx1ZXM6CisgICAgICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6Vmlld3BvcnQ6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlw
ZTo6UmVnaW9uU3R5bGU6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVW
YWx1ZXM6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Q3VzdG9tTWVkaWE6CisgICAgICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6TWFyZ2luOgorICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OlByb3BlcnR5OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9OwogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTQXRSdWxlSUQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1
bGVJRC5jcHAKaW5kZXggMDgyNTcyMzhjOGIzNThlNTNiZmEyN2UyYWI2YmVjY2Q1YTZkMmU5OS4u
OWNlMzUxZDE2YmE4NzE1MjY1MGUzZWI0NjAzZGFmNjI0NDEzMGM2YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAKQEAgLTEsNSArMSw1IEBACiAvLyBDb3B5cmln
aHQgMjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5
cmlnaHQgKEMpIDIwMTYgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8v
CiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM4LDYgKzM4LDggQEAgQ1NTQXRS
dWxlSUQgY3NzQXRSdWxlSUQoU3RyaW5nVmlldyBuYW1lKQogICAgICAgICByZXR1cm4gQ1NTQXRS
dWxlQ2hhcnNldDsKICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiZm9udC1m
YWNlIikpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVGb250RmFjZTsKKyAgICBpZiAoZXF1YWxJ
Z25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiZm9udC1wYWxldHRlLXZhbHVlcyIpKQorICAgICAgICBy
ZXR1cm4gQ1NTQXRSdWxlRm9udFBhbGV0dGVWYWx1ZXM7CiAgICAgaWYgKGVxdWFsSWdub3JpbmdB
U0NJSUNhc2UobmFtZSwgImltcG9ydCIpKQogICAgICAgICByZXR1cm4gQ1NTQXRSdWxlSW1wb3J0
OwogICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG5hbWUsICJrZXlmcmFtZXMiKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaAppbmRleCAzMzBmNmNiZTJlMjViM2Rj
Y2YwZTcyOWU0NDg5OWYxODk0MTVhN2JlLi41ZTRkNDM1MzMyZDYxMjNjNzFiYjhkM2MzYzI1M2Fi
NzcxMzI5ZjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVs
ZUlELmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5oCkBAIC0x
LDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTUgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAyMDE2IC0gMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBA
IC00OSw2ICs0OSw4IEBAIGVudW0gQ1NTQXRSdWxlSUQgewogICAgIENTU0F0UnVsZUFwcGx5ID0g
MTEsCiAgICAgQ1NTQXRSdWxlQ291bnRlclN0eWxlID0gMTIsCiAgICAgQ1NTQXRSdWxlTGF5ZXIg
PSAxMywKKworICAgIENTU0F0UnVsZUZvbnRQYWxldHRlVmFsdWVzID0gMTQsCiB9OwogCiBDU1NB
dFJ1bGVJRCBjc3NBdFJ1bGVJRChTdHJpbmdWaWV3IG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKaW5kZXggZTViNzQzMDJlMGNlNGM1YWJkNjE2ZWM0
NTcxYjYyYzRmZmM3ZTUxOS4uYWY1ZGU1ZjhhMjZlY2VjZWE5ZDY4OGJhYmM1YTVjYzViYjE5ZWI4
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0eWxlUnVsZS5oIgogI2lu
Y2x1ZGUgIkNTU0N1c3RvbVByb3BlcnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NEZWZlcnJlZFBh
cnNlci5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVz
UnVsZS5oIgogI2luY2x1ZGUgIkNTU1BhcnNlck9ic2VydmVyLmgiCkBAIC00NDUsNiArNDQ2LDgg
QEAgUmVmUHRyPFN0eWxlUnVsZUJhc2U+IENTU1BhcnNlckltcGw6OmNvbnN1bWVBdFJ1bGUoQ1NT
UGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIEEKICAgICAgICAgcmV0dXJuIGNvbnN1bWVTdXBwb3J0
c1J1bGUocHJlbHVkZSwgYmxvY2spOwogICAgIGNhc2UgQ1NTQXRSdWxlRm9udEZhY2U6CiAgICAg
ICAgIHJldHVybiBjb25zdW1lRm9udEZhY2VSdWxlKHByZWx1ZGUsIGJsb2NrKTsKKyAgICBjYXNl
IENTU0F0UnVsZUZvbnRQYWxldHRlVmFsdWVzOgorICAgICAgICByZXR1cm4gY29uc3VtZUZvbnRQ
YWxldHRlVmFsdWVzUnVsZShwcmVsdWRlLCBibG9jayk7CiAgICAgY2FzZSBDU1NBdFJ1bGVXZWJr
aXRLZXlmcmFtZXM6CiAgICAgICAgIHJldHVybiBjb25zdW1lS2V5ZnJhbWVzUnVsZSh0cnVlLCBw
cmVsdWRlLCBibG9jayk7CiAgICAgY2FzZSBDU1NBdFJ1bGVLZXlmcmFtZXM6CkBAIC02NTIsNiAr
NjU1LDU1IEBAIFJlZlB0cjxTdHlsZVJ1bGVGb250RmFjZT4gQ1NTUGFyc2VySW1wbDo6Y29uc3Vt
ZUZvbnRGYWNlUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlCiAgICAgcmV0dXJuIFN0eWxlUnVsZUZv
bnRGYWNlOjpjcmVhdGUoY3JlYXRlU3R5bGVQcm9wZXJ0aWVzKG1fcGFyc2VkUHJvcGVydGllcywg
bV9jb250ZXh0Lm1vZGUpKTsKIH0KIAorUmVmUHRyPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
PiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lRm9udFBhbGV0dGVWYWx1ZXNSdWxlKENTU1BhcnNlclRv
a2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jaykKK3sKKyAgICBhdXRv
IG5hbWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVDdXN0b21JZGVudChwcmVs
dWRlKTsKKyAgICBpZiAoIW5hbWUgfHwgIXByZWx1ZGUuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7IC8vIFBhcnNlIGVycm9yOyBleHBlY3RlZCBjdXN0b20gaWRlbnQgaW4gQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgaGVhZGVyCisKKyAgICBpZiAobV9vYnNlcnZlcldyYXBwZXIpIHsKKyAg
ICAgICAgdW5zaWduZWQgZW5kT2Zmc2V0ID0gbV9vYnNlcnZlcldyYXBwZXItPmVuZE9mZnNldChw
cmVsdWRlKTsKKyAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuc3RhcnRSdWxl
SGVhZGVyKFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzLCBtX29ic2VydmVyV3JhcHBl
ci0+c3RhcnRPZmZzZXQocHJlbHVkZSkpOworICAgICAgICBtX29ic2VydmVyV3JhcHBlci0+b2Jz
ZXJ2ZXIoKS5lbmRSdWxlSGVhZGVyKGVuZE9mZnNldCk7CisgICAgICAgIG1fb2JzZXJ2ZXJXcmFw
cGVyLT5vYnNlcnZlcigpLnN0YXJ0UnVsZUJvZHkoZW5kT2Zmc2V0KTsKKyAgICAgICAgbV9vYnNl
cnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5kUnVsZUJvZHkoZW5kT2Zmc2V0KTsKKyAgICB9CisK
KyAgICBjb25zdW1lRGVjbGFyYXRpb25MaXN0KGJsb2NrLCBTdHlsZVJ1bGVUeXBlOjpGb250UGFs
ZXR0ZVZhbHVlcyk7CisgICAgYXV0byBwcm9wZXJ0aWVzID0gY3JlYXRlU3R5bGVQcm9wZXJ0aWVz
KG1fcGFyc2VkUHJvcGVydGllcywgbV9jb250ZXh0Lm1vZGUpOworCisgICAgQXRvbVN0cmluZyBm
b250RmFtaWx5OworICAgIGlmIChhdXRvIGZvbnRGYW1pbHlWYWx1ZSA9IHByb3BlcnRpZXMtPmdl
dFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250RmFtaWx5KSkKKyAgICAgICAgZm9udEZh
bWlseSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqZm9udEZhbWlseVZhbHVlKS5mb250
RmFtaWx5KCkuZmFtaWx5TmFtZTsKKworICAgIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjpQ
YWxldHRlSW5kZXggYmFzZVBhbGV0dGUobnVsbEF0b20oKSk7CisgICAgaWYgKGF1dG8gYmFzZVBh
bGV0dGVWYWx1ZSA9IHByb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlC
YXNlUGFsZXR0ZSkpIHsKKyAgICAgICAgY29uc3QgYXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3du
Y2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKmJhc2VQYWxldHRlVmFsdWUpOworICAgICAgICBpZiAo
cHJpbWl0aXZlVmFsdWUuaXNTdHJpbmcoKSkKKyAgICAgICAgICAgIGJhc2VQYWxldHRlID0gcHJp
bWl0aXZlVmFsdWUuc3RyaW5nVmFsdWUoKTsKKyAgICAgICAgZWxzZSBpZiAocHJpbWl0aXZlVmFs
dWUuaXNOdW1iZXIoKSkKKyAgICAgICAgICAgIGJhc2VQYWxldHRlID0gcHJpbWl0aXZlVmFsdWUu
dmFsdWU8aW50NjRfdD4oKTsKKyAgICB9CisKKyAgICBWZWN0b3I8U3R5bGVSdWxlRm9udFBhbGV0
dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4gb3ZlcnJpZGVDb2xvcjsKKyAgICBpZiAoYXV0byBv
dmVycmlkZUNvbG9yVmFsdWUgPSBwcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1By
b3BlcnR5T3ZlcnJpZGVDb2xvcikpIHsKKyAgICAgICAgY29uc3QgYXV0byYgbGlzdCA9IGRvd25j
YXN0PENTU1ZhbHVlTGlzdD4oKm92ZXJyaWRlQ29sb3JWYWx1ZSk7CisgICAgICAgIGZvciAoY29u
c3QgYXV0byYgaXRlbSA6IGxpc3QpIHsKKyAgICAgICAgICAgIFN0eWxlUnVsZUZvbnRQYWxldHRl
VmFsdWVzOjpQYWxldHRlQ29sb3JJbmRleCBrZXkobnVsbEF0b20oKSk7CisgICAgICAgICAgICBj
b25zdCBhdXRvJiBwYWlyID0gZG93bmNhc3Q8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNv
bG9yVmFsdWU+KGl0ZW0uZ2V0KCkpOworICAgICAgICAgICAgaWYgKHBhaXIua2V5KCkuaXNTdHJp
bmcoKSkKKyAgICAgICAgICAgICAgICBrZXkgPSBwYWlyLmtleSgpLnN0cmluZ1ZhbHVlKCk7Cisg
ICAgICAgICAgICBlbHNlIGlmIChwYWlyLmtleSgpLmlzTnVtYmVyKCkpCisgICAgICAgICAgICAg
ICAga2V5ID0gcGFpci5rZXkoKS52YWx1ZTxpbnQ2NF90PigpOworICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgb3ZlcnJpZGVDb2xvci5hcHBl
bmQoc3RkOjptYWtlX3BhaXIoa2V5LCBwYWlyLmNvbG9yKCkuY29sb3IoKSkpOworICAgICAgICB9
CisgICAgfQorCisgICAgcmV0dXJuIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjpjcmVhdGUo
bmFtZS0+c3RyaW5nVmFsdWUoKSwgZm9udEZhbWlseSwgYmFzZVBhbGV0dGUsIFdURk1vdmUob3Zl
cnJpZGVDb2xvcikpOworfQorCiBSZWZQdHI8U3R5bGVSdWxlS2V5ZnJhbWVzPiBDU1NQYXJzZXJJ
bXBsOjpjb25zdW1lS2V5ZnJhbWVzUnVsZShib29sIHdlYmtpdFByZWZpeGVkLCBDU1NQYXJzZXJU
b2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spCiB7CiAgICAgQ1NT
UGFyc2VyVG9rZW5SYW5nZSByYW5nZUNvcHkgPSBwcmVsdWRlOyAvLyBGb3IgaW5zcGVjdG9yIGNh
bGxiYWNrcwpAQCAtOTYxLDcgKzEwMTMsNyBAQCB2b2lkIENTU1BhcnNlckltcGw6OmNvbnN1bWVE
ZWNsYXJhdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlIHJhbmdlLCBTdHlsZVJ1bGVUeXBlCiAgICAg
ICAgIGNvbnN1bWVDdXN0b21Qcm9wZXJ0eVZhbHVlKHJhbmdlLm1ha2VTdWJSYW5nZSgmcmFuZ2Uu
cGVlaygpLCBkZWNsYXJhdGlvblZhbHVlRW5kKSwgdmFyaWFibGVOYW1lLCBpbXBvcnRhbnQpOwog
ICAgIH0KIAotICAgIGlmIChpbXBvcnRhbnQgJiYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6
OkZvbnRGYWNlIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lIHx8IHJ1bGVU
eXBlID09IFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZSkpCisgICAgaWYgKGltcG9ydGFudCAm
JiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2UgfHwgcnVsZVR5cGUgPT0gU3R5
bGVSdWxlVHlwZTo6S2V5ZnJhbWUgfHwgcnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Q291bnRl
clN0eWxlIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzKSkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHByb3BlcnR5SUQgIT0gQ1NTUHJvcGVydHlJbnZh
bGlkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBs
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuaAppbmRleCAxNmM0
YzNkMTlmNTA4YzEwMjFmNTFiNGMzNWI3NDA1OWRlNTA0NTQ3Li5lMjVmZTVlMmE3NTI4Y2FiNDM0
YTllZWI4NmE4ZDFjZDdhZmFhM2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Bh
cnNlckltcGwuaApAQCAtMSw1ICsxLDUgQEAKIC8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1
bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gQ29weXJpZ2h0IChDKSAyMDE2LTIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAyMDE2
LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
Ly8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQpAQCAtNTEsNiArNTEsNyBAQCBjbGFzcyBTdHlsZVJ1bGU7CiBjbGFz
cyBTdHlsZVJ1bGVCYXNlOwogY2xhc3MgU3R5bGVSdWxlQ2hhcnNldDsKIGNsYXNzIFN0eWxlUnVs
ZUZvbnRGYWNlOworY2xhc3MgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM7CiBjbGFzcyBTdHls
ZVJ1bGVJbXBvcnQ7CiBjbGFzcyBTdHlsZVJ1bGVLZXlmcmFtZXM7CiBjbGFzcyBTdHlsZVJ1bGVM
YXllcjsKQEAgLTEzMyw2ICsxMzQsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxTdHlsZVJ1bGVT
dXBwb3J0cz4gY29uc3VtZVN1cHBvcnRzUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUs
IENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxTdHlsZVJ1bGVWaWV3cG9y
dD4gY29uc3VtZVZpZXdwb3J0UnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1Bh
cnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxTdHlsZVJ1bGVGb250RmFjZT4gY29u
c3VtZUZvbnRGYWNlUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRv
a2VuUmFuZ2UgYmxvY2spOworICAgIFJlZlB0cjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4g
Y29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUs
IENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxTdHlsZVJ1bGVLZXlmcmFt
ZXM+IGNvbnN1bWVLZXlmcmFtZXNSdWxlKGJvb2wgd2Via2l0UHJlZml4ZWQsIENTU1BhcnNlclRv
a2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jayk7CiAgICAgUmVmUHRy
PFN0eWxlUnVsZVBhZ2U+IGNvbnN1bWVQYWdlUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1
ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxTdHlsZVJ1bGVDb3Vu
dGVyU3R5bGU+IGNvbnN1bWVDb3VudGVyU3R5bGVSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJl
bHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDdkMzMzMGI4MWVhMzMzNjQ3MjM0
NGU1MTBmZDA1OGVhY2MyNTExNzMuLjM4NzJhNWE2N2NlYzI3ODViYjEyZDA0YzBlNTg0ZDMzMjMy
ZTRkN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXIuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiQ1NTQ3VzdG9tUHJvcGVydHlWYWx1
ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlU3JjVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250
RmVhdHVyZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNv
bG9yVmFsdWUuaCIKICNpZiBFTkFCTEUoVkFSSUFUSU9OX0ZPTlRTKQogI2luY2x1ZGUgIkNTU0Zv
bnRWYXJpYXRpb25WYWx1ZS5oIgogI2VuZGlmCkBAIC0yMzMsNiArMjM0LDggQEAgYm9vbCBDU1NQ
cm9wZXJ0eVBhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIGJvb2wg
aW1wb3J0YW50LCBjb24KIAogICAgIGlmIChydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250
RmFjZSkKICAgICAgICAgcGFyc2VTdWNjZXNzID0gcGFyc2VyLnBhcnNlRm9udEZhY2VEZXNjcmlw
dG9yKHByb3BlcnR5SUQpOworICAgIGVsc2UgaWYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6
OkZvbnRQYWxldHRlVmFsdWVzKQorICAgICAgICBwYXJzZVN1Y2Nlc3MgPSBwYXJzZXIucGFyc2VG
b250UGFsZXR0ZVZhbHVlc0Rlc2NyaXB0b3IocHJvcGVydHlJRCk7CiAgICAgZWxzZSBpZiAocnVs
ZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Q291bnRlclN0eWxlKQogICAgICAgICBwYXJzZVN1Y2Nl
c3MgPSBwYXJzZXIucGFyc2VDb3VudGVyU3R5bGVEZXNjcmlwdG9yKHByb3BlcnR5SUQsIGNvbnRl
eHQpOwogICAgIGVsc2UKQEAgLTQ4MzgsNiArNDg0MSw2MyBAQCBib29sIENTU1Byb3BlcnR5UGFy
c2VyOjpwYXJzZUZvbnRGYWNlRGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEIHByb3BJZCkKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY29uc3Vt
ZUJhc2VQYWxldHRlRGVzY3JpcHRvcihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAg
ICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSA9PSBTdHJpbmdUb2tlbikKKyAgICAgICAgcmV0dXJu
IGNvbnN1bWVTdHJpbmcocmFuZ2UpOworICAgIHJldHVybiBjb25zdW1lSW50ZWdlcihyYW5nZSk7
Cit9CisKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBjb25zdW1lT3ZlcnJpZGVDb2xvckRl
c2NyaXB0b3IoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRl
eHQmIGNvbnRleHQpCit7CisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gbGlzdCA9IENTU1ZhbHVl
TGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKKyAgICBkbyB7CisgICAgICAgIFJlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4ga2V5OworICAgICAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSA9
PSBTdHJpbmdUb2tlbikKKyAgICAgICAgICAgIGtleSA9IGNvbnN1bWVTdHJpbmcocmFuZ2UpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBrZXkgPSBjb25zdW1lSW50ZWdlcihyYW5nZSk7Cisg
ICAgICAgIGlmICgha2V5KQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAg
YXV0byBjb2xvciA9IGNvbnN1bWVDb2xvcihyYW5nZSwgY29udGV4dCk7CisgICAgICAgIGlmICgh
Y29sb3IpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBSZWZQdHI8Q1NT
VmFsdWU+IHZhbHVlID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU6OmNy
ZWF0ZShrZXkucmVsZWFzZU5vbk51bGwoKSwgY29sb3IucmVsZWFzZU5vbk51bGwoKSk7CisgICAg
ICAgIGxpc3QtPmFwcGVuZCh2YWx1ZS5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICB9IHdoaWxlIChj
b25zdW1lQ29tbWFJbmNsdWRpbmdXaGl0ZXNwYWNlKHJhbmdlKSk7CisgICAgCisgICAgaWYgKCFy
YW5nZS5hdEVuZCgpIHx8ICFsaXN0LT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisKKyAgICByZXR1cm4gbGlzdDsKK30KKworYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VG
b250UGFsZXR0ZVZhbHVlc0Rlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCBwcm9wSWQpCit7CisgICAg
UmVmUHRyPENTU1ZhbHVlPiBwYXJzZWRWYWx1ZTsKKyAgICBzd2l0Y2ggKHByb3BJZCkgeworICAg
IGNhc2UgQ1NTUHJvcGVydHlGb250RmFtaWx5OgorICAgICAgICBwYXJzZWRWYWx1ZSA9IGNvbnN1
bWVGYW1pbHlOYW1lKG1fcmFuZ2UpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3Bl
cnR5QmFzZVBhbGV0dGU6CisgICAgICAgIHBhcnNlZFZhbHVlID0gY29uc3VtZUJhc2VQYWxldHRl
RGVzY3JpcHRvcihtX3JhbmdlKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NQcm9wZXJ0
eU92ZXJyaWRlQ29sb3I6CisgICAgICAgIHBhcnNlZFZhbHVlID0gY29uc3VtZU92ZXJyaWRlQ29s
b3JEZXNjcmlwdG9yKG1fcmFuZ2UsIG1fY29udGV4dCk7CisgICAgICAgIGJyZWFrOworICAgIGRl
ZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGlmICghcGFyc2VkVmFsdWUgfHwg
IW1fcmFuZ2UuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYWRkUHJvcGVy
dHkocHJvcElkLCBDU1NQcm9wZXJ0eUludmFsaWQsICpwYXJzZWRWYWx1ZSwgZmFsc2UpOworICAg
IHJldHVybiB0cnVlOworfQorCiBib29sIENTU1Byb3BlcnR5UGFyc2VyOjpjb25zdW1lU3lzdGVt
Rm9udChib29sIGltcG9ydGFudCkKIHsKICAgICBDU1NWYWx1ZUlEIHN5c3RlbUZvbnRJRCA9IG1f
cmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKS5pZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oCmluZGV4IDI3YWMzNTkzN2NjMmZhNWFj
N2MyZjIzMDQwZTMwMTBiNTA4MTcxMzkuLmQ4NzQwOThmZGM0ODllMmVjNGFjNWUxNjNhZDRlMWUy
ZDkyM2NhYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VyLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDAzIExhcnMgS25v
bGwgKGtub2xsQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIw
MDgsIDIwMDksIDIwMTAsIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA0IC0gMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KICAq
IENvcHlyaWdodCAoQykgMjAwOSAtIDIwMTAgIFRvcmNoIE1vYmlsZSAoQmVpamluZykgQ28uIEx0
ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC03Myw2ICs3Myw3IEBAIHByaXZhdGU6CiAK
ICAgICBib29sIHBhcnNlVmlld3BvcnREZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkLCBi
b29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBwYXJzZUZvbnRGYWNlRGVzY3JpcHRvcihDU1NQcm9w
ZXJ0eUlEKTsKKyAgICBib29sIHBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKENTU1By
b3BlcnR5SUQpOwogICAgIGJvb2wgcGFyc2VDb3VudGVyU3R5bGVEZXNjcmlwdG9yKENTU1Byb3Bl
cnR5SUQsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsKIAogICAgIHZvaWQgYWRkUHJvcGVydHko
Q1NTUHJvcGVydHlJRCwgQ1NTUHJvcGVydHlJRCwgUmVmPENTU1ZhbHVlPiYmLCBib29sIGltcG9y
dGFudCwgYm9vbCBpbXBsaWNpdCA9IGZhbHNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IDY2YjFhY2M4MDMyYWM2MTI4OTU5ZmI5MmYyZmI0N2E2YzFhMDZjOTEuLjcyMWU2ZGE1
YzNmMTk1MmE5MTQwOGFjYmUzN2FjYmY0YWYwMjI4ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA5LTE4ICBNeWxlcyBDLiBNYXhmaWVsZCAg
PG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUGFyc2luZyBzdXBwb3J0IGZvciBmb250
LXBhbGV0dGUtdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzAzMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGVzZSBhcmUgYmVpbmcgdXBzdHJlYW1lZCBhdCBodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9wdWxsLzMwODQwLgorCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUt
dmFsdWVzLWludmFsaWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxp
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQt
cGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbDogQWRkZWQuCisKIDIwMjEtMDktMTcgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgY3NzL2Nzc29tLXZpZXcv
bW91c2VFdmVudC1vZmZzZXRYWS1zdmcuaHRtbCBwYXNzZXMgbm93CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvaWRs
aGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKaW5kZXggNGVj
YmIzM2Y4YTkzZDllMmEyNjFkMDcyYWY4NjE0YmE1ZTg2MGEyZC4uMmRkMzc0ZGNlMWZhODBhMGZh
YWNmZWVhMDQ4NjI1OTBlNGZjMGUzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL2lkbGhhcm5lc3MtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1mb250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtMTUsOCArMTUsOCBAQCBQQVNT
IENTU0ZvbnRGYWNlUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzdHlsZQogUEFTUyBDU1NGb250
RmFjZVJ1bGUgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBjc3NGb250RmFjZVJ1bGUKIFBB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIGNzc0ZvbnRGYWNlUnVsZQogUEFTUyBDU1NGb250RmFjZVJ1
bGUgaW50ZXJmYWNlOiBjc3NGb250RmFjZVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdHls
ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc0ZvbnRG
YWNlUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiRk9OVF9GRUFU
VVJFX1ZBTFVFU19SVUxFIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1GQUlMIENTU1J1
bGUgaW50ZXJmYWNlOiBjc3NGb250RmFjZVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05U
X1BBTEVUVEVfVkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0
czogcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgbm90IGZvdW5kIGluIHByb3Rv
dHlwZSBjaGFpbgorUEFTUyBDU1NSdWxlIGludGVyZmFjZTogY3NzRm9udEZhY2VSdWxlIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZQorRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY3NzRm9udEZhY2VSdWxlIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxNSBidXQgZ290IDE5CiBGQUlMIENTU0ZvbnRG
ZWF0dXJlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkg
IkNTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIgbWlzc2luZwogRkFJTCBDU1NGb250RmVhdHVyZVZh
bHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIiBtaXNzaW5nCiBGQUlM
IENTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1
cmVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxl
IiBtaXNzaW5nCkBAIC0zNywxOCArMzcsMTggQEAgRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc01h
cCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHIKIEZB
SUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3Bl
cnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IkNTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1
cmVWYWx1ZXNNYXAiIG1pc3NpbmcKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIG1pc3NpbmcKIEZBSUwgQ1NTRm9u
dEZlYXR1cmVWYWx1ZXNNYXAgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0KENTU09NU3RyaW5nLCAo
dW5zaWduZWQgbG9uZyBvciBzZXF1ZW5jZTx1bnNpZ25lZCBsb25nPikpIGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFs
dWVzTWFwIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIG1pc3Np
bmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlM
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZSBvYmpl
Y3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwot
RkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHBy
b3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgZm9udEZhbWlseSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIGV4
cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIG1pc3NpbmcKLUZBSUwg
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogYXR0cmlidXRlIGJhc2VQYWxldHRl
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9O
VF9GRUFUVVJFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIkZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSIgbWlzc2lu
ZwotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9GRUFUVVJFX1ZBTFVFU19S
VUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4
cGVjdGVkIHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUiIG1pc3NpbmcKLUZBSUwg
Q1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSBvbiBp
bnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJG
T05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIG1pc3NpbmcKLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6
IGNvbnN0YW50IEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSBvbiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiRk9OVF9QQUxF
VFRFX1ZBTFVFU19SVUxFIiBtaXNzaW5nCi1GQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NSdWxl
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFM
VUVTX1JVTEUiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KLUZBSUwgQ1NTUnVsZSBpbnRl
cmZhY2U6IGNzc1J1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVT
X1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgIkZP
TlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFT
UyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUg
aW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGlu
dGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eQorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5CitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBmb250RmFtaWx5CitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBiYXNlUGFsZXR0ZQorUEFTUyBDU1NSdWxlIGludGVyZmFjZTog
Y29uc3RhbnQgRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBvYmplY3QKK1BB
U1MgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSBv
biBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29u
c3RhbnQgRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0
X2VxdWFsczogcHJvcGVydHkgaGFzIHdyb25nIHZhbHVlIGV4cGVjdGVkIDE1IGJ1dCBnb3QgMTkK
K0ZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZPTlRfUEFMRVRURV9WQUxVRVNfUlVM
RSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0eSBo
YXMgd3JvbmcgdmFsdWUgZXhwZWN0ZWQgMTUgYnV0IGdvdCAxOQorUEFTUyBDU1NSdWxlIGludGVy
ZmFjZTogY3NzUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRfRkVBVFVSRV9WQUxVRVNf
UlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK0ZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc1J1
bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIHdpdGgg
dGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDE1IGJ1dCBnb3QgMTkKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYmM3MmU5YTUxZDVhYWJhZWM2MTcyZWExNDAzZjMzYzBjMDAxOTZiOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExl
dmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMQorUEFTUyBDU1MgRm9udHMgTW9k
dWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMgorUEFTUyBDU1MgRm9u
dHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMworUEFTUyBD
U1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNAor
UEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgNQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgNgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgNworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcg
QGZvbnQtcGFsZXR0ZS12YWx1ZXMgOAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBh
cnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgOQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVs
IDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTAKK1BBU1MgQ1NTIEZvbnRzIE1vZHVs
ZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDExCitQQVNTIENTUyBGb250
cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMgorUEFTUyBD
U1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTMK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9u
dHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
NzA1NDJlZDg4YzRjOTMwN2MwYzUyMTljM2M0ZGU4NjhmZWNmYWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZv
bnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwKQEAgLTAsMCArMSwx
ODIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5DU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFs
ZXR0ZS12YWx1ZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0
cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLyNmb250LXBhbGV0dGUtdmFsdWVzIj4KKzxtZXRhIG5hbWU9
ImFzc2VydCIgY29udGVudD0iQGZvbnQtcGFsZXR0ZS12YWx1ZXMgaXMgcGFyc2VkIGNvcnJlY3Rs
eS4iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHN0eWxlIGlkPSJzdHlsZSI+CitAZm9udC1wYWxldHRlLXZhbHVlcyB7Cit9CisKK0Bmb250LXBh
bGV0dGUtdmFsdWVzIEEgQiB7Cit9CisKKy8qIDAgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEg
eworICAgIGZvbnQtZmFtaWx5OiBhLCBiOworfQorCisvKiAxICovCitAZm9udC1wYWxldHRlLXZh
bHVlcyBBIHsKKyAgICBmb250LWZhbWlseTogMTsKK30KKworLyogMiAqLworQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgQSB7CisgICAgZm9udDogMTJweCBhOworfQorCisvKiAzICovCitAZm9udC1wYWxl
dHRlLXZhbHVlcyBBIHsKKyAgICBiYXNlLXBhbGV0dGU6IDEgMjsKK30KKworLyogNCAqLworQGZv
bnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgYmFzZS1wYWxldHRlOiBpZGVudDsKK30KKworLyog
NSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgYmFzZS1wYWxldHRlOiAiYSIgImIi
OworfQorCisvKiA2ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBiYXNlLXBhbGV0
dGU6IDsKK30KKworLyogNyAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJp
ZGUtY29sb3I6IGlkZW50ICMxMjM7Cit9CisKKy8qIDggKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVz
IEEgeworICAgIG92ZXJyaWRlLWNvbG9yOiAwICJyZWQiOworfQorCisvKiA5ICovCitAZm9udC1w
YWxldHRlLXZhbHVlcyBBIHsKKyAgICBvdmVycmlkZS1jb2xvcjogMCAjMTIzLCAxOworfQorCisv
KiAxMCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDsK
K30KKworLyogMTEgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIG92ZXJyaWRlLWNv
bG9yOiAwICMxMjMgMTsKK30KKworLyogMTIgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgewor
ICAgIG92ZXJyaWRlLWNvbG9yOiAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdD4KK2xldCBydWxlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdHlsZSIpLnNoZWV0
LmNzc1J1bGVzOwordGVzdChmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLmxl
bmd0aCwgMTMpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxl
c1swXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMF07CisgICAgYXNzZXJ0X2VxdWFs
cyh0ZXh0LmluZGV4T2YoImZvbnQtZmFtaWx5IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuZm9udEZhbWlseSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRl
eHQgPSBydWxlc1sxXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMV07CisgICAgYXNz
ZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQtZmFtaWx5IiksIC0xKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgbGV0IHRleHQgPSBydWxlc1syXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMl07
CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQ6IiksIC0xKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgICAgbGV0IHRleHQgPSBydWxlc1szXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNb
M107CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7
CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7Cit9KTsKKwordGVzdChm
dW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzRdLmNzc1RleHQ7CisgICAgbGV0IHJ1
bGUgPSBydWxlc1s0XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxl
dHRlIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKK30p
OworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbNV0uY3NzVGV4dDsK
KyAgICBsZXQgcnVsZSA9IHJ1bGVzWzVdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9m
KCJiYXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0
ZSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s2
XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbNl07CisgICAgYXNzZXJ0X2VxdWFscyh0
ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxl
LmJhc2VQYWxldHRlLCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4
dCA9IHJ1bGVzWzddLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s3XTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2Vy
dF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxl
dCB0ZXh0ID0gcnVsZXNbOF0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzhdOworICAg
IGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAg
YXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgbGV0IHRleHQgPSBydWxlc1s5XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbOV07
CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzEwXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVs
ZXNbMTBdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIp
LCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVu
Y3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sxMV0uY3NzVGV4dDsKKyAgICBsZXQgcnVs
ZSA9IHJ1bGVzWzExXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUt
Y29sb3IiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0
ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTJdLmNzc1RleHQ7CisgICAg
bGV0IHJ1bGUgPSBydWxlc1sxMl07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92
ZXJyaWRlLWNvbG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9u
dC1wYWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0
dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjQ4MmZmYWYzNzRlMThi
Y2RmMjMwODgyOTYxZDkxMzFiOGQ1ZjE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9u
dC1wYWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMiBAQAorCitQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgMQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFs
ZXR0ZS12YWx1ZXMgMgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZv
bnQtcGFsZXR0ZS12YWx1ZXMgMworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNp
bmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6
IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExl
dmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNgorUEFTUyBDU1MgRm9udHMgTW9k
dWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNworUEFTUyBDU1MgRm9u
dHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgOAorUEFTUyBD
U1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgOQor
UEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgMTAKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0
dGUtdmFsdWVzIDExCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9u
dC1wYWxldHRlLXZhbHVlcyAxMgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNp
bmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTMKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0
OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE0CitQQVNTIENTUyBGb250cyBNb2R1bGUg
TGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNQorUEFTUyBDU1MgRm9udHMg
TW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTYKK1BBU1MgQ1NT
IEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE3CitQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cyAxOAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgMTkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12
YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM2Nzc0ZWZiYjE0OTMxZWJmNTA4MDhjM2NiMzVmYmZmOGExMzc5YjgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwKQEAgLTAs
MCArMSwyMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZv
bnQtcGFsZXR0ZS12YWx1ZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLyNmb250LXBhbGV0dGUtdmFsdWVzIj4KKzxtZXRh
IG5hbWU9ImFzc2VydCIgY29udGVudD0iQGZvbnQtcGFsZXR0ZS12YWx1ZXMgaXMgcGFyc2VkIGNv
cnJlY3RseS4iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHN0eWxlIGlkPSJzdHlsZSI+CisvKiAwICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBB
IHsKK30KKworLyogMSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQiB7CisgICAgZm9udC13ZWln
aHQ6IDQwMDsKK30KKworLyogMiAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQyB7CisgICAgZm9u
dC1mYW1pbHk6IGZvbzsKKyAgICBmb250LWZhbWlseTogYmFyOworICAgIGJhc2UtcGFsZXR0ZTog
MTsKKyAgICBiYXNlLXBhbGV0dGU6ICJiYXoiOworICAgIGJhc2UtcGFsZXR0ZTogMjsKKyAgICBv
dmVycmlkZS1jb2xvcjogImEiICMxMjM7CisgICAgb3ZlcnJpZGUtY29sb3I6IDMgIzEyMzsKKyAg
ICBvdmVycmlkZS1jb2xvcjogImIiICMxMjM7Cit9CisKKy8qIDMgKi8KK0Bmb250LXBhbGV0dGUt
dmFsdWVzIEQgeworICAgIGJhc2UtcGFsZXR0ZTogImZvbyI7CisgICAgYmFzZS1wYWxldHRlOiAx
OworICAgIGJhc2UtcGFsZXR0ZTogImJhciI7CisgICAgb3ZlcnJpZGUtY29sb3I6IDMgIzEyMzsK
KyAgICBvdmVycmlkZS1jb2xvcjogImJheiIgIzEyMzsKKyAgICBvdmVycmlkZS1jb2xvcjogNCAj
MTIzOworfQorCisvKiA0ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBFIHsKKyAgICBvdmVycmlk
ZS1jb2xvcjogMyByZ2IoMTcsIDM0LCA1MSk7CisgICAgb3ZlcnJpZGUtY29sb3I6IDMgcmdiKDY4
LCA4NSwgMTAyKTsKK30KKworLyogNSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgRiB7CisgICAg
Zm9udC1mYW1pbHk6ICJmb28iOworfQorCisvKiA2ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBH
IHsKKyAgICBvdmVycmlkZS1jb2xvcjogMyByZ2IoMTcsIDM0LCA1MSksIDQgcmdiKDY4LCA4NSwg
MTAyKTsKK30KKworLyogNyAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSCB7CisgICAgb3ZlcnJp
ZGUtY29sb3I6IDMgcmdiKDE3LCAzNCwgNTEpLCAzIHJnYig2OCwgODUsIDEwMik7Cit9CisKKy8q
IDggKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEkgeworICAgIGJhc2UtcGFsZXR0ZTogLTM7Cit9
CisKKy8qIDkgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEogeworICAgIG92ZXJyaWRlLWNvbG9y
OiAtMyByZ2IoMTcsIDM0LCA1MSk7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0PgorbGV0IHJ1bGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0eWxlIikuc2hlZXQu
Y3NzUnVsZXM7Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMF0uY3Nz
VGV4dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIkBmb250LXBhbGV0dGUt
dmFsdWVzICIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCIgQSAi
KSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigieyIpLCAtMSk7Cisg
ICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJ9IiksIC0xKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHkiKSwgLTEpOworICAgIGFzc2VydF9lcXVh
bHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMo
dGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzBdOworICAgIGFzc2VydF9lcXVhbHMocnVsZS50
eXBlLCBDU1NSdWxlLkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLmNvbnN0cnVjdG9yLm5hbWUsICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsK
K30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMV0uY3NzVGV4
dDsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC13ZWlnaHQiKSwgLTEpOwor
fSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxXTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30p
OworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMl0uY3NzVGV4dDsK
KyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHk6IGZvbzsiKSwgLTEp
OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHk6IGJhcjsi
KSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6IDE7
IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiBc
ImJhelwiIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2Ut
cGFsZXR0ZTogMjsiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVy
cmlkZS1jb2xvcjogXCJhXCIiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9m
KCJvdmVycmlkZS1jb2xvcjogMyIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5p
bmRleE9mKCJvdmVycmlkZS1jb2xvcjogXCJiXCIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1syXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUu
Zm9udEZhbWlseSwgImJhciIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwg
IjIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzNdLmNzc1RleHQ7CisgICAgYXNzZXJ0X2Vx
dWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZTogXCJmb29cIjsiKSwgLTEpOworICAgIGFz
c2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6IDEiKSwgLTEpOworICAgIGFz
c2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiBcImJhclwiOyIpLCAt
MSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiAzIiks
IC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3I6IFwi
YmF6XCIiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJp
ZGUtY29sb3I6IDQiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1
bGUgPSBydWxlc1szXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgImJhciIpOworICAgIGFzc2VydF9l
cXVhbHMocnVsZS5zaXplLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDcpLCB1bmRl
ZmluZWQpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDQpLmluZGV4T2YoInJnYiIp
LCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzRd
LmNzc1RleHQ7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIjUxIiksIC0xKTsKKyAg
ICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjEwMiIpLCAtMSk7Cit9KTsKKwordGVz
dChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzRdOworICAgIGFzc2VydF9lcXVh
bHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxl
dHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOworICAgIGFzc2VydF9l
cXVhbHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMocnVs
ZS5nZXQoMykuaW5kZXhPZigiMTAyIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICAgIGxldCB0ZXh0ID0gcnVsZXNbNV0uY3NzVGV4dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0
ZXh0LmluZGV4T2YoImZvbyIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBs
ZXQgcnVsZSA9IHJ1bGVzWzVdOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAi
Zm9vIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNz
ZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
bGV0IHRleHQgPSBydWxlc1s2XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQu
aW5kZXhPZigiNTEiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigi
MTAyIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVs
ZXNbNl07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUu
c2l6ZSwgMik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsKKyAg
ICBhc3NlcnRfbm90X2VxdWFscyhydWxlLmdldCgzKS5pbmRleE9mKCI1MSIpLCAtMSk7CisgICAg
YXNzZXJ0X25vdF9lcXVhbHMocnVsZS5nZXQoNCkuaW5kZXhPZigiMTAyIiksIC0xKTsKK30pOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbN10uY3NzVGV4dDsKKyAg
ICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjUxIiksIC0xKTsKKyAgICBhc3NlcnRf
bm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjEwMiIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzddOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5m
b250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7
CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOworICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5nZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMocnVsZS5nZXQoMyku
aW5kZXhPZigiMTAyIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDQpLCB1bmRl
ZmluZWQpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s4
XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxl
dHRlIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVs
ZXNbOF07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICItMyIpOworICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVs
ZXNbOV0uY3NzVGV4dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJy
aWRlLWNvbG9yIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxl
ID0gcnVsZXNbOV07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHJ1bGUuc2l6ZSwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVk
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KC0zKSwgdW5kZWZpbmVkKTsKK30pOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438555</attachid>
            <date>2021-09-18 02:04:49 -0700</date>
            <delta_ts>2021-09-20 15:58:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230337-20210918020448.patch</filename>
            <type>text/plain</type>
            <size>89892</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDBlYzhlMzZmZTU5YTUx
YTRlYzAwMmZhNDljYjU4ODRhMzkyMWQ2OC4uMjRiNzMwZTU5ZTM4M2E3Nzk4NjEwNTlkYTg0Mjhh
NzMxMzM3ZDRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkyIEBACisyMDIxLTA5LTE4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUGFyc2luZyBz
dXBwb3J0IGZvciBmb250LXBhbGV0dGUtdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSdzIG5vdGhpbmcgcGFydGljdWxhcmx5IGludGVy
ZXN0aW5nIGhlcmUgLSBpdCdzIGp1c3Qgc3VwcG9ydCBmb3IgYW5vdGhlciBhdC1ydWxlLgorICAg
ICAgICBJJ3ZlIGltcGxlbWVudGVkIHdoYXQncyBpbiB0aGUgc3BlYyByaWdodCBub3cuCisKKyAg
ICAgICAgVGhlcmUgYXJlIDIgbmV3IGRlc2NyaXB0b3JzOiBiYXNlLXBhbGV0dGUgYW5kIG92ZXJy
aWRlLWNvbG9yLiBJJ3ZlIGFkZGVkIGEgbmV3IENTU1ZhbHVlIHN1YmNsYXNzCisgICAgICAgIGZv
ciBlYWNoIG9mIHRoZSBpdGVtcyBpbiB0aGUgb3ZlcnJpZGUtY29sb3IgbGlzdCAtIHRoZXNlIGl0
ZW1zIGFyZSBqdXN0IHR1cGxlcyBvZiB0d28KKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWVzLiBJ
IGNvdWxkIGhhdmUgZG9uZSB0aGlzIHdpdGggYSBDU1NWYWx1ZUxpc3Qgd2hpY2ggYWx3YXlzIGp1
c3QgaGFwcGVucyB0byBoYXZlCisgICAgICAgIGEgbGVuZ3RoIG9mIDIsIGJ1dCBJIHRob3VnaHQg
dGhhdCB3YXMgbGVzcyBlbGVnYW50IChhbmQgaGFzIGFuIGV4dHJhIHBvaW50ZXIgaW5kaXJlY3Rp
b24pIHRoYW4KKyAgICAgICAgbWFraW5nIGEgY2xhc3MgdG8gaG9sZCB0aGUgdHdvIENTU1ByaW1p
dGl2ZVZhbHVlcy4KKworICAgICAgICBBbHNvLCBzb21lIG9mIG91ciBTdHlsZVJ1bGVzIGhhZCB0
aGUgd3Jvbmcgd2ViLWV4cG9zZWQgVHlwZSBjb25zdGFudCwgc28gSSBmaXhlZCB0aGF0IHRvbywg
YmVjYXVzZQorICAgICAgICB0aGlzIHBhdGNoIGFkZHMgYSBuZXcgU3R5bGVSdWxlIGFuZCBpdCBu
ZWVkcyB0byBoYXZlIHRoZSBjb3JyZWN0IFR5cGUuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtaW52YWxpZC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZh
bGlkLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBI
ZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0NTU1J1
bGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU05ld2x5Q3JlYXRlZCk6CisgICAg
ICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZSk6Cisg
ICAgICAgICogY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlOjpjdXN0b21D
U1NUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzT3Zl
cnJpZGVDb2xvclZhbHVlOjplcXVhbHMgY29uc3QpOgorICAgICAgICAqIGNzcy9DU1NGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSdWxlVHlwZS5oLgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6fkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmZvbnRGYW1pbHkgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpiYXNlUGFsZXR0ZSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnNldEZv
bnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpz
ZXRCYXNlUGFsZXR0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGU6OmluaXRpYWxpemVNYXBMaWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZTo6c2V0RnJvbU1hcExpa2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGU6OmNzc1RleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpyZWF0dGFjaCk6CisgICAgICAgICogY3NzL0NTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlVHlwZS5o
LgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsOiBBZGRlZC4KKyAg
ICAgICAgKiBjc3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAgICAgICAqIGNzcy9DU1NSdWxlLmNw
cDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgorICAgICAgICAqIGNzcy9DU1NSdWxlLmlkbDoK
KyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6
OmVxdWFscyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Y3NzVGV4dCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAgICAgICogY3Nz
L0NTU1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNGb250UGFsZXR0ZVZh
bHVlc092ZXJyaWRlQ29sb3JWYWx1ZSBjb25zdCk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KToKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVl
cyk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlQmFzZTo6aXNGb250UGFsZXR0ZVZhbHVlc1J1bGUgY29uc3QpOgorICAgICAgICAoaXNUeXBl
KToKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlVHlwZS5oOgorICAgICAgICAqIGNzcy9TdHlsZVNo
ZWV0Q29udGVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJhdmVyc2VSdWxlc0luVmVjdG9y
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXRDb250ZW50czo6dHJhdmVyc2VTdWJyZXNv
dXJjZXMgY29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y3NzQXRSdWxlSUQpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTQXRS
dWxlSUQuaDoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6Y29uc3VtZUF0UnVsZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXJJbXBsOjpjb25zdW1lRm9udFBhbGV0dGVWYWx1ZXNSdWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVEZWNsYXJhdGlvbik6CisgICAgICAg
ICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmg6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQ
cm9wZXJ0eVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6
cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lQmFzZVBhbGV0dGVEZXNjcmlw
dG9yKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVPdmVycmlkZUNvbG9yRGVzY3JpcHRvcik6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VGb250UGFsZXR0ZVZh
bHVlc0Rlc2NyaXB0b3IpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIu
aDoKKwogMjAyMS0wOS0xNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXBsYWNlIGFsbCB0aGUgY29tcGxleCBtYXRoIGluIFNjcm9sbEFuaW1hdGlv
blNtb290aCB3aXRoIGEgc2luZ2xlIGNhbGwgaW50byBhIEN1YmljQmV6aWVyVGltaW5nRnVuY3Rp
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzM3ZmU2MDQ3YjIzYzAwMzMyMTNkOWQyNjYwYzhm
Y2IxMzQ4ZGMyOC4uYTQxMzJkZmI1Yjk2NmM0ODkxNTdkZTlhMTVlZjY2MmE3MGQ3NDU0OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTcwNSw2ICs3MDUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIGNzcy9DU1NDb25kaXRpb25SdWxlLmlkbAogICAgIGNzcy9DU1NDb3Vu
dGVyU3R5bGVSdWxlLmlkbAogICAgIGNzcy9DU1NGb250RmFjZVJ1bGUuaWRsCisgICAgY3NzL0NT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGwKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAog
ICAgIGNzcy9DU1NJbXBvcnRSdWxlLmlkbAogICAgIGNzcy9DU1NLZXlmcmFtZVJ1bGUuaWRsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA3
ZWYzOWZkYzM1YWVlMmEyM2QzZjZkYTYwNjc3MDE0N2U2ODlmNGVhLi5jZjJlOWFkY2NhZDBhZTE2
Njg3ODQ5OTU0NmQzY2Y3N2I5ZGM5NjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTY4Miw2ICs2ODIsNyBAQCAkKFBST0pFQ1RfRElS
KS9jcnlwdG8vcGFyYW1ldGVycy9Sc2FQc3NQYXJhbXMuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3Mv
Q1NTQ29uZGl0aW9uUnVsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NDb3VudGVyU3R5bGVS
dWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKKyQoUFJPSkVD
VF9ESVIpL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9j
c3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0ltcG9ydFJ1bGUu
aWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmlkbApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCAyN2ViZDhhOTI0
NzMzNTU1M2RhYjQ3N2ZiZjQ4ZjBkMGVlNWE1YmUwLi4xNmNjNDg3ZDRjMDJmNGRhOTdiYzNkYjIx
NDAzYWI0ZDczYzUyN2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdApAQCAtMzAwLDYgKzMwMCw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxl
UnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NT
U0ZvbnRGYWNlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
U1NHcm91cGluZ1J1bGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU0dyb3VwaW5nUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCA1Y2ZiYmE3ZjYxMDgxYjFkYTE4MGZhZTBjYWFlODgyNmQ2MWMzYzk3Li5k
MjAyNDNlZjg1NzdiZTM4NTUyODUxNTdkOWE2Zjc1NGU5NzU3ZjE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAwNi0yMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LTIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDYg
U2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAw
OSBDYW1lcm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTU3NSw2ICs1NzUsNyBA
QCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0NvbmRpdGlvblJ1
bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCisgICAgJChXZWJDb3JlKS9j
c3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NT
R3JvdXBpbmdSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0tleWZyYW1lUnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKaW5kZXggYmVmOTgzNmE2MDE0ODk3YmEwZjI4YmE2YzNlYTU3OGE2ZDRjZjEwMC4uYjA5NGUy
Mzg2MjA4YzRjYzVkNzQxZjJlNzUwOWFmNWE2ZThkY2E3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBA
IC0zNjYsNiArMzY2LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwog
ICAgIGNzcy9DU1NDb25kaXRpb25SdWxlLmgKICAgICBjc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1
ZS5oCiAgICAgY3NzL0NTU0ZvbnRGYWNlUnVsZS5oCisgICAgY3NzL0NTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZS5oCiAgICAgY3NzL0NTU0ZvbnRGYW1pbHkuaAogICAgIGNzcy9DU1NHcmlkSW50ZWdl
clJlcGVhdFZhbHVlLmgKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5k
ZXggNWFhZDBkOTNjMjliZmEzNTE1ZWVjNTljY2RhOTkxNjkyYzQzOTMwNC4uODMyOWZmNGEyMjc5
MWI1ZGIzM2I3OTMwYTQ5YzgzOGE2YzM5ZTVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTEsNCArMSw0
IEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY1OCw2ICs2NTgs
OCBAQCBjc3MvQ1NTRm9udEZhY2VTZXQuY3BwCiBjc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCiBj
c3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAKIGNzcy9DU1NGb250RmVhdHVyZVZhbHVlLmNwcAor
Y3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcAorY3NzL0NTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZS5jcHAKIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwCiBjc3MvQ1NT
Rm9udFN0eWxlUmFuZ2VWYWx1ZS5jcHAKIGNzcy9DU1NGb250U3R5bGVWYWx1ZS5jcHAKQEAgLTI4
MjIsNiArMjgyNCw3IEBAIEpTQ1NTQW5pbWF0aW9uLmNwcAogSlNDU1NDb25kaXRpb25SdWxlLmNw
cAogSlNDU1NDb3VudGVyU3R5bGVSdWxlLmNwcAogSlNDU1NGb250RmFjZVJ1bGUuY3BwCitKU0NT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAKIEpTQ1NTR3JvdXBpbmdSdWxlLmNwcAogSlNDU1NJ
bXBvcnRSdWxlLmNwcAogSlNDU1NLZXlmcmFtZVJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNjcxZTNkYTMwMjZiZTMy
MWRjNmFhYjc5YzYxNDI2YjI2MjhiZmJjNC4uNjQ5MjM0YTk4MmQ5YzY2MTE4MjcwOGYyMDFmYTI5
NmY2ZWM3ZWE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNjY0LDYgKzY2NCw3IEBACiAJCTFDRTg4NjQxMjYxMDVCRjIwMDBD
ODE2QyAvKiBJbk1lbW9yeURpc3BsYXlMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0U4ODYzRjI2MTA1QTVGMDAwQzgxNkMgLyogSW5NZW1vcnlE
aXNwbGF5TGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTFDRThEMTI3MjYxODVDMEUwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJ
ZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQ0U4RDEyNTI2MTg1QkQ4MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVtQnVmZmVySWRlbnRp
Zmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTFDRThEMTJFMjYxODYxQzQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0U4RDEyQzI2MTg2MTY0
MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTFDRUFBNTMyMjZGMzM2RkMwMDg2ODUwNyAvKiBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNFQUE1MzEyNkYzMzFDMTAwODY4NTA3IC8q
IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmggKi87IH07CiAJCTFDRkFF
MzIzMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5bGliIGluIEZyYW1ld29ya3MgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNGQUUzMjIwQTZENkEzRjAwMzI1OTNEIC8q
IGxpYm9iamMuZHlsaWIgKi87IH07CiAJCTFEMDAyNkE0MjM3NEQ2MjQwMENBNkNERiAvKiBKU1Bp
Y3R1cmVJblBpY3R1cmVXaW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFEMDAyNkEyMjM3NEQ2MjMwMENBNkNERiAvKiBKU1BpY3R1cmVJblBpY3R1
cmVXaW5kb3cuaCAqLzsgfTsKIAkJMUQwMDI2QUEyMzc0RjlFQTAwQ0E2Q0RGIC8qIEpTRW50ZXJQ
aWN0dXJlSW5QaWN0dXJlRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFEMDAyNkE4MjM3NEY5RDkwMENBNkNERiAvKiBKU0VudGVyUGljdHVyZUlu
UGljdHVyZUV2ZW50LmggKi87IH07CkBAIC03MDc2LDYgKzcwNzcsMTEgQEAKIAkJMUNFOEQxMjUy
NjE4NUJEODAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlbUJ1ZmZlcklkZW50aWZpZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRGlzcGxheUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQ0U4RDEyQjI2MTg2MTY0MDBGQzNBRUYgLyogRGlzcGxheUxp
c3RJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZXJhdG9yLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNFOEQxMkMyNjE4NjE2NDAwRkMzQUVG
IC8qIERpc3BsYXlMaXN0SXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzcGxheUxpc3RJdGVy
YXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VBQTUyQzI2RjMxQTNDMDA4
Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFDRUFBNTJEMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFDRUFBNTJGMjZGMzFBRjgwMDg2ODUwNyAvKiBDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUFBNTMwMjZGMzMxQzEwMDg2ODUwNyAvKiBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUFBNTMxMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQ0YwQkZENDIyOTg3MDY4MDBFRDIwNzQgLyogVGV4dFNpemVBZGp1c3RtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRleHRTaXplQWRqdXN0bWVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDRjE4RjNDMjZCQjVBRjIwMDRCMTcyMiAvKiBMb2dJbml0aWFs
aXphdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2dJbml0aWFsaXphdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRkFFMzIyMEE2RDZBM0YwMDMyNTkzRCAvKiBs
aWJvYmpjLmR5bGliICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gImNvbXBpbGVkLm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJvYmpjLmR5bGliOyBwYXRo
ID0gL3Vzci9saWIvbGlib2JqYy5keWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsK
QEAgLTI5NTg0LDYgKzI5NTkwLDExIEBACiAJCQkJODM1MjBDN0QxQTcxQkZDQzAwNkJEMkFBIC8q
IENTU0ZvbnRGYW1pbHkuaCAqLywKIAkJCQk0QTZFOUZDMTEzQzE3RDFEMDA0NkE3RjggLyogQ1NT
Rm9udEZlYXR1cmVWYWx1ZS5jcHAgKi8sCiAJCQkJNEE2RTlGQzIxM0MxN0QxRDAwNDZBN0Y4IC8q
IENTU0ZvbnRGZWF0dXJlVmFsdWUuaCAqLywKKwkJCQkxQ0VBQTUzMDI2RjMzMUMxMDA4Njg1MDcg
LyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwICovLAorCQkJCTFD
RUFBNTMxMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29s
b3JWYWx1ZS5oICovLAorCQkJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUuY3BwICovLAorCQkJCTFDRUFBNTJEMjZGMzFBM0MwMDg2ODUwNyAvKiBD
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCAqLywKKwkJCQkxQ0VBQTUyRjI2RjMxQUY4MDA4Njg1
MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCAqLywKIAkJCQlCQzY0QjREMzBDQjQy
OThBMDA1RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmNwcCAqLywKIAkJCQlCQzY0QjRENDBDQjQy
OThBMDA1RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmggKi8sCiAJCQkJQzJFMzhFRkYxRTg0NTcz
NTAwQ0EzQURGIC8qIENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuY3BwICovLApAQCAtMzE5NTgsNiAr
MzE5NjksNyBAQAogCQkJCUJDNjRCNERBMENCNDI5OEEwMDVGMkI2MiAvKiBDU1NGb250RmFjZVNy
Y1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzUyMEM3RTFBNzFCRkNDMDA2QkQyQUEgLyog
Q1NTRm9udEZhbWlseS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE2RTlGQzQxM0MxN0QxRDAwNDZB
N0Y4IC8qIENTU0ZvbnRGZWF0dXJlVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTFDRUFBNTMy
MjZGMzM2RkMwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2NEI0REMwQ0I0Mjk4QTAwNUYyQjYyIC8qIENTU0Zv
bnRTZWxlY3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJFMzhGMDIxRTg0NTczNTAwQ0EzQURG
IC8qIENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyRTM4RUZF
MUU4Mzk2RkQwMENBM0FERiAvKiBDU1NGb250U3R5bGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAppbmRleCA3
NTBlMDBjMzg3ZmJkMjc4ZTU4NWZlYzZiZDM0ZDIwNTA3MWNjNWQzLi44YzRjNTYxNWEzOWY3MTM5
NWQ3ZGM3ZTliOGZlNzlmNjE5N2M5MjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkNT
U0NvdW50ZXJTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNs
dWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxl
LmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVz
UnVsZS5oIgpAQCAtMzgsNiArMzksNyBAQAogI2luY2x1ZGUgIkNTU1N1cHBvcnRzUnVsZS5oIgog
I2luY2x1ZGUgIkpTQ1NTQ291bnRlclN0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTRm9udEZh
Y2VSdWxlLmgiCisjaW5jbHVkZSAiSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNs
dWRlICJKU0NTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU0tleWZyYW1lUnVsZS5oIgog
I2luY2x1ZGUgIkpTQ1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtNzAsNiArNzIsOCBAQCBKU1ZhbHVl
IHRvSlNOZXdseUNyZWF0ZWQoSlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBSZWY8QwogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NNZWRpYVJ1
bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxlOjpGT05U
X0ZBQ0VfUlVMRToKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTRm9udEZhY2VSdWxl
PihnbG9iYWxPYmplY3QsIFdURk1vdmUocnVsZSkpOworICAgIGNhc2UgQ1NTUnVsZTo6Rk9OVF9Q
QUxFVFRFX1ZBTFVFU19SVUxFOgorICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2Fz
ZSBDU1NSdWxlOjpQQUdFX1JVTEU6CiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1Bh
Z2VSdWxlPihnbG9iYWxPYmplY3QsIFdURk1vdmUocnVsZSkpOwogICAgIGNhc2UgQ1NTUnVsZTo6
SU1QT1JUX1JVTEU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCmluZGV4IDY0Y2ExZmNiMmJkYTFmMzNlZjM5OWNhMDcwYmIxOTQyY2Q0
Y2ZkZTYuLjI4MDVjODliNDhjMTkzODQwYWZmMDgwZmNjNDI2ODhjZTMyNjhkZjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBA
IC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNCBaYWNrIFJ1c2luIDx6YWNr
QGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtv
diA8YXBAd2Via2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwNyBOaWNob2xhcyBTaGFua3Mg
PHdlYmtpdEBuaWNrc2hhbmtzLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAxMSBTZW5jaGEsIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTQwNTQsNiArNDA1NCwxMSBAQCBSZWZQdHI8Q1NT
VmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNv
bnN0IFJlbmRlclN0eQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udERpc3BsYXk6CiAgICAg
ICAgICAgICBicmVhazsKIAorICAgICAgICAvKiBVbmltcGxlbWVudGVkIEBmb250LXBhbGV0dGUt
dmFsdWVzIHByb3BlcnRpZXMgKi8KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhc2VQYWxldHRl
OgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3ZlcnJpZGVDb2xvcjoKKyAgICAgICAgICAgIGJy
ZWFrOworCiAgICAgICAgIC8qIE90aGVyIHVuaW1wbGVtZW50ZWQgcHJvcGVydGllcyAqLwogICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5UGFnZTogLy8gZm9yIEBwYWdlCiAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlTaXplOiAvLyBmb3IgQHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM2ZDQ2YzJhMTFmYWJmZDFmMjc1MDdmNGIzMzMxMzdlNjY0YjdmM2UKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlk
ZUNvbG9yVmFsdWUuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU6OmN1
c3RvbUNTU1RleHQoKSBjb25zdAoreworICAgIHJldHVybiBtYWtlU3RyaW5nKG1fa2V5LT5jc3NU
ZXh0KCksICIgIiwgbV9jb2xvci0+Y3NzVGV4dCgpKTsKK30KKworYm9vbCBDU1NGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlJiBvdGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9rZXkt
PmVxdWFscyhvdGhlci5rZXkoKSkgJiYgbV9jb2xvci0+ZXF1YWxzKG90aGVyLmNvbG9yKCkpOwor
fQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1
ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3MTkwYmJjOTI3MDJkYjNh
Njk5MGE3Yzk4YWVhZjIxNDRiZjZmN2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaApAQCAtMCwwICsx
LDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgiCisjaW5jbHVk
ZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVkRm9udDsKK2NsYXNzIEZvbnRMb2FkUmVx
dWVzdDsKK2NsYXNzIFNWR0ZvbnRGYWNlRWxlbWVudDsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ7CisKK2NsYXNzIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlIGZp
bmFsIDogcHVibGljIENTU1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENTU0ZvbnRQ
YWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPiBjcmVhdGUoUmVmPENTU1ByaW1pdGl2ZVZh
bHVlPiYmIGtleSwgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIGNvbG9yKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9y
VmFsdWUoV1RGTW92ZShrZXkpLCBXVEZNb3ZlKGNvbG9yKSkpOworICAgIH0KKworICAgIGNvbnN0
IENTU1ByaW1pdGl2ZVZhbHVlJiBrZXkoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1f
a2V5LmdldCgpOworICAgIH0KKworICAgIGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBjb2xvcigp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9jb2xvci5nZXQoKTsKKyAgICB9CisKKyAg
ICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OworCisgICAgYm9vbCBlcXVhbHMoY29uc3Qg
Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUmKSBjb25zdDsKKworcHJpdmF0
ZToKKyAgICBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZShSZWY8Q1NTUHJp
bWl0aXZlVmFsdWU+JiYga2V5LCBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYgY29sb3IpCisgICAg
ICAgIDogQ1NTVmFsdWUoRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3MpCisgICAg
ICAgICwgbV9rZXkoV1RGTW92ZShrZXkpKQorICAgICAgICAsIG1fY29sb3IoV1RGTW92ZShjb2xv
cikpCisgICAgeworICAgIH0KKworICAgIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9rZXk7Cisg
ICAgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiBtX2NvbG9yOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19WQUxVRShDU1NGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSwgaXNGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29s
b3JWYWx1ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hOGNjNzQxNTkxMTg5Y2I2OGNlM2MyOWMwYTBhZTE0OGM5OTFi
NTE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5jcHAKQEAgLTAsMCArMSwxMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlLmgiCisKKyNpbmNsdWRlICJDb2xvclNlcmlhbGl6YXRpb24u
aCIKKyNpbmNsdWRlICJKU0RPTU1hcExpa2UuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNldENTU1N0
eWxlRGVjbGFyYXRpb24uaCIKKyNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRl
ICJTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIGZvbnRQYWxldHRlVmFs
dWVzUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KQorICAgIDogQ1NTUnVsZShwYXJlbnQpCisg
ICAgLCBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZShmb250UGFsZXR0ZVZhbHVlc1J1bGUpCit7Cit9
CisKK0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6fkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgp
Cit7Cit9CisKK1N0cmluZyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmZvbnRGYW1pbHkoKSBj
b25zdAoreworICAgIHJldHVybiBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+Zm9udEZhbWlseSgp
OworfQorCitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpiYXNlUGFsZXR0ZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24obV9mb250UGFsZXR0ZVZhbHVlc1J1bGUt
PmJhc2VQYWxldHRlKCksIFsmXShpbnQ2NF90IGluZGV4KSB7CisgICAgICAgIHJldHVybiBtYWtl
U3RyaW5nKGluZGV4KTsKKyAgICB9LCBbJl0oY29uc3QgQXRvbVN0cmluZyYgYmFzZVBhbGV0dGUp
IC0+IFN0cmluZyB7CisgICAgICAgIGlmICghYmFzZVBhbGV0dGUuaXNOdWxsKCkpCisgICAgICAg
ICAgICByZXR1cm4gYmFzZVBhbGV0dGUuc3RyaW5nKCk7CisgICAgICAgIHJldHVybiBTdHJpbmdJ
bXBsOjplbXB0eSgpOworICAgIH0pOworfQorCit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZTo6c2V0Rm9udEZhbWlseShTdHJpbmcmJiBmb250RmFtaWx5KQoreworICAgIFVOVVNFRF9QQVJB
TShmb250RmFtaWx5KTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMuCit9CisKK3ZvaWQg
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpzZXRCYXNlUGFsZXR0ZShTdHJpbmcmJiBiYXNlUGFs
ZXR0ZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oYmFzZVBhbGV0dGUpOworICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgdGhpcy4KK30KKwordm9pZCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmluaXRp
YWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXImIG1hcCkKK3sKKyAgICBmb3IgKGF1dG8mIHBhaXIg
OiBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+b3ZlcnJpZGVDb2xvcigpKSB7CisgICAgICAgIGlm
ICghV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxpbnQ2NF90PihwYWlyLmZpcnN0KSkKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICBtYXAuc2V0PElETFVuc2lnbmVkTG9uZywgSURMVVNWU3Ry
aW5nPihXVEY6OmdldDxpbnQ2NF90PihwYWlyLmZpcnN0KSwgc2VyaWFsaXphdGlvbkZvckNTUyhw
YWlyLnNlY29uZCkpOworICAgIH0KK30KKwordm9pZCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6
OnNldEZyb21NYXBMaWtlKHVuc2lnbmVkIGtleSwgU3RyaW5nJiYgdmFsdWUpCit7CisgICAgVU5V
U0VEX1BBUkFNKGtleSk7CisgICAgVU5VU0VEX1BBUkFNKHZhbHVlKTsKKyAgICAvLyBGSVhNRTog
SW1wbGVtZW50IHRoaXMuCit9CisKK3ZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjbGVh
cigpCit7CisgICAgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmNsZWFyT3ZlcnJpZGVDb2xvcigp
OworfQorCitib29sIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6cmVtb3ZlKHVuc2lnbmVkIGtl
eSkKK3sKKyAgICByZXR1cm4gbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPnJlbW92ZShrZXkpOwor
fQorCitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjc3NUZXh0KCkgY29uc3QKK3sK
KyAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CisgICAgYnVpbGRlci5hcHBlbmQoIkBmb250LXBh
bGV0dGUtdmFsdWVzICIsIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5uYW1lKCksICIgeyAiKTsK
KyAgICBpZiAoIW1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5mb250RmFtaWx5KCkuaXNOdWxsKCkp
CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJmb250LWZhbWlseTogIiwgbV9mb250UGFsZXR0ZVZh
bHVlc1J1bGUtPmZvbnRGYW1pbHkoKSwgIjsgIik7CisgICAgV1RGOjpzd2l0Y2hPbihtX2ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwgWyZdKGludDY0X3QgaW5kZXgpIHsKKyAg
ICAgICAgYnVpbGRlci5hcHBlbmQoImJhc2UtcGFsZXR0ZTogIiwgaW5kZXgsICI7ICIpOworICAg
IH0sIFsmXShjb25zdCBBdG9tU3RyaW5nJiBiYXNlUGFsZXR0ZSkgeworICAgICAgICBpZiAoIWJh
c2VQYWxldHRlLmlzTnVsbCgpKQorICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoImJhc2UtcGFs
ZXR0ZTogIiwgc2VyaWFsaXplU3RyaW5nKGJhc2VQYWxldHRlLnN0cmluZygpKSwgIjsgIik7Cisg
ICAgfSk7CisgICAgaWYgKCFtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+b3ZlcnJpZGVDb2xvcigp
LmlzRW1wdHkoKSkgeworICAgICAgICBidWlsZGVyLmFwcGVuZCgib3ZlcnJpZGUtY29sb3I6Iik7
CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUt
Pm92ZXJyaWRlQ29sb3IoKS5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgaWYgKGkpCisgICAg
ICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJywnKTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBw
ZW5kKCcgJyk7CisgICAgICAgICAgICBXVEY6OnN3aXRjaE9uKG1fZm9udFBhbGV0dGVWYWx1ZXNS
dWxlLT5vdmVycmlkZUNvbG9yKClbaV0uZmlyc3QsIFsmXShjb25zdCBBdG9tU3RyaW5nJiBuYW1l
KSB7CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoc2VyaWFsaXplU3RyaW5nKG5hbWUu
c3RyaW5nKCkpKTsKKyAgICAgICAgICAgIH0sIFsmXShpbnQ2NF90IGluZGV4KSB7CisgICAgICAg
ICAgICAgICAgYnVpbGRlci5hcHBlbmQoaW5kZXgpOworICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICBidWlsZGVyLmFwcGVuZCgnICcsIHNlcmlhbGl6YXRpb25Gb3JDU1MobV9mb250UGFsZXR0
ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29sb3IoKVtpXS5zZWNvbmQpKTsKKyAgICAgICAgfQorICAg
ICAgICBidWlsZGVyLmFwcGVuZCgiOyAiKTsKKyAgICB9CisgICAgYnVpbGRlci5hcHBlbmQoIn0i
KTsKKyAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOworfQorCit2b2lkIENTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFzZSYgcnVsZSkKK3sKKyAgICBtX2Zv
bnRQYWxldHRlVmFsdWVzUnVsZSA9IHN0YXRpY19jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFs
dWVzJj4ocnVsZSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYWFmZjk0MGJm
YTA3OWUyODg0YTQ3NzkyNGQzNGEyNWZjY2Q2MThmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCkBAIC0wLDAgKzEsNjYgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2luY2x1ZGUgIkNTU1J1bGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBDU1NTdHlsZURlY2xhcmF0aW9uOworY2xhc3MgRE9NTWFwQWRhcHRlcjsKK2NsYXNzIFN0eWxl
UnVsZUZvbnRGYWNlOworY2xhc3MgU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjsKKworY2xh
c3MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGZpbmFsIDogcHVibGljIENTU1J1bGUgeworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlPiBjcmVhdGUoU3R5
bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KSB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZShydWxlLCBzaGVldCkp
OyB9CisKKyAgICB2aXJ0dWFsIH5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoKTsKKworICAgIFN0
cmluZyBmb250RmFtaWx5KCkgY29uc3Q7CisgICAgU3RyaW5nIGJhc2VQYWxldHRlKCkgY29uc3Q7
CisKKyAgICB2b2lkIHNldEZvbnRGYW1pbHkoU3RyaW5nJiYpOworICAgIHZvaWQgc2V0QmFzZVBh
bGV0dGUoU3RyaW5nJiYpOworCisgICAgdm9pZCBpbml0aWFsaXplTWFwTGlrZShET01NYXBBZGFw
dGVyJik7CisgICAgdm9pZCBzZXRGcm9tTWFwTGlrZSh1bnNpZ25lZCBrZXksIFN0cmluZyYmIHZh
bHVlKTsKKyAgICB2b2lkIGNsZWFyKCk7CisgICAgYm9vbCByZW1vdmUodW5zaWduZWQga2V5KTsK
KworcHJpdmF0ZToKKyAgICBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoU3R5bGVSdWxlRm9udFBh
bGV0dGVWYWx1ZXMmLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpOworCisgICAgQ1NTUnVsZTo6VHlw
ZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFOyB9
CisgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHJlYXR0YWNoKFN0
eWxlUnVsZUJhc2UmKSBmaW5hbDsKKworICAgIFJlZjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVl
cz4gbV9mb250UGFsZXR0ZVZhbHVlc1J1bGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUoQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlLCBDU1NSdWxlOjpGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxNWY2MTIx
NzIzMjhlMDlmNzNlZTU5NjA3MGRiZGRkNDgyMjQyNTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbApAQCAtMCwwICsxLDI5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisg
Ki8KKwordHlwZWRlZiBVU1ZTdHJpbmcgQ1NTT01TdHJpbmc7CisKK1sKKyAgICBFeHBvc2VkPVdp
bmRvdworXSBpbnRlcmZhY2UgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIDogQ1NTUnVsZSB7Cisg
ICAgbWFwbGlrZTx1bnNpZ25lZCBsb25nLCBDU1NPTVN0cmluZz47CisgICAgYXR0cmlidXRlIENT
U09NU3RyaW5nIGZvbnRGYW1pbHk7CisgICAgYXR0cmlidXRlIENTU09NU3RyaW5nIGJhc2VQYWxl
dHRlOworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMu
anNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXggYThiYzg5
NWY2M2MwMjU3MTA0ZGQzYzQ4YzgxNjE0YjkxYWE1MDY5Yi4uZDQxMTdhZjk3MjhiYjY0YmY0N2M5
MDZjNWYxZTBkMTJiYzg0NDc3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29u
CkBAIC00MDc1LDYgKzQwNzUsMjYgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8v
d3d3LnczLm9yZy9UUi9jc3MtZm9udHMtMy8jc3JjLWRlc2MiCiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0sCisgICAgICAgICJiYXNlLXBhbGV0dGUiOiB7CisgICAgICAgICAgICAiY29kZWdlbi1w
cm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlLAorICAg
ICAgICAgICAgICAgICJkZXNjcmlwdG9yLW9ubHkiOiB0cnVlCisgICAgICAgICAgICB9LAorICAg
ICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5Ijog
ImNzcy1mb250cyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLWZvbnRzLTQvI2Jhc2UtcGFsZXR0ZS1kZXNjIgorICAgICAgICAgICAgfQorICAg
ICAgICB9LAorICAgICAgICAib3ZlcnJpZGUtY29sb3IiOiB7CisgICAgICAgICAgICAiY29kZWdl
bi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlLAor
ICAgICAgICAgICAgICAgICJkZXNjcmlwdG9yLW9ubHkiOiB0cnVlCisgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5
IjogImNzcy1mb250cyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWZvbnRzLTQvI292ZXJyaWRlLWNvbG9yIgorICAgICAgICAgICAgfQorICAg
ICAgICB9LAogICAgICAgICAic3RvcC1jb2xvciI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXBy
b3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgImNvbnZlcnRlciI6ICJTVkdDb2xvciIsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5jcHAKaW5kZXggMGYzYzQzOTRkOTVlMjM3MDZlNDhmNGUyOWFmYjQ4NGZi
ZmRjMzgwMi4uZWQ1ZDg2MGZkMjM3YzVmZGE0OTYzOTgyZjI3NGIxYjZkZTg1ZGY2MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NSdWxlLmNwcApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExh
cnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAo
bXVlbGxlckBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2LCAyMDA3
LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwMiAtIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC00NSw5ICs0NSwxNyBAQCBDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpG
b250RmFjZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeQogQ09NUElM
RV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6UGFnZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBl
PihDU1NSdWxlOjpUeXBlOjpQQUdFX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElM
RV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWVzID09IHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVR5cGU+KENTU1J1bGU6OlR5cGU6OktFWUZSQU1FU19SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNo
KTsKIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OktleWZyYW1lID09IHN0YXRpY19jYXN0
PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6OktFWUZSQU1FX1JVTEUpLCBlbnVtc19zaG91
bGRfbWF0Y2gpOworQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6TWFyZ2luID09IHN0YXRp
Y19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6Ok1BUkdJTl9SVUxFKSwgZW51bXNf
c2hvdWxkX21hdGNoKTsKIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6Ok5hbWVzcGFjZSA9
PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpOQU1FU1BBQ0VfUlVM
RSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CiBDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpD
b3VudGVyU3R5bGUgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6
Q09VTlRFUl9TVFlMRV9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKIENPTVBJTEVfQVNTRVJU
KFN0eWxlUnVsZVR5cGU6OlN1cHBvcnRzID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENT
U1J1bGU6OlR5cGU6OlNVUFBPUlRTX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOworQ09NUElM
RV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6RG9jdW1lbnQgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxl
VHlwZT4oQ1NTUnVsZTo6VHlwZTo6RE9DVU1FTlRfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7
CitDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpGb250RmVhdHVyZVZhbHVlcyA9PSBzdGF0
aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpGT05UX0ZFQVRVUkVfVkFMVUVT
X1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOworQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlw
ZTo6Vmlld3BvcnQgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6
VklFV1BPUlRfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CitDT01QSUxFX0FTU0VSVChTdHls
ZVJ1bGVUeXBlOjpSZWdpb25TdHlsZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NS
dWxlOjpUeXBlOjpSRUdJT05fU1RZTEVfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CitDT01Q
SUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpDdXN0b21NZWRpYSA9PSBzdGF0aWNfY2FzdDxTdHls
ZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpDVVNUT01fTUVESUFfUlVMRSksIGVudW1zX3Nob3Vs
ZF9tYXRjaCk7CitDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpQcm9wZXJ0eSA9PSBzdGF0
aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpQUk9QRVJUWV9SVUxFKSwgZW51
bXNfc2hvdWxkX21hdGNoKTsKK0NPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxl
dHRlVmFsdWVzID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6OkZP
TlRfUEFMRVRURV9WQUxVRVNfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CiAKIEV4Y2VwdGlv
bk9yPHZvaWQ+IENTU1J1bGU6OnNldENzc1RleHQoY29uc3QgU3RyaW5nJikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UnVsZS5oCmluZGV4IDdlZmIzYTE3YmU0YjQzMTFkNDUwNjAyY2Q3MTgwYjQxNjAzY2Y3MTQuLmJj
NDkyNmI4NDA4NDhmZTE5NTZkNjg2YjQ1OWEzNWU5MjE4ZmE0ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUu
aApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xs
QGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3Jn
KQotICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEFuZHJlYXMgS2xpbmcgKGtsaW5nQHdlYmtp
dC5vcmcpCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMzgsMTkgKzM4LDI3IEBAIHB1YmxpYzoKIAogICAgIC8v
IFdlYklETCBlbnVtCiAgICAgZW51bSBUeXBlIHsKLSAgICAgICAgVU5LTk9XTl9SVUxFLAotICAg
ICAgICBTVFlMRV9SVUxFLAotICAgICAgICBDSEFSU0VUX1JVTEUsCi0gICAgICAgIElNUE9SVF9S
VUxFLAotICAgICAgICBNRURJQV9SVUxFLAotICAgICAgICBGT05UX0ZBQ0VfUlVMRSwKLSAgICAg
ICAgUEFHRV9SVUxFLAotICAgICAgICBLRVlGUkFNRVNfUlVMRSwKLSAgICAgICAgS0VZRlJBTUVf
UlVMRSwKLSAgICAgICAgTUFSR0lOX1JVTEUsCi0gICAgICAgIE5BTUVTUEFDRV9SVUxFLAotICAg
ICAgICBDT1VOVEVSX1NUWUxFX1JVTEUsCi0gICAgICAgIFNVUFBPUlRTX1JVTEUKKyAgICAgICAg
VU5LTk9XTl9SVUxFID0gMCwKKyAgICAgICAgU1RZTEVfUlVMRSA9IDEsCisgICAgICAgIENIQVJT
RVRfUlVMRSA9IDIsCisgICAgICAgIElNUE9SVF9SVUxFID0gMywKKyAgICAgICAgTUVESUFfUlVM
RSA9IDQsCisgICAgICAgIEZPTlRfRkFDRV9SVUxFID0gNSwKKyAgICAgICAgUEFHRV9SVUxFID0g
NiwKKyAgICAgICAgS0VZRlJBTUVTX1JVTEUgPSA3LAorICAgICAgICBLRVlGUkFNRV9SVUxFID0g
OCwKKyAgICAgICAgTUFSR0lOX1JVTEUgPSA5LAorICAgICAgICBOQU1FU1BBQ0VfUlVMRSA9IDEw
LAorICAgICAgICBDT1VOVEVSX1NUWUxFX1JVTEUgPSAxMSwKKyAgICAgICAgU1VQUE9SVFNfUlVM
RSA9IDEyLAorICAgICAgICBET0NVTUVOVF9SVUxFID0gMTMsCisgICAgICAgIEZPTlRfRkVBVFVS
RV9WQUxVRVNfUlVMRSA9IDE0LAorICAgICAgICBWSUVXUE9SVF9SVUxFID0gMTUsCisgICAgICAg
IFJFR0lPTl9TVFlMRV9SVUxFID0gMTYsCisgICAgICAgIENVU1RPTV9NRURJQV9SVUxFID0gMTcs
CisgICAgICAgIFBST1BFUlRZX1JVTEUgPSAxOCwKKyAgICAgICAgRk9OVF9QQUxFVFRFX1ZBTFVF
U19SVUxFID0gMTksIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vl
cy82NjIzCisgICAgICAgIExBWUVSX1JVTEUgPSAyMAogICAgIH07CiAKICAgICBlbnVtIERlcHJl
Y2F0ZWRUeXBlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAppbmRleCBmM2U2NjEzN2Q3NjM3MzBjMzdm
MDIzYTE2MzNlMzJlZjgyNTBlYjU2Li5jZmUzYmUwNzIzYTBkOTA1NjE4M2YzNTAxMGFkYWZkMmI5
NjRkNmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNv
bT4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCkBAIC00NCw2ICs0NCwxMyBAQAogICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IE5BTUVTUEFDRV9SVUxFID0gMTA7CiAgICAgW0VuYWJsZWRCeVNldHRpbmc9Q1NTQ291bnRl
clN0eWxlQXRSdWxlc10gY29uc3QgdW5zaWduZWQgc2hvcnQgQ09VTlRFUl9TVFlMRV9SVUxFID0g
MTE7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1VQUE9SVFNfUlVMRSA9IDEyOworICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IERPQ1VNRU5UX1JVTEUgPSAxMzsKKyAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUgPSAxNDsKKyAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBWSUVXUE9SVF9SVUxFID0gMTU7CisgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUkVH
SU9OX1NUWUxFX1JVTEUgPSAxNjsKKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBDVVNUT01fTUVE
SUFfUlVMRSA9IDE3OworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBST1BFUlRZX1JVTEUgPSAx
ODsKKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUgPSAx
OTsgLyogaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzY2MjMgKi8K
IAogICAgIC8vIExlZ2FjeSBzeW5vbnltcyBmb3IgdGhlIGFib3ZlLCBrZXB0IHRvIGF2b2lkIGJy
ZWFraW5nIGV4aXN0aW5nIGNvbnRlbnQuCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgV0VCS0lU
X0tFWUZSQU1FU19SVUxFID0gNzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCmluZGV4IDg3MzY5YWIw
ZGI1MmYwYTJlOGEzYmEyYzAzOTUzNjA0YzQ0ZDE3ZTIuLjE5Y2I3M2VmZWQzZGNiODA2MDc0MjEw
OTY0ZGVkODQ2YzYwNTU1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcApAQCAtMSw2ICsxLDcg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQW5kcmVhcyBLbGluZyAoa2xpbmdAd2Via2l0
Lm9yZykKICAqIENvcHlyaWdodCAoQykgMjAxMyBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM5
LDYgKzQwLDcgQEAKICNpbmNsdWRlICJDU1NGaWx0ZXJJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTRm9udEZhY2VTcmNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGZWF0dXJlVmFsdWUuaCIK
KyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkNTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250U3R5bGVW
YWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRWYWx1ZS5oIgpAQCAtMTY0LDYgKzE2Niw4IEBAIGJv
b2wgQ1NTVmFsdWU6OmVxdWFscyhjb25zdCBDU1NWYWx1ZSYgb3RoZXIpIGNvbnN0CiAgICAgICAg
ICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NGb250VmFsdWU+KCp0aGlzLCBvdGhlcik7
CiAgICAgICAgIGNhc2UgRm9udEZhY2VTcmNDbGFzczoKICAgICAgICAgICAgIHJldHVybiBjb21w
YXJlQ1NTVmFsdWVzPENTU0ZvbnRGYWNlU3JjVmFsdWU+KCp0aGlzLCBvdGhlcik7CisgICAgICAg
IGNhc2UgRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3M6CisgICAgICAgICAgICBy
ZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JW
YWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGb250RmVhdHVyZUNsYXNzOgogICAg
ICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRm9udEZlYXR1cmVWYWx1ZT4oKnRo
aXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGb250VmFyaWF0aW9uQ2xhc3M6CkBAIC0yNjQsNiAr
MjY4LDggQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29uc3QKICAgICAgICAgcmV0dXJu
IGRvd25jYXN0PENTU0ZvbnRWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNl
IEZvbnRGYWNlU3JjQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NGb250RmFjZVNy
Y1ZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOworICAgIGNhc2UgRm9udFBhbGV0dGVWYWx1
ZXNPdmVycmlkZUNvbG9yQ2xhc3M6CisgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKICAg
ICBjYXNlIEZvbnRGZWF0dXJlQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NGb250
RmVhdHVyZVZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgRm9udFZhcmlh
dGlvbkNsYXNzOgpAQCAtMzc3LDYgKzM4Myw5IEBAIHZvaWQgQ1NTVmFsdWU6OmRlc3Ryb3koKQog
ICAgIGNhc2UgRm9udEZhY2VTcmNDbGFzczoKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PENTU0Zv
bnRGYWNlU3JjVmFsdWU+KHRoaXMpOwogICAgICAgICByZXR1cm47CisgICAgY2FzZSBGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczoKKyAgICAgICAgZGVsZXRlIGRvd25jYXN0PENT
U0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPih0aGlzKTsKKyAgICAgICAgcmV0
dXJuOwogICAgIGNhc2UgRm9udEZlYXR1cmVDbGFzczoKICAgICAgICAgZGVsZXRlIGRvd25jYXN0
PENTU0ZvbnRGZWF0dXJlVmFsdWU+KHRoaXMpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZS5oCmluZGV4IDIzZWI1ZWMzOGNjZTk2OTBlNWQ4YWI0NGI1NjUyNDVmODcyZDkwNWQuLmIz
MWM5OTIwZWE0MzE3Njg5MGIyMDk2YWVmYjg5YTBmYjdjZjNmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25v
bGxAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAw
OCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQg
LSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwpAQCAtOTcsNiArOTcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZvbnRGZWF0dXJlVmFsdWUo
KSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250RmVhdHVyZUNsYXNzOyB9CiAgICAg
Ym9vbCBpc0ZvbnRWYXJpYXRpb25WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09
IEZvbnRWYXJpYXRpb25DbGFzczsgfQogICAgIGJvb2wgaXNGb250RmFjZVNyY1ZhbHVlKCkgY29u
c3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udEZhY2VTcmNDbGFzczsgfQorICAgIGJvb2wg
aXNGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xhc3NUeXBlID09IEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvckNsYXNzOyB9CiAgICAg
Ym9vbCBpc0ZvbnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRDbGFz
czsgfQogICAgIGJvb2wgaXNGb250U3R5bGVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NU
eXBlID09IEZvbnRTdHlsZUNsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRTdHlsZVJhbmdlVmFsdWUo
KSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250U3R5bGVSYW5nZUNsYXNzOyB9CkBA
IC0xODcsNiArMTg4LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBGb250U3R5bGVDbGFzcywKICAg
ICAgICAgRm9udFN0eWxlUmFuZ2VDbGFzcywKICAgICAgICAgRm9udEZhY2VTcmNDbGFzcywKKyAg
ICAgICAgRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3MsCiAgICAgICAgIEZ1bmN0
aW9uQ2xhc3MsCiAKICAgICAgICAgSW5oZXJpdGVkQ2xhc3MsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUu
Y3BwCmluZGV4IDRiMTVjMDk0OTg5OWJiZTNkZWQ5OTE0YmU5YjZlYjFlNjc4MzI1YzMuLjQyMzEw
YTlhMjNjMDMxODdkM2ZiNzFhNGZkMTYwN2YwNjcwZTVjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1
bGUuY3BwCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAo
a25vbGxAa2RlLm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtk
ZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNs
dWRlICJDU1NDb3VudGVyU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTRGVmZXJyZWRQYXJzZXIu
aCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NT
S2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtNzAsNiAr
NzEsOSBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6OmRlc3Ryb3koKQogICAgIGNhc2UgU3R5bGVSdWxl
VHlwZTo6Rm9udEZhY2U6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxTdHlsZVJ1bGVGb250RmFj
ZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRQ
YWxldHRlVmFsdWVzOgorICAgICAgICBkZWxldGUgZG93bmNhc3Q8U3R5bGVSdWxlRm9udFBhbGV0
dGVWYWx1ZXM+KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBl
OjpNZWRpYToKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PFN0eWxlUnVsZU1lZGlhPih0aGlzKTsK
ICAgICAgICAgcmV0dXJuOwpAQCAtOTgsNiArMTAyLDEzIEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6
ZGVzdHJveSgpCiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxTdHlsZVJ1bGVMYXllcj4odGhpcyk7
CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlVua25vd246CisgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpEb2N1bWVudDoKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZv
bnRGZWF0dXJlVmFsdWVzOgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Vmlld3BvcnQ6CisgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpSZWdpb25TdHlsZToKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OkN1c3RvbU1lZGlhOgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TWFyZ2luOgorICAgIGNhc2Ug
U3R5bGVSdWxlVHlwZTo6UHJvcGVydHk6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTEzLDYgKzEyNCw4IEBAIFJlZjxTdHlsZVJ1bGVC
YXNlPiBTdHlsZVJ1bGVCYXNlOjpjb3B5KCkgY29uc3QKICAgICAgICAgcmV0dXJuIGRvd25jYXN0
PFN0eWxlUnVsZVBhZ2U+KCp0aGlzKS5jb3B5KCk7CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpG
b250RmFjZToKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFN0eWxlUnVsZUZvbnRGYWNlPigqdGhp
cykuY29weSgpOworICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXM6Cisg
ICAgICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4oKnRoaXMp
LmNvcHkoKTsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok1lZGlhOgogICAgICAgICByZXR1cm4g
ZG93bmNhc3Q8U3R5bGVSdWxlTWVkaWE+KCp0aGlzKS5jb3B5KCk7CiAgICAgY2FzZSBTdHlsZVJ1
bGVUeXBlOjpTdXBwb3J0czoKQEAgLTEzMCw2ICsxNDMsMTMgQEAgUmVmPFN0eWxlUnVsZUJhc2U+
IFN0eWxlUnVsZUJhc2U6OmNvcHkoKSBjb25zdAogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6VW5r
bm93bjoKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkNoYXJzZXQ6CiAgICAgY2FzZSBTdHlsZVJ1
bGVUeXBlOjpLZXlmcmFtZToKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkRvY3VtZW50OgorICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZlYXR1cmVWYWx1ZXM6CisgICAgY2FzZSBTdHlsZVJ1
bGVUeXBlOjpWaWV3cG9ydDoKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlJlZ2lvblN0eWxlOgor
ICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Q3VzdG9tTWVkaWE6CisgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpNYXJnaW46CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpQcm9wZXJ0eToKICAgICAgICAg
YnJlYWs7CiAgICAgfQogICAgIENSQVNIKCk7CkBAIC0xNDksNiArMTY5LDkgQEAgUmVmPENTU1J1
bGU+IFN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNTU09NV3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJl
bnRTaGVldCwgQ1NTUnUKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOgogICAgICAg
ICBydWxlID0gQ1NTRm9udEZhY2VSdWxlOjpjcmVhdGUoZG93bmNhc3Q8U3R5bGVSdWxlRm9udEZh
Y2U+KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU3R5bGVS
dWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXM6CisgICAgICAgIHJ1bGUgPSBDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGU6OmNyZWF0ZShkb3duY2FzdDxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4o
c2VsZiksIHBhcmVudFNoZWV0KTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpNZWRpYToKICAgICAgICAgcnVsZSA9IENTU01lZGlhUnVsZTo6Y3JlYXRlKGRvd25jYXN0
PFN0eWxlUnVsZU1lZGlhPihzZWxmKSwgcGFyZW50U2hlZXQpOwogICAgICAgICBicmVhazsKQEAg
LTE3Miw2ICsxOTUsMTMgQEAgUmVmPENTU1J1bGU+IFN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNTU09N
V3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgQ1NTUnUKICAgICBjYXNlIFN0eWxl
UnVsZVR5cGU6OlVua25vd246CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpDaGFyc2V0OgogICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWU6CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpE
b2N1bWVudDoKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGZWF0dXJlVmFsdWVzOgorICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6Vmlld3BvcnQ6CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpS
ZWdpb25TdHlsZToKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkN1c3RvbU1lZGlhOgorICAgIGNh
c2UgU3R5bGVSdWxlVHlwZTo6TWFyZ2luOgorICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6UHJvcGVy
dHk6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBicmVhazsKICAgICB9
CkBAIC0zMTksNiArMzQ5LDI2IEBAIE11dGFibGVTdHlsZVByb3BlcnRpZXMmIFN0eWxlUnVsZUZv
bnRGYWNlOjptdXRhYmxlUHJvcGVydGllcygpCiAgICAgcmV0dXJuIGRvd25jYXN0PE11dGFibGVT
dHlsZVByb3BlcnRpZXM+KG1fcHJvcGVydGllcy5nZXQoKSk7CiB9CiAKK1N0eWxlUnVsZUZvbnRQ
YWxldHRlVmFsdWVzOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBBdG9tU3RyaW5n
JiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBmb250RmFtaWx5LCBjb25zdCBQYWxldHRlSW5kZXgm
IGJhc2VQYWxldHRlLCBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpCisg
ICAgOiBTdHlsZVJ1bGVCYXNlKFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzKQorICAg
ICwgbV9uYW1lKG5hbWUpCisgICAgLCBtX2ZvbnRGYW1pbHkoZm9udEZhbWlseSkKKyAgICAsIG1f
YmFzZVBhbGV0dGUoYmFzZVBhbGV0dGUpCisgICAgLCBtX292ZXJyaWRlQ29sb3IoV1RGTW92ZShv
dmVycmlkZUNvbG9yKSkKK3sKK30KKworU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlN0eWxl
UnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJiBv
KQorICAgIDogU3R5bGVSdWxlQmFzZShvKQorICAgICwgbV9uYW1lKG8ubmFtZSgpKQorICAgICwg
bV9mb250RmFtaWx5KG8uZm9udEZhbWlseSgpKQorICAgICwgbV9iYXNlUGFsZXR0ZShvLmJhc2VQ
YWxldHRlKCkpCisgICAgLCBtX292ZXJyaWRlQ29sb3Ioby5vdmVycmlkZUNvbG9yKCkpCit7Cit9
CisKK1N0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjp+U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXMoKSA9IGRlZmF1bHQ7CisKIERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0OjpEZWZlcnJlZFN0
eWxlR3JvdXBSdWxlTGlzdChjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgQ1NTRGVm
ZXJyZWRQYXJzZXImIHBhcnNlcikKICAgICA6IG1fcGFyc2VyKHBhcnNlcikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJ1bGUuaAppbmRleCAxNTYyYzc5MjY3ZWE2NGQyMTcwMWI5ZGY3NTdjMDM1MjU5MGY5NzFi
Li5iNTNkZjliMTk3Mjc5ZjNhYWY5MGY4YTRmNjlmNjFkYzZmNGRhYWZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUnVsZS5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9s
bCAoa25vbGxAa2RlLm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVy
QGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTUyLDYgKzUyLDcgQEAgcHVi
bGljOgogICAgIGJvb2wgaXNDaGFyc2V0UnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBT
dHlsZVJ1bGVUeXBlOjpDaGFyc2V0OyB9CiAgICAgYm9vbCBpc0NvdW50ZXJTdHlsZVJ1bGUoKSBj
b25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlwZTo6Q291bnRlclN0eWxlOyB9CiAg
ICAgYm9vbCBpc0ZvbnRGYWNlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1
bGVUeXBlOjpGb250RmFjZTsgfQorICAgIGJvb2wgaXNGb250UGFsZXR0ZVZhbHVlc1J1bGUoKSBj
b25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXM7
IH0KICAgICBib29sIGlzS2V5ZnJhbWVzUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBT
dHlsZVJ1bGVUeXBlOjpLZXlmcmFtZXM7IH0KICAgICBib29sIGlzS2V5ZnJhbWVSdWxlKCkgY29u
c3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lOyB9CiAgICAgYm9v
bCBpc05hbWVzcGFjZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlw
ZTo6TmFtZXNwYWNlOyB9CkBAIC0xNTUsNiArMTU2LDYwIEBAIHByaXZhdGU6CiAgICAgUmVmPFN0
eWxlUHJvcGVydGllcz4gbV9wcm9wZXJ0aWVzOwogfTsKIAorY2xhc3MgU3R5bGVSdWxlRm9udFBh
bGV0dGVWYWx1ZXMgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CitwdWJsaWM6CisgICAg
dXNpbmcgUGFsZXR0ZUluZGV4ID0gVmFyaWFudDxpbnQ2NF90LCBBdG9tU3RyaW5nPjsKKyAgICB1
c2luZyBQYWxldHRlQ29sb3JJbmRleCA9IFZhcmlhbnQ8QXRvbVN0cmluZywgaW50NjRfdD47Cisg
ICAgdXNpbmcgT3ZlcnJpZGRlbkNvbG9yID0gc3RkOjpwYWlyPFBhbGV0dGVDb2xvckluZGV4LCBD
b2xvcj47CisKKyAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBjcmVh
dGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwg
Y29uc3QgUGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSwgVmVjdG9yPE92ZXJyaWRkZW5Db2xvcj4m
JiBvdmVycmlkZUNvbG9yKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZUZvbnRQYWxl
dHRlVmFsdWVzKG5hbWUsIGZvbnRGYW1pbHksIGJhc2VQYWxldHRlLCBXVEZNb3ZlKG92ZXJyaWRl
Q29sb3IpKSk7IH0KKyAgICAKKyAgICB+U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoKTsKKwor
ICAgIGNvbnN0IEF0b21TdHJpbmcmIG5hbWUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJu
IG1fbmFtZTsKKyAgICB9CisKKyAgICBjb25zdCBBdG9tU3RyaW5nJiBmb250RmFtaWx5KCkgY29u
c3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2ZvbnRGYW1pbHk7CisgICAgfQorCisgICAgY29u
c3QgUGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1
cm4gbV9iYXNlUGFsZXR0ZTsKKyAgICB9CisKKyAgICBjb25zdCBWZWN0b3I8T3ZlcnJpZGRlbkNv
bG9yPiYgb3ZlcnJpZGVDb2xvcigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9vdmVy
cmlkZUNvbG9yOworICAgIH0KKworICAgIHZvaWQgY2xlYXJPdmVycmlkZUNvbG9yKCkKKyAgICB7
CisgICAgICAgIG1fb3ZlcnJpZGVDb2xvci5jbGVhcigpOworICAgIH0KKworICAgIGJvb2wgcmVt
b3ZlKHVuc2lnbmVkIGtleSkKKyAgICB7CisgICAgICAgIHJldHVybiBtX292ZXJyaWRlQ29sb3Iu
cmVtb3ZlQWxsTWF0Y2hpbmcoW2tleV0oY29uc3QgT3ZlcnJpZGRlbkNvbG9yJiBvdmVycmlkZGVu
Q29sb3IpIC0+IGJvb2wgeworICAgICAgICAgICAgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRp
dmU8aW50NjRfdD4ob3ZlcnJpZGRlbkNvbG9yLmZpcnN0KSAmJiBXVEY6OmdldDxpbnQ2NF90Pihv
dmVycmlkZGVuQ29sb3IuZmlyc3QpID09IGtleTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAg
UmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygqdGhpcykpOyB9CisKK3ByaXZh
dGU6CisgICAgZXhwbGljaXQgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoY29uc3QgQXRvbVN0
cmluZyYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwgY29uc3QgUGFsZXR0ZUlu
ZGV4JiBiYXNlUGFsZXR0ZSwgVmVjdG9yPE92ZXJyaWRkZW5Db2xvcj4mJiBvdmVycmlkZUNvbG9y
KTsKKyAgICBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBTdHlsZVJ1bGVGb250UGFs
ZXR0ZVZhbHVlcyYpOworCisgICAgQXRvbVN0cmluZyBtX25hbWU7CisgICAgQXRvbVN0cmluZyBt
X2ZvbnRGYW1pbHk7CisgICAgUGFsZXR0ZUluZGV4IG1fYmFzZVBhbGV0dGU7CisgICAgVmVjdG9y
PE92ZXJyaWRkZW5Db2xvcj4gbV9vdmVycmlkZUNvbG9yOworfTsKKwogY2xhc3MgU3R5bGVSdWxl
UGFnZSBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFN0eWxlUnVsZVBhZ2U+IGNyZWF0ZShSZWY8U3R5bGVQcm9wZXJ0aWVzPiYmLCBDU1NTZWxl
Y3Rvckxpc3QmJik7CkBAIC0zNTcsNiArNDEyLDEwIEBAIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
QkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxlRm9udEZhY2UpCiAgICAgc3RhdGljIGJvb2wgaXNUeXBl
KGNvbnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0dXJuIHJ1bGUuaXNGb250
RmFjZVJ1bGUoKTsgfQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQogCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKQor
ICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlJiBydWxl
KSB7IHJldHVybiBydWxlLmlzRm9udFBhbGV0dGVWYWx1ZXNSdWxlKCk7IH0KK1NQRUNJQUxJWkVf
VFlQRV9UUkFJVFNfRU5EKCkKKwogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3Jl
OjpTdHlsZVJ1bGVNZWRpYSkKICAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc01lZGlhUnVsZSgpOyB9CiBTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSdWxlVHlwZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaAppbmRl
eCBjOWU1MThkYmU2MWI3MzViNmQ3YTFhN2ZmNjI0M2NkOTgxNWNjNWJkLi5jMWQ3ZjMxNTJlZjAy
NmExMzM4YTI5NTY5MTk2Y2EzNzZhYmUzYzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlVHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBl
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOSAtIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yOCwxOSArMjgsMjcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBT
dHlsZVJ1bGVUeXBlIDogdWludDhfdCB7Ci0gICAgVW5rbm93biwgLy8gTm90IHVzZWQuCi0gICAg
U3R5bGUsCi0gICAgQ2hhcnNldCwgLy8gTm90IHVzZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5IHN0
cmluZ3Mgb3duZWQgYnkgdGhlIHN0eWxlIHNoZWV0LgotICAgIEltcG9ydCwKLSAgICBNZWRpYSwK
LSAgICBGb250RmFjZSwKLSAgICBQYWdlLAotICAgIEtleWZyYW1lcywKLSAgICBLZXlmcmFtZSwg
Ly8gTm90IHVzZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5IG5vbi1ydWxlIFN0eWxlUnVsZUtleWZy
YW1lIG9iamVjdHMuCisgICAgVW5rbm93biA9IDAsIC8vIE5vdCB1c2VkLgorICAgIFN0eWxlID0g
MSwKKyAgICBDaGFyc2V0ID0gMiwgLy8gTm90IHVzZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5IHN0
cmluZ3Mgb3duZWQgYnkgdGhlIHN0eWxlIHNoZWV0LgorICAgIEltcG9ydCA9IDMsCisgICAgTWVk
aWEgPSA0LAorICAgIEZvbnRGYWNlID0gNSwKKyAgICBQYWdlID0gNiwKKyAgICBLZXlmcmFtZXMg
PSA3LAorICAgIEtleWZyYW1lID0gOCwgLy8gTm90IHVzZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5
IG5vbi1ydWxlIFN0eWxlUnVsZUtleWZyYW1lIG9iamVjdHMuCisgICAgTWFyZ2luID0gOSwKICAg
ICBOYW1lc3BhY2UgPSAxMCwKICAgICBDb3VudGVyU3R5bGUgPSAxMSwKICAgICBTdXBwb3J0cyA9
IDEyLAotICAgIExheWVyID0gMTMsCisgICAgRG9jdW1lbnQgPSAxMywKKyAgICBGb250RmVhdHVy
ZVZhbHVlcyA9IDE0LAorICAgIFZpZXdwb3J0ID0gMTUsCisgICAgUmVnaW9uU3R5bGUgPSAxNiwK
KyAgICBDdXN0b21NZWRpYSA9IDE3LAorICAgIFByb3BlcnR5ID0gMTgsCisgICAgRm9udFBhbGV0
dGVWYWx1ZXMgPSAxOSwgLy8gaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNz
dWVzLzY2MjMKKyAgICBMYXllciA9IDIwCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IDMyODQ5NzQ4NTM1
YTBkNzY0NjkwMzA3M2NjMjRkYzE4NjZkYjA0Y2UuLmNmN2Q0ZWQ4MGZiZjVlMWIyYjlkZDk5OGRj
MzcyNzY2ODZhNzRmOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0
Q29udGVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMu
Y3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25v
bGxAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNDM2LDYgKzQzNiw3IEBA
IHN0YXRpYyBib29sIHRyYXZlcnNlUnVsZXNJblZlY3Rvcihjb25zdCBWZWN0b3I8UmVmUHRyPFN0
eWxlUnVsZUJhc2U+PiYgcnVsZXMsIGNvCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBTdHlsZVJ1bGVUeXBlOjpTdHlsZToKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250
RmFjZToKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoKICAg
ICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpQYWdlOgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5
cGU6OktleWZyYW1lczoKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpOYW1lc3BhY2U6CkBA
IC00NDMsNiArNDQ0LDEzIEBAIHN0YXRpYyBib29sIHRyYXZlcnNlUnVsZXNJblZlY3Rvcihjb25z
dCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYgcnVsZXMsIGNvCiAgICAgICAgIGNhc2Ug
U3R5bGVSdWxlVHlwZTo6Q2hhcnNldDoKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpDb3Vu
dGVyU3R5bGU6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWU6CisgICAgICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6RG9jdW1lbnQ6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlw
ZTo6Rm9udEZlYXR1cmVWYWx1ZXM6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Vmlld3Bv
cnQ6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6UmVnaW9uU3R5bGU6CisgICAgICAgIGNh
c2UgU3R5bGVSdWxlVHlwZTo6Q3VzdG9tTWVkaWE6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlw
ZTo6TWFyZ2luOgorICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlByb3BlcnR5OgogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CkBAIC00ODYsNiArNDk0LDE0IEBAIGJvb2wg
U3R5bGVTaGVldENvbnRlbnRzOjp0cmF2ZXJzZVN1YnJlc291cmNlcyhjb25zdCBXVEY6OkZ1bmN0
aW9uPGJvb2wgKGNvbnN0IENhCiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWU6
CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6U3VwcG9ydHM6CiAgICAgICAgIGNhc2UgU3R5
bGVSdWxlVHlwZTo6TGF5ZXI6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6RG9jdW1lbnQ6
CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZlYXR1cmVWYWx1ZXM6CisgICAgICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6Vmlld3BvcnQ6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlw
ZTo6UmVnaW9uU3R5bGU6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVW
YWx1ZXM6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Q3VzdG9tTWVkaWE6CisgICAgICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6TWFyZ2luOgorICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OlByb3BlcnR5OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9OwogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTQXRSdWxlSUQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1
bGVJRC5jcHAKaW5kZXggMDgyNTcyMzhjOGIzNThlNTNiZmEyN2UyYWI2YmVjY2Q1YTZkMmU5OS4u
OWNlMzUxZDE2YmE4NzE1MjY1MGUzZWI0NjAzZGFmNjI0NDEzMGM2YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAKQEAgLTEsNSArMSw1IEBACiAvLyBDb3B5cmln
aHQgMjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5
cmlnaHQgKEMpIDIwMTYgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8v
CiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM4LDYgKzM4LDggQEAgQ1NTQXRS
dWxlSUQgY3NzQXRSdWxlSUQoU3RyaW5nVmlldyBuYW1lKQogICAgICAgICByZXR1cm4gQ1NTQXRS
dWxlQ2hhcnNldDsKICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiZm9udC1m
YWNlIikpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVGb250RmFjZTsKKyAgICBpZiAoZXF1YWxJ
Z25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiZm9udC1wYWxldHRlLXZhbHVlcyIpKQorICAgICAgICBy
ZXR1cm4gQ1NTQXRSdWxlRm9udFBhbGV0dGVWYWx1ZXM7CiAgICAgaWYgKGVxdWFsSWdub3JpbmdB
U0NJSUNhc2UobmFtZSwgImltcG9ydCIpKQogICAgICAgICByZXR1cm4gQ1NTQXRSdWxlSW1wb3J0
OwogICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG5hbWUsICJrZXlmcmFtZXMiKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaAppbmRleCAzMzBmNmNiZTJlMjViM2Rj
Y2YwZTcyOWU0NDg5OWYxODk0MTVhN2JlLi41ZTRkNDM1MzMyZDYxMjNjNzFiYjhkM2MzYzI1M2Fi
NzcxMzI5ZjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVs
ZUlELmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5oCkBAIC0x
LDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTUgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAyMDE2IC0gMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBA
IC00OSw2ICs0OSw4IEBAIGVudW0gQ1NTQXRSdWxlSUQgewogICAgIENTU0F0UnVsZUFwcGx5ID0g
MTEsCiAgICAgQ1NTQXRSdWxlQ291bnRlclN0eWxlID0gMTIsCiAgICAgQ1NTQXRSdWxlTGF5ZXIg
PSAxMywKKworICAgIENTU0F0UnVsZUZvbnRQYWxldHRlVmFsdWVzID0gMTQsCiB9OwogCiBDU1NB
dFJ1bGVJRCBjc3NBdFJ1bGVJRChTdHJpbmdWaWV3IG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKaW5kZXggZTViNzQzMDJlMGNlNGM1YWJkNjE2ZWM0
NTcxYjYyYzRmZmM3ZTUxOS4uYWY1ZGU1ZjhhMjZlY2VjZWE5ZDY4OGJhYmM1YTVjYzViYjE5ZWI4
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0eWxlUnVsZS5oIgogI2lu
Y2x1ZGUgIkNTU0N1c3RvbVByb3BlcnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NEZWZlcnJlZFBh
cnNlci5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVz
UnVsZS5oIgogI2luY2x1ZGUgIkNTU1BhcnNlck9ic2VydmVyLmgiCkBAIC00NDUsNiArNDQ2LDgg
QEAgUmVmUHRyPFN0eWxlUnVsZUJhc2U+IENTU1BhcnNlckltcGw6OmNvbnN1bWVBdFJ1bGUoQ1NT
UGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIEEKICAgICAgICAgcmV0dXJuIGNvbnN1bWVTdXBwb3J0
c1J1bGUocHJlbHVkZSwgYmxvY2spOwogICAgIGNhc2UgQ1NTQXRSdWxlRm9udEZhY2U6CiAgICAg
ICAgIHJldHVybiBjb25zdW1lRm9udEZhY2VSdWxlKHByZWx1ZGUsIGJsb2NrKTsKKyAgICBjYXNl
IENTU0F0UnVsZUZvbnRQYWxldHRlVmFsdWVzOgorICAgICAgICByZXR1cm4gY29uc3VtZUZvbnRQ
YWxldHRlVmFsdWVzUnVsZShwcmVsdWRlLCBibG9jayk7CiAgICAgY2FzZSBDU1NBdFJ1bGVXZWJr
aXRLZXlmcmFtZXM6CiAgICAgICAgIHJldHVybiBjb25zdW1lS2V5ZnJhbWVzUnVsZSh0cnVlLCBw
cmVsdWRlLCBibG9jayk7CiAgICAgY2FzZSBDU1NBdFJ1bGVLZXlmcmFtZXM6CkBAIC02NTIsNiAr
NjU1LDU1IEBAIFJlZlB0cjxTdHlsZVJ1bGVGb250RmFjZT4gQ1NTUGFyc2VySW1wbDo6Y29uc3Vt
ZUZvbnRGYWNlUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlCiAgICAgcmV0dXJuIFN0eWxlUnVsZUZv
bnRGYWNlOjpjcmVhdGUoY3JlYXRlU3R5bGVQcm9wZXJ0aWVzKG1fcGFyc2VkUHJvcGVydGllcywg
bV9jb250ZXh0Lm1vZGUpKTsKIH0KIAorUmVmUHRyPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
PiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lRm9udFBhbGV0dGVWYWx1ZXNSdWxlKENTU1BhcnNlclRv
a2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jaykKK3sKKyAgICBhdXRv
IG5hbWUgPSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVDdXN0b21JZGVudChwcmVs
dWRlKTsKKyAgICBpZiAoIW5hbWUgfHwgIXByZWx1ZGUuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7IC8vIFBhcnNlIGVycm9yOyBleHBlY3RlZCBjdXN0b20gaWRlbnQgaW4gQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgaGVhZGVyCisKKyAgICBpZiAobV9vYnNlcnZlcldyYXBwZXIpIHsKKyAg
ICAgICAgdW5zaWduZWQgZW5kT2Zmc2V0ID0gbV9vYnNlcnZlcldyYXBwZXItPmVuZE9mZnNldChw
cmVsdWRlKTsKKyAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuc3RhcnRSdWxl
SGVhZGVyKFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzLCBtX29ic2VydmVyV3JhcHBl
ci0+c3RhcnRPZmZzZXQocHJlbHVkZSkpOworICAgICAgICBtX29ic2VydmVyV3JhcHBlci0+b2Jz
ZXJ2ZXIoKS5lbmRSdWxlSGVhZGVyKGVuZE9mZnNldCk7CisgICAgICAgIG1fb2JzZXJ2ZXJXcmFw
cGVyLT5vYnNlcnZlcigpLnN0YXJ0UnVsZUJvZHkoZW5kT2Zmc2V0KTsKKyAgICAgICAgbV9vYnNl
cnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5kUnVsZUJvZHkoZW5kT2Zmc2V0KTsKKyAgICB9CisK
KyAgICBjb25zdW1lRGVjbGFyYXRpb25MaXN0KGJsb2NrLCBTdHlsZVJ1bGVUeXBlOjpGb250UGFs
ZXR0ZVZhbHVlcyk7CisgICAgYXV0byBwcm9wZXJ0aWVzID0gY3JlYXRlU3R5bGVQcm9wZXJ0aWVz
KG1fcGFyc2VkUHJvcGVydGllcywgbV9jb250ZXh0Lm1vZGUpOworCisgICAgQXRvbVN0cmluZyBm
b250RmFtaWx5OworICAgIGlmIChhdXRvIGZvbnRGYW1pbHlWYWx1ZSA9IHByb3BlcnRpZXMtPmdl
dFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlGb250RmFtaWx5KSkKKyAgICAgICAgZm9udEZh
bWlseSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqZm9udEZhbWlseVZhbHVlKS5mb250
RmFtaWx5KCkuZmFtaWx5TmFtZTsKKworICAgIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjpQ
YWxldHRlSW5kZXggYmFzZVBhbGV0dGUobnVsbEF0b20oKSk7CisgICAgaWYgKGF1dG8gYmFzZVBh
bGV0dGVWYWx1ZSA9IHByb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlC
YXNlUGFsZXR0ZSkpIHsKKyAgICAgICAgY29uc3QgYXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3du
Y2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKmJhc2VQYWxldHRlVmFsdWUpOworICAgICAgICBpZiAo
cHJpbWl0aXZlVmFsdWUuaXNTdHJpbmcoKSkKKyAgICAgICAgICAgIGJhc2VQYWxldHRlID0gcHJp
bWl0aXZlVmFsdWUuc3RyaW5nVmFsdWUoKTsKKyAgICAgICAgZWxzZSBpZiAocHJpbWl0aXZlVmFs
dWUuaXNOdW1iZXIoKSkKKyAgICAgICAgICAgIGJhc2VQYWxldHRlID0gcHJpbWl0aXZlVmFsdWUu
dmFsdWU8aW50NjRfdD4oKTsKKyAgICB9CisKKyAgICBWZWN0b3I8U3R5bGVSdWxlRm9udFBhbGV0
dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4gb3ZlcnJpZGVDb2xvcjsKKyAgICBpZiAoYXV0byBv
dmVycmlkZUNvbG9yVmFsdWUgPSBwcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1By
b3BlcnR5T3ZlcnJpZGVDb2xvcikpIHsKKyAgICAgICAgY29uc3QgYXV0byYgbGlzdCA9IGRvd25j
YXN0PENTU1ZhbHVlTGlzdD4oKm92ZXJyaWRlQ29sb3JWYWx1ZSk7CisgICAgICAgIGZvciAoY29u
c3QgYXV0byYgaXRlbSA6IGxpc3QpIHsKKyAgICAgICAgICAgIFN0eWxlUnVsZUZvbnRQYWxldHRl
VmFsdWVzOjpQYWxldHRlQ29sb3JJbmRleCBrZXkobnVsbEF0b20oKSk7CisgICAgICAgICAgICBj
b25zdCBhdXRvJiBwYWlyID0gZG93bmNhc3Q8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNv
bG9yVmFsdWU+KGl0ZW0uZ2V0KCkpOworICAgICAgICAgICAgaWYgKHBhaXIua2V5KCkuaXNTdHJp
bmcoKSkKKyAgICAgICAgICAgICAgICBrZXkgPSBwYWlyLmtleSgpLnN0cmluZ1ZhbHVlKCk7Cisg
ICAgICAgICAgICBlbHNlIGlmIChwYWlyLmtleSgpLmlzTnVtYmVyKCkpCisgICAgICAgICAgICAg
ICAga2V5ID0gcGFpci5rZXkoKS52YWx1ZTxpbnQ2NF90PigpOworICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgb3ZlcnJpZGVDb2xvci5hcHBl
bmQoc3RkOjptYWtlX3BhaXIoa2V5LCBwYWlyLmNvbG9yKCkuY29sb3IoKSkpOworICAgICAgICB9
CisgICAgfQorCisgICAgcmV0dXJuIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjpjcmVhdGUo
bmFtZS0+c3RyaW5nVmFsdWUoKSwgZm9udEZhbWlseSwgYmFzZVBhbGV0dGUsIFdURk1vdmUob3Zl
cnJpZGVDb2xvcikpOworfQorCiBSZWZQdHI8U3R5bGVSdWxlS2V5ZnJhbWVzPiBDU1NQYXJzZXJJ
bXBsOjpjb25zdW1lS2V5ZnJhbWVzUnVsZShib29sIHdlYmtpdFByZWZpeGVkLCBDU1NQYXJzZXJU
b2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spCiB7CiAgICAgQ1NT
UGFyc2VyVG9rZW5SYW5nZSByYW5nZUNvcHkgPSBwcmVsdWRlOyAvLyBGb3IgaW5zcGVjdG9yIGNh
bGxiYWNrcwpAQCAtOTYxLDcgKzEwMTMsNyBAQCB2b2lkIENTU1BhcnNlckltcGw6OmNvbnN1bWVE
ZWNsYXJhdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlIHJhbmdlLCBTdHlsZVJ1bGVUeXBlCiAgICAg
ICAgIGNvbnN1bWVDdXN0b21Qcm9wZXJ0eVZhbHVlKHJhbmdlLm1ha2VTdWJSYW5nZSgmcmFuZ2Uu
cGVlaygpLCBkZWNsYXJhdGlvblZhbHVlRW5kKSwgdmFyaWFibGVOYW1lLCBpbXBvcnRhbnQpOwog
ICAgIH0KIAotICAgIGlmIChpbXBvcnRhbnQgJiYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6
OkZvbnRGYWNlIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lIHx8IHJ1bGVU
eXBlID09IFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZSkpCisgICAgaWYgKGltcG9ydGFudCAm
JiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2UgfHwgcnVsZVR5cGUgPT0gU3R5
bGVSdWxlVHlwZTo6S2V5ZnJhbWUgfHwgcnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Q291bnRl
clN0eWxlIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzKSkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHByb3BlcnR5SUQgIT0gQ1NTUHJvcGVydHlJbnZh
bGlkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBs
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuaAppbmRleCAxNmM0
YzNkMTlmNTA4YzEwMjFmNTFiNGMzNWI3NDA1OWRlNTA0NTQ3Li5lMjVmZTVlMmE3NTI4Y2FiNDM0
YTllZWI4NmE4ZDFjZDdhZmFhM2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Bh
cnNlckltcGwuaApAQCAtMSw1ICsxLDUgQEAKIC8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1
bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gQ29weXJpZ2h0IChDKSAyMDE2LTIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAyMDE2
LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
Ly8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQpAQCAtNTEsNiArNTEsNyBAQCBjbGFzcyBTdHlsZVJ1bGU7CiBjbGFz
cyBTdHlsZVJ1bGVCYXNlOwogY2xhc3MgU3R5bGVSdWxlQ2hhcnNldDsKIGNsYXNzIFN0eWxlUnVs
ZUZvbnRGYWNlOworY2xhc3MgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM7CiBjbGFzcyBTdHls
ZVJ1bGVJbXBvcnQ7CiBjbGFzcyBTdHlsZVJ1bGVLZXlmcmFtZXM7CiBjbGFzcyBTdHlsZVJ1bGVM
YXllcjsKQEAgLTEzMyw2ICsxMzQsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxTdHlsZVJ1bGVT
dXBwb3J0cz4gY29uc3VtZVN1cHBvcnRzUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUs
IENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxTdHlsZVJ1bGVWaWV3cG9y
dD4gY29uc3VtZVZpZXdwb3J0UnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1Bh
cnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxTdHlsZVJ1bGVGb250RmFjZT4gY29u
c3VtZUZvbnRGYWNlUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRv
a2VuUmFuZ2UgYmxvY2spOworICAgIFJlZlB0cjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4g
Y29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUs
IENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxTdHlsZVJ1bGVLZXlmcmFt
ZXM+IGNvbnN1bWVLZXlmcmFtZXNSdWxlKGJvb2wgd2Via2l0UHJlZml4ZWQsIENTU1BhcnNlclRv
a2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jayk7CiAgICAgUmVmUHRy
PFN0eWxlUnVsZVBhZ2U+IGNvbnN1bWVQYWdlUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1
ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxTdHlsZVJ1bGVDb3Vu
dGVyU3R5bGU+IGNvbnN1bWVDb3VudGVyU3R5bGVSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJl
bHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDdkMzMzMGI4MWVhMzMzNjQ3MjM0
NGU1MTBmZDA1OGVhY2MyNTExNzMuLjM4NzJhNWE2N2NlYzI3ODViYjEyZDA0YzBlNTg0ZDMzMjMy
ZTRkN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXIuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiQ1NTQ3VzdG9tUHJvcGVydHlWYWx1
ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlU3JjVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250
RmVhdHVyZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNv
bG9yVmFsdWUuaCIKICNpZiBFTkFCTEUoVkFSSUFUSU9OX0ZPTlRTKQogI2luY2x1ZGUgIkNTU0Zv
bnRWYXJpYXRpb25WYWx1ZS5oIgogI2VuZGlmCkBAIC0yMzMsNiArMjM0LDggQEAgYm9vbCBDU1NQ
cm9wZXJ0eVBhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIGJvb2wg
aW1wb3J0YW50LCBjb24KIAogICAgIGlmIChydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250
RmFjZSkKICAgICAgICAgcGFyc2VTdWNjZXNzID0gcGFyc2VyLnBhcnNlRm9udEZhY2VEZXNjcmlw
dG9yKHByb3BlcnR5SUQpOworICAgIGVsc2UgaWYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6
OkZvbnRQYWxldHRlVmFsdWVzKQorICAgICAgICBwYXJzZVN1Y2Nlc3MgPSBwYXJzZXIucGFyc2VG
b250UGFsZXR0ZVZhbHVlc0Rlc2NyaXB0b3IocHJvcGVydHlJRCk7CiAgICAgZWxzZSBpZiAocnVs
ZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Q291bnRlclN0eWxlKQogICAgICAgICBwYXJzZVN1Y2Nl
c3MgPSBwYXJzZXIucGFyc2VDb3VudGVyU3R5bGVEZXNjcmlwdG9yKHByb3BlcnR5SUQsIGNvbnRl
eHQpOwogICAgIGVsc2UKQEAgLTQ4MzgsNiArNDg0MSw2MyBAQCBib29sIENTU1Byb3BlcnR5UGFy
c2VyOjpwYXJzZUZvbnRGYWNlRGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEIHByb3BJZCkKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY29uc3Vt
ZUJhc2VQYWxldHRlRGVzY3JpcHRvcihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAg
ICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSA9PSBTdHJpbmdUb2tlbikKKyAgICAgICAgcmV0dXJu
IGNvbnN1bWVTdHJpbmcocmFuZ2UpOworICAgIHJldHVybiBjb25zdW1lSW50ZWdlcihyYW5nZSk7
Cit9CisKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBjb25zdW1lT3ZlcnJpZGVDb2xvckRl
c2NyaXB0b3IoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRl
eHQmIGNvbnRleHQpCit7CisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gbGlzdCA9IENTU1ZhbHVl
TGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKKyAgICBkbyB7CisgICAgICAgIFJlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4ga2V5OworICAgICAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSA9
PSBTdHJpbmdUb2tlbikKKyAgICAgICAgICAgIGtleSA9IGNvbnN1bWVTdHJpbmcocmFuZ2UpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBrZXkgPSBjb25zdW1lSW50ZWdlcihyYW5nZSk7Cisg
ICAgICAgIGlmICgha2V5KQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAg
YXV0byBjb2xvciA9IGNvbnN1bWVDb2xvcihyYW5nZSwgY29udGV4dCk7CisgICAgICAgIGlmICgh
Y29sb3IpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBSZWZQdHI8Q1NT
VmFsdWU+IHZhbHVlID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU6OmNy
ZWF0ZShrZXkucmVsZWFzZU5vbk51bGwoKSwgY29sb3IucmVsZWFzZU5vbk51bGwoKSk7CisgICAg
ICAgIGxpc3QtPmFwcGVuZCh2YWx1ZS5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICB9IHdoaWxlIChj
b25zdW1lQ29tbWFJbmNsdWRpbmdXaGl0ZXNwYWNlKHJhbmdlKSk7CisgICAgCisgICAgaWYgKCFy
YW5nZS5hdEVuZCgpIHx8ICFsaXN0LT5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisKKyAgICByZXR1cm4gbGlzdDsKK30KKworYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VG
b250UGFsZXR0ZVZhbHVlc0Rlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCBwcm9wSWQpCit7CisgICAg
UmVmUHRyPENTU1ZhbHVlPiBwYXJzZWRWYWx1ZTsKKyAgICBzd2l0Y2ggKHByb3BJZCkgeworICAg
IGNhc2UgQ1NTUHJvcGVydHlGb250RmFtaWx5OgorICAgICAgICBwYXJzZWRWYWx1ZSA9IGNvbnN1
bWVGYW1pbHlOYW1lKG1fcmFuZ2UpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3Bl
cnR5QmFzZVBhbGV0dGU6CisgICAgICAgIHBhcnNlZFZhbHVlID0gY29uc3VtZUJhc2VQYWxldHRl
RGVzY3JpcHRvcihtX3JhbmdlKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NQcm9wZXJ0
eU92ZXJyaWRlQ29sb3I6CisgICAgICAgIHBhcnNlZFZhbHVlID0gY29uc3VtZU92ZXJyaWRlQ29s
b3JEZXNjcmlwdG9yKG1fcmFuZ2UsIG1fY29udGV4dCk7CisgICAgICAgIGJyZWFrOworICAgIGRl
ZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGlmICghcGFyc2VkVmFsdWUgfHwg
IW1fcmFuZ2UuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYWRkUHJvcGVy
dHkocHJvcElkLCBDU1NQcm9wZXJ0eUludmFsaWQsICpwYXJzZWRWYWx1ZSwgZmFsc2UpOworICAg
IHJldHVybiB0cnVlOworfQorCiBib29sIENTU1Byb3BlcnR5UGFyc2VyOjpjb25zdW1lU3lzdGVt
Rm9udChib29sIGltcG9ydGFudCkKIHsKICAgICBDU1NWYWx1ZUlEIHN5c3RlbUZvbnRJRCA9IG1f
cmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKS5pZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oCmluZGV4IDI3YWMzNTkzN2NjMmZhNWFj
N2MyZjIzMDQwZTMwMTBiNTA4MTcxMzkuLmQ4NzQwOThmZGM0ODllMmVjNGFjNWUxNjNhZDRlMWUy
ZDkyM2NhYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VyLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDAzIExhcnMgS25v
bGwgKGtub2xsQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIw
MDgsIDIwMDksIDIwMTAsIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA0IC0gMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KICAq
IENvcHlyaWdodCAoQykgMjAwOSAtIDIwMTAgIFRvcmNoIE1vYmlsZSAoQmVpamluZykgQ28uIEx0
ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC03Myw2ICs3Myw3IEBAIHByaXZhdGU6CiAK
ICAgICBib29sIHBhcnNlVmlld3BvcnREZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkLCBi
b29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBwYXJzZUZvbnRGYWNlRGVzY3JpcHRvcihDU1NQcm9w
ZXJ0eUlEKTsKKyAgICBib29sIHBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKENTU1By
b3BlcnR5SUQpOwogICAgIGJvb2wgcGFyc2VDb3VudGVyU3R5bGVEZXNjcmlwdG9yKENTU1Byb3Bl
cnR5SUQsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsKIAogICAgIHZvaWQgYWRkUHJvcGVydHko
Q1NTUHJvcGVydHlJRCwgQ1NTUHJvcGVydHlJRCwgUmVmPENTU1ZhbHVlPiYmLCBib29sIGltcG9y
dGFudCwgYm9vbCBpbXBsaWNpdCA9IGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL3RyYW5zZm9ybS9DU1NUcmFuc2Zvcm1WYWx1ZS5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL3R5cGVkb20vdHJhbnNmb3JtL0NTU1RyYW5zZm9ybVZhbHVlLmgKaW5kZXggMTdlMTNh
NzViOTBlZmRhNzQ1OWJkYWQ3NmM1YWZjNzJjNjQ1YjIxNS4uNjFkNDE4NWIwM2MxOTI4YzI4NjAw
ZGExNmM3YjY5ZDRlY2E5OWQ2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVk
b20vdHJhbnNmb3JtL0NTU1RyYW5zZm9ybVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3R5cGVkb20vdHJhbnNmb3JtL0NTU1RyYW5zZm9ybVZhbHVlLmgKQEAgLTI3LDYgKzI3LDcgQEAK
IAogI2lmIEVOQUJMRShDU1NfVFlQRURfT00pCiAKKyNpbmNsdWRlICJDU1NTdHlsZVZhbHVlLmgi
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNjZiMWFjYzgwMzJhYzYx
Mjg5NTlmYjkyZjJmYjQ3YTZjMWEwNmM5MS4uNzIxZTZkYTVjM2YxOTUyYTkxNDA4YWNiZTM3YWNi
ZjRhZjAyMjhkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMjEtMDktMTggIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4K
KworICAgICAgICBQYXJzaW5nIHN1cHBvcnQgZm9yIGZvbnQtcGFsZXR0ZS12YWx1ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDMzNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXNlIGFyZSBiZWlu
ZyB1cHN0cmVhbWVkIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
L3B1bGwvMzA4NDAuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRz
L3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRl
LXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC5o
dG1sOiBBZGRlZC4KKwogMjAyMS0wOS0xNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBjc3MvY3Nzb20tdmlldy9tb3VzZUV2ZW50LW9mZnNldFhZLXN2
Zy5odG1sIHBhc3NlcyBub3cKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCA0ZWNiYjMzZjhhOTNkOWUyYTI2MWQwNzJh
Zjg2MTRiYTVlODYwYTJkLi4yZGQzNzRkY2UxZmE4MGEwZmFhY2ZlZWEwNDg2MjU5MGU0ZmMwZTM1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZm9udHMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL2lkbGhhcm5lc3Mt
ZXhwZWN0ZWQudHh0CkBAIC0xNSw4ICsxNSw4IEBAIFBBU1MgQ1NTRm9udEZhY2VSdWxlIGludGVy
ZmFjZTogYXR0cmlidXRlIHN0eWxlCiBQQVNTIENTU0ZvbnRGYWNlUnVsZSBtdXN0IGJlIHByaW1h
cnkgaW50ZXJmYWNlIG9mIGNzc0ZvbnRGYWNlUnVsZQogUEFTUyBTdHJpbmdpZmljYXRpb24gb2Yg
Y3NzRm9udEZhY2VSdWxlCiBQQVNTIENTU0ZvbnRGYWNlUnVsZSBpbnRlcmZhY2U6IGNzc0ZvbnRG
YWNlUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0eWxlIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZQotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY3NzRm9udEZhY2VSdWxlIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUiIG5vdCBm
b3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc0ZvbnRG
YWNlUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiRk9OVF9QQUxF
VFRFX1ZBTFVFU19SVUxFIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNTIENTU1J1
bGUgaW50ZXJmYWNlOiBjc3NGb250RmFjZVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05U
X0ZFQVRVUkVfVkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlCitGQUlMIENTU1J1bGUg
aW50ZXJmYWNlOiBjc3NGb250RmFjZVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX1BB
TEVUVEVfVkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDE1IGJ1dCBnb3QgMTkKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZl
YXR1cmVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNS
dWxlIiBtaXNzaW5nCiBGQUlMIENTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NG
b250RmVhdHVyZVZhbHVlc1J1bGUiIG1pc3NpbmcKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNS
dWxlIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc1J1bGUiIGV4cGVjdGVk
IHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc1J1bGUiIG1pc3NpbmcKQEAgLTM3LDE4ICsz
NywxOCBAQCBGQUlMIENTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcgogRkFJTCBDU1NGb250RmVhdHVyZVZhbHVl
c01hcCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNN
YXAiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc01hcCIgbWlzc2luZwog
RkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc01hcCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJv
cGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250RmVh
dHVyZVZhbHVlc01hcCIgbWlzc2luZwogRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc01hcCBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBzZXQoQ1NTT01TdHJpbmcsICh1bnNpZ25lZCBsb25nIG9yIHNlcXVl
bmNlPHVuc2lnbmVkIGxvbmc+KSkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIGV4cGVjdGVkIHByb3Bl
cnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc01hcCIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0
ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlz
c2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBt
aXNzaW5nCi1GQUlMIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1
Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAi
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNz
aW5nCi1GQUlMIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBm
b250RmFtaWx5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYmFzZVBhbGV0dGUgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
IiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1G
QUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUg
b24gaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0
eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIiBtaXNzaW5nCi1GQUlMIENTU1J1bGUgaW50ZXJm
YWNlOiBjb25zdGFudCBGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUgb24gaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIkZPTlRf
RkVBVFVSRV9WQUxVRVNfUlVMRSIgbWlzc2luZwotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29u
c3RhbnQgRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0
X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVM
RSIgbWlzc2luZwotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9QQUxFVFRF
X1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJv
cGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIG1pc3Np
bmcKLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc1J1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9p
bmhlcml0czogcHJvcGVydHkgIkZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSIgbm90IGZvdW5kIGlu
IHByb3RvdHlwZSBjaGFpbgotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY3NzUnVsZSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxF
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2Jq
ZWN0CitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0
aAorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQ
QVNTIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIENTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BB
U1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogYXR0cmlidXRlIGZvbnRGYW1p
bHkKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogYXR0cmlidXRlIGJh
c2VQYWxldHRlCitQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX0ZFQVRVUkVf
VkFMVUVTX1JVTEUgb24gaW50ZXJmYWNlIG9iamVjdAorUEFTUyBDU1NSdWxlIGludGVyZmFjZTog
Y29uc3RhbnQgRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0CitGQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX1BBTEVUVEVfVkFM
VUVTX1JVTEUgb24gaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0eSBoYXMg
d3JvbmcgdmFsdWUgZXhwZWN0ZWQgMTUgYnV0IGdvdCAxOQorRkFJTCBDU1NSdWxlIGludGVyZmFj
ZTogY29uc3RhbnQgRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IGFzc2VydF9lcXVhbHM6IHByb3BlcnR5IGhhcyB3cm9uZyB2YWx1ZSBleHBlY3Rl
ZCAxNSBidXQgZ290IDE5CitQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NSdWxlIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZQorRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY3NzUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMTUgYnV0IGdvdCAxOQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9m
b250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1w
YWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzcyZTlhNTFk
NWFhYmFlYzYxNzJlYTE0MDNmMzNjMGMwMDE5NmI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNp
bmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2
IEBACisKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0
dGUtdmFsdWVzCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1w
YWxldHRlLXZhbHVlcyAxCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBA
Zm9udC1wYWxldHRlLXZhbHVlcyAyCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFy
c2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAzCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA0CitQQVNTIENTUyBGb250cyBNb2R1bGUg
TGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA1CitQQVNTIENTUyBGb250cyBN
b2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA2CitQQVNTIENTUyBG
b250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA3CitQQVNT
IENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA4
CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZh
bHVlcyA5CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxl
dHRlLXZhbHVlcyAxMAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZv
bnQtcGFsZXR0ZS12YWx1ZXMgMTEKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJz
aW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEyCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2lu
Zy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtaW52YWxpZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3MDU0MmVkODhjNGM5MzA3YzBjNTIx
OWMzYzRkZTg2OGZlY2ZhZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0
dGUtdmFsdWVzLWludmFsaWQuaHRtbApAQCAtMCwwICsxLDE4MiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkNTUyBGb250
cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlczwvdGl0bGU+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMv
I2ZvbnQtcGFsZXR0ZS12YWx1ZXMiPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJAZm9u
dC1wYWxldHRlLXZhbHVlcyBpcyBwYXJzZWQgY29ycmVjdGx5LiI+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgaWQ9InN0eWxlIj4KK0Bm
b250LXBhbGV0dGUtdmFsdWVzIHsKK30KKworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSBCIHsKK30K
KworLyogMCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgZm9udC1mYW1pbHk6IGEs
IGI7Cit9CisKKy8qIDEgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGZvbnQtZmFt
aWx5OiAxOworfQorCisvKiAyICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBmb250
OiAxMnB4IGE7Cit9CisKKy8qIDMgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGJh
c2UtcGFsZXR0ZTogMSAyOworfQorCisvKiA0ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsK
KyAgICBiYXNlLXBhbGV0dGU6IGlkZW50OworfQorCisvKiA1ICovCitAZm9udC1wYWxldHRlLXZh
bHVlcyBBIHsKKyAgICBiYXNlLXBhbGV0dGU6ICJhIiAiYiI7Cit9CisKKy8qIDYgKi8KK0Bmb250
LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGJhc2UtcGFsZXR0ZTogOworfQorCisvKiA3ICovCitA
Zm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBvdmVycmlkZS1jb2xvcjogaWRlbnQgIzEyMzsK
K30KKworLyogOCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29s
b3I6IDAgInJlZCI7Cit9CisKKy8qIDkgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAg
IG92ZXJyaWRlLWNvbG9yOiAwICMxMjMsIDE7Cit9CisKKy8qIDEwICovCitAZm9udC1wYWxldHRl
LXZhbHVlcyBBIHsKKyAgICBvdmVycmlkZS1jb2xvcjogOworfQorCisvKiAxMSAqLworQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDAgIzEyMyAxOworfQorCisv
KiAxMiAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDA7
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorbGV0IHJ1bGVzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0eWxlIikuc2hlZXQuY3NzUnVsZXM7Cit0ZXN0KGZ1bmN0
aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMocnVsZXMubGVuZ3RoLCAxMyk7Cit9KTsKKwordGVz
dChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzBdLmNzc1RleHQ7CisgICAgbGV0
IHJ1bGUgPSBydWxlc1swXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1m
YW1pbHkiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Cit9
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzFdLmNzc1RleHQ7
CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhP
ZigiZm9udC1mYW1pbHkiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5
LCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzJd
LmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1syXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRl
eHQuaW5kZXhPZigiZm9udDoiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFt
aWx5LCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVz
WzNdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1szXTsKKyAgICBhc3NlcnRfZXF1YWxz
KHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuYmFzZVBhbGV0dGUsICIiKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0
ZXh0ID0gcnVsZXNbNF0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzRdOworICAgIGFz
c2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2Vy
dF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgICAgbGV0IHRleHQgPSBydWxlc1s1XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNb
NV07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7
CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7Cit9KTsKKwordGVzdChm
dW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzZdLmNzc1RleHQ7CisgICAgbGV0IHJ1
bGUgPSBydWxlc1s2XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxl
dHRlIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKK30p
OworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbN10uY3NzVGV4dDsK
KyAgICBsZXQgcnVsZSA9IHJ1bGVzWzddOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9m
KCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDAp
OworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s4XS5jc3NU
ZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbOF07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0Lmlu
ZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6
ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzld
LmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s5XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRl
eHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVs
ZXNbMTBdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxMF07CisgICAgYXNzZXJ0X2Vx
dWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4
dCA9IHJ1bGVzWzExXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMTFdOworICAgIGFz
c2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAgYXNz
ZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
bGV0IHRleHQgPSBydWxlc1sxMl0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzEyXTsK
KyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBiNDgyZmZhZjM3NGUxOGJjZGYyMzA4ODI5NjFkOTEzMWI4ZDVm
MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlk
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACisKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBM
ZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzCitQQVNTIENTUyBGb250cyBNb2R1
bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxCitQQVNTIENTUyBGb250
cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAyCitQQVNTIENT
UyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAzCitQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cyA0CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRl
LXZhbHVlcyA1CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1w
YWxldHRlLXZhbHVlcyA2CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBA
Zm9udC1wYWxldHRlLXZhbHVlcyA3CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFy
c2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA4CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA5CitQQVNTIENTUyBGb250cyBNb2R1bGUg
TGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMAorUEFTUyBDU1MgRm9udHMg
TW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTEKK1BBU1MgQ1NT
IEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEyCitQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cyAxMworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgMTQKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250
LXBhbGV0dGUtdmFsdWVzIDE1CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2lu
ZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6
IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTcKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBM
ZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE4CitQQVNTIENTUyBGb250cyBN
b2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxOQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Zm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9m
b250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY3NzRlZmJiMTQ5MzFl
YmY1MDgwOGMzY2IzNWZiZmY4YTEzNzliOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2Zv
bnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbApAQCAtMCwwICsxLDIzMyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkNT
UyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlczwvdGl0
bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mt
Zm9udHMvI2ZvbnQtcGFsZXR0ZS12YWx1ZXMiPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50
PSJAZm9udC1wYWxldHRlLXZhbHVlcyBpcyBwYXJzZWQgY29ycmVjdGx5LiI+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgaWQ9InN0eWxl
Ij4KKy8qIDAgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworfQorCisvKiAxICovCitAZm9u
dC1wYWxldHRlLXZhbHVlcyBCIHsKKyAgICBmb250LXdlaWdodDogNDAwOworfQorCisvKiAyICov
CitAZm9udC1wYWxldHRlLXZhbHVlcyBDIHsKKyAgICBmb250LWZhbWlseTogZm9vOworICAgIGZv
bnQtZmFtaWx5OiBiYXI7CisgICAgYmFzZS1wYWxldHRlOiAxOworICAgIGJhc2UtcGFsZXR0ZTog
ImJheiI7CisgICAgYmFzZS1wYWxldHRlOiAyOworICAgIG92ZXJyaWRlLWNvbG9yOiAiYSIgIzEy
MzsKKyAgICBvdmVycmlkZS1jb2xvcjogMyAjMTIzOworICAgIG92ZXJyaWRlLWNvbG9yOiAiYiIg
IzEyMzsKK30KKworLyogMyAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgRCB7CisgICAgYmFzZS1w
YWxldHRlOiAiZm9vIjsKKyAgICBiYXNlLXBhbGV0dGU6IDE7CisgICAgYmFzZS1wYWxldHRlOiAi
YmFyIjsKKyAgICBvdmVycmlkZS1jb2xvcjogMyAjMTIzOworICAgIG92ZXJyaWRlLWNvbG9yOiAi
YmF6IiAjMTIzOworICAgIG92ZXJyaWRlLWNvbG9yOiA0ICMxMjM7Cit9CisKKy8qIDQgKi8KK0Bm
b250LXBhbGV0dGUtdmFsdWVzIEUgeworICAgIG92ZXJyaWRlLWNvbG9yOiAzIHJnYigxNywgMzQs
IDUxKTsKKyAgICBvdmVycmlkZS1jb2xvcjogMyByZ2IoNjgsIDg1LCAxMDIpOworfQorCisvKiA1
ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBGIHsKKyAgICBmb250LWZhbWlseTogImZvbyI7Cit9
CisKKy8qIDYgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEcgeworICAgIG92ZXJyaWRlLWNvbG9y
OiAzIHJnYigxNywgMzQsIDUxKSwgNCByZ2IoNjgsIDg1LCAxMDIpOworfQorCisvKiA3ICovCitA
Zm9udC1wYWxldHRlLXZhbHVlcyBIIHsKKyAgICBvdmVycmlkZS1jb2xvcjogMyByZ2IoMTcsIDM0
LCA1MSksIDMgcmdiKDY4LCA4NSwgMTAyKTsKK30KKworLyogOCAqLworQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgSSB7CisgICAgYmFzZS1wYWxldHRlOiAtMzsKK30KKworLyogOSAqLworQGZvbnQtcGFs
ZXR0ZS12YWx1ZXMgSiB7CisgICAgb3ZlcnJpZGUtY29sb3I6IC0zIHJnYigxNywgMzQsIDUxKTsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitsZXQgcnVsZXMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3R5bGUiKS5zaGVldC5jc3NSdWxlczsKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1swXS5jc3NUZXh0OworICAgIGFzc2VydF9ub3Rf
ZXF1YWxzKHRleHQuaW5kZXhPZigiQGZvbnQtcGFsZXR0ZS12YWx1ZXMgIiksIC0xKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIiBBICIpLCAtMSk7CisgICAgYXNzZXJ0X25v
dF9lcXVhbHModGV4dC5pbmRleE9mKCJ7IiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0
ZXh0LmluZGV4T2YoIn0iKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJm
b250LWZhbWlseSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2Ut
cGFsZXR0ZSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRl
LWNvbG9yIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0g
cnVsZXNbMF07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnR5cGUsIENTU1J1bGUuRk9OVF9QQUxF
VFRFX1ZBTFVFU19SVUxFKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuY29uc3RydWN0b3IubmFt
ZSwgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5m
b250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7
CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sxXS5jc3NUZXh0OworICAgIGFzc2VydF9lcXVhbHMo
dGV4dC5pbmRleE9mKCJmb250LXdlaWdodCIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzFdOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250
RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgICAgbGV0IHRleHQgPSBydWxlc1syXS5jc3NUZXh0OworICAgIGFzc2VydF9lcXVhbHModGV4
dC5pbmRleE9mKCJmb250LWZhbWlseTogZm9vOyIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVh
bHModGV4dC5pbmRleE9mKCJmb250LWZhbWlseTogYmFyOyIpLCAtMSk7CisgICAgYXNzZXJ0X2Vx
dWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZTogMTsiKSwgLTEpOworICAgIGFzc2VydF9l
cXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6IFwiYmF6XCIiKSwgLTEpOworICAgIGFz
c2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiAyOyIpLCAtMSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiBcImFcIiIpLCAt
MSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiAzIiks
IC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9y
OiBcImJcIiIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9
IHJ1bGVzWzJdOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiYmFyIik7Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiMiIpOworICAgIGFzc2VydF9lcXVh
bHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0
ID0gcnVsZXNbM10uY3NzVGV4dDsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFz
ZS1wYWxldHRlOiBcImZvb1wiOyIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4
T2YoImJhc2UtcGFsZXR0ZTogMSIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5p
bmRleE9mKCJiYXNlLXBhbGV0dGU6IFwiYmFyXCI7IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3I6IDMiKSwgLTEpOworICAgIGFzc2VydF9lcXVh
bHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvcjogXCJiYXpcIiIpLCAtMSk7CisgICAgYXNz
ZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvcjogNCIpLCAtMSk7Cit9
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzNdOworICAgIGFz
c2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxl
LmJhc2VQYWxldHRlLCAiYmFyIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X25v
dF9lcXVhbHMocnVsZS5nZXQoNCkuaW5kZXhPZigicmdiIiksIC0xKTsKK30pOworCit0ZXN0KGZ1
bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbNF0uY3NzVGV4dDsKKyAgICBhc3NlcnRf
ZXF1YWxzKHRleHQuaW5kZXhPZigiNTEiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRl
eHQuaW5kZXhPZigiMTAyIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxl
dCBydWxlID0gcnVsZXNbNF07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIi
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5k
ZWZpbmVkKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhydWxlLmdldCgzKS5pbmRleE9mKCIxMDIi
KSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s1
XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9vIiksIC0x
KTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbNV07Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICJmb28iKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwg
MCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzZdLmNz
c1RleHQ7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCI1MSIpLCAtMSk7Cisg
ICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCIxMDIiKSwgLTEpOworfSk7CisKK3Rl
c3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s2XTsKKyAgICBhc3NlcnRfZXF1
YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFs
ZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAyKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuZ2V0KDcpLCB1bmRlZmluZWQpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1
bGUuZ2V0KDMpLmluZGV4T2YoIjUxIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhydWxl
LmdldCg0KS5pbmRleE9mKCIxMDIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgbGV0IHRleHQgPSBydWxlc1s3XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRl
eHQuaW5kZXhPZigiNTEiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhP
ZigiMTAyIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0g
cnVsZXNbN107CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuc2l6ZSwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsK
KyAgICBhc3NlcnRfbm90X2VxdWFscyhydWxlLmdldCgzKS5pbmRleE9mKCIxMDIiKSwgLTEpOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoNCksIHVuZGVmaW5lZCk7Cit9KTsKKwordGVzdChm
dW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzhdLmNzc1RleHQ7CisgICAgYXNzZXJ0
X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworfSk7CisKK3Rl
c3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s4XTsKKyAgICBhc3NlcnRfZXF1
YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFs
ZXR0ZSwgIi0zIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rl
c3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s5XS5jc3NUZXh0OworICAgIGFz
c2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworfSk7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s5XTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5i
YXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDcpLCB1bmRlZmluZWQpOworICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5nZXQoLTMpLCB1bmRlZmluZWQpOworfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438744</attachid>
            <date>2021-09-20 15:58:07 -0700</date>
            <delta_ts>2021-09-20 17:02:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230337-20210920155806.patch</filename>
            <type>text/plain</type>
            <size>85377</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQ2NGYzY2YxMjI4MjY0
MGU5NmIzNTQzNGUxZDM3M2Y1OGU2MjhhMS4uMDVhOGQ3NDExZjFlMWRkZjU2NDQ5MGU5YzVjNDgx
Y2YyYWViNWM5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk0IEBACisyMDIxLTA5LTIwICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUGFyc2luZyBz
dXBwb3J0IGZvciBmb250LXBhbGV0dGUtdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSdzIG5vdGhpbmcgcGFydGljdWxhcmx5IGludGVy
ZXN0aW5nIGhlcmUgLSBpdCdzIGp1c3Qgc3VwcG9ydCBmb3IgYW5vdGhlciBhdC1ydWxlLgorICAg
ICAgICBJJ3ZlIGltcGxlbWVudGVkIHdoYXQncyBpbiB0aGUgc3BlYyByaWdodCBub3c6CisgICAg
ICAgIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMtNC8jZm9udC1wYWxldHRlLXZh
bHVlcworCisgICAgICAgIFRoZXJlIGFyZSAyIG5ldyBkZXNjcmlwdG9yczogYmFzZS1wYWxldHRl
IGFuZCBvdmVycmlkZS1jb2xvci4gSSd2ZSBhZGRlZCBhIG5ldyBDU1NWYWx1ZSBzdWJjbGFzcwor
ICAgICAgICBmb3IgZWFjaCBvZiB0aGUgaXRlbXMgaW4gdGhlIG92ZXJyaWRlLWNvbG9yIGxpc3Qg
LSB0aGVzZSBpdGVtcyBhcmUganVzdCB0dXBsZXMgb2YgdHdvCisgICAgICAgIENTU1ByaW1pdGl2
ZVZhbHVlcy4gSSBjb3VsZCBoYXZlIGRvbmUgdGhpcyB3aXRoIGEgQ1NTVmFsdWVMaXN0IHdoaWNo
IGFsd2F5cyBqdXN0IGhhcHBlbnMgdG8gaGF2ZQorICAgICAgICBhIGxlbmd0aCBvZiAyLCBidXQg
SSB0aG91Z2h0IHRoYXQgd2FzIGxlc3MgZWxlZ2FudCAoYW5kIGhhcyBhbiBleHRyYSBwb2ludGVy
IGluZGlyZWN0aW9uKSB0aGFuCisgICAgICAgIG1ha2luZyBhIGNsYXNzIHRvIGhvbGQgdGhlIHR3
byBDU1NQcmltaXRpdmVWYWx1ZXMuCisKKyAgICAgICAgVGhlIG9ubHkgZGlmZmVyZW5jZSB3aXRo
IHdoYXQncyBpbiB0aGUgc3BlYyBpcyB0aGF0IEkndmUgZ2l2ZW4gYSBkaWZmZXJlbnQgdmFsdWUg
dG8KKyAgICAgICAgRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFLCBiZWNhdXNlIGl0cyBjdXJyZW50
IHZhbHVlIGNvbmZsaWN0cyB3aXRoIFZJRVdQT1JUX1JVTEUuIFRoaXMgaXMgYmVpbmcKKyAgICAg
ICAgdHJhY2tlZCBhdCBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMv
NjYyMy4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbAorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICog
U291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0
b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0
dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSdWxlVHlwZS5oLgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU6OmN1c3RvbUNTU1RleHQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU6OmVxdWFscyBj
b25zdCk6CisgICAgICAgICogY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZh
bHVlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmguCisg
ICAgICAgICogY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjp+Q1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZTo6Zm9udEZhbWlseSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGU6OmJhc2VQYWxldHRlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0Rm9udEZhbWlseSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnNldEJhc2VQYWxldHRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6aW5pdGlhbGl6ZU1hcExpa2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpzZXRGcm9tTWFwTGlr
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmNsZWFyKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6cmVtb3ZlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3NzVGV4dCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnJlYXR0YWNoKToK
KyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmg6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmguCisgICAgICAgICogY3NzL0NTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS5pZGw6IEFkZGVkLgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVz
Lmpzb246CisgICAgICAgICogY3NzL0NTU1J1bGUuY3BwOgorICAgICAgICAqIGNzcy9DU1NSdWxl
Lmg6CisgICAgICAgICogY3NzL0NTU1J1bGUuaWRsOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ZhbHVlOjpjc3NUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1ZhbHVlOjpkZXN0cm95KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1ZhbHVlOjppc0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlIGNv
bnN0KToKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZUJhc2U6OmRlc3Ryb3kpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6
Y29weSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpjcmVhdGVDU1NP
TVdyYXBwZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXM6OlN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVS
dWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjppc0ZvbnRQYWxldHRlVmFs
dWVzUnVsZSBjb25zdCk6CisgICAgICAgIChpc1R5cGUpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1
bGVUeXBlLmg6CisgICAgICAgICogY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp0cmF2ZXJzZVJ1bGVzSW5WZWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVTaGVldENvbnRlbnRzOjp0cmF2ZXJzZVN1YnJlc291cmNlcyBjb25zdCk6CisgICAgICAgICog
Y3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjc3NBdFJ1bGVJ
RCk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5oOgorICAgICAgICAqIGNzcy9w
YXJzZXIvQ1NTUGFyc2VySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJJbXBs
Ojpjb25zdW1lQXRSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1
bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1w
bDo6Y29uc3VtZURlY2xhcmF0aW9uKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklt
cGwuaDoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6OmNvbnN1bWVCYXNlUGFsZXR0ZURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6
Y29uc3VtZU92ZXJyaWRlQ29sb3JEZXNjcmlwdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
b3BlcnR5UGFyc2VyOjpwYXJzZUZvbnRQYWxldHRlVmFsdWVzRGVzY3JpcHRvcik6CisgICAgICAg
ICogY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oOgorCiAyMDIxLTA5LTIwICBBbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEluY29ycmVjdCBz
dXJyb2dhdGUgaGFuZGxpbmcgd2hlbiBkZWFsaW5nIHdpdGggc2hvcnQgbGluZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggNzM3ZmU2MDQ3YjIzYzAwMzMyMTNkOWQyNjYwYzhmY2IxMzQ4ZGMyOC4u
YTQxMzJkZmI1Yjk2NmM0ODkxNTdkZTlhMTVlZjY2MmE3MGQ3NDU0OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTcwNSw2ICs3MDUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwog
ICAgIGNzcy9DU1NDb25kaXRpb25SdWxlLmlkbAogICAgIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxl
LmlkbAogICAgIGNzcy9DU1NGb250RmFjZVJ1bGUuaWRsCisgICAgY3NzL0NTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5pZGwKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAogICAgIGNzcy9DU1NJ
bXBvcnRSdWxlLmlkbAogICAgIGNzcy9DU1NLZXlmcmFtZVJ1bGUuaWRsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA3ZWYzOWZkYzM1YWVl
MmEyM2QzZjZkYTYwNjc3MDE0N2U2ODlmNGVhLi5jZjJlOWFkY2NhZDBhZTE2Njg3ODQ5OTU0NmQz
Y2Y3N2I5ZGM5NjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKQEAgLTY4Miw2ICs2ODIsNyBAQCAkKFBST0pFQ1RfRElSKS9jcnlwdG8vcGFy
YW1ldGVycy9Sc2FQc3NQYXJhbXMuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTQ29uZGl0aW9u
UnVsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbAogJChQ
Uk9KRUNUX0RJUikvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy9D
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTR3JvdXBp
bmdSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAkKFBST0pF
Q1RfRElSKS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCAyN2ViZDhhOTI0NzMzNTU1M2RhYjQ3
N2ZiZjQ4ZjBkMGVlNWE1YmUwLi4xNmNjNDg3ZDRjMDJmNGRhOTdiYzNkYjIxNDAzYWI0ZDczYzUy
N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdApAQCAtMzAwLDYgKzMwMCw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVs
ZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
Rm9udEZhY2VSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NHcm91cGluZ1J1
bGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NT
U0dyb3VwaW5nUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0NTU0ltcG9ydFJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCA1Y2ZiYmE3ZjYxMDgxYjFkYTE4MGZhZTBjYWFlODgyNmQ2MWMzYzk3Li5kMjAyNDNlZjg1Nzdi
ZTM4NTUyODUxNTdkOWE2Zjc1NGU5NzU3ZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5p
ZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1j
Q29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTU3NSw2ICs1NzUsNyBAQCBKU19CSU5ESU5H
X0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTR3JvdXBpbmdSdWxl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgXAogICAgICQoV2Vi
Q29yZSkvY3NzL0NTU0tleWZyYW1lUnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZjQx
MTMzNGQ2YjcxNDczNzA1NzA2Y2UwNWY0ZGM2MTA0ODdjYTc3ZS4uYzBkMzYzYmQ3OGQ1NWU3YmYx
MTAzNmQwNGJhNmUyZWVhNTUzYmQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0zNjYsNiArMzY2
LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIGNzcy9DU1ND
b25kaXRpb25SdWxlLmgKICAgICBjc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oCiAgICAgY3Nz
L0NTU0ZvbnRGYWNlUnVsZS5oCisgICAgY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCiAg
ICAgY3NzL0NTU0ZvbnRGYW1pbHkuaAogICAgIGNzcy9DU1NHcmlkSW50ZWdlclJlcGVhdFZhbHVl
LmgKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZDE4YmFkYmZk
YjczMzNhYjEyODA3MWE4Y2QzMDlmNGRkOWE3OTU3Yi4uZTQwMDA1YzhhMGRkYjRhMTZmNzJiMjI1
MDhlZTdmNjY4MDgyNDJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTEsNCArMSw0IEBACi0vLyBDb3B5
cmlnaHQgKEMpIDIwMTctMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBD
b3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAv
LwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY1OCw2ICs2NTgsOCBAQCBjc3MvQ1NT
Rm9udEZhY2VTZXQuY3BwCiBjc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCiBjc3MvQ1NTRm9udEZh
Y2VTcmNWYWx1ZS5jcHAKIGNzcy9DU1NGb250RmVhdHVyZVZhbHVlLmNwcAorY3NzL0NTU0ZvbnRQ
YWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcAorY3NzL0NTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZS5jcHAKIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwCiBjc3MvQ1NTRm9udFN0eWxlUmFu
Z2VWYWx1ZS5jcHAKIGNzcy9DU1NGb250U3R5bGVWYWx1ZS5jcHAKQEAgLTI4MjMsNiArMjgyNSw3
IEBAIEpTQ1NTQW5pbWF0aW9uLmNwcAogSlNDU1NDb25kaXRpb25SdWxlLmNwcAogSlNDU1NDb3Vu
dGVyU3R5bGVSdWxlLmNwcAogSlNDU1NGb250RmFjZVJ1bGUuY3BwCitKU0NTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5jcHAKIEpTQ1NTR3JvdXBpbmdSdWxlLmNwcAogSlNDU1NJbXBvcnRSdWxlLmNw
cAogSlNDU1NLZXlmcmFtZVJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNjE0MzhlOGJiN2I2MzJiNWIzMWQyM2QyYTlk
MDMzZWJhNzNiMzk4YS4uYWY5M2M3YjIzM2RkNjhiMDM5YzgyYTY3MWU2OGEyNTc5YjUxNjI5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNjY2LDYgKzY2Niw3IEBACiAJCTFDRTg4NjQxMjYxMDVCRjIwMDBDODE2QyAvKiBJbk1l
bW9yeURpc3BsYXlMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQ0U4ODYzRjI2MTA1QTVGMDAwQzgxNkMgLyogSW5NZW1vcnlEaXNwbGF5TGlzdC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFDRThE
MTI3MjYxODVDMEUwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJZGVudGlmaWVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0U4RDEyNTI2
MTg1QkQ4MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFDRThEMTJFMjYx
ODYxQzQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0U4RDEyQzI2MTg2MTY0MDBGQzNBRUYgLyog
RGlzcGxheUxpc3RJdGVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTFDRUFBNTMyMjZGMzM2RkMwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUNFQUE1MzEyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmggKi87IH07CiAJCTFDRkFFMzIzMEE2RDZBM0Yw
MDMyNTkzRCAvKiBsaWJvYmpjLmR5bGliIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUNGQUUzMjIwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHls
aWIgKi87IH07CiAJCTFEMDAyNkE0MjM3NEQ2MjQwMENBNkNERiAvKiBKU1BpY3R1cmVJblBpY3R1
cmVXaW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFEMDAyNkEyMjM3NEQ2MjMwMENBNkNERiAvKiBKU1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuaCAq
LzsgfTsKIAkJMUQwMDI2QUEyMzc0RjlFQTAwQ0E2Q0RGIC8qIEpTRW50ZXJQaWN0dXJlSW5QaWN0
dXJlRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFEMDAyNkE4MjM3NEY5RDkwMENBNkNERiAvKiBKU0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50
LmggKi87IH07CkBAIC03MDgwLDYgKzcwODEsMTEgQEAKIAkJMUNFOEQxMjUyNjE4NUJEODAwRkMz
QUVGIC8qIERpc3BsYXlMaXN0SXRlbUJ1ZmZlcklkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RGlzcGxheUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQ0U4RDEyQjI2MTg2MTY0MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVyYXRvci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZXJhdG9yLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNFOEQxMkMyNjE4NjE2NDAwRkMzQUVGIC8qIERpc3BsYXlM
aXN0SXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzcGxheUxpc3RJdGVyYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VBQTUyQzI2RjMxQTNDMDA4Njg1MDcgLyogQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUFBNTJE
MjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDRUFBNTJGMjZGMzFBRjgwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFDRUFBNTMwMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFDRUFBNTMxMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVl
c092ZXJyaWRlQ29sb3JWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NGb250UGFsZXR0ZVZhbHVl
c092ZXJyaWRlQ29sb3JWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0Yw
QkZENDIyOTg3MDY4MDBFRDIwNzQgLyogVGV4dFNpemVBZGp1c3RtZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFRleHRTaXplQWRqdXN0bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFDRjE4RjNDMjZCQjVBRjIwMDRCMTcyMiAvKiBMb2dJbml0aWFsaXphdGlvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBMb2dJbml0aWFsaXphdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDRkFFMzIyMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5bGli
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBp
bGVkLm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJvYmpjLmR5bGliOyBwYXRoID0gL3Vzci9saWIv
bGlib2JqYy5keWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKQEAgLTI5NTg4LDYg
KzI5NTk0LDExIEBACiAJCQkJODM1MjBDN0QxQTcxQkZDQzAwNkJEMkFBIC8qIENTU0ZvbnRGYW1p
bHkuaCAqLywKIAkJCQk0QTZFOUZDMTEzQzE3RDFEMDA0NkE3RjggLyogQ1NTRm9udEZlYXR1cmVW
YWx1ZS5jcHAgKi8sCiAJCQkJNEE2RTlGQzIxM0MxN0QxRDAwNDZBN0Y4IC8qIENTU0ZvbnRGZWF0
dXJlVmFsdWUuaCAqLywKKwkJCQkxQ0VBQTUzMDI2RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwICovLAorCQkJCTFDRUFBNTMxMjZGMzMx
QzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oICov
LAorCQkJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUuY3BwICovLAorCQkJCTFDRUFBNTJEMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUuaCAqLywKKwkJCQkxQ0VBQTUyRjI2RjMxQUY4MDA4Njg1MDcgLyogQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCAqLywKIAkJCQlCQzY0QjREMzBDQjQyOThBMDA1RjJCNjIg
LyogQ1NTRm9udFNlbGVjdG9yLmNwcCAqLywKIAkJCQlCQzY0QjRENDBDQjQyOThBMDA1RjJCNjIg
LyogQ1NTRm9udFNlbGVjdG9yLmggKi8sCiAJCQkJQzJFMzhFRkYxRTg0NTczNTAwQ0EzQURGIC8q
IENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuY3BwICovLApAQCAtMzE5NjIsNiArMzE5NzMsNyBAQAog
CQkJCUJDNjRCNERBMENCNDI5OEEwMDVGMkI2MiAvKiBDU1NGb250RmFjZVNyY1ZhbHVlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4MzUyMEM3RTFBNzFCRkNDMDA2QkQyQUEgLyogQ1NTRm9udEZhbWls
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE2RTlGQzQxM0MxN0QxRDAwNDZBN0Y4IC8qIENTU0Zv
bnRGZWF0dXJlVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTFDRUFBNTMyMjZGMzM2RkMwMDg2
ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkM2NEI0REMwQ0I0Mjk4QTAwNUYyQjYyIC8qIENTU0ZvbnRTZWxlY3Rvci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQzJFMzhGMDIxRTg0NTczNTAwQ0EzQURGIC8qIENTU0ZvbnRT
dHlsZVJhbmdlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyRTM4RUZFMUU4Mzk2RkQwMENB
M0FERiAvKiBDU1NGb250U3R5bGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAppbmRleCA3NTBlMDBjMzg3ZmJk
Mjc4ZTU4NWZlYzZiZDM0ZDIwNTA3MWNjNWQzLi44YzRjNTYxNWEzOWY3MTM5NWQ3ZGM3ZTliOGZl
NzlmNjE5N2M5MjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NT
U1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVs
ZUN1c3RvbS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkNTU0NvdW50ZXJTdHls
ZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVk
ZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAt
MzgsNiArMzksNyBAQAogI2luY2x1ZGUgIkNTU1N1cHBvcnRzUnVsZS5oIgogI2luY2x1ZGUgIkpT
Q1NTQ291bnRlclN0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTRm9udEZhY2VSdWxlLmgiCisj
aW5jbHVkZSAiSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJKU0NTU0lt
cG9ydFJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU0tleWZyYW1lUnVsZS5oIgogI2luY2x1ZGUgIkpT
Q1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtNzAsNiArNzIsOCBAQCBKU1ZhbHVlIHRvSlNOZXdseUNy
ZWF0ZWQoSlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBS
ZWY8QwogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NNZWRpYVJ1bGU+KGdsb2JhbE9i
amVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxlOjpGT05UX0ZBQ0VfUlVMRToK
ICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTRm9udEZhY2VSdWxlPihnbG9iYWxPYmpl
Y3QsIFdURk1vdmUocnVsZSkpOworICAgIGNhc2UgQ1NTUnVsZTo6Rk9OVF9QQUxFVFRFX1ZBTFVF
U19SVUxFOgorICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxlOjpQ
QUdFX1JVTEU6CiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1BhZ2VSdWxlPihnbG9i
YWxPYmplY3QsIFdURk1vdmUocnVsZSkpOwogICAgIGNhc2UgQ1NTUnVsZTo6SU1QT1JUX1JVTEU6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwCmluZGV4IDI2YjQ5NTdmODQ5YjcwMWM1ZDA2ZjdiNDQzZDVkY2ZiZTljZTkzOTAuLmZjZjVi
MjI5ZGVjOTc2MzJlOGZmZDA0ZTNkZDUzYjZmODZhODA4NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xLDYgKzEsNiBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNCBaYWNrIFJ1c2luIDx6YWNrQGtkZS5vcmc+Ci0g
KiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0
Lm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwNyBOaWNob2xhcyBTaGFua3MgPHdlYmtpdEBuaWNr
c2hhbmtzLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAxMSBTZW5jaGEsIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KQEAgLTQwNTIsNiArNDA1MiwxMSBAQCBSZWZQdHI8Q1NTVmFsdWU+IENvbXB1
dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNvbnN0IFJlbmRlclN0
eQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udERpc3BsYXk6CiAgICAgICAgICAgICBicmVh
azsKIAorICAgICAgICAvKiBVbmltcGxlbWVudGVkIEBmb250LXBhbGV0dGUtdmFsdWVzIHByb3Bl
cnRpZXMgKi8KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhc2VQYWxldHRlOgorICAgICAgICBj
YXNlIENTU1Byb3BlcnR5T3ZlcnJpZGVDb2xvcjoKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAg
ICAgIC8qIE90aGVyIHVuaW1wbGVtZW50ZWQgcHJvcGVydGllcyAqLwogICAgICAgICBjYXNlIENT
U1Byb3BlcnR5UGFnZTogLy8gZm9yIEBwYWdlCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTaXpl
OiAvLyBmb3IgQHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2ZDQ2
YzJhMTFmYWJmZDFmMjc1MDdmNGIzMzMxMzdlNjY0YjdmM2UKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUu
Y3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTdHJp
bmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU6OmN1c3RvbUNTU1RleHQo
KSBjb25zdAoreworICAgIHJldHVybiBtYWtlU3RyaW5nKG1fa2V5LT5jc3NUZXh0KCksICIgIiwg
bV9jb2xvci0+Y3NzVGV4dCgpKTsKK30KKworYm9vbCBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJy
aWRlQ29sb3JWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVD
b2xvclZhbHVlJiBvdGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9rZXktPmVxdWFscyhvdGhl
ci5rZXkoKSkgJiYgbV9jb2xvci0+ZXF1YWxzKG90aGVyLmNvbG9yKCkpOworfQorCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNv
bG9yVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJy
aWRlQ29sb3JWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3MTkwYmJjOTI3MDJkYjNhNjk5MGE3Yzk4YWVh
ZjIxNDRiZjZmN2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaApAQCAtMCwwICsxLDc2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgi
CisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgiCisjaW5jbHVkZSA8d3RmL0Z1bmN0
aW9uLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgQ2FjaGVkRm9udDsKK2NsYXNzIEZvbnRMb2FkUmVxdWVzdDsKK2NsYXNz
IFNWR0ZvbnRGYWNlRWxlbWVudDsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2Ns
YXNzIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlIGZpbmFsIDogcHVibGlj
IENTU1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENTU0ZvbnRQYWxldHRlVmFsdWVz
T3ZlcnJpZGVDb2xvclZhbHVlPiBjcmVhdGUoUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIGtleSwg
UmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIGNvbG9yKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUoV1RGTW92
ZShrZXkpLCBXVEZNb3ZlKGNvbG9yKSkpOworICAgIH0KKworICAgIGNvbnN0IENTU1ByaW1pdGl2
ZVZhbHVlJiBrZXkoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fa2V5LmdldCgpOwor
ICAgIH0KKworICAgIGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBjb2xvcigpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gbV9jb2xvci5nZXQoKTsKKyAgICB9CisKKyAgICBTdHJpbmcgY3Vz
dG9tQ1NTVGV4dCgpIGNvbnN0OworCisgICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NTRm9udFBhbGV0
dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUmKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBDU1NG
b250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+
JiYga2V5LCBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYgY29sb3IpCisgICAgICAgIDogQ1NTVmFs
dWUoRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3MpCisgICAgICAgICwgbV9rZXko
V1RGTW92ZShrZXkpKQorICAgICAgICAsIG1fY29sb3IoV1RGTW92ZShjb2xvcikpCisgICAgewor
ICAgIH0KKworICAgIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9rZXk7CisgICAgUmVmPENTU1By
aW1pdGl2ZVZhbHVlPiBtX2NvbG9yOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19WQUxVRShDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJy
aWRlQ29sb3JWYWx1ZSwgaXNGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSgpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hOGNjNzQxNTkxMTg5Y2I2OGNlM2MyOWMwYTBhZTE0OGM5OTFiNTE2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5j
cHAKQEAgLTAsMCArMSwxMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlLmgiCisKKyNpbmNsdWRlICJDb2xvclNlcmlhbGl6YXRpb24uaCIKKyNpbmNsdWRl
ICJKU0RPTU1hcExpa2UuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRp
b24uaCIKKyNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRlICJTdHlsZVJ1bGUu
aCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIGZvbnRQYWxldHRlVmFsdWVzUnVsZSwgQ1NT
U3R5bGVTaGVldCogcGFyZW50KQorICAgIDogQ1NTUnVsZShwYXJlbnQpCisgICAgLCBtX2ZvbnRQ
YWxldHRlVmFsdWVzUnVsZShmb250UGFsZXR0ZVZhbHVlc1J1bGUpCit7Cit9CisKK0NTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZTo6fkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgpCit7Cit9CisKK1N0
cmluZyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmZvbnRGYW1pbHkoKSBjb25zdAoreworICAg
IHJldHVybiBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+Zm9udEZhbWlseSgpOworfQorCitTdHJp
bmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpiYXNlUGFsZXR0ZSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIFdURjo6c3dpdGNoT24obV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmJhc2VQYWxldHRl
KCksIFsmXShpbnQ2NF90IGluZGV4KSB7CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKGluZGV4
KTsKKyAgICB9LCBbJl0oY29uc3QgQXRvbVN0cmluZyYgYmFzZVBhbGV0dGUpIC0+IFN0cmluZyB7
CisgICAgICAgIGlmICghYmFzZVBhbGV0dGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4g
YmFzZVBhbGV0dGUuc3RyaW5nKCk7CisgICAgICAgIHJldHVybiBTdHJpbmdJbXBsOjplbXB0eSgp
OworICAgIH0pOworfQorCit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0Rm9udEZh
bWlseShTdHJpbmcmJiBmb250RmFtaWx5KQoreworICAgIFVOVVNFRF9QQVJBTShmb250RmFtaWx5
KTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMuCit9CisKK3ZvaWQgQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpzZXRCYXNlUGFsZXR0ZShTdHJpbmcmJiBiYXNlUGFsZXR0ZSkKK3sKKyAg
ICBVTlVTRURfUEFSQU0oYmFzZVBhbGV0dGUpOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhp
cy4KK30KKwordm9pZCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmluaXRpYWxpemVNYXBMaWtl
KERPTU1hcEFkYXB0ZXImIG1hcCkKK3sKKyAgICBmb3IgKGF1dG8mIHBhaXIgOiBtX2ZvbnRQYWxl
dHRlVmFsdWVzUnVsZS0+b3ZlcnJpZGVDb2xvcigpKSB7CisgICAgICAgIGlmICghV1RGOjpob2xk
c19hbHRlcm5hdGl2ZTxpbnQ2NF90PihwYWlyLmZpcnN0KSkKKyAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICBtYXAuc2V0PElETFVuc2lnbmVkTG9uZywgSURMVVNWU3RyaW5nPihXVEY6Omdl
dDxpbnQ2NF90PihwYWlyLmZpcnN0KSwgc2VyaWFsaXphdGlvbkZvckNTUyhwYWlyLnNlY29uZCkp
OworICAgIH0KK30KKwordm9pZCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnNldEZyb21NYXBM
aWtlKHVuc2lnbmVkIGtleSwgU3RyaW5nJiYgdmFsdWUpCit7CisgICAgVU5VU0VEX1BBUkFNKGtl
eSk7CisgICAgVU5VU0VEX1BBUkFNKHZhbHVlKTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRo
aXMuCit9CisKK3ZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjbGVhcigpCit7CisgICAg
bV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmNsZWFyT3ZlcnJpZGVDb2xvcigpOworfQorCitib29s
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6cmVtb3ZlKHVuc2lnbmVkIGtleSkKK3sKKyAgICBy
ZXR1cm4gbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPnJlbW92ZShrZXkpOworfQorCitTdHJpbmcg
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAgICBTdHJpbmdC
dWlsZGVyIGJ1aWxkZXI7CisgICAgYnVpbGRlci5hcHBlbmQoIkBmb250LXBhbGV0dGUtdmFsdWVz
ICIsIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5uYW1lKCksICIgeyAiKTsKKyAgICBpZiAoIW1f
Zm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5mb250RmFtaWx5KCkuaXNOdWxsKCkpCisgICAgICAgIGJ1
aWxkZXIuYXBwZW5kKCJmb250LWZhbWlseTogIiwgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmZv
bnRGYW1pbHkoKSwgIjsgIik7CisgICAgV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVz
UnVsZS0+YmFzZVBhbGV0dGUoKSwgWyZdKGludDY0X3QgaW5kZXgpIHsKKyAgICAgICAgYnVpbGRl
ci5hcHBlbmQoImJhc2UtcGFsZXR0ZTogIiwgaW5kZXgsICI7ICIpOworICAgIH0sIFsmXShjb25z
dCBBdG9tU3RyaW5nJiBiYXNlUGFsZXR0ZSkgeworICAgICAgICBpZiAoIWJhc2VQYWxldHRlLmlz
TnVsbCgpKQorICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoImJhc2UtcGFsZXR0ZTogIiwgc2Vy
aWFsaXplU3RyaW5nKGJhc2VQYWxldHRlLnN0cmluZygpKSwgIjsgIik7CisgICAgfSk7CisgICAg
aWYgKCFtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+b3ZlcnJpZGVDb2xvcigpLmlzRW1wdHkoKSkg
eworICAgICAgICBidWlsZGVyLmFwcGVuZCgib3ZlcnJpZGUtY29sb3I6Iik7CisgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29s
b3IoKS5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgaWYgKGkpCisgICAgICAgICAgICAgICAg
YnVpbGRlci5hcHBlbmQoJywnKTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Cisg
ICAgICAgICAgICBXVEY6OnN3aXRjaE9uKG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5vdmVycmlk
ZUNvbG9yKClbaV0uZmlyc3QsIFsmXShjb25zdCBBdG9tU3RyaW5nJiBuYW1lKSB7CisgICAgICAg
ICAgICAgICAgYnVpbGRlci5hcHBlbmQoc2VyaWFsaXplU3RyaW5nKG5hbWUuc3RyaW5nKCkpKTsK
KyAgICAgICAgICAgIH0sIFsmXShpbnQ2NF90IGluZGV4KSB7CisgICAgICAgICAgICAgICAgYnVp
bGRlci5hcHBlbmQoaW5kZXgpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBidWlsZGVy
LmFwcGVuZCgnICcsIHNlcmlhbGl6YXRpb25Gb3JDU1MobV9mb250UGFsZXR0ZVZhbHVlc1J1bGUt
Pm92ZXJyaWRlQ29sb3IoKVtpXS5zZWNvbmQpKTsKKyAgICAgICAgfQorICAgICAgICBidWlsZGVy
LmFwcGVuZCgiOyAiKTsKKyAgICB9CisgICAgYnVpbGRlci5hcHBlbmQoIn0iKTsKKyAgICByZXR1
cm4gYnVpbGRlci50b1N0cmluZygpOworfQorCit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFzZSYgcnVsZSkKK3sKKyAgICBtX2ZvbnRQYWxldHRlVmFs
dWVzUnVsZSA9IHN0YXRpY19jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJj4ocnVsZSk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYWFmZjk0MGJmYTA3OWUyODg0YTQ3
NzkyNGQzNGEyNWZjY2Q2MThmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIkNTU1J1bGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDU1NTdHlsZURl
Y2xhcmF0aW9uOworY2xhc3MgRE9NTWFwQWRhcHRlcjsKK2NsYXNzIFN0eWxlUnVsZUZvbnRGYWNl
OworY2xhc3MgU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjsKKworY2xhc3MgQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlIGZpbmFsIDogcHVibGljIENTU1J1bGUgeworcHVibGljOgorICAgIHN0
YXRpYyBSZWY8Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlPiBjcmVhdGUoU3R5bGVSdWxlRm9udFBh
bGV0dGVWYWx1ZXMmIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KSB7IHJldHVybiBhZG9wdFJl
ZigqbmV3IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZShydWxlLCBzaGVldCkpOyB9CisKKyAgICB2
aXJ0dWFsIH5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoKTsKKworICAgIFN0cmluZyBmb250RmFt
aWx5KCkgY29uc3Q7CisgICAgU3RyaW5nIGJhc2VQYWxldHRlKCkgY29uc3Q7CisKKyAgICB2b2lk
IHNldEZvbnRGYW1pbHkoU3RyaW5nJiYpOworICAgIHZvaWQgc2V0QmFzZVBhbGV0dGUoU3RyaW5n
JiYpOworCisgICAgdm9pZCBpbml0aWFsaXplTWFwTGlrZShET01NYXBBZGFwdGVyJik7CisgICAg
dm9pZCBzZXRGcm9tTWFwTGlrZSh1bnNpZ25lZCBrZXksIFN0cmluZyYmIHZhbHVlKTsKKyAgICB2
b2lkIGNsZWFyKCk7CisgICAgYm9vbCByZW1vdmUodW5zaWduZWQga2V5KTsKKworcHJpdmF0ZToK
KyAgICBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMm
LCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpOworCisgICAgQ1NTUnVsZTo6VHlwZSB0eXBlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFOyB9CisgICAgU3RyaW5n
IGNzc1RleHQoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2Um
KSBmaW5hbDsKKworICAgIFJlZjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gbV9mb250UGFs
ZXR0ZVZhbHVlc1J1bGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUoQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLCBDU1NSdWxl
OjpGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxNWY2MTIxNzIzMjhlMDlmNzNl
ZTU5NjA3MGRiZGRkNDgyMjQyNTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbApAQCAtMCwwICsxLDI5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKwordHlwZWRl
ZiBVU1ZTdHJpbmcgQ1NTT01TdHJpbmc7CisKK1sKKyAgICBFeHBvc2VkPVdpbmRvdworXSBpbnRl
cmZhY2UgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIDogQ1NTUnVsZSB7CisgICAgbWFwbGlrZTx1
bnNpZ25lZCBsb25nLCBDU1NPTVN0cmluZz47CisgICAgYXR0cmlidXRlIENTU09NU3RyaW5nIGZv
bnRGYW1pbHk7CisgICAgYXR0cmlidXRlIENTU09NU3RyaW5nIGJhc2VQYWxldHRlOworfTsKKwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbiBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXggZGM4ZmM0MTU0MzY2ZTZlNzU4
MWVhZTA0YjQzZWI5NmM5OTVlMTliYy4uNjI4ZTE3YjYyZjg0NmY3ZTI3ZTA2NTViMzUxMGZkN2Y4
MjkzNjI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNv
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCkBAIC00MDg1LDYg
KzQwODUsMjYgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9jc3MtZm9udHMtMy8jc3JjLWRlc2MiCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisgICAg
ICAgICJiYXNlLXBhbGV0dGUiOiB7CisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjog
eworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlLAorICAgICAgICAgICAgICAg
ICJkZXNjcmlwdG9yLW9ubHkiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNw
ZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1mb250cyIs
CisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZv
bnRzLTQvI2Jhc2UtcGFsZXR0ZS1kZXNjIgorICAgICAgICAgICAgfQorICAgICAgICB9LAorICAg
ICAgICAib3ZlcnJpZGUtY29sb3IiOiB7CisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVz
IjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxkZXIiOiB0cnVlLAorICAgICAgICAgICAg
ICAgICJkZXNjcmlwdG9yLW9ubHkiOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAg
InNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1mb250
cyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LWZvbnRzLTQvI292ZXJyaWRlLWNvbG9yIgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAg
ICAgICAic3RvcC1jb2xvciI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7
CiAgICAgICAgICAgICAgICAgImNvbnZlcnRlciI6ICJTVkdDb2xvciIsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVs
ZS5jcHAKaW5kZXggMGYzYzQzOTRkOTVlMjM3MDZlNDhmNGUyOWFmYjQ4NGZiZmRjMzgwMi4uNGVh
ZGZkN2M2MTFmMTE1YmFiOWNjYjRkODUxMjU4ZTE4ODc1ZjZiNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxl
LmNwcApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtu
b2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUu
b3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2LCAyMDA3LCAyMDEyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMiAtIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC00
OCw2ICs0OCw3IEBAIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OktleWZyYW1lID09IHN0
YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5CiBDT01QSUxFX0FTU0VSVChTdHls
ZVJ1bGVUeXBlOjpOYW1lc3BhY2UgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVs
ZTo6VHlwZTo6TkFNRVNQQUNFX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElMRV9B
U1NFUlQoU3R5bGVSdWxlVHlwZTo6Q291bnRlclN0eWxlID09IHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVR5cGU+KENTU1J1bGU6OlR5cGU6OkNPVU5URVJfU1RZTEVfUlVMRSksIGVudW1zX3Nob3VsZF9t
YXRjaCk7CiBDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpTdXBwb3J0cyA9PSBzdGF0aWNf
Y2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpTVVBQT1JUU19SVUxFKSwgZW51bXNf
c2hvdWxkX21hdGNoKTsKK0NPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRl
VmFsdWVzID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6OkZPTlRf
UEFMRVRURV9WQUxVRVNfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CiAKIEV4Y2VwdGlvbk9y
PHZvaWQ+IENTU1J1bGU6OnNldENzc1RleHQoY29uc3QgU3RyaW5nJikKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVs
ZS5oCmluZGV4IDdlZmIzYTE3YmU0YjQzMTFkNDUwNjAyY2Q3MTgwYjQxNjAzY2Y3MTQuLmU3NDU5
ZmFlZTA3ODI0NTA0ZjAwNzcwYzM0NWUzMDgwNGQ0YjQ0YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaApA
QCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtk
ZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQot
ICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExIEFuZHJlYXMgS2xpbmcgKGtsaW5nQHdlYmtpdC5v
cmcpCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgpAQCAtMzgsMTkgKzM4LDIwIEBAIHB1YmxpYzoKIAogICAgIC8vIFdl
YklETCBlbnVtCiAgICAgZW51bSBUeXBlIHsKLSAgICAgICAgVU5LTk9XTl9SVUxFLAotICAgICAg
ICBTVFlMRV9SVUxFLAotICAgICAgICBDSEFSU0VUX1JVTEUsCi0gICAgICAgIElNUE9SVF9SVUxF
LAotICAgICAgICBNRURJQV9SVUxFLAotICAgICAgICBGT05UX0ZBQ0VfUlVMRSwKLSAgICAgICAg
UEFHRV9SVUxFLAotICAgICAgICBLRVlGUkFNRVNfUlVMRSwKLSAgICAgICAgS0VZRlJBTUVfUlVM
RSwKLSAgICAgICAgTUFSR0lOX1JVTEUsCi0gICAgICAgIE5BTUVTUEFDRV9SVUxFLAotICAgICAg
ICBDT1VOVEVSX1NUWUxFX1JVTEUsCi0gICAgICAgIFNVUFBPUlRTX1JVTEUKKyAgICAgICAgVU5L
Tk9XTl9SVUxFID0gMCwKKyAgICAgICAgU1RZTEVfUlVMRSA9IDEsCisgICAgICAgIENIQVJTRVRf
UlVMRSA9IDIsCisgICAgICAgIElNUE9SVF9SVUxFID0gMywKKyAgICAgICAgTUVESUFfUlVMRSA9
IDQsCisgICAgICAgIEZPTlRfRkFDRV9SVUxFID0gNSwKKyAgICAgICAgUEFHRV9SVUxFID0gNiwK
KyAgICAgICAgS0VZRlJBTUVTX1JVTEUgPSA3LAorICAgICAgICBLRVlGUkFNRV9SVUxFID0gOCwK
KyAgICAgICAgTUFSR0lOX1JVTEUgPSA5LAorICAgICAgICBOQU1FU1BBQ0VfUlVMRSA9IDEwLAor
ICAgICAgICBDT1VOVEVSX1NUWUxFX1JVTEUgPSAxMSwKKyAgICAgICAgU1VQUE9SVFNfUlVMRSA9
IDEyLAorICAgICAgICBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUgPSAxOSAvLyBodHRwczovL2dp
dGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjYyMwogICAgIH07CiAKICAgICBlbnVt
IERlcHJlY2F0ZWRUeXBlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxl
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAppbmRleCBmM2U2NjEzN2Q3NjM3
MzBjMzdmMDIzYTE2MzNlMzJlZjgyNTBlYjU2Li5hNTg4YWJlNGY2OTQ2NTNjZmYxMzMwZjFkMDdl
NDYyYTliMjc5YmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdt
YWlsLmNvbT4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC00NCw2ICs0NCw3IEBACiAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgTkFNRVNQQUNFX1JVTEUgPSAxMDsKICAgICBbRW5hYmxlZEJ5U2V0dGluZz1DU1ND
b3VudGVyU3R5bGVBdFJ1bGVzXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBDT1VOVEVSX1NUWUxFX1JV
TEUgPSAxMTsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVVBQT1JUU19SVUxFID0gMTI7Cisg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFID0gMTk7IC8q
IGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vlcy82NjIzICovCiAKICAg
ICAvLyBMZWdhY3kgc3lub255bXMgZm9yIHRoZSBhYm92ZSwga2VwdCB0byBhdm9pZCBicmVha2lu
ZyBleGlzdGluZyBjb250ZW50LgogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFdFQktJVF9LRVlG
UkFNRVNfUlVMRSA9IDc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCA4NzM2OWFiMGRiNTJm
MGEyZThhM2JhMmMwMzk1MzYwNGM0NGQxN2UyLi4xOWNiNzNlZmVkM2RjYjgwNjA3NDIxMDk2NGRl
ZDg0NmM2MDU1NWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTEsNiArMSw3IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDExIEFuZHJlYXMgS2xpbmcgKGtsaW5nQHdlYmtpdC5vcmcp
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSw2ICs0
MCw3IEBACiAjaW5jbHVkZSAiQ1NTRmlsdGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Zv
bnRGYWNlU3JjVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmVhdHVyZVZhbHVlLmgiCisjaW5j
bHVkZSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKICNpbmNsdWRl
ICJDU1NGb250U3R5bGVSYW5nZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFN0eWxlVmFsdWUu
aCIKICNpbmNsdWRlICJDU1NGb250VmFsdWUuaCIKQEAgLTE2NCw2ICsxNjYsOCBAQCBib29sIENT
U1ZhbHVlOjplcXVhbHMoY29uc3QgQ1NTVmFsdWUmIG90aGVyKSBjb25zdAogICAgICAgICAgICAg
cmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRm9udFZhbHVlPigqdGhpcywgb3RoZXIpOwogICAg
ICAgICBjYXNlIEZvbnRGYWNlU3JjQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNT
U1ZhbHVlczxDU1NGb250RmFjZVNyY1ZhbHVlPigqdGhpcywgb3RoZXIpOworICAgICAgICBjYXNl
IEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvckNsYXNzOgorICAgICAgICAgICAgcmV0dXJu
IGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+
KCp0aGlzLCBvdGhlcik7CiAgICAgICAgIGNhc2UgRm9udEZlYXR1cmVDbGFzczoKICAgICAgICAg
ICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0ZvbnRGZWF0dXJlVmFsdWU+KCp0aGlzLCBv
dGhlcik7CiAgICAgICAgIGNhc2UgRm9udFZhcmlhdGlvbkNsYXNzOgpAQCAtMjY0LDYgKzI2OCw4
IEBAIFN0cmluZyBDU1NWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBkb3du
Y2FzdDxDU1NGb250VmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBGb250
RmFjZVNyY0NsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9udEZhY2VTcmNWYWx1
ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKKyAgICBjYXNlIEZvbnRQYWxldHRlVmFsdWVzT3Zl
cnJpZGVDb2xvckNsYXNzOgorICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2Fz
ZSBGb250RmVhdHVyZUNsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9udEZlYXR1
cmVWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNlIEZvbnRWYXJpYXRpb25D
bGFzczoKQEAgLTM3Nyw2ICszODMsOSBAQCB2b2lkIENTU1ZhbHVlOjpkZXN0cm95KCkKICAgICBj
YXNlIEZvbnRGYWNlU3JjQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NGb250RmFj
ZVNyY1ZhbHVlPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3M6CisgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZT4odGhpcyk7CisgICAgICAgIHJldHVybjsK
ICAgICBjYXNlIEZvbnRGZWF0dXJlQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NG
b250RmVhdHVyZVZhbHVlPih0aGlzKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUu
aAppbmRleCAyM2ViNWVjMzhjY2U5NjkwZTVkOGFiNDRiNTY1MjQ1Zjg3MmQ5MDVkLi5iMzFjOTky
MGVhNDMxNzY4OTBiMjA5NmFlZmI4OWEwZmI3Y2YzZjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApA
QCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtk
ZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDggQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0IC0gMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAg
LTk3LDYgKzk3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNGb250RmVhdHVyZVZhbHVlKCkgY29u
c3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udEZlYXR1cmVDbGFzczsgfQogICAgIGJvb2wg
aXNGb250VmFyaWF0aW9uVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250
VmFyaWF0aW9uQ2xhc3M7IH0KICAgICBib29sIGlzRm9udEZhY2VTcmNWYWx1ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRGYWNlU3JjQ2xhc3M7IH0KKyAgICBib29sIGlzRm9u
dFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNz
VHlwZSA9PSBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczsgfQogICAgIGJvb2wg
aXNGb250VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250Q2xhc3M7IH0K
ICAgICBib29sIGlzRm9udFN0eWxlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9
PSBGb250U3R5bGVDbGFzczsgfQogICAgIGJvb2wgaXNGb250U3R5bGVSYW5nZVZhbHVlKCkgY29u
c3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udFN0eWxlUmFuZ2VDbGFzczsgfQpAQCAtMTg3
LDYgKzE4OCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgRm9udFN0eWxlQ2xhc3MsCiAgICAgICAg
IEZvbnRTdHlsZVJhbmdlQ2xhc3MsCiAgICAgICAgIEZvbnRGYWNlU3JjQ2xhc3MsCisgICAgICAg
IEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvckNsYXNzLAogICAgICAgICBGdW5jdGlvbkNs
YXNzLAogCiAgICAgICAgIEluaGVyaXRlZENsYXNzLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcApp
bmRleCA0YjE1YzA5NDk4OTliYmUzZGVkOTkxNGJlOWI2ZWIxZTY3ODMyNWMzLi5lMTA1ODNkNDhj
OTkzZjg0ZjRmNDE5MTgwMmQxZWIwMTNiMDMwMGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNw
cApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xs
QGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3Jn
KQotICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAi
Q1NTQ291bnRlclN0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkNTU0RlZmVycmVkUGFyc2VyLmgiCiAj
aW5jbHVkZSAiQ1NTRm9udEZhY2VSdWxlLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTSW1wb3J0UnVsZS5oIgogI2luY2x1ZGUgIkNTU0tleWZy
YW1lUnVsZS5oIgogI2luY2x1ZGUgIkNTU0tleWZyYW1lc1J1bGUuaCIKQEAgLTcwLDYgKzcxLDkg
QEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KCkKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OkZvbnRGYWNlOgogICAgICAgICBkZWxldGUgZG93bmNhc3Q8U3R5bGVSdWxlRm9udEZhY2U+KHRo
aXMpOwogICAgICAgICByZXR1cm47CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0
ZVZhbHVlczoKKyAgICAgICAgZGVsZXRlIGRvd25jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFs
dWVzPih0aGlzKTsKKyAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TWVk
aWE6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxTdHlsZVJ1bGVNZWRpYT4odGhpcyk7CiAgICAg
ICAgIHJldHVybjsKQEAgLTExMyw2ICsxMTcsOCBAQCBSZWY8U3R5bGVSdWxlQmFzZT4gU3R5bGVS
dWxlQmFzZTo6Y29weSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVQ
YWdlPigqdGhpcykuY29weSgpOwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2U6CiAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVGb250RmFjZT4oKnRoaXMpLmNvcHkoKTsK
KyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOgorICAgICAgICByZXR1
cm4gZG93bmNhc3Q8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+KCp0aGlzKS5jb3B5KCk7CiAg
ICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpNZWRpYToKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFN0
eWxlUnVsZU1lZGlhPigqdGhpcykuY29weSgpOwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6U3Vw
cG9ydHM6CkBAIC0xNDksNiArMTU1LDkgQEAgUmVmPENTU1J1bGU+IFN0eWxlUnVsZUJhc2U6OmNy
ZWF0ZUNTU09NV3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgQ1NTUnUKICAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOgogICAgICAgICBydWxlID0gQ1NTRm9udEZhY2VS
dWxlOjpjcmVhdGUoZG93bmNhc3Q8U3R5bGVSdWxlRm9udEZhY2U+KHNlbGYpLCBwYXJlbnRTaGVl
dCk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVW
YWx1ZXM6CisgICAgICAgIHJ1bGUgPSBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmNyZWF0ZShk
b3duY2FzdDxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4oc2VsZiksIHBhcmVudFNoZWV0KTsK
KyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpNZWRpYToKICAgICAgICAg
cnVsZSA9IENTU01lZGlhUnVsZTo6Y3JlYXRlKGRvd25jYXN0PFN0eWxlUnVsZU1lZGlhPihzZWxm
KSwgcGFyZW50U2hlZXQpOwogICAgICAgICBicmVhazsKQEAgLTMxOSw2ICszMjgsMjYgQEAgTXV0
YWJsZVN0eWxlUHJvcGVydGllcyYgU3R5bGVSdWxlRm9udEZhY2U6Om11dGFibGVQcm9wZXJ0aWVz
KCkKICAgICByZXR1cm4gZG93bmNhc3Q8TXV0YWJsZVN0eWxlUHJvcGVydGllcz4obV9wcm9wZXJ0
aWVzLmdldCgpKTsKIH0KIAorU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OlN0eWxlUnVsZUZv
bnRQYWxldHRlVmFsdWVzKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcm
IGZvbnRGYW1pbHksIGNvbnN0IFBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZlY3RvcjxPdmVy
cmlkZGVuQ29sb3I+JiYgb3ZlcnJpZGVDb2xvcikKKyAgICA6IFN0eWxlUnVsZUJhc2UoU3R5bGVS
dWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMpCisgICAgLCBtX25hbWUobmFtZSkKKyAgICAsIG1f
Zm9udEZhbWlseShmb250RmFtaWx5KQorICAgICwgbV9iYXNlUGFsZXR0ZShiYXNlUGFsZXR0ZSkK
KyAgICAsIG1fb3ZlcnJpZGVDb2xvcihXVEZNb3ZlKG92ZXJyaWRlQ29sb3IpKQoreworfQorCitT
dHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoY29u
c3QgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIG8pCisgICAgOiBTdHlsZVJ1bGVCYXNlKG8p
CisgICAgLCBtX25hbWUoby5uYW1lKCkpCisgICAgLCBtX2ZvbnRGYW1pbHkoby5mb250RmFtaWx5
KCkpCisgICAgLCBtX2Jhc2VQYWxldHRlKG8uYmFzZVBhbGV0dGUoKSkKKyAgICAsIG1fb3ZlcnJp
ZGVDb2xvcihvLm92ZXJyaWRlQ29sb3IoKSkKK3sKK30KKworU3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXM6On5TdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygpID0gZGVmYXVsdDsKKwogRGVmZXJy
ZWRTdHlsZUdyb3VwUnVsZUxpc3Q6OkRlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0KGNvbnN0IENT
U1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBDU1NEZWZlcnJlZFBhcnNlciYgcGFyc2VyKQogICAg
IDogbV9wYXJzZXIocGFyc2VyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCmluZGV4IDE1NjJjNzky
NjdlYTY0ZDIxNzAxYjlkZjc1N2MwMzUyNTkwZjk3MWIuLmI1M2RmOWIxOTcyNzlmM2FhZjkwZjhh
NGY2OWY2MWRjNmY0ZGFhZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKQEAgLTEsNyArMSw3IEBA
CiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMp
IDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAo
QykgMjAwMi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwMi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwpAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0NoYXJzZXRS
dWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkNoYXJzZXQ7IH0K
ICAgICBib29sIGlzQ291bnRlclN0eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBT
dHlsZVJ1bGVUeXBlOjpDb3VudGVyU3R5bGU7IH0KICAgICBib29sIGlzRm9udEZhY2VSdWxlKCkg
Y29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOyB9CisgICAg
Ym9vbCBpc0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBT
dHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczsgfQogICAgIGJvb2wgaXNLZXlmcmFtZXNS
dWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lczsg
fQogICAgIGJvb2wgaXNLZXlmcmFtZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5
bGVSdWxlVHlwZTo6S2V5ZnJhbWU7IH0KICAgICBib29sIGlzTmFtZXNwYWNlUnVsZSgpIGNvbnN0
IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpOYW1lc3BhY2U7IH0KQEAgLTE1NSw2
ICsxNTYsNjAgQEAgcHJpdmF0ZToKICAgICBSZWY8U3R5bGVQcm9wZXJ0aWVzPiBtX3Byb3BlcnRp
ZXM7CiB9OwogCitjbGFzcyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyBmaW5hbCA6IHB1Ymxp
YyBTdHlsZVJ1bGVCYXNlIHsKK3B1YmxpYzoKKyAgICB1c2luZyBQYWxldHRlSW5kZXggPSBWYXJp
YW50PGludDY0X3QsIEF0b21TdHJpbmc+OworICAgIHVzaW5nIFBhbGV0dGVDb2xvckluZGV4ID0g
VmFyaWFudDxBdG9tU3RyaW5nLCBpbnQ2NF90PjsKKyAgICB1c2luZyBPdmVycmlkZGVuQ29sb3Ig
PSBzdGQ6OnBhaXI8UGFsZXR0ZUNvbG9ySW5kZXgsIENvbG9yPjsKKworICAgIHN0YXRpYyBSZWY8
U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiBuYW1l
LCBjb25zdCBBdG9tU3RyaW5nJiBmb250RmFtaWx5LCBjb25zdCBQYWxldHRlSW5kZXgmIGJhc2VQ
YWxldHRlLCBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMobmFtZSwgZm9udEZhbWls
eSwgYmFzZVBhbGV0dGUsIFdURk1vdmUob3ZlcnJpZGVDb2xvcikpKTsgfQorICAgIAorICAgIH5T
dHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygpOworCisgICAgY29uc3QgQXRvbVN0cmluZyYgbmFt
ZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9uYW1lOworICAgIH0KKworICAgIGNv
bnN0IEF0b21TdHJpbmcmIGZvbnRGYW1pbHkoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJu
IG1fZm9udEZhbWlseTsKKyAgICB9CisKKyAgICBjb25zdCBQYWxldHRlSW5kZXgmIGJhc2VQYWxl
dHRlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2Jhc2VQYWxldHRlOworICAgIH0K
KworICAgIGNvbnN0IFZlY3RvcjxPdmVycmlkZGVuQ29sb3I+JiBvdmVycmlkZUNvbG9yKCkgY29u
c3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX292ZXJyaWRlQ29sb3I7CisgICAgfQorCisgICAg
dm9pZCBjbGVhck92ZXJyaWRlQ29sb3IoKQorICAgIHsKKyAgICAgICAgbV9vdmVycmlkZUNvbG9y
LmNsZWFyKCk7CisgICAgfQorCisgICAgYm9vbCByZW1vdmUodW5zaWduZWQga2V5KQorICAgIHsK
KyAgICAgICAgcmV0dXJuIG1fb3ZlcnJpZGVDb2xvci5yZW1vdmVBbGxNYXRjaGluZyhba2V5XShj
b25zdCBPdmVycmlkZGVuQ29sb3ImIG92ZXJyaWRkZW5Db2xvcikgLT4gYm9vbCB7CisgICAgICAg
ICAgICByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxpbnQ2NF90PihvdmVycmlkZGVuQ29s
b3IuZmlyc3QpICYmIFdURjo6Z2V0PGludDY0X3Q+KG92ZXJyaWRkZW5Db2xvci5maXJzdCkgPT0g
a2V5OworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBSZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXM+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZUZvbnRQ
YWxldHRlVmFsdWVzKCp0aGlzKSk7IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBTdHlsZVJ1
bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25zdCBBdG9tU3Ry
aW5nJiBmb250RmFtaWx5LCBjb25zdCBQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlLCBWZWN0b3I8
T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpOworICAgIFN0eWxlUnVsZUZvbnRQYWxl
dHRlVmFsdWVzKGNvbnN0IFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJik7CisKKyAgICBBdG9t
U3RyaW5nIG1fbmFtZTsKKyAgICBBdG9tU3RyaW5nIG1fZm9udEZhbWlseTsKKyAgICBQYWxldHRl
SW5kZXggbV9iYXNlUGFsZXR0ZTsKKyAgICBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiBtX292ZXJy
aWRlQ29sb3I7Cit9OworCiBjbGFzcyBTdHlsZVJ1bGVQYWdlIGZpbmFsIDogcHVibGljIFN0eWxl
UnVsZUJhc2UgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlUGFnZT4gY3JlYXRl
KFJlZjxTdHlsZVByb3BlcnRpZXM+JiYsIENTU1NlbGVjdG9yTGlzdCYmKTsKQEAgLTM1Nyw2ICs0
MTIsMTAgQEAgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpTdHlsZVJ1bGVG
b250RmFjZSkKICAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U3R5bGVSdWxl
QmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0ZvbnRGYWNlUnVsZSgpOyB9CiBTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX0VORCgpCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29y
ZTo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNv
bnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0dXJuIHJ1bGUuaXNGb250UGFs
ZXR0ZVZhbHVlc1J1bGUoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQorCiBTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZU1lZGlhKQogICAgIHN0
YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlJiBydWxlKSB7IHJl
dHVybiBydWxlLmlzTWVkaWFSdWxlKCk7IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSdWxlVHlwZS5oCmluZGV4IGM5ZTUxOGRiZTYxYjczNWI2ZDdhMWE3
ZmY2MjQzY2Q5ODE1Y2M1YmQuLmM0ZmNhYWIyNTU5ZGI2YTVlOTkzOTFjNmUwMTc1OThkM2E4YzJm
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDE5IC0gMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDE5ICsyOCwyMSBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIFN0eWxlUnVsZVR5cGUgOiB1aW50OF90IHsK
LSAgICBVbmtub3duLCAvLyBOb3QgdXNlZC4KLSAgICBTdHlsZSwKLSAgICBDaGFyc2V0LCAvLyBO
b3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgc3RyaW5ncyBvd25lZCBieSB0aGUgc3R5bGUg
c2hlZXQuCi0gICAgSW1wb3J0LAotICAgIE1lZGlhLAotICAgIEZvbnRGYWNlLAotICAgIFBhZ2Us
Ci0gICAgS2V5ZnJhbWVzLAotICAgIEtleWZyYW1lLCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJlIGlu
dGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVSdWxlS2V5ZnJhbWUgb2JqZWN0cy4KKyAgICBVbmtub3du
ID0gMCwgLy8gTm90IHVzZWQuCisgICAgU3R5bGUgPSAxLAorICAgIENoYXJzZXQgPSAyLCAvLyBO
b3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgc3RyaW5ncyBvd25lZCBieSB0aGUgc3R5bGUg
c2hlZXQuCisgICAgSW1wb3J0ID0gMywKKyAgICBNZWRpYSA9IDQsCisgICAgRm9udEZhY2UgPSA1
LAorICAgIFBhZ2UgPSA2LAorICAgIEtleWZyYW1lcyA9IDcsCisgICAgS2V5ZnJhbWUgPSA4LCAv
LyBOb3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVSdWxlS2V5ZnJh
bWUgb2JqZWN0cy4KKyAgICAvLyBNYXJnaW4gPSA5LCBGSVhNRTogV2h5IGlzIHRoaXMgbWlzc2lu
Zz8KICAgICBOYW1lc3BhY2UgPSAxMCwKICAgICBDb3VudGVyU3R5bGUgPSAxMSwKICAgICBTdXBw
b3J0cyA9IDEyLAotICAgIExheWVyID0gMTMsCisgICAgRm9udFBhbGV0dGVWYWx1ZXMgPSAxOSwg
Ly8gaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzY2MjMKKyAgICBM
YXllciA9IDIwCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IDMyODQ5NzQ4NTM1YTBkNzY0NjkwMzA3M2Nj
MjRkYzE4NjZkYjA0Y2UuLmE2ZTk3MWM2MjYzNjZiYmEwMGU3ZDVlZWQ4ZDUyMzBlNzg2M2VjOWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCkBAIC0xLDYgKzEs
NiBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKLSAq
IENvcHlyaWdodCAoQykgMjAwNC0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNDM2LDYgKzQzNiw3IEBAIHN0YXRpYyBib29sIHRy
YXZlcnNlUnVsZXNJblZlY3Rvcihjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYg
cnVsZXMsIGNvCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBl
OjpTdHlsZToKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZToKKyAgICAgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoKICAgICAgICAgY2FzZSBTdHls
ZVJ1bGVUeXBlOjpQYWdlOgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OktleWZyYW1lczoK
ICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpOYW1lc3BhY2U6CkBAIC00ODYsNiArNDg3LDcg
QEAgYm9vbCBTdHlsZVNoZWV0Q29udGVudHM6OnRyYXZlcnNlU3VicmVzb3VyY2VzKGNvbnN0IFdU
Rjo6RnVuY3Rpb248Ym9vbCAoY29uc3QgQ2EKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpL
ZXlmcmFtZToKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpTdXBwb3J0czoKICAgICAgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpMYXllcjoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpG
b250UGFsZXR0ZVZhbHVlczoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfTsK
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTQXRSdWxlSUQuY3BwCmluZGV4IDA4MjU3MjM4YzhiMzU4ZTUzYmZhMjdlMmFiNmJlY2NkNWE2
ZDJlOTkuLjljZTM1MWQxNmJhODcxNTI2NTBlM2ViNDYwM2RhZjYyNDQxMzBjNmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLy8g
Q29weXJpZ2h0IDIwMTUgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gQ29weXJpZ2h0IChDKSAyMDE2IC0gMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zOCw2ICszOCw4IEBA
IENTU0F0UnVsZUlEIGNzc0F0UnVsZUlEKFN0cmluZ1ZpZXcgbmFtZSkKICAgICAgICAgcmV0dXJu
IENTU0F0UnVsZUNoYXJzZXQ7CiAgICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UobmFtZSwg
ImZvbnQtZmFjZSIpKQogICAgICAgICByZXR1cm4gQ1NTQXRSdWxlRm9udEZhY2U7CisgICAgaWYg
KGVxdWFsSWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImZvbnQtcGFsZXR0ZS12YWx1ZXMiKSkKKyAg
ICAgICAgcmV0dXJuIENTU0F0UnVsZUZvbnRQYWxldHRlVmFsdWVzOwogICAgIGlmIChlcXVhbEln
bm9yaW5nQVNDSUlDYXNlKG5hbWUsICJpbXBvcnQiKSkKICAgICAgICAgcmV0dXJuIENTU0F0UnVs
ZUltcG9ydDsKICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAia2V5ZnJhbWVz
IikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmgKaW5kZXggMzMwZjZjYmUy
ZTI1YjNkY2NmMGU3MjllNDQ4OTlmMTg5NDE1YTdiZS4uNWU0ZDQzNTMzMmQ2MTIzYzcxYmI4ZDNj
M2MyNTNhYjc3MTMyOWYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NBdFJ1bGVJRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQu
aApAQCAtMSw1ICsxLDUgQEAKIC8vIENvcHlyaWdodCAyMDE1IFRoZSBDaHJvbWl1bSBBdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNiAtIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogLy8gbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQpAQCAtNDksNiArNDksOCBAQCBlbnVtIENTU0F0UnVsZUlEIHsKICAgICBDU1NBdFJ1bGVB
cHBseSA9IDExLAogICAgIENTU0F0UnVsZUNvdW50ZXJTdHlsZSA9IDEyLAogICAgIENTU0F0UnVs
ZUxheWVyID0gMTMsCisKKyAgICBDU1NBdFJ1bGVGb250UGFsZXR0ZVZhbHVlcyA9IDE0LAogfTsK
IAogQ1NTQXRSdWxlSUQgY3NzQXRSdWxlSUQoU3RyaW5nVmlldyBuYW1lKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCmluZGV4IGU1Yjc0MzAyZTBjZTRjNWFi
ZDYxNmVjNDU3MWI2MmM0ZmZjN2U1MTkuLmFmNWRlNWY4YTI2ZWNlY2VhOWQ2ODhiYWJjNWE1Y2M1
YmIxOWViODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2Vy
SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNw
cApAQCAtMSw1ICsxLDUgQEAKIC8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gQ29weXJpZ2h0IChDKSAyMDE2LTIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAyMDE2LTIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogLy8gbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkNTU0NvdW50ZXJTdHlsZVJ1bGUu
aCIKICNpbmNsdWRlICJDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRGVm
ZXJyZWRQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29s
b3JWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0tleWZyYW1lUnVsZS5oIgogI2luY2x1ZGUgIkNTU0tl
eWZyYW1lc1J1bGUuaCIKICNpbmNsdWRlICJDU1NQYXJzZXJPYnNlcnZlci5oIgpAQCAtNDQ1LDYg
KzQ0Niw4IEBAIFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lQXRS
dWxlKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBBCiAgICAgICAgIHJldHVybiBjb25zdW1l
U3VwcG9ydHNSdWxlKHByZWx1ZGUsIGJsb2NrKTsKICAgICBjYXNlIENTU0F0UnVsZUZvbnRGYWNl
OgogICAgICAgICByZXR1cm4gY29uc3VtZUZvbnRGYWNlUnVsZShwcmVsdWRlLCBibG9jayk7Cisg
ICAgY2FzZSBDU1NBdFJ1bGVGb250UGFsZXR0ZVZhbHVlczoKKyAgICAgICAgcmV0dXJuIGNvbnN1
bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUocHJlbHVkZSwgYmxvY2spOwogICAgIGNhc2UgQ1NTQXRS
dWxlV2Via2l0S2V5ZnJhbWVzOgogICAgICAgICByZXR1cm4gY29uc3VtZUtleWZyYW1lc1J1bGUo
dHJ1ZSwgcHJlbHVkZSwgYmxvY2spOwogICAgIGNhc2UgQ1NTQXRSdWxlS2V5ZnJhbWVzOgpAQCAt
NjUyLDYgKzY1NSw1NSBAQCBSZWZQdHI8U3R5bGVSdWxlRm9udEZhY2U+IENTU1BhcnNlckltcGw6
OmNvbnN1bWVGb250RmFjZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZQogICAgIHJldHVybiBTdHls
ZVJ1bGVGb250RmFjZTo6Y3JlYXRlKGNyZWF0ZVN0eWxlUHJvcGVydGllcyhtX3BhcnNlZFByb3Bl
cnRpZXMsIG1fY29udGV4dC5tb2RlKSk7CiB9CiAKK1JlZlB0cjxTdHlsZVJ1bGVGb250UGFsZXR0
ZVZhbHVlcz4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZShDU1NQ
YXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spCit7Cisg
ICAgYXV0byBuYW1lID0gQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lQ3VzdG9tSWRl
bnQocHJlbHVkZSk7CisgICAgaWYgKCFuYW1lIHx8ICFwcmVsdWRlLmF0RW5kKCkpCisgICAgICAg
IHJldHVybiBudWxscHRyOyAvLyBQYXJzZSBlcnJvcjsgZXhwZWN0ZWQgY3VzdG9tIGlkZW50IGlu
IEBmb250LXBhbGV0dGUtdmFsdWVzIGhlYWRlcgorCisgICAgaWYgKG1fb2JzZXJ2ZXJXcmFwcGVy
KSB7CisgICAgICAgIHVuc2lnbmVkIGVuZE9mZnNldCA9IG1fb2JzZXJ2ZXJXcmFwcGVyLT5lbmRP
ZmZzZXQocHJlbHVkZSk7CisgICAgICAgIG1fb2JzZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigpLnN0
YXJ0UnVsZUhlYWRlcihTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcywgbV9vYnNlcnZl
cldyYXBwZXItPnN0YXJ0T2Zmc2V0KHByZWx1ZGUpKTsKKyAgICAgICAgbV9vYnNlcnZlcldyYXBw
ZXItPm9ic2VydmVyKCkuZW5kUnVsZUhlYWRlcihlbmRPZmZzZXQpOworICAgICAgICBtX29ic2Vy
dmVyV3JhcHBlci0+b2JzZXJ2ZXIoKS5zdGFydFJ1bGVCb2R5KGVuZE9mZnNldCk7CisgICAgICAg
IG1fb2JzZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigpLmVuZFJ1bGVCb2R5KGVuZE9mZnNldCk7Cisg
ICAgfQorCisgICAgY29uc3VtZURlY2xhcmF0aW9uTGlzdChibG9jaywgU3R5bGVSdWxlVHlwZTo6
Rm9udFBhbGV0dGVWYWx1ZXMpOworICAgIGF1dG8gcHJvcGVydGllcyA9IGNyZWF0ZVN0eWxlUHJv
cGVydGllcyhtX3BhcnNlZFByb3BlcnRpZXMsIG1fY29udGV4dC5tb2RlKTsKKworICAgIEF0b21T
dHJpbmcgZm9udEZhbWlseTsKKyAgICBpZiAoYXV0byBmb250RmFtaWx5VmFsdWUgPSBwcm9wZXJ0
aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udEZhbWlseSkpCisgICAgICAg
IGZvbnRGYW1pbHkgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKmZvbnRGYW1pbHlWYWx1
ZSkuZm9udEZhbWlseSgpLmZhbWlseU5hbWU7CisKKyAgICBTdHlsZVJ1bGVGb250UGFsZXR0ZVZh
bHVlczo6UGFsZXR0ZUluZGV4IGJhc2VQYWxldHRlKG51bGxBdG9tKCkpOworICAgIGlmIChhdXRv
IGJhc2VQYWxldHRlVmFsdWUgPSBwcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1By
b3BlcnR5QmFzZVBhbGV0dGUpKSB7CisgICAgICAgIGNvbnN0IGF1dG8mIHByaW1pdGl2ZVZhbHVl
ID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCpiYXNlUGFsZXR0ZVZhbHVlKTsKKyAgICAg
ICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzU3RyaW5nKCkpCisgICAgICAgICAgICBiYXNlUGFsZXR0
ZSA9IHByaW1pdGl2ZVZhbHVlLnN0cmluZ1ZhbHVlKCk7CisgICAgICAgIGVsc2UgaWYgKHByaW1p
dGl2ZVZhbHVlLmlzTnVtYmVyKCkpCisgICAgICAgICAgICBiYXNlUGFsZXR0ZSA9IHByaW1pdGl2
ZVZhbHVlLnZhbHVlPGludDY0X3Q+KCk7CisgICAgfQorCisgICAgVmVjdG9yPFN0eWxlUnVsZUZv
bnRQYWxldHRlVmFsdWVzOjpPdmVycmlkZGVuQ29sb3I+IG92ZXJyaWRlQ29sb3I7CisgICAgaWYg
KGF1dG8gb3ZlcnJpZGVDb2xvclZhbHVlID0gcHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1
ZShDU1NQcm9wZXJ0eU92ZXJyaWRlQ29sb3IpKSB7CisgICAgICAgIGNvbnN0IGF1dG8mIGxpc3Qg
PSBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCpvdmVycmlkZUNvbG9yVmFsdWUpOworICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIGl0ZW0gOiBsaXN0KSB7CisgICAgICAgICAgICBTdHlsZVJ1bGVGb250
UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUNvbG9ySW5kZXgga2V5KG51bGxBdG9tKCkpOworICAgICAg
ICAgICAgY29uc3QgYXV0byYgcGFpciA9IGRvd25jYXN0PENTU0ZvbnRQYWxldHRlVmFsdWVzT3Zl
cnJpZGVDb2xvclZhbHVlPihpdGVtLmdldCgpKTsKKyAgICAgICAgICAgIGlmIChwYWlyLmtleSgp
LmlzU3RyaW5nKCkpCisgICAgICAgICAgICAgICAga2V5ID0gcGFpci5rZXkoKS5zdHJpbmdWYWx1
ZSgpOworICAgICAgICAgICAgZWxzZSBpZiAocGFpci5rZXkoKS5pc051bWJlcigpKQorICAgICAg
ICAgICAgICAgIGtleSA9IHBhaXIua2V5KCkudmFsdWU8aW50NjRfdD4oKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIG92ZXJyaWRlQ29s
b3IuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGtleSwgcGFpci5jb2xvcigpLmNvbG9yKCkpKTsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6
Y3JlYXRlKG5hbWUtPnN0cmluZ1ZhbHVlKCksIGZvbnRGYW1pbHksIGJhc2VQYWxldHRlLCBXVEZN
b3ZlKG92ZXJyaWRlQ29sb3IpKTsKK30KKwogUmVmUHRyPFN0eWxlUnVsZUtleWZyYW1lcz4gQ1NT
UGFyc2VySW1wbDo6Y29uc3VtZUtleWZyYW1lc1J1bGUoYm9vbCB3ZWJraXRQcmVmaXhlZCwgQ1NT
UGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKQogewog
ICAgIENTU1BhcnNlclRva2VuUmFuZ2UgcmFuZ2VDb3B5ID0gcHJlbHVkZTsgLy8gRm9yIGluc3Bl
Y3RvciBjYWxsYmFja3MKQEAgLTk2MSw3ICsxMDEzLDcgQEAgdm9pZCBDU1NQYXJzZXJJbXBsOjpj
b25zdW1lRGVjbGFyYXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgU3R5bGVSdWxlVHlw
ZQogICAgICAgICBjb25zdW1lQ3VzdG9tUHJvcGVydHlWYWx1ZShyYW5nZS5tYWtlU3ViUmFuZ2Uo
JnJhbmdlLnBlZWsoKSwgZGVjbGFyYXRpb25WYWx1ZUVuZCksIHZhcmlhYmxlTmFtZSwgaW1wb3J0
YW50KTsKICAgICB9CiAKLSAgICBpZiAoaW1wb3J0YW50ICYmIChydWxlVHlwZSA9PSBTdHlsZVJ1
bGVUeXBlOjpGb250RmFjZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZSB8
fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3VudGVyU3R5bGUpKQorICAgIGlmIChpbXBv
cnRhbnQgJiYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlIHx8IHJ1bGVUeXBl
ID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6
OkNvdW50ZXJTdHlsZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZh
bHVlcykpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChwcm9wZXJ0eUlEICE9IENTU1Byb3Bl
cnR5SW52YWxpZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFy
c2VySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmgKaW5k
ZXggMTZjNGMzZDE5ZjUwOGMxMDIxZjUxYjRjMzViNzQwNTlkZTUwNDU0Ny4uZTI1ZmU1ZTJhNzUy
OGNhYjQzNGE5ZWViODZhOGQxY2Q3YWZhYTNhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJbXBsLmgKQEAgLTEsNSArMSw1IEBACiAvLyBDb3B5cmlnaHQgMjAxNCBUaGUg
Q2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIENvcHlyaWdodCAoQykg
MjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAo
QykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vCiAvLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTUxLDYgKzUxLDcgQEAgY2xhc3MgU3R5bGVSdWxl
OwogY2xhc3MgU3R5bGVSdWxlQmFzZTsKIGNsYXNzIFN0eWxlUnVsZUNoYXJzZXQ7CiBjbGFzcyBT
dHlsZVJ1bGVGb250RmFjZTsKK2NsYXNzIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOwogY2xh
c3MgU3R5bGVSdWxlSW1wb3J0OwogY2xhc3MgU3R5bGVSdWxlS2V5ZnJhbWVzOwogY2xhc3MgU3R5
bGVSdWxlTGF5ZXI7CkBAIC0xMzMsNiArMTM0LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8U3R5
bGVSdWxlU3VwcG9ydHM+IGNvbnN1bWVTdXBwb3J0c1J1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBw
cmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVSdWxl
Vmlld3BvcnQ+IGNvbnN1bWVWaWV3cG9ydFJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRl
LCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVSdWxlRm9udEZh
Y2U+IGNvbnN1bWVGb250RmFjZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQ
YXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKKyAgICBSZWZQdHI8U3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXM+IGNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBw
cmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVSdWxl
S2V5ZnJhbWVzPiBjb25zdW1lS2V5ZnJhbWVzUnVsZShib29sIHdlYmtpdFByZWZpeGVkLCBDU1NQ
YXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAg
IFJlZlB0cjxTdHlsZVJ1bGVQYWdlPiBjb25zdW1lUGFnZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVS
dWxlQ291bnRlclN0eWxlPiBjb25zdW1lQ291bnRlclN0eWxlUnVsZShDU1NQYXJzZXJUb2tlblJh
bmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAppbmRleCAwNmFhZTU1ZmE4Nzhh
ZmQ4OGNhOWRjNmUzNmU1MTQ5YjgxYjlkNDAyLi5lZDMyNGQ5NGJhOTUzYTVlMDk4YjNmZTQ2ZmFi
YWRkMjM3MzI5MWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3Bl
cnR5UGFyc2VyLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkNTU0N1c3RvbVByb3Bl
cnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNyY1ZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTRm9udEZlYXR1cmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3Zl
cnJpZGVDb2xvclZhbHVlLmgiCiAjaWYgRU5BQkxFKFZBUklBVElPTl9GT05UUykKICNpbmNsdWRl
ICJDU1NGb250VmFyaWF0aW9uVmFsdWUuaCIKICNlbmRpZgpAQCAtMjMzLDYgKzIzNCw4IEBAIGJv
b2wgQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlE
LCBib29sIGltcG9ydGFudCwgY29uCiAKICAgICBpZiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlw
ZTo6Rm9udEZhY2UpCiAgICAgICAgIHBhcnNlU3VjY2VzcyA9IHBhcnNlci5wYXJzZUZvbnRGYWNl
RGVzY3JpcHRvcihwcm9wZXJ0eUlEKTsKKyAgICBlbHNlIGlmIChydWxlVHlwZSA9PSBTdHlsZVJ1
bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcykKKyAgICAgICAgcGFyc2VTdWNjZXNzID0gcGFyc2Vy
LnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKHByb3BlcnR5SUQpOwogICAgIGVsc2Ug
aWYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZSkKICAgICAgICAgcGFy
c2VTdWNjZXNzID0gcGFyc2VyLnBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihwcm9wZXJ0eUlE
LCBjb250ZXh0KTsKICAgICBlbHNlCkBAIC00ODM0LDYgKzQ4MzcsNjMgQEAgYm9vbCBDU1NQcm9w
ZXJ0eVBhcnNlcjo6cGFyc2VGb250RmFjZURlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCBwcm9wSWQp
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+
IGNvbnN1bWVCYXNlUGFsZXR0ZURlc2NyaXB0b3IoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2Up
Cit7CisgICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgPT0gU3RyaW5nVG9rZW4pCisgICAgICAg
IHJldHVybiBjb25zdW1lU3RyaW5nKHJhbmdlKTsKKyAgICByZXR1cm4gY29uc3VtZUludGVnZXIo
cmFuZ2UpOworfQorCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlTGlzdD4gY29uc3VtZU92ZXJyaWRl
Q29sb3JEZXNjcmlwdG9yKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJz
ZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBD
U1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7CisgICAgZG8geworICAgICAgICBS
ZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGtleTsKKyAgICAgICAgaWYgKHJhbmdlLnBlZWsoKS50
eXBlKCkgPT0gU3RyaW5nVG9rZW4pCisgICAgICAgICAgICBrZXkgPSBjb25zdW1lU3RyaW5nKHJh
bmdlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAga2V5ID0gY29uc3VtZUludGVnZXIocmFu
Z2UpOworICAgICAgICBpZiAoIWtleSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgICAgIGF1dG8gY29sb3IgPSBjb25zdW1lQ29sb3IocmFuZ2UsIGNvbnRleHQpOworICAgICAg
ICBpZiAoIWNvbG9yKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgUmVm
UHRyPENTU1ZhbHVlPiB2YWx1ZSA9IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZh
bHVlOjpjcmVhdGUoa2V5LnJlbGVhc2VOb25OdWxsKCksIGNvbG9yLnJlbGVhc2VOb25OdWxsKCkp
OworICAgICAgICBsaXN0LT5hcHBlbmQodmFsdWUucmVsZWFzZU5vbk51bGwoKSk7CisgICAgfSB3
aGlsZSAoY29uc3VtZUNvbW1hSW5jbHVkaW5nV2hpdGVzcGFjZShyYW5nZSkpOworICAgIAorICAg
IGlmICghcmFuZ2UuYXRFbmQoKSB8fCAhbGlzdC0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgcmV0dXJuIGxpc3Q7Cit9CisKK2Jvb2wgQ1NTUHJvcGVydHlQYXJzZXI6
OnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkKQor
eworICAgIFJlZlB0cjxDU1NWYWx1ZT4gcGFyc2VkVmFsdWU7CisgICAgc3dpdGNoIChwcm9wSWQp
IHsKKyAgICBjYXNlIENTU1Byb3BlcnR5Rm9udEZhbWlseToKKyAgICAgICAgcGFyc2VkVmFsdWUg
PSBjb25zdW1lRmFtaWx5TmFtZShtX3JhbmdlKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBD
U1NQcm9wZXJ0eUJhc2VQYWxldHRlOgorICAgICAgICBwYXJzZWRWYWx1ZSA9IGNvbnN1bWVCYXNl
UGFsZXR0ZURlc2NyaXB0b3IobV9yYW5nZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NT
UHJvcGVydHlPdmVycmlkZUNvbG9yOgorICAgICAgICBwYXJzZWRWYWx1ZSA9IGNvbnN1bWVPdmVy
cmlkZUNvbG9yRGVzY3JpcHRvcihtX3JhbmdlLCBtX2NvbnRleHQpOworICAgICAgICBicmVhazsK
KyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoIXBhcnNlZFZh
bHVlIHx8ICFtX3JhbmdlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGFk
ZFByb3BlcnR5KHByb3BJZCwgQ1NTUHJvcGVydHlJbnZhbGlkLCAqcGFyc2VkVmFsdWUsIGZhbHNl
KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6Y29uc3Vt
ZVN5c3RlbUZvbnQoYm9vbCBpbXBvcnRhbnQpCiB7CiAgICAgQ1NTVmFsdWVJRCBzeXN0ZW1Gb250
SUQgPSBtX3JhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCkuaWQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaAppbmRleCAyN2FjMzU5Mzdj
YzJmYTVhYzdjMmYyMzA0MGUzMDEwYjUwODE3MTM5Li5kODc0MDk4ZmRjNDg5ZTJlYzRhYzVlMTYz
YWQ0ZTFlMmQ5MjNjYWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9w
ZXJ0eVBhcnNlci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwMyBM
YXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAy
MDA2LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNCAtIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5v
cmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgLSAyMDEwICBUb3JjaCBNb2JpbGUgKEJlaWppbmcp
IENvLiBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtNzMsNiArNzMsNyBAQCBwcml2
YXRlOgogCiAgICAgYm9vbCBwYXJzZVZpZXdwb3J0RGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEIHBy
b3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogICAgIGJvb2wgcGFyc2VGb250RmFjZURlc2NyaXB0b3Io
Q1NTUHJvcGVydHlJRCk7CisgICAgYm9vbCBwYXJzZUZvbnRQYWxldHRlVmFsdWVzRGVzY3JpcHRv
cihDU1NQcm9wZXJ0eUlEKTsKICAgICBib29sIHBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihD
U1NQcm9wZXJ0eUlELCBjb25zdCBDU1NQYXJzZXJDb250ZXh0Jik7CiAKICAgICB2b2lkIGFkZFBy
b3BlcnR5KENTU1Byb3BlcnR5SUQsIENTU1Byb3BlcnR5SUQsIFJlZjxDU1NWYWx1ZT4mJiwgYm9v
bCBpbXBvcnRhbnQsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwppbmRleCAwY2NhZDQxOThjNGRmMWJhN2Q1OTI5NjM2NzlkMDZiNjE0NDhmMzk1Li42
ZmJmZTU5N2VjYzk2OGRiZWU5ZGFhOTViMjk5YzM5YjQ4OGI3YzA2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0wOS0yMCAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFBhcnNpbmcgc3VwcG9ydCBm
b3IgZm9udC1wYWxldHRlLXZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMwMzM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlc2UgYXJlIGJlaW5nIHVwc3RyZWFtZWQgYXQgaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvcHVsbC8zMDg0MC4KKworICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1w
YWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVz
LWludmFsaWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2lu
Zy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA5LTIwICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHN1cmUgUlRD
UnRwU2VuZGVyLnNldFBhcmFtZXRlcnMgcmV0dXJucyBhbiBleGNlcHRpb24gd2l0aCBhIHZhbGlk
IHR5cGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1mb250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9pZGxoYXJuZXNz
LWV4cGVjdGVkLnR4dAppbmRleCA0ZWNiYjMzZjhhOTNkOWUyYTI2MWQwNzJhZjg2MTRiYTVlODYw
YTJkLi4yZGQzNzRkY2UxZmE4MGEwZmFhY2ZlZWEwNDg2MjU5MGU0ZmMwZTM1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9u
dHMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0
CkBAIC0xNSw4ICsxNSw4IEBAIFBBU1MgQ1NTRm9udEZhY2VSdWxlIGludGVyZmFjZTogYXR0cmli
dXRlIHN0eWxlCiBQQVNTIENTU0ZvbnRGYWNlUnVsZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNl
IG9mIGNzc0ZvbnRGYWNlUnVsZQogUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgY3NzRm9udEZhY2VS
dWxlCiBQQVNTIENTU0ZvbnRGYWNlUnVsZSBpbnRlcmZhY2U6IGNzc0ZvbnRGYWNlUnVsZSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgInN0eWxlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQotRkFJTCBDU1NS
dWxlIGludGVyZmFjZTogY3NzRm9udEZhY2VSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRk9O
VF9GRUFUVVJFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJp
dHM6IHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUiIG5vdCBmb3VuZCBpbiBwcm90
b3R5cGUgY2hhaW4KLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc0ZvbnRGYWNlUnVsZSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19S
VUxFIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNTIENTU1J1bGUgaW50ZXJmYWNl
OiBjc3NGb250RmFjZVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFM
VUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlCitGQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBj
c3NGb250RmFjZVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVT
X1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDE1IGJ1
dCBnb3QgMTkKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNS
dWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIiBtaXNzaW5n
CiBGQUlMIENTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NG
b250RmVhdHVyZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZh
bHVlc1J1bGUiIG1pc3NpbmcKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIGludGVyZmFj
ZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJD
U1NGb250RmVhdHVyZVZhbHVlc1J1bGUiIG1pc3NpbmcKQEAgLTM3LDE4ICszNywxOCBAQCBGQUlM
IENTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcgogRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc01hcCBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIGV4cGVjdGVk
IHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc01hcCIgbWlzc2luZwogRkFJTCBDU1NGb250
RmVhdHVyZVZhbHVlc01hcCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZl
YXR1cmVWYWx1ZXNNYXAiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc01h
cCIgbWlzc2luZwogRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc01hcCBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBzZXQoQ1NTT01TdHJpbmcsICh1bnNpZ25lZCBsb25nIG9yIHNlcXVlbmNlPHVuc2lnbmVk
IGxvbmc+KSkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250
RmVhdHVyZVZhbHVlc01hcCIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkg
IkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhw
ZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBD
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlM
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVy
dHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlMIENT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBmb250RmFtaWx5IGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgYmFzZVBhbGV0dGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBlY3RlZCBw
cm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlMIENTU1J1bGUg
aW50ZXJmYWNlOiBjb25zdGFudCBGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUgb24gaW50ZXJmYWNl
IG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiRk9OVF9GRUFU
VVJFX1ZBTFVFU19SVUxFIiBtaXNzaW5nCi1GQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFu
dCBGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUgb24gaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
YXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIkZPTlRfRkVBVFVSRV9WQUxV
RVNfUlVMRSIgbWlzc2luZwotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9Q
QUxFVFRFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0
eTogZXhwZWN0ZWQgcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgbWlzc2luZwot
RkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxF
IG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVj
dGVkIHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIG1pc3NpbmcKLUZBSUwgQ1NT
UnVsZSBpbnRlcmZhY2U6IGNzc1J1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX0ZFQVRV
UkVfVkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJv
cGVydHkgIkZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBj
aGFpbgotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY3NzUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0
X2luaGVyaXRzOiBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiBub3QgZm91bmQg
aW4gcHJvdG90eXBlIGNoYWluCitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIENT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIENTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIENTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogYXR0cmlidXRlIGZvbnRGYW1pbHkKK1BBU1MgQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogYXR0cmlidXRlIGJhc2VQYWxldHRlCitQ
QVNTIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUg
b24gaW50ZXJmYWNlIG9iamVjdAorUEFTUyBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9O
VF9GRUFUVVJFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitGQUlM
IENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUgb24g
aW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0eSBoYXMgd3JvbmcgdmFsdWUg
ZXhwZWN0ZWQgMTUgYnV0IGdvdCAxOQorRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQg
Rk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFz
c2VydF9lcXVhbHM6IHByb3BlcnR5IGhhcyB3cm9uZyB2YWx1ZSBleHBlY3RlZCAxNSBidXQgZ290
IDE5CitQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorRkFJTCBD
U1NSdWxlIGludGVyZmFjZTogY3NzUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRfUEFM
RVRURV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgMTUgYnV0IGdvdCAxOQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUt
dmFsdWVzLWludmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVl
cy1pbnZhbGlkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzcyZTlhNTFkNWFhYmFlYzYxNzJl
YTE0MDNmMzNjMGMwMDE5NmI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxl
dHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACisKK1BBU1Mg
Q1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzCitQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cyAxCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRl
LXZhbHVlcyAyCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1w
YWxldHRlLXZhbHVlcyAzCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBA
Zm9udC1wYWxldHRlLXZhbHVlcyA0CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFy
c2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA1CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA2CitQQVNTIENTUyBGb250cyBNb2R1bGUg
TGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA3CitQQVNTIENTUyBGb250cyBN
b2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA4CitQQVNTIENTUyBG
b250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA5CitQQVNT
IENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAx
MAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgMTEKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBh
bGV0dGUtdmFsdWVzIDEyCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBA
Zm9udC1wYWxldHRlLXZhbHVlcyAxMworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0
dGUtdmFsdWVzLWludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52
YWxpZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3MDU0MmVkODhjNGM5MzA3YzBjNTIxOWMzYzRkZTg2OGZl
Y2ZhZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWlu
dmFsaWQuaHRtbApAQCAtMCwwICsxLDE4MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkNTUyBGb250cyBNb2R1bGUgTGV2
ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlczwvdGl0bGU+Cis8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMvI2ZvbnQtcGFsZXR0
ZS12YWx1ZXMiPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJAZm9udC1wYWxldHRlLXZh
bHVlcyBpcyBwYXJzZWQgY29ycmVjdGx5LiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgaWQ9InN0eWxlIj4KK0Bmb250LXBhbGV0dGUt
dmFsdWVzIHsKK30KKworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSBCIHsKK30KKworLyogMCAqLwor
QGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgZm9udC1mYW1pbHk6IGEsIGI7Cit9CisKKy8q
IDEgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGZvbnQtZmFtaWx5OiAxOworfQor
CisvKiAyICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBmb250OiAxMnB4IGE7Cit9
CisKKy8qIDMgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGJhc2UtcGFsZXR0ZTog
MSAyOworfQorCisvKiA0ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBiYXNlLXBh
bGV0dGU6IGlkZW50OworfQorCisvKiA1ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAg
ICBiYXNlLXBhbGV0dGU6ICJhIiAiYiI7Cit9CisKKy8qIDYgKi8KK0Bmb250LXBhbGV0dGUtdmFs
dWVzIEEgeworICAgIGJhc2UtcGFsZXR0ZTogOworfQorCisvKiA3ICovCitAZm9udC1wYWxldHRl
LXZhbHVlcyBBIHsKKyAgICBvdmVycmlkZS1jb2xvcjogaWRlbnQgIzEyMzsKK30KKworLyogOCAq
LworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDAgInJlZCI7
Cit9CisKKy8qIDkgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIG92ZXJyaWRlLWNv
bG9yOiAwICMxMjMsIDE7Cit9CisKKy8qIDEwICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsK
KyAgICBvdmVycmlkZS1jb2xvcjogOworfQorCisvKiAxMSAqLworQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDAgIzEyMyAxOworfQorCisvKiAxMiAqLworQGZv
bnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDA7Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorbGV0IHJ1bGVzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0eWxlIikuc2hlZXQuY3NzUnVsZXM7Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAg
IGFzc2VydF9lcXVhbHMocnVsZXMubGVuZ3RoLCAxMyk7Cit9KTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzBdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxl
c1swXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHkiKSwgLTEp
OworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Cit9KTsKKwordGVzdChm
dW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzFdLmNzc1RleHQ7CisgICAgbGV0IHJ1
bGUgPSBydWxlc1sxXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1p
bHkiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Cit9KTsK
KwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzJdLmNzc1RleHQ7Cisg
ICAgbGV0IHJ1bGUgPSBydWxlc1syXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigi
Zm9udDoiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Cit9
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzNdLmNzc1RleHQ7
CisgICAgbGV0IHJ1bGUgPSBydWxlc1szXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhP
ZigiYmFzZS1wYWxldHRlIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0
dGUsICIiKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNb
NF0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzRdOworICAgIGFzc2VydF9lcXVhbHMo
dGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5iYXNlUGFsZXR0ZSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRl
eHQgPSBydWxlc1s1XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbNV07CisgICAgYXNz
ZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7CisgICAgYXNzZXJ0
X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsK
KyAgICBsZXQgdGV4dCA9IHJ1bGVzWzZdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s2
XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlIiksIC0xKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKK30pOworCit0ZXN0KGZ1
bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbN10uY3NzVGV4dDsKKyAgICBsZXQgcnVs
ZSA9IHJ1bGVzWzddOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1j
b2xvciIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rl
c3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s4XS5jc3NUZXh0OworICAgIGxl
dCBydWxlID0gcnVsZXNbOF07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJy
aWRlLWNvbG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsK
KwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzldLmNzc1RleHQ7Cisg
ICAgbGV0IHJ1bGUgPSBydWxlc1s5XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigi
b3ZlcnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsK
K30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTBdLmNzc1Rl
eHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxMF07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0Lmlu
ZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6
ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzEx
XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMTFdOworICAgIGFzc2VydF9lcXVhbHMo
dGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhy
dWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBy
dWxlc1sxMl0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzEyXTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9l
cXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
b250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBiNDgyZmZhZjM3NGUxOGJjZGYyMzA4ODI5NjFkOTEzMWI4ZDVmMTYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDIyIEBACisKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJz
aW5nIEBmb250LXBhbGV0dGUtdmFsdWVzCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDog
cGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2
ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAyCitQQVNTIENTUyBGb250cyBNb2R1
bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAzCitQQVNTIENTUyBGb250
cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA0CitQQVNTIENT
UyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA1CitQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cyA2CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRl
LXZhbHVlcyA3CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1w
YWxldHRlLXZhbHVlcyA4CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBA
Zm9udC1wYWxldHRlLXZhbHVlcyA5CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFy
c2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVs
IDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTEKK1BBU1MgQ1NTIEZvbnRzIE1vZHVs
ZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEyCitQQVNTIENTUyBGb250
cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMworUEFTUyBD
U1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTQK
K1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFs
dWVzIDE1CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxl
dHRlLXZhbHVlcyAxNgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZv
bnQtcGFsZXR0ZS12YWx1ZXMgMTcKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJz
aW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE4CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxOQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2lu
Zy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUt
dmFsdWVzLXZhbGlkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY3NzRlZmJiMTQ5MzFlYmY1MDgwOGMzY2Iz
NWZiZmY4YTEzNzliOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12
YWx1ZXMtdmFsaWQuaHRtbApAQCAtMCwwICsxLDIzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkNTUyBGb250cyBNb2R1
bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlczwvdGl0bGU+Cis8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMvI2ZvbnQt
cGFsZXR0ZS12YWx1ZXMiPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJAZm9udC1wYWxl
dHRlLXZhbHVlcyBpcyBwYXJzZWQgY29ycmVjdGx5LiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgaWQ9InN0eWxlIj4KKy8qIDAgKi8K
K0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworfQorCisvKiAxICovCitAZm9udC1wYWxldHRlLXZh
bHVlcyBCIHsKKyAgICBmb250LXdlaWdodDogNDAwOworfQorCisvKiAyICovCitAZm9udC1wYWxl
dHRlLXZhbHVlcyBDIHsKKyAgICBmb250LWZhbWlseTogZm9vOworICAgIGZvbnQtZmFtaWx5OiBi
YXI7CisgICAgYmFzZS1wYWxldHRlOiAxOworICAgIGJhc2UtcGFsZXR0ZTogImJheiI7CisgICAg
YmFzZS1wYWxldHRlOiAyOworICAgIG92ZXJyaWRlLWNvbG9yOiAiYSIgIzEyMzsKKyAgICBvdmVy
cmlkZS1jb2xvcjogMyAjMTIzOworICAgIG92ZXJyaWRlLWNvbG9yOiAiYiIgIzEyMzsKK30KKwor
LyogMyAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgRCB7CisgICAgYmFzZS1wYWxldHRlOiAiZm9v
IjsKKyAgICBiYXNlLXBhbGV0dGU6IDE7CisgICAgYmFzZS1wYWxldHRlOiAiYmFyIjsKKyAgICBv
dmVycmlkZS1jb2xvcjogMyAjMTIzOworICAgIG92ZXJyaWRlLWNvbG9yOiAiYmF6IiAjMTIzOwor
ICAgIG92ZXJyaWRlLWNvbG9yOiA0ICMxMjM7Cit9CisKKy8qIDQgKi8KK0Bmb250LXBhbGV0dGUt
dmFsdWVzIEUgeworICAgIG92ZXJyaWRlLWNvbG9yOiAzIHJnYigxNywgMzQsIDUxKTsKKyAgICBv
dmVycmlkZS1jb2xvcjogMyByZ2IoNjgsIDg1LCAxMDIpOworfQorCisvKiA1ICovCitAZm9udC1w
YWxldHRlLXZhbHVlcyBGIHsKKyAgICBmb250LWZhbWlseTogImZvbyI7Cit9CisKKy8qIDYgKi8K
K0Bmb250LXBhbGV0dGUtdmFsdWVzIEcgeworICAgIG92ZXJyaWRlLWNvbG9yOiAzIHJnYigxNywg
MzQsIDUxKSwgNCByZ2IoNjgsIDg1LCAxMDIpOworfQorCisvKiA3ICovCitAZm9udC1wYWxldHRl
LXZhbHVlcyBIIHsKKyAgICBvdmVycmlkZS1jb2xvcjogMyByZ2IoMTcsIDM0LCA1MSksIDMgcmdi
KDY4LCA4NSwgMTAyKTsKK30KKworLyogOCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSSB7Cisg
ICAgYmFzZS1wYWxldHRlOiAtMzsKK30KKworLyogOSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
SiB7CisgICAgb3ZlcnJpZGUtY29sb3I6IC0zIHJnYigxNywgMzQsIDUxKTsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitsZXQgcnVsZXMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3R5bGUiKS5zaGVldC5jc3NSdWxlczsKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
bGV0IHRleHQgPSBydWxlc1swXS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQu
aW5kZXhPZigiQGZvbnQtcGFsZXR0ZS12YWx1ZXMgIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2Vx
dWFscyh0ZXh0LmluZGV4T2YoIiBBICIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4
dC5pbmRleE9mKCJ7IiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2Yo
In0iKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJmb250LWZhbWlseSIp
LCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAt
MSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0x
KTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbMF07Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLnR5cGUsIENTU1J1bGUuRk9OVF9QQUxFVFRFX1ZBTFVFU19S
VUxFKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuY29uc3RydWN0b3IubmFtZSwgIkNTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZSIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAi
Iik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0
X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0
IHRleHQgPSBydWxlc1sxXS5jc3NUZXh0OworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9m
KCJmb250LXdlaWdodCIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQg
cnVsZSA9IHJ1bGVzWzFdOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7
CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRl
eHQgPSBydWxlc1syXS5jc3NUZXh0OworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJm
b250LWZhbWlseTogZm9vOyIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRl
eE9mKCJmb250LWZhbWlseTogYmFyOyIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0Lmlu
ZGV4T2YoImJhc2UtcGFsZXR0ZTogMTsiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5p
bmRleE9mKCJiYXNlLXBhbGV0dGU6IFwiYmF6XCIiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1
YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiAyOyIpLCAtMSk7CisgICAgYXNzZXJ0X2Vx
dWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiBcImFcIiIpLCAtMSk7CisgICAgYXNz
ZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiAzIiksIC0xKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiBcImJcIiIpLCAt
MSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzJdOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiYmFyIik7CisgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLmJhc2VQYWxldHRlLCAiMiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXpl
LCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbM10u
Y3NzVGV4dDsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiBc
ImZvb1wiOyIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFs
ZXR0ZTogMSIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNl
LXBhbGV0dGU6IFwiYmFyXCI7IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhP
Zigib3ZlcnJpZGUtY29sb3I6IDMiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRl
eE9mKCJvdmVycmlkZS1jb2xvcjogXCJiYXpcIiIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVh
bHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvcjogNCIpLCAtMSk7Cit9KTsKKwordGVzdChm
dW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzNdOworICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRl
LCAiYmFyIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOworICAgIGFzc2VydF9l
cXVhbHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMocnVs
ZS5nZXQoNCkuaW5kZXhPZigicmdiIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICAgIGxldCB0ZXh0ID0gcnVsZXNbNF0uY3NzVGV4dDsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQu
aW5kZXhPZigiNTEiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigi
MTAyIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVs
ZXNbNF07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUu
c2l6ZSwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsKKyAg
ICBhc3NlcnRfbm90X2VxdWFscyhydWxlLmdldCgzKS5pbmRleE9mKCIxMDIiKSwgLTEpOworfSk7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s1XS5jc3NUZXh0Owor
ICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9vIiksIC0xKTsKK30pOworCit0
ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbNV07CisgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLmZvbnRGYW1pbHksICJmb28iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFz
ZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwor
dGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzZdLmNzc1RleHQ7CisgICAg
YXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCI1MSIpLCAtMSk7CisgICAgYXNzZXJ0X25v
dF9lcXVhbHModGV4dC5pbmRleE9mKCIxMDIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s2XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9u
dEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAyKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUu
Z2V0KDcpLCB1bmRlZmluZWQpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDMpLmlu
ZGV4T2YoIjUxIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhydWxlLmdldCg0KS5pbmRl
eE9mKCIxMDIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQg
PSBydWxlc1s3XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigi
NTEiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiMTAyIiksIC0x
KTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbN107Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7
CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsKKyAgICBhc3NlcnRf
bm90X2VxdWFscyhydWxlLmdldCgzKS5pbmRleE9mKCIxMDIiKSwgLTEpOworICAgIGFzc2VydF9l
cXVhbHMocnVsZS5nZXQoNCksIHVuZGVmaW5lZCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsK
KyAgICBsZXQgdGV4dCA9IHJ1bGVzWzhdLmNzc1RleHQ7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMo
dGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s4XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9u
dEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIi0zIik7
CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s5XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1
YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVu
Y3Rpb24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s5XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwg
IiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHJ1bGUuZ2V0KDcpLCB1bmRlZmluZWQpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoLTMp
LCB1bmRlZmluZWQpOworfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438754</attachid>
            <date>2021-09-20 17:02:25 -0700</date>
            <delta_ts>2021-09-20 17:06:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230337-20210920170224.patch</filename>
            <type>text/plain</type>
            <size>95176</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQ2NGYzY2YxMjI4MjY0
MGU5NmIzNTQzNGUxZDM3M2Y1OGU2MjhhMS4uM2ZkZjhjZmExMWQ3OTc3ZTlhYWM2MjVhMmIwZTQz
MzUwYzYxZDk1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNyBAQAorMjAyMS0wOS0yMCAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFBhcnNpbmcg
c3VwcG9ydCBmb3IgZm9udC1wYWxldHRlLXZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMzM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUncyBub3RoaW5nIHBhcnRpY3VsYXJseSBpbnRl
cmVzdGluZyBoZXJlIC0gaXQncyBqdXN0IHN1cHBvcnQgZm9yIGFub3RoZXIgYXQtcnVsZS4KKyAg
ICAgICAgSSd2ZSBpbXBsZW1lbnRlZCB3aGF0J3MgaW4gdGhlIHNwZWMgcmlnaHQgbm93OgorICAg
ICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTQvI2ZvbnQtcGFsZXR0ZS12
YWx1ZXMKKworICAgICAgICBUaGVyZSBhcmUgMiBuZXcgZGVzY3JpcHRvcnM6IGJhc2UtcGFsZXR0
ZSBhbmQgb3ZlcnJpZGUtY29sb3IuIEkndmUgYWRkZWQgYSBuZXcgQ1NTVmFsdWUgc3ViY2xhc3MK
KyAgICAgICAgZm9yIGVhY2ggb2YgdGhlIGl0ZW1zIGluIHRoZSBvdmVycmlkZS1jb2xvciBsaXN0
IC0gdGhlc2UgaXRlbXMgYXJlIGp1c3QgdHVwbGVzIG9mIHR3bworICAgICAgICBDU1NQcmltaXRp
dmVWYWx1ZXMuIEkgY291bGQgaGF2ZSBkb25lIHRoaXMgd2l0aCBhIENTU1ZhbHVlTGlzdCB3aGlj
aCBhbHdheXMganVzdCBoYXBwZW5zIHRvIGhhdmUKKyAgICAgICAgYSBsZW5ndGggb2YgMiwgYnV0
IEkgdGhvdWdodCB0aGF0IHdhcyBsZXNzIGVsZWdhbnQgKGFuZCBoYXMgYW4gZXh0cmEgcG9pbnRl
ciBpbmRpcmVjdGlvbikgdGhhbgorICAgICAgICBtYWtpbmcgYSBjbGFzcyB0byBob2xkIHRoZSB0
d28gQ1NTUHJpbWl0aXZlVmFsdWVzLgorCisgICAgICAgIFRoZSBvbmx5IGRpZmZlcmVuY2Ugd2l0
aCB3aGF0J3MgaW4gdGhlIHNwZWMgaXMgdGhhdCBJJ3ZlIGdpdmVuIGEgZGlmZmVyZW50IHZhbHVl
IHRvCisgICAgICAgIEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSwgYmVjYXVzZSBpdHMgY3VycmVu
dCB2YWx1ZSBjb25mbGljdHMgd2l0aCBWSUVXUE9SVF9SVUxFLiBUaGlzIGlzIGJlaW5nCisgICAg
ICAgIHRyYWNrZWQgYXQgaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVz
LzY2MjMuCisKKyAgICAgICAgSSBjcmVhdGVkIGEgbmV3IGRhdGF0eXBlIGFuZCBmaWxlIGluIHBs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmggYmVjYXVzZSB0aGlzIGRhdGEgd2ls
bAorICAgICAgICBldmVudHVhbGx5IGJlIHBhc3NlZCB0byBwcmVwYXJlUGxhdGZvcm1Gb250KCks
IHdoaWNoIGlzIGluIHBsYXRmb3JtLywgc28gdGhpcyBkYXRhIG5lZWRzIHRvIGJlCisgICAgICAg
IGFjY2Vzc2libGUgZnJvbSBwbGF0Zm9ybS8gdG9vLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0
dGUtdmFsdWVzLWludmFsaWQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12
YWxpZC5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NS
dWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgor
ICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHA6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmguCisgICAgICAg
IChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3VzdG9t
Q1NTVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGU6On5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6cGFyc2VTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpmb250RmFtaWx5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6YmFzZVBhbGV0dGUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpzZXRGb250RmFtaWx5KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0QmFzZVBhbGV0dGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjppbml0aWFsaXplTWFwTGlrZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnNldEZyb21NYXBM
aWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y2xlYXIp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpyZW1vdmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjc3NUZXh0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6cmVhdHRhY2gp
OgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL0NTU1Byb3BlcnRp
ZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5jcHA6CisgICAgICAgICogY3NzL0NTU1J1
bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5pZGw6CisgICAgICAgICogY3NzL0NTU1ZhbHVl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjplcXVhbHMgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1RleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTVmFsdWU6OmlzRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUg
Y29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNl
Ojpjb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNT
U09NV3JhcHBlciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVGb250UGFsZXR0
ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMpOgorICAgICAgICAqIGNzcy9TdHls
ZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmlzRm9udFBhbGV0dGVW
YWx1ZXNSdWxlIGNvbnN0KToKKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgICogY3NzL1N0eWxl
UnVsZVR5cGUuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRyYXZlcnNlUnVsZXNJblZlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVNoZWV0Q29udGVudHM6OnRyYXZlcnNlU3VicmVzb3VyY2VzIGNvbnN0KToKKyAgICAgICAg
KiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNzc0F0UnVs
ZUlEKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmg6CisgICAgICAgICogY3Nz
L3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcklt
cGw6OmNvbnN1bWVBdFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6Y29u
c3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJJ
bXBsOjpjb25zdW1lRGVjbGFyYXRpb24pOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2Vy
SW1wbC5oOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVzY3JpcHRvcik6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKToKKyAgICAg
ICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpG
b250UGFsZXR0ZVZhbHVlczo6Rm9udFBhbGV0dGVWYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9udFBhbGV0dGVWYWx1ZXM6OmJhc2VQYWxldHRlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQYWxldHRlVmFsdWVzOjpzZXRCYXNlUGFsZXR0ZSk6CisgICAgICAgIChXZWJDb3JlOjpG
b250UGFsZXR0ZVZhbHVlczo6b3ZlcnJpZGVDb2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpGb250UGFsZXR0ZVZhbHVlczo6YXBwZW5kT3ZlcnJpZGVDb2xvcik6CisgICAgICAgIChXZWJD
b3JlOjpGb250UGFsZXR0ZVZhbHVlczo6Y2xlYXJPdmVycmlkZUNvbG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRQYWxldHRlVmFsdWVzOjpyZW1vdmUpOgorCiAyMDIxLTA5LTIwICBBbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEluY29ycmVjdCBz
dXJyb2dhdGUgaGFuZGxpbmcgd2hlbiBkZWFsaW5nIHdpdGggc2hvcnQgbGluZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggNzM3ZmU2MDQ3YjIzYzAwMzMyMTNkOWQyNjYwYzhmY2IxMzQ4ZGMyOC4u
YTQxMzJkZmI1Yjk2NmM0ODkxNTdkZTlhMTVlZjY2MmE3MGQ3NDU0OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTcwNSw2ICs3MDUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwog
ICAgIGNzcy9DU1NDb25kaXRpb25SdWxlLmlkbAogICAgIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxl
LmlkbAogICAgIGNzcy9DU1NGb250RmFjZVJ1bGUuaWRsCisgICAgY3NzL0NTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5pZGwKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAogICAgIGNzcy9DU1NJ
bXBvcnRSdWxlLmlkbAogICAgIGNzcy9DU1NLZXlmcmFtZVJ1bGUuaWRsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA3ZWYzOWZkYzM1YWVl
MmEyM2QzZjZkYTYwNjc3MDE0N2U2ODlmNGVhLi5jZjJlOWFkY2NhZDBhZTE2Njg3ODQ5OTU0NmQz
Y2Y3N2I5ZGM5NjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKQEAgLTY4Miw2ICs2ODIsNyBAQCAkKFBST0pFQ1RfRElSKS9jcnlwdG8vcGFy
YW1ldGVycy9Sc2FQc3NQYXJhbXMuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTQ29uZGl0aW9u
UnVsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbAogJChQ
Uk9KRUNUX0RJUikvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy9D
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTR3JvdXBp
bmdSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAkKFBST0pF
Q1RfRElSKS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCAyN2ViZDhhOTI0NzMzNTU1M2RhYjQ3
N2ZiZjQ4ZjBkMGVlNWE1YmUwLi4xNmNjNDg3ZDRjMDJmNGRhOTdiYzNkYjIxNDAzYWI0ZDczYzUy
N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdApAQCAtMzAwLDYgKzMwMCw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVs
ZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
Rm9udEZhY2VSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NHcm91cGluZ1J1
bGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NT
U0dyb3VwaW5nUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0NTU0ltcG9ydFJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCA1Y2ZiYmE3ZjYxMDgxYjFkYTE4MGZhZTBjYWFlODgyNmQ2MWMzYzk3Li5kMjAyNDNlZjg1Nzdi
ZTM4NTUyODUxNTdkOWE2Zjc1NGU5NzU3ZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5p
ZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1j
Q29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTU3NSw2ICs1NzUsNyBAQCBKU19CSU5ESU5H
X0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTR3JvdXBpbmdSdWxl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgXAogICAgICQoV2Vi
Q29yZSkvY3NzL0NTU0tleWZyYW1lUnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZjQx
MTMzNGQ2YjcxNDczNzA1NzA2Y2UwNWY0ZGM2MTA0ODdjYTc3ZS4uZTU4NWVhZDMzNzVjZjUzYzAx
NzEzNWFiMjZkMTZjZWIxZTUzNmU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0zNjYsNiArMzY2
LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIGNzcy9DU1ND
b25kaXRpb25SdWxlLmgKICAgICBjc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oCiAgICAgY3Nz
L0NTU0ZvbnRGYWNlUnVsZS5oCisgICAgY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCiAg
ICAgY3NzL0NTU0ZvbnRGYW1pbHkuaAogICAgIGNzcy9DU1NHcmlkSW50ZWdlclJlcGVhdFZhbHVl
LmgKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmgKQEAgLTEyNTksNiArMTI2MCw3IEBAIHNldChX
ZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9G
b250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRH
ZW5lcmljRmFtaWxpZXMuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKKyAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0ZVZhbHVlcy5oCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJhbmdl
cy5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVjdGlvbkFsZ29yaXRobS5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CmluZGV4IGQxOGJhZGJmZGI3MzMzYWIxMjgwNzFhOGNkMzA5ZjRkZDlhNzk1N2IuLmU0
MDAwNWM4YTBkZGI0YTE2ZjcyYjIyNTA4ZWU3ZjY2ODA4MjQyZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBA
IC0xLDQgKzEsNCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02
NTgsNiArNjU4LDggQEAgY3NzL0NTU0ZvbnRGYWNlU2V0LmNwcAogY3NzL0NTU0ZvbnRGYWNlU291
cmNlLmNwcAogY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCiBjc3MvQ1NTRm9udEZlYXR1cmVW
YWx1ZS5jcHAKK2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAK
K2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwCiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cAogY3NzL0NTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuY3BwCiBjc3MvQ1NTRm9udFN0eWxlVmFsdWUu
Y3BwCkBAIC0yODIzLDYgKzI4MjUsNyBAQCBKU0NTU0FuaW1hdGlvbi5jcHAKIEpTQ1NTQ29uZGl0
aW9uUnVsZS5jcHAKIEpTQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKIEpTQ1NTRm9udEZhY2VSdWxl
LmNwcAorSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwCiBKU0NTU0dyb3VwaW5nUnVsZS5j
cHAKIEpTQ1NTSW1wb3J0UnVsZS5jcHAKIEpTQ1NTS2V5ZnJhbWVSdWxlLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYxNDM4
ZThiYjdiNjMyYjViMzFkMjNkMmE5ZDAzM2ViYTczYjM5OGEuLmE0M2UxN2E4NjVkOTMxYTIyNDA0
ZjVmOTY2ZjFjMGFkNjNiMmQ0NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY1Miw2ICs2NTIsNyBAQAogCQkxQzI0RUVBOTFD
NzJBN0I0MDA4MEY4RkMgLyogSlNGb250RmFjZVNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMyNEVFQTcxQzcyQTdCNDAwODBGOEZDIC8qIEpTRm9u
dEZhY2VTZXQuaCAqLzsgfTsKIAkJMUM0M0RFNkIyMkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3Vy
cmVudFRyYWl0Q29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUM0M0RFNjgyMkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3VycmVudFRyYWl0
Q29sbGVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTFDNEQwREQzMjREOUYxMEQwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNEQwREQxMjRE
OUYwREIwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxQzVFMURBODI2Rjk0QjkwMDBFMDdBRjEg
LyogRm9udFBhbGV0dGVWYWx1ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFDNUUxREE2MjZGOTQ5QjkwMEUwN0FGMSAvKiBGb250UGFsZXR0ZVZhbHVl
cy5oICovOyB9OwogCQkxQzY2MjYxMTFDNkU3Q0E2MDBBQjUyN0MgLyogRm9udEZhY2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjYyNjBGMUM2RTdD
QTYwMEFCNTI3QyAvKiBGb250RmFjZS5oICovOyB9OwogCQkxQzczQTcxMzIxODU3NTdFMDA0Q0NF
QTUgLyogVGV4dFVuZGVybGluZU9mZnNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUNCNkI0RkIyMTdCODM5NDAwOTNCOUNEIC8qIFRleHRVbmRlcmxp
bmVPZmZzZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkxQzczQTcxNTIxODU3NTg3MDA0Q0NFQTUgLyogVGV4dERlY29yYXRpb25UaGlja25lc3Mu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQjZCNEY4
MjE3QjgzOTMwMDkzQjlDRCAvKiBUZXh0RGVjb3JhdGlvblRoaWNrbmVzcy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC02NjYsNiArNjY3LDcgQEAK
IAkJMUNFODg2NDEyNjEwNUJGMjAwMEM4MTZDIC8qIEluTWVtb3J5RGlzcGxheUxpc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRTg4NjNGMjYxMDVB
NUYwMDBDODE2QyAvKiBJbk1lbW9yeURpc3BsYXlMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUNFOEQxMjcyNjE4NUMwRTAwRkMzQUVGIC8q
IERpc3BsYXlMaXN0SXRlbUJ1ZmZlcklkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRThEMTI1MjYxODVCRDgwMEZDM0FFRiAvKiBEaXNw
bGF5TGlzdEl0ZW1CdWZmZXJJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUNFOEQxMkUyNjE4NjFDNDAwRkMzQUVGIC8qIERpc3Bs
YXlMaXN0SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFDRThEMTJDMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUNFQUE1
MzIyNkYzMzZGQzAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZh
bHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0VB
QTUzMTI2RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9y
VmFsdWUuaCAqLzsgfTsKIAkJMUNGQUUzMjMwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHls
aWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0ZB
RTMyMjBBNkQ2QTNGMDAzMjU5M0QgLyogbGlib2JqYy5keWxpYiAqLzsgfTsKIAkJMUQwMDI2QTQy
Mzc0RDYyNDAwQ0E2Q0RGIC8qIEpTUGljdHVyZUluUGljdHVyZVdpbmRvdy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQwMDI2QTIyMzc0RDYyMzAwQ0E2
Q0RGIC8qIEpTUGljdHVyZUluUGljdHVyZVdpbmRvdy5oICovOyB9OwogCQkxRDAwMjZBQTIzNzRG
OUVBMDBDQTZDREYgLyogSlNFbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQwMDI2QTgyMzc0RjlEOTAwQ0E2
Q0RGIC8qIEpTRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaCAqLzsgfTsKQEAgLTcwNDgsNiAr
NzA1MCw3IEBACiAJCTFDNDNERTZBMjJBQjRCOEEwMDE1MjdEOSAvKiBMb2NhbEN1cnJlbnRUcmFp
dENvbGxlY3Rpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBM
b2NhbEN1cnJlbnRUcmFpdENvbGxlY3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDNEQwREQxMjREOUYwREIwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR2x5cGhCdWZmZXJNZW1iZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFDNTBDNDk1MjJDODRGMjQwMEE2RTRCRSAvKiBXSExTTFN0YW5kYXJkTGlicmFyeUZ1
bmN0aW9uTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMU3RhbmRhcmRMaWJyYXJ5RnVu
Y3Rpb25NYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzVFMURBNjI2Rjk0
OUI5MDBFMDdBRjEgLyogRm9udFBhbGV0dGVWYWx1ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udFBh
bGV0dGVWYWx1ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2NjI2MEUxQzZF
N0NBNjAwQUI1MjdDIC8qIEZvbnRGYWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEZvbnRGYWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2
NjI2MEYxQzZFN0NBNjAwQUI1MjdDIC8qIEZvbnRGYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEZvbnRGYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFD
NkZEOEFDMjUwQTI5NEQwMEQ2RTkyMCAvKiBGb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcwODAsNiArNzA4MywxMSBAQAogCQkxQ0U4RDEyNTI2MTg1
QkQ4MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDRThEMTJCMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0
ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlMaXN0SXRlcmF0b3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0U4RDEyQzI2MTg2MTY0MDBGQzNBRUYgLyog
RGlzcGxheUxpc3RJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZXJhdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUw
NyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUNFQUE1MkQyNkYzMUEzQzAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MkYyNkYzMUFGODAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MzAyNkYzMzFDMTAwODY4NTA3IC8qIENTU0Zv
bnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MzEyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDRjBCRkQ0MjI5ODcwNjgwMEVEMjA3NCAvKiBUZXh0U2l6ZUFkanVzdG1lbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gVGV4dFNpemVBZGp1c3RtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUNGMThGM0MyNkJCNUFGMjAwNEIxNzIyIC8qIExvZ0luaXRpYWxpemF0
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvZ0luaXRpYWxpemF0aW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGQUUzMjIwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9i
amMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAv
dXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAt
MjcwMDcsNiArMjcwMTUsNyBAQAogCQkJCUU0NEVFM0E2MTc1NzZFNTUwMEVFRThDRiAvKiBGb250
R2VuZXJpY0ZhbWlsaWVzLmNwcCAqLywKIAkJCQlFNDRFRTNBNzE3NTc2RTU1MDBFRUU4Q0YgLyog
Rm9udEdlbmVyaWNGYW1pbGllcy5oICovLAogCQkJCTA4NDU2ODA3MTJCOTBEQTYwMDk2MEE5RiAv
KiBGb250TWV0cmljcy5oICovLAorCQkJCTFDNUUxREE2MjZGOTQ5QjkwMEUwN0FGMSAvKiBGb250
UGFsZXR0ZVZhbHVlcy5oICovLAogCQkJCTg0QjYyNjg0MTMzMTM4RjkwMDk1QTQ4OSAvKiBGb250
UGxhdGZvcm1EYXRhLmNwcCAqLywKIAkJCQlCNTMyMEQ2OTEyMkEyNEU5MDAyRDE0NDAgLyogRm9u
dFBsYXRmb3JtRGF0YS5oICovLAogCQkJCTM3MUY0RkZCMEQyNUU3RjMwMEVDRTBENSAvKiBGb250
UmFuZ2VzLmNwcCAqLywKQEAgLTI5NTg4LDYgKzI5NTk3LDExIEBACiAJCQkJODM1MjBDN0QxQTcx
QkZDQzAwNkJEMkFBIC8qIENTU0ZvbnRGYW1pbHkuaCAqLywKIAkJCQk0QTZFOUZDMTEzQzE3RDFE
MDA0NkE3RjggLyogQ1NTRm9udEZlYXR1cmVWYWx1ZS5jcHAgKi8sCiAJCQkJNEE2RTlGQzIxM0Mx
N0QxRDAwNDZBN0Y4IC8qIENTU0ZvbnRGZWF0dXJlVmFsdWUuaCAqLywKKwkJCQkxQ0VBQTUzMDI2
RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUu
Y3BwICovLAorCQkJCTFDRUFBNTMxMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZh
bHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oICovLAorCQkJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUw
NyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwICovLAorCQkJCTFDRUFBNTJEMjZGMzFB
M0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCAqLywKKwkJCQkxQ0VBQTUy
RjI2RjMxQUY4MDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCAqLywKIAkJ
CQlCQzY0QjREMzBDQjQyOThBMDA1RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmNwcCAqLywKIAkJ
CQlCQzY0QjRENDBDQjQyOThBMDA1RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmggKi8sCiAJCQkJ
QzJFMzhFRkYxRTg0NTczNTAwQ0EzQURGIC8qIENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuY3BwICov
LApAQCAtMzE5NjIsNiArMzE5NzYsNyBAQAogCQkJCUJDNjRCNERBMENCNDI5OEEwMDVGMkI2MiAv
KiBDU1NGb250RmFjZVNyY1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzUyMEM3RTFBNzFC
RkNDMDA2QkQyQUEgLyogQ1NTRm9udEZhbWlseS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE2RTlG
QzQxM0MxN0QxRDAwNDZBN0Y4IC8qIENTU0ZvbnRGZWF0dXJlVmFsdWUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTFDRUFBNTMyMjZGMzM2RkMwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2NEI0REMwQ0I0Mjk4QTAw
NUYyQjYyIC8qIENTU0ZvbnRTZWxlY3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJFMzhGMDIx
RTg0NTczNTAwQ0EzQURGIC8qIENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUMyRTM4RUZFMUU4Mzk2RkQwMENBM0FERiAvKiBDU1NGb250U3R5bGVWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zMjQ5OSw2ICszMjUxNCw3IEBACiAJCQkJNjU4NDM2ODYwQUUwMUI3
NDAwRTUzNzQzIC8qIEZvbnRMb2FkUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0QTUz
MkYyNTYwNTdDRDAwMjhDNTkyIC8qIEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTA4NDU2ODA4MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMUM1RTFEQTgyNkY5NEI5MDAwRTA3QUYxIC8qIEZvbnRQYWxldHRlVmFs
dWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCNTMyMEQ2QjEyMkEyNEU5MDAyRDE0NDAgLyogRm9u
dFBsYXRmb3JtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzcxRjRGRkMwRDI1RTdGMzAwRUNF
MEQ1IC8qIEZvbnRSYW5nZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNEE1MzM5MjU2MDYzOTgw
MDI4QzU5MiAvKiBGb250UmVuZGVyaW5nTW9kZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAppbmRleCA3NTBlMDBjMzg3
ZmJkMjc4ZTU4NWZlYzZiZDM0ZDIwNTA3MWNjNWQzLi44YzRjNTYxNWEzOWY3MTM5NWQ3ZGM3ZTli
OGZlNzlmNjE5N2M5MjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0NTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NT
UnVsZUN1c3RvbS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkNTU0NvdW50ZXJT
dHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5j
bHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgpA
QCAtMzgsNiArMzksNyBAQAogI2luY2x1ZGUgIkNTU1N1cHBvcnRzUnVsZS5oIgogI2luY2x1ZGUg
IkpTQ1NTQ291bnRlclN0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTRm9udEZhY2VSdWxlLmgi
CisjaW5jbHVkZSAiSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJKU0NT
U0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU0tleWZyYW1lUnVsZS5oIgogI2luY2x1ZGUg
IkpTQ1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtNzAsNiArNzIsOCBAQCBKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBSZWY8QwogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NNZWRpYVJ1bGU+KGdsb2Jh
bE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxlOjpGT05UX0ZBQ0VfUlVM
RToKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTRm9udEZhY2VSdWxlPihnbG9iYWxP
YmplY3QsIFdURk1vdmUocnVsZSkpOworICAgIGNhc2UgQ1NTUnVsZTo6Rk9OVF9QQUxFVFRFX1ZB
TFVFU19SVUxFOgorICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxl
OjpQQUdFX1JVTEU6CiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1BhZ2VSdWxlPihn
bG9iYWxPYmplY3QsIFdURk1vdmUocnVsZSkpOwogICAgIGNhc2UgQ1NTUnVsZTo6SU1QT1JUX1JV
TEU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwCmluZGV4IDI2YjQ5NTdmODQ5YjcwMWM1ZDA2ZjdiNDQzZDVkY2ZiZTljZTkzOTAuLmZj
ZjViMjI5ZGVjOTc2MzJlOGZmZDA0ZTNkZDUzYjZmODZhODA4NGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xLDYgKzEs
NiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNCBaYWNrIFJ1c2luIDx6YWNrQGtkZS5vcmc+
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Vi
a2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwNyBOaWNob2xhcyBTaGFua3MgPHdlYmtpdEBu
aWNrc2hhbmtzLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAxMSBTZW5jaGEsIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KQEAgLTQwNTIsNiArNDA1MiwxMSBAQCBSZWZQdHI8Q1NTVmFsdWU+IENv
bXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNvbnN0IFJlbmRl
clN0eQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udERpc3BsYXk6CiAgICAgICAgICAgICBi
cmVhazsKIAorICAgICAgICAvKiBVbmltcGxlbWVudGVkIEBmb250LXBhbGV0dGUtdmFsdWVzIHBy
b3BlcnRpZXMgKi8KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhc2VQYWxldHRlOgorICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5T3ZlcnJpZGVDb2xvcjoKKyAgICAgICAgICAgIGJyZWFrOworCiAg
ICAgICAgIC8qIE90aGVyIHVuaW1wbGVtZW50ZWQgcHJvcGVydGllcyAqLwogICAgICAgICBjYXNl
IENTU1Byb3BlcnR5UGFnZTogLy8gZm9yIEBwYWdlCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlT
aXplOiAvLyBmb3IgQHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2
ZDQ2YzJhMTFmYWJmZDFmMjc1MDdmNGIzMzMxMzdlNjY0YjdmM2UKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFs
dWUuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0
dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitT
dHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU6OmN1c3RvbUNTU1Rl
eHQoKSBjb25zdAoreworICAgIHJldHVybiBtYWtlU3RyaW5nKG1fa2V5LT5jc3NUZXh0KCksICIg
IiwgbV9jb2xvci0+Y3NzVGV4dCgpKTsKK30KKworYm9vbCBDU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvclZhbHVlJiBvdGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9rZXktPmVxdWFscyhv
dGhlci5rZXkoKSkgJiYgbV9jb2xvci0+ZXF1YWxzKG90aGVyLmNvbG9yKCkpOworfQorCit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlk
ZUNvbG9yVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3MTkwYmJjOTI3MDJkYjNhNjk5MGE3Yzk4
YWVhZjIxNDRiZjZmN2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaApAQCAtMCwwICsxLDc2IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxl
LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgiCisjaW5jbHVkZSA8d3RmL0Z1
bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVkRm9udDsKK2NsYXNzIEZvbnRMb2FkUmVxdWVzdDsKK2Ns
YXNzIFNWR0ZvbnRGYWNlRWxlbWVudDsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisK
K2NsYXNzIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlIGZpbmFsIDogcHVi
bGljIENTU1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENTU0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlPiBjcmVhdGUoUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIGtl
eSwgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIGNvbG9yKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUoV1RG
TW92ZShrZXkpLCBXVEZNb3ZlKGNvbG9yKSkpOworICAgIH0KKworICAgIGNvbnN0IENTU1ByaW1p
dGl2ZVZhbHVlJiBrZXkoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fa2V5LmdldCgp
OworICAgIH0KKworICAgIGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBjb2xvcigpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gbV9jb2xvci5nZXQoKTsKKyAgICB9CisKKyAgICBTdHJpbmcg
Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0OworCisgICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUmKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZShSZWY8Q1NTUHJpbWl0aXZlVmFs
dWU+JiYga2V5LCBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYgY29sb3IpCisgICAgICAgIDogQ1NT
VmFsdWUoRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3MpCisgICAgICAgICwgbV9r
ZXkoV1RGTW92ZShrZXkpKQorICAgICAgICAsIG1fY29sb3IoV1RGTW92ZShjb2xvcikpCisgICAg
eworICAgIH0KKworICAgIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9rZXk7CisgICAgUmVmPENT
U1ByaW1pdGl2ZVZhbHVlPiBtX2NvbG9yOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19WQUxVRShDU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZSwgaXNGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSgp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42Mjc4NmQ3ODhjNDI1Y2M1MmI1Mjk4NDQ1MGU3MWNjYmM4ZTk3YzcyCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZS5jcHAKQEAgLTAsMCArMSwxNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlLmgiCisKKyNpbmNsdWRlICJDb2xvclNlcmlhbGl6YXRpb24uaCIKKyNpbmNs
dWRlICJKU0RPTU1hcExpa2UuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFy
YXRpb24uaCIKKyNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRlICJTdHlsZVJ1
bGUuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIGZvbnRQYWxldHRlVmFsdWVzUnVsZSwg
Q1NTU3R5bGVTaGVldCogcGFyZW50KQorICAgIDogQ1NTUnVsZShwYXJlbnQpCisgICAgLCBtX2Zv
bnRQYWxldHRlVmFsdWVzUnVsZShmb250UGFsZXR0ZVZhbHVlc1J1bGUpCit7Cit9CisKK0NTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6fkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgpCit7Cit9CisK
K3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5n
LCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCit7CisgICAgLy8gRklYTUU6IE1ha2Ugc3VyZSB0
aGlzIGFjdHVhbGx5IHdvcmtzCisgICAgQ1NTUGFyc2VyQ29udGV4dCBjb250ZXh0KEhUTUxTdGFu
ZGFyZE1vZGUpOworICAgIGNvbnRleHQuZW5jbG9zaW5nUnVsZVR5cGUgPSBTdHlsZVJ1bGVUeXBl
OjpGb250UGFsZXR0ZVZhbHVlczsKKyAgICByZXR1cm4gQ1NTUGFyc2VyOjpwYXJzZVNpbmdsZVZh
bHVlKHByb3BlcnR5SUQsIHN0cmluZywgY29udGV4dCk7Cit9CisKK1N0cmluZyBDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGU6OmZvbnRGYW1pbHkoKSBjb25zdAoreworICAgIHJldHVybiBtX2ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS0+Zm9udEZhbWlseSgpOworfQorCitTdHJpbmcgQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpiYXNlUGFsZXR0ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFdURjo6c3dp
dGNoT24obV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmJhc2VQYWxldHRlKCksIFsmXShpbnQ2NF90
IGluZGV4KSB7CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKGluZGV4KTsKKyAgICB9LCBbJl0o
Y29uc3QgQXRvbVN0cmluZyYgYmFzZVBhbGV0dGUpIC0+IFN0cmluZyB7CisgICAgICAgIGlmICgh
YmFzZVBhbGV0dGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gYmFzZVBhbGV0dGUuc3Ry
aW5nKCk7CisgICAgICAgIHJldHVybiBTdHJpbmdJbXBsOjplbXB0eSgpOworICAgIH0pOworfQor
Cit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0Rm9udEZhbWlseShTdHJpbmcmJiBm
b250RmFtaWx5KQoreworICAgIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5zZXRGb250RmFtaWx5
KGZvbnRGYW1pbHkpOworfQorCit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0QmFz
ZVBhbGV0dGUoU3RyaW5nJiYgYmFzZVBhbGV0dGUpCit7CisgICAgYXV0byB2YWx1ZSA9IHBhcnNl
U3RyaW5nKGJhc2VQYWxldHRlLCBDU1NQcm9wZXJ0eUJhc2VQYWxldHRlKTsKKyAgICBpZiAoIXZh
bHVlKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvJiBwcmltaXRpdmVWYWx1ZSA9IGRvd25j
YXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpOworICAgIGlmIChwcmltaXRpdmVWYWx1ZS5p
c1N0cmluZygpKQorICAgICAgICBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+c2V0QmFzZVBhbGV0
dGUocHJpbWl0aXZlVmFsdWUuc3RyaW5nVmFsdWUoKSk7CisgICAgZWxzZSBpZiAocHJpbWl0aXZl
VmFsdWUuaXNOdW1iZXIoKSkKKyAgICAgICAgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPnNldEJh
c2VQYWxldHRlKHByaW1pdGl2ZVZhbHVlLnZhbHVlPGludDY0X3Q+KCkpOworfQorCit2b2lkIENT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6aW5pdGlhbGl6ZU1hcExpa2UoRE9NTWFwQWRhcHRlciYg
bWFwKQoreworICAgIGZvciAoYXV0byYgcGFpciA6IG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5v
dmVycmlkZUNvbG9yKCkpIHsKKyAgICAgICAgaWYgKCFXVEY6OmhvbGRzX2FsdGVybmF0aXZlPGlu
dDY0X3Q+KHBhaXIuZmlyc3QpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIG1hcC5z
ZXQ8SURMVW5zaWduZWRMb25nLCBJRExVU1ZTdHJpbmc+KFdURjo6Z2V0PGludDY0X3Q+KHBhaXIu
Zmlyc3QpLCBzZXJpYWxpemF0aW9uRm9yQ1NTKHBhaXIuc2Vjb25kKSk7CisgICAgfQorfQorCit2
b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0RnJvbU1hcExpa2UodW5zaWduZWQga2V5
LCBTdHJpbmcmJiB2YWx1ZSkKK3sKKyAgICByZW1vdmUoa2V5KTsKKworICAgIGF1dG8gY3NzVmFs
dWUgPSBwYXJzZVN0cmluZyhtYWtlU3RyaW5nKGtleSwgJyAnLCB2YWx1ZSksIENTU1Byb3BlcnR5
T3ZlcnJpZGVDb2xvcik7CisgICAgaWYgKCFjc3NWYWx1ZSB8fCAhaXM8Q1NTVmFsdWVMaXN0Pigq
Y3NzVmFsdWUpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvJiBsaXN0ID0gZG93bmNhc3Q8
Q1NTVmFsdWVMaXN0PigqY3NzVmFsdWUpOworICAgIEFTU0VSVChsaXN0Lmxlbmd0aCgpID09IDEp
OworICAgIGF1dG8mIGZpcnN0ID0gKmxpc3QuaXRlbSgwKTsKKyAgICBhdXRvJiBmb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSA9IGRvd25jYXN0PENTU0ZvbnRQYWxldHRlVmFsdWVz
T3ZlcnJpZGVDb2xvclZhbHVlPihmaXJzdCk7CisgICAgYXV0byYgY29sb3JWYWx1ZSA9IGZvbnRQ
YWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNvbG9yKCk7CisgICAgYXV0byYgY29sb3Ig
PSBjb2xvclZhbHVlLmNvbG9yKCk7CisgICAgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmFwcGVu
ZE92ZXJyaWRlQ29sb3IoRm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvciB7IGtleSwg
Q29sb3IoY29sb3IpIH0pOworfQorCit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y2xl
YXIoKQoreworICAgIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5jbGVhck92ZXJyaWRlQ29sb3Io
KTsKK30KKworYm9vbCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnJlbW92ZSh1bnNpZ25lZCBr
ZXkpCit7CisgICAgcmV0dXJuIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5yZW1vdmUoa2V5KTsK
K30KKworU3RyaW5nIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3NzVGV4dCgpIGNvbnN0Cit7
CisgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOworICAgIGJ1aWxkZXIuYXBwZW5kKCJAZm9udC1w
YWxldHRlLXZhbHVlcyAiLCBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+bmFtZSgpLCAiIHsgIik7
CisgICAgaWYgKCFtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+Zm9udEZhbWlseSgpLmlzTnVsbCgp
KQorICAgICAgICBidWlsZGVyLmFwcGVuZCgiZm9udC1mYW1pbHk6ICIsIG1fZm9udFBhbGV0dGVW
YWx1ZXNSdWxlLT5mb250RmFtaWx5KCksICI7ICIpOworICAgIFdURjo6c3dpdGNoT24obV9mb250
UGFsZXR0ZVZhbHVlc1J1bGUtPmJhc2VQYWxldHRlKCksIFsmXShpbnQ2NF90IGluZGV4KSB7Cisg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJiYXNlLXBhbGV0dGU6ICIsIGluZGV4LCAiOyAiKTsKKyAg
ICB9LCBbJl0oY29uc3QgQXRvbVN0cmluZyYgYmFzZVBhbGV0dGUpIHsKKyAgICAgICAgaWYgKCFi
YXNlUGFsZXR0ZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJiYXNlLXBh
bGV0dGU6ICIsIHNlcmlhbGl6ZVN0cmluZyhiYXNlUGFsZXR0ZS5zdHJpbmcoKSksICI7ICIpOwor
ICAgIH0pOworICAgIGlmICghbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29sb3Io
KS5pc0VtcHR5KCkpIHsKKyAgICAgICAgYnVpbGRlci5hcHBlbmQoIm92ZXJyaWRlLWNvbG9yOiIp
OworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxl
LT5vdmVycmlkZUNvbG9yKCkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlmIChpKQorICAg
ICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcsJyk7CisgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZCgnICcpOworICAgICAgICAgICAgV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVz
UnVsZS0+b3ZlcnJpZGVDb2xvcigpW2ldLmZpcnN0LCBbJl0oY29uc3QgQXRvbVN0cmluZyYgbmFt
ZSkgeworICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHNlcmlhbGl6ZVN0cmluZyhuYW1l
LnN0cmluZygpKSk7CisgICAgICAgICAgICB9LCBbJl0oaW50NjRfdCBpbmRleCkgeworICAgICAg
ICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKGluZGV4KTsKKyAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgYnVpbGRlci5hcHBlbmQoJyAnLCBzZXJpYWxpemF0aW9uRm9yQ1NTKG1fZm9udFBhbGV0
dGVWYWx1ZXNSdWxlLT5vdmVycmlkZUNvbG9yKClbaV0uc2Vjb25kKSk7CisgICAgICAgIH0KKyAg
ICAgICAgYnVpbGRlci5hcHBlbmQoIjsgIik7CisgICAgfQorICAgIGJ1aWxkZXIuYXBwZW5kKCJ9
Iik7CisgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKK30KKwordm9pZCBDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmIHJ1bGUpCit7CisgICAgbV9m
b250UGFsZXR0ZVZhbHVlc1J1bGUgPSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVGb250UGFsZXR0ZVZh
bHVlcyY+KHJ1bGUpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmFhZmY5NDBi
ZmEwNzllMjg4NGE0Nzc5MjRkMzRhMjVmY2NkNjE4ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaApAQCAtMCwwICsxLDY2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJDU1NSdWxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgQ1NTU3R5bGVEZWNsYXJhdGlvbjsKK2NsYXNzIERPTU1hcEFkYXB0ZXI7CitjbGFzcyBTdHls
ZVJ1bGVGb250RmFjZTsKK2NsYXNzIFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb247CisKK2Ns
YXNzIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBmaW5hbCA6IHB1YmxpYyBDU1NSdWxlIHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmPENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZT4gY3JlYXRlKFN0
eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJiBydWxlLCBDU1NTdHlsZVNoZWV0KiBzaGVldCkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUocnVsZSwgc2hlZXQp
KTsgfQorCisgICAgdmlydHVhbCB+Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKCk7CisKKyAgICBT
dHJpbmcgZm9udEZhbWlseSgpIGNvbnN0OworICAgIFN0cmluZyBiYXNlUGFsZXR0ZSgpIGNvbnN0
OworCisgICAgdm9pZCBzZXRGb250RmFtaWx5KFN0cmluZyYmKTsKKyAgICB2b2lkIHNldEJhc2VQ
YWxldHRlKFN0cmluZyYmKTsKKworICAgIHZvaWQgaW5pdGlhbGl6ZU1hcExpa2UoRE9NTWFwQWRh
cHRlciYpOworICAgIHZvaWQgc2V0RnJvbU1hcExpa2UodW5zaWduZWQga2V5LCBTdHJpbmcmJiB2
YWx1ZSk7CisgICAgdm9pZCBjbGVhcigpOworICAgIGJvb2wgcmVtb3ZlKHVuc2lnbmVkIGtleSk7
CisKK3ByaXZhdGU6CisgICAgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKFN0eWxlUnVsZUZvbnRQ
YWxldHRlVmFsdWVzJiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKKworICAgIENTU1J1bGU6OlR5
cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRTsg
fQorICAgIFN0cmluZyBjc3NUZXh0KCkgY29uc3QgZmluYWw7CisgICAgdm9pZCByZWF0dGFjaChT
dHlsZVJ1bGVCYXNlJikgZmluYWw7CisKKyAgICBSZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXM+IG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19SVUxFKENTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZSwgQ1NTUnVsZTo6Rk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTVmNjEy
MTcyMzI4ZTA5ZjczZWU1OTYwNzBkYmRkZDQ4MjI0MjU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGwKQEAgLTAsMCArMSwy
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgor
ICovCisKK3R5cGVkZWYgVVNWU3RyaW5nIENTU09NU3RyaW5nOworCitbCisgICAgRXhwb3NlZD1X
aW5kb3cKK10gaW50ZXJmYWNlIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSA6IENTU1J1bGUgewor
ICAgIG1hcGxpa2U8dW5zaWduZWQgbG9uZywgQ1NTT01TdHJpbmc+OworICAgIGF0dHJpYnV0ZSBD
U1NPTVN0cmluZyBmb250RmFtaWx5OworICAgIGF0dHJpYnV0ZSBDU1NPTVN0cmluZyBiYXNlUGFs
ZXR0ZTsKK307CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVz
Lmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCmluZGV4IGRjOGZj
NDE1NDM2NmU2ZTc1ODFlYWUwNGI0M2ViOTZjOTk1ZTE5YmMuLjYyOGUxN2I2MmY4NDZmN2UyN2Uw
NjU1YjM1MTBmZDdmODI5MzYyNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNv
bgpAQCAtNDA4NSw2ICs0MDg1LDI2IEBACiAgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczov
L3d3dy53My5vcmcvVFIvY3NzLWZvbnRzLTMvI3NyYy1kZXNjIgogICAgICAgICAgICAgfQogICAg
ICAgICB9LAorICAgICAgICAiYmFzZS1wYWxldHRlIjogeworICAgICAgICAgICAgImNvZGVnZW4t
cHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZSwKKyAg
ICAgICAgICAgICAgICAiZGVzY3JpcHRvci1vbmx5IjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6
ICJjc3MtZm9udHMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1mb250cy00LyNiYXNlLXBhbGV0dGUtZGVzYyIKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfSwKKyAgICAgICAgIm92ZXJyaWRlLWNvbG9yIjogeworICAgICAgICAgICAgImNvZGVn
ZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZSwK
KyAgICAgICAgICAgICAgICAiZGVzY3JpcHRvci1vbmx5IjogdHJ1ZQorICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29y
eSI6ICJjc3MtZm9udHMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1mb250cy00LyNvdmVycmlkZS1jb2xvciIKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfSwKICAgICAgICAgInN0b3AtY29sb3IiOiB7CiAgICAgICAgICAgICAiY29kZWdlbi1w
cm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICJjb252ZXJ0ZXIiOiAiU1ZHQ29sb3IiLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1J1bGUuY3BwCmluZGV4IDBmM2M0Mzk0ZDk1ZTIzNzA2ZTQ4ZjRlMjlhZmI0ODRm
YmZkYzM4MDIuLjRlYWRmZDdjNjExZjExNWJhYjljY2I0ZDg1MTI1OGUxODg3NWY2YjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5jcHAKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBM
YXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIg
KG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNSwgMjAwNiwgMjAw
NywgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDIgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwpAQCAtNDgsNiArNDgsNyBAQCBDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpL
ZXlmcmFtZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeQogQ09NUElM
RV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6TmFtZXNwYWNlID09IHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVR5cGU+KENTU1J1bGU6OlR5cGU6Ok5BTUVTUEFDRV9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNo
KTsKIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZSA9PSBzdGF0aWNf
Y2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpDT1VOVEVSX1NUWUxFX1JVTEUpLCBl
bnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6U3VwcG9y
dHMgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6U1VQUE9SVFNf
UlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CitDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBl
OjpGb250UGFsZXR0ZVZhbHVlcyA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxl
OjpUeXBlOjpGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwog
CiBFeGNlcHRpb25Pcjx2b2lkPiBDU1NSdWxlOjpzZXRDc3NUZXh0KGNvbnN0IFN0cmluZyYpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1J1bGUuaAppbmRleCA3ZWZiM2ExN2JlNGI0MzExZDQ1MDYwMmNkNzE4MGI0MTYw
M2NmNzE0Li5lNzQ1OWZhZWUwNzgyNDUwNGYwMDc3MGMzNDVlMzA4MDRkNGI0NGFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NSdWxlLmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtu
b2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxs
ZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBBbmRyZWFzIEtsaW5nIChr
bGluZ0B3ZWJraXQub3JnKQogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTM4LDE5ICszOCwyMCBAQCBwdWJsaWM6
CiAKICAgICAvLyBXZWJJREwgZW51bQogICAgIGVudW0gVHlwZSB7Ci0gICAgICAgIFVOS05PV05f
UlVMRSwKLSAgICAgICAgU1RZTEVfUlVMRSwKLSAgICAgICAgQ0hBUlNFVF9SVUxFLAotICAgICAg
ICBJTVBPUlRfUlVMRSwKLSAgICAgICAgTUVESUFfUlVMRSwKLSAgICAgICAgRk9OVF9GQUNFX1JV
TEUsCi0gICAgICAgIFBBR0VfUlVMRSwKLSAgICAgICAgS0VZRlJBTUVTX1JVTEUsCi0gICAgICAg
IEtFWUZSQU1FX1JVTEUsCi0gICAgICAgIE1BUkdJTl9SVUxFLAotICAgICAgICBOQU1FU1BBQ0Vf
UlVMRSwKLSAgICAgICAgQ09VTlRFUl9TVFlMRV9SVUxFLAotICAgICAgICBTVVBQT1JUU19SVUxF
CisgICAgICAgIFVOS05PV05fUlVMRSA9IDAsCisgICAgICAgIFNUWUxFX1JVTEUgPSAxLAorICAg
ICAgICBDSEFSU0VUX1JVTEUgPSAyLAorICAgICAgICBJTVBPUlRfUlVMRSA9IDMsCisgICAgICAg
IE1FRElBX1JVTEUgPSA0LAorICAgICAgICBGT05UX0ZBQ0VfUlVMRSA9IDUsCisgICAgICAgIFBB
R0VfUlVMRSA9IDYsCisgICAgICAgIEtFWUZSQU1FU19SVUxFID0gNywKKyAgICAgICAgS0VZRlJB
TUVfUlVMRSA9IDgsCisgICAgICAgIE1BUkdJTl9SVUxFID0gOSwKKyAgICAgICAgTkFNRVNQQUNF
X1JVTEUgPSAxMCwKKyAgICAgICAgQ09VTlRFUl9TVFlMRV9SVUxFID0gMTEsCisgICAgICAgIFNV
UFBPUlRTX1JVTEUgPSAxMiwKKyAgICAgICAgRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFID0gMTkg
Ly8gaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzY2MjMKICAgICB9
OwogCiAgICAgZW51bSBEZXByZWNhdGVkVHlwZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKaW5kZXgg
ZjNlNjYxMzdkNzYzNzMwYzM3ZjAyM2ExNjMzZTMyZWY4MjUwZWI1Ni4uYTU4OGFiZTRmNjk0NjUz
Y2ZmMTMzMGYxZDA3ZTQ2MmE5YjI3OWJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1J1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8
c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtNDQsNiArNDQsNyBAQAogICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IE5BTUVTUEFDRV9SVUxFID0gMTA7CiAgICAgW0VuYWJsZWRC
eVNldHRpbmc9Q1NTQ291bnRlclN0eWxlQXRSdWxlc10gY29uc3QgdW5zaWduZWQgc2hvcnQgQ09V
TlRFUl9TVFlMRV9SVUxFID0gMTE7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1VQUE9SVFNf
UlVMRSA9IDEyOworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEZPTlRfUEFMRVRURV9WQUxVRVNf
UlVMRSA9IDE5OyAvKiBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMv
NjYyMyAqLwogCiAgICAgLy8gTGVnYWN5IHN5bm9ueW1zIGZvciB0aGUgYWJvdmUsIGtlcHQgdG8g
YXZvaWQgYnJlYWtpbmcgZXhpc3RpbmcgY29udGVudC4KICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBXRUJLSVRfS0VZRlJBTUVTX1JVTEUgPSA3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKaW5kZXgg
ODczNjlhYjBkYjUyZjBhMmU4YTNiYTJjMDM5NTM2MDRjNDRkMTdlMi4uMTljYjczZWZlZDNkY2I4
MDYwNzQyMTA5NjRkZWQ4NDZjNjA1NTVmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC0x
LDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBBbmRyZWFzIEtsaW5nIChrbGlu
Z0B3ZWJraXQub3JnKQogICogQ29weXJpZ2h0IChDKSAyMDEzIEFkb2JlIFN5c3RlbXMgSW5jb3Jw
b3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMzksNiArNDAsNyBAQAogI2luY2x1ZGUgIkNTU0ZpbHRlckltYWdlVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NGb250RmFjZVNyY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZlYXR1cmVW
YWx1ZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTRm9udFN0eWxlUmFuZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Zv
bnRTdHlsZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFZhbHVlLmgiCkBAIC0xNjQsNiArMTY2
LDggQEAgYm9vbCBDU1NWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ZhbHVlJiBvdGhlcikgY29uc3QK
ICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0ZvbnRWYWx1ZT4oKnRoaXMs
IG90aGVyKTsKICAgICAgICAgY2FzZSBGb250RmFjZVNyY0NsYXNzOgogICAgICAgICAgICAgcmV0
dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRm9udEZhY2VTcmNWYWx1ZT4oKnRoaXMsIG90aGVyKTsK
KyAgICAgICAgY2FzZSBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczoKKyAgICAg
ICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvclZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEZvbnRGZWF0dXJlQ2xh
c3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NGb250RmVhdHVyZVZh
bHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEZvbnRWYXJpYXRpb25DbGFzczoKQEAg
LTI2NCw2ICsyNjgsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9udFZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwog
ICAgIGNhc2UgRm9udEZhY2VTcmNDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0Zv
bnRGYWNlU3JjVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CisgICAgY2FzZSBGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENT
U0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4
dCgpOwogICAgIGNhc2UgRm9udEZlYXR1cmVDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0
PENTU0ZvbnRGZWF0dXJlVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBG
b250VmFyaWF0aW9uQ2xhc3M6CkBAIC0zNzcsNiArMzgzLDkgQEAgdm9pZCBDU1NWYWx1ZTo6ZGVz
dHJveSgpCiAgICAgY2FzZSBGb250RmFjZVNyY0NsYXNzOgogICAgICAgICBkZWxldGUgZG93bmNh
c3Q8Q1NTRm9udEZhY2VTcmNWYWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNl
IEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvckNsYXNzOgorICAgICAgICBkZWxldGUgZG93
bmNhc3Q8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+KHRoaXMpOworICAg
ICAgICByZXR1cm47CiAgICAgY2FzZSBGb250RmVhdHVyZUNsYXNzOgogICAgICAgICBkZWxldGUg
ZG93bmNhc3Q8Q1NTRm9udEZlYXR1cmVWYWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmgKaW5kZXggMjNlYjVlYzM4Y2NlOTY5MGU1ZDhhYjQ0YjU2NTI0NWY4NzJk
OTA1ZC4uYjMxYzk5MjBlYTQzMTc2ODkwYjIwOTZhZWZiODlhMGZiN2NmM2YxZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtu
b2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAy
MDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAwNCAtIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCkBAIC05Nyw2ICs5Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzRm9udEZlYXR1
cmVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRGZWF0dXJlQ2xhc3M7
IH0KICAgICBib29sIGlzRm9udFZhcmlhdGlvblZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFz
c1R5cGUgPT0gRm9udFZhcmlhdGlvbkNsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRGYWNlU3JjVmFs
dWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250RmFjZVNyY0NsYXNzOyB9Cisg
ICAgYm9vbCBpc0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3M7
IH0KICAgICBib29sIGlzRm9udFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0g
Rm9udENsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRTdHlsZVZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gRm9udFN0eWxlQ2xhc3M7IH0KICAgICBib29sIGlzRm9udFN0eWxlUmFu
Z2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRTdHlsZVJhbmdlQ2xh
c3M7IH0KQEAgLTE4Nyw2ICsxODgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEZvbnRTdHlsZUNs
YXNzLAogICAgICAgICBGb250U3R5bGVSYW5nZUNsYXNzLAogICAgICAgICBGb250RmFjZVNyY0Ns
YXNzLAorICAgICAgICBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzcywKICAgICAg
ICAgRnVuY3Rpb25DbGFzcywKIAogICAgICAgICBJbmhlcml0ZWRDbGFzcywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUnVsZS5jcHAKaW5kZXggNGIxNWMwOTQ5ODk5YmJlM2RlZDk5MTRiZTliNmViMWU2NzgzMjVj
My4uYjE3MDhhNTgyNzNmY2MwMTYxYjljNTZkMTMwM2YwY2JkMDlhMmE2OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUnVsZS5jcHAKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJz
IEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11
ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjUsNiArMjUsNyBA
QAogI2luY2x1ZGUgIkNTU0NvdW50ZXJTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NEZWZlcnJl
ZFBhcnNlci5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZS5oIgogI2luY2x1ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKICNpbmNs
dWRlICJDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZXNSdWxlLmgiCkBA
IC03MCw2ICs3MSw5IEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBT
dHlsZVJ1bGVUeXBlOjpGb250RmFjZToKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PFN0eWxlUnVs
ZUZvbnRGYWNlPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgU3R5bGVSdWxlVHlw
ZTo6Rm9udFBhbGV0dGVWYWx1ZXM6CisgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxTdHlsZVJ1bGVG
b250UGFsZXR0ZVZhbHVlcz4odGhpcyk7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIFN0eWxl
UnVsZVR5cGU6Ok1lZGlhOgogICAgICAgICBkZWxldGUgZG93bmNhc3Q8U3R5bGVSdWxlTWVkaWE+
KHRoaXMpOwogICAgICAgICByZXR1cm47CkBAIC0xMTMsNiArMTE3LDggQEAgUmVmPFN0eWxlUnVs
ZUJhc2U+IFN0eWxlUnVsZUJhc2U6OmNvcHkoKSBjb25zdAogICAgICAgICByZXR1cm4gZG93bmNh
c3Q8U3R5bGVSdWxlUGFnZT4oKnRoaXMpLmNvcHkoKTsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OkZvbnRGYWNlOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8U3R5bGVSdWxlRm9udEZhY2U+KCp0
aGlzKS5jb3B5KCk7CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoK
KyAgICAgICAgcmV0dXJuIGRvd25jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPigqdGhp
cykuY29weSgpOwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TWVkaWE6CiAgICAgICAgIHJldHVy
biBkb3duY2FzdDxTdHlsZVJ1bGVNZWRpYT4oKnRoaXMpLmNvcHkoKTsKICAgICBjYXNlIFN0eWxl
UnVsZVR5cGU6OlN1cHBvcnRzOgpAQCAtMTQ5LDYgKzE1NSw5IEBAIFJlZjxDU1NSdWxlPiBTdHls
ZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIoQ1NTU3R5bGVTaGVldCogcGFyZW50U2hlZXQs
IENTU1J1CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZToKICAgICAgICAgcnVsZSA9
IENTU0ZvbnRGYWNlUnVsZTo6Y3JlYXRlKGRvd25jYXN0PFN0eWxlUnVsZUZvbnRGYWNlPihzZWxm
KSwgcGFyZW50U2hlZXQpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OkZvbnRQYWxldHRlVmFsdWVzOgorICAgICAgICBydWxlID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlOjpjcmVhdGUoZG93bmNhc3Q8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+KHNlbGYpLCBw
YXJlbnRTaGVldCk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TWVk
aWE6CiAgICAgICAgIHJ1bGUgPSBDU1NNZWRpYVJ1bGU6OmNyZWF0ZShkb3duY2FzdDxTdHlsZVJ1
bGVNZWRpYT4oc2VsZiksIHBhcmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7CkBAIC0zMTksNiAr
MzI4LDI0IEBAIE11dGFibGVTdHlsZVByb3BlcnRpZXMmIFN0eWxlUnVsZUZvbnRGYWNlOjptdXRh
YmxlUHJvcGVydGllcygpCiAgICAgcmV0dXJuIGRvd25jYXN0PE11dGFibGVTdHlsZVByb3BlcnRp
ZXM+KG1fcHJvcGVydGllcy5nZXQoKSk7CiB9CiAKK1N0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
OjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25z
dCBBdG9tU3RyaW5nJiBmb250RmFtaWx5LCBjb25zdCBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0
ZUluZGV4JiBiYXNlUGFsZXR0ZSwgVmVjdG9yPEZvbnRQYWxldHRlVmFsdWVzOjpPdmVycmlkZGVu
Q29sb3I+JiYgb3ZlcnJpZGVDb2xvcikKKyAgICA6IFN0eWxlUnVsZUJhc2UoU3R5bGVSdWxlVHlw
ZTo6Rm9udFBhbGV0dGVWYWx1ZXMpCisgICAgLCBtX25hbWUobmFtZSkKKyAgICAsIG1fZm9udEZh
bWlseShmb250RmFtaWx5KQorICAgICwgbV9mb250UGFsZXR0ZVZhbHVlcyhiYXNlUGFsZXR0ZSwg
V1RGTW92ZShvdmVycmlkZUNvbG9yKSkKK3sKK30KKworU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXM6OlN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFN0eWxlUnVsZUZvbnRQYWxldHRl
VmFsdWVzJiBvKQorICAgIDogU3R5bGVSdWxlQmFzZShvKQorICAgICwgbV9uYW1lKG8ubmFtZSgp
KQorICAgICwgbV9mb250RmFtaWx5KG8uZm9udEZhbWlseSgpKQorICAgICwgbV9mb250UGFsZXR0
ZVZhbHVlcyhvLm1fZm9udFBhbGV0dGVWYWx1ZXMpCit7Cit9CisKK1N0eWxlUnVsZUZvbnRQYWxl
dHRlVmFsdWVzOjp+U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoKSA9IGRlZmF1bHQ7CisKIERl
ZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0OjpEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdChjb25z
dCBDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgQ1NTRGVmZXJyZWRQYXJzZXImIHBhcnNlcikK
ICAgICA6IG1fcGFyc2VyKHBhcnNlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaAppbmRleCAxNTYy
Yzc5MjY3ZWE2NGQyMTcwMWI5ZGY3NTdjMDM1MjU5MGY5NzFiLi4yYmM5OTIyNzQ1YTYwYWNlZWI1
ZWNhNTJjNjY4ODE1YjIzYWQzMWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCkBAIC0xLDcgKzEs
NyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAq
IChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKQEAgLTIzLDYgKzIzLDcgQEAKIAogI2luY2x1ZGUgIkNTU1NlbGVjdG9y
TGlzdC5oIgogI2luY2x1ZGUgIkNvbXBpbGVkU2VsZWN0b3IuaCIKKyNpbmNsdWRlICJGb250UGFs
ZXR0ZVZhbHVlcy5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgogI2luY2x1ZGUgIlN0
eWxlUnVsZVR5cGUuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC01Miw2ICs1Myw3IEBA
IHB1YmxpYzoKICAgICBib29sIGlzQ2hhcnNldFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gU3R5bGVSdWxlVHlwZTo6Q2hhcnNldDsgfQogICAgIGJvb2wgaXNDb3VudGVyU3R5bGVSdWxl
KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZTsg
fQogICAgIGJvb2wgaXNGb250RmFjZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5
bGVSdWxlVHlwZTo6Rm9udEZhY2U7IH0KKyAgICBib29sIGlzRm9udFBhbGV0dGVWYWx1ZXNSdWxl
KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFs
dWVzOyB9CiAgICAgYm9vbCBpc0tleWZyYW1lc1J1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWVzOyB9CiAgICAgYm9vbCBpc0tleWZyYW1lUnVsZSgp
IGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZTsgfQogICAg
IGJvb2wgaXNOYW1lc3BhY2VSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVs
ZVR5cGU6Ok5hbWVzcGFjZTsgfQpAQCAtMTU1LDYgKzE1Nyw3OCBAQCBwcml2YXRlOgogICAgIFJl
ZjxTdHlsZVByb3BlcnRpZXM+IG1fcHJvcGVydGllczsKIH07CiAKK2NsYXNzIFN0eWxlUnVsZUZv
bnRQYWxldHRlVmFsdWVzIGZpbmFsIDogcHVibGljIFN0eWxlUnVsZUJhc2UgeworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IGNyZWF0ZShjb25zdCBB
dG9tU3RyaW5nJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBmb250RmFtaWx5LCBjb25zdCBGb250
UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSwgVmVjdG9yPEZvbnRQYWxl
dHRlVmFsdWVzOjpPdmVycmlkZGVuQ29sb3I+JiYgb3ZlcnJpZGVDb2xvcikgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhuYW1lLCBmb250RmFtaWx5LCBi
YXNlUGFsZXR0ZSwgV1RGTW92ZShvdmVycmlkZUNvbG9yKSkpOyB9CisgICAgCisgICAgflN0eWxl
UnVsZUZvbnRQYWxldHRlVmFsdWVzKCk7CisKKyAgICBjb25zdCBBdG9tU3RyaW5nJiBuYW1lKCkg
Y29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX25hbWU7CisgICAgfQorCisgICAgdm9pZCBz
ZXROYW1lKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUpCisgICAgeworICAgICAgICBtX25hbWUgPSBu
YW1lOworICAgIH0KKworICAgIGNvbnN0IEF0b21TdHJpbmcmIGZvbnRGYW1pbHkoKSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZm9udEZhbWlseTsKKyAgICB9CisKKyAgICB2b2lkIHNl
dEZvbnRGYW1pbHkoY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSkKKyAgICB7CisgICAgICAg
IG1fZm9udEZhbWlseSA9IGZvbnRGYW1pbHk7CisgICAgfQorCisgICAgY29uc3QgRm9udFBhbGV0
dGVWYWx1ZXMmIGZvbnRQYWxldHRlVmFsdWVzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biBtX2ZvbnRQYWxldHRlVmFsdWVzOworICAgIH0KKworICAgIGNvbnN0IEZvbnRQYWxldHRlVmFs
dWVzOjpQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJl
dHVybiBtX2ZvbnRQYWxldHRlVmFsdWVzLmJhc2VQYWxldHRlKCk7CisgICAgfQorCisgICAgdm9p
ZCBzZXRCYXNlUGFsZXR0ZShjb25zdCBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUluZGV4JiBi
YXNlUGFsZXR0ZSkKKyAgICB7CisgICAgICAgIG1fZm9udFBhbGV0dGVWYWx1ZXMuc2V0QmFzZVBh
bGV0dGUoYmFzZVBhbGV0dGUpOworICAgIH0KKworICAgIGNvbnN0IFZlY3RvcjxGb250UGFsZXR0
ZVZhbHVlczo6T3ZlcnJpZGRlbkNvbG9yPiYgb3ZlcnJpZGVDb2xvcigpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gbV9mb250UGFsZXR0ZVZhbHVlcy5vdmVycmlkZUNvbG9yKCk7CisgICAg
fQorCisgICAgdm9pZCBhcHBlbmRPdmVycmlkZUNvbG9yKEZvbnRQYWxldHRlVmFsdWVzOjpPdmVy
cmlkZGVuQ29sb3ImJiBvdmVycmlkZGVuQ29sb3IpCisgICAgeworICAgICAgICBtX2ZvbnRQYWxl
dHRlVmFsdWVzLmFwcGVuZE92ZXJyaWRlQ29sb3IoV1RGTW92ZShvdmVycmlkZGVuQ29sb3IpKTsK
KyAgICB9CisKKyAgICB2b2lkIGNsZWFyT3ZlcnJpZGVDb2xvcigpCisgICAgeworICAgICAgICBt
X2ZvbnRQYWxldHRlVmFsdWVzLmNsZWFyT3ZlcnJpZGVDb2xvcigpOworICAgIH0KKworICAgIGJv
b2wgcmVtb3ZlKHVuc2lnbmVkIGtleSkKKyAgICB7CisgICAgICAgIHJldHVybiBtX2ZvbnRQYWxl
dHRlVmFsdWVzLnJlbW92ZShrZXkpOworICAgIH0KKworICAgIFJlZjxTdHlsZVJ1bGVGb250UGFs
ZXR0ZVZhbHVlcz4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxl
Rm9udFBhbGV0dGVWYWx1ZXMoKnRoaXMpKTsgfQorCitwcml2YXRlOgorICAgIFN0eWxlUnVsZUZv
bnRQYWxldHRlVmFsdWVzKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcm
IGZvbnRGYW1pbHksIGNvbnN0IEZvbnRQYWxldHRlVmFsdWVzOjpQYWxldHRlSW5kZXgmIGJhc2VQ
YWxldHRlLCBWZWN0b3I8Rm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4mJiBvdmVy
cmlkZUNvbG9yKTsKKyAgICBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBTdHlsZVJ1
bGVGb250UGFsZXR0ZVZhbHVlcyYpOworCisgICAgQXRvbVN0cmluZyBtX25hbWU7CisgICAgQXRv
bVN0cmluZyBtX2ZvbnRGYW1pbHk7CisgICAgRm9udFBhbGV0dGVWYWx1ZXMgbV9mb250UGFsZXR0
ZVZhbHVlczsKK307CisKIGNsYXNzIFN0eWxlUnVsZVBhZ2UgZmluYWwgOiBwdWJsaWMgU3R5bGVS
dWxlQmFzZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVQYWdlPiBjcmVhdGUo
UmVmPFN0eWxlUHJvcGVydGllcz4mJiwgQ1NTU2VsZWN0b3JMaXN0JiYpOwpAQCAtMzU3LDYgKzQz
MSwxMCBAQCBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZUZv
bnRGYWNlKQogICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1bGVC
YXNlJiBydWxlKSB7IHJldHVybiBydWxlLmlzRm9udEZhY2VSdWxlKCk7IH0KIFNQRUNJQUxJWkVf
VFlQRV9UUkFJVFNfRU5EKCkKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3Jl
OjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcykKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29u
c3QgV2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZSgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCisKIFNQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxlTWVkaWEpCiAgICAgc3Rh
dGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0
dXJuIHJ1bGUuaXNNZWRpYVJ1bGUoKTsgfQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmgKaW5kZXggYzllNTE4ZGJlNjFiNzM1YjZkN2ExYTdm
ZjYyNDNjZDk4MTVjYzViZC4uYzRmY2FhYjI1NTlkYjZhNWU5OTM5MWM2ZTAxNzU5OGQzYThjMmYz
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlVHlwZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTkgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsMTkgKzI4LDIxIEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gY2xhc3MgU3R5bGVSdWxlVHlwZSA6IHVpbnQ4X3Qgewot
ICAgIFVua25vd24sIC8vIE5vdCB1c2VkLgotICAgIFN0eWxlLAotICAgIENoYXJzZXQsIC8vIE5v
dCB1c2VkLiBUaGVzZSBhcmUgaW50ZXJuYWxseSBzdHJpbmdzIG93bmVkIGJ5IHRoZSBzdHlsZSBz
aGVldC4KLSAgICBJbXBvcnQsCi0gICAgTWVkaWEsCi0gICAgRm9udEZhY2UsCi0gICAgUGFnZSwK
LSAgICBLZXlmcmFtZXMsCi0gICAgS2V5ZnJhbWUsIC8vIE5vdCB1c2VkLiBUaGVzZSBhcmUgaW50
ZXJuYWxseSBub24tcnVsZSBTdHlsZVJ1bGVLZXlmcmFtZSBvYmplY3RzLgorICAgIFVua25vd24g
PSAwLCAvLyBOb3QgdXNlZC4KKyAgICBTdHlsZSA9IDEsCisgICAgQ2hhcnNldCA9IDIsIC8vIE5v
dCB1c2VkLiBUaGVzZSBhcmUgaW50ZXJuYWxseSBzdHJpbmdzIG93bmVkIGJ5IHRoZSBzdHlsZSBz
aGVldC4KKyAgICBJbXBvcnQgPSAzLAorICAgIE1lZGlhID0gNCwKKyAgICBGb250RmFjZSA9IDUs
CisgICAgUGFnZSA9IDYsCisgICAgS2V5ZnJhbWVzID0gNywKKyAgICBLZXlmcmFtZSA9IDgsIC8v
IE5vdCB1c2VkLiBUaGVzZSBhcmUgaW50ZXJuYWxseSBub24tcnVsZSBTdHlsZVJ1bGVLZXlmcmFt
ZSBvYmplY3RzLgorICAgIC8vIE1hcmdpbiA9IDksIEZJWE1FOiBXaHkgaXMgdGhpcyBtaXNzaW5n
PwogICAgIE5hbWVzcGFjZSA9IDEwLAogICAgIENvdW50ZXJTdHlsZSA9IDExLAogICAgIFN1cHBv
cnRzID0gMTIsCi0gICAgTGF5ZXIgPSAxMywKKyAgICBGb250UGFsZXR0ZVZhbHVlcyA9IDE5LCAv
LyBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjYyMworICAgIExh
eWVyID0gMjAKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlU2hlZXRDb250ZW50cy5jcHAKaW5kZXggMzI4NDk3NDg1MzVhMGQ3NjQ2OTAzMDczY2My
NGRjMTg2NmRiMDRjZS4uYTZlOTcxYzYyNjM2NmJiYTAwZTdkNWVlZDhkNTIzMGU3ODYzZWM5ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKQEAgLTEsNiArMSw2
IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICog
Q29weXJpZ2h0IChDKSAyMDA0LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC00MzYsNiArNDM2LDcgQEAgc3RhdGljIGJvb2wgdHJh
dmVyc2VSdWxlc0luVmVjdG9yKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiBy
dWxlcywgY28KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OlN0eWxlOgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOgorICAgICAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOgogICAgICAgICBjYXNlIFN0eWxl
UnVsZVR5cGU6OlBhZ2U6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWVzOgog
ICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok5hbWVzcGFjZToKQEAgLTQ4Niw2ICs0ODcsNyBA
QCBib29sIFN0eWxlU2hlZXRDb250ZW50czo6dHJhdmVyc2VTdWJyZXNvdXJjZXMoY29uc3QgV1RG
OjpGdW5jdGlvbjxib29sIChjb25zdCBDYQogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Oktl
eWZyYW1lOgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlN1cHBvcnRzOgogICAgICAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6OkxheWVyOgorICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZv
bnRQYWxldHRlVmFsdWVzOgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9Owog
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NBdFJ1bGVJRC5jcHAKaW5kZXggMDgyNTcyMzhjOGIzNThlNTNiZmEyN2UyYWI2YmVjY2Q1YTZk
MmU5OS4uOWNlMzUxZDE2YmE4NzE1MjY1MGUzZWI0NjAzZGFmNjI0NDEzMGM2YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAKQEAgLTEsNSArMSw1IEBACiAvLyBD
b3B5cmlnaHQgMjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LS8vIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBDb3B5cmlnaHQgKEMpIDIwMTYgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM4LDYgKzM4LDggQEAg
Q1NTQXRSdWxlSUQgY3NzQXRSdWxlSUQoU3RyaW5nVmlldyBuYW1lKQogICAgICAgICByZXR1cm4g
Q1NTQXRSdWxlQ2hhcnNldDsKICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAi
Zm9udC1mYWNlIikpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVGb250RmFjZTsKKyAgICBpZiAo
ZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiZm9udC1wYWxldHRlLXZhbHVlcyIpKQorICAg
ICAgICByZXR1cm4gQ1NTQXRSdWxlRm9udFBhbGV0dGVWYWx1ZXM7CiAgICAgaWYgKGVxdWFsSWdu
b3JpbmdBU0NJSUNhc2UobmFtZSwgImltcG9ydCIpKQogICAgICAgICByZXR1cm4gQ1NTQXRSdWxl
SW1wb3J0OwogICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG5hbWUsICJrZXlmcmFtZXMi
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaAppbmRleCAzMzBmNmNiZTJl
MjViM2RjY2YwZTcyOWU0NDg5OWYxODk0MTVhN2JlLi41ZTRkNDM1MzMyZDYxMjNjNzFiYjhkM2Mz
YzI1M2FiNzcxMzI5ZjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U0F0UnVsZUlELmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5o
CkBAIC0xLDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTUgVGhlIENocm9taXVtIEF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAyMDE2IC0gMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCkBAIC00OSw2ICs0OSw4IEBAIGVudW0gQ1NTQXRSdWxlSUQgewogICAgIENTU0F0UnVsZUFw
cGx5ID0gMTEsCiAgICAgQ1NTQXRSdWxlQ291bnRlclN0eWxlID0gMTIsCiAgICAgQ1NTQXRSdWxl
TGF5ZXIgPSAxMywKKworICAgIENTU0F0UnVsZUZvbnRQYWxldHRlVmFsdWVzID0gMTQsCiB9Owog
CiBDU1NBdFJ1bGVJRCBjc3NBdFJ1bGVJRChTdHJpbmdWaWV3IG5hbWUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKaW5kZXggZTViNzQzMDJlMGNlNGM1YWJk
NjE2ZWM0NTcxYjYyYzRmZmM3ZTUxOS4uOTBkMDllZDM5YTE2MWE2N2YwNDdjMjI0M2QxM2UxMGE2
MWFjODRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3Bw
CkBAIC0xLDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0eWxlUnVsZS5o
IgogI2luY2x1ZGUgIkNTU0N1c3RvbVByb3BlcnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NEZWZl
cnJlZFBhcnNlci5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xv
clZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5
ZnJhbWVzUnVsZS5oIgogI2luY2x1ZGUgIkNTU1BhcnNlck9ic2VydmVyLmgiCkBAIC00Nyw2ICs0
OCw3IEBACiAjaW5jbHVkZSAiQ1NTVmFyaWFibGVQYXJzZXIuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJGb250UGFsZXR0ZVZhbHVlcy5o
IgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJzZXIuaCIK
ICNpbmNsdWRlICJNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dC5oIgpAQCAtNDQ1LDYgKzQ0Nyw4IEBA
IFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lQXRSdWxlKENTU1Bh
cnNlclRva2VuUmFuZ2UmIHJhbmdlLCBBCiAgICAgICAgIHJldHVybiBjb25zdW1lU3VwcG9ydHNS
dWxlKHByZWx1ZGUsIGJsb2NrKTsKICAgICBjYXNlIENTU0F0UnVsZUZvbnRGYWNlOgogICAgICAg
ICByZXR1cm4gY29uc3VtZUZvbnRGYWNlUnVsZShwcmVsdWRlLCBibG9jayk7CisgICAgY2FzZSBD
U1NBdFJ1bGVGb250UGFsZXR0ZVZhbHVlczoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVGb250UGFs
ZXR0ZVZhbHVlc1J1bGUocHJlbHVkZSwgYmxvY2spOwogICAgIGNhc2UgQ1NTQXRSdWxlV2Via2l0
S2V5ZnJhbWVzOgogICAgICAgICByZXR1cm4gY29uc3VtZUtleWZyYW1lc1J1bGUodHJ1ZSwgcHJl
bHVkZSwgYmxvY2spOwogICAgIGNhc2UgQ1NTQXRSdWxlS2V5ZnJhbWVzOgpAQCAtNjUyLDYgKzY1
Niw1NSBAQCBSZWZQdHI8U3R5bGVSdWxlRm9udEZhY2U+IENTU1BhcnNlckltcGw6OmNvbnN1bWVG
b250RmFjZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZQogICAgIHJldHVybiBTdHlsZVJ1bGVGb250
RmFjZTo6Y3JlYXRlKGNyZWF0ZVN0eWxlUHJvcGVydGllcyhtX3BhcnNlZFByb3BlcnRpZXMsIG1f
Y29udGV4dC5tb2RlKSk7CiB9CiAKK1JlZlB0cjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4g
Q1NTUGFyc2VySW1wbDo6Y29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZShDU1NQYXJzZXJUb2tl
blJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spCit7CisgICAgYXV0byBu
YW1lID0gQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lQ3VzdG9tSWRlbnQocHJlbHVk
ZSk7CisgICAgaWYgKCFuYW1lIHx8ICFwcmVsdWRlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOyAvLyBQYXJzZSBlcnJvcjsgZXhwZWN0ZWQgY3VzdG9tIGlkZW50IGluIEBmb250LXBh
bGV0dGUtdmFsdWVzIGhlYWRlcgorCisgICAgaWYgKG1fb2JzZXJ2ZXJXcmFwcGVyKSB7CisgICAg
ICAgIHVuc2lnbmVkIGVuZE9mZnNldCA9IG1fb2JzZXJ2ZXJXcmFwcGVyLT5lbmRPZmZzZXQocHJl
bHVkZSk7CisgICAgICAgIG1fb2JzZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigpLnN0YXJ0UnVsZUhl
YWRlcihTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcywgbV9vYnNlcnZlcldyYXBwZXIt
PnN0YXJ0T2Zmc2V0KHByZWx1ZGUpKTsKKyAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2Vy
dmVyKCkuZW5kUnVsZUhlYWRlcihlbmRPZmZzZXQpOworICAgICAgICBtX29ic2VydmVyV3JhcHBl
ci0+b2JzZXJ2ZXIoKS5zdGFydFJ1bGVCb2R5KGVuZE9mZnNldCk7CisgICAgICAgIG1fb2JzZXJ2
ZXJXcmFwcGVyLT5vYnNlcnZlcigpLmVuZFJ1bGVCb2R5KGVuZE9mZnNldCk7CisgICAgfQorCisg
ICAgY29uc3VtZURlY2xhcmF0aW9uTGlzdChibG9jaywgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0
dGVWYWx1ZXMpOworICAgIGF1dG8gcHJvcGVydGllcyA9IGNyZWF0ZVN0eWxlUHJvcGVydGllcyht
X3BhcnNlZFByb3BlcnRpZXMsIG1fY29udGV4dC5tb2RlKTsKKworICAgIEF0b21TdHJpbmcgZm9u
dEZhbWlseTsKKyAgICBpZiAoYXV0byBmb250RmFtaWx5VmFsdWUgPSBwcm9wZXJ0aWVzLT5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udEZhbWlseSkpCisgICAgICAgIGZvbnRGYW1p
bHkgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKmZvbnRGYW1pbHlWYWx1ZSkuZm9udEZh
bWlseSgpLmZhbWlseU5hbWU7CisKKyAgICBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUluZGV4
IGJhc2VQYWxldHRlKG51bGxBdG9tKCkpOworICAgIGlmIChhdXRvIGJhc2VQYWxldHRlVmFsdWUg
PSBwcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5QmFzZVBhbGV0dGUp
KSB7CisgICAgICAgIGNvbnN0IGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWU+KCpiYXNlUGFsZXR0ZVZhbHVlKTsKKyAgICAgICAgaWYgKHByaW1pdGl2ZVZh
bHVlLmlzU3RyaW5nKCkpCisgICAgICAgICAgICBiYXNlUGFsZXR0ZSA9IHByaW1pdGl2ZVZhbHVl
LnN0cmluZ1ZhbHVlKCk7CisgICAgICAgIGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTnVtYmVy
KCkpCisgICAgICAgICAgICBiYXNlUGFsZXR0ZSA9IHByaW1pdGl2ZVZhbHVlLnZhbHVlPGludDY0
X3Q+KCk7CisgICAgfQorCisgICAgVmVjdG9yPEZvbnRQYWxldHRlVmFsdWVzOjpPdmVycmlkZGVu
Q29sb3I+IG92ZXJyaWRlQ29sb3I7CisgICAgaWYgKGF1dG8gb3ZlcnJpZGVDb2xvclZhbHVlID0g
cHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eU92ZXJyaWRlQ29sb3Ip
KSB7CisgICAgICAgIGNvbnN0IGF1dG8mIGxpc3QgPSBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCpv
dmVycmlkZUNvbG9yVmFsdWUpOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGl0ZW0gOiBsaXN0
KSB7CisgICAgICAgICAgICBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUNvbG9ySW5kZXgga2V5
KG51bGxBdG9tKCkpOworICAgICAgICAgICAgY29uc3QgYXV0byYgcGFpciA9IGRvd25jYXN0PENT
U0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPihpdGVtLmdldCgpKTsKKyAgICAg
ICAgICAgIGlmIChwYWlyLmtleSgpLmlzU3RyaW5nKCkpCisgICAgICAgICAgICAgICAga2V5ID0g
cGFpci5rZXkoKS5zdHJpbmdWYWx1ZSgpOworICAgICAgICAgICAgZWxzZSBpZiAocGFpci5rZXko
KS5pc051bWJlcigpKQorICAgICAgICAgICAgICAgIGtleSA9IHBhaXIua2V5KCkudmFsdWU8aW50
NjRfdD4oKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgIG92ZXJyaWRlQ29sb3IuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGtleSwgcGFpci5j
b2xvcigpLmNvbG9yKCkpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBTdHlsZVJ1
bGVGb250UGFsZXR0ZVZhbHVlczo6Y3JlYXRlKG5hbWUtPnN0cmluZ1ZhbHVlKCksIGZvbnRGYW1p
bHksIGJhc2VQYWxldHRlLCBXVEZNb3ZlKG92ZXJyaWRlQ29sb3IpKTsKK30KKwogUmVmUHRyPFN0
eWxlUnVsZUtleWZyYW1lcz4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZUtleWZyYW1lc1J1bGUoYm9v
bCB3ZWJraXRQcmVmaXhlZCwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJU
b2tlblJhbmdlIGJsb2NrKQogewogICAgIENTU1BhcnNlclRva2VuUmFuZ2UgcmFuZ2VDb3B5ID0g
cHJlbHVkZTsgLy8gRm9yIGluc3BlY3RvciBjYWxsYmFja3MKQEAgLTk2MSw3ICsxMDE0LDcgQEAg
dm9pZCBDU1NQYXJzZXJJbXBsOjpjb25zdW1lRGVjbGFyYXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5n
ZSByYW5nZSwgU3R5bGVSdWxlVHlwZQogICAgICAgICBjb25zdW1lQ3VzdG9tUHJvcGVydHlWYWx1
ZShyYW5nZS5tYWtlU3ViUmFuZ2UoJnJhbmdlLnBlZWsoKSwgZGVjbGFyYXRpb25WYWx1ZUVuZCks
IHZhcmlhYmxlTmFtZSwgaW1wb3J0YW50KTsKICAgICB9CiAKLSAgICBpZiAoaW1wb3J0YW50ICYm
IChydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZSB8fCBydWxlVHlwZSA9PSBTdHls
ZVJ1bGVUeXBlOjpLZXlmcmFtZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3VudGVy
U3R5bGUpKQorICAgIGlmIChpbXBvcnRhbnQgJiYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6
OkZvbnRGYWNlIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lIHx8IHJ1bGVU
eXBlID09IFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1
bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcykpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChw
cm9wZXJ0eUlEICE9IENTU1Byb3BlcnR5SW52YWxpZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJbXBsLmgKaW5kZXggMTZjNGMzZDE5ZjUwOGMxMDIxZjUxYjRjMzViNzQwNTlk
ZTUwNDU0Ny4uZTI1ZmU1ZTJhNzUyOGNhYjQzNGE5ZWViODZhOGQxY2Q3YWZhYTNhZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmgKQEAgLTEsNSArMSw1IEBACiAv
LyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIENvcHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTUxLDYgKzUx
LDcgQEAgY2xhc3MgU3R5bGVSdWxlOwogY2xhc3MgU3R5bGVSdWxlQmFzZTsKIGNsYXNzIFN0eWxl
UnVsZUNoYXJzZXQ7CiBjbGFzcyBTdHlsZVJ1bGVGb250RmFjZTsKK2NsYXNzIFN0eWxlUnVsZUZv
bnRQYWxldHRlVmFsdWVzOwogY2xhc3MgU3R5bGVSdWxlSW1wb3J0OwogY2xhc3MgU3R5bGVSdWxl
S2V5ZnJhbWVzOwogY2xhc3MgU3R5bGVSdWxlTGF5ZXI7CkBAIC0xMzMsNiArMTM0LDcgQEAgcHJp
dmF0ZToKICAgICBSZWZQdHI8U3R5bGVSdWxlU3VwcG9ydHM+IGNvbnN1bWVTdXBwb3J0c1J1bGUo
Q1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsK
ICAgICBSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IGNvbnN1bWVWaWV3cG9ydFJ1bGUoQ1NTUGFy
c2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBS
ZWZQdHI8U3R5bGVSdWxlRm9udEZhY2U+IGNvbnN1bWVGb250RmFjZVJ1bGUoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKKyAgICBSZWZQdHI8
U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IGNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUo
Q1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsK
ICAgICBSZWZQdHI8U3R5bGVSdWxlS2V5ZnJhbWVzPiBjb25zdW1lS2V5ZnJhbWVzUnVsZShib29s
IHdlYmtpdFByZWZpeGVkLCBDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRv
a2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxTdHlsZVJ1bGVQYWdlPiBjb25zdW1lUGFnZVJ1
bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2Nr
KTsKICAgICBSZWZQdHI8U3R5bGVSdWxlQ291bnRlclN0eWxlPiBjb25zdW1lQ291bnRlclN0eWxl
UnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxv
Y2spOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNw
cAppbmRleCAwNmFhZTU1ZmE4NzhhZmQ4OGNhOWRjNmUzNmU1MTQ5YjgxYjlkNDAyLi5lZDMyNGQ5
NGJhOTUzYTVlMDk4YjNmZTQ2ZmFiYWRkMjM3MzI5MWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2lu
Y2x1ZGUgIkNTU0N1c3RvbVByb3BlcnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNy
Y1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZlYXR1cmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNT
U0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmgiCiAjaWYgRU5BQkxFKFZBUklB
VElPTl9GT05UUykKICNpbmNsdWRlICJDU1NGb250VmFyaWF0aW9uVmFsdWUuaCIKICNlbmRpZgpA
QCAtMjMzLDYgKzIzNCw4IEBAIGJvb2wgQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWUoQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0eUlELCBib29sIGltcG9ydGFudCwgY29uCiAKICAgICBpZiAocnVs
ZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2UpCiAgICAgICAgIHBhcnNlU3VjY2VzcyA9
IHBhcnNlci5wYXJzZUZvbnRGYWNlRGVzY3JpcHRvcihwcm9wZXJ0eUlEKTsKKyAgICBlbHNlIGlm
IChydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcykKKyAgICAgICAg
cGFyc2VTdWNjZXNzID0gcGFyc2VyLnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKHBy
b3BlcnR5SUQpOwogICAgIGVsc2UgaWYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkNvdW50
ZXJTdHlsZSkKICAgICAgICAgcGFyc2VTdWNjZXNzID0gcGFyc2VyLnBhcnNlQ291bnRlclN0eWxl
RGVzY3JpcHRvcihwcm9wZXJ0eUlELCBjb250ZXh0KTsKICAgICBlbHNlCkBAIC00ODM0LDYgKzQ4
MzcsNjMgQEAgYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VGb250RmFjZURlc2NyaXB0b3Io
Q1NTUHJvcGVydHlJRCBwcm9wSWQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBSZWZQ
dHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVCYXNlUGFsZXR0ZURlc2NyaXB0b3IoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgPT0g
U3RyaW5nVG9rZW4pCisgICAgICAgIHJldHVybiBjb25zdW1lU3RyaW5nKHJhbmdlKTsKKyAgICBy
ZXR1cm4gY29uc3VtZUludGVnZXIocmFuZ2UpOworfQorCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVl
TGlzdD4gY29uc3VtZU92ZXJyaWRlQ29sb3JEZXNjcmlwdG9yKENTU1BhcnNlclRva2VuUmFuZ2Um
IHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIFJlZlB0cjxD
U1NWYWx1ZUxpc3Q+IGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7
CisgICAgZG8geworICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGtleTsKKyAgICAg
ICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgPT0gU3RyaW5nVG9rZW4pCisgICAgICAgICAgICBr
ZXkgPSBjb25zdW1lU3RyaW5nKHJhbmdlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAga2V5
ID0gY29uc3VtZUludGVnZXIocmFuZ2UpOworICAgICAgICBpZiAoIWtleSkKKyAgICAgICAgICAg
IHJldHVybiBudWxscHRyOworCisgICAgICAgIGF1dG8gY29sb3IgPSBjb25zdW1lQ29sb3IocmFu
Z2UsIGNvbnRleHQpOworICAgICAgICBpZiAoIWNvbG9yKQorICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICAgICAgUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSA9IENTU0ZvbnRQYWxldHRl
VmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlOjpjcmVhdGUoa2V5LnJlbGVhc2VOb25OdWxsKCksIGNv
bG9yLnJlbGVhc2VOb25OdWxsKCkpOworICAgICAgICBsaXN0LT5hcHBlbmQodmFsdWUucmVsZWFz
ZU5vbk51bGwoKSk7CisgICAgfSB3aGlsZSAoY29uc3VtZUNvbW1hSW5jbHVkaW5nV2hpdGVzcGFj
ZShyYW5nZSkpOworICAgIAorICAgIGlmICghcmFuZ2UuYXRFbmQoKSB8fCAhbGlzdC0+bGVuZ3Ro
KCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJuIGxpc3Q7Cit9CisKK2Jv
b2wgQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKENT
U1Byb3BlcnR5SUQgcHJvcElkKQoreworICAgIFJlZlB0cjxDU1NWYWx1ZT4gcGFyc2VkVmFsdWU7
CisgICAgc3dpdGNoIChwcm9wSWQpIHsKKyAgICBjYXNlIENTU1Byb3BlcnR5Rm9udEZhbWlseToK
KyAgICAgICAgcGFyc2VkVmFsdWUgPSBjb25zdW1lRmFtaWx5TmFtZShtX3JhbmdlKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUJhc2VQYWxldHRlOgorICAgICAgICBwYXJz
ZWRWYWx1ZSA9IGNvbnN1bWVCYXNlUGFsZXR0ZURlc2NyaXB0b3IobV9yYW5nZSk7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlPdmVycmlkZUNvbG9yOgorICAgICAgICBwYXJz
ZWRWYWx1ZSA9IGNvbnN1bWVPdmVycmlkZUNvbG9yRGVzY3JpcHRvcihtX3JhbmdlLCBtX2NvbnRl
eHQpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9
CisKKyAgICBpZiAoIXBhcnNlZFZhbHVlIHx8ICFtX3JhbmdlLmF0RW5kKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGFkZFByb3BlcnR5KHByb3BJZCwgQ1NTUHJvcGVydHlJbnZhbGlk
LCAqcGFyc2VkVmFsdWUsIGZhbHNlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDU1NQ
cm9wZXJ0eVBhcnNlcjo6Y29uc3VtZVN5c3RlbUZvbnQoYm9vbCBpbXBvcnRhbnQpCiB7CiAgICAg
Q1NTVmFsdWVJRCBzeXN0ZW1Gb250SUQgPSBtX3JhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNw
YWNlKCkuaWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXIuaAppbmRleCAyN2FjMzU5MzdjYzJmYTVhYzdjMmYyMzA0MGUzMDEwYjUwODE3MTM5Li5kODc0
MDk4ZmRjNDg5ZTJlYzRhYzVlMTYzYWQ0ZTFlMmQ5MjNjYWIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE2IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNCAtIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IEVyaWMg
U2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgLSAyMDEwICBU
b3JjaCBNb2JpbGUgKEJlaWppbmcpIENvLiBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpA
QCAtNzMsNiArNzMsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBwYXJzZVZpZXdwb3J0RGVzY3Jp
cHRvcihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogICAgIGJvb2wgcGFy
c2VGb250RmFjZURlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCk7CisgICAgYm9vbCBwYXJzZUZvbnRQ
YWxldHRlVmFsdWVzRGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEKTsKICAgICBib29sIHBhcnNlQ291
bnRlclN0eWxlRGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlELCBjb25zdCBDU1NQYXJzZXJDb250ZXh0
Jik7CiAKICAgICB2b2lkIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5SUQsIENTU1Byb3BlcnR5SUQs
IFJlZjxDU1NWYWx1ZT4mJiwgYm9vbCBpbXBvcnRhbnQsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0
ZVZhbHVlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBhbGV0dGVW
YWx1ZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43ZjYwZDdkNTBjZWZhYTc5NTI1ZGE0MTYzZDhhZTlkNTc5Njg3
YWIwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udFBhbGV0dGVWYWx1ZXMuaApAQCAtMCwwICsxLDg2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJDb2xvci5oIgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+Cisj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGb250UGFsZXR0ZVZhbHVlcyB7CitwdWJs
aWM6CisgICAgdXNpbmcgUGFsZXR0ZUluZGV4ID0gVmFyaWFudDxpbnQ2NF90LCBBdG9tU3RyaW5n
PjsKKyAgICB1c2luZyBQYWxldHRlQ29sb3JJbmRleCA9IFZhcmlhbnQ8QXRvbVN0cmluZywgaW50
NjRfdD47CisgICAgdXNpbmcgT3ZlcnJpZGRlbkNvbG9yID0gc3RkOjpwYWlyPFBhbGV0dGVDb2xv
ckluZGV4LCBDb2xvcj47CisKKyAgICBGb250UGFsZXR0ZVZhbHVlcygpID0gZGVmYXVsdDsKKwor
ICAgIEZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZl
Y3RvcjxPdmVycmlkZGVuQ29sb3I+JiYgb3ZlcnJpZGVDb2xvcikKKyAgICAgICAgOiBtX2Jhc2VQ
YWxldHRlKGJhc2VQYWxldHRlKQorICAgICAgICAsIG1fb3ZlcnJpZGVDb2xvcihXVEZNb3ZlKG92
ZXJyaWRlQ29sb3IpKQorICAgIHsKKyAgICB9CisKKyAgICBjb25zdCBQYWxldHRlSW5kZXgmIGJh
c2VQYWxldHRlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2Jhc2VQYWxldHRlOwor
ICAgIH0KKworICAgIHZvaWQgc2V0QmFzZVBhbGV0dGUoY29uc3QgUGFsZXR0ZUluZGV4JiBiYXNl
UGFsZXR0ZSkKKyAgICB7CisgICAgICAgIG1fYmFzZVBhbGV0dGUgPSBiYXNlUGFsZXR0ZTsKKyAg
ICB9CisKKyAgICBjb25zdCBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiYgb3ZlcnJpZGVDb2xvcigp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9vdmVycmlkZUNvbG9yOworICAgIH0KKwor
ICAgIHZvaWQgYXBwZW5kT3ZlcnJpZGVDb2xvcihPdmVycmlkZGVuQ29sb3ImJiBvdmVycmlkZGVu
Q29sb3IpCisgICAgeworICAgICAgICBtX292ZXJyaWRlQ29sb3IuYXBwZW5kKG92ZXJyaWRkZW5D
b2xvcik7CisgICAgfQorCisgICAgdm9pZCBjbGVhck92ZXJyaWRlQ29sb3IoKQorICAgIHsKKyAg
ICAgICAgbV9vdmVycmlkZUNvbG9yLmNsZWFyKCk7CisgICAgfQorCisgICAgYm9vbCByZW1vdmUo
dW5zaWduZWQga2V5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fb3ZlcnJpZGVDb2xvci5yZW1v
dmVBbGxNYXRjaGluZyhba2V5XShjb25zdCBPdmVycmlkZGVuQ29sb3ImIG92ZXJyaWRkZW5Db2xv
cikgLT4gYm9vbCB7CisgICAgICAgICAgICByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxp
bnQ2NF90PihvdmVycmlkZGVuQ29sb3IuZmlyc3QpICYmIFdURjo6Z2V0PGludDY0X3Q+KG92ZXJy
aWRkZW5Db2xvci5maXJzdCkgPT0ga2V5OworICAgICAgICB9KTsKKyAgICB9CisKK3ByaXZhdGU6
CisgICAgUGFsZXR0ZUluZGV4IG1fYmFzZVBhbGV0dGU7CisgICAgVmVjdG9yPE92ZXJyaWRkZW5D
b2xvcj4gbV9vdmVycmlkZUNvbG9yOworfTsKKworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKaW5kZXggMGNjYWQ0MTk4YzRkZjFiYTdkNTkyOTYzNjc5ZDA2YjYxNDQ4ZjM5NS4uNmZiZmU1
OTdlY2M5NjhkYmVlOWRhYTk1YjI5OWMzOWI0ODhiN2MwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDktMjAgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBQYXJzaW5nIHN1cHBvcnQgZm9yIGZv
bnQtcGFsZXR0ZS12YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMDMzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZXNlIGFyZSBiZWluZyB1cHN0cmVhbWVkIGF0IGh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L3B1bGwvMzA4NDAuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZh
bGlkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZv
bnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9u
dC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sOiBBZGRlZC4KKwogMjAyMS0wOS0yMCAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBzdXJlIFJUQ1J0cFNl
bmRlci5zZXRQYXJhbWV0ZXJzIHJldHVybnMgYW4gZXhjZXB0aW9uIHdpdGggYSB2YWxpZCB0eXBl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZm9udHMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvaWRsaGFybmVzcy1leHBl
Y3RlZC50eHQKaW5kZXggNGVjYmIzM2Y4YTkzZDllMmEyNjFkMDcyYWY4NjE0YmE1ZTg2MGEyZC4u
MmRkMzc0ZGNlMWZhODBhMGZhYWNmZWVhMDQ4NjI1OTBlNGZjMGUzNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL2lk
bGhhcm5lc3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAt
MTUsOCArMTUsOCBAQCBQQVNTIENTU0ZvbnRGYWNlUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBz
dHlsZQogUEFTUyBDU1NGb250RmFjZVJ1bGUgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBj
c3NGb250RmFjZVJ1bGUKIFBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIGNzc0ZvbnRGYWNlUnVsZQog
UEFTUyBDU1NGb250RmFjZVJ1bGUgaW50ZXJmYWNlOiBjc3NGb250RmFjZVJ1bGUgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJzdHlsZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKLUZBSUwgQ1NTUnVsZSBp
bnRlcmZhY2U6IGNzc0ZvbnRGYWNlUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRfRkVB
VFVSRV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBw
cm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIiBub3QgZm91bmQgaW4gcHJvdG90eXBl
IGNoYWluCi1GQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NGb250RmFjZVJ1bGUgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0
eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIg
bm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBDU1NSdWxlIGludGVyZmFjZTogY3Nz
Rm9udEZhY2VSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19S
VUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY3NzRm9u
dEZhY2VSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxF
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxNSBidXQgZ290
IDE5CiBGQUlMIENTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIg
ZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIgbWlzc2luZwogRkFJ
TCBDU1NGb250RmVhdHVyZVZhbHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZl
YXR1cmVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNS
dWxlIiBtaXNzaW5nCiBGQUlMIENTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2Jq
ZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9u
dEZlYXR1cmVWYWx1ZXNSdWxlIiBtaXNzaW5nCkBAIC0zNywxOCArMzcsMTggQEAgRkFJTCBDU1NG
b250RmVhdHVyZVZhbHVlc01hcCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHIKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAi
Y29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIG1pc3NpbmcKIEZBSUwgQ1NTRm9udEZlYXR1
cmVWYWx1ZXNNYXAgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJl
VmFsdWVzTWFwIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIG1p
c3NpbmcKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAgaW50ZXJmYWNlOiBvcGVyYXRpb24g
c2V0KENTU09NU3RyaW5nLCAodW5zaWduZWQgbG9uZyBvciBzZXF1ZW5jZTx1bnNpZ25lZCBsb25n
PikpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IkNTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1
cmVWYWx1ZXNNYXAiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlIiBtaXNzaW5nCi1GQUlMIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVk
IHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0
ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQg
cHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZm9udEZhbWlseSBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogYXR0
cmlidXRlIGJhc2VQYWxldHRlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVy
dHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NSdWxlIGludGVy
ZmFjZTogY29uc3RhbnQgRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBvYmpl
Y3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIkZPTlRfRkVBVFVSRV9W
QUxVRVNfUlVMRSIgbWlzc2luZwotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9O
VF9GRUFUVVJFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2Vy
dF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFMVUVTX1JV
TEUiIG1pc3NpbmcKLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZPTlRfUEFMRVRU
RV9WQUxVRVNfUlVMRSBvbiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4
cGVjdGVkIHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIG1pc3NpbmcKLUZBSUwg
Q1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSBvbiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBw
cm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiBtaXNzaW5nCi1GQUlMIENTU1J1bGUg
aW50ZXJmYWNlOiBjc3NSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZB
TFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5
ICJGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4K
LUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc1J1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJG
T05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhl
cml0czogcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgbm90IGZvdW5kIGluIHBy
b3RvdHlwZSBjaGFpbgorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIENTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBmb250RmFtaWx5CitQQVNTIENTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBiYXNlUGFsZXR0ZQorUEFTUyBD
U1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIG9uIGlu
dGVyZmFjZSBvYmplY3QKK1BBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZPTlRfRkVB
VFVSRV9WQUxVRVNfUlVMRSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorRkFJTCBDU1NS
dWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIG9uIGludGVy
ZmFjZSBvYmplY3QgYXNzZXJ0X2VxdWFsczogcHJvcGVydHkgaGFzIHdyb25nIHZhbHVlIGV4cGVj
dGVkIDE1IGJ1dCBnb3QgMTkKK0ZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZPTlRf
UEFMRVRURV9WQUxVRVNfUlVMRSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRf
ZXF1YWxzOiBwcm9wZXJ0eSBoYXMgd3JvbmcgdmFsdWUgZXhwZWN0ZWQgMTUgYnV0IGdvdCAxOQor
UEFTUyBDU1NSdWxlIGludGVyZmFjZTogY3NzUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZP
TlRfRkVBVFVSRV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK0ZBSUwgQ1NTUnVs
ZSBpbnRlcmZhY2U6IGNzc1J1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX1BBTEVUVEVf
VkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDE1IGJ1dCBnb3QgMTkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVl
cy1pbnZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52
YWxpZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmM3MmU5YTUxZDVhYWJhZWM2MTcyZWExNDAz
ZjMzYzBjMDAxOTZiOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12
YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorCitQQVNTIENTUyBG
b250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcworUEFTUyBD
U1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMQor
UEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgMgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgMworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgNAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcg
QGZvbnQtcGFsZXR0ZS12YWx1ZXMgNQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBh
cnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVs
IDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNworUEFTUyBDU1MgRm9udHMgTW9kdWxl
IExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgOAorUEFTUyBDU1MgRm9udHMg
TW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgOQorUEFTUyBDU1Mg
Rm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTAKK1BB
U1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVz
IDExCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRl
LXZhbHVlcyAxMgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgMTMKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZh
bHVlcy1pbnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44NzA1NDJlZDg4YzRjOTMwN2MwYzUyMTljM2M0ZGU4NjhmZWNmYWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlk
Lmh0bWwKQEAgLTAsMCArMSwxODIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6
IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLyNmb250LXBhbGV0dGUtdmFs
dWVzIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
aXMgcGFyc2VkIGNvcnJlY3RseS4iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHN0eWxlIGlkPSJzdHlsZSI+CitAZm9udC1wYWxldHRlLXZhbHVl
cyB7Cit9CisKK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgQiB7Cit9CisKKy8qIDAgKi8KK0Bmb250
LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGZvbnQtZmFtaWx5OiBhLCBiOworfQorCisvKiAxICov
CitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBmb250LWZhbWlseTogMTsKK30KKworLyog
MiAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgZm9udDogMTJweCBhOworfQorCisv
KiAzICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBiYXNlLXBhbGV0dGU6IDEgMjsK
K30KKworLyogNCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgYmFzZS1wYWxldHRl
OiBpZGVudDsKK30KKworLyogNSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgYmFz
ZS1wYWxldHRlOiAiYSIgImIiOworfQorCisvKiA2ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBB
IHsKKyAgICBiYXNlLXBhbGV0dGU6IDsKK30KKworLyogNyAqLworQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IGlkZW50ICMxMjM7Cit9CisKKy8qIDggKi8KK0Bm
b250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIG92ZXJyaWRlLWNvbG9yOiAwICJyZWQiOworfQor
CisvKiA5ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBvdmVycmlkZS1jb2xvcjog
MCAjMTIzLCAxOworfQorCisvKiAxMCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAg
b3ZlcnJpZGUtY29sb3I6IDsKK30KKworLyogMTEgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEg
eworICAgIG92ZXJyaWRlLWNvbG9yOiAwICMxMjMgMTsKK30KKworLyogMTIgKi8KK0Bmb250LXBh
bGV0dGUtdmFsdWVzIEEgeworICAgIG92ZXJyaWRlLWNvbG9yOiAwOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2xldCBydWxlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzdHlsZSIpLnNoZWV0LmNzc1J1bGVzOwordGVzdChmdW5jdGlvbigpIHsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGVzLmxlbmd0aCwgMTMpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgbGV0IHRleHQgPSBydWxlc1swXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMF07
CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQtZmFtaWx5IiksIC0xKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sxXS5jc3NUZXh0OworICAgIGxldCBydWxlID0g
cnVsZXNbMV07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQtZmFtaWx5Iiks
IC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworfSk7CisKK3Rl
c3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1syXS5jc3NUZXh0OworICAgIGxl
dCBydWxlID0gcnVsZXNbMl07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQ6
IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworfSk7CisK
K3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1szXS5jc3NUZXh0OworICAg
IGxldCBydWxlID0gcnVsZXNbM107CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJh
c2UtcGFsZXR0ZSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAi
Iik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzRdLmNz
c1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s0XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQu
aW5kZXhPZigiYmFzZS1wYWxldHRlIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFz
ZVBhbGV0dGUsICIiKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0g
cnVsZXNbNV0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzVdOworICAgIGFzc2VydF9l
cXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVh
bHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
bGV0IHRleHQgPSBydWxlc1s2XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbNl07Cisg
ICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7CisgICAg
YXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzddLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBy
dWxlc1s3XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3Ii
KSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1
bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbOF0uY3NzVGV4dDsKKyAgICBsZXQgcnVs
ZSA9IHJ1bGVzWzhdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1j
b2xvciIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rl
c3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s5XS5jc3NUZXh0OworICAgIGxl
dCBydWxlID0gcnVsZXNbOV07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJy
aWRlLWNvbG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsK
KwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzEwXS5jc3NUZXh0Owor
ICAgIGxldCBydWxlID0gcnVsZXNbMTBdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9m
KCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDAp
OworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sxMV0uY3Nz
VGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzExXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQu
aW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5z
aXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNb
MTJdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxMl07CisgICAgYXNzZXJ0X2VxdWFs
cyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMv
cGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wYjQ4MmZmYWYzNzRlMThiY2RmMjMwODgyOTYxZDkxMzFiOGQ1ZjE2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwyMiBAQAorCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBA
Zm9udC1wYWxldHRlLXZhbHVlcworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNp
bmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6
IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExl
dmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMworUEFTUyBDU1MgRm9udHMgTW9k
dWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNAorUEFTUyBDU1MgRm9u
dHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNQorUEFTUyBD
U1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNgor
UEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgNworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgOAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgOQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcg
QGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTAKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBw
YXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDExCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2
ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMgorUEFTUyBDU1MgRm9udHMgTW9k
dWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTMKK1BBU1MgQ1NTIEZv
bnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE0CitQQVNT
IENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAx
NQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgMTYKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBh
bGV0dGUtdmFsdWVzIDE3CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBA
Zm9udC1wYWxldHRlLXZhbHVlcyAxOAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBh
cnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9u
dC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVl
cy12YWxpZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2Nzc0ZWZiYjE0OTMxZWJmNTA4MDhjM2NiMzVmYmZm
OGExMzc5YjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVz
LXZhbGlkLmh0bWwKQEAgLTAsMCArMSwyMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgRm9udHMgTW9kdWxlIExl
dmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLyNmb250LXBhbGV0
dGUtdmFsdWVzIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgaXMgcGFyc2VkIGNvcnJlY3RseS4iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlIGlkPSJzdHlsZSI+CisvKiAwICovCitAZm9u
dC1wYWxldHRlLXZhbHVlcyBBIHsKK30KKworLyogMSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
QiB7CisgICAgZm9udC13ZWlnaHQ6IDQwMDsKK30KKworLyogMiAqLworQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgQyB7CisgICAgZm9udC1mYW1pbHk6IGZvbzsKKyAgICBmb250LWZhbWlseTogYmFyOwor
ICAgIGJhc2UtcGFsZXR0ZTogMTsKKyAgICBiYXNlLXBhbGV0dGU6ICJiYXoiOworICAgIGJhc2Ut
cGFsZXR0ZTogMjsKKyAgICBvdmVycmlkZS1jb2xvcjogImEiICMxMjM7CisgICAgb3ZlcnJpZGUt
Y29sb3I6IDMgIzEyMzsKKyAgICBvdmVycmlkZS1jb2xvcjogImIiICMxMjM7Cit9CisKKy8qIDMg
Ki8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEQgeworICAgIGJhc2UtcGFsZXR0ZTogImZvbyI7Cisg
ICAgYmFzZS1wYWxldHRlOiAxOworICAgIGJhc2UtcGFsZXR0ZTogImJhciI7CisgICAgb3ZlcnJp
ZGUtY29sb3I6IDMgIzEyMzsKKyAgICBvdmVycmlkZS1jb2xvcjogImJheiIgIzEyMzsKKyAgICBv
dmVycmlkZS1jb2xvcjogNCAjMTIzOworfQorCisvKiA0ICovCitAZm9udC1wYWxldHRlLXZhbHVl
cyBFIHsKKyAgICBvdmVycmlkZS1jb2xvcjogMyByZ2IoMTcsIDM0LCA1MSk7CisgICAgb3ZlcnJp
ZGUtY29sb3I6IDMgcmdiKDY4LCA4NSwgMTAyKTsKK30KKworLyogNSAqLworQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgRiB7CisgICAgZm9udC1mYW1pbHk6ICJmb28iOworfQorCisvKiA2ICovCitAZm9u
dC1wYWxldHRlLXZhbHVlcyBHIHsKKyAgICBvdmVycmlkZS1jb2xvcjogMyByZ2IoMTcsIDM0LCA1
MSksIDQgcmdiKDY4LCA4NSwgMTAyKTsKK30KKworLyogNyAqLworQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgSCB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDMgcmdiKDE3LCAzNCwgNTEpLCAzIHJnYig2OCwg
ODUsIDEwMik7Cit9CisKKy8qIDggKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEkgeworICAgIGJh
c2UtcGFsZXR0ZTogLTM7Cit9CisKKy8qIDkgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEogewor
ICAgIG92ZXJyaWRlLWNvbG9yOiAtMyByZ2IoMTcsIDM0LCA1MSk7Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorbGV0IHJ1bGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0eWxlIikuc2hlZXQuY3NzUnVsZXM7Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0
ZXh0ID0gcnVsZXNbMF0uY3NzVGV4dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4
T2YoIkBmb250LXBhbGV0dGUtdmFsdWVzICIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMo
dGV4dC5pbmRleE9mKCIgQSAiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5k
ZXhPZigieyIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJ9Iiks
IC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHkiKSwgLTEp
OworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOwor
ICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7Cit9
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzBdOworICAgIGFz
c2VydF9lcXVhbHMocnVsZS50eXBlLCBDU1NSdWxlLkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSk7
CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmNvbnN0cnVjdG9yLm5hbWUsICJDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVh
bHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0
ID0gcnVsZXNbMV0uY3NzVGV4dDsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9u
dC13ZWlnaHQiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUg
PSBydWxlc1sxXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0g
cnVsZXNbMl0uY3NzVGV4dDsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1m
YW1pbHk6IGZvbzsiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigi
Zm9udC1mYW1pbHk6IGJhcjsiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9m
KCJiYXNlLXBhbGV0dGU6IDE7IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhP
ZigiYmFzZS1wYWxldHRlOiBcImJhelwiIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0
ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZTogMjsiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMo
dGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvcjogXCJhXCIiKSwgLTEpOworICAgIGFzc2VydF9l
cXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvcjogMyIpLCAtMSk7CisgICAgYXNzZXJ0
X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvcjogXCJiXCIiKSwgLTEpOwor
fSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1syXTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgImJhciIpOworICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5iYXNlUGFsZXR0ZSwgIjIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7
Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzNdLmNzc1Rl
eHQ7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZTogXCJmb29c
IjsiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6
IDEiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxl
dHRlOiBcImJhclwiOyIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92
ZXJyaWRlLWNvbG9yOiAzIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigi
b3ZlcnJpZGUtY29sb3I6IFwiYmF6XCIiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRl
eHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3I6IDQiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1szXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUu
Zm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgImJh
ciIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHJ1bGUuZ2V0KDcpLCB1bmRlZmluZWQpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0
KDQpLmluZGV4T2YoInJnYiIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBs
ZXQgdGV4dCA9IHJ1bGVzWzRdLmNzc1RleHQ7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4
T2YoIjUxIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjEwMiIp
LCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzRd
OworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUs
IDEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNz
ZXJ0X25vdF9lcXVhbHMocnVsZS5nZXQoMykuaW5kZXhPZigiMTAyIiksIC0xKTsKK30pOworCit0
ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbNV0uY3NzVGV4dDsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbyIpLCAtMSk7Cit9KTsKKwordGVzdChm
dW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzVdOworICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5mb250RmFtaWx5LCAiZm9vIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxl
dHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3Qo
ZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s2XS5jc3NUZXh0OworICAgIGFzc2Vy
dF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiNTEiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1
YWxzKHRleHQuaW5kZXhPZigiMTAyIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICAgIGxldCBydWxlID0gcnVsZXNbNl07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1p
bHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3
KSwgdW5kZWZpbmVkKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhydWxlLmdldCgzKS5pbmRleE9m
KCI1MSIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMocnVsZS5nZXQoNCkuaW5kZXhPZigi
MTAyIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVs
ZXNbN10uY3NzVGV4dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjUxIiks
IC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjEwMiIpLCAtMSk7Cit9
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzddOworICAgIGFz
c2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxl
LmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X25vdF9l
cXVhbHMocnVsZS5nZXQoMykuaW5kZXhPZigiMTAyIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHJ1bGUuZ2V0KDQpLCB1bmRlZmluZWQpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
bGV0IHRleHQgPSBydWxlc1s4XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQu
aW5kZXhPZigiYmFzZS1wYWxldHRlIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICAgIGxldCBydWxlID0gcnVsZXNbOF07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1p
bHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICItMyIpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICAgIGxldCB0ZXh0ID0gcnVsZXNbOV0uY3NzVGV4dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0
ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9u
KCkgeworICAgIGxldCBydWxlID0gcnVsZXNbOV07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZv
bnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxl
LmdldCg3KSwgdW5kZWZpbmVkKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KC0zKSwgdW5k
ZWZpbmVkKTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438756</attachid>
            <date>2021-09-20 17:06:10 -0700</date>
            <delta_ts>2021-09-20 22:40:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230337-20210920170609.patch</filename>
            <type>text/plain</type>
            <size>94745</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQ2NGYzY2YxMjI4MjY0
MGU5NmIzNTQzNGUxZDM3M2Y1OGU2MjhhMS4uM2ZkZjhjZmExMWQ3OTc3ZTlhYWM2MjVhMmIwZTQz
MzUwYzYxZDk1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNyBAQAorMjAyMS0wOS0yMCAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFBhcnNpbmcg
c3VwcG9ydCBmb3IgZm9udC1wYWxldHRlLXZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMzM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUncyBub3RoaW5nIHBhcnRpY3VsYXJseSBpbnRl
cmVzdGluZyBoZXJlIC0gaXQncyBqdXN0IHN1cHBvcnQgZm9yIGFub3RoZXIgYXQtcnVsZS4KKyAg
ICAgICAgSSd2ZSBpbXBsZW1lbnRlZCB3aGF0J3MgaW4gdGhlIHNwZWMgcmlnaHQgbm93OgorICAg
ICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTQvI2ZvbnQtcGFsZXR0ZS12
YWx1ZXMKKworICAgICAgICBUaGVyZSBhcmUgMiBuZXcgZGVzY3JpcHRvcnM6IGJhc2UtcGFsZXR0
ZSBhbmQgb3ZlcnJpZGUtY29sb3IuIEkndmUgYWRkZWQgYSBuZXcgQ1NTVmFsdWUgc3ViY2xhc3MK
KyAgICAgICAgZm9yIGVhY2ggb2YgdGhlIGl0ZW1zIGluIHRoZSBvdmVycmlkZS1jb2xvciBsaXN0
IC0gdGhlc2UgaXRlbXMgYXJlIGp1c3QgdHVwbGVzIG9mIHR3bworICAgICAgICBDU1NQcmltaXRp
dmVWYWx1ZXMuIEkgY291bGQgaGF2ZSBkb25lIHRoaXMgd2l0aCBhIENTU1ZhbHVlTGlzdCB3aGlj
aCBhbHdheXMganVzdCBoYXBwZW5zIHRvIGhhdmUKKyAgICAgICAgYSBsZW5ndGggb2YgMiwgYnV0
IEkgdGhvdWdodCB0aGF0IHdhcyBsZXNzIGVsZWdhbnQgKGFuZCBoYXMgYW4gZXh0cmEgcG9pbnRl
ciBpbmRpcmVjdGlvbikgdGhhbgorICAgICAgICBtYWtpbmcgYSBjbGFzcyB0byBob2xkIHRoZSB0
d28gQ1NTUHJpbWl0aXZlVmFsdWVzLgorCisgICAgICAgIFRoZSBvbmx5IGRpZmZlcmVuY2Ugd2l0
aCB3aGF0J3MgaW4gdGhlIHNwZWMgaXMgdGhhdCBJJ3ZlIGdpdmVuIGEgZGlmZmVyZW50IHZhbHVl
IHRvCisgICAgICAgIEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSwgYmVjYXVzZSBpdHMgY3VycmVu
dCB2YWx1ZSBjb25mbGljdHMgd2l0aCBWSUVXUE9SVF9SVUxFLiBUaGlzIGlzIGJlaW5nCisgICAg
ICAgIHRyYWNrZWQgYXQgaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVz
LzY2MjMuCisKKyAgICAgICAgSSBjcmVhdGVkIGEgbmV3IGRhdGF0eXBlIGFuZCBmaWxlIGluIHBs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmggYmVjYXVzZSB0aGlzIGRhdGEgd2ls
bAorICAgICAgICBldmVudHVhbGx5IGJlIHBhc3NlZCB0byBwcmVwYXJlUGxhdGZvcm1Gb250KCks
IHdoaWNoIGlzIGluIHBsYXRmb3JtLywgc28gdGhpcyBkYXRhIG5lZWRzIHRvIGJlCisgICAgICAg
IGFjY2Vzc2libGUgZnJvbSBwbGF0Zm9ybS8gdG9vLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0
dGUtdmFsdWVzLWludmFsaWQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12
YWxpZC5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NS
dWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgor
ICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHA6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmguCisgICAgICAg
IChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3VzdG9t
Q1NTVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGU6On5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6cGFyc2VTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpmb250RmFtaWx5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6YmFzZVBhbGV0dGUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpzZXRGb250RmFtaWx5KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0QmFzZVBhbGV0dGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjppbml0aWFsaXplTWFwTGlrZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnNldEZyb21NYXBM
aWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y2xlYXIp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpyZW1vdmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjc3NUZXh0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6cmVhdHRhY2gp
OgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL0NTU1Byb3BlcnRp
ZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5jcHA6CisgICAgICAgICogY3NzL0NTU1J1
bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5pZGw6CisgICAgICAgICogY3NzL0NTU1ZhbHVl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjplcXVhbHMgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1RleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTVmFsdWU6OmlzRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUg
Y29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNl
Ojpjb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNT
U09NV3JhcHBlciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVGb250UGFsZXR0
ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMpOgorICAgICAgICAqIGNzcy9TdHls
ZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmlzRm9udFBhbGV0dGVW
YWx1ZXNSdWxlIGNvbnN0KToKKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgICogY3NzL1N0eWxl
UnVsZVR5cGUuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRyYXZlcnNlUnVsZXNJblZlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVNoZWV0Q29udGVudHM6OnRyYXZlcnNlU3VicmVzb3VyY2VzIGNvbnN0KToKKyAgICAgICAg
KiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNzc0F0UnVs
ZUlEKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmg6CisgICAgICAgICogY3Nz
L3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcklt
cGw6OmNvbnN1bWVBdFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6Y29u
c3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJJ
bXBsOjpjb25zdW1lRGVjbGFyYXRpb24pOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2Vy
SW1wbC5oOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVzY3JpcHRvcik6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKToKKyAgICAg
ICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpG
b250UGFsZXR0ZVZhbHVlczo6Rm9udFBhbGV0dGVWYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9udFBhbGV0dGVWYWx1ZXM6OmJhc2VQYWxldHRlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQYWxldHRlVmFsdWVzOjpzZXRCYXNlUGFsZXR0ZSk6CisgICAgICAgIChXZWJDb3JlOjpG
b250UGFsZXR0ZVZhbHVlczo6b3ZlcnJpZGVDb2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpGb250UGFsZXR0ZVZhbHVlczo6YXBwZW5kT3ZlcnJpZGVDb2xvcik6CisgICAgICAgIChXZWJD
b3JlOjpGb250UGFsZXR0ZVZhbHVlczo6Y2xlYXJPdmVycmlkZUNvbG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRQYWxldHRlVmFsdWVzOjpyZW1vdmUpOgorCiAyMDIxLTA5LTIwICBBbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEluY29ycmVjdCBz
dXJyb2dhdGUgaGFuZGxpbmcgd2hlbiBkZWFsaW5nIHdpdGggc2hvcnQgbGluZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggNzM3ZmU2MDQ3YjIzYzAwMzMyMTNkOWQyNjYwYzhmY2IxMzQ4ZGMyOC4u
YTQxMzJkZmI1Yjk2NmM0ODkxNTdkZTlhMTVlZjY2MmE3MGQ3NDU0OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTcwNSw2ICs3MDUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwog
ICAgIGNzcy9DU1NDb25kaXRpb25SdWxlLmlkbAogICAgIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxl
LmlkbAogICAgIGNzcy9DU1NGb250RmFjZVJ1bGUuaWRsCisgICAgY3NzL0NTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5pZGwKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAogICAgIGNzcy9DU1NJ
bXBvcnRSdWxlLmlkbAogICAgIGNzcy9DU1NLZXlmcmFtZVJ1bGUuaWRsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA3ZWYzOWZkYzM1YWVl
MmEyM2QzZjZkYTYwNjc3MDE0N2U2ODlmNGVhLi5jZjJlOWFkY2NhZDBhZTE2Njg3ODQ5OTU0NmQz
Y2Y3N2I5ZGM5NjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKQEAgLTY4Miw2ICs2ODIsNyBAQCAkKFBST0pFQ1RfRElSKS9jcnlwdG8vcGFy
YW1ldGVycy9Sc2FQc3NQYXJhbXMuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTQ29uZGl0aW9u
UnVsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbAogJChQ
Uk9KRUNUX0RJUikvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy9D
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTR3JvdXBp
bmdSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAkKFBST0pF
Q1RfRElSKS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCAyN2ViZDhhOTI0NzMzNTU1M2RhYjQ3
N2ZiZjQ4ZjBkMGVlNWE1YmUwLi4xNmNjNDg3ZDRjMDJmNGRhOTdiYzNkYjIxNDAzYWI0ZDczYzUy
N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdApAQCAtMzAwLDYgKzMwMCw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVs
ZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
Rm9udEZhY2VSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NHcm91cGluZ1J1
bGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NT
U0dyb3VwaW5nUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0NTU0ltcG9ydFJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCA1Y2ZiYmE3ZjYxMDgxYjFkYTE4MGZhZTBjYWFlODgyNmQ2MWMzYzk3Li5kMjAyNDNlZjg1Nzdi
ZTM4NTUyODUxNTdkOWE2Zjc1NGU5NzU3ZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5p
ZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1j
Q29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTU3NSw2ICs1NzUsNyBAQCBKU19CSU5ESU5H
X0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTR3JvdXBpbmdSdWxl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgXAogICAgICQoV2Vi
Q29yZSkvY3NzL0NTU0tleWZyYW1lUnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZjQx
MTMzNGQ2YjcxNDczNzA1NzA2Y2UwNWY0ZGM2MTA0ODdjYTc3ZS4uZTU4NWVhZDMzNzVjZjUzYzAx
NzEzNWFiMjZkMTZjZWIxZTUzNmU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0zNjYsNiArMzY2
LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIGNzcy9DU1ND
b25kaXRpb25SdWxlLmgKICAgICBjc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oCiAgICAgY3Nz
L0NTU0ZvbnRGYWNlUnVsZS5oCisgICAgY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCiAg
ICAgY3NzL0NTU0ZvbnRGYW1pbHkuaAogICAgIGNzcy9DU1NHcmlkSW50ZWdlclJlcGVhdFZhbHVl
LmgKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmgKQEAgLTEyNTksNiArMTI2MCw3IEBAIHNldChX
ZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9G
b250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRH
ZW5lcmljRmFtaWxpZXMuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKKyAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0ZVZhbHVlcy5oCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJhbmdl
cy5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVjdGlvbkFsZ29yaXRobS5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CmluZGV4IGQxOGJhZGJmZGI3MzMzYWIxMjgwNzFhOGNkMzA5ZjRkZDlhNzk1N2IuLmU0
MDAwNWM4YTBkZGI0YTE2ZjcyYjIyNTA4ZWU3ZjY2ODA4MjQyZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBA
IC0xLDQgKzEsNCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02
NTgsNiArNjU4LDggQEAgY3NzL0NTU0ZvbnRGYWNlU2V0LmNwcAogY3NzL0NTU0ZvbnRGYWNlU291
cmNlLmNwcAogY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCiBjc3MvQ1NTRm9udEZlYXR1cmVW
YWx1ZS5jcHAKK2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAK
K2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwCiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cAogY3NzL0NTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuY3BwCiBjc3MvQ1NTRm9udFN0eWxlVmFsdWUu
Y3BwCkBAIC0yODIzLDYgKzI4MjUsNyBAQCBKU0NTU0FuaW1hdGlvbi5jcHAKIEpTQ1NTQ29uZGl0
aW9uUnVsZS5jcHAKIEpTQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKIEpTQ1NTRm9udEZhY2VSdWxl
LmNwcAorSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwCiBKU0NTU0dyb3VwaW5nUnVsZS5j
cHAKIEpTQ1NTSW1wb3J0UnVsZS5jcHAKIEpTQ1NTS2V5ZnJhbWVSdWxlLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYxNDM4
ZThiYjdiNjMyYjViMzFkMjNkMmE5ZDAzM2ViYTczYjM5OGEuLmE0M2UxN2E4NjVkOTMxYTIyNDA0
ZjVmOTY2ZjFjMGFkNjNiMmQ0NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY1Miw2ICs2NTIsNyBAQAogCQkxQzI0RUVBOTFD
NzJBN0I0MDA4MEY4RkMgLyogSlNGb250RmFjZVNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMyNEVFQTcxQzcyQTdCNDAwODBGOEZDIC8qIEpTRm9u
dEZhY2VTZXQuaCAqLzsgfTsKIAkJMUM0M0RFNkIyMkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3Vy
cmVudFRyYWl0Q29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUM0M0RFNjgyMkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3VycmVudFRyYWl0
Q29sbGVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTFDNEQwREQzMjREOUYxMEQwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNEQwREQxMjRE
OUYwREIwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxQzVFMURBODI2Rjk0QjkwMDBFMDdBRjEg
LyogRm9udFBhbGV0dGVWYWx1ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFDNUUxREE2MjZGOTQ5QjkwMEUwN0FGMSAvKiBGb250UGFsZXR0ZVZhbHVl
cy5oICovOyB9OwogCQkxQzY2MjYxMTFDNkU3Q0E2MDBBQjUyN0MgLyogRm9udEZhY2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjYyNjBGMUM2RTdD
QTYwMEFCNTI3QyAvKiBGb250RmFjZS5oICovOyB9OwogCQkxQzczQTcxMzIxODU3NTdFMDA0Q0NF
QTUgLyogVGV4dFVuZGVybGluZU9mZnNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUNCNkI0RkIyMTdCODM5NDAwOTNCOUNEIC8qIFRleHRVbmRlcmxp
bmVPZmZzZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkxQzczQTcxNTIxODU3NTg3MDA0Q0NFQTUgLyogVGV4dERlY29yYXRpb25UaGlja25lc3Mu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQjZCNEY4
MjE3QjgzOTMwMDkzQjlDRCAvKiBUZXh0RGVjb3JhdGlvblRoaWNrbmVzcy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC02NjYsNiArNjY3LDcgQEAK
IAkJMUNFODg2NDEyNjEwNUJGMjAwMEM4MTZDIC8qIEluTWVtb3J5RGlzcGxheUxpc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRTg4NjNGMjYxMDVB
NUYwMDBDODE2QyAvKiBJbk1lbW9yeURpc3BsYXlMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUNFOEQxMjcyNjE4NUMwRTAwRkMzQUVGIC8q
IERpc3BsYXlMaXN0SXRlbUJ1ZmZlcklkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRThEMTI1MjYxODVCRDgwMEZDM0FFRiAvKiBEaXNw
bGF5TGlzdEl0ZW1CdWZmZXJJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUNFOEQxMkUyNjE4NjFDNDAwRkMzQUVGIC8qIERpc3Bs
YXlMaXN0SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFDRThEMTJDMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUNFQUE1
MzIyNkYzMzZGQzAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZh
bHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0VB
QTUzMTI2RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9y
VmFsdWUuaCAqLzsgfTsKIAkJMUNGQUUzMjMwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHls
aWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0ZB
RTMyMjBBNkQ2QTNGMDAzMjU5M0QgLyogbGlib2JqYy5keWxpYiAqLzsgfTsKIAkJMUQwMDI2QTQy
Mzc0RDYyNDAwQ0E2Q0RGIC8qIEpTUGljdHVyZUluUGljdHVyZVdpbmRvdy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQwMDI2QTIyMzc0RDYyMzAwQ0E2
Q0RGIC8qIEpTUGljdHVyZUluUGljdHVyZVdpbmRvdy5oICovOyB9OwogCQkxRDAwMjZBQTIzNzRG
OUVBMDBDQTZDREYgLyogSlNFbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQwMDI2QTgyMzc0RjlEOTAwQ0E2
Q0RGIC8qIEpTRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaCAqLzsgfTsKQEAgLTcwNDgsNiAr
NzA1MCw3IEBACiAJCTFDNDNERTZBMjJBQjRCOEEwMDE1MjdEOSAvKiBMb2NhbEN1cnJlbnRUcmFp
dENvbGxlY3Rpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBM
b2NhbEN1cnJlbnRUcmFpdENvbGxlY3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDNEQwREQxMjREOUYwREIwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR2x5cGhCdWZmZXJNZW1iZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFDNTBDNDk1MjJDODRGMjQwMEE2RTRCRSAvKiBXSExTTFN0YW5kYXJkTGlicmFyeUZ1
bmN0aW9uTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMU3RhbmRhcmRMaWJyYXJ5RnVu
Y3Rpb25NYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzVFMURBNjI2Rjk0
OUI5MDBFMDdBRjEgLyogRm9udFBhbGV0dGVWYWx1ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udFBh
bGV0dGVWYWx1ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2NjI2MEUxQzZF
N0NBNjAwQUI1MjdDIC8qIEZvbnRGYWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEZvbnRGYWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2
NjI2MEYxQzZFN0NBNjAwQUI1MjdDIC8qIEZvbnRGYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEZvbnRGYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFD
NkZEOEFDMjUwQTI5NEQwMEQ2RTkyMCAvKiBGb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcwODAsNiArNzA4MywxMSBAQAogCQkxQ0U4RDEyNTI2MTg1
QkQ4MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDRThEMTJCMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0
ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlMaXN0SXRlcmF0b3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0U4RDEyQzI2MTg2MTY0MDBGQzNBRUYgLyog
RGlzcGxheUxpc3RJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZXJhdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUw
NyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUNFQUE1MkQyNkYzMUEzQzAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MkYyNkYzMUFGODAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MzAyNkYzMzFDMTAwODY4NTA3IC8qIENTU0Zv
bnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MzEyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDRjBCRkQ0MjI5ODcwNjgwMEVEMjA3NCAvKiBUZXh0U2l6ZUFkanVzdG1lbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gVGV4dFNpemVBZGp1c3RtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUNGMThGM0MyNkJCNUFGMjAwNEIxNzIyIC8qIExvZ0luaXRpYWxpemF0
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvZ0luaXRpYWxpemF0aW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGQUUzMjIwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9i
amMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAv
dXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAt
MjcwMDcsNiArMjcwMTUsNyBAQAogCQkJCUU0NEVFM0E2MTc1NzZFNTUwMEVFRThDRiAvKiBGb250
R2VuZXJpY0ZhbWlsaWVzLmNwcCAqLywKIAkJCQlFNDRFRTNBNzE3NTc2RTU1MDBFRUU4Q0YgLyog
Rm9udEdlbmVyaWNGYW1pbGllcy5oICovLAogCQkJCTA4NDU2ODA3MTJCOTBEQTYwMDk2MEE5RiAv
KiBGb250TWV0cmljcy5oICovLAorCQkJCTFDNUUxREE2MjZGOTQ5QjkwMEUwN0FGMSAvKiBGb250
UGFsZXR0ZVZhbHVlcy5oICovLAogCQkJCTg0QjYyNjg0MTMzMTM4RjkwMDk1QTQ4OSAvKiBGb250
UGxhdGZvcm1EYXRhLmNwcCAqLywKIAkJCQlCNTMyMEQ2OTEyMkEyNEU5MDAyRDE0NDAgLyogRm9u
dFBsYXRmb3JtRGF0YS5oICovLAogCQkJCTM3MUY0RkZCMEQyNUU3RjMwMEVDRTBENSAvKiBGb250
UmFuZ2VzLmNwcCAqLywKQEAgLTI5NTg4LDYgKzI5NTk3LDExIEBACiAJCQkJODM1MjBDN0QxQTcx
QkZDQzAwNkJEMkFBIC8qIENTU0ZvbnRGYW1pbHkuaCAqLywKIAkJCQk0QTZFOUZDMTEzQzE3RDFE
MDA0NkE3RjggLyogQ1NTRm9udEZlYXR1cmVWYWx1ZS5jcHAgKi8sCiAJCQkJNEE2RTlGQzIxM0Mx
N0QxRDAwNDZBN0Y4IC8qIENTU0ZvbnRGZWF0dXJlVmFsdWUuaCAqLywKKwkJCQkxQ0VBQTUzMDI2
RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUu
Y3BwICovLAorCQkJCTFDRUFBNTMxMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZh
bHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oICovLAorCQkJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUw
NyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwICovLAorCQkJCTFDRUFBNTJEMjZGMzFB
M0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCAqLywKKwkJCQkxQ0VBQTUy
RjI2RjMxQUY4MDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCAqLywKIAkJ
CQlCQzY0QjREMzBDQjQyOThBMDA1RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmNwcCAqLywKIAkJ
CQlCQzY0QjRENDBDQjQyOThBMDA1RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmggKi8sCiAJCQkJ
QzJFMzhFRkYxRTg0NTczNTAwQ0EzQURGIC8qIENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuY3BwICov
LApAQCAtMzE5NjIsNiArMzE5NzYsNyBAQAogCQkJCUJDNjRCNERBMENCNDI5OEEwMDVGMkI2MiAv
KiBDU1NGb250RmFjZVNyY1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzUyMEM3RTFBNzFC
RkNDMDA2QkQyQUEgLyogQ1NTRm9udEZhbWlseS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE2RTlG
QzQxM0MxN0QxRDAwNDZBN0Y4IC8qIENTU0ZvbnRGZWF0dXJlVmFsdWUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTFDRUFBNTMyMjZGMzM2RkMwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2NEI0REMwQ0I0Mjk4QTAw
NUYyQjYyIC8qIENTU0ZvbnRTZWxlY3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJFMzhGMDIx
RTg0NTczNTAwQ0EzQURGIC8qIENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUMyRTM4RUZFMUU4Mzk2RkQwMENBM0FERiAvKiBDU1NGb250U3R5bGVWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zMjQ5OSw2ICszMjUxNCw3IEBACiAJCQkJNjU4NDM2ODYwQUUwMUI3
NDAwRTUzNzQzIC8qIEZvbnRMb2FkUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0QTUz
MkYyNTYwNTdDRDAwMjhDNTkyIC8qIEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTA4NDU2ODA4MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMUM1RTFEQTgyNkY5NEI5MDAwRTA3QUYxIC8qIEZvbnRQYWxldHRlVmFs
dWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCNTMyMEQ2QjEyMkEyNEU5MDAyRDE0NDAgLyogRm9u
dFBsYXRmb3JtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzcxRjRGRkMwRDI1RTdGMzAwRUNF
MEQ1IC8qIEZvbnRSYW5nZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNEE1MzM5MjU2MDYzOTgw
MDI4QzU5MiAvKiBGb250UmVuZGVyaW5nTW9kZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAppbmRleCA3NTBlMDBjMzg3
ZmJkMjc4ZTU4NWZlYzZiZDM0ZDIwNTA3MWNjNWQzLi44YzRjNTYxNWEzOWY3MTM5NWQ3ZGM3ZTli
OGZlNzlmNjE5N2M5MjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0NTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NT
UnVsZUN1c3RvbS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkNTU0NvdW50ZXJT
dHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5j
bHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgpA
QCAtMzgsNiArMzksNyBAQAogI2luY2x1ZGUgIkNTU1N1cHBvcnRzUnVsZS5oIgogI2luY2x1ZGUg
IkpTQ1NTQ291bnRlclN0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTRm9udEZhY2VSdWxlLmgi
CisjaW5jbHVkZSAiSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJKU0NT
U0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU0tleWZyYW1lUnVsZS5oIgogI2luY2x1ZGUg
IkpTQ1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtNzAsNiArNzIsOCBAQCBKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBSZWY8QwogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NNZWRpYVJ1bGU+KGdsb2Jh
bE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxlOjpGT05UX0ZBQ0VfUlVM
RToKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTRm9udEZhY2VSdWxlPihnbG9iYWxP
YmplY3QsIFdURk1vdmUocnVsZSkpOworICAgIGNhc2UgQ1NTUnVsZTo6Rk9OVF9QQUxFVFRFX1ZB
TFVFU19SVUxFOgorICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxl
OjpQQUdFX1JVTEU6CiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1BhZ2VSdWxlPihn
bG9iYWxPYmplY3QsIFdURk1vdmUocnVsZSkpOwogICAgIGNhc2UgQ1NTUnVsZTo6SU1QT1JUX1JV
TEU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwCmluZGV4IDI2YjQ5NTdmODQ5YjcwMWM1ZDA2ZjdiNDQzZDVkY2ZiZTljZTkzOTAuLmZj
ZjViMjI5ZGVjOTc2MzJlOGZmZDA0ZTNkZDUzYjZmODZhODA4NGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xLDYgKzEs
NiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNCBaYWNrIFJ1c2luIDx6YWNrQGtkZS5vcmc+
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Vi
a2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwNyBOaWNob2xhcyBTaGFua3MgPHdlYmtpdEBu
aWNrc2hhbmtzLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAxMSBTZW5jaGEsIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KQEAgLTQwNTIsNiArNDA1MiwxMSBAQCBSZWZQdHI8Q1NTVmFsdWU+IENv
bXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNvbnN0IFJlbmRl
clN0eQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udERpc3BsYXk6CiAgICAgICAgICAgICBi
cmVhazsKIAorICAgICAgICAvKiBVbmltcGxlbWVudGVkIEBmb250LXBhbGV0dGUtdmFsdWVzIHBy
b3BlcnRpZXMgKi8KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhc2VQYWxldHRlOgorICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5T3ZlcnJpZGVDb2xvcjoKKyAgICAgICAgICAgIGJyZWFrOworCiAg
ICAgICAgIC8qIE90aGVyIHVuaW1wbGVtZW50ZWQgcHJvcGVydGllcyAqLwogICAgICAgICBjYXNl
IENTU1Byb3BlcnR5UGFnZTogLy8gZm9yIEBwYWdlCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlT
aXplOiAvLyBmb3IgQHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2
ZDQ2YzJhMTFmYWJmZDFmMjc1MDdmNGIzMzMxMzdlNjY0YjdmM2UKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFs
dWUuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0
dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitT
dHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU6OmN1c3RvbUNTU1Rl
eHQoKSBjb25zdAoreworICAgIHJldHVybiBtYWtlU3RyaW5nKG1fa2V5LT5jc3NUZXh0KCksICIg
IiwgbV9jb2xvci0+Y3NzVGV4dCgpKTsKK30KKworYm9vbCBDU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvclZhbHVlJiBvdGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9rZXktPmVxdWFscyhv
dGhlci5rZXkoKSkgJiYgbV9jb2xvci0+ZXF1YWxzKG90aGVyLmNvbG9yKCkpOworfQorCit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlk
ZUNvbG9yVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3MTkwYmJjOTI3MDJkYjNhNjk5MGE3Yzk4
YWVhZjIxNDRiZjZmN2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaApAQCAtMCwwICsxLDc2IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxl
LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgiCisjaW5jbHVkZSA8d3RmL0Z1
bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVkRm9udDsKK2NsYXNzIEZvbnRMb2FkUmVxdWVzdDsKK2Ns
YXNzIFNWR0ZvbnRGYWNlRWxlbWVudDsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisK
K2NsYXNzIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlIGZpbmFsIDogcHVi
bGljIENTU1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENTU0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlPiBjcmVhdGUoUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIGtl
eSwgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIGNvbG9yKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUoV1RG
TW92ZShrZXkpLCBXVEZNb3ZlKGNvbG9yKSkpOworICAgIH0KKworICAgIGNvbnN0IENTU1ByaW1p
dGl2ZVZhbHVlJiBrZXkoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fa2V5LmdldCgp
OworICAgIH0KKworICAgIGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBjb2xvcigpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gbV9jb2xvci5nZXQoKTsKKyAgICB9CisKKyAgICBTdHJpbmcg
Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0OworCisgICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUmKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZShSZWY8Q1NTUHJpbWl0aXZlVmFs
dWU+JiYga2V5LCBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYgY29sb3IpCisgICAgICAgIDogQ1NT
VmFsdWUoRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3MpCisgICAgICAgICwgbV9r
ZXkoV1RGTW92ZShrZXkpKQorICAgICAgICAsIG1fY29sb3IoV1RGTW92ZShjb2xvcikpCisgICAg
eworICAgIH0KKworICAgIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9rZXk7CisgICAgUmVmPENT
U1ByaW1pdGl2ZVZhbHVlPiBtX2NvbG9yOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19WQUxVRShDU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZSwgaXNGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSgp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42Mjc4NmQ3ODhjNDI1Y2M1MmI1Mjk4NDQ1MGU3MWNjYmM4ZTk3YzcyCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZS5jcHAKQEAgLTAsMCArMSwxNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlLmgiCisKKyNpbmNsdWRlICJDb2xvclNlcmlhbGl6YXRpb24uaCIKKyNpbmNs
dWRlICJKU0RPTU1hcExpa2UuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFy
YXRpb24uaCIKKyNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRlICJTdHlsZVJ1
bGUuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIGZvbnRQYWxldHRlVmFsdWVzUnVsZSwg
Q1NTU3R5bGVTaGVldCogcGFyZW50KQorICAgIDogQ1NTUnVsZShwYXJlbnQpCisgICAgLCBtX2Zv
bnRQYWxldHRlVmFsdWVzUnVsZShmb250UGFsZXR0ZVZhbHVlc1J1bGUpCit7Cit9CisKK0NTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6fkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgpCit7Cit9CisK
K3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5n
LCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCit7CisgICAgLy8gRklYTUU6IE1ha2Ugc3VyZSB0
aGlzIGFjdHVhbGx5IHdvcmtzCisgICAgQ1NTUGFyc2VyQ29udGV4dCBjb250ZXh0KEhUTUxTdGFu
ZGFyZE1vZGUpOworICAgIGNvbnRleHQuZW5jbG9zaW5nUnVsZVR5cGUgPSBTdHlsZVJ1bGVUeXBl
OjpGb250UGFsZXR0ZVZhbHVlczsKKyAgICByZXR1cm4gQ1NTUGFyc2VyOjpwYXJzZVNpbmdsZVZh
bHVlKHByb3BlcnR5SUQsIHN0cmluZywgY29udGV4dCk7Cit9CisKK1N0cmluZyBDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGU6OmZvbnRGYW1pbHkoKSBjb25zdAoreworICAgIHJldHVybiBtX2ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS0+Zm9udEZhbWlseSgpOworfQorCitTdHJpbmcgQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpiYXNlUGFsZXR0ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFdURjo6c3dp
dGNoT24obV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmJhc2VQYWxldHRlKCksIFsmXShpbnQ2NF90
IGluZGV4KSB7CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKGluZGV4KTsKKyAgICB9LCBbJl0o
Y29uc3QgQXRvbVN0cmluZyYgYmFzZVBhbGV0dGUpIC0+IFN0cmluZyB7CisgICAgICAgIGlmICgh
YmFzZVBhbGV0dGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gYmFzZVBhbGV0dGUuc3Ry
aW5nKCk7CisgICAgICAgIHJldHVybiBTdHJpbmdJbXBsOjplbXB0eSgpOworICAgIH0pOworfQor
Cit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0Rm9udEZhbWlseShTdHJpbmcmJiBm
b250RmFtaWx5KQoreworICAgIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5zZXRGb250RmFtaWx5
KGZvbnRGYW1pbHkpOworfQorCit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0QmFz
ZVBhbGV0dGUoU3RyaW5nJiYgYmFzZVBhbGV0dGUpCit7CisgICAgYXV0byB2YWx1ZSA9IHBhcnNl
U3RyaW5nKGJhc2VQYWxldHRlLCBDU1NQcm9wZXJ0eUJhc2VQYWxldHRlKTsKKyAgICBpZiAoIXZh
bHVlKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvJiBwcmltaXRpdmVWYWx1ZSA9IGRvd25j
YXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpOworICAgIGlmIChwcmltaXRpdmVWYWx1ZS5p
c1N0cmluZygpKQorICAgICAgICBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+c2V0QmFzZVBhbGV0
dGUocHJpbWl0aXZlVmFsdWUuc3RyaW5nVmFsdWUoKSk7CisgICAgZWxzZSBpZiAocHJpbWl0aXZl
VmFsdWUuaXNOdW1iZXIoKSkKKyAgICAgICAgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPnNldEJh
c2VQYWxldHRlKHByaW1pdGl2ZVZhbHVlLnZhbHVlPGludDY0X3Q+KCkpOworfQorCit2b2lkIENT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6aW5pdGlhbGl6ZU1hcExpa2UoRE9NTWFwQWRhcHRlciYg
bWFwKQoreworICAgIGZvciAoYXV0byYgcGFpciA6IG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5v
dmVycmlkZUNvbG9yKCkpIHsKKyAgICAgICAgaWYgKCFXVEY6OmhvbGRzX2FsdGVybmF0aXZlPGlu
dDY0X3Q+KHBhaXIuZmlyc3QpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIG1hcC5z
ZXQ8SURMVW5zaWduZWRMb25nLCBJRExVU1ZTdHJpbmc+KFdURjo6Z2V0PGludDY0X3Q+KHBhaXIu
Zmlyc3QpLCBzZXJpYWxpemF0aW9uRm9yQ1NTKHBhaXIuc2Vjb25kKSk7CisgICAgfQorfQorCit2
b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0RnJvbU1hcExpa2UodW5zaWduZWQga2V5
LCBTdHJpbmcmJiB2YWx1ZSkKK3sKKyAgICByZW1vdmUoa2V5KTsKKworICAgIGF1dG8gY3NzVmFs
dWUgPSBwYXJzZVN0cmluZyhtYWtlU3RyaW5nKGtleSwgJyAnLCB2YWx1ZSksIENTU1Byb3BlcnR5
T3ZlcnJpZGVDb2xvcik7CisgICAgaWYgKCFjc3NWYWx1ZSB8fCAhaXM8Q1NTVmFsdWVMaXN0Pigq
Y3NzVmFsdWUpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvJiBsaXN0ID0gZG93bmNhc3Q8
Q1NTVmFsdWVMaXN0PigqY3NzVmFsdWUpOworICAgIEFTU0VSVChsaXN0Lmxlbmd0aCgpID09IDEp
OworICAgIGF1dG8mIGZpcnN0ID0gKmxpc3QuaXRlbSgwKTsKKyAgICBhdXRvJiBmb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSA9IGRvd25jYXN0PENTU0ZvbnRQYWxldHRlVmFsdWVz
T3ZlcnJpZGVDb2xvclZhbHVlPihmaXJzdCk7CisgICAgYXV0byYgY29sb3JWYWx1ZSA9IGZvbnRQ
YWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNvbG9yKCk7CisgICAgYXV0byYgY29sb3Ig
PSBjb2xvclZhbHVlLmNvbG9yKCk7CisgICAgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmFwcGVu
ZE92ZXJyaWRlQ29sb3IoRm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvciB7IGtleSwg
Q29sb3IoY29sb3IpIH0pOworfQorCit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y2xl
YXIoKQoreworICAgIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5jbGVhck92ZXJyaWRlQ29sb3Io
KTsKK30KKworYm9vbCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnJlbW92ZSh1bnNpZ25lZCBr
ZXkpCit7CisgICAgcmV0dXJuIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5yZW1vdmUoa2V5KTsK
K30KKworU3RyaW5nIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3NzVGV4dCgpIGNvbnN0Cit7
CisgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOworICAgIGJ1aWxkZXIuYXBwZW5kKCJAZm9udC1w
YWxldHRlLXZhbHVlcyAiLCBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+bmFtZSgpLCAiIHsgIik7
CisgICAgaWYgKCFtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+Zm9udEZhbWlseSgpLmlzTnVsbCgp
KQorICAgICAgICBidWlsZGVyLmFwcGVuZCgiZm9udC1mYW1pbHk6ICIsIG1fZm9udFBhbGV0dGVW
YWx1ZXNSdWxlLT5mb250RmFtaWx5KCksICI7ICIpOworICAgIFdURjo6c3dpdGNoT24obV9mb250
UGFsZXR0ZVZhbHVlc1J1bGUtPmJhc2VQYWxldHRlKCksIFsmXShpbnQ2NF90IGluZGV4KSB7Cisg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJiYXNlLXBhbGV0dGU6ICIsIGluZGV4LCAiOyAiKTsKKyAg
ICB9LCBbJl0oY29uc3QgQXRvbVN0cmluZyYgYmFzZVBhbGV0dGUpIHsKKyAgICAgICAgaWYgKCFi
YXNlUGFsZXR0ZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJiYXNlLXBh
bGV0dGU6ICIsIHNlcmlhbGl6ZVN0cmluZyhiYXNlUGFsZXR0ZS5zdHJpbmcoKSksICI7ICIpOwor
ICAgIH0pOworICAgIGlmICghbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29sb3Io
KS5pc0VtcHR5KCkpIHsKKyAgICAgICAgYnVpbGRlci5hcHBlbmQoIm92ZXJyaWRlLWNvbG9yOiIp
OworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxl
LT5vdmVycmlkZUNvbG9yKCkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlmIChpKQorICAg
ICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcsJyk7CisgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZCgnICcpOworICAgICAgICAgICAgV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVz
UnVsZS0+b3ZlcnJpZGVDb2xvcigpW2ldLmZpcnN0LCBbJl0oY29uc3QgQXRvbVN0cmluZyYgbmFt
ZSkgeworICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHNlcmlhbGl6ZVN0cmluZyhuYW1l
LnN0cmluZygpKSk7CisgICAgICAgICAgICB9LCBbJl0oaW50NjRfdCBpbmRleCkgeworICAgICAg
ICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKGluZGV4KTsKKyAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgYnVpbGRlci5hcHBlbmQoJyAnLCBzZXJpYWxpemF0aW9uRm9yQ1NTKG1fZm9udFBhbGV0
dGVWYWx1ZXNSdWxlLT5vdmVycmlkZUNvbG9yKClbaV0uc2Vjb25kKSk7CisgICAgICAgIH0KKyAg
ICAgICAgYnVpbGRlci5hcHBlbmQoIjsgIik7CisgICAgfQorICAgIGJ1aWxkZXIuYXBwZW5kKCJ9
Iik7CisgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKK30KKwordm9pZCBDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmIHJ1bGUpCit7CisgICAgbV9m
b250UGFsZXR0ZVZhbHVlc1J1bGUgPSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVGb250UGFsZXR0ZVZh
bHVlcyY+KHJ1bGUpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmFhZmY5NDBi
ZmEwNzllMjg4NGE0Nzc5MjRkMzRhMjVmY2NkNjE4ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaApAQCAtMCwwICsxLDY2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJDU1NSdWxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgQ1NTU3R5bGVEZWNsYXJhdGlvbjsKK2NsYXNzIERPTU1hcEFkYXB0ZXI7CitjbGFzcyBTdHls
ZVJ1bGVGb250RmFjZTsKK2NsYXNzIFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb247CisKK2Ns
YXNzIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBmaW5hbCA6IHB1YmxpYyBDU1NSdWxlIHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmPENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZT4gY3JlYXRlKFN0
eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJiBydWxlLCBDU1NTdHlsZVNoZWV0KiBzaGVldCkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUocnVsZSwgc2hlZXQp
KTsgfQorCisgICAgdmlydHVhbCB+Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKCk7CisKKyAgICBT
dHJpbmcgZm9udEZhbWlseSgpIGNvbnN0OworICAgIFN0cmluZyBiYXNlUGFsZXR0ZSgpIGNvbnN0
OworCisgICAgdm9pZCBzZXRGb250RmFtaWx5KFN0cmluZyYmKTsKKyAgICB2b2lkIHNldEJhc2VQ
YWxldHRlKFN0cmluZyYmKTsKKworICAgIHZvaWQgaW5pdGlhbGl6ZU1hcExpa2UoRE9NTWFwQWRh
cHRlciYpOworICAgIHZvaWQgc2V0RnJvbU1hcExpa2UodW5zaWduZWQga2V5LCBTdHJpbmcmJiB2
YWx1ZSk7CisgICAgdm9pZCBjbGVhcigpOworICAgIGJvb2wgcmVtb3ZlKHVuc2lnbmVkIGtleSk7
CisKK3ByaXZhdGU6CisgICAgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKFN0eWxlUnVsZUZvbnRQ
YWxldHRlVmFsdWVzJiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKKworICAgIENTU1J1bGU6OlR5
cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRTsg
fQorICAgIFN0cmluZyBjc3NUZXh0KCkgY29uc3QgZmluYWw7CisgICAgdm9pZCByZWF0dGFjaChT
dHlsZVJ1bGVCYXNlJikgZmluYWw7CisKKyAgICBSZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXM+IG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19SVUxFKENTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZSwgQ1NTUnVsZTo6Rk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTVmNjEy
MTcyMzI4ZTA5ZjczZWU1OTYwNzBkYmRkZDQ4MjI0MjU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGwKQEAgLTAsMCArMSwy
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgor
ICovCisKK3R5cGVkZWYgVVNWU3RyaW5nIENTU09NU3RyaW5nOworCitbCisgICAgRXhwb3NlZD1X
aW5kb3cKK10gaW50ZXJmYWNlIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSA6IENTU1J1bGUgewor
ICAgIG1hcGxpa2U8dW5zaWduZWQgbG9uZywgQ1NTT01TdHJpbmc+OworICAgIGF0dHJpYnV0ZSBD
U1NPTVN0cmluZyBmb250RmFtaWx5OworICAgIGF0dHJpYnV0ZSBDU1NPTVN0cmluZyBiYXNlUGFs
ZXR0ZTsKK307CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVz
Lmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCmluZGV4IGRjOGZj
NDE1NDM2NmU2ZTc1ODFlYWUwNGI0M2ViOTZjOTk1ZTE5YmMuLjYyOGUxN2I2MmY4NDZmN2UyN2Uw
NjU1YjM1MTBmZDdmODI5MzYyNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNv
bgpAQCAtNDA4NSw2ICs0MDg1LDI2IEBACiAgICAgICAgICAgICAgICAgInVybCI6ICJodHRwczov
L3d3dy53My5vcmcvVFIvY3NzLWZvbnRzLTMvI3NyYy1kZXNjIgogICAgICAgICAgICAgfQogICAg
ICAgICB9LAorICAgICAgICAiYmFzZS1wYWxldHRlIjogeworICAgICAgICAgICAgImNvZGVnZW4t
cHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZSwKKyAg
ICAgICAgICAgICAgICAiZGVzY3JpcHRvci1vbmx5IjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6
ICJjc3MtZm9udHMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1mb250cy00LyNiYXNlLXBhbGV0dGUtZGVzYyIKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfSwKKyAgICAgICAgIm92ZXJyaWRlLWNvbG9yIjogeworICAgICAgICAgICAgImNvZGVn
ZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAic2tpcC1idWlsZGVyIjogdHJ1ZSwK
KyAgICAgICAgICAgICAgICAiZGVzY3JpcHRvci1vbmx5IjogdHJ1ZQorICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogeworICAgICAgICAgICAgICAgICJjYXRlZ29y
eSI6ICJjc3MtZm9udHMiLAorICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1mb250cy00LyNvdmVycmlkZS1jb2xvciIKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfSwKICAgICAgICAgInN0b3AtY29sb3IiOiB7CiAgICAgICAgICAgICAiY29kZWdlbi1w
cm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICJjb252ZXJ0ZXIiOiAiU1ZHQ29sb3IiLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1J1bGUuY3BwCmluZGV4IDBmM2M0Mzk0ZDk1ZTIzNzA2ZTQ4ZjRlMjlhZmI0ODRm
YmZkYzM4MDIuLjRlYWRmZDdjNjExZjExNWJhYjljY2I0ZDg1MTI1OGUxODg3NWY2YjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5jcHAKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBM
YXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIg
KG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNSwgMjAwNiwgMjAw
NywgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDIgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwpAQCAtNDgsNiArNDgsNyBAQCBDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpL
ZXlmcmFtZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeQogQ09NUElM
RV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6TmFtZXNwYWNlID09IHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVR5cGU+KENTU1J1bGU6OlR5cGU6Ok5BTUVTUEFDRV9SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNo
KTsKIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZSA9PSBzdGF0aWNf
Y2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpDT1VOVEVSX1NUWUxFX1JVTEUpLCBl
bnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6U3VwcG9y
dHMgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6U1VQUE9SVFNf
UlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CitDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBl
OjpGb250UGFsZXR0ZVZhbHVlcyA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxl
OjpUeXBlOjpGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwog
CiBFeGNlcHRpb25Pcjx2b2lkPiBDU1NSdWxlOjpzZXRDc3NUZXh0KGNvbnN0IFN0cmluZyYpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1J1bGUuaAppbmRleCA3ZWZiM2ExN2JlNGI0MzExZDQ1MDYwMmNkNzE4MGI0MTYw
M2NmNzE0Li5lNzQ1OWZhZWUwNzgyNDUwNGYwMDc3MGMzNDVlMzA4MDRkNGI0NGFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NSdWxlLmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtu
b2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxs
ZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBBbmRyZWFzIEtsaW5nIChr
bGluZ0B3ZWJraXQub3JnKQogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTM4LDE5ICszOCwyMCBAQCBwdWJsaWM6
CiAKICAgICAvLyBXZWJJREwgZW51bQogICAgIGVudW0gVHlwZSB7Ci0gICAgICAgIFVOS05PV05f
UlVMRSwKLSAgICAgICAgU1RZTEVfUlVMRSwKLSAgICAgICAgQ0hBUlNFVF9SVUxFLAotICAgICAg
ICBJTVBPUlRfUlVMRSwKLSAgICAgICAgTUVESUFfUlVMRSwKLSAgICAgICAgRk9OVF9GQUNFX1JV
TEUsCi0gICAgICAgIFBBR0VfUlVMRSwKLSAgICAgICAgS0VZRlJBTUVTX1JVTEUsCi0gICAgICAg
IEtFWUZSQU1FX1JVTEUsCi0gICAgICAgIE1BUkdJTl9SVUxFLAotICAgICAgICBOQU1FU1BBQ0Vf
UlVMRSwKLSAgICAgICAgQ09VTlRFUl9TVFlMRV9SVUxFLAotICAgICAgICBTVVBQT1JUU19SVUxF
CisgICAgICAgIFVOS05PV05fUlVMRSA9IDAsCisgICAgICAgIFNUWUxFX1JVTEUgPSAxLAorICAg
ICAgICBDSEFSU0VUX1JVTEUgPSAyLAorICAgICAgICBJTVBPUlRfUlVMRSA9IDMsCisgICAgICAg
IE1FRElBX1JVTEUgPSA0LAorICAgICAgICBGT05UX0ZBQ0VfUlVMRSA9IDUsCisgICAgICAgIFBB
R0VfUlVMRSA9IDYsCisgICAgICAgIEtFWUZSQU1FU19SVUxFID0gNywKKyAgICAgICAgS0VZRlJB
TUVfUlVMRSA9IDgsCisgICAgICAgIE1BUkdJTl9SVUxFID0gOSwKKyAgICAgICAgTkFNRVNQQUNF
X1JVTEUgPSAxMCwKKyAgICAgICAgQ09VTlRFUl9TVFlMRV9SVUxFID0gMTEsCisgICAgICAgIFNV
UFBPUlRTX1JVTEUgPSAxMiwKKyAgICAgICAgRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFID0gMTkg
Ly8gaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzY2MjMKICAgICB9
OwogCiAgICAgZW51bSBEZXByZWNhdGVkVHlwZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKaW5kZXgg
ZjNlNjYxMzdkNzYzNzMwYzM3ZjAyM2ExNjMzZTMyZWY4MjUwZWI1Ni4uYTU4OGFiZTRmNjk0NjUz
Y2ZmMTMzMGYxZDA3ZTQ2MmE5YjI3OWJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1J1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8
c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtNDQsNiArNDQsNyBAQAogICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IE5BTUVTUEFDRV9SVUxFID0gMTA7CiAgICAgW0VuYWJsZWRC
eVNldHRpbmc9Q1NTQ291bnRlclN0eWxlQXRSdWxlc10gY29uc3QgdW5zaWduZWQgc2hvcnQgQ09V
TlRFUl9TVFlMRV9SVUxFID0gMTE7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1VQUE9SVFNf
UlVMRSA9IDEyOworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEZPTlRfUEFMRVRURV9WQUxVRVNf
UlVMRSA9IDE5OyAvKiBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMv
NjYyMyAqLwogCiAgICAgLy8gTGVnYWN5IHN5bm9ueW1zIGZvciB0aGUgYWJvdmUsIGtlcHQgdG8g
YXZvaWQgYnJlYWtpbmcgZXhpc3RpbmcgY29udGVudC4KICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBXRUJLSVRfS0VZRlJBTUVTX1JVTEUgPSA3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKaW5kZXgg
ODczNjlhYjBkYjUyZjBhMmU4YTNiYTJjMDM5NTM2MDRjNDRkMTdlMi4uMTljYjczZWZlZDNkY2I4
MDYwNzQyMTA5NjRkZWQ4NDZjNjA1NTVmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC0x
LDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBBbmRyZWFzIEtsaW5nIChrbGlu
Z0B3ZWJraXQub3JnKQogICogQ29weXJpZ2h0IChDKSAyMDEzIEFkb2JlIFN5c3RlbXMgSW5jb3Jw
b3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMzksNiArNDAsNyBAQAogI2luY2x1ZGUgIkNTU0ZpbHRlckltYWdlVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NGb250RmFjZVNyY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZlYXR1cmVW
YWx1ZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTRm9udFN0eWxlUmFuZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Zv
bnRTdHlsZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFZhbHVlLmgiCkBAIC0xNjQsNiArMTY2
LDggQEAgYm9vbCBDU1NWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ZhbHVlJiBvdGhlcikgY29uc3QK
ICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0ZvbnRWYWx1ZT4oKnRoaXMs
IG90aGVyKTsKICAgICAgICAgY2FzZSBGb250RmFjZVNyY0NsYXNzOgogICAgICAgICAgICAgcmV0
dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRm9udEZhY2VTcmNWYWx1ZT4oKnRoaXMsIG90aGVyKTsK
KyAgICAgICAgY2FzZSBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczoKKyAgICAg
ICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvclZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEZvbnRGZWF0dXJlQ2xh
c3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NGb250RmVhdHVyZVZh
bHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEZvbnRWYXJpYXRpb25DbGFzczoKQEAg
LTI2NCw2ICsyNjgsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9udFZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwog
ICAgIGNhc2UgRm9udEZhY2VTcmNDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0Zv
bnRGYWNlU3JjVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CisgICAgY2FzZSBGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENT
U0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4
dCgpOwogICAgIGNhc2UgRm9udEZlYXR1cmVDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0
PENTU0ZvbnRGZWF0dXJlVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBG
b250VmFyaWF0aW9uQ2xhc3M6CkBAIC0zNzcsNiArMzgzLDkgQEAgdm9pZCBDU1NWYWx1ZTo6ZGVz
dHJveSgpCiAgICAgY2FzZSBGb250RmFjZVNyY0NsYXNzOgogICAgICAgICBkZWxldGUgZG93bmNh
c3Q8Q1NTRm9udEZhY2VTcmNWYWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNl
IEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvckNsYXNzOgorICAgICAgICBkZWxldGUgZG93
bmNhc3Q8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+KHRoaXMpOworICAg
ICAgICByZXR1cm47CiAgICAgY2FzZSBGb250RmVhdHVyZUNsYXNzOgogICAgICAgICBkZWxldGUg
ZG93bmNhc3Q8Q1NTRm9udEZlYXR1cmVWYWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmgKaW5kZXggMjNlYjVlYzM4Y2NlOTY5MGU1ZDhhYjQ0YjU2NTI0NWY4NzJk
OTA1ZC4uYjMxYzk5MjBlYTQzMTc2ODkwYjIwOTZhZWZiODlhMGZiN2NmM2YxZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtu
b2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAy
MDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAwNCAtIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCkBAIC05Nyw2ICs5Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzRm9udEZlYXR1
cmVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRGZWF0dXJlQ2xhc3M7
IH0KICAgICBib29sIGlzRm9udFZhcmlhdGlvblZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFz
c1R5cGUgPT0gRm9udFZhcmlhdGlvbkNsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRGYWNlU3JjVmFs
dWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250RmFjZVNyY0NsYXNzOyB9Cisg
ICAgYm9vbCBpc0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3M7
IH0KICAgICBib29sIGlzRm9udFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0g
Rm9udENsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRTdHlsZVZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gRm9udFN0eWxlQ2xhc3M7IH0KICAgICBib29sIGlzRm9udFN0eWxlUmFu
Z2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRTdHlsZVJhbmdlQ2xh
c3M7IH0KQEAgLTE4Nyw2ICsxODgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEZvbnRTdHlsZUNs
YXNzLAogICAgICAgICBGb250U3R5bGVSYW5nZUNsYXNzLAogICAgICAgICBGb250RmFjZVNyY0Ns
YXNzLAorICAgICAgICBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzcywKICAgICAg
ICAgRnVuY3Rpb25DbGFzcywKIAogICAgICAgICBJbmhlcml0ZWRDbGFzcywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUnVsZS5jcHAKaW5kZXggNGIxNWMwOTQ5ODk5YmJlM2RlZDk5MTRiZTliNmViMWU2NzgzMjVj
My4uYjE3MDhhNTgyNzNmY2MwMTYxYjljNTZkMTMwM2YwY2JkMDlhMmE2OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUnVsZS5jcHAKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJz
IEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11
ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjUsNiArMjUsNyBA
QAogI2luY2x1ZGUgIkNTU0NvdW50ZXJTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NEZWZlcnJl
ZFBhcnNlci5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZS5oIgogI2luY2x1ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKICNpbmNs
dWRlICJDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZXNSdWxlLmgiCkBA
IC03MCw2ICs3MSw5IEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBT
dHlsZVJ1bGVUeXBlOjpGb250RmFjZToKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PFN0eWxlUnVs
ZUZvbnRGYWNlPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgU3R5bGVSdWxlVHlw
ZTo6Rm9udFBhbGV0dGVWYWx1ZXM6CisgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxTdHlsZVJ1bGVG
b250UGFsZXR0ZVZhbHVlcz4odGhpcyk7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIFN0eWxl
UnVsZVR5cGU6Ok1lZGlhOgogICAgICAgICBkZWxldGUgZG93bmNhc3Q8U3R5bGVSdWxlTWVkaWE+
KHRoaXMpOwogICAgICAgICByZXR1cm47CkBAIC0xMTMsNiArMTE3LDggQEAgUmVmPFN0eWxlUnVs
ZUJhc2U+IFN0eWxlUnVsZUJhc2U6OmNvcHkoKSBjb25zdAogICAgICAgICByZXR1cm4gZG93bmNh
c3Q8U3R5bGVSdWxlUGFnZT4oKnRoaXMpLmNvcHkoKTsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OkZvbnRGYWNlOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8U3R5bGVSdWxlRm9udEZhY2U+KCp0
aGlzKS5jb3B5KCk7CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoK
KyAgICAgICAgcmV0dXJuIGRvd25jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPigqdGhp
cykuY29weSgpOwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TWVkaWE6CiAgICAgICAgIHJldHVy
biBkb3duY2FzdDxTdHlsZVJ1bGVNZWRpYT4oKnRoaXMpLmNvcHkoKTsKICAgICBjYXNlIFN0eWxl
UnVsZVR5cGU6OlN1cHBvcnRzOgpAQCAtMTQ5LDYgKzE1NSw5IEBAIFJlZjxDU1NSdWxlPiBTdHls
ZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIoQ1NTU3R5bGVTaGVldCogcGFyZW50U2hlZXQs
IENTU1J1CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZToKICAgICAgICAgcnVsZSA9
IENTU0ZvbnRGYWNlUnVsZTo6Y3JlYXRlKGRvd25jYXN0PFN0eWxlUnVsZUZvbnRGYWNlPihzZWxm
KSwgcGFyZW50U2hlZXQpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OkZvbnRQYWxldHRlVmFsdWVzOgorICAgICAgICBydWxlID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlOjpjcmVhdGUoZG93bmNhc3Q8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+KHNlbGYpLCBw
YXJlbnRTaGVldCk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TWVk
aWE6CiAgICAgICAgIHJ1bGUgPSBDU1NNZWRpYVJ1bGU6OmNyZWF0ZShkb3duY2FzdDxTdHlsZVJ1
bGVNZWRpYT4oc2VsZiksIHBhcmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7CkBAIC0zMTksNiAr
MzI4LDI0IEBAIE11dGFibGVTdHlsZVByb3BlcnRpZXMmIFN0eWxlUnVsZUZvbnRGYWNlOjptdXRh
YmxlUHJvcGVydGllcygpCiAgICAgcmV0dXJuIGRvd25jYXN0PE11dGFibGVTdHlsZVByb3BlcnRp
ZXM+KG1fcHJvcGVydGllcy5nZXQoKSk7CiB9CiAKK1N0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
OjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25z
dCBBdG9tU3RyaW5nJiBmb250RmFtaWx5LCBjb25zdCBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0
ZUluZGV4JiBiYXNlUGFsZXR0ZSwgVmVjdG9yPEZvbnRQYWxldHRlVmFsdWVzOjpPdmVycmlkZGVu
Q29sb3I+JiYgb3ZlcnJpZGVDb2xvcikKKyAgICA6IFN0eWxlUnVsZUJhc2UoU3R5bGVSdWxlVHlw
ZTo6Rm9udFBhbGV0dGVWYWx1ZXMpCisgICAgLCBtX25hbWUobmFtZSkKKyAgICAsIG1fZm9udEZh
bWlseShmb250RmFtaWx5KQorICAgICwgbV9mb250UGFsZXR0ZVZhbHVlcyhiYXNlUGFsZXR0ZSwg
V1RGTW92ZShvdmVycmlkZUNvbG9yKSkKK3sKK30KKworU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXM6OlN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFN0eWxlUnVsZUZvbnRQYWxldHRl
VmFsdWVzJiBvKQorICAgIDogU3R5bGVSdWxlQmFzZShvKQorICAgICwgbV9uYW1lKG8ubmFtZSgp
KQorICAgICwgbV9mb250RmFtaWx5KG8uZm9udEZhbWlseSgpKQorICAgICwgbV9mb250UGFsZXR0
ZVZhbHVlcyhvLm1fZm9udFBhbGV0dGVWYWx1ZXMpCit7Cit9CisKK1N0eWxlUnVsZUZvbnRQYWxl
dHRlVmFsdWVzOjp+U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoKSA9IGRlZmF1bHQ7CisKIERl
ZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0OjpEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdChjb25z
dCBDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgQ1NTRGVmZXJyZWRQYXJzZXImIHBhcnNlcikK
ICAgICA6IG1fcGFyc2VyKHBhcnNlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaAppbmRleCAxNTYy
Yzc5MjY3ZWE2NGQyMTcwMWI5ZGY3NTdjMDM1MjU5MGY5NzFiLi4yYmM5OTIyNzQ1YTYwYWNlZWI1
ZWNhNTJjNjY4ODE1YjIzYWQzMWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCkBAIC0xLDcgKzEs
NyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAq
IChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKQEAgLTIzLDYgKzIzLDcgQEAKIAogI2luY2x1ZGUgIkNTU1NlbGVjdG9y
TGlzdC5oIgogI2luY2x1ZGUgIkNvbXBpbGVkU2VsZWN0b3IuaCIKKyNpbmNsdWRlICJGb250UGFs
ZXR0ZVZhbHVlcy5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgogI2luY2x1ZGUgIlN0
eWxlUnVsZVR5cGUuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC01Miw2ICs1Myw3IEBA
IHB1YmxpYzoKICAgICBib29sIGlzQ2hhcnNldFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gU3R5bGVSdWxlVHlwZTo6Q2hhcnNldDsgfQogICAgIGJvb2wgaXNDb3VudGVyU3R5bGVSdWxl
KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZTsg
fQogICAgIGJvb2wgaXNGb250RmFjZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5
bGVSdWxlVHlwZTo6Rm9udEZhY2U7IH0KKyAgICBib29sIGlzRm9udFBhbGV0dGVWYWx1ZXNSdWxl
KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFs
dWVzOyB9CiAgICAgYm9vbCBpc0tleWZyYW1lc1J1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWVzOyB9CiAgICAgYm9vbCBpc0tleWZyYW1lUnVsZSgp
IGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZTsgfQogICAg
IGJvb2wgaXNOYW1lc3BhY2VSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVs
ZVR5cGU6Ok5hbWVzcGFjZTsgfQpAQCAtMTU1LDYgKzE1Nyw3OCBAQCBwcml2YXRlOgogICAgIFJl
ZjxTdHlsZVByb3BlcnRpZXM+IG1fcHJvcGVydGllczsKIH07CiAKK2NsYXNzIFN0eWxlUnVsZUZv
bnRQYWxldHRlVmFsdWVzIGZpbmFsIDogcHVibGljIFN0eWxlUnVsZUJhc2UgeworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IGNyZWF0ZShjb25zdCBB
dG9tU3RyaW5nJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBmb250RmFtaWx5LCBjb25zdCBGb250
UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSwgVmVjdG9yPEZvbnRQYWxl
dHRlVmFsdWVzOjpPdmVycmlkZGVuQ29sb3I+JiYgb3ZlcnJpZGVDb2xvcikgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhuYW1lLCBmb250RmFtaWx5LCBi
YXNlUGFsZXR0ZSwgV1RGTW92ZShvdmVycmlkZUNvbG9yKSkpOyB9CisgICAgCisgICAgflN0eWxl
UnVsZUZvbnRQYWxldHRlVmFsdWVzKCk7CisKKyAgICBjb25zdCBBdG9tU3RyaW5nJiBuYW1lKCkg
Y29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX25hbWU7CisgICAgfQorCisgICAgdm9pZCBz
ZXROYW1lKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUpCisgICAgeworICAgICAgICBtX25hbWUgPSBu
YW1lOworICAgIH0KKworICAgIGNvbnN0IEF0b21TdHJpbmcmIGZvbnRGYW1pbHkoKSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZm9udEZhbWlseTsKKyAgICB9CisKKyAgICB2b2lkIHNl
dEZvbnRGYW1pbHkoY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSkKKyAgICB7CisgICAgICAg
IG1fZm9udEZhbWlseSA9IGZvbnRGYW1pbHk7CisgICAgfQorCisgICAgY29uc3QgRm9udFBhbGV0
dGVWYWx1ZXMmIGZvbnRQYWxldHRlVmFsdWVzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biBtX2ZvbnRQYWxldHRlVmFsdWVzOworICAgIH0KKworICAgIGNvbnN0IEZvbnRQYWxldHRlVmFs
dWVzOjpQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJl
dHVybiBtX2ZvbnRQYWxldHRlVmFsdWVzLmJhc2VQYWxldHRlKCk7CisgICAgfQorCisgICAgdm9p
ZCBzZXRCYXNlUGFsZXR0ZShjb25zdCBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUluZGV4JiBi
YXNlUGFsZXR0ZSkKKyAgICB7CisgICAgICAgIG1fZm9udFBhbGV0dGVWYWx1ZXMuc2V0QmFzZVBh
bGV0dGUoYmFzZVBhbGV0dGUpOworICAgIH0KKworICAgIGNvbnN0IFZlY3RvcjxGb250UGFsZXR0
ZVZhbHVlczo6T3ZlcnJpZGRlbkNvbG9yPiYgb3ZlcnJpZGVDb2xvcigpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gbV9mb250UGFsZXR0ZVZhbHVlcy5vdmVycmlkZUNvbG9yKCk7CisgICAg
fQorCisgICAgdm9pZCBhcHBlbmRPdmVycmlkZUNvbG9yKEZvbnRQYWxldHRlVmFsdWVzOjpPdmVy
cmlkZGVuQ29sb3ImJiBvdmVycmlkZGVuQ29sb3IpCisgICAgeworICAgICAgICBtX2ZvbnRQYWxl
dHRlVmFsdWVzLmFwcGVuZE92ZXJyaWRlQ29sb3IoV1RGTW92ZShvdmVycmlkZGVuQ29sb3IpKTsK
KyAgICB9CisKKyAgICB2b2lkIGNsZWFyT3ZlcnJpZGVDb2xvcigpCisgICAgeworICAgICAgICBt
X2ZvbnRQYWxldHRlVmFsdWVzLmNsZWFyT3ZlcnJpZGVDb2xvcigpOworICAgIH0KKworICAgIGJv
b2wgcmVtb3ZlKHVuc2lnbmVkIGtleSkKKyAgICB7CisgICAgICAgIHJldHVybiBtX2ZvbnRQYWxl
dHRlVmFsdWVzLnJlbW92ZShrZXkpOworICAgIH0KKworICAgIFJlZjxTdHlsZVJ1bGVGb250UGFs
ZXR0ZVZhbHVlcz4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxl
Rm9udFBhbGV0dGVWYWx1ZXMoKnRoaXMpKTsgfQorCitwcml2YXRlOgorICAgIFN0eWxlUnVsZUZv
bnRQYWxldHRlVmFsdWVzKGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcm
IGZvbnRGYW1pbHksIGNvbnN0IEZvbnRQYWxldHRlVmFsdWVzOjpQYWxldHRlSW5kZXgmIGJhc2VQ
YWxldHRlLCBWZWN0b3I8Rm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4mJiBvdmVy
cmlkZUNvbG9yKTsKKyAgICBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBTdHlsZVJ1
bGVGb250UGFsZXR0ZVZhbHVlcyYpOworCisgICAgQXRvbVN0cmluZyBtX25hbWU7CisgICAgQXRv
bVN0cmluZyBtX2ZvbnRGYW1pbHk7CisgICAgRm9udFBhbGV0dGVWYWx1ZXMgbV9mb250UGFsZXR0
ZVZhbHVlczsKK307CisKIGNsYXNzIFN0eWxlUnVsZVBhZ2UgZmluYWwgOiBwdWJsaWMgU3R5bGVS
dWxlQmFzZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVQYWdlPiBjcmVhdGUo
UmVmPFN0eWxlUHJvcGVydGllcz4mJiwgQ1NTU2VsZWN0b3JMaXN0JiYpOwpAQCAtMzU3LDYgKzQz
MSwxMCBAQCBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZUZv
bnRGYWNlKQogICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1bGVC
YXNlJiBydWxlKSB7IHJldHVybiBydWxlLmlzRm9udEZhY2VSdWxlKCk7IH0KIFNQRUNJQUxJWkVf
VFlQRV9UUkFJVFNfRU5EKCkKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3Jl
OjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcykKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29u
c3QgV2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZSgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCisKIFNQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxlTWVkaWEpCiAgICAgc3Rh
dGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0
dXJuIHJ1bGUuaXNNZWRpYVJ1bGUoKTsgfQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmgKaW5kZXggYzllNTE4ZGJlNjFiNzM1YjZkN2ExYTdm
ZjYyNDNjZDk4MTVjYzViZC4uYzRmY2FhYjI1NTlkYjZhNWU5OTM5MWM2ZTAxNzU5OGQzYThjMmYz
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlVHlwZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTkgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsMTkgKzI4LDIxIEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gY2xhc3MgU3R5bGVSdWxlVHlwZSA6IHVpbnQ4X3Qgewot
ICAgIFVua25vd24sIC8vIE5vdCB1c2VkLgotICAgIFN0eWxlLAotICAgIENoYXJzZXQsIC8vIE5v
dCB1c2VkLiBUaGVzZSBhcmUgaW50ZXJuYWxseSBzdHJpbmdzIG93bmVkIGJ5IHRoZSBzdHlsZSBz
aGVldC4KLSAgICBJbXBvcnQsCi0gICAgTWVkaWEsCi0gICAgRm9udEZhY2UsCi0gICAgUGFnZSwK
LSAgICBLZXlmcmFtZXMsCi0gICAgS2V5ZnJhbWUsIC8vIE5vdCB1c2VkLiBUaGVzZSBhcmUgaW50
ZXJuYWxseSBub24tcnVsZSBTdHlsZVJ1bGVLZXlmcmFtZSBvYmplY3RzLgorICAgIFVua25vd24g
PSAwLCAvLyBOb3QgdXNlZC4KKyAgICBTdHlsZSA9IDEsCisgICAgQ2hhcnNldCA9IDIsIC8vIE5v
dCB1c2VkLiBUaGVzZSBhcmUgaW50ZXJuYWxseSBzdHJpbmdzIG93bmVkIGJ5IHRoZSBzdHlsZSBz
aGVldC4KKyAgICBJbXBvcnQgPSAzLAorICAgIE1lZGlhID0gNCwKKyAgICBGb250RmFjZSA9IDUs
CisgICAgUGFnZSA9IDYsCisgICAgS2V5ZnJhbWVzID0gNywKKyAgICBLZXlmcmFtZSA9IDgsIC8v
IE5vdCB1c2VkLiBUaGVzZSBhcmUgaW50ZXJuYWxseSBub24tcnVsZSBTdHlsZVJ1bGVLZXlmcmFt
ZSBvYmplY3RzLgorICAgIC8vIE1hcmdpbiA9IDksIEZJWE1FOiBXaHkgaXMgdGhpcyBtaXNzaW5n
PwogICAgIE5hbWVzcGFjZSA9IDEwLAogICAgIENvdW50ZXJTdHlsZSA9IDExLAogICAgIFN1cHBv
cnRzID0gMTIsCi0gICAgTGF5ZXIgPSAxMywKKyAgICBGb250UGFsZXR0ZVZhbHVlcyA9IDE5LCAv
LyBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjYyMworICAgIExh
eWVyID0gMjAKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlU2hlZXRDb250ZW50cy5jcHAKaW5kZXggMzI4NDk3NDg1MzVhMGQ3NjQ2OTAzMDczY2My
NGRjMTg2NmRiMDRjZS4uYTZlOTcxYzYyNjM2NmJiYTAwZTdkNWVlZDhkNTIzMGU3ODYzZWM5ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKQEAgLTEsNiArMSw2
IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICog
Q29weXJpZ2h0IChDKSAyMDA0LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC00MzYsNiArNDM2LDcgQEAgc3RhdGljIGJvb2wgdHJh
dmVyc2VSdWxlc0luVmVjdG9yKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiBy
dWxlcywgY28KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OlN0eWxlOgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOgorICAgICAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOgogICAgICAgICBjYXNlIFN0eWxl
UnVsZVR5cGU6OlBhZ2U6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWVzOgog
ICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok5hbWVzcGFjZToKQEAgLTQ4Niw2ICs0ODcsNyBA
QCBib29sIFN0eWxlU2hlZXRDb250ZW50czo6dHJhdmVyc2VTdWJyZXNvdXJjZXMoY29uc3QgV1RG
OjpGdW5jdGlvbjxib29sIChjb25zdCBDYQogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Oktl
eWZyYW1lOgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlN1cHBvcnRzOgogICAgICAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6OkxheWVyOgorICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZv
bnRQYWxldHRlVmFsdWVzOgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9Owog
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NBdFJ1bGVJRC5jcHAKaW5kZXggMDgyNTcyMzhjOGIzNThlNTNiZmEyN2UyYWI2YmVjY2Q1YTZk
MmU5OS4uOWNlMzUxZDE2YmE4NzE1MjY1MGUzZWI0NjAzZGFmNjI0NDEzMGM2YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAKQEAgLTEsNSArMSw1IEBACiAvLyBD
b3B5cmlnaHQgMjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LS8vIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBDb3B5cmlnaHQgKEMpIDIwMTYgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM4LDYgKzM4LDggQEAg
Q1NTQXRSdWxlSUQgY3NzQXRSdWxlSUQoU3RyaW5nVmlldyBuYW1lKQogICAgICAgICByZXR1cm4g
Q1NTQXRSdWxlQ2hhcnNldDsKICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAi
Zm9udC1mYWNlIikpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVGb250RmFjZTsKKyAgICBpZiAo
ZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiZm9udC1wYWxldHRlLXZhbHVlcyIpKQorICAg
ICAgICByZXR1cm4gQ1NTQXRSdWxlRm9udFBhbGV0dGVWYWx1ZXM7CiAgICAgaWYgKGVxdWFsSWdu
b3JpbmdBU0NJSUNhc2UobmFtZSwgImltcG9ydCIpKQogICAgICAgICByZXR1cm4gQ1NTQXRSdWxl
SW1wb3J0OwogICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG5hbWUsICJrZXlmcmFtZXMi
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaAppbmRleCAzMzBmNmNiZTJl
MjViM2RjY2YwZTcyOWU0NDg5OWYxODk0MTVhN2JlLi41ZTRkNDM1MzMyZDYxMjNjNzFiYjhkM2Mz
YzI1M2FiNzcxMzI5ZjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U0F0UnVsZUlELmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5o
CkBAIC0xLDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTUgVGhlIENocm9taXVtIEF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAyMDE2IC0gMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCkBAIC00OSw2ICs0OSw4IEBAIGVudW0gQ1NTQXRSdWxlSUQgewogICAgIENTU0F0UnVsZUFw
cGx5ID0gMTEsCiAgICAgQ1NTQXRSdWxlQ291bnRlclN0eWxlID0gMTIsCiAgICAgQ1NTQXRSdWxl
TGF5ZXIgPSAxMywKKworICAgIENTU0F0UnVsZUZvbnRQYWxldHRlVmFsdWVzID0gMTQsCiB9Owog
CiBDU1NBdFJ1bGVJRCBjc3NBdFJ1bGVJRChTdHJpbmdWaWV3IG5hbWUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKaW5kZXggZTViNzQzMDJlMGNlNGM1YWJk
NjE2ZWM0NTcxYjYyYzRmZmM3ZTUxOS4uOTBkMDllZDM5YTE2MWE2N2YwNDdjMjI0M2QxM2UxMGE2
MWFjODRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3Bw
CkBAIC0xLDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0eWxlUnVsZS5o
IgogI2luY2x1ZGUgIkNTU0N1c3RvbVByb3BlcnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NEZWZl
cnJlZFBhcnNlci5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xv
clZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5
ZnJhbWVzUnVsZS5oIgogI2luY2x1ZGUgIkNTU1BhcnNlck9ic2VydmVyLmgiCkBAIC00Nyw2ICs0
OCw3IEBACiAjaW5jbHVkZSAiQ1NTVmFyaWFibGVQYXJzZXIuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJGb250UGFsZXR0ZVZhbHVlcy5o
IgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJzZXIuaCIK
ICNpbmNsdWRlICJNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dC5oIgpAQCAtNDQ1LDYgKzQ0Nyw4IEBA
IFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lQXRSdWxlKENTU1Bh
cnNlclRva2VuUmFuZ2UmIHJhbmdlLCBBCiAgICAgICAgIHJldHVybiBjb25zdW1lU3VwcG9ydHNS
dWxlKHByZWx1ZGUsIGJsb2NrKTsKICAgICBjYXNlIENTU0F0UnVsZUZvbnRGYWNlOgogICAgICAg
ICByZXR1cm4gY29uc3VtZUZvbnRGYWNlUnVsZShwcmVsdWRlLCBibG9jayk7CisgICAgY2FzZSBD
U1NBdFJ1bGVGb250UGFsZXR0ZVZhbHVlczoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVGb250UGFs
ZXR0ZVZhbHVlc1J1bGUocHJlbHVkZSwgYmxvY2spOwogICAgIGNhc2UgQ1NTQXRSdWxlV2Via2l0
S2V5ZnJhbWVzOgogICAgICAgICByZXR1cm4gY29uc3VtZUtleWZyYW1lc1J1bGUodHJ1ZSwgcHJl
bHVkZSwgYmxvY2spOwogICAgIGNhc2UgQ1NTQXRSdWxlS2V5ZnJhbWVzOgpAQCAtNjUyLDYgKzY1
Niw1NSBAQCBSZWZQdHI8U3R5bGVSdWxlRm9udEZhY2U+IENTU1BhcnNlckltcGw6OmNvbnN1bWVG
b250RmFjZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZQogICAgIHJldHVybiBTdHlsZVJ1bGVGb250
RmFjZTo6Y3JlYXRlKGNyZWF0ZVN0eWxlUHJvcGVydGllcyhtX3BhcnNlZFByb3BlcnRpZXMsIG1f
Y29udGV4dC5tb2RlKSk7CiB9CiAKK1JlZlB0cjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4g
Q1NTUGFyc2VySW1wbDo6Y29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZShDU1NQYXJzZXJUb2tl
blJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spCit7CisgICAgYXV0byBu
YW1lID0gQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lQ3VzdG9tSWRlbnQocHJlbHVk
ZSk7CisgICAgaWYgKCFuYW1lIHx8ICFwcmVsdWRlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOyAvLyBQYXJzZSBlcnJvcjsgZXhwZWN0ZWQgY3VzdG9tIGlkZW50IGluIEBmb250LXBh
bGV0dGUtdmFsdWVzIGhlYWRlcgorCisgICAgaWYgKG1fb2JzZXJ2ZXJXcmFwcGVyKSB7CisgICAg
ICAgIHVuc2lnbmVkIGVuZE9mZnNldCA9IG1fb2JzZXJ2ZXJXcmFwcGVyLT5lbmRPZmZzZXQocHJl
bHVkZSk7CisgICAgICAgIG1fb2JzZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigpLnN0YXJ0UnVsZUhl
YWRlcihTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcywgbV9vYnNlcnZlcldyYXBwZXIt
PnN0YXJ0T2Zmc2V0KHByZWx1ZGUpKTsKKyAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2Vy
dmVyKCkuZW5kUnVsZUhlYWRlcihlbmRPZmZzZXQpOworICAgICAgICBtX29ic2VydmVyV3JhcHBl
ci0+b2JzZXJ2ZXIoKS5zdGFydFJ1bGVCb2R5KGVuZE9mZnNldCk7CisgICAgICAgIG1fb2JzZXJ2
ZXJXcmFwcGVyLT5vYnNlcnZlcigpLmVuZFJ1bGVCb2R5KGVuZE9mZnNldCk7CisgICAgfQorCisg
ICAgY29uc3VtZURlY2xhcmF0aW9uTGlzdChibG9jaywgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0
dGVWYWx1ZXMpOworICAgIGF1dG8gcHJvcGVydGllcyA9IGNyZWF0ZVN0eWxlUHJvcGVydGllcyht
X3BhcnNlZFByb3BlcnRpZXMsIG1fY29udGV4dC5tb2RlKTsKKworICAgIEF0b21TdHJpbmcgZm9u
dEZhbWlseTsKKyAgICBpZiAoYXV0byBmb250RmFtaWx5VmFsdWUgPSBwcm9wZXJ0aWVzLT5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udEZhbWlseSkpCisgICAgICAgIGZvbnRGYW1p
bHkgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKmZvbnRGYW1pbHlWYWx1ZSkuZm9udEZh
bWlseSgpLmZhbWlseU5hbWU7CisKKyAgICBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUluZGV4
IGJhc2VQYWxldHRlKG51bGxBdG9tKCkpOworICAgIGlmIChhdXRvIGJhc2VQYWxldHRlVmFsdWUg
PSBwcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5QmFzZVBhbGV0dGUp
KSB7CisgICAgICAgIGNvbnN0IGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWU+KCpiYXNlUGFsZXR0ZVZhbHVlKTsKKyAgICAgICAgaWYgKHByaW1pdGl2ZVZh
bHVlLmlzU3RyaW5nKCkpCisgICAgICAgICAgICBiYXNlUGFsZXR0ZSA9IHByaW1pdGl2ZVZhbHVl
LnN0cmluZ1ZhbHVlKCk7CisgICAgICAgIGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTnVtYmVy
KCkpCisgICAgICAgICAgICBiYXNlUGFsZXR0ZSA9IHByaW1pdGl2ZVZhbHVlLnZhbHVlPGludDY0
X3Q+KCk7CisgICAgfQorCisgICAgVmVjdG9yPEZvbnRQYWxldHRlVmFsdWVzOjpPdmVycmlkZGVu
Q29sb3I+IG92ZXJyaWRlQ29sb3I7CisgICAgaWYgKGF1dG8gb3ZlcnJpZGVDb2xvclZhbHVlID0g
cHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eU92ZXJyaWRlQ29sb3Ip
KSB7CisgICAgICAgIGNvbnN0IGF1dG8mIGxpc3QgPSBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCpv
dmVycmlkZUNvbG9yVmFsdWUpOworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGl0ZW0gOiBsaXN0
KSB7CisgICAgICAgICAgICBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUNvbG9ySW5kZXgga2V5
KG51bGxBdG9tKCkpOworICAgICAgICAgICAgY29uc3QgYXV0byYgcGFpciA9IGRvd25jYXN0PENT
U0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPihpdGVtLmdldCgpKTsKKyAgICAg
ICAgICAgIGlmIChwYWlyLmtleSgpLmlzU3RyaW5nKCkpCisgICAgICAgICAgICAgICAga2V5ID0g
cGFpci5rZXkoKS5zdHJpbmdWYWx1ZSgpOworICAgICAgICAgICAgZWxzZSBpZiAocGFpci5rZXko
KS5pc051bWJlcigpKQorICAgICAgICAgICAgICAgIGtleSA9IHBhaXIua2V5KCkudmFsdWU8aW50
NjRfdD4oKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgIG92ZXJyaWRlQ29sb3IuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGtleSwgcGFpci5j
b2xvcigpLmNvbG9yKCkpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBTdHlsZVJ1
bGVGb250UGFsZXR0ZVZhbHVlczo6Y3JlYXRlKG5hbWUtPnN0cmluZ1ZhbHVlKCksIGZvbnRGYW1p
bHksIGJhc2VQYWxldHRlLCBXVEZNb3ZlKG92ZXJyaWRlQ29sb3IpKTsKK30KKwogUmVmUHRyPFN0
eWxlUnVsZUtleWZyYW1lcz4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZUtleWZyYW1lc1J1bGUoYm9v
bCB3ZWJraXRQcmVmaXhlZCwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJU
b2tlblJhbmdlIGJsb2NrKQogewogICAgIENTU1BhcnNlclRva2VuUmFuZ2UgcmFuZ2VDb3B5ID0g
cHJlbHVkZTsgLy8gRm9yIGluc3BlY3RvciBjYWxsYmFja3MKQEAgLTk2MSw3ICsxMDE0LDcgQEAg
dm9pZCBDU1NQYXJzZXJJbXBsOjpjb25zdW1lRGVjbGFyYXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5n
ZSByYW5nZSwgU3R5bGVSdWxlVHlwZQogICAgICAgICBjb25zdW1lQ3VzdG9tUHJvcGVydHlWYWx1
ZShyYW5nZS5tYWtlU3ViUmFuZ2UoJnJhbmdlLnBlZWsoKSwgZGVjbGFyYXRpb25WYWx1ZUVuZCks
IHZhcmlhYmxlTmFtZSwgaW1wb3J0YW50KTsKICAgICB9CiAKLSAgICBpZiAoaW1wb3J0YW50ICYm
IChydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZSB8fCBydWxlVHlwZSA9PSBTdHls
ZVJ1bGVUeXBlOjpLZXlmcmFtZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3VudGVy
U3R5bGUpKQorICAgIGlmIChpbXBvcnRhbnQgJiYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6
OkZvbnRGYWNlIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lIHx8IHJ1bGVU
eXBlID09IFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1
bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcykpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChw
cm9wZXJ0eUlEICE9IENTU1Byb3BlcnR5SW52YWxpZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJbXBsLmgKaW5kZXggMTZjNGMzZDE5ZjUwOGMxMDIxZjUxYjRjMzViNzQwNTlk
ZTUwNDU0Ny4uZTI1ZmU1ZTJhNzUyOGNhYjQzNGE5ZWViODZhOGQxY2Q3YWZhYTNhZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmgKQEAgLTEsNSArMSw1IEBACiAv
LyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIENvcHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTUxLDYgKzUx
LDcgQEAgY2xhc3MgU3R5bGVSdWxlOwogY2xhc3MgU3R5bGVSdWxlQmFzZTsKIGNsYXNzIFN0eWxl
UnVsZUNoYXJzZXQ7CiBjbGFzcyBTdHlsZVJ1bGVGb250RmFjZTsKK2NsYXNzIFN0eWxlUnVsZUZv
bnRQYWxldHRlVmFsdWVzOwogY2xhc3MgU3R5bGVSdWxlSW1wb3J0OwogY2xhc3MgU3R5bGVSdWxl
S2V5ZnJhbWVzOwogY2xhc3MgU3R5bGVSdWxlTGF5ZXI7CkBAIC0xMzMsNiArMTM0LDcgQEAgcHJp
dmF0ZToKICAgICBSZWZQdHI8U3R5bGVSdWxlU3VwcG9ydHM+IGNvbnN1bWVTdXBwb3J0c1J1bGUo
Q1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsK
ICAgICBSZWZQdHI8U3R5bGVSdWxlVmlld3BvcnQ+IGNvbnN1bWVWaWV3cG9ydFJ1bGUoQ1NTUGFy
c2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBS
ZWZQdHI8U3R5bGVSdWxlRm9udEZhY2U+IGNvbnN1bWVGb250RmFjZVJ1bGUoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKKyAgICBSZWZQdHI8
U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IGNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUo
Q1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsK
ICAgICBSZWZQdHI8U3R5bGVSdWxlS2V5ZnJhbWVzPiBjb25zdW1lS2V5ZnJhbWVzUnVsZShib29s
IHdlYmtpdFByZWZpeGVkLCBDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRv
a2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxTdHlsZVJ1bGVQYWdlPiBjb25zdW1lUGFnZVJ1
bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2Nr
KTsKICAgICBSZWZQdHI8U3R5bGVSdWxlQ291bnRlclN0eWxlPiBjb25zdW1lQ291bnRlclN0eWxl
UnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxv
Y2spOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNw
cAppbmRleCAwNmFhZTU1ZmE4NzhhZmQ4OGNhOWRjNmUzNmU1MTQ5YjgxYjlkNDAyLi5lZDMyNGQ5
NGJhOTUzYTVlMDk4YjNmZTQ2ZmFiYWRkMjM3MzI5MWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2lu
Y2x1ZGUgIkNTU0N1c3RvbVByb3BlcnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNy
Y1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZlYXR1cmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNT
U0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmgiCiAjaWYgRU5BQkxFKFZBUklB
VElPTl9GT05UUykKICNpbmNsdWRlICJDU1NGb250VmFyaWF0aW9uVmFsdWUuaCIKICNlbmRpZgpA
QCAtMjMzLDYgKzIzNCw4IEBAIGJvb2wgQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWUoQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0eUlELCBib29sIGltcG9ydGFudCwgY29uCiAKICAgICBpZiAocnVs
ZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2UpCiAgICAgICAgIHBhcnNlU3VjY2VzcyA9
IHBhcnNlci5wYXJzZUZvbnRGYWNlRGVzY3JpcHRvcihwcm9wZXJ0eUlEKTsKKyAgICBlbHNlIGlm
IChydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcykKKyAgICAgICAg
cGFyc2VTdWNjZXNzID0gcGFyc2VyLnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKHBy
b3BlcnR5SUQpOwogICAgIGVsc2UgaWYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkNvdW50
ZXJTdHlsZSkKICAgICAgICAgcGFyc2VTdWNjZXNzID0gcGFyc2VyLnBhcnNlQ291bnRlclN0eWxl
RGVzY3JpcHRvcihwcm9wZXJ0eUlELCBjb250ZXh0KTsKICAgICBlbHNlCkBAIC00ODM0LDYgKzQ4
MzcsNjMgQEAgYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VGb250RmFjZURlc2NyaXB0b3Io
Q1NTUHJvcGVydHlJRCBwcm9wSWQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBSZWZQ
dHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVCYXNlUGFsZXR0ZURlc2NyaXB0b3IoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgPT0g
U3RyaW5nVG9rZW4pCisgICAgICAgIHJldHVybiBjb25zdW1lU3RyaW5nKHJhbmdlKTsKKyAgICBy
ZXR1cm4gY29uc3VtZUludGVnZXIocmFuZ2UpOworfQorCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVl
TGlzdD4gY29uc3VtZU92ZXJyaWRlQ29sb3JEZXNjcmlwdG9yKENTU1BhcnNlclRva2VuUmFuZ2Um
IHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIFJlZlB0cjxD
U1NWYWx1ZUxpc3Q+IGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7
CisgICAgZG8geworICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGtleTsKKyAgICAg
ICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgPT0gU3RyaW5nVG9rZW4pCisgICAgICAgICAgICBr
ZXkgPSBjb25zdW1lU3RyaW5nKHJhbmdlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAga2V5
ID0gY29uc3VtZUludGVnZXIocmFuZ2UpOworICAgICAgICBpZiAoIWtleSkKKyAgICAgICAgICAg
IHJldHVybiBudWxscHRyOworCisgICAgICAgIGF1dG8gY29sb3IgPSBjb25zdW1lQ29sb3IocmFu
Z2UsIGNvbnRleHQpOworICAgICAgICBpZiAoIWNvbG9yKQorICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICAgICAgUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSA9IENTU0ZvbnRQYWxldHRl
VmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlOjpjcmVhdGUoa2V5LnJlbGVhc2VOb25OdWxsKCksIGNv
bG9yLnJlbGVhc2VOb25OdWxsKCkpOworICAgICAgICBsaXN0LT5hcHBlbmQodmFsdWUucmVsZWFz
ZU5vbk51bGwoKSk7CisgICAgfSB3aGlsZSAoY29uc3VtZUNvbW1hSW5jbHVkaW5nV2hpdGVzcGFj
ZShyYW5nZSkpOworICAgIAorICAgIGlmICghcmFuZ2UuYXRFbmQoKSB8fCAhbGlzdC0+bGVuZ3Ro
KCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJuIGxpc3Q7Cit9CisKK2Jv
b2wgQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKENT
U1Byb3BlcnR5SUQgcHJvcElkKQoreworICAgIFJlZlB0cjxDU1NWYWx1ZT4gcGFyc2VkVmFsdWU7
CisgICAgc3dpdGNoIChwcm9wSWQpIHsKKyAgICBjYXNlIENTU1Byb3BlcnR5Rm9udEZhbWlseToK
KyAgICAgICAgcGFyc2VkVmFsdWUgPSBjb25zdW1lRmFtaWx5TmFtZShtX3JhbmdlKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUJhc2VQYWxldHRlOgorICAgICAgICBwYXJz
ZWRWYWx1ZSA9IGNvbnN1bWVCYXNlUGFsZXR0ZURlc2NyaXB0b3IobV9yYW5nZSk7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlPdmVycmlkZUNvbG9yOgorICAgICAgICBwYXJz
ZWRWYWx1ZSA9IGNvbnN1bWVPdmVycmlkZUNvbG9yRGVzY3JpcHRvcihtX3JhbmdlLCBtX2NvbnRl
eHQpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9
CisKKyAgICBpZiAoIXBhcnNlZFZhbHVlIHx8ICFtX3JhbmdlLmF0RW5kKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGFkZFByb3BlcnR5KHByb3BJZCwgQ1NTUHJvcGVydHlJbnZhbGlk
LCAqcGFyc2VkVmFsdWUsIGZhbHNlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDU1NQ
cm9wZXJ0eVBhcnNlcjo6Y29uc3VtZVN5c3RlbUZvbnQoYm9vbCBpbXBvcnRhbnQpCiB7CiAgICAg
Q1NTVmFsdWVJRCBzeXN0ZW1Gb250SUQgPSBtX3JhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNw
YWNlKCkuaWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXIuaAppbmRleCAyN2FjMzU5MzdjYzJmYTVhYzdjMmYyMzA0MGUzMDEwYjUwODE3MTM5Li5kODc0
MDk4ZmRjNDg5ZTJlYzRhYzVlMTYzYWQ0ZTFlMmQ5MjNjYWIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE2IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNCAtIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IEVyaWMg
U2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgLSAyMDEwICBU
b3JjaCBNb2JpbGUgKEJlaWppbmcpIENvLiBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpA
QCAtNzMsNiArNzMsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBwYXJzZVZpZXdwb3J0RGVzY3Jp
cHRvcihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogICAgIGJvb2wgcGFy
c2VGb250RmFjZURlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCk7CisgICAgYm9vbCBwYXJzZUZvbnRQ
YWxldHRlVmFsdWVzRGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEKTsKICAgICBib29sIHBhcnNlQ291
bnRlclN0eWxlRGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlELCBjb25zdCBDU1NQYXJzZXJDb250ZXh0
Jik7CiAKICAgICB2b2lkIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5SUQsIENTU1Byb3BlcnR5SUQs
IFJlZjxDU1NWYWx1ZT4mJiwgYm9vbCBpbXBvcnRhbnQsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0
ZVZhbHVlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBhbGV0dGVW
YWx1ZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43ZjYwZDdkNTBjZWZhYTc5NTI1ZGE0MTYzZDhhZTlkNTc5Njg3
YWIwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udFBhbGV0dGVWYWx1ZXMuaApAQCAtMCwwICsxLDg2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJDb2xvci5oIgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+Cisj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGb250UGFsZXR0ZVZhbHVlcyB7CitwdWJs
aWM6CisgICAgdXNpbmcgUGFsZXR0ZUluZGV4ID0gVmFyaWFudDxpbnQ2NF90LCBBdG9tU3RyaW5n
PjsKKyAgICB1c2luZyBQYWxldHRlQ29sb3JJbmRleCA9IFZhcmlhbnQ8QXRvbVN0cmluZywgaW50
NjRfdD47CisgICAgdXNpbmcgT3ZlcnJpZGRlbkNvbG9yID0gc3RkOjpwYWlyPFBhbGV0dGVDb2xv
ckluZGV4LCBDb2xvcj47CisKKyAgICBGb250UGFsZXR0ZVZhbHVlcygpID0gZGVmYXVsdDsKKwor
ICAgIEZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZl
Y3RvcjxPdmVycmlkZGVuQ29sb3I+JiYgb3ZlcnJpZGVDb2xvcikKKyAgICAgICAgOiBtX2Jhc2VQ
YWxldHRlKGJhc2VQYWxldHRlKQorICAgICAgICAsIG1fb3ZlcnJpZGVDb2xvcihXVEZNb3ZlKG92
ZXJyaWRlQ29sb3IpKQorICAgIHsKKyAgICB9CisKKyAgICBjb25zdCBQYWxldHRlSW5kZXgmIGJh
c2VQYWxldHRlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2Jhc2VQYWxldHRlOwor
ICAgIH0KKworICAgIHZvaWQgc2V0QmFzZVBhbGV0dGUoY29uc3QgUGFsZXR0ZUluZGV4JiBiYXNl
UGFsZXR0ZSkKKyAgICB7CisgICAgICAgIG1fYmFzZVBhbGV0dGUgPSBiYXNlUGFsZXR0ZTsKKyAg
ICB9CisKKyAgICBjb25zdCBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiYgb3ZlcnJpZGVDb2xvcigp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9vdmVycmlkZUNvbG9yOworICAgIH0KKwor
ICAgIHZvaWQgYXBwZW5kT3ZlcnJpZGVDb2xvcihPdmVycmlkZGVuQ29sb3ImJiBvdmVycmlkZGVu
Q29sb3IpCisgICAgeworICAgICAgICBtX292ZXJyaWRlQ29sb3IuYXBwZW5kKG92ZXJyaWRkZW5D
b2xvcik7CisgICAgfQorCisgICAgdm9pZCBjbGVhck92ZXJyaWRlQ29sb3IoKQorICAgIHsKKyAg
ICAgICAgbV9vdmVycmlkZUNvbG9yLmNsZWFyKCk7CisgICAgfQorCisgICAgYm9vbCByZW1vdmUo
dW5zaWduZWQga2V5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fb3ZlcnJpZGVDb2xvci5yZW1v
dmVBbGxNYXRjaGluZyhba2V5XShjb25zdCBPdmVycmlkZGVuQ29sb3ImIG92ZXJyaWRkZW5Db2xv
cikgLT4gYm9vbCB7CisgICAgICAgICAgICByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxp
bnQ2NF90PihvdmVycmlkZGVuQ29sb3IuZmlyc3QpICYmIFdURjo6Z2V0PGludDY0X3Q+KG92ZXJy
aWRkZW5Db2xvci5maXJzdCkgPT0ga2V5OworICAgICAgICB9KTsKKyAgICB9CisKK3ByaXZhdGU6
CisgICAgUGFsZXR0ZUluZGV4IG1fYmFzZVBhbGV0dGU7CisgICAgVmVjdG9yPE92ZXJyaWRkZW5D
b2xvcj4gbV9vdmVycmlkZUNvbG9yOworfTsKKworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKaW5kZXggMGNjYWQ0MTk4YzRkZjFiYTdkNTkyOTYzNjc5ZDA2YjYxNDQ4ZjM5NS4uNmZiZmU1
OTdlY2M5NjhkYmVlOWRhYTk1YjI5OWMzOWI0ODhiN2MwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDktMjAgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBQYXJzaW5nIHN1cHBvcnQgZm9yIGZv
bnQtcGFsZXR0ZS12YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMDMzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZXNlIGFyZSBiZWluZyB1cHN0cmVhbWVkIGF0IGh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L3B1bGwvMzA4NDAuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZh
bGlkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZv
bnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9u
dC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sOiBBZGRlZC4KKwogMjAyMS0wOS0yMCAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBzdXJlIFJUQ1J0cFNl
bmRlci5zZXRQYXJhbWV0ZXJzIHJldHVybnMgYW4gZXhjZXB0aW9uIHdpdGggYSB2YWxpZCB0eXBl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZm9udHMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvaWRsaGFybmVzcy1leHBl
Y3RlZC50eHQKaW5kZXggNGVjYmIzM2Y4YTkzZDllMmEyNjFkMDcyYWY4NjE0YmE1ZTg2MGEyZC4u
YjQ4ZDliMjZjZmU1NTQ2Nzk0NTM4NWY4NTQ1ZmQ5ZjM1N2Y0ZjZjOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL2lk
bGhhcm5lc3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAt
MTYsNyArMTYsNyBAQCBQQVNTIENTU0ZvbnRGYWNlUnVsZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJm
YWNlIG9mIGNzc0ZvbnRGYWNlUnVsZQogUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgY3NzRm9udEZh
Y2VSdWxlCiBQQVNTIENTU0ZvbnRGYWNlUnVsZSBpbnRlcmZhY2U6IGNzc0ZvbnRGYWNlUnVsZSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgInN0eWxlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogRkFJTCBD
U1NSdWxlIGludGVyZmFjZTogY3NzRm9udEZhY2VSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
Rk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5o
ZXJpdHM6IHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUiIG5vdCBmb3VuZCBpbiBw
cm90b3R5cGUgY2hhaW4KLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc0ZvbnRGYWNlUnVsZSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVF
U19SVUxFIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIENTU1J1bGUgaW50ZXJm
YWNlOiBjc3NGb250RmFjZVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX1BBTEVUVEVf
VkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IDE1IGJ1dCBnb3QgMTkKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVW
YWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIiBt
aXNzaW5nCiBGQUlMIENTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxl
bmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJDU1NGb250RmVhdHVyZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250RmVh
dHVyZVZhbHVlc1J1bGUiIG1pc3NpbmcKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIGlu
dGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3Bl
cnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc1J1bGUiIG1pc3NpbmcKQEAgLTM3LDE4ICszNywxOCBA
QCBGQUlMIENTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcgogRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc01hcCBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIGV4
cGVjdGVkIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc01hcCIgbWlzc2luZwogRkFJTCBD
U1NGb250RmVhdHVyZVZhbHVlc01hcCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NT
Rm9udEZlYXR1cmVWYWx1ZXNNYXAiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZh
bHVlc01hcCIgbWlzc2luZwogRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc01hcCBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBzZXQoQ1NTT01TdHJpbmcsICh1bnNpZ25lZCBsb25nIG9yIHNlcXVlbmNlPHVu
c2lnbmVkIGxvbmc+KSkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIGV4cGVjdGVkIHByb3BlcnR5ICJD
U1NGb250RmVhdHVyZVZhbHVlc01hcCIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGlu
dGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJv
cGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwot
RkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5n
Ci1GQUlMIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIg
cHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
IiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1G
QUlMIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBmb250RmFt
aWx5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgYmFzZVBhbGV0dGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCitQQVNTIENT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRl
cmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJm
YWNlIG9iamVjdCBuYW1lCitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAor
UEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHBy
b3BlcnR5CitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29w
YWJsZXMgcHJvcGVydHkKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTog
YXR0cmlidXRlIGZvbnRGYW1pbHkKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVy
ZmFjZTogYXR0cmlidXRlIGJhc2VQYWxldHRlCiBGQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjb25z
dGFudCBGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUgb24gaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRf
b3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxF
IiBtaXNzaW5nCiBGQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX0ZFQVRVUkVf
VkFMVUVTX1JVTEUgb24gaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIkZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSIgbWlzc2lu
ZwotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9QQUxFVFRFX1ZBTFVFU19S
VUxFIG9uIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJv
cGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgbWlzc2luZwotRkFJTCBDU1NSdWxlIGlu
dGVyZmFjZTogY29uc3RhbnQgRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJG
T05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIG1pc3NpbmcKK0ZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6
IGNvbnN0YW50IEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSBvbiBpbnRlcmZhY2Ugb2JqZWN0IGFz
c2VydF9lcXVhbHM6IHByb3BlcnR5IGhhcyB3cm9uZyB2YWx1ZSBleHBlY3RlZCAxNSBidXQgZ290
IDE5CitGQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX1BBTEVUVEVfVkFMVUVT
X1JVTEUgb24gaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X2VxdWFsczogcHJvcGVy
dHkgaGFzIHdyb25nIHZhbHVlIGV4cGVjdGVkIDE1IGJ1dCBnb3QgMTkKIEZBSUwgQ1NTUnVsZSBp
bnRlcmZhY2U6IGNzc1J1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFM
VUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkg
IkZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgot
RkFJTCBDU1NSdWxlIGludGVyZmFjZTogY3NzUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZP
TlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVy
aXRzOiBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiBub3QgZm91bmQgaW4gcHJv
dG90eXBlIGNoYWluCitGQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NSdWxlIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxNSBidXQgZ290IDE5CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9w
YXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2lu
Zy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJj
NzJlOWE1MWQ1YWFiYWVjNjE3MmVhMTQwM2YzM2MwYzAwMTk2YjgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9u
dHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTYgQEAKKworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZv
bnQtcGFsZXR0ZS12YWx1ZXMKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5n
IEBmb250LXBhbGV0dGUtdmFsdWVzIDEKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBw
YXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDIKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZl
bCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDMKK1BBU1MgQ1NTIEZvbnRzIE1vZHVs
ZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDQKK1BBU1MgQ1NTIEZvbnRz
IE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDUKK1BBU1MgQ1NT
IEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDYKK1BB
U1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVz
IDcKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUt
dmFsdWVzIDgKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBh
bGV0dGUtdmFsdWVzIDkKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBm
b250LXBhbGV0dGUtdmFsdWVzIDEwCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFy
c2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVs
IDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTIKK1BBU1MgQ1NTIEZvbnRzIE1vZHVs
ZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEzCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9u
dC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODcwNTQyZWQ4OGM0Yzkz
MDdjMGM1MjE5YzNjNGRlODY4ZmVjZmFlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2Zv
bnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sCkBAIC0wLDAgKzEsMTgyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
Q1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzPC90
aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy1mb250cy8jZm9udC1wYWxldHRlLXZhbHVlcyI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRl
bnQ9IkBmb250LXBhbGV0dGUtdmFsdWVzIGlzIHBhcnNlZCBjb3JyZWN0bHkuIj4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZSBpZD0ic3R5
bGUiPgorQGZvbnQtcGFsZXR0ZS12YWx1ZXMgeworfQorCitAZm9udC1wYWxldHRlLXZhbHVlcyBB
IEIgeworfQorCisvKiAwICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBmb250LWZh
bWlseTogYSwgYjsKK30KKworLyogMSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAg
Zm9udC1mYW1pbHk6IDE7Cit9CisKKy8qIDIgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgewor
ICAgIGZvbnQ6IDEycHggYTsKK30KKworLyogMyAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7
CisgICAgYmFzZS1wYWxldHRlOiAxIDI7Cit9CisKKy8qIDQgKi8KK0Bmb250LXBhbGV0dGUtdmFs
dWVzIEEgeworICAgIGJhc2UtcGFsZXR0ZTogaWRlbnQ7Cit9CisKKy8qIDUgKi8KK0Bmb250LXBh
bGV0dGUtdmFsdWVzIEEgeworICAgIGJhc2UtcGFsZXR0ZTogImEiICJiIjsKK30KKworLyogNiAq
LworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgYmFzZS1wYWxldHRlOiA7Cit9CisKKy8q
IDcgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIG92ZXJyaWRlLWNvbG9yOiBpZGVu
dCAjMTIzOworfQorCisvKiA4ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBvdmVy
cmlkZS1jb2xvcjogMCAicmVkIjsKK30KKworLyogOSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
QSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDAgIzEyMywgMTsKK30KKworLyogMTAgKi8KK0Bmb250
LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIG92ZXJyaWRlLWNvbG9yOiA7Cit9CisKKy8qIDExICov
CitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBvdmVycmlkZS1jb2xvcjogMCAjMTIzIDE7
Cit9CisKKy8qIDEyICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBvdmVycmlkZS1j
b2xvcjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitsZXQgcnVs
ZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3R5bGUiKS5zaGVldC5jc3NSdWxlczsKK3Rl
c3QoZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlcy5sZW5ndGgsIDEzKTsKK30p
OworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMF0uY3NzVGV4dDsK
KyAgICBsZXQgcnVsZSA9IHJ1bGVzWzBdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9m
KCJmb250LWZhbWlseSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHks
ICIiKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMV0u
Y3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzFdOworICAgIGFzc2VydF9lcXVhbHModGV4
dC5pbmRleE9mKCJmb250LWZhbWlseSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZv
bnRGYW1pbHksICIiKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0g
cnVsZXNbMl0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzJdOworICAgIGFzc2VydF9l
cXVhbHModGV4dC5pbmRleE9mKCJmb250OiIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxl
LmZvbnRGYW1pbHksICIiKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0
ID0gcnVsZXNbM10uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzNdOworICAgIGFzc2Vy
dF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9l
cXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgbGV0IHRleHQgPSBydWxlc1s0XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbNF07
CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7Cit9KTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzVdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUg
PSBydWxlc1s1XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRl
IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKK30pOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbNl0uY3NzVGV4dDsKKyAg
ICBsZXQgcnVsZSA9IHJ1bGVzWzZdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJi
YXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwg
IiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s3XS5j
c3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbN107CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0
LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUu
c2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVz
WzhdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s4XTsKKyAgICBhc3NlcnRfZXF1YWxz
KHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0g
cnVsZXNbOV0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzldOworICAgIGFzc2VydF9l
cXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRl
eHQgPSBydWxlc1sxMF0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzEwXTsKKyAgICBh
c3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFz
c2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAg
IGxldCB0ZXh0ID0gcnVsZXNbMTFdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxMV07
CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzEyXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVs
ZXNbMTJdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIp
LCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1
ZXMtdmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxp
ZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGI0ODJmZmFmMzc0ZTE4YmNkZjIzMDg4Mjk2MWQ5
MTMxYjhkNWYxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1
ZXMtdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKKworUEFTUyBDU1MgRm9udHMg
TW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMKK1BBU1MgQ1NTIEZv
bnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEKK1BBU1Mg
Q1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDIK
K1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFs
dWVzIDMKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0
dGUtdmFsdWVzIDQKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250
LXBhbGV0dGUtdmFsdWVzIDUKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5n
IEBmb250LXBhbGV0dGUtdmFsdWVzIDYKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBw
YXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDcKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZl
bCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDgKK1BBU1MgQ1NTIEZvbnRzIE1vZHVs
ZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDkKK1BBU1MgQ1NTIEZvbnRz
IE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEwCitQQVNTIENT
UyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMQor
UEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgMTIKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0
dGUtdmFsdWVzIDEzCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9u
dC1wYWxldHRlLXZhbHVlcyAxNAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNp
bmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTUKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0
OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE2CitQQVNTIENTUyBGb250cyBNb2R1bGUg
TGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNworUEFTUyBDU1MgRm9udHMg
TW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTgKK1BBU1MgQ1NT
IEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE5CisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9w
YXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjc3NGVm
YmIxNDkzMWViZjUwODA4YzNjYjM1ZmJmZjhhMTM3OWI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3Bh
cnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sCkBAIC0wLDAgKzEsMjMzIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+Q1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFs
dWVzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzcy1mb250cy8jZm9udC1wYWxldHRlLXZhbHVlcyI+Cis8bWV0YSBuYW1lPSJhc3NlcnQi
IGNvbnRlbnQ9IkBmb250LXBhbGV0dGUtdmFsdWVzIGlzIHBhcnNlZCBjb3JyZWN0bHkuIj4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZSBp
ZD0ic3R5bGUiPgorLyogMCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7Cit9CisKKy8qIDEg
Ki8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEIgeworICAgIGZvbnQtd2VpZ2h0OiA0MDA7Cit9CisK
Ky8qIDIgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEMgeworICAgIGZvbnQtZmFtaWx5OiBmb287
CisgICAgZm9udC1mYW1pbHk6IGJhcjsKKyAgICBiYXNlLXBhbGV0dGU6IDE7CisgICAgYmFzZS1w
YWxldHRlOiAiYmF6IjsKKyAgICBiYXNlLXBhbGV0dGU6IDI7CisgICAgb3ZlcnJpZGUtY29sb3I6
ICJhIiAjMTIzOworICAgIG92ZXJyaWRlLWNvbG9yOiAzICMxMjM7CisgICAgb3ZlcnJpZGUtY29s
b3I6ICJiIiAjMTIzOworfQorCisvKiAzICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBEIHsKKyAg
ICBiYXNlLXBhbGV0dGU6ICJmb28iOworICAgIGJhc2UtcGFsZXR0ZTogMTsKKyAgICBiYXNlLXBh
bGV0dGU6ICJiYXIiOworICAgIG92ZXJyaWRlLWNvbG9yOiAzICMxMjM7CisgICAgb3ZlcnJpZGUt
Y29sb3I6ICJiYXoiICMxMjM7CisgICAgb3ZlcnJpZGUtY29sb3I6IDQgIzEyMzsKK30KKworLyog
NCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgRSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDMgcmdi
KDE3LCAzNCwgNTEpOworICAgIG92ZXJyaWRlLWNvbG9yOiAzIHJnYig2OCwgODUsIDEwMik7Cit9
CisKKy8qIDUgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEYgeworICAgIGZvbnQtZmFtaWx5OiAi
Zm9vIjsKK30KKworLyogNiAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgRyB7CisgICAgb3ZlcnJp
ZGUtY29sb3I6IDMgcmdiKDE3LCAzNCwgNTEpLCA0IHJnYig2OCwgODUsIDEwMik7Cit9CisKKy8q
IDcgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEggeworICAgIG92ZXJyaWRlLWNvbG9yOiAzIHJn
YigxNywgMzQsIDUxKSwgMyByZ2IoNjgsIDg1LCAxMDIpOworfQorCisvKiA4ICovCitAZm9udC1w
YWxldHRlLXZhbHVlcyBJIHsKKyAgICBiYXNlLXBhbGV0dGU6IC0zOworfQorCisvKiA5ICovCitA
Zm9udC1wYWxldHRlLXZhbHVlcyBKIHsKKyAgICBvdmVycmlkZS1jb2xvcjogLTMgcmdiKDE3LCAz
NCwgNTEpOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2xldCBydWxl
cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdHlsZSIpLnNoZWV0LmNzc1J1bGVzOwordGVz
dChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzBdLmNzc1RleHQ7CisgICAgYXNz
ZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJAZm9udC1wYWxldHRlLXZhbHVlcyAiKSwgLTEp
OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiIEEgIiksIC0xKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoInsiKSwgLTEpOworICAgIGFzc2VydF9ub3Rf
ZXF1YWxzKHRleHQuaW5kZXhPZigifSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0Lmlu
ZGV4T2YoImZvbnQtZmFtaWx5IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhP
ZigiYmFzZS1wYWxldHRlIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigi
b3ZlcnJpZGUtY29sb3IiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0
IHJ1bGUgPSBydWxlc1swXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUudHlwZSwgQ1NTUnVsZS5G
T05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5jb25zdHJ1
Y3Rvci5uYW1lLCAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIik7CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0
dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChm
dW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzFdLmNzc1RleHQ7CisgICAgYXNzZXJ0
X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQtd2VpZ2h0IiksIC0xKTsKK30pOworCit0ZXN0KGZ1
bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbMV07CisgICAgYXNzZXJ0X2VxdWFscyhy
dWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUs
ICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzJdLmNzc1RleHQ7CisgICAgYXNzZXJ0X2Vx
dWFscyh0ZXh0LmluZGV4T2YoImZvbnQtZmFtaWx5OiBmb287IiksIC0xKTsKKyAgICBhc3NlcnRf
bm90X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQtZmFtaWx5OiBiYXI7IiksIC0xKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiAxOyIpLCAtMSk7CisgICAg
YXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZTogXCJiYXpcIiIpLCAtMSk7
CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6IDI7Iiks
IC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3I6IFwi
YVwiIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29s
b3I6IDMiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJp
ZGUtY29sb3I6IFwiYlwiIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxl
dCBydWxlID0gcnVsZXNbMl07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICJi
YXIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIyIik7CisgICAgYXNz
ZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
bGV0IHRleHQgPSBydWxlc1szXS5jc3NUZXh0OworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRl
eE9mKCJiYXNlLXBhbGV0dGU6IFwiZm9vXCI7IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRl
eHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiAxIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFs
cyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZTogXCJiYXJcIjsiKSwgLTEpOworICAgIGFzc2Vy
dF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvcjogMyIpLCAtMSk7CisgICAgYXNz
ZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiBcImJhelwiIiksIC0xKTsK
KyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiA0Iiks
IC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbM107
CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICJiYXIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6
ZSwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyhydWxlLmdldCg0KS5pbmRleE9mKCJyZ2IiKSwgLTEpOworfSk7CisK
K3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s0XS5jc3NUZXh0OworICAg
IGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCI1MSIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9l
cXVhbHModGV4dC5pbmRleE9mKCIxMDIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgICAgbGV0IHJ1bGUgPSBydWxlc1s0XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZh
bWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0
KDcpLCB1bmRlZmluZWQpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDMpLmluZGV4
T2YoIjEwMiIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9
IHJ1bGVzWzVdLmNzc1RleHQ7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJm
b28iKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxl
c1s1XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgImZvbyIpOworICAgIGFz
c2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVs
ZXNbNl0uY3NzVGV4dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjUxIiks
IC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjEwMiIpLCAtMSk7Cit9
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzZdOworICAgIGFz
c2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxl
LmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDIpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X25vdF9l
cXVhbHMocnVsZS5nZXQoMykuaW5kZXhPZigiNTEiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1
YWxzKHJ1bGUuZ2V0KDQpLmluZGV4T2YoIjEwMiIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzddLmNzc1RleHQ7CisgICAgYXNzZXJ0X25vdF9l
cXVhbHModGV4dC5pbmRleE9mKCI1MSIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4
dC5pbmRleE9mKCIxMDIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0
IHJ1bGUgPSBydWxlc1s3XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIp
OworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9l
cXVhbHMocnVsZS5zaXplLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDcpLCB1bmRl
ZmluZWQpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDMpLmluZGV4T2YoIjEwMiIp
LCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg0KSwgdW5kZWZpbmVkKTsKK30pOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbOF0uY3NzVGV4dDsKKyAg
ICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7Cit9
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzhdOworICAgIGFz
c2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxl
LmJhc2VQYWxldHRlLCAiLTMiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzldLmNzc1RleHQ7
CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAt
MSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzldOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEp
OworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0
X2VxdWFscyhydWxlLmdldCgtMyksIHVuZGVmaW5lZCk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438778</attachid>
            <date>2021-09-20 22:40:44 -0700</date>
            <delta_ts>2021-09-20 23:32:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230337-20210920224043.patch</filename>
            <type>text/plain</type>
            <size>96183</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQ2NGYzY2YxMjI4MjY0
MGU5NmIzNTQzNGUxZDM3M2Y1OGU2MjhhMS4uM2ZkZjhjZmExMWQ3OTc3ZTlhYWM2MjVhMmIwZTQz
MzUwYzYxZDk1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNyBAQAorMjAyMS0wOS0yMCAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFBhcnNpbmcg
c3VwcG9ydCBmb3IgZm9udC1wYWxldHRlLXZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMzM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUncyBub3RoaW5nIHBhcnRpY3VsYXJseSBpbnRl
cmVzdGluZyBoZXJlIC0gaXQncyBqdXN0IHN1cHBvcnQgZm9yIGFub3RoZXIgYXQtcnVsZS4KKyAg
ICAgICAgSSd2ZSBpbXBsZW1lbnRlZCB3aGF0J3MgaW4gdGhlIHNwZWMgcmlnaHQgbm93OgorICAg
ICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTQvI2ZvbnQtcGFsZXR0ZS12
YWx1ZXMKKworICAgICAgICBUaGVyZSBhcmUgMiBuZXcgZGVzY3JpcHRvcnM6IGJhc2UtcGFsZXR0
ZSBhbmQgb3ZlcnJpZGUtY29sb3IuIEkndmUgYWRkZWQgYSBuZXcgQ1NTVmFsdWUgc3ViY2xhc3MK
KyAgICAgICAgZm9yIGVhY2ggb2YgdGhlIGl0ZW1zIGluIHRoZSBvdmVycmlkZS1jb2xvciBsaXN0
IC0gdGhlc2UgaXRlbXMgYXJlIGp1c3QgdHVwbGVzIG9mIHR3bworICAgICAgICBDU1NQcmltaXRp
dmVWYWx1ZXMuIEkgY291bGQgaGF2ZSBkb25lIHRoaXMgd2l0aCBhIENTU1ZhbHVlTGlzdCB3aGlj
aCBhbHdheXMganVzdCBoYXBwZW5zIHRvIGhhdmUKKyAgICAgICAgYSBsZW5ndGggb2YgMiwgYnV0
IEkgdGhvdWdodCB0aGF0IHdhcyBsZXNzIGVsZWdhbnQgKGFuZCBoYXMgYW4gZXh0cmEgcG9pbnRl
ciBpbmRpcmVjdGlvbikgdGhhbgorICAgICAgICBtYWtpbmcgYSBjbGFzcyB0byBob2xkIHRoZSB0
d28gQ1NTUHJpbWl0aXZlVmFsdWVzLgorCisgICAgICAgIFRoZSBvbmx5IGRpZmZlcmVuY2Ugd2l0
aCB3aGF0J3MgaW4gdGhlIHNwZWMgaXMgdGhhdCBJJ3ZlIGdpdmVuIGEgZGlmZmVyZW50IHZhbHVl
IHRvCisgICAgICAgIEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSwgYmVjYXVzZSBpdHMgY3VycmVu
dCB2YWx1ZSBjb25mbGljdHMgd2l0aCBWSUVXUE9SVF9SVUxFLiBUaGlzIGlzIGJlaW5nCisgICAg
ICAgIHRyYWNrZWQgYXQgaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVz
LzY2MjMuCisKKyAgICAgICAgSSBjcmVhdGVkIGEgbmV3IGRhdGF0eXBlIGFuZCBmaWxlIGluIHBs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmggYmVjYXVzZSB0aGlzIGRhdGEgd2ls
bAorICAgICAgICBldmVudHVhbGx5IGJlIHBhc3NlZCB0byBwcmVwYXJlUGxhdGZvcm1Gb250KCks
IHdoaWNoIGlzIGluIHBsYXRmb3JtLywgc28gdGhpcyBkYXRhIG5lZWRzIHRvIGJlCisgICAgICAg
IGFjY2Vzc2libGUgZnJvbSBwbGF0Zm9ybS8gdG9vLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0
dGUtdmFsdWVzLWludmFsaWQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12
YWxpZC5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NS
dWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgor
ICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHA6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmguCisgICAgICAg
IChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3VzdG9t
Q1NTVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGU6On5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6cGFyc2VTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpmb250RmFtaWx5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6YmFzZVBhbGV0dGUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpzZXRGb250RmFtaWx5KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0QmFzZVBhbGV0dGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjppbml0aWFsaXplTWFwTGlrZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnNldEZyb21NYXBM
aWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y2xlYXIp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpyZW1vdmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjc3NUZXh0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6cmVhdHRhY2gp
OgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL0NTU1Byb3BlcnRp
ZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5jcHA6CisgICAgICAgICogY3NzL0NTU1J1
bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5pZGw6CisgICAgICAgICogY3NzL0NTU1ZhbHVl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjplcXVhbHMgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1RleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTVmFsdWU6OmlzRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUg
Y29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNl
Ojpjb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNT
U09NV3JhcHBlciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVGb250UGFsZXR0
ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMpOgorICAgICAgICAqIGNzcy9TdHls
ZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmlzRm9udFBhbGV0dGVW
YWx1ZXNSdWxlIGNvbnN0KToKKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgICogY3NzL1N0eWxl
UnVsZVR5cGUuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRyYXZlcnNlUnVsZXNJblZlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVNoZWV0Q29udGVudHM6OnRyYXZlcnNlU3VicmVzb3VyY2VzIGNvbnN0KToKKyAgICAgICAg
KiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNzc0F0UnVs
ZUlEKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmg6CisgICAgICAgICogY3Nz
L3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcklt
cGw6OmNvbnN1bWVBdFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6Y29u
c3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJJ
bXBsOjpjb25zdW1lRGVjbGFyYXRpb24pOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2Vy
SW1wbC5oOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVzY3JpcHRvcik6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKToKKyAgICAg
ICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpG
b250UGFsZXR0ZVZhbHVlczo6Rm9udFBhbGV0dGVWYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9udFBhbGV0dGVWYWx1ZXM6OmJhc2VQYWxldHRlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQYWxldHRlVmFsdWVzOjpzZXRCYXNlUGFsZXR0ZSk6CisgICAgICAgIChXZWJDb3JlOjpG
b250UGFsZXR0ZVZhbHVlczo6b3ZlcnJpZGVDb2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpGb250UGFsZXR0ZVZhbHVlczo6YXBwZW5kT3ZlcnJpZGVDb2xvcik6CisgICAgICAgIChXZWJD
b3JlOjpGb250UGFsZXR0ZVZhbHVlczo6Y2xlYXJPdmVycmlkZUNvbG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRQYWxldHRlVmFsdWVzOjpyZW1vdmUpOgorCiAyMDIxLTA5LTIwICBBbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEluY29ycmVjdCBz
dXJyb2dhdGUgaGFuZGxpbmcgd2hlbiBkZWFsaW5nIHdpdGggc2hvcnQgbGluZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggNzM3ZmU2MDQ3YjIzYzAwMzMyMTNkOWQyNjYwYzhmY2IxMzQ4ZGMyOC4u
YTQxMzJkZmI1Yjk2NmM0ODkxNTdkZTlhMTVlZjY2MmE3MGQ3NDU0OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTcwNSw2ICs3MDUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwog
ICAgIGNzcy9DU1NDb25kaXRpb25SdWxlLmlkbAogICAgIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxl
LmlkbAogICAgIGNzcy9DU1NGb250RmFjZVJ1bGUuaWRsCisgICAgY3NzL0NTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5pZGwKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAogICAgIGNzcy9DU1NJ
bXBvcnRSdWxlLmlkbAogICAgIGNzcy9DU1NLZXlmcmFtZVJ1bGUuaWRsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA3ZWYzOWZkYzM1YWVl
MmEyM2QzZjZkYTYwNjc3MDE0N2U2ODlmNGVhLi5jZjJlOWFkY2NhZDBhZTE2Njg3ODQ5OTU0NmQz
Y2Y3N2I5ZGM5NjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKQEAgLTY4Miw2ICs2ODIsNyBAQCAkKFBST0pFQ1RfRElSKS9jcnlwdG8vcGFy
YW1ldGVycy9Sc2FQc3NQYXJhbXMuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTQ29uZGl0aW9u
UnVsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbAogJChQ
Uk9KRUNUX0RJUikvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy9D
U1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTR3JvdXBp
bmdSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAkKFBST0pF
Q1RfRElSKS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCAyN2ViZDhhOTI0NzMzNTU1M2RhYjQ3
N2ZiZjQ4ZjBkMGVlNWE1YmUwLi4xNmNjNDg3ZDRjMDJmNGRhOTdiYzNkYjIxNDAzYWI0ZDczYzUy
N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdApAQCAtMzAwLDYgKzMwMCw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVs
ZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
Rm9udEZhY2VSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NHcm91cGluZ1J1
bGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NT
U0dyb3VwaW5nUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0NTU0ltcG9ydFJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCA1Y2ZiYmE3ZjYxMDgxYjFkYTE4MGZhZTBjYWFlODgyNmQ2MWMzYzk3Li5kMjAyNDNlZjg1Nzdi
ZTM4NTUyODUxNTdkOWE2Zjc1NGU5NzU3ZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5p
ZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1j
Q29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTU3NSw2ICs1NzUsNyBAQCBKU19CSU5ESU5H
X0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTR3JvdXBpbmdSdWxl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgXAogICAgICQoV2Vi
Q29yZSkvY3NzL0NTU0tleWZyYW1lUnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZjQx
MTMzNGQ2YjcxNDczNzA1NzA2Y2UwNWY0ZGM2MTA0ODdjYTc3ZS4uZTU4NWVhZDMzNzVjZjUzYzAx
NzEzNWFiMjZkMTZjZWIxZTUzNmU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0zNjYsNiArMzY2
LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIGNzcy9DU1ND
b25kaXRpb25SdWxlLmgKICAgICBjc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oCiAgICAgY3Nz
L0NTU0ZvbnRGYWNlUnVsZS5oCisgICAgY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCiAg
ICAgY3NzL0NTU0ZvbnRGYW1pbHkuaAogICAgIGNzcy9DU1NHcmlkSW50ZWdlclJlcGVhdFZhbHVl
LmgKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmgKQEAgLTEyNTksNiArMTI2MCw3IEBAIHNldChX
ZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9G
b250RmFtaWx5U3BlY2lmaWNhdGlvbk51bGwuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRH
ZW5lcmljRmFtaWxpZXMuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKKyAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0ZVZhbHVlcy5oCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJhbmdl
cy5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVjdGlvbkFsZ29yaXRobS5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CmluZGV4IGQxOGJhZGJmZGI3MzMzYWIxMjgwNzFhOGNkMzA5ZjRkZDlhNzk1N2IuLmU0
MDAwNWM4YTBkZGI0YTE2ZjcyYjIyNTA4ZWU3ZjY2ODA4MjQyZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBA
IC0xLDQgKzEsNCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02
NTgsNiArNjU4LDggQEAgY3NzL0NTU0ZvbnRGYWNlU2V0LmNwcAogY3NzL0NTU0ZvbnRGYWNlU291
cmNlLmNwcAogY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCiBjc3MvQ1NTRm9udEZlYXR1cmVW
YWx1ZS5jcHAKK2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAK
K2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwCiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cAogY3NzL0NTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuY3BwCiBjc3MvQ1NTRm9udFN0eWxlVmFsdWUu
Y3BwCkBAIC0yODIzLDYgKzI4MjUsNyBAQCBKU0NTU0FuaW1hdGlvbi5jcHAKIEpTQ1NTQ29uZGl0
aW9uUnVsZS5jcHAKIEpTQ1NTQ291bnRlclN0eWxlUnVsZS5jcHAKIEpTQ1NTRm9udEZhY2VSdWxl
LmNwcAorSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwCiBKU0NTU0dyb3VwaW5nUnVsZS5j
cHAKIEpTQ1NTSW1wb3J0UnVsZS5jcHAKIEpTQ1NTS2V5ZnJhbWVSdWxlLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYxNDM4
ZThiYjdiNjMyYjViMzFkMjNkMmE5ZDAzM2ViYTczYjM5OGEuLmE0M2UxN2E4NjVkOTMxYTIyNDA0
ZjVmOTY2ZjFjMGFkNjNiMmQ0NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY1Miw2ICs2NTIsNyBAQAogCQkxQzI0RUVBOTFD
NzJBN0I0MDA4MEY4RkMgLyogSlNGb250RmFjZVNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMyNEVFQTcxQzcyQTdCNDAwODBGOEZDIC8qIEpTRm9u
dEZhY2VTZXQuaCAqLzsgfTsKIAkJMUM0M0RFNkIyMkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3Vy
cmVudFRyYWl0Q29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUM0M0RFNjgyMkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3VycmVudFRyYWl0
Q29sbGVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTFDNEQwREQzMjREOUYxMEQwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNEQwREQxMjRE
OUYwREIwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxQzVFMURBODI2Rjk0QjkwMDBFMDdBRjEg
LyogRm9udFBhbGV0dGVWYWx1ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFDNUUxREE2MjZGOTQ5QjkwMEUwN0FGMSAvKiBGb250UGFsZXR0ZVZhbHVl
cy5oICovOyB9OwogCQkxQzY2MjYxMTFDNkU3Q0E2MDBBQjUyN0MgLyogRm9udEZhY2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjYyNjBGMUM2RTdD
QTYwMEFCNTI3QyAvKiBGb250RmFjZS5oICovOyB9OwogCQkxQzczQTcxMzIxODU3NTdFMDA0Q0NF
QTUgLyogVGV4dFVuZGVybGluZU9mZnNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUNCNkI0RkIyMTdCODM5NDAwOTNCOUNEIC8qIFRleHRVbmRlcmxp
bmVPZmZzZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkxQzczQTcxNTIxODU3NTg3MDA0Q0NFQTUgLyogVGV4dERlY29yYXRpb25UaGlja25lc3Mu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQjZCNEY4
MjE3QjgzOTMwMDkzQjlDRCAvKiBUZXh0RGVjb3JhdGlvblRoaWNrbmVzcy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC02NjYsNiArNjY3LDcgQEAK
IAkJMUNFODg2NDEyNjEwNUJGMjAwMEM4MTZDIC8qIEluTWVtb3J5RGlzcGxheUxpc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRTg4NjNGMjYxMDVB
NUYwMDBDODE2QyAvKiBJbk1lbW9yeURpc3BsYXlMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUNFOEQxMjcyNjE4NUMwRTAwRkMzQUVGIC8q
IERpc3BsYXlMaXN0SXRlbUJ1ZmZlcklkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRThEMTI1MjYxODVCRDgwMEZDM0FFRiAvKiBEaXNw
bGF5TGlzdEl0ZW1CdWZmZXJJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUNFOEQxMkUyNjE4NjFDNDAwRkMzQUVGIC8qIERpc3Bs
YXlMaXN0SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFDRThEMTJDMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUNFQUE1
MzIyNkYzMzZGQzAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZh
bHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0VB
QTUzMTI2RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9y
VmFsdWUuaCAqLzsgfTsKIAkJMUNGQUUzMjMwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHls
aWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0ZB
RTMyMjBBNkQ2QTNGMDAzMjU5M0QgLyogbGlib2JqYy5keWxpYiAqLzsgfTsKIAkJMUQwMDI2QTQy
Mzc0RDYyNDAwQ0E2Q0RGIC8qIEpTUGljdHVyZUluUGljdHVyZVdpbmRvdy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQwMDI2QTIyMzc0RDYyMzAwQ0E2
Q0RGIC8qIEpTUGljdHVyZUluUGljdHVyZVdpbmRvdy5oICovOyB9OwogCQkxRDAwMjZBQTIzNzRG
OUVBMDBDQTZDREYgLyogSlNFbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQwMDI2QTgyMzc0RjlEOTAwQ0E2
Q0RGIC8qIEpTRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuaCAqLzsgfTsKQEAgLTcwNDgsNiAr
NzA1MCw3IEBACiAJCTFDNDNERTZBMjJBQjRCOEEwMDE1MjdEOSAvKiBMb2NhbEN1cnJlbnRUcmFp
dENvbGxlY3Rpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBM
b2NhbEN1cnJlbnRUcmFpdENvbGxlY3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDNEQwREQxMjREOUYwREIwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR2x5cGhCdWZmZXJNZW1iZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFDNTBDNDk1MjJDODRGMjQwMEE2RTRCRSAvKiBXSExTTFN0YW5kYXJkTGlicmFyeUZ1
bmN0aW9uTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdITFNMU3RhbmRhcmRMaWJyYXJ5RnVu
Y3Rpb25NYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzVFMURBNjI2Rjk0
OUI5MDBFMDdBRjEgLyogRm9udFBhbGV0dGVWYWx1ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udFBh
bGV0dGVWYWx1ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2NjI2MEUxQzZF
N0NBNjAwQUI1MjdDIC8qIEZvbnRGYWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEZvbnRGYWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2
NjI2MEYxQzZFN0NBNjAwQUI1MjdDIC8qIEZvbnRGYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEZvbnRGYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFD
NkZEOEFDMjUwQTI5NEQwMEQ2RTkyMCAvKiBGb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcwODAsNiArNzA4MywxMSBAQAogCQkxQ0U4RDEyNTI2MTg1
QkQ4MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDRThEMTJCMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0
ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlMaXN0SXRlcmF0b3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0U4RDEyQzI2MTg2MTY0MDBGQzNBRUYgLyog
RGlzcGxheUxpc3RJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZXJhdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUw
NyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUNFQUE1MkQyNkYzMUEzQzAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MkYyNkYzMUFGODAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MzAyNkYzMzFDMTAwODY4NTA3IC8qIENTU0Zv
bnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MzEyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDRjBCRkQ0MjI5ODcwNjgwMEVEMjA3NCAvKiBUZXh0U2l6ZUFkanVzdG1lbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gVGV4dFNpemVBZGp1c3RtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUNGMThGM0MyNkJCNUFGMjAwNEIxNzIyIC8qIExvZ0luaXRpYWxpemF0
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvZ0luaXRpYWxpemF0aW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGQUUzMjIwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9i
amMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAv
dXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAt
MjcwMDcsNiArMjcwMTUsNyBAQAogCQkJCUU0NEVFM0E2MTc1NzZFNTUwMEVFRThDRiAvKiBGb250
R2VuZXJpY0ZhbWlsaWVzLmNwcCAqLywKIAkJCQlFNDRFRTNBNzE3NTc2RTU1MDBFRUU4Q0YgLyog
Rm9udEdlbmVyaWNGYW1pbGllcy5oICovLAogCQkJCTA4NDU2ODA3MTJCOTBEQTYwMDk2MEE5RiAv
KiBGb250TWV0cmljcy5oICovLAorCQkJCTFDNUUxREE2MjZGOTQ5QjkwMEUwN0FGMSAvKiBGb250
UGFsZXR0ZVZhbHVlcy5oICovLAogCQkJCTg0QjYyNjg0MTMzMTM4RjkwMDk1QTQ4OSAvKiBGb250
UGxhdGZvcm1EYXRhLmNwcCAqLywKIAkJCQlCNTMyMEQ2OTEyMkEyNEU5MDAyRDE0NDAgLyogRm9u
dFBsYXRmb3JtRGF0YS5oICovLAogCQkJCTM3MUY0RkZCMEQyNUU3RjMwMEVDRTBENSAvKiBGb250
UmFuZ2VzLmNwcCAqLywKQEAgLTI5NTg4LDYgKzI5NTk3LDExIEBACiAJCQkJODM1MjBDN0QxQTcx
QkZDQzAwNkJEMkFBIC8qIENTU0ZvbnRGYW1pbHkuaCAqLywKIAkJCQk0QTZFOUZDMTEzQzE3RDFE
MDA0NkE3RjggLyogQ1NTRm9udEZlYXR1cmVWYWx1ZS5jcHAgKi8sCiAJCQkJNEE2RTlGQzIxM0Mx
N0QxRDAwNDZBN0Y4IC8qIENTU0ZvbnRGZWF0dXJlVmFsdWUuaCAqLywKKwkJCQkxQ0VBQTUzMDI2
RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUu
Y3BwICovLAorCQkJCTFDRUFBNTMxMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZh
bHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oICovLAorCQkJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUw
NyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwICovLAorCQkJCTFDRUFBNTJEMjZGMzFB
M0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCAqLywKKwkJCQkxQ0VBQTUy
RjI2RjMxQUY4MDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCAqLywKIAkJ
CQlCQzY0QjREMzBDQjQyOThBMDA1RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmNwcCAqLywKIAkJ
CQlCQzY0QjRENDBDQjQyOThBMDA1RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmggKi8sCiAJCQkJ
QzJFMzhFRkYxRTg0NTczNTAwQ0EzQURGIC8qIENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuY3BwICov
LApAQCAtMzE5NjIsNiArMzE5NzYsNyBAQAogCQkJCUJDNjRCNERBMENCNDI5OEEwMDVGMkI2MiAv
KiBDU1NGb250RmFjZVNyY1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzUyMEM3RTFBNzFC
RkNDMDA2QkQyQUEgLyogQ1NTRm9udEZhbWlseS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE2RTlG
QzQxM0MxN0QxRDAwNDZBN0Y4IC8qIENTU0ZvbnRGZWF0dXJlVmFsdWUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTFDRUFBNTMyMjZGMzM2RkMwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2NEI0REMwQ0I0Mjk4QTAw
NUYyQjYyIC8qIENTU0ZvbnRTZWxlY3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJFMzhGMDIx
RTg0NTczNTAwQ0EzQURGIC8qIENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUMyRTM4RUZFMUU4Mzk2RkQwMENBM0FERiAvKiBDU1NGb250U3R5bGVWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zMjQ5OSw2ICszMjUxNCw3IEBACiAJCQkJNjU4NDM2ODYwQUUwMUI3
NDAwRTUzNzQzIC8qIEZvbnRMb2FkUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0QTUz
MkYyNTYwNTdDRDAwMjhDNTkyIC8qIEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTA4NDU2ODA4MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMUM1RTFEQTgyNkY5NEI5MDAwRTA3QUYxIC8qIEZvbnRQYWxldHRlVmFs
dWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCNTMyMEQ2QjEyMkEyNEU5MDAyRDE0NDAgLyogRm9u
dFBsYXRmb3JtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzcxRjRGRkMwRDI1RTdGMzAwRUNF
MEQ1IC8qIEZvbnRSYW5nZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNEE1MzM5MjU2MDYzOTgw
MDI4QzU5MiAvKiBGb250UmVuZGVyaW5nTW9kZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVz
L1dlYkNvcmUueGNzY2hlbWUgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3No
YXJlZGRhdGEveGNzY2hlbWVzL1dlYkNvcmUueGNzY2hlbWUKaW5kZXggMTU4MmUxYTNjNTZkZjll
NzgyMDBkOTlhOTk4NjgwNTkxYjRjZGYwYi4uNTlhY2ZmNWQ3NjQ1OGE1NTE3ZmNlNzlkZmJkNTYx
MmI2NzI1MzRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
eGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3Nj
aGVtZQpAQCAtNDAsNiArNDAsMjggQEAKICAgICAgIGRlYnVnRG9jdW1lbnRWZXJzaW9uaW5nID0g
IllFUyIKICAgICAgIGRlYnVnU2VydmljZUV4dGVuc2lvbiA9ICJpbnRlcm5hbCIKICAgICAgIGFs
bG93TG9jYXRpb25TaW11bGF0aW9uID0gIllFUyI+CisgICAgICA8UGF0aFJ1bm5hYmxlCisgICAg
ICAgICBydW5uYWJsZURlYnVnZ2luZ01vZGUgPSAiMCIKKyAgICAgICAgIEJ1bmRsZUlkZW50aWZp
ZXIgPSAib3JnLndlYmtpdC5NaW5pQnJvd3NlciIKKyAgICAgICAgIEZpbGVQYXRoID0gIi9Vc2Vy
cy9tbWF4ZmllbGQvQnVpbGQvUHJvZHVjdHMvRGVidWcvTWluaUJyb3dzZXIuYXBwIj4KKyAgICAg
IDwvUGF0aFJ1bm5hYmxlPgorICAgICAgPEVudmlyb25tZW50VmFyaWFibGVzPgorICAgICAgICAg
PEVudmlyb25tZW50VmFyaWFibGUKKyAgICAgICAgICAgIGtleSA9ICJNYWxsb2MiCisgICAgICAg
ICAgICB2YWx1ZSA9ICIxIgorICAgICAgICAgICAgaXNFbmFibGVkID0gIllFUyI+CisgICAgICAg
ICA8L0Vudmlyb25tZW50VmFyaWFibGU+CisgICAgICAgICA8RW52aXJvbm1lbnRWYXJpYWJsZQor
ICAgICAgICAgICAga2V5ID0gIl9fWFBDX01hbGxvYyIKKyAgICAgICAgICAgIHZhbHVlID0gIjEi
CisgICAgICAgICAgICBpc0VuYWJsZWQgPSAiWUVTIj4KKyAgICAgICAgIDwvRW52aXJvbm1lbnRW
YXJpYWJsZT4KKyAgICAgICAgIDxFbnZpcm9ubWVudFZhcmlhYmxlCisgICAgICAgICAgICBrZXkg
PSAiT1NfQUNUSVZJVFlfTU9ERSIKKyAgICAgICAgICAgIHZhbHVlID0gImRpc2FibGUiCisgICAg
ICAgICAgICBpc0VuYWJsZWQgPSAiWUVTIj4KKyAgICAgICAgIDwvRW52aXJvbm1lbnRWYXJpYWJs
ZT4KKyAgICAgIDwvRW52aXJvbm1lbnRWYXJpYWJsZXM+CiAgICA8L0xhdW5jaEFjdGlvbj4KICAg
IDxQcm9maWxlQWN0aW9uCiAgICAgICBidWlsZENvbmZpZ3VyYXRpb24gPSAiUmVsZWFzZSIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCmluZGV4IDc1
MGUwMGMzODdmYmQyNzhlNTg1ZmVjNmJkMzRkMjA1MDcxY2M1ZDMuLjhjNGM1NjE1YTM5ZjcxMzk1
ZDdkYzdlOWI4ZmU3OWY2MTk3YzkyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNDU1NSdWxlQ3VzdG9tLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ1NT
Q291bnRlclN0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1
ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oIgogI2luY2x1ZGUgIkNTU0ltcG9ydFJ1bGUu
aCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZXNS
dWxlLmgiCkBAIC0zOCw2ICszOSw3IEBACiAjaW5jbHVkZSAiQ1NTU3VwcG9ydHNSdWxlLmgiCiAj
aW5jbHVkZSAiSlNDU1NDb3VudGVyU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NGb250RmFj
ZVJ1bGUuaCIKKyNpbmNsdWRlICJKU0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oIgogI2luY2x1
ZGUgIkpTQ1NTSW1wb3J0UnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTS2V5ZnJhbWVSdWxlLmgiCiAj
aW5jbHVkZSAiSlNDU1NLZXlmcmFtZXNSdWxlLmgiCkBAIC03MCw2ICs3Miw4IEBAIEpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFJlZjxDCiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU01lZGlhUnVs
ZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHJ1bGUpKTsKICAgICBjYXNlIENTU1J1bGU6OkZPTlRf
RkFDRV9SVUxFOgogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NGb250RmFjZVJ1bGU+
KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7CisgICAgY2FzZSBDU1NSdWxlOjpGT05UX1BB
TEVUVEVfVkFMVUVTX1JVTEU6CisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHJ1bGUpKTsKICAgICBjYXNl
IENTU1J1bGU6OlBBR0VfUlVMRToKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTUGFn
ZVJ1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxlOjpJ
TVBPUlRfUlVMRToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKaW5kZXggMjZiNDk1N2Y4NDliNzAxYzVkMDZmN2I0NDNkNWRjZmJlOWNl
OTM5MC4uMzc4OGYxMTJjYmZlY2JiOGYxNTQ0OGM4OWQ4OGQ4MzMyY2YwOGI0YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAg
LTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA0IFphY2sgUnVzaW4gPHphY2tA
a2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292
IDxhcEB3ZWJraXQub3JnPgogICogQ29weXJpZ2h0IChDKSAyMDA3IE5pY2hvbGFzIFNoYW5rcyA8
d2Via2l0QG5pY2tzaGFua3MuY29tPgogICogQ29weXJpZ2h0IChDKSAyMDExIFNlbmNoYSwgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtNDA1Miw2ICs0MDUyLDExIEBAIFJlZlB0cjxDU1NW
YWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29u
c3QgUmVuZGVyU3R5CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGb250RGlzcGxheToKICAgICAg
ICAgICAgIGJyZWFrOwogCisgICAgICAgIC8vIFVuaW1wbGVtZW50ZWQgQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgcHJvcGVydGllcworICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFzZVBhbGV0dGU6Cisg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlPdmVycmlkZUNvbG9yOgorICAgICAgICAgICAgYnJlYWs7
CisKICAgICAgICAgLyogT3RoZXIgdW5pbXBsZW1lbnRlZCBwcm9wZXJ0aWVzICovCiAgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlQYWdlOiAvLyBmb3IgQHBhZ2UKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVNpemU6IC8vIGZvciBAcGFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzZkNDZjMmExMWZhYmZkMWYyNzUwN2Y0YjMzMzEzN2U2NjRiN2YzZQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29s
b3JWYWx1ZS5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1N0cmluZyBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3VzdG9t
Q1NTVGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1ha2VTdHJpbmcobV9rZXktPmNzc1RleHQo
KSwgIiAiLCBtX2NvbG9yLT5jc3NUZXh0KCkpOworfQorCitib29sIENTU0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlOjplcXVhbHMoY29uc3QgQ1NTRm9udFBhbGV0dGVWYWx1ZXNP
dmVycmlkZUNvbG9yVmFsdWUmIG90aGVyKSBjb25zdAoreworICAgIHJldHVybiBtX2tleS0+ZXF1
YWxzKG90aGVyLmtleSgpKSAmJiBtX2NvbG9yLT5lcXVhbHMob3RoZXIuY29sb3IoKSk7Cit9CisK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjcxOTBiYmM5MjcwMmRiM2E2OTkw
YTdjOThhZWFmMjE0NGJmNmY3YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oCkBAIC0wLDAgKzEsNzYg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgIkNTU1ZhbHVlLmgiCisjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VI
YW5kbGUuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKKyNpbmNsdWRlIDx3
dGYvRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBDYWNoZWRGb250OworY2xhc3MgRm9udExvYWRSZXF1ZXN0
OworY2xhc3MgU1ZHRm9udEZhY2VFbGVtZW50OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKKworY2xhc3MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUgZmluYWwg
OiBwdWJsaWMgQ1NTVmFsdWUgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8Q1NTRm9udFBhbGV0
dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+IGNyZWF0ZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+
JiYga2V5LCBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYgY29sb3IpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1
ZShXVEZNb3ZlKGtleSksIFdURk1vdmUoY29sb3IpKSk7CisgICAgfQorCisgICAgY29uc3QgQ1NT
UHJpbWl0aXZlVmFsdWUmIGtleSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9rZXku
Z2V0KCk7CisgICAgfQorCisgICAgY29uc3QgQ1NTUHJpbWl0aXZlVmFsdWUmIGNvbG9yKCkgY29u
c3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2NvbG9yLmdldCgpOworICAgIH0KKworICAgIFN0
cmluZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7CisKKyAgICBib29sIGVxdWFscyhjb25zdCBDU1NG
b250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSYpIGNvbnN0OworCitwcml2YXRlOgor
ICAgIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlKFJlZjxDU1NQcmltaXRp
dmVWYWx1ZT4mJiBrZXksIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4mJiBjb2xvcikKKyAgICAgICAg
OiBDU1NWYWx1ZShGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzcykKKyAgICAgICAg
LCBtX2tleShXVEZNb3ZlKGtleSkpCisgICAgICAgICwgbV9jb2xvcihXVEZNb3ZlKGNvbG9yKSkK
KyAgICB7CisgICAgfQorCisgICAgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiBtX2tleTsKKyAgICBS
ZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fY29sb3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1ZBTFVFKENTU0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlLCBpc0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZh
bHVlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmU5ZTQ5ZDlmNDFiMjEwOGI0NDI4NjNmZTI3NjNhNDg3ODU0ZGM0M2IK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlLmNwcApAQCAtMCwwICsxLDE2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUuaCIKKworI2luY2x1ZGUgIkNvbG9yU2VyaWFsaXphdGlvbi5oIgor
I2luY2x1ZGUgIkpTRE9NTWFwTGlrZS5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2V0Q1NTU3R5bGVE
ZWNsYXJhdGlvbi5oIgorI2luY2x1ZGUgIlN0eWxlUHJvcGVydGllcy5oIgorI2luY2x1ZGUgIlN0
eWxlUnVsZS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OkNTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZShTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyYgZm9udFBhbGV0dGVWYWx1ZXNS
dWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCisgICAgOiBDU1NSdWxlKHBhcmVudCkKKyAgICAs
IG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlKGZvbnRQYWxldHRlVmFsdWVzUnVsZSkKK3sKK30KKwor
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjp+Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKCkKK3sK
K30KKworc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gcGFyc2VTdHJpbmcoY29uc3QgU3RyaW5nJiBz
dHJpbmcsIENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkKK3sKKyAgICBDU1NQYXJzZXJDb250ZXh0
IGNvbnRleHQoSFRNTFN0YW5kYXJkTW9kZSk7CisgICAgY29udGV4dC5lbmNsb3NpbmdSdWxlVHlw
ZSA9IFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOworICAgIGF1dG8gcHJvcGVydGll
cyA9IE11dGFibGVTdHlsZVByb3BlcnRpZXM6OmNyZWF0ZSgpOworICAgIENTU1BhcnNlcjo6cGFy
c2VWYWx1ZShwcm9wZXJ0aWVzLCBwcm9wZXJ0eUlELCBzdHJpbmcsIGZhbHNlLCBjb250ZXh0KTsK
KyAgICByZXR1cm4gcHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsK
K30KKworU3RyaW5nIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Zm9udEZhbWlseSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5mb250RmFtaWx5KCk7Cit9
CisKK3ZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpzZXRGb250RmFtaWx5KFN0cmluZyYm
IGZvbnRGYW1pbHkpCit7CisgICAgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPnNldEZvbnRGYW1p
bHkoZm9udEZhbWlseSk7Cit9CisKK1N0cmluZyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmJh
c2VQYWxldHRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxl
dHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwgWyZdKGludDY0X3QgaW5kZXgpIHsKKyAgICAg
ICAgcmV0dXJuIG1ha2VTdHJpbmcoaW5kZXgpOworICAgIH0sIFsmXShjb25zdCBBdG9tU3RyaW5n
JiBiYXNlUGFsZXR0ZSkgLT4gU3RyaW5nIHsKKyAgICAgICAgaWYgKCFiYXNlUGFsZXR0ZS5pc051
bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBiYXNlUGFsZXR0ZS5zdHJpbmcoKTsKKyAgICAgICAg
cmV0dXJuIFN0cmluZ0ltcGw6OmVtcHR5KCk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlOjpzZXRCYXNlUGFsZXR0ZShTdHJpbmcmJiBiYXNlUGFsZXR0ZSkKK3sK
KyAgICBhdXRvIHZhbHVlID0gcGFyc2VTdHJpbmcoYmFzZVBhbGV0dGUsIENTU1Byb3BlcnR5QmFz
ZVBhbGV0dGUpOworICAgIGlmICghdmFsdWUpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8m
IHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSk7Cisg
ICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzU3RyaW5nKCkpCisgICAgICAgIG1fZm9udFBhbGV0dGVW
YWx1ZXNSdWxlLT5zZXRCYXNlUGFsZXR0ZShwcmltaXRpdmVWYWx1ZS5zdHJpbmdWYWx1ZSgpKTsK
KyAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS5pc051bWJlcigpKQorICAgICAgICBtX2ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS0+c2V0QmFzZVBhbGV0dGUocHJpbWl0aXZlVmFsdWUudmFsdWU8aW50
NjRfdD4oKSk7Cit9CisKK3ZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjppbml0aWFsaXpl
TWFwTGlrZShET01NYXBBZGFwdGVyJiBtYXApCit7CisgICAgZm9yIChhdXRvJiBwYWlyIDogbV9m
b250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29sb3IoKSkgeworICAgICAgICBpZiAoIVdU
Rjo6aG9sZHNfYWx0ZXJuYXRpdmU8aW50NjRfdD4ocGFpci5maXJzdCkpCisgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgbWFwLnNldDxJRExVbnNpZ25lZExvbmcsIElETFVTVlN0cmluZz4o
V1RGOjpnZXQ8aW50NjRfdD4ocGFpci5maXJzdCksIHNlcmlhbGl6YXRpb25Gb3JDU1MocGFpci5z
ZWNvbmQpKTsKKyAgICB9Cit9CisKK3ZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpzZXRG
cm9tTWFwTGlrZSh1bnNpZ25lZCBrZXksIFN0cmluZyYmIHZhbHVlKQoreworICAgIHJlbW92ZShr
ZXkpOworCisgICAgYXV0byBjc3NWYWx1ZSA9IHBhcnNlU3RyaW5nKG1ha2VTdHJpbmcoa2V5LCAn
ICcsIHZhbHVlKSwgQ1NTUHJvcGVydHlPdmVycmlkZUNvbG9yKTsKKyAgICBpZiAoIWNzc1ZhbHVl
IHx8ICFpczxDU1NWYWx1ZUxpc3Q+KCpjc3NWYWx1ZSkpCisgICAgICAgIHJldHVybjsKKworICAg
IGF1dG8mIGxpc3QgPSBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCpjc3NWYWx1ZSk7CisgICAgQVNT
RVJUKGxpc3QubGVuZ3RoKCkgPT0gMSk7CisgICAgYXV0byYgZmlyc3QgPSAqbGlzdC5pdGVtKDAp
OworICAgIGF1dG8mIGZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlID0gZG93bmNh
c3Q8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+KGZpcnN0KTsKKyAgICBh
dXRvJiBjb2xvclZhbHVlID0gZm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY29s
b3IoKTsKKyAgICBhdXRvJiBjb2xvciA9IGNvbG9yVmFsdWUuY29sb3IoKTsKKyAgICBtX2ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS0+YXBwZW5kT3ZlcnJpZGVDb2xvcihGb250UGFsZXR0ZVZhbHVlczo6
T3ZlcnJpZGRlbkNvbG9yIHsga2V5LCBDb2xvcihjb2xvcikgfSk7Cit9CisKK3ZvaWQgQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlOjpjbGVhcigpCit7CisgICAgbV9mb250UGFsZXR0ZVZhbHVlc1J1
bGUtPmNsZWFyT3ZlcnJpZGVDb2xvcigpOworfQorCitib29sIENTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZTo6cmVtb3ZlKHVuc2lnbmVkIGtleSkKK3sKKyAgICByZXR1cm4gbV9mb250UGFsZXR0ZVZh
bHVlc1J1bGUtPnJlbW92ZShrZXkpOworfQorCitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CisgICAg
YnVpbGRlci5hcHBlbmQoIkBmb250LXBhbGV0dGUtdmFsdWVzICIsIG1fZm9udFBhbGV0dGVWYWx1
ZXNSdWxlLT5uYW1lKCksICIgeyAiKTsKKyAgICBpZiAoIW1fZm9udFBhbGV0dGVWYWx1ZXNSdWxl
LT5mb250RmFtaWx5KCkuaXNOdWxsKCkpCisgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJmb250LWZh
bWlseTogIiwgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmZvbnRGYW1pbHkoKSwgIjsgIik7Cisg
ICAgV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwg
WyZdKGludDY0X3QgaW5kZXgpIHsKKyAgICAgICAgYnVpbGRlci5hcHBlbmQoImJhc2UtcGFsZXR0
ZTogIiwgaW5kZXgsICI7ICIpOworICAgIH0sIFsmXShjb25zdCBBdG9tU3RyaW5nJiBiYXNlUGFs
ZXR0ZSkgeworICAgICAgICBpZiAoIWJhc2VQYWxldHRlLmlzTnVsbCgpKQorICAgICAgICAgICAg
YnVpbGRlci5hcHBlbmQoImJhc2UtcGFsZXR0ZTogIiwgc2VyaWFsaXplU3RyaW5nKGJhc2VQYWxl
dHRlLnN0cmluZygpKSwgIjsgIik7CisgICAgfSk7CisgICAgaWYgKCFtX2ZvbnRQYWxldHRlVmFs
dWVzUnVsZS0+b3ZlcnJpZGVDb2xvcigpLmlzRW1wdHkoKSkgeworICAgICAgICBidWlsZGVyLmFw
cGVuZCgib3ZlcnJpZGUtY29sb3I6Iik7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29sb3IoKS5zaXplKCk7ICsraSkgewor
ICAgICAgICAgICAgaWYgKGkpCisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJywnKTsK
KyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7CisgICAgICAgICAgICBXVEY6OnN3aXRj
aE9uKG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5vdmVycmlkZUNvbG9yKClbaV0uZmlyc3QsIFsm
XShjb25zdCBBdG9tU3RyaW5nJiBuYW1lKSB7CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBl
bmQoc2VyaWFsaXplU3RyaW5nKG5hbWUuc3RyaW5nKCkpKTsKKyAgICAgICAgICAgIH0sIFsmXShp
bnQ2NF90IGluZGV4KSB7CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoaW5kZXgpOwor
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcsIHNlcmlhbGl6
YXRpb25Gb3JDU1MobV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92ZXJyaWRlQ29sb3IoKVtpXS5z
ZWNvbmQpKTsKKyAgICAgICAgfQorICAgICAgICBidWlsZGVyLmFwcGVuZCgiOyAiKTsKKyAgICB9
CisgICAgYnVpbGRlci5hcHBlbmQoJ30nKTsKKyAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygp
OworfQorCit2b2lkIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxl
QmFzZSYgcnVsZSkKK3sKKyAgICBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZSA9IHN0YXRpY19jYXN0
PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJj4ocnVsZSk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iYWFmZjk0MGJmYTA3OWUyODg0YTQ3NzkyNGQzNGEyNWZjY2Q2MThmCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZS5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkNTU1J1bGUuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDU1NTdHlsZURlY2xhcmF0aW9uOworY2xhc3MgRE9N
TWFwQWRhcHRlcjsKK2NsYXNzIFN0eWxlUnVsZUZvbnRGYWNlOworY2xhc3MgU3R5bGVSdWxlQ1NT
U3R5bGVEZWNsYXJhdGlvbjsKKworY2xhc3MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGZpbmFs
IDogcHVibGljIENTU1J1bGUgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8Q1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlPiBjcmVhdGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmIHJ1bGUsIENT
U1N0eWxlU2hlZXQqIHNoZWV0KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZShydWxlLCBzaGVldCkpOyB9CisKKyAgICB2aXJ0dWFsIH5DU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUoKTsKKworICAgIFN0cmluZyBmb250RmFtaWx5KCkgY29uc3Q7CisgICAgU3Ry
aW5nIGJhc2VQYWxldHRlKCkgY29uc3Q7CisKKyAgICB2b2lkIHNldEZvbnRGYW1pbHkoU3RyaW5n
JiYpOworICAgIHZvaWQgc2V0QmFzZVBhbGV0dGUoU3RyaW5nJiYpOworCisgICAgdm9pZCBpbml0
aWFsaXplTWFwTGlrZShET01NYXBBZGFwdGVyJik7CisgICAgdm9pZCBzZXRGcm9tTWFwTGlrZSh1
bnNpZ25lZCBrZXksIFN0cmluZyYmIHZhbHVlKTsKKyAgICB2b2lkIGNsZWFyKCk7CisgICAgYm9v
bCByZW1vdmUodW5zaWduZWQga2V5KTsKKworcHJpdmF0ZToKKyAgICBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmLCBDU1NTdHlsZVNoZWV0KiBwYXJl
bnQpOworCisgICAgQ1NTUnVsZTo6VHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gRk9O
VF9QQUxFVFRFX1ZBTFVFU19SVUxFOyB9CisgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdCBmaW5h
bDsKKyAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmKSBmaW5hbDsKKworICAgIFJlZjxT
dHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gbV9mb250UGFsZXR0ZVZhbHVlc1J1bGU7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1JV
TEUoQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLCBDU1NSdWxlOjpGT05UX1BBTEVUVEVfVkFMVUVT
X1JVTEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjAxNWY2MTIxNzIzMjhlMDlmNzNlZTU5NjA3MGRiZGRkNDgyMjQyNTUK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlLmlkbApAQCAtMCwwICsxLDI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKwordHlwZWRlZiBVU1ZTdHJpbmcgQ1NTT01TdHJp
bmc7CisKK1sKKyAgICBFeHBvc2VkPVdpbmRvdworXSBpbnRlcmZhY2UgQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlIDogQ1NTUnVsZSB7CisgICAgbWFwbGlrZTx1bnNpZ25lZCBsb25nLCBDU1NPTVN0
cmluZz47CisgICAgYXR0cmlidXRlIENTU09NU3RyaW5nIGZvbnRGYW1pbHk7CisgICAgYXR0cmli
dXRlIENTU09NU3RyaW5nIGJhc2VQYWxldHRlOworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0aWVzLmpzb24KaW5kZXggZGM4ZmM0MTU0MzY2ZTZlNzU4MWVhZTA0YjQzZWI5NmM5OTVlMTli
Yy4uNjI4ZTE3YjYyZjg0NmY3ZTI3ZTA2NTViMzUxMGZkN2Y4MjkzNjI1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCkBAIC00MDg1LDYgKzQwODUsMjYgQEAKICAgICAgICAg
ICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtZm9udHMtMy8jc3JjLWRl
c2MiCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCisgICAgICAgICJiYXNlLXBhbGV0dGUiOiB7
CisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJz
a2lwLWJ1aWxkZXIiOiB0cnVlLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdG9yLW9ubHkiOiB0
cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAg
ICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1mb250cyIsCisgICAgICAgICAgICAgICAgInVy
bCI6ICJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTQvI2Jhc2UtcGFsZXR0ZS1k
ZXNjIgorICAgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAib3ZlcnJpZGUtY29sb3Ii
OiB7CisgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAg
ICJza2lwLWJ1aWxkZXIiOiB0cnVlLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdG9yLW9ubHki
OiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7Cisg
ICAgICAgICAgICAgICAgImNhdGVnb3J5IjogImNzcy1mb250cyIsCisgICAgICAgICAgICAgICAg
InVybCI6ICJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTQvI292ZXJyaWRlLWNv
bG9yIgorICAgICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAic3RvcC1jb2xvciI6IHsK
ICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgImNv
bnZlcnRlciI6ICJTVkdDb2xvciIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAKaW5kZXggMGYzYzQzOTRk
OTVlMjM3MDZlNDhmNGUyOWFmYjQ4NGZiZmRjMzgwMi4uM2VjZjg0NGFmM2I3MmQxMjUwN2YxYmUy
NDI3NGUyZmE2ZjAyOTYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcApAQCAtMSw3ICsxLDcgQEAK
IC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAoQykg
MjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQotICogQ29weXJpZ2h0IChD
KSAyMDAyLCAyMDA1LCAyMDA2LCAyMDA3LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNDgsNiArNDgsNyBAQCBDT01QSUxFX0FT
U0VSVChTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBl
PihDU1NSdWxlOjpUeQogQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6TmFtZXNwYWNlID09
IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6Ok5BTUVTUEFDRV9SVUxF
KSwgZW51bXNfc2hvdWxkX21hdGNoKTsKIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OkNv
dW50ZXJTdHlsZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpD
T1VOVEVSX1NUWUxFX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElMRV9BU1NFUlQo
U3R5bGVSdWxlVHlwZTo6U3VwcG9ydHMgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NT
UnVsZTo6VHlwZTo6U1VQUE9SVFNfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CitDT01QSUxF
X0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcyA9PSBzdGF0aWNfY2FzdDxT
dHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpLCBl
bnVtc19zaG91bGRfbWF0Y2gpOwogCiBFeGNlcHRpb25Pcjx2b2lkPiBDU1NSdWxlOjpzZXRDc3NU
ZXh0KGNvbnN0IFN0cmluZyYpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAppbmRleCA3ZWZiM2ExN2JlNGI0
MzExZDQ1MDYwMmNkNzE4MGI0MTYwM2NmNzE0Li5lNzQ1OWZhZWUwNzgyNDUwNGYwMDc3MGMzNDVl
MzA4MDRkNGI0NGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKQEAgLTEsNyArMSw3IEBACiAvKgogICog
KEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAw
MyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMi0y
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
Mi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykg
MjAxMSBBbmRyZWFzIEtsaW5nIChrbGluZ0B3ZWJraXQub3JnKQogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTM4
LDE5ICszOCwyMCBAQCBwdWJsaWM6CiAKICAgICAvLyBXZWJJREwgZW51bQogICAgIGVudW0gVHlw
ZSB7Ci0gICAgICAgIFVOS05PV05fUlVMRSwKLSAgICAgICAgU1RZTEVfUlVMRSwKLSAgICAgICAg
Q0hBUlNFVF9SVUxFLAotICAgICAgICBJTVBPUlRfUlVMRSwKLSAgICAgICAgTUVESUFfUlVMRSwK
LSAgICAgICAgRk9OVF9GQUNFX1JVTEUsCi0gICAgICAgIFBBR0VfUlVMRSwKLSAgICAgICAgS0VZ
RlJBTUVTX1JVTEUsCi0gICAgICAgIEtFWUZSQU1FX1JVTEUsCi0gICAgICAgIE1BUkdJTl9SVUxF
LAotICAgICAgICBOQU1FU1BBQ0VfUlVMRSwKLSAgICAgICAgQ09VTlRFUl9TVFlMRV9SVUxFLAot
ICAgICAgICBTVVBQT1JUU19SVUxFCisgICAgICAgIFVOS05PV05fUlVMRSA9IDAsCisgICAgICAg
IFNUWUxFX1JVTEUgPSAxLAorICAgICAgICBDSEFSU0VUX1JVTEUgPSAyLAorICAgICAgICBJTVBP
UlRfUlVMRSA9IDMsCisgICAgICAgIE1FRElBX1JVTEUgPSA0LAorICAgICAgICBGT05UX0ZBQ0Vf
UlVMRSA9IDUsCisgICAgICAgIFBBR0VfUlVMRSA9IDYsCisgICAgICAgIEtFWUZSQU1FU19SVUxF
ID0gNywKKyAgICAgICAgS0VZRlJBTUVfUlVMRSA9IDgsCisgICAgICAgIE1BUkdJTl9SVUxFID0g
OSwKKyAgICAgICAgTkFNRVNQQUNFX1JVTEUgPSAxMCwKKyAgICAgICAgQ09VTlRFUl9TVFlMRV9S
VUxFID0gMTEsCisgICAgICAgIFNVUFBPUlRTX1JVTEUgPSAxMiwKKyAgICAgICAgRk9OVF9QQUxF
VFRFX1ZBTFVFU19SVUxFID0gMTkgLy8gaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFm
dHMvaXNzdWVzLzY2MjMKICAgICB9OwogCiAgICAgZW51bSBEZXByZWNhdGVkVHlwZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUnVsZS5pZGwKaW5kZXggZjNlNjYxMzdkNzYzNzMwYzM3ZjAyM2ExNjMzZTMyZWY4MjUw
ZWI1Ni4uYTU4OGFiZTRmNjk0NjUzY2ZmMTMzMGYxZDA3ZTQ2MmE5YjI3OWJiYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NSdWxlLmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYt
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpA
QCAtNDQsNiArNDQsNyBAQAogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5BTUVTUEFDRV9SVUxF
ID0gMTA7CiAgICAgW0VuYWJsZWRCeVNldHRpbmc9Q1NTQ291bnRlclN0eWxlQXRSdWxlc10gY29u
c3QgdW5zaWduZWQgc2hvcnQgQ09VTlRFUl9TVFlMRV9SVUxFID0gMTE7CiAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgU1VQUE9SVFNfUlVMRSA9IDEyOworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSA9IDE5OyAvKiBodHRwczovL2dpdGh1Yi5jb20vdzNj
L2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjYyMyAqLwogCiAgICAgLy8gTGVnYWN5IHN5bm9ueW1zIGZv
ciB0aGUgYWJvdmUsIGtlcHQgdG8gYXZvaWQgYnJlYWtpbmcgZXhpc3RpbmcgY29udGVudC4KICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBXRUJLSVRfS0VZRlJBTUVTX1JVTEUgPSA3OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZS5jcHAKaW5kZXggODczNjlhYjBkYjUyZjBhMmU4YTNiYTJjMDM5NTM2MDRjNDRk
MTdlMi4uMTljYjczZWZlZDNkY2I4MDYwNzQyMTA5NjRkZWQ4NDZjNjA1NTVmNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWUuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAx
MSBBbmRyZWFzIEtsaW5nIChrbGluZ0B3ZWJraXQub3JnKQogICogQ29weXJpZ2h0IChDKSAyMDEz
IEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzksNiArNDAsNyBAQAogI2luY2x1ZGUgIkNTU0Zp
bHRlckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNyY1ZhbHVlLmgiCiAjaW5j
bHVkZSAiQ1NTRm9udEZlYXR1cmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFN0eWxlUmFuZ2VWYWx1
ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRTdHlsZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFZh
bHVlLmgiCkBAIC0xNjQsNiArMTY2LDggQEAgYm9vbCBDU1NWYWx1ZTo6ZXF1YWxzKGNvbnN0IENT
U1ZhbHVlJiBvdGhlcikgY29uc3QKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVz
PENTU0ZvbnRWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGb250RmFjZVNyY0Ns
YXNzOgogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRm9udEZhY2VTcmNW
YWx1ZT4oKnRoaXMsIG90aGVyKTsKKyAgICAgICAgY2FzZSBGb250UGFsZXR0ZVZhbHVlc092ZXJy
aWRlQ29sb3JDbGFzczoKKyAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0Zv
bnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAg
ICBjYXNlIEZvbnRGZWF0dXJlQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1Zh
bHVlczxDU1NGb250RmVhdHVyZVZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEZv
bnRWYXJpYXRpb25DbGFzczoKQEAgLTI2NCw2ICsyNjgsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNz
c1RleHQoKSBjb25zdAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9udFZhbHVlPigqdGhp
cykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgRm9udEZhY2VTcmNDbGFzczoKICAgICAgICAg
cmV0dXJuIGRvd25jYXN0PENTU0ZvbnRGYWNlU3JjVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0
KCk7CisgICAgY2FzZSBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczoKKyAgICAg
ICAgcmV0dXJuIGRvd25jYXN0PENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVl
PigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgRm9udEZlYXR1cmVDbGFzczoKICAg
ICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0ZvbnRGZWF0dXJlVmFsdWU+KCp0aGlzKS5jdXN0b21D
U1NUZXh0KCk7CiAgICAgY2FzZSBGb250VmFyaWF0aW9uQ2xhc3M6CkBAIC0zNzcsNiArMzgzLDkg
QEAgdm9pZCBDU1NWYWx1ZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBGb250RmFjZVNyY0NsYXNzOgog
ICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTRm9udEZhY2VTcmNWYWx1ZT4odGhpcyk7CiAgICAg
ICAgIHJldHVybjsKKyAgICBjYXNlIEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvckNsYXNz
OgorICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNv
bG9yVmFsdWU+KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBGb250RmVhdHVyZUNs
YXNzOgogICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTRm9udEZlYXR1cmVWYWx1ZT4odGhpcyk7
CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggMjNlYjVlYzM4Y2NlOTY5
MGU1ZDhhYjQ0YjU2NTI0NWY4NzJkOTA1ZC4uYTUxNjI2MTdkMzk3Yjc3OGVjODA5NjczYjM0MGFk
MzIwZTkyMmVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICog
KEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChD
KSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtOTcsNiArOTcsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc0ZvbnRGZWF0dXJlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9
PSBGb250RmVhdHVyZUNsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRWYXJpYXRpb25WYWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRWYXJpYXRpb25DbGFzczsgfQogICAgIGJv
b2wgaXNGb250RmFjZVNyY1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9u
dEZhY2VTcmNDbGFzczsgfQorICAgIGJvb2wgaXNGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29s
b3JWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRQYWxldHRlVmFsdWVz
T3ZlcnJpZGVDb2xvckNsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRWYWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2xhc3NUeXBlID09IEZvbnRDbGFzczsgfQogICAgIGJvb2wgaXNGb250U3R5bGVWYWx1
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRTdHlsZUNsYXNzOyB9CiAgICAg
Ym9vbCBpc0ZvbnRTdHlsZVJhbmdlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9
PSBGb250U3R5bGVSYW5nZUNsYXNzOyB9CkBAIC0xODcsNiArMTg4LDcgQEAgcHJvdGVjdGVkOgog
ICAgICAgICBGb250U3R5bGVDbGFzcywKICAgICAgICAgRm9udFN0eWxlUmFuZ2VDbGFzcywKICAg
ICAgICAgRm9udEZhY2VTcmNDbGFzcywKKyAgICAgICAgRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlk
ZUNvbG9yQ2xhc3MsCiAgICAgICAgIEZ1bmN0aW9uQ2xhc3MsCiAKICAgICAgICAgSW5oZXJpdGVk
Q2xhc3MsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4IDRiMTVjMDk0OTg5OWJiZTNkZWQ5
OTE0YmU5YjZlYjFlNjc4MzI1YzMuLmIxNzA4YTU4MjczZmNjMDE2MWI5YzU2ZDEzMDNmMGNiZDA5
YTJhNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBAIC0xLDcgKzEsNyBAQAogLyoKICAq
IChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAqIChDKSAyMDAyLTIw
MDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDIt
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJDU1NDb3VudGVyU3R5bGVSdWxlLmgiCiAj
aW5jbHVkZSAiQ1NTRGVmZXJyZWRQYXJzZXIuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUu
aCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJDU1NJ
bXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NT
S2V5ZnJhbWVzUnVsZS5oIgpAQCAtNzAsNiArNzEsOSBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6OmRl
c3Ryb3koKQogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2U6CiAgICAgICAgIGRlbGV0
ZSBkb3duY2FzdDxTdHlsZVJ1bGVGb250RmFjZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAg
ICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOgorICAgICAgICBkZWxldGUg
ZG93bmNhc3Q8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+KHRoaXMpOworICAgICAgICByZXR1
cm47CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpNZWRpYToKICAgICAgICAgZGVsZXRlIGRvd25j
YXN0PFN0eWxlUnVsZU1lZGlhPih0aGlzKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMTEzLDYgKzEx
Nyw4IEBAIFJlZjxTdHlsZVJ1bGVCYXNlPiBTdHlsZVJ1bGVCYXNlOjpjb3B5KCkgY29uc3QKICAg
ICAgICAgcmV0dXJuIGRvd25jYXN0PFN0eWxlUnVsZVBhZ2U+KCp0aGlzKS5jb3B5KCk7CiAgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZToKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFN0
eWxlUnVsZUZvbnRGYWNlPigqdGhpcykuY29weSgpOworICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6
Rm9udFBhbGV0dGVWYWx1ZXM6CisgICAgICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVGb250
UGFsZXR0ZVZhbHVlcz4oKnRoaXMpLmNvcHkoKTsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok1l
ZGlhOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8U3R5bGVSdWxlTWVkaWE+KCp0aGlzKS5jb3B5
KCk7CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpTdXBwb3J0czoKQEAgLTE0OSw2ICsxNTUsOSBA
QCBSZWY8Q1NTUnVsZT4gU3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKENTU1N0eWxl
U2hlZXQqIHBhcmVudFNoZWV0LCBDU1NSdQogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZh
Y2U6CiAgICAgICAgIHJ1bGUgPSBDU1NGb250RmFjZVJ1bGU6OmNyZWF0ZShkb3duY2FzdDxTdHls
ZVJ1bGVGb250RmFjZT4oc2VsZiksIHBhcmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoKKyAgICAgICAgcnVsZSA9IENT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y3JlYXRlKGRvd25jYXN0PFN0eWxlUnVsZUZvbnRQYWxl
dHRlVmFsdWVzPihzZWxmKSwgcGFyZW50U2hlZXQpOworICAgICAgICBicmVhazsKICAgICBjYXNl
IFN0eWxlUnVsZVR5cGU6Ok1lZGlhOgogICAgICAgICBydWxlID0gQ1NTTWVkaWFSdWxlOjpjcmVh
dGUoZG93bmNhc3Q8U3R5bGVSdWxlTWVkaWE+KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAg
IGJyZWFrOwpAQCAtMzE5LDYgKzMyOCwyNCBAQCBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBTdHls
ZVJ1bGVGb250RmFjZTo6bXV0YWJsZVByb3BlcnRpZXMoKQogICAgIHJldHVybiBkb3duY2FzdDxN
dXRhYmxlU3R5bGVQcm9wZXJ0aWVzPihtX3Byb3BlcnRpZXMuZ2V0KCkpOwogfQogCitTdHlsZVJ1
bGVGb250UGFsZXR0ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoY29uc3QgQXRv
bVN0cmluZyYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwgY29uc3QgRm9udFBh
bGV0dGVWYWx1ZXM6OlBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZlY3RvcjxGb250UGFsZXR0
ZVZhbHVlczo6T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpCisgICAgOiBTdHlsZVJ1
bGVCYXNlKFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzKQorICAgICwgbV9uYW1lKG5h
bWUpCisgICAgLCBtX2ZvbnRGYW1pbHkoZm9udEZhbWlseSkKKyAgICAsIG1fZm9udFBhbGV0dGVW
YWx1ZXMoYmFzZVBhbGV0dGUsIFdURk1vdmUob3ZlcnJpZGVDb2xvcikpCit7Cit9CisKK1N0eWxl
UnVsZUZvbnRQYWxldHRlVmFsdWVzOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBT
dHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyYgbykKKyAgICA6IFN0eWxlUnVsZUJhc2UobykKKyAg
ICAsIG1fbmFtZShvLm5hbWUoKSkKKyAgICAsIG1fZm9udEZhbWlseShvLmZvbnRGYW1pbHkoKSkK
KyAgICAsIG1fZm9udFBhbGV0dGVWYWx1ZXMoby5tX2ZvbnRQYWxldHRlVmFsdWVzKQoreworfQor
CitTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6flN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
KCkgPSBkZWZhdWx0OworCiBEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdDo6RGVmZXJyZWRTdHls
ZUdyb3VwUnVsZUxpc3QoY29uc3QgQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIENTU0RlZmVy
cmVkUGFyc2VyJiBwYXJzZXIpCiAgICAgOiBtX3BhcnNlcihwYXJzZXIpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSdWxlLmgKaW5kZXggMTU2MmM3OTI2N2VhNjRkMjE3MDFiOWRmNzU3YzAzNTI1OTBmOTcxYi4u
MmJjOTkyMjc0NWE2MGFjZWViNWVjYTUyYzY2ODgxNWIyM2FkMzFlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGUuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwg
KGtub2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBr
ZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMyw2ICsyMyw3IEBACiAKICNp
bmNsdWRlICJDU1NTZWxlY3Rvckxpc3QuaCIKICNpbmNsdWRlICJDb21waWxlZFNlbGVjdG9yLmgi
CisjaW5jbHVkZSAiRm9udFBhbGV0dGVWYWx1ZXMuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRp
ZXMuaCIKICNpbmNsdWRlICJTdHlsZVJ1bGVUeXBlLmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgpAQCAtNTIsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0NoYXJzZXRSdWxlKCkgY29u
c3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkNoYXJzZXQ7IH0KICAgICBib29s
IGlzQ291bnRlclN0eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1bGVU
eXBlOjpDb3VudGVyU3R5bGU7IH0KICAgICBib29sIGlzRm9udEZhY2VSdWxlKCkgY29uc3QgeyBy
ZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOyB9CisgICAgYm9vbCBpc0Zv
bnRQYWxldHRlVmFsdWVzUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1bGVU
eXBlOjpGb250UGFsZXR0ZVZhbHVlczsgfQogICAgIGJvb2wgaXNLZXlmcmFtZXNSdWxlKCkgY29u
c3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lczsgfQogICAgIGJv
b2wgaXNLZXlmcmFtZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlw
ZTo6S2V5ZnJhbWU7IH0KICAgICBib29sIGlzTmFtZXNwYWNlUnVsZSgpIGNvbnN0IHsgcmV0dXJu
IHR5cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpOYW1lc3BhY2U7IH0KQEAgLTE1NSw2ICsxNTcsNzgg
QEAgcHJpdmF0ZToKICAgICBSZWY8U3R5bGVQcm9wZXJ0aWVzPiBtX3Byb3BlcnRpZXM7CiB9Owog
CitjbGFzcyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1
bGVCYXNlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFs
dWVzPiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9u
dEZhbWlseSwgY29uc3QgRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0dGVJbmRleCYgYmFzZVBhbGV0
dGUsIFZlY3RvcjxGb250UGFsZXR0ZVZhbHVlczo6T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRl
Q29sb3IpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMo
bmFtZSwgZm9udEZhbWlseSwgYmFzZVBhbGV0dGUsIFdURk1vdmUob3ZlcnJpZGVDb2xvcikpKTsg
fQorICAgIAorICAgIH5TdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygpOworCisgICAgY29uc3Qg
QXRvbVN0cmluZyYgbmFtZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9uYW1lOwor
ICAgIH0KKworICAgIHZvaWQgc2V0TmFtZShjb25zdCBBdG9tU3RyaW5nJiBuYW1lKQorICAgIHsK
KyAgICAgICAgbV9uYW1lID0gbmFtZTsKKyAgICB9CisKKyAgICBjb25zdCBBdG9tU3RyaW5nJiBm
b250RmFtaWx5KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2ZvbnRGYW1pbHk7Cisg
ICAgfQorCisgICAgdm9pZCBzZXRGb250RmFtaWx5KGNvbnN0IEF0b21TdHJpbmcmIGZvbnRGYW1p
bHkpCisgICAgeworICAgICAgICBtX2ZvbnRGYW1pbHkgPSBmb250RmFtaWx5OworICAgIH0KKwor
ICAgIGNvbnN0IEZvbnRQYWxldHRlVmFsdWVzJiBmb250UGFsZXR0ZVZhbHVlcygpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gbV9mb250UGFsZXR0ZVZhbHVlczsKKyAgICB9CisKKyAgICBj
b25zdCBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSgpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gbV9mb250UGFsZXR0ZVZhbHVlcy5iYXNlUGFsZXR0ZSgp
OworICAgIH0KKworICAgIHZvaWQgc2V0QmFzZVBhbGV0dGUoY29uc3QgRm9udFBhbGV0dGVWYWx1
ZXM6OlBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUpCisgICAgeworICAgICAgICBtX2ZvbnRQYWxl
dHRlVmFsdWVzLnNldEJhc2VQYWxldHRlKGJhc2VQYWxldHRlKTsKKyAgICB9CisKKyAgICBjb25z
dCBWZWN0b3I8Rm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4mIG92ZXJyaWRlQ29s
b3IoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZm9udFBhbGV0dGVWYWx1ZXMub3Zl
cnJpZGVDb2xvcigpOworICAgIH0KKworICAgIHZvaWQgYXBwZW5kT3ZlcnJpZGVDb2xvcihGb250
UGFsZXR0ZVZhbHVlczo6T3ZlcnJpZGRlbkNvbG9yJiYgb3ZlcnJpZGRlbkNvbG9yKQorICAgIHsK
KyAgICAgICAgbV9mb250UGFsZXR0ZVZhbHVlcy5hcHBlbmRPdmVycmlkZUNvbG9yKFdURk1vdmUo
b3ZlcnJpZGRlbkNvbG9yKSk7CisgICAgfQorCisgICAgdm9pZCBjbGVhck92ZXJyaWRlQ29sb3Io
KQorICAgIHsKKyAgICAgICAgbV9mb250UGFsZXR0ZVZhbHVlcy5jbGVhck92ZXJyaWRlQ29sb3Io
KTsKKyAgICB9CisKKyAgICBib29sIHJlbW92ZSh1bnNpZ25lZCBrZXkpCisgICAgeworICAgICAg
ICByZXR1cm4gbV9mb250UGFsZXR0ZVZhbHVlcy5yZW1vdmUoa2V5KTsKKyAgICB9CisKKyAgICBS
ZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9w
dFJlZigqbmV3IFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKCp0aGlzKSk7IH0KKworcHJpdmF0
ZToKKyAgICBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBBdG9tU3RyaW5nJiBuYW1l
LCBjb25zdCBBdG9tU3RyaW5nJiBmb250RmFtaWx5LCBjb25zdCBGb250UGFsZXR0ZVZhbHVlczo6
UGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSwgVmVjdG9yPEZvbnRQYWxldHRlVmFsdWVzOjpPdmVy
cmlkZGVuQ29sb3I+JiYgb3ZlcnJpZGVDb2xvcik7CisgICAgU3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXMoY29uc3QgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMmKTsKKworICAgIEF0b21TdHJp
bmcgbV9uYW1lOworICAgIEF0b21TdHJpbmcgbV9mb250RmFtaWx5OworICAgIEZvbnRQYWxldHRl
VmFsdWVzIG1fZm9udFBhbGV0dGVWYWx1ZXM7Cit9OworCiBjbGFzcyBTdHlsZVJ1bGVQYWdlIGZp
bmFsIDogcHVibGljIFN0eWxlUnVsZUJhc2UgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U3R5
bGVSdWxlUGFnZT4gY3JlYXRlKFJlZjxTdHlsZVByb3BlcnRpZXM+JiYsIENTU1NlbGVjdG9yTGlz
dCYmKTsKQEAgLTM1Nyw2ICs0MzEsMTAgQEAgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihX
ZWJDb3JlOjpTdHlsZVJ1bGVGb250RmFjZSkKICAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3Qg
V2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0ZvbnRGYWNlUnVs
ZSgpOyB9CiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCiAKK1NQRUNJQUxJWkVfVFlQRV9U
UkFJVFNfQkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMpCisgICAgc3Rh
dGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0
dXJuIHJ1bGUuaXNGb250UGFsZXR0ZVZhbHVlc1J1bGUoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19FTkQoKQorCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxl
UnVsZU1lZGlhKQogICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1
bGVCYXNlJiBydWxlKSB7IHJldHVybiBydWxlLmlzTWVkaWFSdWxlKCk7IH0KIFNQRUNJQUxJWkVf
VFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1
bGVUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlVHlwZS5oCmluZGV4IGM5ZTUx
OGRiZTYxYjczNWI2ZDdhMWE3ZmY2MjQzY2Q5ODE1Y2M1YmQuLjhmMDVkNjNiZTgxYTFmZTcxOTZm
OWMyZDg3ZTMzZWJiMWUyMWFhNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGVUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCwx
OSArMjgsMjEgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBTdHlsZVJ1bGVU
eXBlIDogdWludDhfdCB7Ci0gICAgVW5rbm93biwgLy8gTm90IHVzZWQuCi0gICAgU3R5bGUsCi0g
ICAgQ2hhcnNldCwgLy8gTm90IHVzZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5IHN0cmluZ3Mgb3du
ZWQgYnkgdGhlIHN0eWxlIHNoZWV0LgotICAgIEltcG9ydCwKLSAgICBNZWRpYSwKLSAgICBGb250
RmFjZSwKLSAgICBQYWdlLAotICAgIEtleWZyYW1lcywKLSAgICBLZXlmcmFtZSwgLy8gTm90IHVz
ZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5IG5vbi1ydWxlIFN0eWxlUnVsZUtleWZyYW1lIG9iamVj
dHMuCisgICAgVW5rbm93biA9IDAsIC8vIE5vdCB1c2VkLgorICAgIFN0eWxlID0gMSwKKyAgICBD
aGFyc2V0ID0gMiwgLy8gTm90IHVzZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5IHN0cmluZ3Mgb3du
ZWQgYnkgdGhlIHN0eWxlIHNoZWV0LgorICAgIEltcG9ydCA9IDMsCisgICAgTWVkaWEgPSA0LAor
ICAgIEZvbnRGYWNlID0gNSwKKyAgICBQYWdlID0gNiwKKyAgICBLZXlmcmFtZXMgPSA3LAorICAg
IEtleWZyYW1lID0gOCwgLy8gTm90IHVzZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5IG5vbi1ydWxl
IFN0eWxlUnVsZUtleWZyYW1lIG9iamVjdHMuCisgICAgLy8gTWFyZ2luID0gOSwgRklYTUU6IFdo
eSBpcyB0aGlzIG1pc3Npbmc/CiAgICAgTmFtZXNwYWNlID0gMTAsCiAgICAgQ291bnRlclN0eWxl
ID0gMTEsCiAgICAgU3VwcG9ydHMgPSAxMiwKLSAgICBMYXllciA9IDEzLAorICAgIEZvbnRQYWxl
dHRlVmFsdWVzID0gMTksIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2lz
c3Vlcy82NjIzCisgICAgTGF5ZXIgPSAyMAogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAppbmRleCAzMjg0OTc0ODUz
NWEwZDc2NDY5MDMwNzNjYzI0ZGMxODY2ZGIwNGNlLi5hNmU5NzFjNjI2MzY2YmJhMDBlN2Q1ZWVk
OGQ1MjMwZTc4NjNlYzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVl
dENvbnRlbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRz
LmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtu
b2xsQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTQzNiw2ICs0MzYsNyBA
QCBzdGF0aWMgYm9vbCB0cmF2ZXJzZVJ1bGVzSW5WZWN0b3IoY29uc3QgVmVjdG9yPFJlZlB0cjxT
dHlsZVJ1bGVCYXNlPj4mIHJ1bGVzLCBjbwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgU3R5bGVSdWxlVHlwZTo6U3R5bGU6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9u
dEZhY2U6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXM6CiAg
ICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6UGFnZToKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVU
eXBlOjpLZXlmcmFtZXM6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TmFtZXNwYWNlOgpA
QCAtNDg2LDYgKzQ4Nyw3IEBAIGJvb2wgU3R5bGVTaGVldENvbnRlbnRzOjp0cmF2ZXJzZVN1YnJl
c291cmNlcyhjb25zdCBXVEY6OkZ1bmN0aW9uPGJvb2wgKGNvbnN0IENhCiAgICAgICAgIGNhc2Ug
U3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWU6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6U3Vw
cG9ydHM6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TGF5ZXI6CisgICAgICAgIGNhc2Ug
U3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXM6CiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIH07CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcAppbmRleCAwODI1NzIzOGM4YjM1OGU1M2Jm
YTI3ZTJhYjZiZWNjZDVhNmQyZTk5Li5lN2U3NGQ0ZWRmZDg3YzRkN2M5ZWI1NDc3YzdlODJjM2I1
Mjc5OWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlE
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcApAQCAt
MSw1ICsxLDUgQEAKIC8vIENvcHlyaWdodCAyMDE1IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotLy8gQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAg
LTM4LDYgKzM4LDggQEAgQ1NTQXRSdWxlSUQgY3NzQXRSdWxlSUQoU3RyaW5nVmlldyBuYW1lKQog
ICAgICAgICByZXR1cm4gQ1NTQXRSdWxlQ2hhcnNldDsKICAgICBpZiAoZXF1YWxJZ25vcmluZ0FT
Q0lJQ2FzZShuYW1lLCAiZm9udC1mYWNlIikpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVGb250
RmFjZTsKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiZm9udC1wYWxldHRl
LXZhbHVlcyIpKQorICAgICAgICByZXR1cm4gQ1NTQXRSdWxlRm9udFBhbGV0dGVWYWx1ZXM7CiAg
ICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImltcG9ydCIpKQogICAgICAgICBy
ZXR1cm4gQ1NTQXRSdWxlSW1wb3J0OwogICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG5h
bWUsICJrZXlmcmFtZXMiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTQXRSdWxlSUQuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaApp
bmRleCAzMzBmNmNiZTJlMjViM2RjY2YwZTcyOWU0NDg5OWYxODk0MTVhN2JlLi5lNjZjMDQzNzdk
YzQ5ZTQwNjg3Y2RmNmMyYzZlNTRmZDhlMDg1M2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NBdFJ1bGVJRC5oCkBAIC0xLDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTUgVGhlIENo
cm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAyMDE2
LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
Ly8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQpAQCAtNDksNiArNDksOCBAQCBlbnVtIENTU0F0UnVsZUlEIHsKICAg
ICBDU1NBdFJ1bGVBcHBseSA9IDExLAogICAgIENTU0F0UnVsZUNvdW50ZXJTdHlsZSA9IDEyLAog
ICAgIENTU0F0UnVsZUxheWVyID0gMTMsCisKKyAgICBDU1NBdFJ1bGVGb250UGFsZXR0ZVZhbHVl
cyA9IDE0LAogfTsKIAogQ1NTQXRSdWxlSUQgY3NzQXRSdWxlSUQoU3RyaW5nVmlldyBuYW1lKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCmluZGV4IGU1Yjc0
MzAyZTBjZTRjNWFiZDYxNmVjNDU3MWI2MmM0ZmZjN2U1MTkuLjkwZDA5ZWQzOWExNjFhNjdmMDQ3
YzIyNDNkMTNlMTBhNjFhYzg0YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUGFyc2VySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
YXJzZXJJbXBsLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJv
bWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gQ29weXJpZ2h0IChDKSAyMDE2
LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAy
MDE2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkNTU0NvdW50
ZXJTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlLmgiCiAjaW5j
bHVkZSAiQ1NTRGVmZXJyZWRQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVl
c092ZXJyaWRlQ29sb3JWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0tleWZyYW1lUnVsZS5oIgogI2lu
Y2x1ZGUgIkNTU0tleWZyYW1lc1J1bGUuaCIKICNpbmNsdWRlICJDU1NQYXJzZXJPYnNlcnZlci5o
IgpAQCAtNDcsNiArNDgsNyBAQAogI2luY2x1ZGUgIkNTU1ZhcmlhYmxlUGFyc2VyLmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiRm9udFBh
bGV0dGVWYWx1ZXMuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVF1
ZXJ5UGFyc2VyLmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNlckNvbnRleHQuaCIKQEAgLTQ0
NSw2ICs0NDcsOCBAQCBSZWZQdHI8U3R5bGVSdWxlQmFzZT4gQ1NTUGFyc2VySW1wbDo6Y29uc3Vt
ZUF0UnVsZShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgQQogICAgICAgICByZXR1cm4gY29u
c3VtZVN1cHBvcnRzUnVsZShwcmVsdWRlLCBibG9jayk7CiAgICAgY2FzZSBDU1NBdFJ1bGVGb250
RmFjZToKICAgICAgICAgcmV0dXJuIGNvbnN1bWVGb250RmFjZVJ1bGUocHJlbHVkZSwgYmxvY2sp
OworICAgIGNhc2UgQ1NTQXRSdWxlRm9udFBhbGV0dGVWYWx1ZXM6CisgICAgICAgIHJldHVybiBj
b25zdW1lRm9udFBhbGV0dGVWYWx1ZXNSdWxlKHByZWx1ZGUsIGJsb2NrKTsKICAgICBjYXNlIENT
U0F0UnVsZVdlYmtpdEtleWZyYW1lczoKICAgICAgICAgcmV0dXJuIGNvbnN1bWVLZXlmcmFtZXNS
dWxlKHRydWUsIHByZWx1ZGUsIGJsb2NrKTsKICAgICBjYXNlIENTU0F0UnVsZUtleWZyYW1lczoK
QEAgLTY1Miw2ICs2NTYsNTUgQEAgUmVmUHRyPFN0eWxlUnVsZUZvbnRGYWNlPiBDU1NQYXJzZXJJ
bXBsOjpjb25zdW1lRm9udEZhY2VSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UKICAgICByZXR1cm4g
U3R5bGVSdWxlRm9udEZhY2U6OmNyZWF0ZShjcmVhdGVTdHlsZVByb3BlcnRpZXMobV9wYXJzZWRQ
cm9wZXJ0aWVzLCBtX2NvbnRleHQubW9kZSkpOwogfQogCitSZWZQdHI8U3R5bGVSdWxlRm9udFBh
bGV0dGVWYWx1ZXM+IENTU1BhcnNlckltcGw6OmNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUo
Q1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKQor
eworICAgIGF1dG8gbmFtZSA9IENTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZUN1c3Rv
bUlkZW50KHByZWx1ZGUpOworICAgIGlmICghbmFtZSB8fCAhcHJlbHVkZS5hdEVuZCgpKQorICAg
ICAgICByZXR1cm4gbnVsbHB0cjsgLy8gUGFyc2UgZXJyb3I7IGV4cGVjdGVkIGN1c3RvbSBpZGVu
dCBpbiBAZm9udC1wYWxldHRlLXZhbHVlcyBoZWFkZXIKKworICAgIGlmIChtX29ic2VydmVyV3Jh
cHBlcikgeworICAgICAgICB1bnNpZ25lZCBlbmRPZmZzZXQgPSBtX29ic2VydmVyV3JhcHBlci0+
ZW5kT2Zmc2V0KHByZWx1ZGUpOworICAgICAgICBtX29ic2VydmVyV3JhcHBlci0+b2JzZXJ2ZXIo
KS5zdGFydFJ1bGVIZWFkZXIoU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMsIG1fb2Jz
ZXJ2ZXJXcmFwcGVyLT5zdGFydE9mZnNldChwcmVsdWRlKSk7CisgICAgICAgIG1fb2JzZXJ2ZXJX
cmFwcGVyLT5vYnNlcnZlcigpLmVuZFJ1bGVIZWFkZXIoZW5kT2Zmc2V0KTsKKyAgICAgICAgbV9v
YnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuc3RhcnRSdWxlQm9keShlbmRPZmZzZXQpOworICAg
ICAgICBtX29ic2VydmVyV3JhcHBlci0+b2JzZXJ2ZXIoKS5lbmRSdWxlQm9keShlbmRPZmZzZXQp
OworICAgIH0KKworICAgIGNvbnN1bWVEZWNsYXJhdGlvbkxpc3QoYmxvY2ssIFN0eWxlUnVsZVR5
cGU6OkZvbnRQYWxldHRlVmFsdWVzKTsKKyAgICBhdXRvIHByb3BlcnRpZXMgPSBjcmVhdGVTdHls
ZVByb3BlcnRpZXMobV9wYXJzZWRQcm9wZXJ0aWVzLCBtX2NvbnRleHQubW9kZSk7CisKKyAgICBB
dG9tU3RyaW5nIGZvbnRGYW1pbHk7CisgICAgaWYgKGF1dG8gZm9udEZhbWlseVZhbHVlID0gcHJv
cGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUZvbnRGYW1pbHkpKQorICAg
ICAgICBmb250RmFtaWx5ID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCpmb250RmFtaWx5
VmFsdWUpLmZvbnRGYW1pbHkoKS5mYW1pbHlOYW1lOworCisgICAgRm9udFBhbGV0dGVWYWx1ZXM6
OlBhbGV0dGVJbmRleCBiYXNlUGFsZXR0ZShudWxsQXRvbSgpKTsKKyAgICBpZiAoYXV0byBiYXNl
UGFsZXR0ZVZhbHVlID0gcHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0
eUJhc2VQYWxldHRlKSkgeworICAgICAgICBjb25zdCBhdXRvJiBwcmltaXRpdmVWYWx1ZSA9IGRv
d25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqYmFzZVBhbGV0dGVWYWx1ZSk7CisgICAgICAgIGlm
IChwcmltaXRpdmVWYWx1ZS5pc1N0cmluZygpKQorICAgICAgICAgICAgYmFzZVBhbGV0dGUgPSBw
cmltaXRpdmVWYWx1ZS5zdHJpbmdWYWx1ZSgpOworICAgICAgICBlbHNlIGlmIChwcmltaXRpdmVW
YWx1ZS5pc051bWJlcigpKQorICAgICAgICAgICAgYmFzZVBhbGV0dGUgPSBwcmltaXRpdmVWYWx1
ZS52YWx1ZTxpbnQ2NF90PigpOworICAgIH0KKworICAgIFZlY3RvcjxGb250UGFsZXR0ZVZhbHVl
czo6T3ZlcnJpZGRlbkNvbG9yPiBvdmVycmlkZUNvbG9yOworICAgIGlmIChhdXRvIG92ZXJyaWRl
Q29sb3JWYWx1ZSA9IHByb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlP
dmVycmlkZUNvbG9yKSkgeworICAgICAgICBjb25zdCBhdXRvJiBsaXN0ID0gZG93bmNhc3Q8Q1NT
VmFsdWVMaXN0Pigqb3ZlcnJpZGVDb2xvclZhbHVlKTsKKyAgICAgICAgZm9yIChjb25zdCBhdXRv
JiBpdGVtIDogbGlzdCkgeworICAgICAgICAgICAgRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0dGVD
b2xvckluZGV4IGtleShudWxsQXRvbSgpKTsKKyAgICAgICAgICAgIGNvbnN0IGF1dG8mIHBhaXIg
PSBkb3duY2FzdDxDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZT4oaXRlbS5n
ZXQoKSk7CisgICAgICAgICAgICBpZiAocGFpci5rZXkoKS5pc1N0cmluZygpKQorICAgICAgICAg
ICAgICAgIGtleSA9IHBhaXIua2V5KCkuc3RyaW5nVmFsdWUoKTsKKyAgICAgICAgICAgIGVsc2Ug
aWYgKHBhaXIua2V5KCkuaXNOdW1iZXIoKSkKKyAgICAgICAgICAgICAgICBrZXkgPSBwYWlyLmtl
eSgpLnZhbHVlPGludDY0X3Q+KCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICBvdmVycmlkZUNvbG9yLmFwcGVuZChzdGQ6Om1ha2VfcGFp
cihrZXksIHBhaXIuY29sb3IoKS5jb2xvcigpKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBy
ZXR1cm4gU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM6OmNyZWF0ZShuYW1lLT5zdHJpbmdWYWx1
ZSgpLCBmb250RmFtaWx5LCBiYXNlUGFsZXR0ZSwgV1RGTW92ZShvdmVycmlkZUNvbG9yKSk7Cit9
CisKIFJlZlB0cjxTdHlsZVJ1bGVLZXlmcmFtZXM+IENTU1BhcnNlckltcGw6OmNvbnN1bWVLZXlm
cmFtZXNSdWxlKGJvb2wgd2Via2l0UHJlZml4ZWQsIENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVk
ZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jaykKIHsKICAgICBDU1NQYXJzZXJUb2tlblJhbmdl
IHJhbmdlQ29weSA9IHByZWx1ZGU7IC8vIEZvciBpbnNwZWN0b3IgY2FsbGJhY2tzCkBAIC05NjEs
NyArMTAxNCw3IEBAIHZvaWQgQ1NTUGFyc2VySW1wbDo6Y29uc3VtZURlY2xhcmF0aW9uKENTU1Bh
cnNlclRva2VuUmFuZ2UgcmFuZ2UsIFN0eWxlUnVsZVR5cGUKICAgICAgICAgY29uc3VtZUN1c3Rv
bVByb3BlcnR5VmFsdWUocmFuZ2UubWFrZVN1YlJhbmdlKCZyYW5nZS5wZWVrKCksIGRlY2xhcmF0
aW9uVmFsdWVFbmQpLCB2YXJpYWJsZU5hbWUsIGltcG9ydGFudCk7CiAgICAgfQogCi0gICAgaWYg
KGltcG9ydGFudCAmJiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2UgfHwgcnVs
ZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWUgfHwgcnVsZVR5cGUgPT0gU3R5bGVSdWxl
VHlwZTo6Q291bnRlclN0eWxlKSkKKyAgICBpZiAoaW1wb3J0YW50ICYmIChydWxlVHlwZSA9PSBT
dHlsZVJ1bGVUeXBlOjpGb250RmFjZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpLZXlm
cmFtZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3VudGVyU3R5bGUgfHwgcnVsZVR5
cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMpKQogICAgICAgICByZXR1cm47
CiAKICAgICBpZiAocHJvcGVydHlJRCAhPSBDU1NQcm9wZXJ0eUludmFsaWQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oCmluZGV4IDE2YzRjM2QxOWY1MDhjMTAyMWY1
MWI0YzM1Yjc0MDU5ZGU1MDQ1NDcuLmUyNWZlNWUyYTc1MjhjYWI0MzRhOWVlYjg2YThkMWNkN2Fm
YWEzYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5oCkBAIC0x
LDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC01MSw2ICs1MSw3IEBAIGNsYXNzIFN0eWxlUnVsZTsKIGNsYXNzIFN0eWxlUnVsZUJhc2U7
CiBjbGFzcyBTdHlsZVJ1bGVDaGFyc2V0OwogY2xhc3MgU3R5bGVSdWxlRm9udEZhY2U7CitjbGFz
cyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczsKIGNsYXNzIFN0eWxlUnVsZUltcG9ydDsKIGNs
YXNzIFN0eWxlUnVsZUtleWZyYW1lczsKIGNsYXNzIFN0eWxlUnVsZUxheWVyOwpAQCAtMTMzLDYg
KzEzNCw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFN0eWxlUnVsZVN1cHBvcnRzPiBjb25zdW1l
U3VwcG9ydHNSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5S
YW5nZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZVZpZXdwb3J0PiBjb25zdW1lVmlld3Bv
cnRSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBi
bG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZUZvbnRGYWNlPiBjb25zdW1lRm9udEZhY2VSdWxl
KENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jayk7
CisgICAgUmVmUHRyPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBjb25zdW1lRm9udFBhbGV0
dGVWYWx1ZXNSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5S
YW5nZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZUtleWZyYW1lcz4gY29uc3VtZUtleWZy
YW1lc1J1bGUoYm9vbCB3ZWJraXRQcmVmaXhlZCwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRl
LCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVSdWxlUGFnZT4g
Y29uc3VtZVBhZ2VSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9r
ZW5SYW5nZSBibG9jayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZUNvdW50ZXJTdHlsZT4gY29uc3Vt
ZUNvdW50ZXJTdHlsZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJU
b2tlblJhbmdlIGJsb2NrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9w
ZXJ0eVBhcnNlci5jcHAKaW5kZXggMDZhYWU1NWZhODc4YWZkODhjYTlkYzZlMzZlNTE0OWI4MWI5
ZDQwMi4uZWQzMjRkOTRiYTk1M2E1ZTA5OGIzZmU0NmZhYmFkZDIzNzMyOTFhZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTM4LDYg
KzM4LDcgQEAKICNpbmNsdWRlICJDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTRm9udEZhY2VTcmNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGZWF0dXJlVmFsdWUuaCIK
KyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIgogI2lm
IEVOQUJMRShWQVJJQVRJT05fRk9OVFMpCiAjaW5jbHVkZSAiQ1NTRm9udFZhcmlhdGlvblZhbHVl
LmgiCiAjZW5kaWYKQEAgLTIzMyw2ICsyMzQsOCBAQCBib29sIENTU1Byb3BlcnR5UGFyc2VyOjpw
YXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgYm9vbCBpbXBvcnRhbnQsIGNvbgog
CiAgICAgaWYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlKQogICAgICAgICBw
YXJzZVN1Y2Nlc3MgPSBwYXJzZXIucGFyc2VGb250RmFjZURlc2NyaXB0b3IocHJvcGVydHlJRCk7
CisgICAgZWxzZSBpZiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1
ZXMpCisgICAgICAgIHBhcnNlU3VjY2VzcyA9IHBhcnNlci5wYXJzZUZvbnRQYWxldHRlVmFsdWVz
RGVzY3JpcHRvcihwcm9wZXJ0eUlEKTsKICAgICBlbHNlIGlmIChydWxlVHlwZSA9PSBTdHlsZVJ1
bGVUeXBlOjpDb3VudGVyU3R5bGUpCiAgICAgICAgIHBhcnNlU3VjY2VzcyA9IHBhcnNlci5wYXJz
ZUNvdW50ZXJTdHlsZURlc2NyaXB0b3IocHJvcGVydHlJRCwgY29udGV4dCk7CiAgICAgZWxzZQpA
QCAtNDgzNCw2ICs0ODM3LDYzIEBAIGJvb2wgQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udEZh
Y2VEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkKQogICAgIHJldHVybiB0cnVlOwogfQog
CitzdGF0aWMgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lQmFzZVBhbGV0dGVEZXNj
cmlwdG9yKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAgIGlmIChyYW5nZS5wZWVr
KCkudHlwZSgpID09IFN0cmluZ1Rva2VuKQorICAgICAgICByZXR1cm4gY29uc3VtZVN0cmluZyhy
YW5nZSk7CisgICAgcmV0dXJuIGNvbnN1bWVJbnRlZ2VyKHJhbmdlKTsKK30KKworc3RhdGljIFJl
ZlB0cjxDU1NWYWx1ZUxpc3Q+IGNvbnN1bWVPdmVycmlkZUNvbG9yRGVzY3JpcHRvcihDU1NQYXJz
ZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sK
KyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVDb21t
YVNlcGFyYXRlZCgpOworICAgIGRvIHsKKyAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVl
PiBrZXk7CisgICAgICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09IFN0cmluZ1Rva2VuKQor
ICAgICAgICAgICAga2V5ID0gY29uc3VtZVN0cmluZyhyYW5nZSk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGtleSA9IGNvbnN1bWVJbnRlZ2VyKHJhbmdlKTsKKyAgICAgICAgaWYgKCFrZXkp
CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBhdXRvIGNvbG9yID0gY29u
c3VtZUNvbG9yKHJhbmdlLCBjb250ZXh0KTsKKyAgICAgICAgaWYgKCFjb2xvcikKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3JlYXRlKGtleS5yZWxlYXNl
Tm9uTnVsbCgpLCBjb2xvci5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICAgICAgbGlzdC0+YXBwZW5k
KHZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOworICAgIH0gd2hpbGUgKGNvbnN1bWVDb21tYUluY2x1
ZGluZ1doaXRlc3BhY2UocmFuZ2UpKTsKKyAgICAKKyAgICBpZiAoIXJhbmdlLmF0RW5kKCkgfHwg
IWxpc3QtPmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBs
aXN0OworfQorCitib29sIENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZUZvbnRQYWxldHRlVmFsdWVz
RGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEIHByb3BJZCkKK3sKKyAgICBSZWZQdHI8Q1NTVmFsdWU+
IHBhcnNlZFZhbHVlOworICAgIHN3aXRjaCAocHJvcElkKSB7CisgICAgY2FzZSBDU1NQcm9wZXJ0
eUZvbnRGYW1pbHk6CisgICAgICAgIHBhcnNlZFZhbHVlID0gY29uc3VtZUZhbWlseU5hbWUobV9y
YW5nZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlCYXNlUGFsZXR0ZToK
KyAgICAgICAgcGFyc2VkVmFsdWUgPSBjb25zdW1lQmFzZVBhbGV0dGVEZXNjcmlwdG9yKG1fcmFu
Z2UpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1Byb3BlcnR5T3ZlcnJpZGVDb2xvcjoK
KyAgICAgICAgcGFyc2VkVmFsdWUgPSBjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IobV9y
YW5nZSwgbV9jb250ZXh0KTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAg
YnJlYWs7CisgICAgfQorCisgICAgaWYgKCFwYXJzZWRWYWx1ZSB8fCAhbV9yYW5nZS5hdEVuZCgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIENTU1By
b3BlcnR5SW52YWxpZCwgKnBhcnNlZFZhbHVlLCBmYWxzZSk7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKIGJvb2wgQ1NTUHJvcGVydHlQYXJzZXI6OmNvbnN1bWVTeXN0ZW1Gb250KGJvb2wgaW1wb3J0
YW50KQogewogICAgIENTU1ZhbHVlSUQgc3lzdGVtRm9udElEID0gbV9yYW5nZS5jb25zdW1lSW5j
bHVkaW5nV2hpdGVzcGFjZSgpLmlkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VyLmgKaW5kZXggMjdhYzM1OTM3Y2MyZmE1YWM3YzJmMjMwNDBlMzAxMGI1
MDgxNzEzOS4uZDg3NDA5OGZkYzQ4OWUyZWM0YWM1ZTE2M2FkNGUxZTJkOTIzY2FiMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaApAQCAtMSw2ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9y
ZykKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCwgMjAwOSwgMjAxMCwg
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDQgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAwOCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgogICogQ29weXJpZ2h0IChDKSAy
MDA5IC0gMjAxMCAgVG9yY2ggTW9iaWxlIChCZWlqaW5nKSBDby4gTHRkLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKQEAgLTczLDYgKzczLDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgcGFyc2VW
aWV3cG9ydERlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsK
ICAgICBib29sIHBhcnNlRm9udEZhY2VEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQpOworICAgIGJv
b2wgcGFyc2VGb250UGFsZXR0ZVZhbHVlc0Rlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCk7CiAgICAg
Ym9vbCBwYXJzZUNvdW50ZXJTdHlsZURlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCwgY29uc3QgQ1NT
UGFyc2VyQ29udGV4dCYpOwogCiAgICAgdm9pZCBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlELCBD
U1NQcm9wZXJ0eUlELCBSZWY8Q1NTVmFsdWU+JiYsIGJvb2wgaW1wb3J0YW50LCBib29sIGltcGxp
Y2l0ID0gZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udFBhbGV0dGVWYWx1ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRQYWxldHRlVmFsdWVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y2MGQ3ZDUwY2VmYWE3OTUyNWRhNDE2
M2Q4YWU5ZDU3OTY4N2FiMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmgKQEAgLTAsMCArMSw4NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlIDx3dGYv
VmFyaWFudC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9B
dG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRm9udFBhbGV0dGVW
YWx1ZXMgeworcHVibGljOgorICAgIHVzaW5nIFBhbGV0dGVJbmRleCA9IFZhcmlhbnQ8aW50NjRf
dCwgQXRvbVN0cmluZz47CisgICAgdXNpbmcgUGFsZXR0ZUNvbG9ySW5kZXggPSBWYXJpYW50PEF0
b21TdHJpbmcsIGludDY0X3Q+OworICAgIHVzaW5nIE92ZXJyaWRkZW5Db2xvciA9IHN0ZDo6cGFp
cjxQYWxldHRlQ29sb3JJbmRleCwgQ29sb3I+OworCisgICAgRm9udFBhbGV0dGVWYWx1ZXMoKSA9
IGRlZmF1bHQ7CisKKyAgICBGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBQYWxldHRlSW5kZXgmIGJh
c2VQYWxldHRlLCBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpCisgICAg
ICAgIDogbV9iYXNlUGFsZXR0ZShiYXNlUGFsZXR0ZSkKKyAgICAgICAgLCBtX292ZXJyaWRlQ29s
b3IoV1RGTW92ZShvdmVycmlkZUNvbG9yKSkKKyAgICB7CisgICAgfQorCisgICAgY29uc3QgUGFs
ZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9i
YXNlUGFsZXR0ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldEJhc2VQYWxldHRlKGNvbnN0IFBhbGV0
dGVJbmRleCYgYmFzZVBhbGV0dGUpCisgICAgeworICAgICAgICBtX2Jhc2VQYWxldHRlID0gYmFz
ZVBhbGV0dGU7CisgICAgfQorCisgICAgY29uc3QgVmVjdG9yPE92ZXJyaWRkZW5Db2xvcj4mIG92
ZXJyaWRlQ29sb3IoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fb3ZlcnJpZGVDb2xv
cjsKKyAgICB9CisKKyAgICB2b2lkIGFwcGVuZE92ZXJyaWRlQ29sb3IoT3ZlcnJpZGRlbkNvbG9y
JiYgb3ZlcnJpZGRlbkNvbG9yKQorICAgIHsKKyAgICAgICAgbV9vdmVycmlkZUNvbG9yLmFwcGVu
ZChvdmVycmlkZGVuQ29sb3IpOworICAgIH0KKworICAgIHZvaWQgY2xlYXJPdmVycmlkZUNvbG9y
KCkKKyAgICB7CisgICAgICAgIG1fb3ZlcnJpZGVDb2xvci5jbGVhcigpOworICAgIH0KKworICAg
IGJvb2wgcmVtb3ZlKHVuc2lnbmVkIGtleSkKKyAgICB7CisgICAgICAgIHJldHVybiBtX292ZXJy
aWRlQ29sb3IucmVtb3ZlQWxsTWF0Y2hpbmcoW2tleV0oY29uc3QgT3ZlcnJpZGRlbkNvbG9yJiBv
dmVycmlkZGVuQ29sb3IpIC0+IGJvb2wgeworICAgICAgICAgICAgcmV0dXJuIFdURjo6aG9sZHNf
YWx0ZXJuYXRpdmU8aW50NjRfdD4ob3ZlcnJpZGRlbkNvbG9yLmZpcnN0KSAmJiBXVEY6OmdldDxp
bnQ2NF90PihvdmVycmlkZGVuQ29sb3IuZmlyc3QpID09IGtleTsKKyAgICAgICAgfSk7CisgICAg
fQorCitwcml2YXRlOgorICAgIFBhbGV0dGVJbmRleCBtX2Jhc2VQYWxldHRlOworICAgIFZlY3Rv
cjxPdmVycmlkZGVuQ29sb3I+IG1fb3ZlcnJpZGVDb2xvcjsKK307CisKK30KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCmluZGV4IDBjY2FkNDE5OGM0ZGYxYmE3ZDU5Mjk2MzY3OWQwNmI2MTQ0
OGYzOTUuLjZmYmZlNTk3ZWNjOTY4ZGJlZTlkYWE5NWIyOTljMzliNDg4YjdjMDYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA5LTIwICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUGFyc2luZyBz
dXBwb3J0IGZvciBmb250LXBhbGV0dGUtdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGVzZSBhcmUgYmVpbmcgdXBzdHJlYW1lZCBhdCBodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9wdWxsLzMwODQwLgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvaWRsaGFybmVzcy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2lu
Zy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtaW52YWxpZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbDogQWRkZWQuCisKIDIwMjEt
MDktMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ug
c3VyZSBSVENSdHBTZW5kZXIuc2V0UGFyYW1ldGVycyByZXR1cm5zIGFuIGV4Y2VwdGlvbiB3aXRo
IGEgdmFsaWQgdHlwZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL2lk
bGhhcm5lc3MtZXhwZWN0ZWQudHh0CmluZGV4IDRlY2JiMzNmOGE5M2Q5ZTJhMjYxZDA3MmFmODYx
NGJhNWU4NjBhMmQuLmI0OGQ5YjI2Y2ZlNTU0Njc5NDUzODVmODU0NWZkOWYzNTdmNGY2YzggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1mb250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvaWRsaGFybmVzcy1leHBl
Y3RlZC50eHQKQEAgLTE2LDcgKzE2LDcgQEAgUEFTUyBDU1NGb250RmFjZVJ1bGUgbXVzdCBiZSBw
cmltYXJ5IGludGVyZmFjZSBvZiBjc3NGb250RmFjZVJ1bGUKIFBBU1MgU3RyaW5naWZpY2F0aW9u
IG9mIGNzc0ZvbnRGYWNlUnVsZQogUEFTUyBDU1NGb250RmFjZVJ1bGUgaW50ZXJmYWNlOiBjc3NG
b250RmFjZVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdHlsZSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUKIEZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc0ZvbnRGYWNlUnVsZSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIkZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIiBu
b3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1GQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NG
b250RmFjZVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JV
TEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgIkZPTlRf
UEFMRVRURV9WQUxVRVNfUlVMRSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBD
U1NSdWxlIGludGVyZmFjZTogY3NzRm9udEZhY2VSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
Rk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAxNSBidXQgZ290IDE5CiBGQUlMIENTU0ZvbnRGZWF0dXJlVmFsdWVzUnVs
ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNT
U0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJl
VmFsdWVzUnVsZSIgbWlzc2luZwogRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc1J1bGUgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0
eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIiBtaXNzaW5nCiBGQUlMIENTU0ZvbnRGZWF0dXJl
VmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIiBtaXNzaW5nCkBAIC0z
NywxOCArMzcsMTggQEAgRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc01hcCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHIKIEZBSUwgQ1NTRm9udEZlYXR1
cmVWYWx1ZXNNYXAgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJl
VmFsdWVzTWFwIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIG1p
c3NpbmcKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFi
bGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NT
Rm9udEZlYXR1cmVWYWx1ZXNNYXAiIG1pc3NpbmcKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNN
YXAgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0KENTU09NU3RyaW5nLCAodW5zaWduZWQgbG9uZyBv
ciBzZXF1ZW5jZTx1bnNpZ25lZCBsb25nPikpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIG1pc3NpbmcKLUZBSUwgQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0
eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUi
IGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIG1pc3NpbmcKLUZB
SUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAi
Y29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJv
cGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgZm9udEZhbWlseSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5
ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlIGludGVyZmFjZTogYXR0cmlidXRlIGJhc2VQYWxldHRlIGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlz
c2luZworUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNv
bnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBmb250RmFtaWx5CitQQVNTIENTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBiYXNlUGFsZXR0ZQogRkFJTCBDU1NSdWxlIGlu
dGVyZmFjZTogY29uc3RhbnQgRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBv
YmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIkZPTlRfRkVBVFVS
RV9WQUxVRVNfUlVMRSIgbWlzc2luZwogRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQg
Rk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFz
c2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFMVUVT
X1JVTEUiIG1pc3NpbmcKLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZPTlRfUEFM
RVRURV9WQUxVRVNfUlVMRSBvbiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6
IGV4cGVjdGVkIHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIG1pc3NpbmcKLUZB
SUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSBv
biBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiBtaXNzaW5nCitGQUlMIENTU1J1
bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUgb24gaW50ZXJm
YWNlIG9iamVjdCBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0eSBoYXMgd3JvbmcgdmFsdWUgZXhwZWN0
ZWQgMTUgYnV0IGdvdCAxOQorRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9Q
QUxFVFRFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9l
cXVhbHM6IHByb3BlcnR5IGhhcyB3cm9uZyB2YWx1ZSBleHBlY3RlZCAxNSBidXQgZ290IDE5CiBG
QUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRk9O
VF9GRUFUVVJFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJp
dHM6IHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUiIG5vdCBmb3VuZCBpbiBwcm90
b3R5cGUgY2hhaW4KLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc1J1bGUgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBl
IGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgbm90
IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY3NzUnVs
ZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTUgYnV0IGdvdCAxOQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iYzcyZTlhNTFkNWFhYmFlYzYxNzJlYTE0MDNmMzNjMGMwMDE5NmI4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE2IEBACisKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0
OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2
ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxCitQQVNTIENTUyBGb250cyBNb2R1
bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAyCitQQVNTIENTUyBGb250
cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAzCitQQVNTIENT
UyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA0CitQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cyA1CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRl
LXZhbHVlcyA2CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1w
YWxldHRlLXZhbHVlcyA3CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBA
Zm9udC1wYWxldHRlLXZhbHVlcyA4CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFy
c2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA5CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMAorUEFTUyBDU1MgRm9udHMgTW9kdWxl
IExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTEKK1BBU1MgQ1NTIEZvbnRz
IE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEyCitQQVNTIENT
UyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250
cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3
MDU0MmVkODhjNGM5MzA3YzBjNTIxOWMzYzRkZTg2OGZlY2ZhZTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9u
dHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbApAQCAtMCwwICsxLDE4
MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPkNTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxl
dHRlLXZhbHVlczwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtZm9udHMvI2ZvbnQtcGFsZXR0ZS12YWx1ZXMiPgorPG1ldGEgbmFtZT0i
YXNzZXJ0IiBjb250ZW50PSJAZm9udC1wYWxldHRlLXZhbHVlcyBpcyBwYXJzZWQgY29ycmVjdGx5
LiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c3R5bGUgaWQ9InN0eWxlIj4KK0Bmb250LXBhbGV0dGUtdmFsdWVzIHsKK30KKworQGZvbnQtcGFs
ZXR0ZS12YWx1ZXMgQSBCIHsKK30KKworLyogMCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7
CisgICAgZm9udC1mYW1pbHk6IGEsIGI7Cit9CisKKy8qIDEgKi8KK0Bmb250LXBhbGV0dGUtdmFs
dWVzIEEgeworICAgIGZvbnQtZmFtaWx5OiAxOworfQorCisvKiAyICovCitAZm9udC1wYWxldHRl
LXZhbHVlcyBBIHsKKyAgICBmb250OiAxMnB4IGE7Cit9CisKKy8qIDMgKi8KK0Bmb250LXBhbGV0
dGUtdmFsdWVzIEEgeworICAgIGJhc2UtcGFsZXR0ZTogMSAyOworfQorCisvKiA0ICovCitAZm9u
dC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBiYXNlLXBhbGV0dGU6IGlkZW50OworfQorCisvKiA1
ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBiYXNlLXBhbGV0dGU6ICJhIiAiYiI7
Cit9CisKKy8qIDYgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGJhc2UtcGFsZXR0
ZTogOworfQorCisvKiA3ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBvdmVycmlk
ZS1jb2xvcjogaWRlbnQgIzEyMzsKK30KKworLyogOCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
QSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDAgInJlZCI7Cit9CisKKy8qIDkgKi8KK0Bmb250LXBh
bGV0dGUtdmFsdWVzIEEgeworICAgIG92ZXJyaWRlLWNvbG9yOiAwICMxMjMsIDE7Cit9CisKKy8q
IDEwICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBvdmVycmlkZS1jb2xvcjogOwor
fQorCisvKiAxMSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29s
b3I6IDAgIzEyMyAxOworfQorCisvKiAxMiAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7Cisg
ICAgb3ZlcnJpZGUtY29sb3I6IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0PgorbGV0IHJ1bGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0eWxlIikuc2hlZXQu
Y3NzUnVsZXM7Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMocnVsZXMubGVu
Z3RoLCAxMyk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVz
WzBdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1swXTsKKyAgICBhc3NlcnRfZXF1YWxz
KHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHkiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5mb250RmFtaWx5LCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4
dCA9IHJ1bGVzWzFdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxXTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHkiKSwgLTEpOworICAgIGFzc2VydF9l
cXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAg
ICBsZXQgdGV4dCA9IHJ1bGVzWzJdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1syXTsK
KyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udDoiKSwgLTEpOworICAgIGFzc2Vy
dF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsK
KyAgICBsZXQgdGV4dCA9IHJ1bGVzWzNdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1sz
XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlIiksIC0xKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKK30pOworCit0ZXN0KGZ1
bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbNF0uY3NzVGV4dDsKKyAgICBsZXQgcnVs
ZSA9IHJ1bGVzWzRdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0
dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworfSk7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s1XS5jc3NUZXh0Owor
ICAgIGxldCBydWxlID0gcnVsZXNbNV07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2Yo
ImJhc2UtcGFsZXR0ZSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRl
LCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzZd
LmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s2XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRl
eHQuaW5kZXhPZigiYmFzZS1wYWxldHRlIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUu
YmFzZVBhbGV0dGUsICIiKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0
ID0gcnVsZXNbN10uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzddOworICAgIGFzc2Vy
dF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAgYXNzZXJ0
X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0
IHRleHQgPSBydWxlc1s4XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbOF07CisgICAg
YXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAg
ICBsZXQgdGV4dCA9IHJ1bGVzWzldLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s5XTsK
KyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkg
eworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTBdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxl
c1sxMF07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiks
IC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzExXS5jc3NUZXh0OworICAgIGxldCBydWxl
ID0gcnVsZXNbMTFdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1j
b2xvciIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rl
c3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sxMl0uY3NzVGV4dDsKKyAgICBs
ZXQgcnVsZSA9IHJ1bGVzWzEyXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3Zl
cnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30p
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250
LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0
ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiNDgyZmZhZjM3NGUxOGJj
ZGYyMzA4ODI5NjFkOTEzMWI4ZDVmMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250
LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACisKK1BB
U1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVz
CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZh
bHVlcyAxCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxl
dHRlLXZhbHVlcyAyCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9u
dC1wYWxldHRlLXZhbHVlcyAzCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2lu
ZyBAZm9udC1wYWxldHRlLXZhbHVlcyA0CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDog
cGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA1CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2
ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA2CitQQVNTIENTUyBGb250cyBNb2R1
bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA3CitQQVNTIENTUyBGb250
cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA4CitQQVNTIENT
UyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA5CitQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cyAxMAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgMTEKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250
LXBhbGV0dGUtdmFsdWVzIDEyCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2lu
ZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6
IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTQKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBM
ZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE1CitQQVNTIENTUyBGb250cyBN
b2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNgorUEFTUyBDU1Mg
Rm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTcKK1BB
U1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVz
IDE4CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRl
LXZhbHVlcyAxOQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZh
bGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzY3NzRlZmJiMTQ5MzFlYmY1MDgwOGMzY2IzNWZiZmY4YTEzNzliOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbApAQCAtMCww
ICsxLDIzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPkNTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9u
dC1wYWxldHRlLXZhbHVlczwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMvI2ZvbnQtcGFsZXR0ZS12YWx1ZXMiPgorPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJAZm9udC1wYWxldHRlLXZhbHVlcyBpcyBwYXJzZWQgY29y
cmVjdGx5LiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGUgaWQ9InN0eWxlIj4KKy8qIDAgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEg
eworfQorCisvKiAxICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBCIHsKKyAgICBmb250LXdlaWdo
dDogNDAwOworfQorCisvKiAyICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBDIHsKKyAgICBmb250
LWZhbWlseTogZm9vOworICAgIGZvbnQtZmFtaWx5OiBiYXI7CisgICAgYmFzZS1wYWxldHRlOiAx
OworICAgIGJhc2UtcGFsZXR0ZTogImJheiI7CisgICAgYmFzZS1wYWxldHRlOiAyOworICAgIG92
ZXJyaWRlLWNvbG9yOiAiYSIgIzEyMzsKKyAgICBvdmVycmlkZS1jb2xvcjogMyAjMTIzOworICAg
IG92ZXJyaWRlLWNvbG9yOiAiYiIgIzEyMzsKK30KKworLyogMyAqLworQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgRCB7CisgICAgYmFzZS1wYWxldHRlOiAiZm9vIjsKKyAgICBiYXNlLXBhbGV0dGU6IDE7
CisgICAgYmFzZS1wYWxldHRlOiAiYmFyIjsKKyAgICBvdmVycmlkZS1jb2xvcjogMyAjMTIzOwor
ICAgIG92ZXJyaWRlLWNvbG9yOiAiYmF6IiAjMTIzOworICAgIG92ZXJyaWRlLWNvbG9yOiA0ICMx
MjM7Cit9CisKKy8qIDQgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEUgeworICAgIG92ZXJyaWRl
LWNvbG9yOiAzIHJnYigxNywgMzQsIDUxKTsKKyAgICBvdmVycmlkZS1jb2xvcjogMyByZ2IoNjgs
IDg1LCAxMDIpOworfQorCisvKiA1ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBGIHsKKyAgICBm
b250LWZhbWlseTogImZvbyI7Cit9CisKKy8qIDYgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEcg
eworICAgIG92ZXJyaWRlLWNvbG9yOiAzIHJnYigxNywgMzQsIDUxKSwgNCByZ2IoNjgsIDg1LCAx
MDIpOworfQorCisvKiA3ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBIIHsKKyAgICBvdmVycmlk
ZS1jb2xvcjogMyByZ2IoMTcsIDM0LCA1MSksIDMgcmdiKDY4LCA4NSwgMTAyKTsKK30KKworLyog
OCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSSB7CisgICAgYmFzZS1wYWxldHRlOiAtMzsKK30K
KworLyogOSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSiB7CisgICAgb3ZlcnJpZGUtY29sb3I6
IC0zIHJnYigxNywgMzQsIDUxKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CitsZXQgcnVsZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3R5bGUiKS5zaGVldC5j
c3NSdWxlczsKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1swXS5jc3NU
ZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIiBBICIp
LCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJ7IiksIC0xKTsKKyAg
ICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIn0iKSwgLTEpOworICAgIGFzc2VydF9l
cXVhbHModGV4dC5pbmRleE9mKCJmb250LWZhbWlseSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFs
cyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0
ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9u
KCkgeworICAgIGxldCBydWxlID0gcnVsZXNbMF07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnR5
cGUsIENTU1J1bGUuRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHJ1bGUuY29uc3RydWN0b3IubmFtZSwgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhy
dWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOwor
fSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sxXS5jc3NUZXh0
OworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJmb250LXdlaWdodCIpLCAtMSk7Cit9
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzFdOworICAgIGFz
c2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxl
LmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1syXS5jc3NUZXh0Owor
ICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJmb250LWZhbWlseTogZm9vOyIpLCAtMSk7
CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJmb250LWZhbWlseTogYmFyOyIp
LCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZTogMTsi
KSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6IFwi
YmF6XCIiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1w
YWxldHRlOiAyOyIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJy
aWRlLWNvbG9yOiBcImFcIiIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2Yo
Im92ZXJyaWRlLWNvbG9yOiAzIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0Lmlu
ZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiBcImJcIiIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzJdOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5m
b250RmFtaWx5LCAiYmFyIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAi
MiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0
aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbM10uY3NzVGV4dDsKKyAgICBhc3NlcnRfZXF1
YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiBcImZvb1wiOyIpLCAtMSk7CisgICAgYXNz
ZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZTogMSIpLCAtMSk7CisgICAgYXNz
ZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6IFwiYmFyXCI7IiksIC0x
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3I6IDMiKSwg
LTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvcjogXCJi
YXpcIiIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlk
ZS1jb2xvcjogNCIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVs
ZSA9IHJ1bGVzWzNdOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiYmFyIik7CisgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLnNpemUsIDEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoNyksIHVuZGVm
aW5lZCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMocnVsZS5nZXQoNCkuaW5kZXhPZigicmdiIiks
IC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbNF0u
Y3NzVGV4dDsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiNTEiKSwgLTEpOworICAg
IGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiMTAyIiksIC0xKTsKK30pOworCit0ZXN0
KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbNF07CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0
dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7CisgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhydWxl
LmdldCgzKS5pbmRleE9mKCIxMDIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgbGV0IHRleHQgPSBydWxlc1s1XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRl
eHQuaW5kZXhPZigiZm9vIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxl
dCBydWxlID0gcnVsZXNbNV07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICJm
b28iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBs
ZXQgdGV4dCA9IHJ1bGVzWzZdLmNzc1RleHQ7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5p
bmRleE9mKCI1MSIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCIx
MDIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxl
c1s2XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2Vy
dF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5z
aXplLCAyKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDcpLCB1bmRlZmluZWQpOworICAg
IGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDMpLmluZGV4T2YoIjUxIiksIC0xKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyhydWxlLmdldCg0KS5pbmRleE9mKCIxMDIiKSwgLTEpOworfSk7CisK
K3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s3XS5jc3NUZXh0OworICAg
IGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiNTEiKSwgLTEpOworICAgIGFzc2VydF9u
b3RfZXF1YWxzKHRleHQuaW5kZXhPZigiMTAyIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9u
KCkgeworICAgIGxldCBydWxlID0gcnVsZXNbN107CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZv
bnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxl
LmdldCg3KSwgdW5kZWZpbmVkKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhydWxlLmdldCgzKS5p
bmRleE9mKCIxMDIiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoNCksIHVuZGVm
aW5lZCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzhd
LmNzc1RleHQ7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0
dGUiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxl
c1s4XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2Vy
dF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIi0zIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxl
LnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxl
c1s5XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJp
ZGUtY29sb3IiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUg
PSBydWxlc1s5XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5zaXplLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDcpLCB1bmRlZmluZWQp
OworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoLTMpLCB1bmRlZmluZWQpOworfSk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438784</attachid>
            <date>2021-09-20 23:32:15 -0700</date>
            <delta_ts>2021-09-20 23:33:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230337-20210920233214.patch</filename>
            <type>text/plain</type>
            <size>93738</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE1MTI3NWU4YTU5YTk2
OTRjNjcwM2ZjNzNjNzIxYzgyMzNkYTIxYS4uMmIxMjEzZmIxZjZhMGIwZWE0NDM2OTFmZTliOWIz
ODkzZTM3ZTVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNyBAQAorMjAyMS0wOS0yMCAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFBhcnNpbmcg
c3VwcG9ydCBmb3IgZm9udC1wYWxldHRlLXZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMzM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUncyBub3RoaW5nIHBhcnRpY3VsYXJseSBpbnRl
cmVzdGluZyBoZXJlIC0gaXQncyBqdXN0IHN1cHBvcnQgZm9yIGFub3RoZXIgYXQtcnVsZS4KKyAg
ICAgICAgSSd2ZSBpbXBsZW1lbnRlZCB3aGF0J3MgaW4gdGhlIHNwZWMgcmlnaHQgbm93OgorICAg
ICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTQvI2ZvbnQtcGFsZXR0ZS12
YWx1ZXMKKworICAgICAgICBUaGVyZSBhcmUgMiBuZXcgZGVzY3JpcHRvcnM6IGJhc2UtcGFsZXR0
ZSBhbmQgb3ZlcnJpZGUtY29sb3IuIEkndmUgYWRkZWQgYSBuZXcgQ1NTVmFsdWUgc3ViY2xhc3MK
KyAgICAgICAgZm9yIGVhY2ggb2YgdGhlIGl0ZW1zIGluIHRoZSBvdmVycmlkZS1jb2xvciBsaXN0
IC0gdGhlc2UgaXRlbXMgYXJlIGp1c3QgdHVwbGVzIG9mIHR3bworICAgICAgICBDU1NQcmltaXRp
dmVWYWx1ZXMuIEkgY291bGQgaGF2ZSBkb25lIHRoaXMgd2l0aCBhIENTU1ZhbHVlTGlzdCB3aGlj
aCBhbHdheXMganVzdCBoYXBwZW5zIHRvIGhhdmUKKyAgICAgICAgYSBsZW5ndGggb2YgMiwgYnV0
IEkgdGhvdWdodCB0aGF0IHdhcyBsZXNzIGVsZWdhbnQgKGFuZCBoYXMgYW4gZXh0cmEgcG9pbnRl
ciBpbmRpcmVjdGlvbikgdGhhbgorICAgICAgICBtYWtpbmcgYSBjbGFzcyB0byBob2xkIHRoZSB0
d28gQ1NTUHJpbWl0aXZlVmFsdWVzLgorCisgICAgICAgIFRoZSBvbmx5IGRpZmZlcmVuY2Ugd2l0
aCB3aGF0J3MgaW4gdGhlIHNwZWMgaXMgdGhhdCBJJ3ZlIGdpdmVuIGEgZGlmZmVyZW50IHZhbHVl
IHRvCisgICAgICAgIEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSwgYmVjYXVzZSBpdHMgY3VycmVu
dCB2YWx1ZSBjb25mbGljdHMgd2l0aCBWSUVXUE9SVF9SVUxFLiBUaGlzIGlzIGJlaW5nCisgICAg
ICAgIHRyYWNrZWQgYXQgaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVz
LzY2MjMuCisKKyAgICAgICAgSSBjcmVhdGVkIGEgbmV3IGRhdGF0eXBlIGFuZCBmaWxlIGluIHBs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmggYmVjYXVzZSB0aGlzIGRhdGEgd2ls
bAorICAgICAgICBldmVudHVhbGx5IGJlIHBhc3NlZCB0byBwcmVwYXJlUGxhdGZvcm1Gb250KCks
IHdoaWNoIGlzIGluIHBsYXRmb3JtLywgc28gdGhpcyBkYXRhIG5lZWRzIHRvIGJlCisgICAgICAg
IGFjY2Vzc2libGUgZnJvbSBwbGF0Zm9ybS8gdG9vLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0
dGUtdmFsdWVzLWludmFsaWQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12
YWxpZC5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NS
dWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgor
ICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHA6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmguCisgICAgICAg
IChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3VzdG9t
Q1NTVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGU6On5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6cGFyc2VTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpmb250RmFtaWx5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6YmFzZVBhbGV0dGUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpzZXRGb250RmFtaWx5KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0QmFzZVBhbGV0dGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjppbml0aWFsaXplTWFwTGlrZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnNldEZyb21NYXBM
aWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y2xlYXIp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpyZW1vdmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjc3NUZXh0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6cmVhdHRhY2gp
OgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL0NTU1Byb3BlcnRp
ZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5jcHA6CisgICAgICAgICogY3NzL0NTU1J1
bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5pZGw6CisgICAgICAgICogY3NzL0NTU1ZhbHVl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjplcXVhbHMgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1RleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTVmFsdWU6OmlzRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUg
Y29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNl
Ojpjb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNT
U09NV3JhcHBlciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVGb250UGFsZXR0
ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMpOgorICAgICAgICAqIGNzcy9TdHls
ZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmlzRm9udFBhbGV0dGVW
YWx1ZXNSdWxlIGNvbnN0KToKKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgICogY3NzL1N0eWxl
UnVsZVR5cGUuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRyYXZlcnNlUnVsZXNJblZlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVNoZWV0Q29udGVudHM6OnRyYXZlcnNlU3VicmVzb3VyY2VzIGNvbnN0KToKKyAgICAgICAg
KiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNzc0F0UnVs
ZUlEKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmg6CisgICAgICAgICogY3Nz
L3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcklt
cGw6OmNvbnN1bWVBdFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6Y29u
c3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJJ
bXBsOjpjb25zdW1lRGVjbGFyYXRpb24pOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2Vy
SW1wbC5oOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVzY3JpcHRvcik6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKToKKyAgICAg
ICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpG
b250UGFsZXR0ZVZhbHVlczo6Rm9udFBhbGV0dGVWYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9udFBhbGV0dGVWYWx1ZXM6OmJhc2VQYWxldHRlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQYWxldHRlVmFsdWVzOjpzZXRCYXNlUGFsZXR0ZSk6CisgICAgICAgIChXZWJDb3JlOjpG
b250UGFsZXR0ZVZhbHVlczo6b3ZlcnJpZGVDb2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpGb250UGFsZXR0ZVZhbHVlczo6YXBwZW5kT3ZlcnJpZGVDb2xvcik6CisgICAgICAgIChXZWJD
b3JlOjpGb250UGFsZXR0ZVZhbHVlczo6Y2xlYXJPdmVycmlkZUNvbG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRQYWxldHRlVmFsdWVzOjpyZW1vdmUpOgorCiAyMDIxLTA5LTIwICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCByZW1haW5pbmcgdXNlcyBv
ZiBtYWtlUmVmUHRyKCkgaW4gV2ViQ29yZS8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzM3ZmU2
MDQ3YjIzYzAwMzMyMTNkOWQyNjYwYzhmY2IxMzQ4ZGMyOC4uYTQxMzJkZmI1Yjk2NmM0ODkxNTdk
ZTlhMTVlZjY2MmE3MGQ3NDU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTcwNSw2ICs3MDUs
NyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNzcy9DU1NDb25kaXRpb25S
dWxlLmlkbAogICAgIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbAogICAgIGNzcy9DU1NGb250
RmFjZVJ1bGUuaWRsCisgICAgY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGwKICAgICBj
c3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAogICAgIGNzcy9DU1NJbXBvcnRSdWxlLmlkbAogICAgIGNz
cy9DU1NLZXlmcmFtZVJ1bGUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdAppbmRleCA3ZWYzOWZkYzM1YWVlMmEyM2QzZjZkYTYwNjc3MDE0N2U2
ODlmNGVhLi5jZjJlOWFkY2NhZDBhZTE2Njg3ODQ5OTU0NmQzY2Y3N2I5ZGM5NjZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTY4Miw2
ICs2ODIsNyBAQCAkKFBST0pFQ1RfRElSKS9jcnlwdG8vcGFyYW1ldGVycy9Sc2FQc3NQYXJhbXMu
aWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTQ29uZGl0aW9uUnVsZS5pZGwKICQoUFJPSkVDVF9E
SVIpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0Zv
bnRGYWNlUnVsZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAogJChQUk9KRUNU
X0RJUikvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTS2V5ZnJh
bWVSdWxlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAppbmRleCAyN2ViZDhhOTI0NzMzNTU1M2RhYjQ3N2ZiZjQ4ZjBkMGVlNWE1YmUwLi4x
NmNjNDg3ZDRjMDJmNGRhOTdiYzNkYjIxNDAzYWI0ZDczYzUyN2YzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMzAwLDYgKzMwMCw4
IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291
bnRlclN0eWxlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NHcm91cGluZ1J1bGUuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0dyb3VwaW5nUnVsZS5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1Y2ZiYmE3ZjYxMDgxYjFkYTE4
MGZhZTBjYWFlODgyNmQ2MWMzYzk3Li5kMjAyNDNlZjg1NzdiZTM4NTUyODUxNTdkOWE2Zjc1NGU5
NzU3ZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0IEBACi0j
IENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5j
b20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5h
dT4KICMKQEAgLTU3NSw2ICs1NzUsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2Vi
Q29yZSkvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1ND
b3VudGVyU3R5bGVSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udEZhY2VSdWxl
LmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0tleWZyYW1l
UnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZmZjOTEyNTNmZmIzY2VmNTUxZjYxNjBm
NmJhNDNhMWI0MGRlZTdiMS4uMDE5MDg2MmI4NGE5YmYzZGM5NTQ2ZmRjMjk3MjJhNDEwN2JmMDIw
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0zNjYsNiArMzY2LDcgQEAgc2V0KFdlYkNvcmVfUFJJ
VkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIGNzcy9DU1NDb25kaXRpb25SdWxlLmgKICAgICBj
c3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oCiAgICAgY3NzL0NTU0ZvbnRGYWNlUnVsZS5oCisg
ICAgY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCiAgICAgY3NzL0NTU0ZvbnRGYW1pbHku
aAogICAgIGNzcy9DU1NHcmlkSW50ZWdlclJlcGVhdFZhbHVlLmgKICAgICBjc3MvQ1NTR3JvdXBp
bmdSdWxlLmgKQEAgLTEyNTksNiArMTI2MCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVX
T1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlv
bk51bGwuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9G
b250UGFsZXR0ZVZhbHVlcy5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0
YS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJhbmdlcy5oCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFNlbGVjdGlvbkFsZ29yaXRobS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDIxZjUxZDMz
ZDcyMDEzNTc0MDhlYTdkMzY3ZDZkMDljODg1YTNiYWIuLmYwZWIyNDc1NzgxNDk3MzFjNzczMTk4
M2RmM2JiZGU3YTFmYzkxNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xLDQgKzEsNCBAQAotLy8gQ29w
eXJpZ2h0IChDKSAyMDE3LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
Q29weXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
Ly8KIC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NTgsNiArNjU4LDggQEAgY3NzL0NT
U0ZvbnRGYWNlU2V0LmNwcAogY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAogY3NzL0NTU0ZvbnRG
YWNlU3JjVmFsdWUuY3BwCiBjc3MvQ1NTRm9udEZlYXR1cmVWYWx1ZS5jcHAKK2Nzcy9DU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAKK2Nzcy9DU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUuY3BwCiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAogY3NzL0NTU0ZvbnRTdHlsZVJh
bmdlVmFsdWUuY3BwCiBjc3MvQ1NTRm9udFN0eWxlVmFsdWUuY3BwCkBAIC0yODI0LDYgKzI4MjYs
NyBAQCBKU0NTU0FuaW1hdGlvbi5jcHAKIEpTQ1NTQ29uZGl0aW9uUnVsZS5jcHAKIEpTQ1NTQ291
bnRlclN0eWxlUnVsZS5jcHAKIEpTQ1NTRm9udEZhY2VSdWxlLmNwcAorSlNDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUuY3BwCiBKU0NTU0dyb3VwaW5nUnVsZS5jcHAKIEpTQ1NTSW1wb3J0UnVsZS5j
cHAKIEpTQ1NTS2V5ZnJhbWVSdWxlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFmNzNmZTBiMzljMTYxOTliNTRhNWFjZTc0
NjFiZDk3MzJlNTBjZWMuLjA0YWIxZWU3YzkxY2RlZWVmNzM0ODZhM2U4ZGVkY2ZlZjk4YzJhYmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTY1Myw2ICs2NTMsNyBAQAogCQkxQzI0RUVBOTFDNzJBN0I0MDA4MEY4RkMgLyogSlNG
b250RmFjZVNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUMyNEVFQTcxQzcyQTdCNDAwODBGOEZDIC8qIEpTRm9udEZhY2VTZXQuaCAqLzsgfTsKIAkJ
MUM0M0RFNkIyMkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3VycmVudFRyYWl0Q29sbGVjdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM0M0RFNjgy
MkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3VycmVudFRyYWl0Q29sbGVjdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFDNEQwREQzMjREOUYx
MEQwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNEQwREQxMjREOUYwREIwMDNENzQ5OCAvKiBHbHlw
aEJ1ZmZlck1lbWJlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkxQzVFMURBODI2Rjk0QjkwMDBFMDdBRjEgLyogRm9udFBhbGV0dGVWYWx1ZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNUUxREE2
MjZGOTQ5QjkwMEUwN0FGMSAvKiBGb250UGFsZXR0ZVZhbHVlcy5oICovOyB9OwogCQkxQzY2MjYx
MTFDNkU3Q0E2MDBBQjUyN0MgLyogRm9udEZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjYyNjBGMUM2RTdDQTYwMEFCNTI3QyAvKiBGb250RmFj
ZS5oICovOyB9OwogCQkxQzczQTcxMzIxODU3NTdFMDA0Q0NFQTUgLyogVGV4dFVuZGVybGluZU9m
ZnNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNC
NkI0RkIyMTdCODM5NDAwOTNCOUNEIC8qIFRleHRVbmRlcmxpbmVPZmZzZXQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQzczQTcxNTIxODU3NTg3
MDA0Q0NFQTUgLyogVGV4dERlY29yYXRpb25UaGlja25lc3MuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQjZCNEY4MjE3QjgzOTMwMDkzQjlDRCAvKiBU
ZXh0RGVjb3JhdGlvblRoaWNrbmVzcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC02NjcsNiArNjY4LDcgQEAKIAkJMUNFODg2NDEyNjEwNUJGMjAw
MEM4MTZDIC8qIEluTWVtb3J5RGlzcGxheUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRTg4NjNGMjYxMDVBNUYwMDBDODE2QyAvKiBJbk1lbW9y
eURpc3BsYXlMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMUNFOEQxMjcyNjE4NUMwRTAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlbUJ1ZmZl
cklkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFDRThEMTI1MjYxODVCRDgwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJZGVu
dGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMUNFOEQxMkUyNjE4NjFDNDAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlcmF0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRThEMTJDMjYxODYx
NjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUNFQUE1MzIyNkYzMzZGQzAwODY4NTA3IC8q
IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0VBQTUzMTI2RjMzMUMxMDA4Njg1MDcg
LyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCAqLzsgfTsKIAkJMUNG
QUUzMjMwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0Qg
LyogbGlib2JqYy5keWxpYiAqLzsgfTsKIAkJMUQwMDI2QTQyMzc0RDYyNDAwQ0E2Q0RGIC8qIEpT
UGljdHVyZUluUGljdHVyZVdpbmRvdy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUQwMDI2QTIyMzc0RDYyMzAwQ0E2Q0RGIC8qIEpTUGljdHVyZUluUGlj
dHVyZVdpbmRvdy5oICovOyB9OwogCQkxRDAwMjZBQTIzNzRGOUVBMDBDQTZDREYgLyogSlNFbnRl
clBpY3R1cmVJblBpY3R1cmVFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUQwMDI2QTgyMzc0RjlEOTAwQ0E2Q0RGIC8qIEpTRW50ZXJQaWN0dXJl
SW5QaWN0dXJlRXZlbnQuaCAqLzsgfTsKQEAgLTcwNTEsNiArNzA1Myw3IEBACiAJCTFDNDNERTZB
MjJBQjRCOEEwMDE1MjdEOSAvKiBMb2NhbEN1cnJlbnRUcmFpdENvbGxlY3Rpb24ubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2NhbEN1cnJlbnRUcmFpdENvbGxl
Y3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNEQwREQxMjREOUYwREIw
MDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2x5cGhCdWZm
ZXJNZW1iZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNTBDNDk1MjJDODRG
MjQwMEE2RTRCRSAvKiBXSExTTFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdITFNMU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25NYXAuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQzVFMURBNjI2Rjk0OUI5MDBFMDdBRjEgLyogRm9udFBh
bGV0dGVWYWx1ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udFBhbGV0dGVWYWx1ZXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2NjI2MEUxQzZFN0NBNjAwQUI1MjdDIC8qIEZvbnRG
YWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvbnRGYWNlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2NjI2MEYxQzZFN0NBNjAwQUI1MjdD
IC8qIEZvbnRGYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRGYWNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNkZEOEFDMjUwQTI5NEQwMEQ2RTky
MCAvKiBGb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9u
dFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTcwODMsNiArNzA4NiwxMSBAQAogCQkxQ0U4RDEyNTI2MTg1QkQ4MDBGQzNBRUYgLyogRGlzcGxh
eUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0
ZW1CdWZmZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRThE
MTJCMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IERpc3BsYXlMaXN0SXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQ0U4RDEyQzI2MTg2MTY0MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVyYXRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MkQyNkYzMUEzQzAwODY4
NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1
MkYyNkYzMUFGODAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUNFQUE1MzAyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvclZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0ZvbnRQYWxldHRlVmFsdWVz
T3ZlcnJpZGVDb2xvclZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNF
QUE1MzEyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xv
clZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xv
clZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRjBCRkQ0MjI5ODcwNjgw
MEVEMjA3NCAvKiBUZXh0U2l6ZUFkanVzdG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4
dFNpemVBZGp1c3RtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGMThG
M0MyNkJCNUFGMjAwNEIxNzIyIC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IExvZ0luaXRpYWxpemF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUNGQUUzMjIwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5
bGliIjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJvYmpjLmR5bGli
OyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAtMjcwMTAsNiArMjcwMTgsNyBAQAog
CQkJCUU0NEVFM0E2MTc1NzZFNTUwMEVFRThDRiAvKiBGb250R2VuZXJpY0ZhbWlsaWVzLmNwcCAq
LywKIAkJCQlFNDRFRTNBNzE3NTc2RTU1MDBFRUU4Q0YgLyogRm9udEdlbmVyaWNGYW1pbGllcy5o
ICovLAogCQkJCTA4NDU2ODA3MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oICovLAor
CQkJCTFDNUUxREE2MjZGOTQ5QjkwMEUwN0FGMSAvKiBGb250UGFsZXR0ZVZhbHVlcy5oICovLAog
CQkJCTg0QjYyNjg0MTMzMTM4RjkwMDk1QTQ4OSAvKiBGb250UGxhdGZvcm1EYXRhLmNwcCAqLywK
IAkJCQlCNTMyMEQ2OTEyMkEyNEU5MDAyRDE0NDAgLyogRm9udFBsYXRmb3JtRGF0YS5oICovLAog
CQkJCTM3MUY0RkZCMEQyNUU3RjMwMEVDRTBENSAvKiBGb250UmFuZ2VzLmNwcCAqLywKQEAgLTI5
NTkzLDYgKzI5NjAyLDExIEBACiAJCQkJODM1MjBDN0QxQTcxQkZDQzAwNkJEMkFBIC8qIENTU0Zv
bnRGYW1pbHkuaCAqLywKIAkJCQk0QTZFOUZDMTEzQzE3RDFEMDA0NkE3RjggLyogQ1NTRm9udEZl
YXR1cmVWYWx1ZS5jcHAgKi8sCiAJCQkJNEE2RTlGQzIxM0MxN0QxRDAwNDZBN0Y4IC8qIENTU0Zv
bnRGZWF0dXJlVmFsdWUuaCAqLywKKwkJCQkxQ0VBQTUzMDI2RjMzMUMxMDA4Njg1MDcgLyogQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwICovLAorCQkJCTFDRUFBNTMx
MjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1
ZS5oICovLAorCQkJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUuY3BwICovLAorCQkJCTFDRUFBNTJEMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUuaCAqLywKKwkJCQkxQ0VBQTUyRjI2RjMxQUY4MDA4Njg1MDcgLyog
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCAqLywKIAkJCQlCQzY0QjREMzBDQjQyOThBMDA1
RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmNwcCAqLywKIAkJCQlCQzY0QjRENDBDQjQyOThBMDA1
RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmggKi8sCiAJCQkJQzJFMzhFRkYxRTg0NTczNTAwQ0Ez
QURGIC8qIENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuY3BwICovLApAQCAtMzE5NjcsNiArMzE5ODEs
NyBAQAogCQkJCUJDNjRCNERBMENCNDI5OEEwMDVGMkI2MiAvKiBDU1NGb250RmFjZVNyY1ZhbHVl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzUyMEM3RTFBNzFCRkNDMDA2QkQyQUEgLyogQ1NTRm9u
dEZhbWlseS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE2RTlGQzQxM0MxN0QxRDAwNDZBN0Y4IC8q
IENTU0ZvbnRGZWF0dXJlVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTFDRUFBNTMyMjZGMzM2
RkMwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM2NEI0REMwQ0I0Mjk4QTAwNUYyQjYyIC8qIENTU0ZvbnRTZWxl
Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJFMzhGMDIxRTg0NTczNTAwQ0EzQURGIC8qIENT
U0ZvbnRTdHlsZVJhbmdlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyRTM4RUZFMUU4Mzk2
RkQwMENBM0FERiAvKiBDU1NGb250U3R5bGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjUw
NCw2ICszMjUxOSw3IEBACiAJCQkJNjU4NDM2ODYwQUUwMUI3NDAwRTUzNzQzIC8qIEZvbnRMb2Fk
UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0QTUzMkYyNTYwNTdDRDAwMjhDNTkyIC8q
IEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4NDU2ODA4MTJC
OTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUM1RTFE
QTgyNkY5NEI5MDAwRTA3QUYxIC8qIEZvbnRQYWxldHRlVmFsdWVzLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCNTMyMEQ2QjEyMkEyNEU5MDAyRDE0NDAgLyogRm9udFBsYXRmb3JtRGF0YS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzcxRjRGRkMwRDI1RTdGMzAwRUNFMEQ1IC8qIEZvbnRSYW5nZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDNEE1MzM5MjU2MDYzOTgwMDI4QzU5MiAvKiBGb250UmVuZGVy
aW5nTW9kZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1dlYkNvcmUueGNzY2hlbWUgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1dl
YkNvcmUueGNzY2hlbWUKaW5kZXggMTU4MmUxYTNjNTZkZjllNzgyMDBkOTlhOTk4NjgwNTkxYjRj
ZGYwYi4uNTlhY2ZmNWQ3NjQ1OGE1NTE3ZmNlNzlkZmJkNTYxMmI2NzI1MzRlNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1l
cy9XZWJDb3JlLnhjc2NoZW1lCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVtZQpAQCAtNDAsNiArNDAsMjgg
QEAKICAgICAgIGRlYnVnRG9jdW1lbnRWZXJzaW9uaW5nID0gIllFUyIKICAgICAgIGRlYnVnU2Vy
dmljZUV4dGVuc2lvbiA9ICJpbnRlcm5hbCIKICAgICAgIGFsbG93TG9jYXRpb25TaW11bGF0aW9u
ID0gIllFUyI+CisgICAgICA8UGF0aFJ1bm5hYmxlCisgICAgICAgICBydW5uYWJsZURlYnVnZ2lu
Z01vZGUgPSAiMCIKKyAgICAgICAgIEJ1bmRsZUlkZW50aWZpZXIgPSAib3JnLndlYmtpdC5NaW5p
QnJvd3NlciIKKyAgICAgICAgIEZpbGVQYXRoID0gIi9Vc2Vycy9tbWF4ZmllbGQvQnVpbGQvUHJv
ZHVjdHMvRGVidWcvTWluaUJyb3dzZXIuYXBwIj4KKyAgICAgIDwvUGF0aFJ1bm5hYmxlPgorICAg
ICAgPEVudmlyb25tZW50VmFyaWFibGVzPgorICAgICAgICAgPEVudmlyb25tZW50VmFyaWFibGUK
KyAgICAgICAgICAgIGtleSA9ICJNYWxsb2MiCisgICAgICAgICAgICB2YWx1ZSA9ICIxIgorICAg
ICAgICAgICAgaXNFbmFibGVkID0gIllFUyI+CisgICAgICAgICA8L0Vudmlyb25tZW50VmFyaWFi
bGU+CisgICAgICAgICA8RW52aXJvbm1lbnRWYXJpYWJsZQorICAgICAgICAgICAga2V5ID0gIl9f
WFBDX01hbGxvYyIKKyAgICAgICAgICAgIHZhbHVlID0gIjEiCisgICAgICAgICAgICBpc0VuYWJs
ZWQgPSAiWUVTIj4KKyAgICAgICAgIDwvRW52aXJvbm1lbnRWYXJpYWJsZT4KKyAgICAgICAgIDxF
bnZpcm9ubWVudFZhcmlhYmxlCisgICAgICAgICAgICBrZXkgPSAiT1NfQUNUSVZJVFlfTU9ERSIK
KyAgICAgICAgICAgIHZhbHVlID0gImRpc2FibGUiCisgICAgICAgICAgICBpc0VuYWJsZWQgPSAi
WUVTIj4KKyAgICAgICAgIDwvRW52aXJvbm1lbnRWYXJpYWJsZT4KKyAgICAgIDwvRW52aXJvbm1l
bnRWYXJpYWJsZXM+CiAgICA8L0xhdW5jaEFjdGlvbj4KICAgIDxQcm9maWxlQWN0aW9uCiAgICAg
ICBidWlsZENvbmZpZ3VyYXRpb24gPSAiUmVsZWFzZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCmluZGV4IDc1MGUwMGMzODdmYmQyNzhlNTg1ZmVj
NmJkMzRkMjA1MDcxY2M1ZDMuLjhjNGM1NjE1YTM5ZjcxMzk1ZDdkYzdlOWI4ZmU3OWY2MTk3Yzky
NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3Rv
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNw
cApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0eWxlUnVsZS5oIgog
I2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZS5oIgogI2luY2x1ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlm
cmFtZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZXNSdWxlLmgiCkBAIC0zOCw2ICszOSw3
IEBACiAjaW5jbHVkZSAiQ1NTU3VwcG9ydHNSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NDb3VudGVy
U3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJK
U0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTSW1wb3J0UnVsZS5o
IgogI2luY2x1ZGUgIkpTQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NLZXlmcmFt
ZXNSdWxlLmgiCkBAIC03MCw2ICs3Miw4IEBAIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0ds
b2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxDCiAgICAg
ICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU01lZGlhUnVsZT4oZ2xvYmFsT2JqZWN0LCBXVEZN
b3ZlKHJ1bGUpKTsKICAgICBjYXNlIENTU1J1bGU6OkZPTlRfRkFDRV9SVUxFOgogICAgICAgICBy
ZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NGb250RmFjZVJ1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92
ZShydWxlKSk7CisgICAgY2FzZSBDU1NSdWxlOjpGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEU6Cisg
ICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZT4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKHJ1bGUpKTsKICAgICBjYXNlIENTU1J1bGU6OlBBR0VfUlVMRToK
ICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8Q1NTUGFnZVJ1bGU+KGdsb2JhbE9iamVjdCwg
V1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxlOjpJTVBPUlRfUlVMRToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXgg
MjZiNDk1N2Y4NDliNzAxYzVkMDZmN2I0NDNkNWRjZmJlOWNlOTM5MC4uMzc4OGYxMTJjYmZlY2Ji
OGYxNTQ0OGM4OWQ4OGQ4MzMyY2YwOGI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDA0IFphY2sgUnVzaW4gPHphY2tAa2RlLm9yZz4KLSAqIENvcHlyaWdo
dCAoQykgMjAwNC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENv
cHlyaWdodCAoQykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQub3JnPgogICog
Q29weXJpZ2h0IChDKSAyMDA3IE5pY2hvbGFzIFNoYW5rcyA8d2Via2l0QG5pY2tzaGFua3MuY29t
PgogICogQ29weXJpZ2h0IChDKSAyMDExIFNlbmNoYSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgpAQCAtNDA1Miw2ICs0MDUyLDExIEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4
dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlGb250RGlzcGxheToKICAgICAgICAgICAgIGJyZWFrOwogCisgICAg
ICAgIC8vIFVuaW1wbGVtZW50ZWQgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgcHJvcGVydGllcworICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5QmFzZVBhbGV0dGU6CisgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlPdmVycmlkZUNvbG9yOgorICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgLyogT3RoZXIg
dW5pbXBsZW1lbnRlZCBwcm9wZXJ0aWVzICovCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlQYWdl
OiAvLyBmb3IgQHBhZ2UKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVNpemU6IC8vIGZvciBAcGFn
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzT3Zl
cnJpZGVDb2xvclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZh
bHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzZkNDZjMmExMWZhYmZkMWYy
NzUwN2Y0YjMzMzEzN2U2NjRiN2YzZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAKQEAgLTAsMCAr
MSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRl
Q29sb3JWYWx1ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1N0cmluZyBDU1NGb250UGFs
ZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1ha2VTdHJpbmcobV9rZXktPmNzc1RleHQoKSwgIiAiLCBtX2NvbG9yLT5jc3NU
ZXh0KCkpOworfQorCitib29sIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVl
OjplcXVhbHMoY29uc3QgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUmIG90
aGVyKSBjb25zdAoreworICAgIHJldHVybiBtX2tleS0+ZXF1YWxzKG90aGVyLmtleSgpKSAmJiBt
X2NvbG9yLT5lcXVhbHMob3RoZXIuY29sb3IoKSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVl
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjcxOTBiYmM5MjcwMmRiM2E2OTkwYTdjOThhZWFmMjE0NGJmNmY3YQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVl
c092ZXJyaWRlQ29sb3JWYWx1ZS5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkNT
U1ZhbHVlLmgiCisjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKKyNpbmNsdWRlICJS
ZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KKyNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBDYWNoZWRGb250OworY2xhc3MgRm9udExvYWRSZXF1ZXN0OworY2xhc3MgU1ZHRm9udEZhY2VF
bGVtZW50OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUgZmluYWwgOiBwdWJsaWMgQ1NTVmFsdWUgewor
cHVibGljOgorICAgIHN0YXRpYyBSZWY8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9y
VmFsdWU+IGNyZWF0ZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYga2V5LCBSZWY8Q1NTUHJpbWl0
aXZlVmFsdWU+JiYgY29sb3IpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZShXVEZNb3ZlKGtleSksIFdURk1v
dmUoY29sb3IpKSk7CisgICAgfQorCisgICAgY29uc3QgQ1NTUHJpbWl0aXZlVmFsdWUmIGtleSgp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9rZXkuZ2V0KCk7CisgICAgfQorCisgICAg
Y29uc3QgQ1NTUHJpbWl0aXZlVmFsdWUmIGNvbG9yKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJl
dHVybiBtX2NvbG9yLmdldCgpOworICAgIH0KKworICAgIFN0cmluZyBjdXN0b21DU1NUZXh0KCkg
Y29uc3Q7CisKKyAgICBib29sIGVxdWFscyhjb25zdCBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJy
aWRlQ29sb3JWYWx1ZSYpIGNvbnN0OworCitwcml2YXRlOgorICAgIENTU0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlKFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4mJiBrZXksIFJlZjxD
U1NQcmltaXRpdmVWYWx1ZT4mJiBjb2xvcikKKyAgICAgICAgOiBDU1NWYWx1ZShGb250UGFsZXR0
ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzcykKKyAgICAgICAgLCBtX2tleShXVEZNb3ZlKGtleSkp
CisgICAgICAgICwgbV9jb2xvcihXVEZNb3ZlKGNvbG9yKSkKKyAgICB7CisgICAgfQorCisgICAg
UmVmPENTU1ByaW1pdGl2ZVZhbHVlPiBtX2tleTsKKyAgICBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+
IG1fY29sb3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfQ1NTX1ZBTFVFKENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVl
LCBpc0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlKCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhNzRj
MjE2OWViZmI2ZmRlNzk1ZWY4MGNjM2IzMjgzMmY1MWJiOTYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcApAQCAtMCwwICsx
LDExOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCIK
KworI2luY2x1ZGUgIkNvbG9yU2VyaWFsaXphdGlvbi5oIgorI2luY2x1ZGUgIkpTRE9NTWFwTGlr
ZS5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5oIgorI2luY2x1
ZGUgIlN0eWxlUHJvcGVydGllcy5oIgorI2luY2x1ZGUgIlN0eWxlUnVsZS5oIgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZShTdHlsZVJ1bGVG
b250UGFsZXR0ZVZhbHVlcyYgZm9udFBhbGV0dGVWYWx1ZXNSdWxlLCBDU1NTdHlsZVNoZWV0KiBw
YXJlbnQpCisgICAgOiBDU1NSdWxlKHBhcmVudCkKKyAgICAsIG1fZm9udFBhbGV0dGVWYWx1ZXNS
dWxlKGZvbnRQYWxldHRlVmFsdWVzUnVsZSkKK3sKK30KKworQ1NTRm9udFBhbGV0dGVWYWx1ZXNS
dWxlOjp+Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKCkKK3sKK30KKworc3RhdGljIFJlZlB0cjxD
U1NWYWx1ZT4gcGFyc2VTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIENTU1Byb3BlcnR5SUQg
cHJvcGVydHlJRCkKK3sKKyAgICBDU1NQYXJzZXJDb250ZXh0IGNvbnRleHQoSFRNTFN0YW5kYXJk
TW9kZSk7CisgICAgY29udGV4dC5lbmNsb3NpbmdSdWxlVHlwZSA9IFN0eWxlUnVsZVR5cGU6OkZv
bnRQYWxldHRlVmFsdWVzOworICAgIGF1dG8gcHJvcGVydGllcyA9IE11dGFibGVTdHlsZVByb3Bl
cnRpZXM6OmNyZWF0ZSgpOworICAgIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShwcm9wZXJ0aWVzLCBw
cm9wZXJ0eUlELCBzdHJpbmcsIGZhbHNlLCBjb250ZXh0KTsKKyAgICByZXR1cm4gcHJvcGVydGll
cy0+Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsKK30KKworU3RyaW5nIENTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZTo6Zm9udEZhbWlseSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZm9u
dFBhbGV0dGVWYWx1ZXNSdWxlLT5mb250RmFtaWx5KCk7Cit9CisKK1N0cmluZyBDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGU6OmJhc2VQYWxldHRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gV1RGOjpz
d2l0Y2hPbihtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwgWyZdKGludDY0
X3QgaW5kZXgpIHsKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoaW5kZXgpOworICAgIH0sIFsm
XShjb25zdCBBdG9tU3RyaW5nJiBiYXNlUGFsZXR0ZSkgLT4gU3RyaW5nIHsKKyAgICAgICAgaWYg
KCFiYXNlUGFsZXR0ZS5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBiYXNlUGFsZXR0ZS5z
dHJpbmcoKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmVtcHR5KCk7CisgICAgfSk7Cit9
CisKK3ZvaWQgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjppbml0aWFsaXplTWFwTGlrZShET01N
YXBBZGFwdGVyJiBtYXApCit7CisgICAgZm9yIChhdXRvJiBwYWlyIDogbV9mb250UGFsZXR0ZVZh
bHVlc1J1bGUtPm92ZXJyaWRlQ29sb3IoKSkgeworICAgICAgICBpZiAoIVdURjo6aG9sZHNfYWx0
ZXJuYXRpdmU8aW50NjRfdD4ocGFpci5maXJzdCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgbWFwLnNldDxJRExVbnNpZ25lZExvbmcsIElETFVTVlN0cmluZz4oV1RGOjpnZXQ8aW50
NjRfdD4ocGFpci5maXJzdCksIHNlcmlhbGl6YXRpb25Gb3JDU1MocGFpci5zZWNvbmQpKTsKKyAg
ICB9Cit9CisKK1N0cmluZyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OmNzc1RleHQoKSBjb25z
dAoreworICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKyAgICBidWlsZGVyLmFwcGVuZCgiQGZv
bnQtcGFsZXR0ZS12YWx1ZXMgIiwgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm5hbWUoKSwgIiB7
ICIpOworICAgIGlmICghbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmZvbnRGYW1pbHkoKS5pc051
bGwoKSkKKyAgICAgICAgYnVpbGRlci5hcHBlbmQoImZvbnQtZmFtaWx5OiAiLCBtX2ZvbnRQYWxl
dHRlVmFsdWVzUnVsZS0+Zm9udEZhbWlseSgpLCAiOyAiKTsKKyAgICBXVEY6OnN3aXRjaE9uKG1f
Zm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5iYXNlUGFsZXR0ZSgpLCBbJl0oaW50NjRfdCBpbmRleCkg
eworICAgICAgICBidWlsZGVyLmFwcGVuZCgiYmFzZS1wYWxldHRlOiAiLCBpbmRleCwgIjsgIik7
CisgICAgfSwgWyZdKGNvbnN0IEF0b21TdHJpbmcmIGJhc2VQYWxldHRlKSB7CisgICAgICAgIGlm
ICghYmFzZVBhbGV0dGUuaXNOdWxsKCkpCisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgiYmFz
ZS1wYWxldHRlOiAiLCBzZXJpYWxpemVTdHJpbmcoYmFzZVBhbGV0dGUuc3RyaW5nKCkpLCAiOyAi
KTsKKyAgICB9KTsKKyAgICBpZiAoIW1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5vdmVycmlkZUNv
bG9yKCkuaXNFbXB0eSgpKSB7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJvdmVycmlkZS1jb2xv
cjoiKTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2ZvbnRQYWxldHRlVmFsdWVz
UnVsZS0+b3ZlcnJpZGVDb2xvcigpLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBpZiAoaSkK
KyAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnLCcpOworICAgICAgICAgICAgYnVpbGRl
ci5hcHBlbmQoJyAnKTsKKyAgICAgICAgICAgIFdURjo6c3dpdGNoT24obV9mb250UGFsZXR0ZVZh
bHVlc1J1bGUtPm92ZXJyaWRlQ29sb3IoKVtpXS5maXJzdCwgWyZdKGNvbnN0IEF0b21TdHJpbmcm
IG5hbWUpIHsKKyAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZChzZXJpYWxpemVTdHJpbmco
bmFtZS5zdHJpbmcoKSkpOworICAgICAgICAgICAgfSwgWyZdKGludDY0X3QgaW5kZXgpIHsKKyAg
ICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZChpbmRleCk7CisgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJywgc2VyaWFsaXphdGlvbkZvckNTUyhtX2ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS0+b3ZlcnJpZGVDb2xvcigpW2ldLnNlY29uZCkpOworICAgICAgICB9
CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCI7ICIpOworICAgIH0KKyAgICBidWlsZGVyLmFwcGVu
ZCgnfScpOworICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7Cit9CisKK3ZvaWQgQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlJiBydWxlKQoreworICAg
IG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlID0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlRm9udFBhbGV0
dGVWYWx1ZXMmPihydWxlKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwZDVi
ZGRiYzk5YWFkMWNmYWQzMzQ0MjY4NjUxNDU3YWM2NzcyOTYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmgKQEAgLTAsMCArMSw2
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaW5jbHVkZSAiQ1NTUnVsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIENTU1N0eWxlRGVjbGFyYXRpb247CitjbGFzcyBET01NYXBBZGFwdGVyOworY2xhc3Mg
U3R5bGVSdWxlRm9udEZhY2U7CitjbGFzcyBTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uOwor
CitjbGFzcyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgZmluYWwgOiBwdWJsaWMgQ1NTUnVsZSB7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU+IGNyZWF0
ZShTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyYgcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQp
IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlKHJ1bGUsIHNo
ZWV0KSk7IH0KKworICAgIHZpcnR1YWwgfkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgpOworCisg
ICAgU3RyaW5nIGZvbnRGYW1pbHkoKSBjb25zdDsKKyAgICBTdHJpbmcgYmFzZVBhbGV0dGUoKSBj
b25zdDsKKworICAgIHZvaWQgaW5pdGlhbGl6ZU1hcExpa2UoRE9NTWFwQWRhcHRlciYpOworCitw
cml2YXRlOgorICAgIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZShTdHlsZVJ1bGVGb250UGFsZXR0
ZVZhbHVlcyYsIENTU1N0eWxlU2hlZXQqIHBhcmVudCk7CisKKyAgICBDU1NSdWxlOjpUeXBlIHR5
cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEU7IH0KKyAg
ICBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgcmVhdHRhY2goU3R5bGVS
dWxlQmFzZSYpIGZpbmFsOworCisgICAgUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBt
X2ZvbnRQYWxldHRlVmFsdWVzUnVsZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
U1BFQ0lBTElaRV9UWVBFX1RSQUlUU19DU1NfUlVMRShDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUs
IENTU1J1bGU6OkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Q4MzAwNDBjMzdk
N2EwNDZlY2Y2ODMzN2RjODkyMzM0YjExMmVkNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCkBAIC0wLDAgKzEsMjkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwor
Cit0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmluZzsKKworWworICAgIEV4cG9zZWQ9V2luZG93
CitdIGludGVyZmFjZSBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgOiBDU1NSdWxlIHsKKyAgICBy
ZWFkb25seSBtYXBsaWtlPHVuc2lnbmVkIGxvbmcsIENTU09NU3RyaW5nPjsKKyAgICByZWFkb25s
eSBhdHRyaWJ1dGUgQ1NTT01TdHJpbmcgZm9udEZhbWlseTsKKyAgICByZWFkb25seSBhdHRyaWJ1
dGUgQ1NTT01TdHJpbmcgYmFzZVBhbGV0dGU7Cit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgppbmRleCBkYzhmYzQxNTQzNjZlNmU3NTgxZWFlMDRiNDNlYjk2Yzk5NWUxOWJj
Li42MjhlMTdiNjJmODQ2ZjdlMjdlMDY1NWIzNTEwZmQ3ZjgyOTM2MjU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTQwODUsNiArNDA4NSwyNiBAQAogICAgICAgICAg
ICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1mb250cy0zLyNzcmMtZGVz
YyIKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKKyAgICAgICAgImJhc2UtcGFsZXR0ZSI6IHsK
KyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInNr
aXAtYnVpbGRlciI6IHRydWUsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0b3Itb25seSI6IHRy
dWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAgICAg
ICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWZvbnRzIiwKKyAgICAgICAgICAgICAgICAidXJs
IjogImh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMtNC8jYmFzZS1wYWxldHRlLWRl
c2MiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJvdmVycmlkZS1jb2xvciI6
IHsKKyAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAg
InNraXAtYnVpbGRlciI6IHRydWUsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0b3Itb25seSI6
IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKKyAg
ICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiY3NzLWZvbnRzIiwKKyAgICAgICAgICAgICAgICAi
dXJsIjogImh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMtNC8jb3ZlcnJpZGUtY29s
b3IiCisgICAgICAgICAgICB9CisgICAgICAgIH0sCiAgICAgICAgICJzdG9wLWNvbG9yIjogewog
ICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAiY29u
dmVydGVyIjogIlNWR0NvbG9yIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NS
dWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcAppbmRleCAwZjNjNDM5NGQ5
NWUyMzcwNmU0OGY0ZTI5YWZiNDg0ZmJmZGMzODAyLi4zZWNmODQ0YWYzYjcyZDEyNTA3ZjFiZTI0
Mjc0ZTJmYTZmMDI5NjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCkBAIC0xLDcgKzEsNyBAQAog
LyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAqIChDKSAy
MDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDIsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC00OCw2ICs0OCw3IEBAIENPTVBJTEVfQVNT
RVJUKFN0eWxlUnVsZVR5cGU6OktleWZyYW1lID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+
KENTU1J1bGU6OlR5CiBDT01QSUxFX0FTU0VSVChTdHlsZVJ1bGVUeXBlOjpOYW1lc3BhY2UgPT0g
c3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlwZTo6TkFNRVNQQUNFX1JVTEUp
LCBlbnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6Q291
bnRlclN0eWxlID09IHN0YXRpY19jYXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6OkNP
VU5URVJfU1RZTEVfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CiBDT01QSUxFX0FTU0VSVChT
dHlsZVJ1bGVUeXBlOjpTdXBwb3J0cyA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NS
dWxlOjpUeXBlOjpTVVBQT1JUU19SVUxFKSwgZW51bXNfc2hvdWxkX21hdGNoKTsKK0NPTVBJTEVf
QVNTRVJUKFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzID09IHN0YXRpY19jYXN0PFN0
eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6OkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSksIGVu
dW1zX3Nob3VsZF9tYXRjaCk7CiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IENTU1J1bGU6OnNldENzc1Rl
eHQoY29uc3QgU3RyaW5nJikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NS
dWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCmluZGV4IDdlZmIzYTE3YmU0YjQz
MTFkNDUwNjAyY2Q3MTgwYjQxNjAzY2Y3MTQuLmU3NDU5ZmFlZTA3ODI0NTA0ZjAwNzcwYzM0NWUz
MDgwNGQ0YjQ0YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAo
QykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAz
IERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAyLTIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAy
LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAy
MDExIEFuZHJlYXMgS2xpbmcgKGtsaW5nQHdlYmtpdC5vcmcpCiAgKgogICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMzgs
MTkgKzM4LDIwIEBAIHB1YmxpYzoKIAogICAgIC8vIFdlYklETCBlbnVtCiAgICAgZW51bSBUeXBl
IHsKLSAgICAgICAgVU5LTk9XTl9SVUxFLAotICAgICAgICBTVFlMRV9SVUxFLAotICAgICAgICBD
SEFSU0VUX1JVTEUsCi0gICAgICAgIElNUE9SVF9SVUxFLAotICAgICAgICBNRURJQV9SVUxFLAot
ICAgICAgICBGT05UX0ZBQ0VfUlVMRSwKLSAgICAgICAgUEFHRV9SVUxFLAotICAgICAgICBLRVlG
UkFNRVNfUlVMRSwKLSAgICAgICAgS0VZRlJBTUVfUlVMRSwKLSAgICAgICAgTUFSR0lOX1JVTEUs
Ci0gICAgICAgIE5BTUVTUEFDRV9SVUxFLAotICAgICAgICBDT1VOVEVSX1NUWUxFX1JVTEUsCi0g
ICAgICAgIFNVUFBPUlRTX1JVTEUKKyAgICAgICAgVU5LTk9XTl9SVUxFID0gMCwKKyAgICAgICAg
U1RZTEVfUlVMRSA9IDEsCisgICAgICAgIENIQVJTRVRfUlVMRSA9IDIsCisgICAgICAgIElNUE9S
VF9SVUxFID0gMywKKyAgICAgICAgTUVESUFfUlVMRSA9IDQsCisgICAgICAgIEZPTlRfRkFDRV9S
VUxFID0gNSwKKyAgICAgICAgUEFHRV9SVUxFID0gNiwKKyAgICAgICAgS0VZRlJBTUVTX1JVTEUg
PSA3LAorICAgICAgICBLRVlGUkFNRV9SVUxFID0gOCwKKyAgICAgICAgTUFSR0lOX1JVTEUgPSA5
LAorICAgICAgICBOQU1FU1BBQ0VfUlVMRSA9IDEwLAorICAgICAgICBDT1VOVEVSX1NUWUxFX1JV
TEUgPSAxMSwKKyAgICAgICAgU1VQUE9SVFNfUlVMRSA9IDEyLAorICAgICAgICBGT05UX1BBTEVU
VEVfVkFMVUVTX1JVTEUgPSAxOSAvLyBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0
cy9pc3N1ZXMvNjYyMwogICAgIH07CiAKICAgICBlbnVtIERlcHJlY2F0ZWRUeXBlIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NSdWxlLmlkbAppbmRleCBmM2U2NjEzN2Q3NjM3MzBjMzdmMDIzYTE2MzNlMzJlZjgyNTBl
YjU2Li5hNTg4YWJlNGY2OTQ2NTNjZmYxMzMwZjFkMDdlNDYyYTliMjc5YmJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1J1bGUuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNi0y
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
Ni0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykg
MjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBA
IC00NCw2ICs0NCw3IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTkFNRVNQQUNFX1JVTEUg
PSAxMDsKICAgICBbRW5hYmxlZEJ5U2V0dGluZz1DU1NDb3VudGVyU3R5bGVBdFJ1bGVzXSBjb25z
dCB1bnNpZ25lZCBzaG9ydCBDT1VOVEVSX1NUWUxFX1JVTEUgPSAxMTsKICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBTVVBQT1JUU19SVUxFID0gMTI7CisgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
Rk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFID0gMTk7IC8qIGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
Y3Nzd2ctZHJhZnRzL2lzc3Vlcy82NjIzICovCiAKICAgICAvLyBMZWdhY3kgc3lub255bXMgZm9y
IHRoZSBhYm92ZSwga2VwdCB0byBhdm9pZCBicmVha2luZyBleGlzdGluZyBjb250ZW50LgogICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IFdFQktJVF9LRVlGUkFNRVNfUlVMRSA9IDc7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlLmNwcAppbmRleCA4NzM2OWFiMGRiNTJmMGEyZThhM2JhMmMwMzk1MzYwNGM0NGQx
N2UyLi4xOWNiNzNlZmVkM2RjYjgwNjA3NDIxMDk2NGRlZDg0NmM2MDU1NWY0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZS5jcHAKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEx
IEFuZHJlYXMgS2xpbmcgKGtsaW5nQHdlYmtpdC5vcmcpCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSw2ICs0MCw3IEBACiAjaW5jbHVkZSAiQ1NTRmls
dGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlU3JjVmFsdWUuaCIKICNpbmNs
dWRlICJDU1NGb250RmVhdHVyZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVWYWx1
ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250U3R5bGVSYW5nZVZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTRm9udFN0eWxlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250VmFs
dWUuaCIKQEAgLTE2NCw2ICsxNjYsOCBAQCBib29sIENTU1ZhbHVlOjplcXVhbHMoY29uc3QgQ1NT
VmFsdWUmIG90aGVyKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8
Q1NTRm9udFZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEZvbnRGYWNlU3JjQ2xh
c3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NGb250RmFjZVNyY1Zh
bHVlPigqdGhpcywgb3RoZXIpOworICAgICAgICBjYXNlIEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvckNsYXNzOgorICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRm9u
dFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+KCp0aGlzLCBvdGhlcik7CiAgICAgICAg
IGNhc2UgRm9udEZlYXR1cmVDbGFzczoKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFs
dWVzPENTU0ZvbnRGZWF0dXJlVmFsdWU+KCp0aGlzLCBvdGhlcik7CiAgICAgICAgIGNhc2UgRm9u
dFZhcmlhdGlvbkNsYXNzOgpAQCAtMjY0LDYgKzI2OCw4IEBAIFN0cmluZyBDU1NWYWx1ZTo6Y3Nz
VGV4dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NGb250VmFsdWU+KCp0aGlz
KS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBGb250RmFjZVNyY0NsYXNzOgogICAgICAgICBy
ZXR1cm4gZG93bmNhc3Q8Q1NTRm9udEZhY2VTcmNWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQo
KTsKKyAgICBjYXNlIEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvckNsYXNzOgorICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+
KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBGb250RmVhdHVyZUNsYXNzOgogICAg
ICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9udEZlYXR1cmVWYWx1ZT4oKnRoaXMpLmN1c3RvbUNT
U1RleHQoKTsKICAgICBjYXNlIEZvbnRWYXJpYXRpb25DbGFzczoKQEAgLTM3Nyw2ICszODMsOSBA
QCB2b2lkIENTU1ZhbHVlOjpkZXN0cm95KCkKICAgICBjYXNlIEZvbnRGYWNlU3JjQ2xhc3M6CiAg
ICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NGb250RmFjZVNyY1ZhbHVlPih0aGlzKTsKICAgICAg
ICAgcmV0dXJuOworICAgIGNhc2UgRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xhc3M6
CisgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29s
b3JWYWx1ZT4odGhpcyk7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIEZvbnRGZWF0dXJlQ2xh
c3M6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NGb250RmVhdHVyZVZhbHVlPih0aGlzKTsK
ICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCAyM2ViNWVjMzhjY2U5Njkw
ZTVkOGFiNDRiNTY1MjQ1Zjg3MmQ5MDVkLi5hNTE2MjYxN2QzOTdiNzc4ZWM4MDk2NzNiMzQwYWQz
MjBlOTIyZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAo
QykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC05Nyw2ICs5Nyw3IEBAIHB1YmxpYzoKICAg
ICBib29sIGlzRm9udEZlYXR1cmVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09
IEZvbnRGZWF0dXJlQ2xhc3M7IH0KICAgICBib29sIGlzRm9udFZhcmlhdGlvblZhbHVlKCkgY29u
c3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udFZhcmlhdGlvbkNsYXNzOyB9CiAgICAgYm9v
bCBpc0ZvbnRGYWNlU3JjVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250
RmFjZVNyY0NsYXNzOyB9CisgICAgYm9vbCBpc0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xv
clZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udFBhbGV0dGVWYWx1ZXNP
dmVycmlkZUNvbG9yQ2xhc3M7IH0KICAgICBib29sIGlzRm9udFZhbHVlKCkgY29uc3QgeyByZXR1
cm4gbV9jbGFzc1R5cGUgPT0gRm9udENsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRTdHlsZVZhbHVl
KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udFN0eWxlQ2xhc3M7IH0KICAgICBi
b29sIGlzRm9udFN0eWxlUmFuZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09
IEZvbnRTdHlsZVJhbmdlQ2xhc3M7IH0KQEAgLTE4Nyw2ICsxODgsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgIEZvbnRTdHlsZUNsYXNzLAogICAgICAgICBGb250U3R5bGVSYW5nZUNsYXNzLAogICAg
ICAgICBGb250RmFjZVNyY0NsYXNzLAorICAgICAgICBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRl
Q29sb3JDbGFzcywKICAgICAgICAgRnVuY3Rpb25DbGFzcywKIAogICAgICAgICBJbmhlcml0ZWRD
bGFzcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKaW5kZXggNGIxNWMwOTQ5ODk5YmJlM2RlZDk5
MTRiZTliNmViMWU2NzgzMjVjMy4uYjE3MDhhNTgyNzNmY2MwMTYxYjljNTZkMTMwM2YwY2JkMDlh
MmE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKQEAgLTEsNyArMSw3IEBACiAvKgogICog
KEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAw
MyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMi0y
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
Mi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwpAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgIkNTU0NvdW50ZXJTdHlsZVJ1bGUuaCIKICNp
bmNsdWRlICJDU1NEZWZlcnJlZFBhcnNlci5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5o
IgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oIgogI2luY2x1ZGUgIkNTU0lt
cG9ydFJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NL
ZXlmcmFtZXNSdWxlLmgiCkBAIC03MCw2ICs3MSw5IEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6ZGVz
dHJveSgpCiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZToKICAgICAgICAgZGVsZXRl
IGRvd25jYXN0PFN0eWxlUnVsZUZvbnRGYWNlPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworICAg
IGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXM6CisgICAgICAgIGRlbGV0ZSBk
b3duY2FzdDxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4odGhpcyk7CisgICAgICAgIHJldHVy
bjsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok1lZGlhOgogICAgICAgICBkZWxldGUgZG93bmNh
c3Q8U3R5bGVSdWxlTWVkaWE+KHRoaXMpOwogICAgICAgICByZXR1cm47CkBAIC0xMTMsNiArMTE3
LDggQEAgUmVmPFN0eWxlUnVsZUJhc2U+IFN0eWxlUnVsZUJhc2U6OmNvcHkoKSBjb25zdAogICAg
ICAgICByZXR1cm4gZG93bmNhc3Q8U3R5bGVSdWxlUGFnZT4oKnRoaXMpLmNvcHkoKTsKICAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8U3R5
bGVSdWxlRm9udEZhY2U+KCp0aGlzKS5jb3B5KCk7CisgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpG
b250UGFsZXR0ZVZhbHVlczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PFN0eWxlUnVsZUZvbnRQ
YWxldHRlVmFsdWVzPigqdGhpcykuY29weSgpOwogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6TWVk
aWE6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVNZWRpYT4oKnRoaXMpLmNvcHko
KTsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlN1cHBvcnRzOgpAQCAtMTQ5LDYgKzE1NSw5IEBA
IFJlZjxDU1NSdWxlPiBTdHlsZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIoQ1NTU3R5bGVT
aGVldCogcGFyZW50U2hlZXQsIENTU1J1CiAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250RmFj
ZToKICAgICAgICAgcnVsZSA9IENTU0ZvbnRGYWNlUnVsZTo6Y3JlYXRlKGRvd25jYXN0PFN0eWxl
UnVsZUZvbnRGYWNlPihzZWxmKSwgcGFyZW50U2hlZXQpOwogICAgICAgICBicmVhazsKKyAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOgorICAgICAgICBydWxlID0gQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjcmVhdGUoZG93bmNhc3Q8U3R5bGVSdWxlRm9udFBhbGV0
dGVWYWx1ZXM+KHNlbGYpLCBwYXJlbnRTaGVldCk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
U3R5bGVSdWxlVHlwZTo6TWVkaWE6CiAgICAgICAgIHJ1bGUgPSBDU1NNZWRpYVJ1bGU6OmNyZWF0
ZShkb3duY2FzdDxTdHlsZVJ1bGVNZWRpYT4oc2VsZiksIHBhcmVudFNoZWV0KTsKICAgICAgICAg
YnJlYWs7CkBAIC0zMTksNiArMzI4LDI0IEBAIE11dGFibGVTdHlsZVByb3BlcnRpZXMmIFN0eWxl
UnVsZUZvbnRGYWNlOjptdXRhYmxlUHJvcGVydGllcygpCiAgICAgcmV0dXJuIGRvd25jYXN0PE11
dGFibGVTdHlsZVByb3BlcnRpZXM+KG1fcHJvcGVydGllcy5nZXQoKSk7CiB9CiAKK1N0eWxlUnVs
ZUZvbnRQYWxldHRlVmFsdWVzOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBBdG9t
U3RyaW5nJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBmb250RmFtaWx5LCBjb25zdCBGb250UGFs
ZXR0ZVZhbHVlczo6UGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSwgVmVjdG9yPEZvbnRQYWxldHRl
VmFsdWVzOjpPdmVycmlkZGVuQ29sb3I+JiYgb3ZlcnJpZGVDb2xvcikKKyAgICA6IFN0eWxlUnVs
ZUJhc2UoU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMpCisgICAgLCBtX25hbWUobmFt
ZSkKKyAgICAsIG1fZm9udEZhbWlseShmb250RmFtaWx5KQorICAgICwgbV9mb250UGFsZXR0ZVZh
bHVlcyhiYXNlUGFsZXR0ZSwgV1RGTW92ZShvdmVycmlkZUNvbG9yKSkKK3sKK30KKworU3R5bGVS
dWxlRm9udFBhbGV0dGVWYWx1ZXM6OlN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFN0
eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzJiBvKQorICAgIDogU3R5bGVSdWxlQmFzZShvKQorICAg
ICwgbV9uYW1lKG8ubmFtZSgpKQorICAgICwgbV9mb250RmFtaWx5KG8uZm9udEZhbWlseSgpKQor
ICAgICwgbV9mb250UGFsZXR0ZVZhbHVlcyhvLm1fZm9udFBhbGV0dGVWYWx1ZXMpCit7Cit9CisK
K1N0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOjp+U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMo
KSA9IGRlZmF1bHQ7CisKIERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0OjpEZWZlcnJlZFN0eWxl
R3JvdXBSdWxlTGlzdChjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgQ1NTRGVmZXJy
ZWRQYXJzZXImIHBhcnNlcikKICAgICA6IG1fcGFyc2VyKHBhcnNlcikKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGUuaAppbmRleCAxNTYyYzc5MjY3ZWE2NGQyMTcwMWI5ZGY3NTdjMDM1MjU5MGY5NzFiLi45
N2VjOTExZWVkM2M3OTEzMWFkZGRhNmNjN2UwZmRiZWEyY2FhOTRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UnVsZS5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAo
a25vbGxAa2RlLm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtk
ZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIzLDYgKzIzLDcgQEAKIAogI2lu
Y2x1ZGUgIkNTU1NlbGVjdG9yTGlzdC5oIgogI2luY2x1ZGUgIkNvbXBpbGVkU2VsZWN0b3IuaCIK
KyNpbmNsdWRlICJGb250UGFsZXR0ZVZhbHVlcy5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydGll
cy5oIgogI2luY2x1ZGUgIlN0eWxlUnVsZVR5cGUuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CkBAIC01Miw2ICs1Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzQ2hhcnNldFJ1bGUoKSBjb25z
dCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlwZTo6Q2hhcnNldDsgfQogICAgIGJvb2wg
aXNDb3VudGVyU3R5bGVSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5
cGU6OkNvdW50ZXJTdHlsZTsgfQogICAgIGJvb2wgaXNGb250RmFjZVJ1bGUoKSBjb25zdCB7IHJl
dHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2U7IH0KKyAgICBib29sIGlzRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5
cGU6OkZvbnRQYWxldHRlVmFsdWVzOyB9CiAgICAgYm9vbCBpc0tleWZyYW1lc1J1bGUoKSBjb25z
dCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWVzOyB9CiAgICAgYm9v
bCBpc0tleWZyYW1lUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1bGVUeXBl
OjpLZXlmcmFtZTsgfQogICAgIGJvb2wgaXNOYW1lc3BhY2VSdWxlKCkgY29uc3QgeyByZXR1cm4g
dHlwZSgpID09IFN0eWxlUnVsZVR5cGU6Ok5hbWVzcGFjZTsgfQpAQCAtMTU1LDYgKzE1Nyw0OCBA
QCBwcml2YXRlOgogICAgIFJlZjxTdHlsZVByb3BlcnRpZXM+IG1fcHJvcGVydGllczsKIH07CiAK
K2NsYXNzIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzIGZpbmFsIDogcHVibGljIFN0eWxlUnVs
ZUJhc2UgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXM+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBmb250
RmFtaWx5LCBjb25zdCBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0
ZSwgVmVjdG9yPEZvbnRQYWxldHRlVmFsdWVzOjpPdmVycmlkZGVuQ29sb3I+JiYgb3ZlcnJpZGVD
b2xvcikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhu
YW1lLCBmb250RmFtaWx5LCBiYXNlUGFsZXR0ZSwgV1RGTW92ZShvdmVycmlkZUNvbG9yKSkpOyB9
CisgICAgCisgICAgflN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKCk7CisKKyAgICBjb25zdCBB
dG9tU3RyaW5nJiBuYW1lKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX25hbWU7Cisg
ICAgfQorCisgICAgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSgpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gbV9mb250RmFtaWx5OworICAgIH0KKworICAgIGNvbnN0IEZvbnRQYWxl
dHRlVmFsdWVzJiBmb250UGFsZXR0ZVZhbHVlcygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1
cm4gbV9mb250UGFsZXR0ZVZhbHVlczsKKyAgICB9CisKKyAgICBjb25zdCBGb250UGFsZXR0ZVZh
bHVlczo6UGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSgpIGNvbnN0CisgICAgeworICAgICAgICBy
ZXR1cm4gbV9mb250UGFsZXR0ZVZhbHVlcy5iYXNlUGFsZXR0ZSgpOworICAgIH0KKworICAgIGNv
bnN0IFZlY3RvcjxGb250UGFsZXR0ZVZhbHVlczo6T3ZlcnJpZGRlbkNvbG9yPiYgb3ZlcnJpZGVD
b2xvcigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9mb250UGFsZXR0ZVZhbHVlcy5v
dmVycmlkZUNvbG9yKCk7CisgICAgfQorCisgICAgUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFs
dWVzPiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVGb250UGFs
ZXR0ZVZhbHVlcygqdGhpcykpOyB9CisKK3ByaXZhdGU6CisgICAgU3R5bGVSdWxlRm9udFBhbGV0
dGVWYWx1ZXMoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZh
bWlseSwgY29uc3QgRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUs
IFZlY3RvcjxGb250UGFsZXR0ZVZhbHVlczo6T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29s
b3IpOworICAgIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKGNvbnN0IFN0eWxlUnVsZUZvbnRQ
YWxldHRlVmFsdWVzJik7CisKKyAgICBBdG9tU3RyaW5nIG1fbmFtZTsKKyAgICBBdG9tU3RyaW5n
IG1fZm9udEZhbWlseTsKKyAgICBGb250UGFsZXR0ZVZhbHVlcyBtX2ZvbnRQYWxldHRlVmFsdWVz
OworfTsKKwogY2xhc3MgU3R5bGVSdWxlUGFnZSBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNl
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZVBhZ2U+IGNyZWF0ZShSZWY8U3R5
bGVQcm9wZXJ0aWVzPiYmLCBDU1NTZWxlY3Rvckxpc3QmJik7CkBAIC0zNTcsNiArNDAxLDEwIEBA
IFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxlRm9udEZhY2Up
CiAgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1
bGUpIHsgcmV0dXJuIHJ1bGUuaXNGb250RmFjZVJ1bGUoKTsgfQogU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19FTkQoKQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxl
UnVsZUZvbnRQYWxldHRlVmFsdWVzKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJD
b3JlOjpTdHlsZVJ1bGVCYXNlJiBydWxlKSB7IHJldHVybiBydWxlLmlzRm9udFBhbGV0dGVWYWx1
ZXNSdWxlKCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKKwogU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpTdHlsZVJ1bGVNZWRpYSkKICAgICBzdGF0aWMgYm9v
bCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVs
ZS5pc01lZGlhUnVsZSgpOyB9CiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlVHlwZS5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUnVsZVR5cGUuaAppbmRleCBjOWU1MThkYmU2MWI3MzViNmQ3YTFhN2ZmNjI0M2Nk
OTgxNWNjNWJkLi44ZjA1ZDYzYmU4MWExZmU3MTk2ZjljMmQ4N2UzM2ViYjFlMjFhYTQ0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlVHlwZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsMTkgKzI4LDIxIEBACiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGVudW0gY2xhc3MgU3R5bGVSdWxlVHlwZSA6IHVpbnQ4X3QgewotICAgIFVua25v
d24sIC8vIE5vdCB1c2VkLgotICAgIFN0eWxlLAotICAgIENoYXJzZXQsIC8vIE5vdCB1c2VkLiBU
aGVzZSBhcmUgaW50ZXJuYWxseSBzdHJpbmdzIG93bmVkIGJ5IHRoZSBzdHlsZSBzaGVldC4KLSAg
ICBJbXBvcnQsCi0gICAgTWVkaWEsCi0gICAgRm9udEZhY2UsCi0gICAgUGFnZSwKLSAgICBLZXlm
cmFtZXMsCi0gICAgS2V5ZnJhbWUsIC8vIE5vdCB1c2VkLiBUaGVzZSBhcmUgaW50ZXJuYWxseSBu
b24tcnVsZSBTdHlsZVJ1bGVLZXlmcmFtZSBvYmplY3RzLgorICAgIFVua25vd24gPSAwLCAvLyBO
b3QgdXNlZC4KKyAgICBTdHlsZSA9IDEsCisgICAgQ2hhcnNldCA9IDIsIC8vIE5vdCB1c2VkLiBU
aGVzZSBhcmUgaW50ZXJuYWxseSBzdHJpbmdzIG93bmVkIGJ5IHRoZSBzdHlsZSBzaGVldC4KKyAg
ICBJbXBvcnQgPSAzLAorICAgIE1lZGlhID0gNCwKKyAgICBGb250RmFjZSA9IDUsCisgICAgUGFn
ZSA9IDYsCisgICAgS2V5ZnJhbWVzID0gNywKKyAgICBLZXlmcmFtZSA9IDgsIC8vIE5vdCB1c2Vk
LiBUaGVzZSBhcmUgaW50ZXJuYWxseSBub24tcnVsZSBTdHlsZVJ1bGVLZXlmcmFtZSBvYmplY3Rz
LgorICAgIC8vIE1hcmdpbiA9IDksIEZJWE1FOiBXaHkgaXMgdGhpcyBtaXNzaW5nPwogICAgIE5h
bWVzcGFjZSA9IDEwLAogICAgIENvdW50ZXJTdHlsZSA9IDExLAogICAgIFN1cHBvcnRzID0gMTIs
Ci0gICAgTGF5ZXIgPSAxMywKKyAgICBGb250UGFsZXR0ZVZhbHVlcyA9IDE5LCAvLyBodHRwczov
L2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjYyMworICAgIExheWVyID0gMjAK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hl
ZXRDb250ZW50cy5jcHAKaW5kZXggMzI4NDk3NDg1MzVhMGQ3NjQ2OTAzMDczY2MyNGRjMTg2NmRi
MDRjZS4uYTZlOTcxYzYyNjM2NmJiYTAwZTdkNWVlZDhkNTIzMGU3ODYzZWM5ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgog
ICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0
IChDKSAyMDA0LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDA0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCkBAIC00MzYsNiArNDM2LDcgQEAgc3RhdGljIGJvb2wgdHJhdmVyc2VSdWxl
c0luVmVjdG9yKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiBydWxlcywgY28K
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlN0eWxlOgog
ICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOgorICAgICAgICBjYXNlIFN0eWxl
UnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOgogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6
OlBhZ2U6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWVzOgogICAgICAgICBj
YXNlIFN0eWxlUnVsZVR5cGU6Ok5hbWVzcGFjZToKQEAgLTQ4Niw2ICs0ODcsNyBAQCBib29sIFN0
eWxlU2hlZXRDb250ZW50czo6dHJhdmVyc2VTdWJyZXNvdXJjZXMoY29uc3QgV1RGOjpGdW5jdGlv
bjxib29sIChjb25zdCBDYQogICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OktleWZyYW1lOgog
ICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OlN1cHBvcnRzOgogICAgICAgICBjYXNlIFN0eWxl
UnVsZVR5cGU6OkxheWVyOgorICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRl
VmFsdWVzOgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9OwogICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTQXRSdWxlSUQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJ
RC5jcHAKaW5kZXggMDgyNTcyMzhjOGIzNThlNTNiZmEyN2UyYWI2YmVjY2Q1YTZkMmU5OS4uZTdl
NzRkNGVkZmQ4N2M0ZDdjOWViNTQ3N2M3ZTgyYzNiNTI3OTljZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5jcHAKQEAgLTEsNSArMSw1IEBACiAvLyBDb3B5cmlnaHQg
MjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIENvcHly
aWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmln
aHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8g
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zOCw2ICszOCw4IEBAIENTU0F0UnVsZUlE
IGNzc0F0UnVsZUlEKFN0cmluZ1ZpZXcgbmFtZSkKICAgICAgICAgcmV0dXJuIENTU0F0UnVsZUNo
YXJzZXQ7CiAgICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImZvbnQtZmFjZSIp
KQogICAgICAgICByZXR1cm4gQ1NTQXRSdWxlRm9udEZhY2U7CisgICAgaWYgKGVxdWFsSWdub3Jp
bmdBU0NJSUNhc2UobmFtZSwgImZvbnQtcGFsZXR0ZS12YWx1ZXMiKSkKKyAgICAgICAgcmV0dXJu
IENTU0F0UnVsZUZvbnRQYWxldHRlVmFsdWVzOwogICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlD
YXNlKG5hbWUsICJpbXBvcnQiKSkKICAgICAgICAgcmV0dXJuIENTU0F0UnVsZUltcG9ydDsKICAg
ICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAia2V5ZnJhbWVzIikpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmgKaW5kZXggMzMwZjZjYmUyZTI1YjNkY2NmMGU3
MjllNDQ4OTlmMTg5NDE1YTdiZS4uZTY2YzA0Mzc3ZGM0OWU0MDY4N2NkZjZjMmM2ZTU0ZmQ4ZTA4
NTNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaApAQCAtMSw1ICsx
LDUgQEAKIC8vIENvcHlyaWdodCAyMDE1IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQ5LDYg
KzQ5LDggQEAgZW51bSBDU1NBdFJ1bGVJRCB7CiAgICAgQ1NTQXRSdWxlQXBwbHkgPSAxMSwKICAg
ICBDU1NBdFJ1bGVDb3VudGVyU3R5bGUgPSAxMiwKICAgICBDU1NBdFJ1bGVMYXllciA9IDEzLAor
CisgICAgQ1NTQXRSdWxlRm9udFBhbGV0dGVWYWx1ZXMgPSAxNCwKIH07CiAKIENTU0F0UnVsZUlE
IGNzc0F0UnVsZUlEKFN0cmluZ1ZpZXcgbmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJbXBsLmNwcAppbmRleCBlNWI3NDMwMmUwY2U0YzVhYmQ2MTZlYzQ1NzFiNjJj
NGZmYzdlNTE5Li45MGQwOWVkMzlhMTYxYTY3ZjA0N2MyMjQzZDEzZTEwYTYxYWM4NGJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKQEAgLTEsNSArMSw1
IEBACiAvLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIENvcHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM0
LDYgKzM0LDcgQEAKICNpbmNsdWRlICJDU1NDb3VudGVyU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAi
Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0RlZmVycmVkUGFyc2VyLmgi
CisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZXNSdWxlLmgi
CiAjaW5jbHVkZSAiQ1NTUGFyc2VyT2JzZXJ2ZXIuaCIKQEAgLTQ3LDYgKzQ4LDcgQEAKICNpbmNs
dWRlICJDU1NWYXJpYWJsZVBhcnNlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiRWxlbWVudC5oIgorI2luY2x1ZGUgIkZvbnRQYWxldHRlVmFsdWVzLmgiCiAjaW5jbHVkZSAi
TWVkaWFMaXN0LmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNlci5oIgogI2luY2x1ZGUgIk1l
ZGlhUXVlcnlQYXJzZXJDb250ZXh0LmgiCkBAIC00NDUsNiArNDQ3LDggQEAgUmVmUHRyPFN0eWxl
UnVsZUJhc2U+IENTU1BhcnNlckltcGw6OmNvbnN1bWVBdFJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSYgcmFuZ2UsIEEKICAgICAgICAgcmV0dXJuIGNvbnN1bWVTdXBwb3J0c1J1bGUocHJlbHVkZSwg
YmxvY2spOwogICAgIGNhc2UgQ1NTQXRSdWxlRm9udEZhY2U6CiAgICAgICAgIHJldHVybiBjb25z
dW1lRm9udEZhY2VSdWxlKHByZWx1ZGUsIGJsb2NrKTsKKyAgICBjYXNlIENTU0F0UnVsZUZvbnRQ
YWxldHRlVmFsdWVzOgorICAgICAgICByZXR1cm4gY29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVs
ZShwcmVsdWRlLCBibG9jayk7CiAgICAgY2FzZSBDU1NBdFJ1bGVXZWJraXRLZXlmcmFtZXM6CiAg
ICAgICAgIHJldHVybiBjb25zdW1lS2V5ZnJhbWVzUnVsZSh0cnVlLCBwcmVsdWRlLCBibG9jayk7
CiAgICAgY2FzZSBDU1NBdFJ1bGVLZXlmcmFtZXM6CkBAIC02NTIsNiArNjU2LDU1IEBAIFJlZlB0
cjxTdHlsZVJ1bGVGb250RmFjZT4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZUZvbnRGYWNlUnVsZShD
U1NQYXJzZXJUb2tlblJhbmdlCiAgICAgcmV0dXJuIFN0eWxlUnVsZUZvbnRGYWNlOjpjcmVhdGUo
Y3JlYXRlU3R5bGVQcm9wZXJ0aWVzKG1fcGFyc2VkUHJvcGVydGllcywgbV9jb250ZXh0Lm1vZGUp
KTsKIH0KIAorUmVmUHRyPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBDU1NQYXJzZXJJbXBs
Ojpjb25zdW1lRm9udFBhbGV0dGVWYWx1ZXNSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVk
ZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jaykKK3sKKyAgICBhdXRvIG5hbWUgPSBDU1NQcm9w
ZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVDdXN0b21JZGVudChwcmVsdWRlKTsKKyAgICBpZiAo
IW5hbWUgfHwgIXByZWx1ZGUuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7IC8vIFBh
cnNlIGVycm9yOyBleHBlY3RlZCBjdXN0b20gaWRlbnQgaW4gQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
aGVhZGVyCisKKyAgICBpZiAobV9vYnNlcnZlcldyYXBwZXIpIHsKKyAgICAgICAgdW5zaWduZWQg
ZW5kT2Zmc2V0ID0gbV9vYnNlcnZlcldyYXBwZXItPmVuZE9mZnNldChwcmVsdWRlKTsKKyAgICAg
ICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuc3RhcnRSdWxlSGVhZGVyKFN0eWxlUnVs
ZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzLCBtX29ic2VydmVyV3JhcHBlci0+c3RhcnRPZmZzZXQo
cHJlbHVkZSkpOworICAgICAgICBtX29ic2VydmVyV3JhcHBlci0+b2JzZXJ2ZXIoKS5lbmRSdWxl
SGVhZGVyKGVuZE9mZnNldCk7CisgICAgICAgIG1fb2JzZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigp
LnN0YXJ0UnVsZUJvZHkoZW5kT2Zmc2V0KTsKKyAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9i
c2VydmVyKCkuZW5kUnVsZUJvZHkoZW5kT2Zmc2V0KTsKKyAgICB9CisKKyAgICBjb25zdW1lRGVj
bGFyYXRpb25MaXN0KGJsb2NrLCBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcyk7Cisg
ICAgYXV0byBwcm9wZXJ0aWVzID0gY3JlYXRlU3R5bGVQcm9wZXJ0aWVzKG1fcGFyc2VkUHJvcGVy
dGllcywgbV9jb250ZXh0Lm1vZGUpOworCisgICAgQXRvbVN0cmluZyBmb250RmFtaWx5OworICAg
IGlmIChhdXRvIGZvbnRGYW1pbHlWYWx1ZSA9IHByb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFs
dWUoQ1NTUHJvcGVydHlGb250RmFtaWx5KSkKKyAgICAgICAgZm9udEZhbWlseSA9IGRvd25jYXN0
PENTU1ByaW1pdGl2ZVZhbHVlPigqZm9udEZhbWlseVZhbHVlKS5mb250RmFtaWx5KCkuZmFtaWx5
TmFtZTsKKworICAgIEZvbnRQYWxldHRlVmFsdWVzOjpQYWxldHRlSW5kZXggYmFzZVBhbGV0dGUo
bnVsbEF0b20oKSk7CisgICAgaWYgKGF1dG8gYmFzZVBhbGV0dGVWYWx1ZSA9IHByb3BlcnRpZXMt
PmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlCYXNlUGFsZXR0ZSkpIHsKKyAgICAgICAg
Y29uc3QgYXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4o
KmJhc2VQYWxldHRlVmFsdWUpOworICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUuaXNTdHJpbmco
KSkKKyAgICAgICAgICAgIGJhc2VQYWxldHRlID0gcHJpbWl0aXZlVmFsdWUuc3RyaW5nVmFsdWUo
KTsKKyAgICAgICAgZWxzZSBpZiAocHJpbWl0aXZlVmFsdWUuaXNOdW1iZXIoKSkKKyAgICAgICAg
ICAgIGJhc2VQYWxldHRlID0gcHJpbWl0aXZlVmFsdWUudmFsdWU8aW50NjRfdD4oKTsKKyAgICB9
CisKKyAgICBWZWN0b3I8Rm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4gb3ZlcnJp
ZGVDb2xvcjsKKyAgICBpZiAoYXV0byBvdmVycmlkZUNvbG9yVmFsdWUgPSBwcm9wZXJ0aWVzLT5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5T3ZlcnJpZGVDb2xvcikpIHsKKyAgICAgICAg
Y29uc3QgYXV0byYgbGlzdCA9IGRvd25jYXN0PENTU1ZhbHVlTGlzdD4oKm92ZXJyaWRlQ29sb3JW
YWx1ZSk7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgaXRlbSA6IGxpc3QpIHsKKyAgICAgICAg
ICAgIEZvbnRQYWxldHRlVmFsdWVzOjpQYWxldHRlQ29sb3JJbmRleCBrZXkobnVsbEF0b20oKSk7
CisgICAgICAgICAgICBjb25zdCBhdXRvJiBwYWlyID0gZG93bmNhc3Q8Q1NTRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+KGl0ZW0uZ2V0KCkpOworICAgICAgICAgICAgaWYgKHBh
aXIua2V5KCkuaXNTdHJpbmcoKSkKKyAgICAgICAgICAgICAgICBrZXkgPSBwYWlyLmtleSgpLnN0
cmluZ1ZhbHVlKCk7CisgICAgICAgICAgICBlbHNlIGlmIChwYWlyLmtleSgpLmlzTnVtYmVyKCkp
CisgICAgICAgICAgICAgICAga2V5ID0gcGFpci5rZXkoKS52YWx1ZTxpbnQ2NF90PigpOworICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgb3Zl
cnJpZGVDb2xvci5hcHBlbmQoc3RkOjptYWtlX3BhaXIoa2V5LCBwYWlyLmNvbG9yKCkuY29sb3Io
KSkpOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIFN0eWxlUnVsZUZvbnRQYWxldHRl
VmFsdWVzOjpjcmVhdGUobmFtZS0+c3RyaW5nVmFsdWUoKSwgZm9udEZhbWlseSwgYmFzZVBhbGV0
dGUsIFdURk1vdmUob3ZlcnJpZGVDb2xvcikpOworfQorCiBSZWZQdHI8U3R5bGVSdWxlS2V5ZnJh
bWVzPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lS2V5ZnJhbWVzUnVsZShib29sIHdlYmtpdFByZWZp
eGVkLCBDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxv
Y2spCiB7CiAgICAgQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZUNvcHkgPSBwcmVsdWRlOyAvLyBG
b3IgaW5zcGVjdG9yIGNhbGxiYWNrcwpAQCAtOTYxLDcgKzEwMTQsNyBAQCB2b2lkIENTU1BhcnNl
ckltcGw6OmNvbnN1bWVEZWNsYXJhdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlIHJhbmdlLCBTdHls
ZVJ1bGVUeXBlCiAgICAgICAgIGNvbnN1bWVDdXN0b21Qcm9wZXJ0eVZhbHVlKHJhbmdlLm1ha2VT
dWJSYW5nZSgmcmFuZ2UucGVlaygpLCBkZWNsYXJhdGlvblZhbHVlRW5kKSwgdmFyaWFibGVOYW1l
LCBpbXBvcnRhbnQpOwogICAgIH0KIAotICAgIGlmIChpbXBvcnRhbnQgJiYgKHJ1bGVUeXBlID09
IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6Oktl
eWZyYW1lIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZSkpCisgICAg
aWYgKGltcG9ydGFudCAmJiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2UgfHwg
cnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6S2V5ZnJhbWUgfHwgcnVsZVR5cGUgPT0gU3R5bGVS
dWxlVHlwZTo6Q291bnRlclN0eWxlIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkZvbnRQ
YWxldHRlVmFsdWVzKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHByb3BlcnR5SUQgIT0g
Q1NTUHJvcGVydHlJbnZhbGlkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklt
cGwuaAppbmRleCAxNmM0YzNkMTlmNTA4YzEwMjFmNTFiNGMzNWI3NDA1OWRlNTA0NTQ3Li5lMjVm
ZTVlMmE3NTI4Y2FiNDM0YTllZWI4NmE4ZDFjZDdhZmFhM2FkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1BhcnNlckltcGwuaApAQCAtMSw1ICsxLDUgQEAKIC8vIENvcHlyaWdodCAy
MDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gQ29weXJp
Z2h0IChDKSAyMDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29w
eXJpZ2h0IChDKSAyMDE2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8K
IC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTEsNiArNTEsNyBAQCBjbGFzcyBT
dHlsZVJ1bGU7CiBjbGFzcyBTdHlsZVJ1bGVCYXNlOwogY2xhc3MgU3R5bGVSdWxlQ2hhcnNldDsK
IGNsYXNzIFN0eWxlUnVsZUZvbnRGYWNlOworY2xhc3MgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXM7CiBjbGFzcyBTdHlsZVJ1bGVJbXBvcnQ7CiBjbGFzcyBTdHlsZVJ1bGVLZXlmcmFtZXM7CiBj
bGFzcyBTdHlsZVJ1bGVMYXllcjsKQEAgLTEzMyw2ICsxMzQsNyBAQCBwcml2YXRlOgogICAgIFJl
ZlB0cjxTdHlsZVJ1bGVTdXBwb3J0cz4gY29uc3VtZVN1cHBvcnRzUnVsZShDU1NQYXJzZXJUb2tl
blJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxT
dHlsZVJ1bGVWaWV3cG9ydD4gY29uc3VtZVZpZXdwb3J0UnVsZShDU1NQYXJzZXJUb2tlblJhbmdl
IHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxTdHlsZVJ1
bGVGb250RmFjZT4gY29uc3VtZUZvbnRGYWNlUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1
ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOworICAgIFJlZlB0cjxTdHlsZVJ1bGVGb250
UGFsZXR0ZVZhbHVlcz4gY29uc3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZShDU1NQYXJzZXJUb2tl
blJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0cjxT
dHlsZVJ1bGVLZXlmcmFtZXM+IGNvbnN1bWVLZXlmcmFtZXNSdWxlKGJvb2wgd2Via2l0UHJlZml4
ZWQsIENTU1BhcnNlclRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9j
ayk7CiAgICAgUmVmUHRyPFN0eWxlUnVsZVBhZ2U+IGNvbnN1bWVQYWdlUnVsZShDU1NQYXJzZXJU
b2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAgIFJlZlB0
cjxTdHlsZVJ1bGVDb3VudGVyU3R5bGU+IGNvbnN1bWVDb3VudGVyU3R5bGVSdWxlKENTU1BhcnNl
clRva2VuUmFuZ2UgcHJlbHVkZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSBibG9jayk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDA2YWFl
NTVmYTg3OGFmZDg4Y2E5ZGM2ZTM2ZTUxNDliODFiOWQ0MDIuLmVkMzI0ZDk0YmE5NTNhNWUwOThi
M2ZlNDZmYWJhZGQyMzczMjkxYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiQ1NTQ3Vz
dG9tUHJvcGVydHlWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlU3JjVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NGb250RmVhdHVyZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCIKICNpZiBFTkFCTEUoVkFSSUFUSU9OX0ZPTlRTKQog
I2luY2x1ZGUgIkNTU0ZvbnRWYXJpYXRpb25WYWx1ZS5oIgogI2VuZGlmCkBAIC0yMzMsNiArMjM0
LDggQEAgYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHBy
b3BlcnR5SUQsIGJvb2wgaW1wb3J0YW50LCBjb24KIAogICAgIGlmIChydWxlVHlwZSA9PSBTdHls
ZVJ1bGVUeXBlOjpGb250RmFjZSkKICAgICAgICAgcGFyc2VTdWNjZXNzID0gcGFyc2VyLnBhcnNl
Rm9udEZhY2VEZXNjcmlwdG9yKHByb3BlcnR5SUQpOworICAgIGVsc2UgaWYgKHJ1bGVUeXBlID09
IFN0eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzKQorICAgICAgICBwYXJzZVN1Y2Nlc3Mg
PSBwYXJzZXIucGFyc2VGb250UGFsZXR0ZVZhbHVlc0Rlc2NyaXB0b3IocHJvcGVydHlJRCk7CiAg
ICAgZWxzZSBpZiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlwZTo6Q291bnRlclN0eWxlKQogICAg
ICAgICBwYXJzZVN1Y2Nlc3MgPSBwYXJzZXIucGFyc2VDb3VudGVyU3R5bGVEZXNjcmlwdG9yKHBy
b3BlcnR5SUQsIGNvbnRleHQpOwogICAgIGVsc2UKQEAgLTQ4MzQsNiArNDgzNyw2MyBAQCBib29s
IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZUZvbnRGYWNlRGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlE
IHByb3BJZCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIFJlZlB0cjxDU1NQcmltaXRp
dmVWYWx1ZT4gY29uc3VtZUJhc2VQYWxldHRlRGVzY3JpcHRvcihDU1NQYXJzZXJUb2tlblJhbmdl
JiByYW5nZSkKK3sKKyAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSA9PSBTdHJpbmdUb2tlbikK
KyAgICAgICAgcmV0dXJuIGNvbnN1bWVTdHJpbmcocmFuZ2UpOworICAgIHJldHVybiBjb25zdW1l
SW50ZWdlcihyYW5nZSk7Cit9CisKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBjb25zdW1l
T3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0
IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4g
bGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKKyAgICBkbyB7Cisg
ICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4ga2V5OworICAgICAgICBpZiAocmFuZ2Uu
cGVlaygpLnR5cGUoKSA9PSBTdHJpbmdUb2tlbikKKyAgICAgICAgICAgIGtleSA9IGNvbnN1bWVT
dHJpbmcocmFuZ2UpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBrZXkgPSBjb25zdW1lSW50
ZWdlcihyYW5nZSk7CisgICAgICAgIGlmICgha2V5KQorICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICAgICAgYXV0byBjb2xvciA9IGNvbnN1bWVDb2xvcihyYW5nZSwgY29udGV4dCk7
CisgICAgICAgIGlmICghY29sb3IpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
ICAgICBSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlk
ZUNvbG9yVmFsdWU6OmNyZWF0ZShrZXkucmVsZWFzZU5vbk51bGwoKSwgY29sb3IucmVsZWFzZU5v
bk51bGwoKSk7CisgICAgICAgIGxpc3QtPmFwcGVuZCh2YWx1ZS5yZWxlYXNlTm9uTnVsbCgpKTsK
KyAgICB9IHdoaWxlIChjb25zdW1lQ29tbWFJbmNsdWRpbmdXaGl0ZXNwYWNlKHJhbmdlKSk7Cisg
ICAgCisgICAgaWYgKCFyYW5nZS5hdEVuZCgpIHx8ICFsaXN0LT5sZW5ndGgoKSkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4gbGlzdDsKK30KKworYm9vbCBDU1NQcm9wZXJ0
eVBhcnNlcjo6cGFyc2VGb250UGFsZXR0ZVZhbHVlc0Rlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCBw
cm9wSWQpCit7CisgICAgUmVmUHRyPENTU1ZhbHVlPiBwYXJzZWRWYWx1ZTsKKyAgICBzd2l0Y2gg
KHByb3BJZCkgeworICAgIGNhc2UgQ1NTUHJvcGVydHlGb250RmFtaWx5OgorICAgICAgICBwYXJz
ZWRWYWx1ZSA9IGNvbnN1bWVGYW1pbHlOYW1lKG1fcmFuZ2UpOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIENTU1Byb3BlcnR5QmFzZVBhbGV0dGU6CisgICAgICAgIHBhcnNlZFZhbHVlID0gY29u
c3VtZUJhc2VQYWxldHRlRGVzY3JpcHRvcihtX3JhbmdlKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eU92ZXJyaWRlQ29sb3I6CisgICAgICAgIHBhcnNlZFZhbHVlID0gY29u
c3VtZU92ZXJyaWRlQ29sb3JEZXNjcmlwdG9yKG1fcmFuZ2UsIG1fY29udGV4dCk7CisgICAgICAg
IGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGlmICgh
cGFyc2VkVmFsdWUgfHwgIW1fcmFuZ2UuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgYWRkUHJvcGVydHkocHJvcElkLCBDU1NQcm9wZXJ0eUludmFsaWQsICpwYXJzZWRWYWx1
ZSwgZmFsc2UpOworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIENTU1Byb3BlcnR5UGFyc2Vy
Ojpjb25zdW1lU3lzdGVtRm9udChib29sIGltcG9ydGFudCkKIHsKICAgICBDU1NWYWx1ZUlEIHN5
c3RlbUZvbnRJRCA9IG1fcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKS5pZCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oCmluZGV4IDI3
YWMzNTkzN2NjMmZhNWFjN2MyZjIzMDQwZTMwMTBiNTA4MTcxMzkuLmQ4NzQwOThmZGM0ODllMmVj
NGFjNWUxNjNhZDRlMWUyZDkyM2NhYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU1Byb3BlcnR5UGFyc2VyLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQs
IDIwMDUsIDIwMDYsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0IC0gMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNA
d2Via2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwOSAtIDIwMTAgIFRvcmNoIE1vYmlsZSAo
QmVpamluZykgQ28uIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC03Myw2ICs3Myw3
IEBAIHByaXZhdGU6CiAKICAgICBib29sIHBhcnNlVmlld3BvcnREZXNjcmlwdG9yKENTU1Byb3Bl
cnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBwYXJzZUZvbnRGYWNlRGVz
Y3JpcHRvcihDU1NQcm9wZXJ0eUlEKTsKKyAgICBib29sIHBhcnNlRm9udFBhbGV0dGVWYWx1ZXNE
ZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQpOwogICAgIGJvb2wgcGFyc2VDb3VudGVyU3R5bGVEZXNj
cmlwdG9yKENTU1Byb3BlcnR5SUQsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsKIAogICAgIHZv
aWQgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlJRCwgQ1NTUHJvcGVydHlJRCwgUmVmPENTU1ZhbHVl
PiYmLCBib29sIGltcG9ydGFudCwgYm9vbCBpbXBsaWNpdCA9IGZhbHNlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0ZVZhbHVlcy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdmNjBkN2Q1MGNlZmFhNzk1MjVkYTQxNjNkOGFlOWQ1Nzk2ODdhYjAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0ZVZh
bHVlcy5oCkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgIkNvbG9yLmgiCisjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KKyNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbVN0cmluZy5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIEZvbnRQYWxldHRlVmFsdWVzIHsKK3B1YmxpYzoKKyAgICB1c2lu
ZyBQYWxldHRlSW5kZXggPSBWYXJpYW50PGludDY0X3QsIEF0b21TdHJpbmc+OworICAgIHVzaW5n
IFBhbGV0dGVDb2xvckluZGV4ID0gVmFyaWFudDxBdG9tU3RyaW5nLCBpbnQ2NF90PjsKKyAgICB1
c2luZyBPdmVycmlkZGVuQ29sb3IgPSBzdGQ6OnBhaXI8UGFsZXR0ZUNvbG9ySW5kZXgsIENvbG9y
PjsKKworICAgIEZvbnRQYWxldHRlVmFsdWVzKCkgPSBkZWZhdWx0OworCisgICAgRm9udFBhbGV0
dGVWYWx1ZXMoY29uc3QgUGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSwgVmVjdG9yPE92ZXJyaWRk
ZW5Db2xvcj4mJiBvdmVycmlkZUNvbG9yKQorICAgICAgICA6IG1fYmFzZVBhbGV0dGUoYmFzZVBh
bGV0dGUpCisgICAgICAgICwgbV9vdmVycmlkZUNvbG9yKFdURk1vdmUob3ZlcnJpZGVDb2xvcikp
CisgICAgeworICAgIH0KKworICAgIGNvbnN0IFBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUoKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fYmFzZVBhbGV0dGU7CisgICAgfQorCisgICAg
dm9pZCBzZXRCYXNlUGFsZXR0ZShjb25zdCBQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlKQorICAg
IHsKKyAgICAgICAgbV9iYXNlUGFsZXR0ZSA9IGJhc2VQYWxldHRlOworICAgIH0KKworICAgIGNv
bnN0IFZlY3RvcjxPdmVycmlkZGVuQ29sb3I+JiBvdmVycmlkZUNvbG9yKCkgY29uc3QKKyAgICB7
CisgICAgICAgIHJldHVybiBtX292ZXJyaWRlQ29sb3I7CisgICAgfQorCisgICAgdm9pZCBhcHBl
bmRPdmVycmlkZUNvbG9yKE92ZXJyaWRkZW5Db2xvciYmIG92ZXJyaWRkZW5Db2xvcikKKyAgICB7
CisgICAgICAgIG1fb3ZlcnJpZGVDb2xvci5hcHBlbmQob3ZlcnJpZGRlbkNvbG9yKTsKKyAgICB9
CisKKyAgICB2b2lkIGNsZWFyT3ZlcnJpZGVDb2xvcigpCisgICAgeworICAgICAgICBtX292ZXJy
aWRlQ29sb3IuY2xlYXIoKTsKKyAgICB9CisKKyAgICBib29sIHJlbW92ZSh1bnNpZ25lZCBrZXkp
CisgICAgeworICAgICAgICByZXR1cm4gbV9vdmVycmlkZUNvbG9yLnJlbW92ZUFsbE1hdGNoaW5n
KFtrZXldKGNvbnN0IE92ZXJyaWRkZW5Db2xvciYgb3ZlcnJpZGRlbkNvbG9yKSAtPiBib29sIHsK
KyAgICAgICAgICAgIHJldHVybiBXVEY6OmhvbGRzX2FsdGVybmF0aXZlPGludDY0X3Q+KG92ZXJy
aWRkZW5Db2xvci5maXJzdCkgJiYgV1RGOjpnZXQ8aW50NjRfdD4ob3ZlcnJpZGRlbkNvbG9yLmZp
cnN0KSA9PSBrZXk7CisgICAgICAgIH0pOworICAgIH0KKworcHJpdmF0ZToKKyAgICBQYWxldHRl
SW5kZXggbV9iYXNlUGFsZXR0ZTsKKyAgICBWZWN0b3I8T3ZlcnJpZGRlbkNvbG9yPiBtX292ZXJy
aWRlQ29sb3I7Cit9OworCit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA0YjA1
NTQzOTk3YWRlZmZlYTU2NGFkYzNiMzBhNjkwMTIwNzI3OGU4Li4yZjQ0MTdjMDljNzVhYmRiZGM4
M2ZiMDNjYmYxYmNlMjI1MDg4M2EyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAyMS0wOS0yMCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgorCisgICAgICAgIFBhcnNpbmcgc3VwcG9ydCBmb3IgZm9udC1wYWxldHRlLXZh
bHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMw
MzM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
c2UgYXJlIGJlaW5nIHVwc3RyZWFtZWQgYXQgaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9y
bS10ZXN0cy93cHQvcHVsbC8zMDg0MC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZvbnRzL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZh
bGlkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9m
b250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFs
dWVzLXZhbGlkLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA5LTIwICBOaWtvcyBNb3VjaHRhcmlzICA8
bm1vdWNodGFyaXNAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBleHAsbG9nIGZ1bmN0
aW9ucyBjYWxjIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZv
bnRzL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CmluZGV4IDRlY2JiMzNmOGE5M2Q5ZTJhMjYxZDA3
MmFmODYxNGJhNWU4NjBhMmQuLmI0OGQ5YjI2Y2ZlNTU0Njc5NDUzODVmODU0NWZkOWYzNTdmNGY2
YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mb250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvaWRsaGFybmVz
cy1leHBlY3RlZC50eHQKQEAgLTE2LDcgKzE2LDcgQEAgUEFTUyBDU1NGb250RmFjZVJ1bGUgbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBjc3NGb250RmFjZVJ1bGUKIFBBU1MgU3RyaW5naWZp
Y2F0aW9uIG9mIGNzc0ZvbnRGYWNlUnVsZQogUEFTUyBDU1NGb250RmFjZVJ1bGUgaW50ZXJmYWNl
OiBjc3NGb250RmFjZVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdHlsZSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUKIEZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc0ZvbnRGYWNlUnVsZSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIkZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19S
VUxFIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1GQUlMIENTU1J1bGUgaW50ZXJmYWNl
OiBjc3NGb250RmFjZVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFM
VUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkg
IkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgor
RkFJTCBDU1NSdWxlIGludGVyZmFjZTogY3NzRm9udEZhY2VSdWxlIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAxNSBidXQgZ290IDE5CiBGQUlMIENTU0ZvbnRGZWF0dXJlVmFs
dWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRG
ZWF0dXJlVmFsdWVzUnVsZSIgbWlzc2luZwogRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc1J1bGUg
aW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIiBleHBlY3RlZCBw
cm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIiBtaXNzaW5nCiBGQUlMIENTU0ZvbnRG
ZWF0dXJlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNS
dWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIiBtaXNzaW5n
CkBAIC0zNywxOCArMzcsMTggQEAgRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc01hcCBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHIKIEZBSUwgQ1NTRm9u
dEZlYXR1cmVWYWx1ZXNNYXAgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRG
ZWF0dXJlVmFsdWVzTWFwIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNN
YXAiIG1pc3NpbmcKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIiBleHBlY3RlZCBwcm9wZXJ0
eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIG1pc3NpbmcKIEZBSUwgQ1NTRm9udEZlYXR1cmVW
YWx1ZXNNYXAgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0KENTU09NU3RyaW5nLCAodW5zaWduZWQg
bG9uZyBvciBzZXF1ZW5jZTx1bnNpZ25lZCBsb25nPikpIGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAiIG1pc3NpbmcKLUZBSUwg
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBlY3RlZCBw
cm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIG1pc3Np
bmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZSBvYmplY3QgbmFtZSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0
ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgZm9udEZhbWlseSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHBy
b3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBh
bGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogYXR0cmlidXRlIGJhc2VQYWxldHRlIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVs
ZSIgbWlzc2luZworUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIENTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBmb250RmFtaWx5CitQQVNTIENTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBiYXNlUGFsZXR0ZQogRkFJTCBDU1NS
dWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIG9uIGludGVy
ZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIkZPTlRf
RkVBVFVSRV9WQUxVRVNfUlVMRSIgbWlzc2luZwogRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29u
c3RhbnQgRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJGT05UX0ZFQVRVUkVf
VkFMVUVTX1JVTEUiIG1pc3NpbmcKLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZP
TlRfUEFMRVRURV9WQUxVRVNfUlVMRSBvbiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJv
cGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIG1pc3Np
bmcKLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZPTlRfUEFMRVRURV9WQUxVRVNf
UlVMRSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBl
eHBlY3RlZCBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiBtaXNzaW5nCitGQUlM
IENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUgb24g
aW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0eSBoYXMgd3JvbmcgdmFsdWUg
ZXhwZWN0ZWQgMTUgYnV0IGdvdCAxOQorRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQg
Rk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFz
c2VydF9lcXVhbHM6IHByb3BlcnR5IGhhcyB3cm9uZyB2YWx1ZSBleHBlY3RlZCAxNSBidXQgZ290
IDE5CiBGQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRf
aW5oZXJpdHM6IHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUiIG5vdCBmb3VuZCBp
biBwcm90b3R5cGUgY2hhaW4KLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc1J1bGUgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVM
RSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBDU1NSdWxlIGludGVyZmFjZTog
Y3NzUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMTUgYnV0IGdvdCAx
OQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iYzcyZTlhNTFkNWFhYmFlYzYxNzJlYTE0MDNmMzNjMGMwMDE5NmI4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlk
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACisKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBM
ZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzCitQQVNTIENTUyBGb250cyBNb2R1
bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxCitQQVNTIENTUyBGb250
cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAyCitQQVNTIENT
UyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAzCitQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cyA0CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRl
LXZhbHVlcyA1CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1w
YWxldHRlLXZhbHVlcyA2CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBA
Zm9udC1wYWxldHRlLXZhbHVlcyA3CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFy
c2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA4CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwg
NDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA5CitQQVNTIENTUyBGb250cyBNb2R1bGUg
TGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMAorUEFTUyBDU1MgRm9udHMg
TW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTEKK1BBU1MgQ1NT
IEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDEyCitQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cyAxMworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjg3MDU0MmVkODhjNGM5MzA3YzBjNTIxOWMzYzRkZTg2OGZlY2ZhZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbApAQCAtMCww
ICsxLDE4MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPkNTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9u
dC1wYWxldHRlLXZhbHVlczwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMvI2ZvbnQtcGFsZXR0ZS12YWx1ZXMiPgorPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJAZm9udC1wYWxldHRlLXZhbHVlcyBpcyBwYXJzZWQgY29y
cmVjdGx5LiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGUgaWQ9InN0eWxlIj4KK0Bmb250LXBhbGV0dGUtdmFsdWVzIHsKK30KKworQGZv
bnQtcGFsZXR0ZS12YWx1ZXMgQSBCIHsKK30KKworLyogMCAqLworQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgQSB7CisgICAgZm9udC1mYW1pbHk6IGEsIGI7Cit9CisKKy8qIDEgKi8KK0Bmb250LXBhbGV0
dGUtdmFsdWVzIEEgeworICAgIGZvbnQtZmFtaWx5OiAxOworfQorCisvKiAyICovCitAZm9udC1w
YWxldHRlLXZhbHVlcyBBIHsKKyAgICBmb250OiAxMnB4IGE7Cit9CisKKy8qIDMgKi8KK0Bmb250
LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGJhc2UtcGFsZXR0ZTogMSAyOworfQorCisvKiA0ICov
CitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBiYXNlLXBhbGV0dGU6IGlkZW50OworfQor
CisvKiA1ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBiYXNlLXBhbGV0dGU6ICJh
IiAiYiI7Cit9CisKKy8qIDYgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIGJhc2Ut
cGFsZXR0ZTogOworfQorCisvKiA3ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBv
dmVycmlkZS1jb2xvcjogaWRlbnQgIzEyMzsKK30KKworLyogOCAqLworQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDAgInJlZCI7Cit9CisKKy8qIDkgKi8KK0Bm
b250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIG92ZXJyaWRlLWNvbG9yOiAwICMxMjMsIDE7Cit9
CisKKy8qIDEwICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBvdmVycmlkZS1jb2xv
cjogOworfQorCisvKiAxMSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJp
ZGUtY29sb3I6IDAgIzEyMyAxOworfQorCisvKiAxMiAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
QSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0PgorbGV0IHJ1bGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0eWxlIiku
c2hlZXQuY3NzUnVsZXM7Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9lcXVhbHMocnVs
ZXMubGVuZ3RoLCAxMyk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9
IHJ1bGVzWzBdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1swXTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHkiKSwgLTEpOworICAgIGFzc2VydF9lcXVh
bHMocnVsZS5mb250RmFtaWx5LCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBs
ZXQgdGV4dCA9IHJ1bGVzWzFdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxXTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHkiKSwgLTEpOworICAgIGFz
c2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzJdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxl
c1syXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udDoiKSwgLTEpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzNdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBy
dWxlc1szXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlIiks
IC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKK30pOworCit0
ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbNF0uY3NzVGV4dDsKKyAgICBs
ZXQgcnVsZSA9IHJ1bGVzWzRdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNl
LXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIp
OworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s1XS5jc3NU
ZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbNV07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0Lmlu
ZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQ
YWxldHRlLCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1
bGVzWzZdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s2XTsKKyAgICBhc3NlcnRfZXF1
YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxl
dCB0ZXh0ID0gcnVsZXNbN10uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzddOworICAg
IGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAg
YXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgbGV0IHRleHQgPSBydWxlc1s4XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbOF07
CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzldLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxl
c1s5XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwg
LTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0
aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTBdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUg
PSBydWxlc1sxMF07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNv
bG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVz
dChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzExXS5jc3NUZXh0OworICAgIGxl
dCBydWxlID0gcnVsZXNbMTFdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVy
cmlkZS1jb2xvciIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sxMl0uY3NzVGV4dDsK
KyAgICBsZXQgcnVsZSA9IHJ1bGVzWzEyXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhP
Zigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAw
KTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2lu
Zy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQt
cGFsZXR0ZS12YWx1ZXMtdmFsaWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiNDgyZmZhZjM3
NGUxOGJjZGYyMzA4ODI5NjFkOTEzMWI4ZDVmMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2lu
Zy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBA
CisKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUt
dmFsdWVzCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxl
dHRlLXZhbHVlcyAxCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9u
dC1wYWxldHRlLXZhbHVlcyAyCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2lu
ZyBAZm9udC1wYWxldHRlLXZhbHVlcyAzCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDog
cGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA0CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2
ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA1CitQQVNTIENTUyBGb250cyBNb2R1
bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA2CitQQVNTIENTUyBGb250
cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA3CitQQVNTIENT
UyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyA4CitQ
QVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVl
cyA5CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRl
LXZhbHVlcyAxMAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgMTEKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5n
IEBmb250LXBhbGV0dGUtdmFsdWVzIDEyCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDog
cGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExl
dmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTQKK1BBU1MgQ1NTIEZvbnRzIE1v
ZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE1CitQQVNTIENTUyBG
b250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNgorUEFT
UyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
MTcKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUt
dmFsdWVzIDE4CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1w
YWxldHRlLXZhbHVlcyAxOQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFs
dWVzLXZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzY3NzRlZmJiMTQ5MzFlYmY1MDgwOGMzY2IzNWZiZmY4YTEzNzliOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtdmFsaWQuaHRtbApA
QCAtMCwwICsxLDIzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkNTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2lu
ZyBAZm9udC1wYWxldHRlLXZhbHVlczwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZm9udHMvI2ZvbnQtcGFsZXR0ZS12YWx1ZXMiPgor
PG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJAZm9udC1wYWxldHRlLXZhbHVlcyBpcyBwYXJz
ZWQgY29ycmVjdGx5LiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGUgaWQ9InN0eWxlIj4KKy8qIDAgKi8KK0Bmb250LXBhbGV0dGUtdmFs
dWVzIEEgeworfQorCisvKiAxICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBCIHsKKyAgICBmb250
LXdlaWdodDogNDAwOworfQorCisvKiAyICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBDIHsKKyAg
ICBmb250LWZhbWlseTogZm9vOworICAgIGZvbnQtZmFtaWx5OiBiYXI7CisgICAgYmFzZS1wYWxl
dHRlOiAxOworICAgIGJhc2UtcGFsZXR0ZTogImJheiI7CisgICAgYmFzZS1wYWxldHRlOiAyOwor
ICAgIG92ZXJyaWRlLWNvbG9yOiAiYSIgIzEyMzsKKyAgICBvdmVycmlkZS1jb2xvcjogMyAjMTIz
OworICAgIG92ZXJyaWRlLWNvbG9yOiAiYiIgIzEyMzsKK30KKworLyogMyAqLworQGZvbnQtcGFs
ZXR0ZS12YWx1ZXMgRCB7CisgICAgYmFzZS1wYWxldHRlOiAiZm9vIjsKKyAgICBiYXNlLXBhbGV0
dGU6IDE7CisgICAgYmFzZS1wYWxldHRlOiAiYmFyIjsKKyAgICBvdmVycmlkZS1jb2xvcjogMyAj
MTIzOworICAgIG92ZXJyaWRlLWNvbG9yOiAiYmF6IiAjMTIzOworICAgIG92ZXJyaWRlLWNvbG9y
OiA0ICMxMjM7Cit9CisKKy8qIDQgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEUgeworICAgIG92
ZXJyaWRlLWNvbG9yOiAzIHJnYigxNywgMzQsIDUxKTsKKyAgICBvdmVycmlkZS1jb2xvcjogMyBy
Z2IoNjgsIDg1LCAxMDIpOworfQorCisvKiA1ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBGIHsK
KyAgICBmb250LWZhbWlseTogImZvbyI7Cit9CisKKy8qIDYgKi8KK0Bmb250LXBhbGV0dGUtdmFs
dWVzIEcgeworICAgIG92ZXJyaWRlLWNvbG9yOiAzIHJnYigxNywgMzQsIDUxKSwgNCByZ2IoNjgs
IDg1LCAxMDIpOworfQorCisvKiA3ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBIIHsKKyAgICBv
dmVycmlkZS1jb2xvcjogMyByZ2IoMTcsIDM0LCA1MSksIDMgcmdiKDY4LCA4NSwgMTAyKTsKK30K
KworLyogOCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSSB7CisgICAgYmFzZS1wYWxldHRlOiAt
MzsKK30KKworLyogOSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSiB7CisgICAgb3ZlcnJpZGUt
Y29sb3I6IC0zIHJnYigxNywgMzQsIDUxKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CitsZXQgcnVsZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3R5bGUiKS5z
aGVldC5jc3NSdWxlczsKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sw
XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiQGZvbnQtcGFs
ZXR0ZS12YWx1ZXMgIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2Yo
IiBBICIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJ7IiksIC0x
KTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIn0iKSwgLTEpOworICAgIGFz
c2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJmb250LWZhbWlseSIpLCAtMSk7CisgICAgYXNzZXJ0
X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7CisgICAgYXNzZXJ0X2Vx
dWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKK30pOworCit0ZXN0KGZ1
bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbMF07CisgICAgYXNzZXJ0X2VxdWFscyhy
dWxlLnR5cGUsIENTU1J1bGUuRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuY29uc3RydWN0b3IubmFtZSwgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIp
OworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2Vx
dWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUs
IDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sxXS5j
c3NUZXh0OworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJmb250LXdlaWdodCIpLCAt
MSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzFdOwor
ICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDAp
OworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1syXS5jc3NU
ZXh0OworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJmb250LWZhbWlseTogZm9vOyIp
LCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJmb250LWZhbWlseTog
YmFyOyIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0
ZTogMTsiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0
dGU6IFwiYmF6XCIiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigi
YmFzZS1wYWxldHRlOiAyOyIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2Yo
Im92ZXJyaWRlLWNvbG9yOiBcImFcIiIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0Lmlu
ZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiAzIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0
ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiBcImJcIiIpLCAtMSk7Cit9KTsKKwordGVzdChm
dW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzJdOworICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5mb250RmFtaWx5LCAiYmFyIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxl
dHRlLCAiMiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0
KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbM10uY3NzVGV4dDsKKyAgICBhc3Nl
cnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiBcImZvb1wiOyIpLCAtMSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZTogMSIpLCAtMSk7Cisg
ICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6IFwiYmFyXCI7
IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3I6
IDMiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xv
cjogXCJiYXpcIiIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJv
dmVycmlkZS1jb2xvcjogNCIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBs
ZXQgcnVsZSA9IHJ1bGVzWzNdOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAi
Iik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiYmFyIik7CisgICAgYXNz
ZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoNyks
IHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMocnVsZS5nZXQoNCkuaW5kZXhPZigi
cmdiIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVs
ZXNbNF0uY3NzVGV4dDsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiNTEiKSwgLTEp
OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiMTAyIiksIC0xKTsKK30pOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbNF07CisgICAgYXNzZXJ0
X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFz
ZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7CisgICAgYXNz
ZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsKKyAgICBhc3NlcnRfbm90X2VxdWFs
cyhydWxlLmdldCgzKS5pbmRleE9mKCIxMDIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s1XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1
YWxzKHRleHQuaW5kZXhPZigiZm9vIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICAgIGxldCBydWxlID0gcnVsZXNbNV07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1p
bHksICJmb28iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsK
KyAgICBsZXQgdGV4dCA9IHJ1bGVzWzZdLmNzc1RleHQ7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMo
dGV4dC5pbmRleE9mKCI1MSIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRl
eE9mKCIxMDIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUg
PSBydWxlc1s2XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5zaXplLCAyKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDcpLCB1bmRlZmluZWQp
OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDMpLmluZGV4T2YoIjUxIiksIC0xKTsK
KyAgICBhc3NlcnRfbm90X2VxdWFscyhydWxlLmdldCg0KS5pbmRleE9mKCIxMDIiKSwgLTEpOwor
fSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s3XS5jc3NUZXh0
OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiNTEiKSwgLTEpOworICAgIGFz
c2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiMTAyIiksIC0xKTsKK30pOworCit0ZXN0KGZ1
bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNbN107CisgICAgYXNzZXJ0X2VxdWFscyhy
dWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUs
ICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhydWxlLmdl
dCgzKS5pbmRleE9mKCIxMDIiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoNCks
IHVuZGVmaW5lZCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1
bGVzWzhdLmNzc1RleHQ7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNl
LXBhbGV0dGUiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUg
PSBydWxlc1s4XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIi0zIik7CisgICAgYXNzZXJ0X2VxdWFs
cyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQg
PSBydWxlc1s5XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigi
b3ZlcnJpZGUtY29sb3IiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0
IHJ1bGUgPSBydWxlc1s5XTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIp
OworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9l
cXVhbHMocnVsZS5zaXplLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDcpLCB1bmRl
ZmluZWQpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5nZXQoLTMpLCB1bmRlZmluZWQpOworfSk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438785</attachid>
            <date>2021-09-20 23:33:26 -0700</date>
            <delta_ts>2021-09-20 23:34:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230337-20210920233325.patch</filename>
            <type>text/plain</type>
            <size>92362</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE1MTI3NWU4YTU5YTk2
OTRjNjcwM2ZjNzNjNzIxYzgyMzNkYTIxYS4uMmIxMjEzZmIxZjZhMGIwZWE0NDM2OTFmZTliOWIz
ODkzZTM3ZTVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNyBAQAorMjAyMS0wOS0yMCAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFBhcnNpbmcg
c3VwcG9ydCBmb3IgZm9udC1wYWxldHRlLXZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMzM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUncyBub3RoaW5nIHBhcnRpY3VsYXJseSBpbnRl
cmVzdGluZyBoZXJlIC0gaXQncyBqdXN0IHN1cHBvcnQgZm9yIGFub3RoZXIgYXQtcnVsZS4KKyAg
ICAgICAgSSd2ZSBpbXBsZW1lbnRlZCB3aGF0J3MgaW4gdGhlIHNwZWMgcmlnaHQgbm93OgorICAg
ICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTQvI2ZvbnQtcGFsZXR0ZS12
YWx1ZXMKKworICAgICAgICBUaGVyZSBhcmUgMiBuZXcgZGVzY3JpcHRvcnM6IGJhc2UtcGFsZXR0
ZSBhbmQgb3ZlcnJpZGUtY29sb3IuIEkndmUgYWRkZWQgYSBuZXcgQ1NTVmFsdWUgc3ViY2xhc3MK
KyAgICAgICAgZm9yIGVhY2ggb2YgdGhlIGl0ZW1zIGluIHRoZSBvdmVycmlkZS1jb2xvciBsaXN0
IC0gdGhlc2UgaXRlbXMgYXJlIGp1c3QgdHVwbGVzIG9mIHR3bworICAgICAgICBDU1NQcmltaXRp
dmVWYWx1ZXMuIEkgY291bGQgaGF2ZSBkb25lIHRoaXMgd2l0aCBhIENTU1ZhbHVlTGlzdCB3aGlj
aCBhbHdheXMganVzdCBoYXBwZW5zIHRvIGhhdmUKKyAgICAgICAgYSBsZW5ndGggb2YgMiwgYnV0
IEkgdGhvdWdodCB0aGF0IHdhcyBsZXNzIGVsZWdhbnQgKGFuZCBoYXMgYW4gZXh0cmEgcG9pbnRl
ciBpbmRpcmVjdGlvbikgdGhhbgorICAgICAgICBtYWtpbmcgYSBjbGFzcyB0byBob2xkIHRoZSB0
d28gQ1NTUHJpbWl0aXZlVmFsdWVzLgorCisgICAgICAgIFRoZSBvbmx5IGRpZmZlcmVuY2Ugd2l0
aCB3aGF0J3MgaW4gdGhlIHNwZWMgaXMgdGhhdCBJJ3ZlIGdpdmVuIGEgZGlmZmVyZW50IHZhbHVl
IHRvCisgICAgICAgIEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSwgYmVjYXVzZSBpdHMgY3VycmVu
dCB2YWx1ZSBjb25mbGljdHMgd2l0aCBWSUVXUE9SVF9SVUxFLiBUaGlzIGlzIGJlaW5nCisgICAg
ICAgIHRyYWNrZWQgYXQgaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVz
LzY2MjMuCisKKyAgICAgICAgSSBjcmVhdGVkIGEgbmV3IGRhdGF0eXBlIGFuZCBmaWxlIGluIHBs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmggYmVjYXVzZSB0aGlzIGRhdGEgd2ls
bAorICAgICAgICBldmVudHVhbGx5IGJlIHBhc3NlZCB0byBwcmVwYXJlUGxhdGZvcm1Gb250KCks
IHdoaWNoIGlzIGluIHBsYXRmb3JtLywgc28gdGhpcyBkYXRhIG5lZWRzIHRvIGJlCisgICAgICAg
IGFjY2Vzc2libGUgZnJvbSBwbGF0Zm9ybS8gdG9vLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0
dGUtdmFsdWVzLWludmFsaWQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12
YWxpZC5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NS
dWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgor
ICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHA6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmguCisgICAgICAg
IChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3VzdG9t
Q1NTVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGU6On5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6cGFyc2VTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpmb250RmFtaWx5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6YmFzZVBhbGV0dGUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpzZXRGb250RmFtaWx5KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0QmFzZVBhbGV0dGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjppbml0aWFsaXplTWFwTGlrZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnNldEZyb21NYXBM
aWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y2xlYXIp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpyZW1vdmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjc3NUZXh0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6cmVhdHRhY2gp
OgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL0NTU1Byb3BlcnRp
ZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5jcHA6CisgICAgICAgICogY3NzL0NTU1J1
bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5pZGw6CisgICAgICAgICogY3NzL0NTU1ZhbHVl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjplcXVhbHMgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1RleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTVmFsdWU6OmlzRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUg
Y29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNl
Ojpjb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNT
U09NV3JhcHBlciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVGb250UGFsZXR0
ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMpOgorICAgICAgICAqIGNzcy9TdHls
ZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmlzRm9udFBhbGV0dGVW
YWx1ZXNSdWxlIGNvbnN0KToKKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgICogY3NzL1N0eWxl
UnVsZVR5cGUuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRyYXZlcnNlUnVsZXNJblZlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVNoZWV0Q29udGVudHM6OnRyYXZlcnNlU3VicmVzb3VyY2VzIGNvbnN0KToKKyAgICAgICAg
KiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNzc0F0UnVs
ZUlEKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmg6CisgICAgICAgICogY3Nz
L3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcklt
cGw6OmNvbnN1bWVBdFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6Y29u
c3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJJ
bXBsOjpjb25zdW1lRGVjbGFyYXRpb24pOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2Vy
SW1wbC5oOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVzY3JpcHRvcik6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKToKKyAgICAg
ICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpG
b250UGFsZXR0ZVZhbHVlczo6Rm9udFBhbGV0dGVWYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9udFBhbGV0dGVWYWx1ZXM6OmJhc2VQYWxldHRlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQYWxldHRlVmFsdWVzOjpzZXRCYXNlUGFsZXR0ZSk6CisgICAgICAgIChXZWJDb3JlOjpG
b250UGFsZXR0ZVZhbHVlczo6b3ZlcnJpZGVDb2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpGb250UGFsZXR0ZVZhbHVlczo6YXBwZW5kT3ZlcnJpZGVDb2xvcik6CisgICAgICAgIChXZWJD
b3JlOjpGb250UGFsZXR0ZVZhbHVlczo6Y2xlYXJPdmVycmlkZUNvbG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRQYWxldHRlVmFsdWVzOjpyZW1vdmUpOgorCiAyMDIxLTA5LTIwICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCByZW1haW5pbmcgdXNlcyBv
ZiBtYWtlUmVmUHRyKCkgaW4gV2ViQ29yZS8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzM3ZmU2
MDQ3YjIzYzAwMzMyMTNkOWQyNjYwYzhmY2IxMzQ4ZGMyOC4uYTQxMzJkZmI1Yjk2NmM0ODkxNTdk
ZTlhMTVlZjY2MmE3MGQ3NDU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTcwNSw2ICs3MDUs
NyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNzcy9DU1NDb25kaXRpb25S
dWxlLmlkbAogICAgIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbAogICAgIGNzcy9DU1NGb250
RmFjZVJ1bGUuaWRsCisgICAgY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGwKICAgICBj
c3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAogICAgIGNzcy9DU1NJbXBvcnRSdWxlLmlkbAogICAgIGNz
cy9DU1NLZXlmcmFtZVJ1bGUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdAppbmRleCA3ZWYzOWZkYzM1YWVlMmEyM2QzZjZkYTYwNjc3MDE0N2U2
ODlmNGVhLi5jZjJlOWFkY2NhZDBhZTE2Njg3ODQ5OTU0NmQzY2Y3N2I5ZGM5NjZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTY4Miw2
ICs2ODIsNyBAQCAkKFBST0pFQ1RfRElSKS9jcnlwdG8vcGFyYW1ldGVycy9Sc2FQc3NQYXJhbXMu
aWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTQ29uZGl0aW9uUnVsZS5pZGwKICQoUFJPSkVDVF9E
SVIpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0Zv
bnRGYWNlUnVsZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAogJChQUk9KRUNU
X0RJUikvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTS2V5ZnJh
bWVSdWxlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAppbmRleCAyN2ViZDhhOTI0NzMzNTU1M2RhYjQ3N2ZiZjQ4ZjBkMGVlNWE1YmUwLi4x
NmNjNDg3ZDRjMDJmNGRhOTdiYzNkYjIxNDAzYWI0ZDczYzUyN2YzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMzAwLDYgKzMwMCw4
IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291
bnRlclN0eWxlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NHcm91cGluZ1J1bGUuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0dyb3VwaW5nUnVsZS5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1Y2ZiYmE3ZjYxMDgxYjFkYTE4
MGZhZTBjYWFlODgyNmQ2MWMzYzk3Li5kMjAyNDNlZjg1NzdiZTM4NTUyODUxNTdkOWE2Zjc1NGU5
NzU3ZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0IEBACi0j
IENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5j
b20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5h
dT4KICMKQEAgLTU3NSw2ICs1NzUsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2Vi
Q29yZSkvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1ND
b3VudGVyU3R5bGVSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udEZhY2VSdWxl
LmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0tleWZyYW1l
UnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZmZjOTEyNTNmZmIzY2VmNTUxZjYxNjBm
NmJhNDNhMWI0MGRlZTdiMS4uMDE5MDg2MmI4NGE5YmYzZGM5NTQ2ZmRjMjk3MjJhNDEwN2JmMDIw
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0zNjYsNiArMzY2LDcgQEAgc2V0KFdlYkNvcmVfUFJJ
VkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIGNzcy9DU1NDb25kaXRpb25SdWxlLmgKICAgICBj
c3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oCiAgICAgY3NzL0NTU0ZvbnRGYWNlUnVsZS5oCisg
ICAgY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCiAgICAgY3NzL0NTU0ZvbnRGYW1pbHku
aAogICAgIGNzcy9DU1NHcmlkSW50ZWdlclJlcGVhdFZhbHVlLmgKICAgICBjc3MvQ1NTR3JvdXBp
bmdSdWxlLmgKQEAgLTEyNTksNiArMTI2MCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVX
T1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlv
bk51bGwuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9G
b250UGFsZXR0ZVZhbHVlcy5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0
YS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJhbmdlcy5oCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFNlbGVjdGlvbkFsZ29yaXRobS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDIxZjUxZDMz
ZDcyMDEzNTc0MDhlYTdkMzY3ZDZkMDljODg1YTNiYWIuLmYwZWIyNDc1NzgxNDk3MzFjNzczMTk4
M2RmM2JiZGU3YTFmYzkxNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xLDQgKzEsNCBAQAotLy8gQ29w
eXJpZ2h0IChDKSAyMDE3LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
Q29weXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
Ly8KIC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NTgsNiArNjU4LDggQEAgY3NzL0NT
U0ZvbnRGYWNlU2V0LmNwcAogY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAogY3NzL0NTU0ZvbnRG
YWNlU3JjVmFsdWUuY3BwCiBjc3MvQ1NTRm9udEZlYXR1cmVWYWx1ZS5jcHAKK2Nzcy9DU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAKK2Nzcy9DU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUuY3BwCiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAogY3NzL0NTU0ZvbnRTdHlsZVJh
bmdlVmFsdWUuY3BwCiBjc3MvQ1NTRm9udFN0eWxlVmFsdWUuY3BwCkBAIC0yODI0LDYgKzI4MjYs
NyBAQCBKU0NTU0FuaW1hdGlvbi5jcHAKIEpTQ1NTQ29uZGl0aW9uUnVsZS5jcHAKIEpTQ1NTQ291
bnRlclN0eWxlUnVsZS5jcHAKIEpTQ1NTRm9udEZhY2VSdWxlLmNwcAorSlNDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUuY3BwCiBKU0NTU0dyb3VwaW5nUnVsZS5jcHAKIEpTQ1NTSW1wb3J0UnVsZS5j
cHAKIEpTQ1NTS2V5ZnJhbWVSdWxlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFmNzNmZTBiMzljMTYxOTliNTRhNWFjZTc0
NjFiZDk3MzJlNTBjZWMuLjA0YWIxZWU3YzkxY2RlZWVmNzM0ODZhM2U4ZGVkY2ZlZjk4YzJhYmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTY1Myw2ICs2NTMsNyBAQAogCQkxQzI0RUVBOTFDNzJBN0I0MDA4MEY4RkMgLyogSlNG
b250RmFjZVNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUMyNEVFQTcxQzcyQTdCNDAwODBGOEZDIC8qIEpTRm9udEZhY2VTZXQuaCAqLzsgfTsKIAkJ
MUM0M0RFNkIyMkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3VycmVudFRyYWl0Q29sbGVjdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM0M0RFNjgy
MkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3VycmVudFRyYWl0Q29sbGVjdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFDNEQwREQzMjREOUYx
MEQwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNEQwREQxMjREOUYwREIwMDNENzQ5OCAvKiBHbHlw
aEJ1ZmZlck1lbWJlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkxQzVFMURBODI2Rjk0QjkwMDBFMDdBRjEgLyogRm9udFBhbGV0dGVWYWx1ZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNUUxREE2
MjZGOTQ5QjkwMEUwN0FGMSAvKiBGb250UGFsZXR0ZVZhbHVlcy5oICovOyB9OwogCQkxQzY2MjYx
MTFDNkU3Q0E2MDBBQjUyN0MgLyogRm9udEZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjYyNjBGMUM2RTdDQTYwMEFCNTI3QyAvKiBGb250RmFj
ZS5oICovOyB9OwogCQkxQzczQTcxMzIxODU3NTdFMDA0Q0NFQTUgLyogVGV4dFVuZGVybGluZU9m
ZnNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNC
NkI0RkIyMTdCODM5NDAwOTNCOUNEIC8qIFRleHRVbmRlcmxpbmVPZmZzZXQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQzczQTcxNTIxODU3NTg3
MDA0Q0NFQTUgLyogVGV4dERlY29yYXRpb25UaGlja25lc3MuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQjZCNEY4MjE3QjgzOTMwMDkzQjlDRCAvKiBU
ZXh0RGVjb3JhdGlvblRoaWNrbmVzcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC02NjcsNiArNjY4LDcgQEAKIAkJMUNFODg2NDEyNjEwNUJGMjAw
MEM4MTZDIC8qIEluTWVtb3J5RGlzcGxheUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRTg4NjNGMjYxMDVBNUYwMDBDODE2QyAvKiBJbk1lbW9y
eURpc3BsYXlMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMUNFOEQxMjcyNjE4NUMwRTAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlbUJ1ZmZl
cklkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFDRThEMTI1MjYxODVCRDgwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJZGVu
dGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMUNFOEQxMkUyNjE4NjFDNDAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlcmF0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRThEMTJDMjYxODYx
NjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUNFQUE1MzIyNkYzMzZGQzAwODY4NTA3IC8q
IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0VBQTUzMTI2RjMzMUMxMDA4Njg1MDcg
LyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCAqLzsgfTsKIAkJMUNG
QUUzMjMwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0Qg
LyogbGlib2JqYy5keWxpYiAqLzsgfTsKIAkJMUQwMDI2QTQyMzc0RDYyNDAwQ0E2Q0RGIC8qIEpT
UGljdHVyZUluUGljdHVyZVdpbmRvdy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUQwMDI2QTIyMzc0RDYyMzAwQ0E2Q0RGIC8qIEpTUGljdHVyZUluUGlj
dHVyZVdpbmRvdy5oICovOyB9OwogCQkxRDAwMjZBQTIzNzRGOUVBMDBDQTZDREYgLyogSlNFbnRl
clBpY3R1cmVJblBpY3R1cmVFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUQwMDI2QTgyMzc0RjlEOTAwQ0E2Q0RGIC8qIEpTRW50ZXJQaWN0dXJl
SW5QaWN0dXJlRXZlbnQuaCAqLzsgfTsKQEAgLTcwNTEsNiArNzA1Myw3IEBACiAJCTFDNDNERTZB
MjJBQjRCOEEwMDE1MjdEOSAvKiBMb2NhbEN1cnJlbnRUcmFpdENvbGxlY3Rpb24ubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2NhbEN1cnJlbnRUcmFpdENvbGxl
Y3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNEQwREQxMjREOUYwREIw
MDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2x5cGhCdWZm
ZXJNZW1iZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNTBDNDk1MjJDODRG
MjQwMEE2RTRCRSAvKiBXSExTTFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdITFNMU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25NYXAuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQzVFMURBNjI2Rjk0OUI5MDBFMDdBRjEgLyogRm9udFBh
bGV0dGVWYWx1ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udFBhbGV0dGVWYWx1ZXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2NjI2MEUxQzZFN0NBNjAwQUI1MjdDIC8qIEZvbnRG
YWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvbnRGYWNlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2NjI2MEYxQzZFN0NBNjAwQUI1MjdD
IC8qIEZvbnRGYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRGYWNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNkZEOEFDMjUwQTI5NEQwMEQ2RTky
MCAvKiBGb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9u
dFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTcwODMsNiArNzA4NiwxMSBAQAogCQkxQ0U4RDEyNTI2MTg1QkQ4MDBGQzNBRUYgLyogRGlzcGxh
eUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0
ZW1CdWZmZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRThE
MTJCMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IERpc3BsYXlMaXN0SXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQ0U4RDEyQzI2MTg2MTY0MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVyYXRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MkQyNkYzMUEzQzAwODY4
NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1
MkYyNkYzMUFGODAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUNFQUE1MzAyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvclZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0ZvbnRQYWxldHRlVmFsdWVz
T3ZlcnJpZGVDb2xvclZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNF
QUE1MzEyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xv
clZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xv
clZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRjBCRkQ0MjI5ODcwNjgw
MEVEMjA3NCAvKiBUZXh0U2l6ZUFkanVzdG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4
dFNpemVBZGp1c3RtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGMThG
M0MyNkJCNUFGMjAwNEIxNzIyIC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IExvZ0luaXRpYWxpemF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUNGQUUzMjIwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5
bGliIjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJvYmpjLmR5bGli
OyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAtMjcwMTAsNiArMjcwMTgsNyBAQAog
CQkJCUU0NEVFM0E2MTc1NzZFNTUwMEVFRThDRiAvKiBGb250R2VuZXJpY0ZhbWlsaWVzLmNwcCAq
LywKIAkJCQlFNDRFRTNBNzE3NTc2RTU1MDBFRUU4Q0YgLyogRm9udEdlbmVyaWNGYW1pbGllcy5o
ICovLAogCQkJCTA4NDU2ODA3MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oICovLAor
CQkJCTFDNUUxREE2MjZGOTQ5QjkwMEUwN0FGMSAvKiBGb250UGFsZXR0ZVZhbHVlcy5oICovLAog
CQkJCTg0QjYyNjg0MTMzMTM4RjkwMDk1QTQ4OSAvKiBGb250UGxhdGZvcm1EYXRhLmNwcCAqLywK
IAkJCQlCNTMyMEQ2OTEyMkEyNEU5MDAyRDE0NDAgLyogRm9udFBsYXRmb3JtRGF0YS5oICovLAog
CQkJCTM3MUY0RkZCMEQyNUU3RjMwMEVDRTBENSAvKiBGb250UmFuZ2VzLmNwcCAqLywKQEAgLTI5
NTkzLDYgKzI5NjAyLDExIEBACiAJCQkJODM1MjBDN0QxQTcxQkZDQzAwNkJEMkFBIC8qIENTU0Zv
bnRGYW1pbHkuaCAqLywKIAkJCQk0QTZFOUZDMTEzQzE3RDFEMDA0NkE3RjggLyogQ1NTRm9udEZl
YXR1cmVWYWx1ZS5jcHAgKi8sCiAJCQkJNEE2RTlGQzIxM0MxN0QxRDAwNDZBN0Y4IC8qIENTU0Zv
bnRGZWF0dXJlVmFsdWUuaCAqLywKKwkJCQkxQ0VBQTUzMDI2RjMzMUMxMDA4Njg1MDcgLyogQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwICovLAorCQkJCTFDRUFBNTMx
MjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1
ZS5oICovLAorCQkJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUuY3BwICovLAorCQkJCTFDRUFBNTJEMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUuaCAqLywKKwkJCQkxQ0VBQTUyRjI2RjMxQUY4MDA4Njg1MDcgLyog
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCAqLywKIAkJCQlCQzY0QjREMzBDQjQyOThBMDA1
RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmNwcCAqLywKIAkJCQlCQzY0QjRENDBDQjQyOThBMDA1
RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmggKi8sCiAJCQkJQzJFMzhFRkYxRTg0NTczNTAwQ0Ez
QURGIC8qIENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuY3BwICovLApAQCAtMzE5NjcsNiArMzE5ODEs
NyBAQAogCQkJCUJDNjRCNERBMENCNDI5OEEwMDVGMkI2MiAvKiBDU1NGb250RmFjZVNyY1ZhbHVl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzUyMEM3RTFBNzFCRkNDMDA2QkQyQUEgLyogQ1NTRm9u
dEZhbWlseS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE2RTlGQzQxM0MxN0QxRDAwNDZBN0Y4IC8q
IENTU0ZvbnRGZWF0dXJlVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTFDRUFBNTMyMjZGMzM2
RkMwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM2NEI0REMwQ0I0Mjk4QTAwNUYyQjYyIC8qIENTU0ZvbnRTZWxl
Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJFMzhGMDIxRTg0NTczNTAwQ0EzQURGIC8qIENT
U0ZvbnRTdHlsZVJhbmdlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyRTM4RUZFMUU4Mzk2
RkQwMENBM0FERiAvKiBDU1NGb250U3R5bGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjUw
NCw2ICszMjUxOSw3IEBACiAJCQkJNjU4NDM2ODYwQUUwMUI3NDAwRTUzNzQzIC8qIEZvbnRMb2Fk
UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0QTUzMkYyNTYwNTdDRDAwMjhDNTkyIC8q
IEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4NDU2ODA4MTJC
OTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUM1RTFE
QTgyNkY5NEI5MDAwRTA3QUYxIC8qIEZvbnRQYWxldHRlVmFsdWVzLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCNTMyMEQ2QjEyMkEyNEU5MDAyRDE0NDAgLyogRm9udFBsYXRmb3JtRGF0YS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzcxRjRGRkMwRDI1RTdGMzAwRUNFMEQ1IC8qIEZvbnRSYW5nZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDNEE1MzM5MjU2MDYzOTgwMDI4QzU5MiAvKiBGb250UmVuZGVy
aW5nTW9kZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNDU1NSdWxlQ3VzdG9tLmNwcAppbmRleCA3NTBlMDBjMzg3ZmJkMjc4ZTU4NWZlYzZiZDM0ZDIw
NTA3MWNjNWQzLi44YzRjNTYxNWEzOWY3MTM5NWQ3ZGM3ZTliOGZlNzlmNjE5N2M5MjY3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKQEAgLTI4
LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkNTU0NvdW50ZXJTdHlsZVJ1bGUuaCIKICNpbmNsdWRl
ICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUu
aCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxl
LmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtMzgsNiArMzksNyBAQAogI2lu
Y2x1ZGUgIkNTU1N1cHBvcnRzUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTQ291bnRlclN0eWxlUnVs
ZS5oIgogI2luY2x1ZGUgIkpTQ1NTRm9udEZhY2VSdWxlLmgiCisjaW5jbHVkZSAiSlNDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJKU0NTU0ltcG9ydFJ1bGUuaCIKICNpbmNs
dWRlICJKU0NTU0tleWZyYW1lUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTS2V5ZnJhbWVzUnVsZS5o
IgpAQCAtNzAsNiArNzIsOCBAQCBKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNHbG9iYWxPYmpl
Y3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8QwogICAgICAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxDU1NNZWRpYVJ1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxl
KSk7CiAgICAgY2FzZSBDU1NSdWxlOjpGT05UX0ZBQ0VfUlVMRToKICAgICAgICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8Q1NTRm9udEZhY2VSdWxlPihnbG9iYWxPYmplY3QsIFdURk1vdmUocnVsZSkp
OworICAgIGNhc2UgQ1NTUnVsZTo6Rk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFOgorICAgICAgICBy
ZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU+KGdsb2JhbE9iamVj
dCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxlOjpQQUdFX1JVTEU6CiAgICAgICAg
IHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1BhZ2VSdWxlPihnbG9iYWxPYmplY3QsIFdURk1vdmUo
cnVsZSkpOwogICAgIGNhc2UgQ1NTUnVsZTo6SU1QT1JUX1JVTEU6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDI2YjQ5NTdm
ODQ5YjcwMWM1ZDA2ZjdiNDQzZDVkY2ZiZTljZTkzOTAuLjM3ODhmMTEyY2JmZWNiYjhmMTU0NDhj
ODlkODhkODMzMmNmMDhiNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAwNCBaYWNrIFJ1c2luIDx6YWNrQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIw
MDQtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDQtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqIENvcHlyaWdo
dCAoQykgMjAwNyBOaWNob2xhcyBTaGFua3MgPHdlYmtpdEBuaWNrc2hhbmtzLmNvbT4KICAqIENv
cHlyaWdodCAoQykgMjAxMSBTZW5jaGEsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTQw
NTIsNiArNDA1MiwxMSBAQCBSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6
OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNvbnN0IFJlbmRlclN0eQogICAgICAgICBjYXNlIENT
U1Byb3BlcnR5Rm9udERpc3BsYXk6CiAgICAgICAgICAgICBicmVhazsKIAorICAgICAgICAvLyBV
bmltcGxlbWVudGVkIEBmb250LXBhbGV0dGUtdmFsdWVzIHByb3BlcnRpZXMKKyAgICAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUJhc2VQYWxldHRlOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3ZlcnJp
ZGVDb2xvcjoKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIC8qIE90aGVyIHVuaW1wbGVt
ZW50ZWQgcHJvcGVydGllcyAqLwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5UGFnZTogLy8gZm9y
IEBwYWdlCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTaXplOiAvLyBmb3IgQHBhZ2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29s
b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVy
cmlkZUNvbG9yVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2ZDQ2YzJhMTFmYWJmZDFmMjc1MDdmNGIz
MzMxMzdlNjY0YjdmM2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwCkBAIC0wLDAgKzEsNDEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFs
dWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1
ZXNPdmVycmlkZUNvbG9yVmFsdWU6OmN1c3RvbUNTU1RleHQoKSBjb25zdAoreworICAgIHJldHVy
biBtYWtlU3RyaW5nKG1fa2V5LT5jc3NUZXh0KCksICIgIiwgbV9jb2xvci0+Y3NzVGV4dCgpKTsK
K30KKworYm9vbCBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxz
KGNvbnN0IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlJiBvdGhlcikgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9rZXktPmVxdWFscyhvdGhlci5rZXkoKSkgJiYgbV9jb2xvci0+
ZXF1YWxzKG90aGVyLmNvbG9yKCkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmI3MTkwYmJjOTI3MDJkYjNhNjk5MGE3Yzk4YWVhZjIxNDRiZjZmN2EKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlk
ZUNvbG9yVmFsdWUuaApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDU1NWYWx1ZS5o
IgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VM
b2FkZXJPcHRpb25zLmgiCisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVk
Rm9udDsKK2NsYXNzIEZvbnRMb2FkUmVxdWVzdDsKK2NsYXNzIFNWR0ZvbnRGYWNlRWxlbWVudDsK
K2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIENTU0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlIGZpbmFsIDogcHVibGljIENTU1ZhbHVlIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPiBj
cmVhdGUoUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIGtleSwgUmVmPENTU1ByaW1pdGl2ZVZhbHVl
PiYmIGNvbG9yKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUoV1RGTW92ZShrZXkpLCBXVEZNb3ZlKGNvbG9y
KSkpOworICAgIH0KKworICAgIGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBrZXkoKSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIG1fa2V5LmdldCgpOworICAgIH0KKworICAgIGNvbnN0IENT
U1ByaW1pdGl2ZVZhbHVlJiBjb2xvcigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9j
b2xvci5nZXQoKTsKKyAgICB9CisKKyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0Owor
CisgICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9y
VmFsdWUmKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJy
aWRlQ29sb3JWYWx1ZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYga2V5LCBSZWY8Q1NTUHJpbWl0
aXZlVmFsdWU+JiYgY29sb3IpCisgICAgICAgIDogQ1NTVmFsdWUoRm9udFBhbGV0dGVWYWx1ZXNP
dmVycmlkZUNvbG9yQ2xhc3MpCisgICAgICAgICwgbV9rZXkoV1RGTW92ZShrZXkpKQorICAgICAg
ICAsIG1fY29sb3IoV1RGTW92ZShjb2xvcikpCisgICAgeworICAgIH0KKworICAgIFJlZjxDU1NQ
cmltaXRpdmVWYWx1ZT4gbV9rZXk7CisgICAgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiBtX2NvbG9y
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0NTU19WQUxVRShDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSwgaXNGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYTc0YzIxNjllYmZi
NmZkZTc5NWVmODBjYzNiMzI4MzJmNTFiYjk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAKQEAgLTAsMCArMSwxMTggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmgiCisKKyNpbmNs
dWRlICJDb2xvclNlcmlhbGl6YXRpb24uaCIKKyNpbmNsdWRlICJKU0RPTU1hcExpa2UuaCIKKyNp
bmNsdWRlICJQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKKyNpbmNsdWRlICJTdHls
ZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRlICJTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdCdWlsZGVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoU3R5bGVSdWxlRm9udFBhbGV0
dGVWYWx1ZXMmIGZvbnRQYWxldHRlVmFsdWVzUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KQor
ICAgIDogQ1NTUnVsZShwYXJlbnQpCisgICAgLCBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZShmb250
UGFsZXR0ZVZhbHVlc1J1bGUpCit7Cit9CisKK0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6fkNT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgpCit7Cit9CisKK3N0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+
IHBhcnNlU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5
SUQpCit7CisgICAgQ1NTUGFyc2VyQ29udGV4dCBjb250ZXh0KEhUTUxTdGFuZGFyZE1vZGUpOwor
ICAgIGNvbnRleHQuZW5jbG9zaW5nUnVsZVR5cGUgPSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0
ZVZhbHVlczsKKyAgICBhdXRvIHByb3BlcnRpZXMgPSBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzOjpj
cmVhdGUoKTsKKyAgICBDU1NQYXJzZXI6OnBhcnNlVmFsdWUocHJvcGVydGllcywgcHJvcGVydHlJ
RCwgc3RyaW5nLCBmYWxzZSwgY29udGV4dCk7CisgICAgcmV0dXJuIHByb3BlcnRpZXMtPmdldFBy
b3BlcnR5Q1NTVmFsdWUocHJvcGVydHlJRCk7Cit9CisKK1N0cmluZyBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGU6OmZvbnRGYW1pbHkoKSBjb25zdAoreworICAgIHJldHVybiBtX2ZvbnRQYWxldHRl
VmFsdWVzUnVsZS0+Zm9udEZhbWlseSgpOworfQorCitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlOjpiYXNlUGFsZXR0ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24o
bV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmJhc2VQYWxldHRlKCksIFsmXShpbnQ2NF90IGluZGV4
KSB7CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKGluZGV4KTsKKyAgICB9LCBbJl0oY29uc3Qg
QXRvbVN0cmluZyYgYmFzZVBhbGV0dGUpIC0+IFN0cmluZyB7CisgICAgICAgIGlmICghYmFzZVBh
bGV0dGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gYmFzZVBhbGV0dGUuc3RyaW5nKCk7
CisgICAgICAgIHJldHVybiBTdHJpbmdJbXBsOjplbXB0eSgpOworICAgIH0pOworfQorCit2b2lk
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6aW5pdGlhbGl6ZU1hcExpa2UoRE9NTWFwQWRhcHRl
ciYgbWFwKQoreworICAgIGZvciAoYXV0byYgcGFpciA6IG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxl
LT5vdmVycmlkZUNvbG9yKCkpIHsKKyAgICAgICAgaWYgKCFXVEY6OmhvbGRzX2FsdGVybmF0aXZl
PGludDY0X3Q+KHBhaXIuZmlyc3QpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIG1h
cC5zZXQ8SURMVW5zaWduZWRMb25nLCBJRExVU1ZTdHJpbmc+KFdURjo6Z2V0PGludDY0X3Q+KHBh
aXIuZmlyc3QpLCBzZXJpYWxpemF0aW9uRm9yQ1NTKHBhaXIuc2Vjb25kKSk7CisgICAgfQorfQor
CitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAg
ICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CisgICAgYnVpbGRlci5hcHBlbmQoIkBmb250LXBhbGV0
dGUtdmFsdWVzICIsIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5uYW1lKCksICIgeyAiKTsKKyAg
ICBpZiAoIW1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5mb250RmFtaWx5KCkuaXNOdWxsKCkpCisg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJmb250LWZhbWlseTogIiwgbV9mb250UGFsZXR0ZVZhbHVl
c1J1bGUtPmZvbnRGYW1pbHkoKSwgIjsgIik7CisgICAgV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxl
dHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwgWyZdKGludDY0X3QgaW5kZXgpIHsKKyAgICAg
ICAgYnVpbGRlci5hcHBlbmQoImJhc2UtcGFsZXR0ZTogIiwgaW5kZXgsICI7ICIpOworICAgIH0s
IFsmXShjb25zdCBBdG9tU3RyaW5nJiBiYXNlUGFsZXR0ZSkgeworICAgICAgICBpZiAoIWJhc2VQ
YWxldHRlLmlzTnVsbCgpKQorICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoImJhc2UtcGFsZXR0
ZTogIiwgc2VyaWFsaXplU3RyaW5nKGJhc2VQYWxldHRlLnN0cmluZygpKSwgIjsgIik7CisgICAg
fSk7CisgICAgaWYgKCFtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+b3ZlcnJpZGVDb2xvcigpLmlz
RW1wdHkoKSkgeworICAgICAgICBidWlsZGVyLmFwcGVuZCgib3ZlcnJpZGUtY29sb3I6Iik7Cisg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92
ZXJyaWRlQ29sb3IoKS5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgaWYgKGkpCisgICAgICAg
ICAgICAgICAgYnVpbGRlci5hcHBlbmQoJywnKTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5k
KCcgJyk7CisgICAgICAgICAgICBXVEY6OnN3aXRjaE9uKG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxl
LT5vdmVycmlkZUNvbG9yKClbaV0uZmlyc3QsIFsmXShjb25zdCBBdG9tU3RyaW5nJiBuYW1lKSB7
CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoc2VyaWFsaXplU3RyaW5nKG5hbWUuc3Ry
aW5nKCkpKTsKKyAgICAgICAgICAgIH0sIFsmXShpbnQ2NF90IGluZGV4KSB7CisgICAgICAgICAg
ICAgICAgYnVpbGRlci5hcHBlbmQoaW5kZXgpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICBidWlsZGVyLmFwcGVuZCgnICcsIHNlcmlhbGl6YXRpb25Gb3JDU1MobV9mb250UGFsZXR0ZVZh
bHVlc1J1bGUtPm92ZXJyaWRlQ29sb3IoKVtpXS5zZWNvbmQpKTsKKyAgICAgICAgfQorICAgICAg
ICBidWlsZGVyLmFwcGVuZCgiOyAiKTsKKyAgICB9CisgICAgYnVpbGRlci5hcHBlbmQoJ30nKTsK
KyAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOworfQorCit2b2lkIENTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFzZSYgcnVsZSkKK3sKKyAgICBtX2ZvbnRQ
YWxldHRlVmFsdWVzUnVsZSA9IHN0YXRpY19jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
Jj4ocnVsZSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MGQ1YmRkYmM5OWFh
ZDFjZmFkMzM0NDI2ODY1MTQ1N2FjNjc3Mjk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCkBAIC0wLDAgKzEsNjAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgIkNTU1J1bGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBD
U1NTdHlsZURlY2xhcmF0aW9uOworY2xhc3MgRE9NTWFwQWRhcHRlcjsKK2NsYXNzIFN0eWxlUnVs
ZUZvbnRGYWNlOworY2xhc3MgU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjsKKworY2xhc3Mg
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGZpbmFsIDogcHVibGljIENTU1J1bGUgeworcHVibGlj
OgorICAgIHN0YXRpYyBSZWY8Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlPiBjcmVhdGUoU3R5bGVS
dWxlRm9udFBhbGV0dGVWYWx1ZXMmIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KSB7IHJldHVy
biBhZG9wdFJlZigqbmV3IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZShydWxlLCBzaGVldCkpOyB9
CisKKyAgICB2aXJ0dWFsIH5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoKTsKKworICAgIFN0cmlu
ZyBmb250RmFtaWx5KCkgY29uc3Q7CisgICAgU3RyaW5nIGJhc2VQYWxldHRlKCkgY29uc3Q7CisK
KyAgICB2b2lkIGluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXImKTsKKworcHJpdmF0ZToK
KyAgICBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMm
LCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpOworCisgICAgQ1NTUnVsZTo6VHlwZSB0eXBlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFOyB9CisgICAgU3RyaW5n
IGNzc1RleHQoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2Um
KSBmaW5hbDsKKworICAgIFJlZjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gbV9mb250UGFs
ZXR0ZVZhbHVlc1J1bGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUoQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLCBDU1NSdWxl
OjpGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkODMwMDQwYzM3ZDdhMDQ2ZWNm
NjgzMzdkYzg5MjMzNGIxMTJlZDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbApAQCAtMCwwICsxLDI5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKwordHlwZWRl
ZiBVU1ZTdHJpbmcgQ1NTT01TdHJpbmc7CisKK1sKKyAgICBFeHBvc2VkPVdpbmRvdworXSBpbnRl
cmZhY2UgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIDogQ1NTUnVsZSB7CisgICAgcmVhZG9ubHkg
bWFwbGlrZTx1bnNpZ25lZCBsb25nLCBDU1NPTVN0cmluZz47CisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIENTU09NU3RyaW5nIGZvbnRGYW1pbHk7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU09N
U3RyaW5nIGJhc2VQYWxldHRlOworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpz
b24KaW5kZXggZGM4ZmM0MTU0MzY2ZTZlNzU4MWVhZTA0YjQzZWI5NmM5OTVlMTliYy4uNjI4ZTE3
YjYyZjg0NmY3ZTI3ZTA2NTViMzUxMGZkN2Y4MjkzNjI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydGllcy5qc29uCkBAIC00MDg1LDYgKzQwODUsMjYgQEAKICAgICAgICAgICAgICAgICAi
dXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtZm9udHMtMy8jc3JjLWRlc2MiCiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0sCisgICAgICAgICJiYXNlLXBhbGV0dGUiOiB7CisgICAgICAg
ICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxk
ZXIiOiB0cnVlLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdG9yLW9ubHkiOiB0cnVlCisgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAg
ICAgImNhdGVnb3J5IjogImNzcy1mb250cyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTQvI2Jhc2UtcGFsZXR0ZS1kZXNjIgorICAg
ICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAib3ZlcnJpZGUtY29sb3IiOiB7CisgICAg
ICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1
aWxkZXIiOiB0cnVlLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdG9yLW9ubHkiOiB0cnVlCisg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAg
ICAgICAgImNhdGVnb3J5IjogImNzcy1mb250cyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJo
dHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTQvI292ZXJyaWRlLWNvbG9yIgorICAg
ICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAic3RvcC1jb2xvciI6IHsKICAgICAgICAg
ICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgImNvbnZlcnRlciI6
ICJTVkdDb2xvciIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAKaW5kZXggMGYzYzQzOTRkOTVlMjM3MDZl
NDhmNGUyOWFmYjQ4NGZiZmRjMzgwMi4uM2VjZjg0NGFmM2I3MmQxMjUwN2YxYmUyNDI3NGUyZmE2
ZjAyOTYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAo
QykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAz
IERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAyLCAy
MDA1LCAyMDA2LCAyMDA3LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwMi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNDgsNiArNDgsNyBAQCBDT01QSUxFX0FTU0VSVChTdHls
ZVJ1bGVUeXBlOjpLZXlmcmFtZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxl
OjpUeQogQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6TmFtZXNwYWNlID09IHN0YXRpY19j
YXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6Ok5BTUVTUEFDRV9SVUxFKSwgZW51bXNf
c2hvdWxkX21hdGNoKTsKIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHls
ZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpDT1VOVEVSX1NU
WUxFX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxl
VHlwZTo6U3VwcG9ydHMgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlw
ZTo6U1VQUE9SVFNfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CitDT01QSUxFX0FTU0VSVChT
dHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcyA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVU
eXBlPihDU1NSdWxlOjpUeXBlOjpGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpLCBlbnVtc19zaG91
bGRfbWF0Y2gpOwogCiBFeGNlcHRpb25Pcjx2b2lkPiBDU1NSdWxlOjpzZXRDc3NUZXh0KGNvbnN0
IFN0cmluZyYpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAppbmRleCA3ZWZiM2ExN2JlNGI0MzExZDQ1MDYw
MmNkNzE4MGI0MTYwM2NmNzE0Li5lNzQ1OWZhZWUwNzgyNDUwNGYwMDc3MGMzNDVlMzA4MDRkNGI0
NGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTkt
MjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11
ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBBbmRy
ZWFzIEtsaW5nIChrbGluZ0B3ZWJraXQub3JnKQogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTM4LDE5ICszOCwy
MCBAQCBwdWJsaWM6CiAKICAgICAvLyBXZWJJREwgZW51bQogICAgIGVudW0gVHlwZSB7Ci0gICAg
ICAgIFVOS05PV05fUlVMRSwKLSAgICAgICAgU1RZTEVfUlVMRSwKLSAgICAgICAgQ0hBUlNFVF9S
VUxFLAotICAgICAgICBJTVBPUlRfUlVMRSwKLSAgICAgICAgTUVESUFfUlVMRSwKLSAgICAgICAg
Rk9OVF9GQUNFX1JVTEUsCi0gICAgICAgIFBBR0VfUlVMRSwKLSAgICAgICAgS0VZRlJBTUVTX1JV
TEUsCi0gICAgICAgIEtFWUZSQU1FX1JVTEUsCi0gICAgICAgIE1BUkdJTl9SVUxFLAotICAgICAg
ICBOQU1FU1BBQ0VfUlVMRSwKLSAgICAgICAgQ09VTlRFUl9TVFlMRV9SVUxFLAotICAgICAgICBT
VVBQT1JUU19SVUxFCisgICAgICAgIFVOS05PV05fUlVMRSA9IDAsCisgICAgICAgIFNUWUxFX1JV
TEUgPSAxLAorICAgICAgICBDSEFSU0VUX1JVTEUgPSAyLAorICAgICAgICBJTVBPUlRfUlVMRSA9
IDMsCisgICAgICAgIE1FRElBX1JVTEUgPSA0LAorICAgICAgICBGT05UX0ZBQ0VfUlVMRSA9IDUs
CisgICAgICAgIFBBR0VfUlVMRSA9IDYsCisgICAgICAgIEtFWUZSQU1FU19SVUxFID0gNywKKyAg
ICAgICAgS0VZRlJBTUVfUlVMRSA9IDgsCisgICAgICAgIE1BUkdJTl9SVUxFID0gOSwKKyAgICAg
ICAgTkFNRVNQQUNFX1JVTEUgPSAxMCwKKyAgICAgICAgQ09VTlRFUl9TVFlMRV9SVUxFID0gMTEs
CisgICAgICAgIFNVUFBPUlRTX1JVTEUgPSAxMiwKKyAgICAgICAgRk9OVF9QQUxFVFRFX1ZBTFVF
U19SVUxFID0gMTkgLy8gaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVz
LzY2MjMKICAgICB9OwogCiAgICAgZW51bSBEZXByZWNhdGVkVHlwZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVs
ZS5pZGwKaW5kZXggZjNlNjYxMzdkNzYzNzMwYzM3ZjAyM2ExNjMzZTMyZWY4MjUwZWI1Ni4uYTU4
OGFiZTRmNjk0NjUzY2ZmMTMzMGYxZDA3ZTQ2MmE5YjI3OWJiYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxl
LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2Ft
dWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtNDQsNiAr
NDQsNyBAQAogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5BTUVTUEFDRV9SVUxFID0gMTA7CiAg
ICAgW0VuYWJsZWRCeVNldHRpbmc9Q1NTQ291bnRlclN0eWxlQXRSdWxlc10gY29uc3QgdW5zaWdu
ZWQgc2hvcnQgQ09VTlRFUl9TVFlMRV9SVUxFID0gMTE7CiAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgU1VQUE9SVFNfUlVMRSA9IDEyOworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEZPTlRfUEFM
RVRURV9WQUxVRVNfUlVMRSA9IDE5OyAvKiBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRy
YWZ0cy9pc3N1ZXMvNjYyMyAqLwogCiAgICAgLy8gTGVnYWN5IHN5bm9ueW1zIGZvciB0aGUgYWJv
dmUsIGtlcHQgdG8gYXZvaWQgYnJlYWtpbmcgZXhpc3RpbmcgY29udGVudC4KICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBXRUJLSVRfS0VZRlJBTUVTX1JVTEUgPSA3OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZS5jcHAKaW5kZXggODczNjlhYjBkYjUyZjBhMmU4YTNiYTJjMDM5NTM2MDRjNDRkMTdlMi4uMTlj
YjczZWZlZDNkY2I4MDYwNzQyMTA5NjRkZWQ4NDZjNjA1NTVmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBBbmRyZWFz
IEtsaW5nIChrbGluZ0B3ZWJraXQub3JnKQogICogQ29weXJpZ2h0IChDKSAyMDEzIEFkb2JlIFN5
c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMzksNiArNDAsNyBAQAogI2luY2x1ZGUgIkNTU0ZpbHRlckltYWdl
VmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNyY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NT
Rm9udEZlYXR1cmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvclZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFN0eWxlUmFuZ2VWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkNTU0ZvbnRTdHlsZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFZhbHVlLmgiCkBA
IC0xNjQsNiArMTY2LDggQEAgYm9vbCBDU1NWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ZhbHVlJiBv
dGhlcikgY29uc3QKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0ZvbnRW
YWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGb250RmFjZVNyY0NsYXNzOgogICAg
ICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRm9udEZhY2VTcmNWYWx1ZT4oKnRo
aXMsIG90aGVyKTsKKyAgICAgICAgY2FzZSBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JD
bGFzczoKKyAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0ZvbnRQYWxldHRl
VmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEZv
bnRGZWF0dXJlQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NG
b250RmVhdHVyZVZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEZvbnRWYXJpYXRp
b25DbGFzczoKQEAgLTI2NCw2ICsyNjgsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBj
b25zdAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9udFZhbHVlPigqdGhpcykuY3VzdG9t
Q1NTVGV4dCgpOwogICAgIGNhc2UgRm9udEZhY2VTcmNDbGFzczoKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU0ZvbnRGYWNlU3JjVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CisgICAg
Y2FzZSBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczoKKyAgICAgICAgcmV0dXJu
IGRvd25jYXN0PENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPigqdGhpcyku
Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgRm9udEZlYXR1cmVDbGFzczoKICAgICAgICAgcmV0
dXJuIGRvd25jYXN0PENTU0ZvbnRGZWF0dXJlVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7
CiAgICAgY2FzZSBGb250VmFyaWF0aW9uQ2xhc3M6CkBAIC0zNzcsNiArMzgzLDkgQEAgdm9pZCBD
U1NWYWx1ZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBGb250RmFjZVNyY0NsYXNzOgogICAgICAgICBk
ZWxldGUgZG93bmNhc3Q8Q1NTRm9udEZhY2VTcmNWYWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVy
bjsKKyAgICBjYXNlIEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvckNsYXNzOgorICAgICAg
ICBkZWxldGUgZG93bmNhc3Q8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+
KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBGb250RmVhdHVyZUNsYXNzOgogICAg
ICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTRm9udEZlYXR1cmVWYWx1ZT4odGhpcyk7CiAgICAgICAg
IHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggMjNlYjVlYzM4Y2NlOTY5MGU1ZDhhYjQ0
YjU2NTI0NWY4NzJkOTA1ZC4uYTUxNjI2MTdkMzk3Yjc3OGVjODA5NjczYjM0MGFkMzIwZTkyMmVj
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogKEMpIDE5OTkt
MjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDA0LCAy
MDA1LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtOTcsNiArOTcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBp
c0ZvbnRGZWF0dXJlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250RmVh
dHVyZUNsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRWYXJpYXRpb25WYWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2xhc3NUeXBlID09IEZvbnRWYXJpYXRpb25DbGFzczsgfQogICAgIGJvb2wgaXNGb250
RmFjZVNyY1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udEZhY2VTcmND
bGFzczsgfQorICAgIGJvb2wgaXNGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVD
b2xvckNsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xh
c3NUeXBlID09IEZvbnRDbGFzczsgfQogICAgIGJvb2wgaXNGb250U3R5bGVWYWx1ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRTdHlsZUNsYXNzOyB9CiAgICAgYm9vbCBpc0Zv
bnRTdHlsZVJhbmdlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250U3R5
bGVSYW5nZUNsYXNzOyB9CkBAIC0xODcsNiArMTg4LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBG
b250U3R5bGVDbGFzcywKICAgICAgICAgRm9udFN0eWxlUmFuZ2VDbGFzcywKICAgICAgICAgRm9u
dEZhY2VTcmNDbGFzcywKKyAgICAgICAgRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xh
c3MsCiAgICAgICAgIEZ1bmN0aW9uQ2xhc3MsCiAKICAgICAgICAgSW5oZXJpdGVkQ2xhc3MsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4IDRiMTVjMDk0OTg5OWJiZTNkZWQ5OTE0YmU5YjZl
YjFlNjc4MzI1YzMuLmIxNzA4YTU4MjczZmNjMDE2MWI5YzU2ZDEzMDNmMGNiZDA5YTJhNjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5
LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBN
dWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI1
LDYgKzI1LDcgQEAKICNpbmNsdWRlICJDU1NDb3VudGVyU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAi
Q1NTRGVmZXJyZWRQYXJzZXIuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNs
dWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxl
LmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVz
UnVsZS5oIgpAQCAtNzAsNiArNzEsOSBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6OmRlc3Ryb3koKQog
ICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2U6CiAgICAgICAgIGRlbGV0ZSBkb3duY2Fz
dDxTdHlsZVJ1bGVGb250RmFjZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIFN0
eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOgorICAgICAgICBkZWxldGUgZG93bmNhc3Q8
U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpNZWRpYToKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PFN0eWxl
UnVsZU1lZGlhPih0aGlzKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMTEzLDYgKzExNyw4IEBAIFJl
ZjxTdHlsZVJ1bGVCYXNlPiBTdHlsZVJ1bGVCYXNlOjpjb3B5KCkgY29uc3QKICAgICAgICAgcmV0
dXJuIGRvd25jYXN0PFN0eWxlUnVsZVBhZ2U+KCp0aGlzKS5jb3B5KCk7CiAgICAgY2FzZSBTdHls
ZVJ1bGVUeXBlOjpGb250RmFjZToKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFN0eWxlUnVsZUZv
bnRGYWNlPigqdGhpcykuY29weSgpOworICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0
dGVWYWx1ZXM6CisgICAgICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVGb250UGFsZXR0ZVZh
bHVlcz4oKnRoaXMpLmNvcHkoKTsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok1lZGlhOgogICAg
ICAgICByZXR1cm4gZG93bmNhc3Q8U3R5bGVSdWxlTWVkaWE+KCp0aGlzKS5jb3B5KCk7CiAgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpTdXBwb3J0czoKQEAgLTE0OSw2ICsxNTUsOSBAQCBSZWY8Q1NT
UnVsZT4gU3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKENTU1N0eWxlU2hlZXQqIHBh
cmVudFNoZWV0LCBDU1NSdQogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2U6CiAgICAg
ICAgIHJ1bGUgPSBDU1NGb250RmFjZVJ1bGU6OmNyZWF0ZShkb3duY2FzdDxTdHlsZVJ1bGVGb250
RmFjZT4oc2VsZiksIHBhcmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTdHls
ZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoKKyAgICAgICAgcnVsZSA9IENTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZTo6Y3JlYXRlKGRvd25jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
PihzZWxmKSwgcGFyZW50U2hlZXQpOworICAgICAgICBicmVhazsKICAgICBjYXNlIFN0eWxlUnVs
ZVR5cGU6Ok1lZGlhOgogICAgICAgICBydWxlID0gQ1NTTWVkaWFSdWxlOjpjcmVhdGUoZG93bmNh
c3Q8U3R5bGVSdWxlTWVkaWE+KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAgIGJyZWFrOwpA
QCAtMzE5LDYgKzMyOCwyNCBAQCBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBTdHlsZVJ1bGVGb250
RmFjZTo6bXV0YWJsZVByb3BlcnRpZXMoKQogICAgIHJldHVybiBkb3duY2FzdDxNdXRhYmxlU3R5
bGVQcm9wZXJ0aWVzPihtX3Byb3BlcnRpZXMuZ2V0KCkpOwogfQogCitTdHlsZVJ1bGVGb250UGFs
ZXR0ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoY29uc3QgQXRvbVN0cmluZyYg
bmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwgY29uc3QgRm9udFBhbGV0dGVWYWx1
ZXM6OlBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZlY3RvcjxGb250UGFsZXR0ZVZhbHVlczo6
T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpCisgICAgOiBTdHlsZVJ1bGVCYXNlKFN0
eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzKQorICAgICwgbV9uYW1lKG5hbWUpCisgICAg
LCBtX2ZvbnRGYW1pbHkoZm9udEZhbWlseSkKKyAgICAsIG1fZm9udFBhbGV0dGVWYWx1ZXMoYmFz
ZVBhbGV0dGUsIFdURk1vdmUob3ZlcnJpZGVDb2xvcikpCit7Cit9CisKK1N0eWxlUnVsZUZvbnRQ
YWxldHRlVmFsdWVzOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBTdHlsZVJ1bGVG
b250UGFsZXR0ZVZhbHVlcyYgbykKKyAgICA6IFN0eWxlUnVsZUJhc2UobykKKyAgICAsIG1fbmFt
ZShvLm5hbWUoKSkKKyAgICAsIG1fZm9udEZhbWlseShvLmZvbnRGYW1pbHkoKSkKKyAgICAsIG1f
Zm9udFBhbGV0dGVWYWx1ZXMoby5tX2ZvbnRQYWxldHRlVmFsdWVzKQoreworfQorCitTdHlsZVJ1
bGVGb250UGFsZXR0ZVZhbHVlczo6flN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKCkgPSBkZWZh
dWx0OworCiBEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdDo6RGVmZXJyZWRTdHlsZUdyb3VwUnVs
ZUxpc3QoY29uc3QgQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIENTU0RlZmVycmVkUGFyc2Vy
JiBwYXJzZXIpCiAgICAgOiBtX3BhcnNlcihwYXJzZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgK
aW5kZXggMTU2MmM3OTI2N2VhNjRkMjE3MDFiOWRmNzU3YzAzNTI1OTBmOTcxYi4uOTdlYzkxMWVl
ZDNjNzkxMzFhZGRkYTZjYzdlMGZkYmVhMmNhYTk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaApA
QCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtk
ZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQot
ICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMyw2ICsyMyw3IEBACiAKICNpbmNsdWRlICJD
U1NTZWxlY3Rvckxpc3QuaCIKICNpbmNsdWRlICJDb21waWxlZFNlbGVjdG9yLmgiCisjaW5jbHVk
ZSAiRm9udFBhbGV0dGVWYWx1ZXMuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKICNp
bmNsdWRlICJTdHlsZVJ1bGVUeXBlLmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTIs
NiArNTMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0NoYXJzZXRSdWxlKCkgY29uc3QgeyByZXR1
cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkNoYXJzZXQ7IH0KICAgICBib29sIGlzQ291bnRl
clN0eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3Vu
dGVyU3R5bGU7IH0KICAgICBib29sIGlzRm9udEZhY2VSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlw
ZSgpID09IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOyB9CisgICAgYm9vbCBpc0ZvbnRQYWxldHRl
VmFsdWVzUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250
UGFsZXR0ZVZhbHVlczsgfQogICAgIGJvb2wgaXNLZXlmcmFtZXNSdWxlKCkgY29uc3QgeyByZXR1
cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lczsgfQogICAgIGJvb2wgaXNLZXlm
cmFtZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlwZTo6S2V5ZnJh
bWU7IH0KICAgICBib29sIGlzTmFtZXNwYWNlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9
PSBTdHlsZVJ1bGVUeXBlOjpOYW1lc3BhY2U7IH0KQEAgLTE1NSw2ICsxNTcsNDggQEAgcHJpdmF0
ZToKICAgICBSZWY8U3R5bGVQcm9wZXJ0aWVzPiBtX3Byb3BlcnRpZXM7CiB9OwogCitjbGFzcyBT
dHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBjcmVh
dGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwg
Y29uc3QgRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZlY3Rv
cjxGb250UGFsZXR0ZVZhbHVlczo6T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMobmFtZSwgZm9u
dEZhbWlseSwgYmFzZVBhbGV0dGUsIFdURk1vdmUob3ZlcnJpZGVDb2xvcikpKTsgfQorICAgIAor
ICAgIH5TdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygpOworCisgICAgY29uc3QgQXRvbVN0cmlu
ZyYgbmFtZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9uYW1lOworICAgIH0KKwor
ICAgIGNvbnN0IEF0b21TdHJpbmcmIGZvbnRGYW1pbHkoKSBjb25zdAorICAgIHsKKyAgICAgICAg
cmV0dXJuIG1fZm9udEZhbWlseTsKKyAgICB9CisKKyAgICBjb25zdCBGb250UGFsZXR0ZVZhbHVl
cyYgZm9udFBhbGV0dGVWYWx1ZXMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZm9u
dFBhbGV0dGVWYWx1ZXM7CisgICAgfQorCisgICAgY29uc3QgRm9udFBhbGV0dGVWYWx1ZXM6OlBh
bGV0dGVJbmRleCYgYmFzZVBhbGV0dGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1f
Zm9udFBhbGV0dGVWYWx1ZXMuYmFzZVBhbGV0dGUoKTsKKyAgICB9CisKKyAgICBjb25zdCBWZWN0
b3I8Rm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4mIG92ZXJyaWRlQ29sb3IoKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZm9udFBhbGV0dGVWYWx1ZXMub3ZlcnJpZGVD
b2xvcigpOworICAgIH0KKworICAgIFJlZjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gY29w
eSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXMoKnRoaXMpKTsgfQorCitwcml2YXRlOgorICAgIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
KGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcmIGZvbnRGYW1pbHksIGNv
bnN0IEZvbnRQYWxldHRlVmFsdWVzOjpQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlLCBWZWN0b3I8
Rm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4mJiBvdmVycmlkZUNvbG9yKTsKKyAg
ICBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBTdHlsZVJ1bGVGb250UGFsZXR0ZVZh
bHVlcyYpOworCisgICAgQXRvbVN0cmluZyBtX25hbWU7CisgICAgQXRvbVN0cmluZyBtX2ZvbnRG
YW1pbHk7CisgICAgRm9udFBhbGV0dGVWYWx1ZXMgbV9mb250UGFsZXR0ZVZhbHVlczsKK307CisK
IGNsYXNzIFN0eWxlUnVsZVBhZ2UgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVQYWdlPiBjcmVhdGUoUmVmPFN0eWxlUHJvcGVy
dGllcz4mJiwgQ1NTU2VsZWN0b3JMaXN0JiYpOwpAQCAtMzU3LDYgKzQwMSwxMCBAQCBTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZUZvbnRGYWNlKQogICAgIHN0
YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlJiBydWxlKSB7IHJl
dHVybiBydWxlLmlzRm9udEZhY2VSdWxlKCk7IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5E
KCkKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpTdHlsZVJ1bGVGb250
UGFsZXR0ZVZhbHVlcykKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U3R5
bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgp
OyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCisKIFNQRUNJQUxJWkVfVFlQRV9UUkFJ
VFNfQkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxlTWVkaWEpCiAgICAgc3RhdGljIGJvb2wgaXNUeXBl
KGNvbnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0dXJuIHJ1bGUuaXNNZWRp
YVJ1bGUoKTsgfQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGVUeXBlLmgKaW5kZXggYzllNTE4ZGJlNjFiNzM1YjZkN2ExYTdmZjYyNDNjZDk4MTVjYzVi
ZC4uOGYwNWQ2M2JlODFhMWZlNzE5NmY5YzJkODdlMzNlYmIxZTIxYWE0NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlVHlwZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTktMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDE5ICsyOCwyMSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBlbnVtIGNsYXNzIFN0eWxlUnVsZVR5cGUgOiB1aW50OF90IHsKLSAgICBVbmtub3duLCAvLyBO
b3QgdXNlZC4KLSAgICBTdHlsZSwKLSAgICBDaGFyc2V0LCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJl
IGludGVybmFsbHkgc3RyaW5ncyBvd25lZCBieSB0aGUgc3R5bGUgc2hlZXQuCi0gICAgSW1wb3J0
LAotICAgIE1lZGlhLAotICAgIEZvbnRGYWNlLAotICAgIFBhZ2UsCi0gICAgS2V5ZnJhbWVzLAot
ICAgIEtleWZyYW1lLCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgbm9uLXJ1bGUg
U3R5bGVSdWxlS2V5ZnJhbWUgb2JqZWN0cy4KKyAgICBVbmtub3duID0gMCwgLy8gTm90IHVzZWQu
CisgICAgU3R5bGUgPSAxLAorICAgIENoYXJzZXQgPSAyLCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJl
IGludGVybmFsbHkgc3RyaW5ncyBvd25lZCBieSB0aGUgc3R5bGUgc2hlZXQuCisgICAgSW1wb3J0
ID0gMywKKyAgICBNZWRpYSA9IDQsCisgICAgRm9udEZhY2UgPSA1LAorICAgIFBhZ2UgPSA2LAor
ICAgIEtleWZyYW1lcyA9IDcsCisgICAgS2V5ZnJhbWUgPSA4LCAvLyBOb3QgdXNlZC4gVGhlc2Ug
YXJlIGludGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVSdWxlS2V5ZnJhbWUgb2JqZWN0cy4KKyAgICAv
LyBNYXJnaW4gPSA5LCBGSVhNRTogV2h5IGlzIHRoaXMgbWlzc2luZz8KICAgICBOYW1lc3BhY2Ug
PSAxMCwKICAgICBDb3VudGVyU3R5bGUgPSAxMSwKICAgICBTdXBwb3J0cyA9IDEyLAotICAgIExh
eWVyID0gMTMsCisgICAgRm9udFBhbGV0dGVWYWx1ZXMgPSAxOSwgLy8gaHR0cHM6Ly9naXRodWIu
Y29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzY2MjMKKyAgICBMYXllciA9IDIwCiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVTaGVldENvbnRlbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVu
dHMuY3BwCmluZGV4IDMyODQ5NzQ4NTM1YTBkNzY0NjkwMzA3M2NjMjRkYzE4NjZkYjA0Y2UuLmE2
ZTk3MWM2MjYzNjZiYmEwMGU3ZDVlZWQ4ZDUyMzBlNzg2M2VjOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIChDKSAx
OTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAw
NC0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwpAQCAtNDM2LDYgKzQzNiw3IEBAIHN0YXRpYyBib29sIHRyYXZlcnNlUnVsZXNJblZlY3Rv
cihjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYgcnVsZXMsIGNvCiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpTdHlsZToKICAgICAgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZToKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBl
OjpGb250UGFsZXR0ZVZhbHVlczoKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpQYWdlOgog
ICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OktleWZyYW1lczoKICAgICAgICAgY2FzZSBTdHls
ZVJ1bGVUeXBlOjpOYW1lc3BhY2U6CkBAIC00ODYsNiArNDg3LDcgQEAgYm9vbCBTdHlsZVNoZWV0
Q29udGVudHM6OnRyYXZlcnNlU3VicmVzb3VyY2VzKGNvbnN0IFdURjo6RnVuY3Rpb248Ym9vbCAo
Y29uc3QgQ2EKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZToKICAgICAgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpTdXBwb3J0czoKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBl
OjpMYXllcjoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfTsKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0
UnVsZUlELmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuY3BwCmlu
ZGV4IDA4MjU3MjM4YzhiMzU4ZTUzYmZhMjdlMmFiNmJlY2NkNWE2ZDJlOTkuLmU3ZTc0ZDRlZGZk
ODdjNGQ3YzllYjU0NzdjN2U4MmMzYjUyNzk5Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTQXRSdWxlSUQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTUgVGhl
IENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMp
IDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAy
MDE2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzgsNiArMzgsOCBAQCBDU1NBdFJ1bGVJRCBjc3NBdFJ1
bGVJRChTdHJpbmdWaWV3IG5hbWUpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVDaGFyc2V0Owog
ICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG5hbWUsICJmb250LWZhY2UiKSkKICAgICAg
ICAgcmV0dXJuIENTU0F0UnVsZUZvbnRGYWNlOworICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlD
YXNlKG5hbWUsICJmb250LXBhbGV0dGUtdmFsdWVzIikpCisgICAgICAgIHJldHVybiBDU1NBdFJ1
bGVGb250UGFsZXR0ZVZhbHVlczsKICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1l
LCAiaW1wb3J0IikpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVJbXBvcnQ7CiAgICAgaWYgKGVx
dWFsSWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImtleWZyYW1lcyIpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NBdFJ1bGVJRC5oCmluZGV4IDMzMGY2Y2JlMmUyNWIzZGNjZjBlNzI5ZTQ0ODk5
ZjE4OTQxNWE3YmUuLmU2NmMwNDM3N2RjNDllNDA2ODdjZGY2YzJjNmU1NGZkOGUwODUzZjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmgKQEAgLTEsNSArMSw1IEBACiAv
LyBDb3B5cmlnaHQgMjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00OSw2ICs0OSw4IEBA
IGVudW0gQ1NTQXRSdWxlSUQgewogICAgIENTU0F0UnVsZUFwcGx5ID0gMTEsCiAgICAgQ1NTQXRS
dWxlQ291bnRlclN0eWxlID0gMTIsCiAgICAgQ1NTQXRSdWxlTGF5ZXIgPSAxMywKKworICAgIENT
U0F0UnVsZUZvbnRQYWxldHRlVmFsdWVzID0gMTQsCiB9OwogCiBDU1NBdFJ1bGVJRCBjc3NBdFJ1
bGVJRChTdHJpbmdWaWV3IG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFy
c2VySW1wbC5jcHAKaW5kZXggZTViNzQzMDJlMGNlNGM1YWJkNjE2ZWM0NTcxYjYyYzRmZmM3ZTUx
OS4uOTBkMDllZDM5YTE2MWE2N2YwNDdjMjI0M2QxM2UxMGE2MWFjODRiYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBAIC0xLDUgKzEsNSBAQAogLy8g
Q29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0vLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNCw2ICszNCw3
IEBACiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkNTU0N1c3Rv
bVByb3BlcnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NEZWZlcnJlZFBhcnNlci5oIgorI2luY2x1
ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgogI2luY2x1
ZGUgIkNTU1BhcnNlck9ic2VydmVyLmgiCkBAIC00Nyw2ICs0OCw3IEBACiAjaW5jbHVkZSAiQ1NT
VmFyaWFibGVQYXJzZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVsZW1l
bnQuaCIKKyNpbmNsdWRlICJGb250UGFsZXR0ZVZhbHVlcy5oIgogI2luY2x1ZGUgIk1lZGlhTGlz
dC5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJzZXIuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5
UGFyc2VyQ29udGV4dC5oIgpAQCAtNDQ1LDYgKzQ0Nyw4IEBAIFJlZlB0cjxTdHlsZVJ1bGVCYXNl
PiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lQXRSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdl
LCBBCiAgICAgICAgIHJldHVybiBjb25zdW1lU3VwcG9ydHNSdWxlKHByZWx1ZGUsIGJsb2NrKTsK
ICAgICBjYXNlIENTU0F0UnVsZUZvbnRGYWNlOgogICAgICAgICByZXR1cm4gY29uc3VtZUZvbnRG
YWNlUnVsZShwcmVsdWRlLCBibG9jayk7CisgICAgY2FzZSBDU1NBdFJ1bGVGb250UGFsZXR0ZVZh
bHVlczoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUocHJlbHVk
ZSwgYmxvY2spOwogICAgIGNhc2UgQ1NTQXRSdWxlV2Via2l0S2V5ZnJhbWVzOgogICAgICAgICBy
ZXR1cm4gY29uc3VtZUtleWZyYW1lc1J1bGUodHJ1ZSwgcHJlbHVkZSwgYmxvY2spOwogICAgIGNh
c2UgQ1NTQXRSdWxlS2V5ZnJhbWVzOgpAQCAtNjUyLDYgKzY1Niw1NSBAQCBSZWZQdHI8U3R5bGVS
dWxlRm9udEZhY2U+IENTU1BhcnNlckltcGw6OmNvbnN1bWVGb250RmFjZVJ1bGUoQ1NTUGFyc2Vy
VG9rZW5SYW5nZQogICAgIHJldHVybiBTdHlsZVJ1bGVGb250RmFjZTo6Y3JlYXRlKGNyZWF0ZVN0
eWxlUHJvcGVydGllcyhtX3BhcnNlZFByb3BlcnRpZXMsIG1fY29udGV4dC5tb2RlKSk7CiB9CiAK
K1JlZlB0cjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gQ1NTUGFyc2VySW1wbDo6Y29uc3Vt
ZUZvbnRQYWxldHRlVmFsdWVzUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1Bh
cnNlclRva2VuUmFuZ2UgYmxvY2spCit7CisgICAgYXV0byBuYW1lID0gQ1NTUHJvcGVydHlQYXJz
ZXJIZWxwZXJzOjpjb25zdW1lQ3VzdG9tSWRlbnQocHJlbHVkZSk7CisgICAgaWYgKCFuYW1lIHx8
ICFwcmVsdWRlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOyAvLyBQYXJzZSBlcnJv
cjsgZXhwZWN0ZWQgY3VzdG9tIGlkZW50IGluIEBmb250LXBhbGV0dGUtdmFsdWVzIGhlYWRlcgor
CisgICAgaWYgKG1fb2JzZXJ2ZXJXcmFwcGVyKSB7CisgICAgICAgIHVuc2lnbmVkIGVuZE9mZnNl
dCA9IG1fb2JzZXJ2ZXJXcmFwcGVyLT5lbmRPZmZzZXQocHJlbHVkZSk7CisgICAgICAgIG1fb2Jz
ZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigpLnN0YXJ0UnVsZUhlYWRlcihTdHlsZVJ1bGVUeXBlOjpG
b250UGFsZXR0ZVZhbHVlcywgbV9vYnNlcnZlcldyYXBwZXItPnN0YXJ0T2Zmc2V0KHByZWx1ZGUp
KTsKKyAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5kUnVsZUhlYWRlcihl
bmRPZmZzZXQpOworICAgICAgICBtX29ic2VydmVyV3JhcHBlci0+b2JzZXJ2ZXIoKS5zdGFydFJ1
bGVCb2R5KGVuZE9mZnNldCk7CisgICAgICAgIG1fb2JzZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigp
LmVuZFJ1bGVCb2R5KGVuZE9mZnNldCk7CisgICAgfQorCisgICAgY29uc3VtZURlY2xhcmF0aW9u
TGlzdChibG9jaywgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMpOworICAgIGF1dG8g
cHJvcGVydGllcyA9IGNyZWF0ZVN0eWxlUHJvcGVydGllcyhtX3BhcnNlZFByb3BlcnRpZXMsIG1f
Y29udGV4dC5tb2RlKTsKKworICAgIEF0b21TdHJpbmcgZm9udEZhbWlseTsKKyAgICBpZiAoYXV0
byBmb250RmFtaWx5VmFsdWUgPSBwcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1By
b3BlcnR5Rm9udEZhbWlseSkpCisgICAgICAgIGZvbnRGYW1pbHkgPSBkb3duY2FzdDxDU1NQcmlt
aXRpdmVWYWx1ZT4oKmZvbnRGYW1pbHlWYWx1ZSkuZm9udEZhbWlseSgpLmZhbWlseU5hbWU7CisK
KyAgICBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUluZGV4IGJhc2VQYWxldHRlKG51bGxBdG9t
KCkpOworICAgIGlmIChhdXRvIGJhc2VQYWxldHRlVmFsdWUgPSBwcm9wZXJ0aWVzLT5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5QmFzZVBhbGV0dGUpKSB7CisgICAgICAgIGNvbnN0IGF1
dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCpiYXNlUGFs
ZXR0ZVZhbHVlKTsKKyAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzU3RyaW5nKCkpCisgICAg
ICAgICAgICBiYXNlUGFsZXR0ZSA9IHByaW1pdGl2ZVZhbHVlLnN0cmluZ1ZhbHVlKCk7CisgICAg
ICAgIGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTnVtYmVyKCkpCisgICAgICAgICAgICBiYXNl
UGFsZXR0ZSA9IHByaW1pdGl2ZVZhbHVlLnZhbHVlPGludDY0X3Q+KCk7CisgICAgfQorCisgICAg
VmVjdG9yPEZvbnRQYWxldHRlVmFsdWVzOjpPdmVycmlkZGVuQ29sb3I+IG92ZXJyaWRlQ29sb3I7
CisgICAgaWYgKGF1dG8gb3ZlcnJpZGVDb2xvclZhbHVlID0gcHJvcGVydGllcy0+Z2V0UHJvcGVy
dHlDU1NWYWx1ZShDU1NQcm9wZXJ0eU92ZXJyaWRlQ29sb3IpKSB7CisgICAgICAgIGNvbnN0IGF1
dG8mIGxpc3QgPSBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCpvdmVycmlkZUNvbG9yVmFsdWUpOwor
ICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGl0ZW0gOiBsaXN0KSB7CisgICAgICAgICAgICBGb250
UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUNvbG9ySW5kZXgga2V5KG51bGxBdG9tKCkpOworICAgICAg
ICAgICAgY29uc3QgYXV0byYgcGFpciA9IGRvd25jYXN0PENTU0ZvbnRQYWxldHRlVmFsdWVzT3Zl
cnJpZGVDb2xvclZhbHVlPihpdGVtLmdldCgpKTsKKyAgICAgICAgICAgIGlmIChwYWlyLmtleSgp
LmlzU3RyaW5nKCkpCisgICAgICAgICAgICAgICAga2V5ID0gcGFpci5rZXkoKS5zdHJpbmdWYWx1
ZSgpOworICAgICAgICAgICAgZWxzZSBpZiAocGFpci5rZXkoKS5pc051bWJlcigpKQorICAgICAg
ICAgICAgICAgIGtleSA9IHBhaXIua2V5KCkudmFsdWU8aW50NjRfdD4oKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIG92ZXJyaWRlQ29s
b3IuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGtleSwgcGFpci5jb2xvcigpLmNvbG9yKCkpKTsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6
Y3JlYXRlKG5hbWUtPnN0cmluZ1ZhbHVlKCksIGZvbnRGYW1pbHksIGJhc2VQYWxldHRlLCBXVEZN
b3ZlKG92ZXJyaWRlQ29sb3IpKTsKK30KKwogUmVmUHRyPFN0eWxlUnVsZUtleWZyYW1lcz4gQ1NT
UGFyc2VySW1wbDo6Y29uc3VtZUtleWZyYW1lc1J1bGUoYm9vbCB3ZWJraXRQcmVmaXhlZCwgQ1NT
UGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKQogewog
ICAgIENTU1BhcnNlclRva2VuUmFuZ2UgcmFuZ2VDb3B5ID0gcHJlbHVkZTsgLy8gRm9yIGluc3Bl
Y3RvciBjYWxsYmFja3MKQEAgLTk2MSw3ICsxMDE0LDcgQEAgdm9pZCBDU1NQYXJzZXJJbXBsOjpj
b25zdW1lRGVjbGFyYXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgU3R5bGVSdWxlVHlw
ZQogICAgICAgICBjb25zdW1lQ3VzdG9tUHJvcGVydHlWYWx1ZShyYW5nZS5tYWtlU3ViUmFuZ2Uo
JnJhbmdlLnBlZWsoKSwgZGVjbGFyYXRpb25WYWx1ZUVuZCksIHZhcmlhYmxlTmFtZSwgaW1wb3J0
YW50KTsKICAgICB9CiAKLSAgICBpZiAoaW1wb3J0YW50ICYmIChydWxlVHlwZSA9PSBTdHlsZVJ1
bGVUeXBlOjpGb250RmFjZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZSB8
fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3VudGVyU3R5bGUpKQorICAgIGlmIChpbXBv
cnRhbnQgJiYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlIHx8IHJ1bGVUeXBl
ID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6
OkNvdW50ZXJTdHlsZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZh
bHVlcykpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChwcm9wZXJ0eUlEICE9IENTU1Byb3Bl
cnR5SW52YWxpZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFy
c2VySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmgKaW5k
ZXggMTZjNGMzZDE5ZjUwOGMxMDIxZjUxYjRjMzViNzQwNTlkZTUwNDU0Ny4uZTI1ZmU1ZTJhNzUy
OGNhYjQzNGE5ZWViODZhOGQxY2Q3YWZhYTNhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJbXBsLmgKQEAgLTEsNSArMSw1IEBACiAvLyBDb3B5cmlnaHQgMjAxNCBUaGUg
Q2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIENvcHlyaWdodCAoQykg
MjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAo
QykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vCiAvLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTUxLDYgKzUxLDcgQEAgY2xhc3MgU3R5bGVSdWxl
OwogY2xhc3MgU3R5bGVSdWxlQmFzZTsKIGNsYXNzIFN0eWxlUnVsZUNoYXJzZXQ7CiBjbGFzcyBT
dHlsZVJ1bGVGb250RmFjZTsKK2NsYXNzIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOwogY2xh
c3MgU3R5bGVSdWxlSW1wb3J0OwogY2xhc3MgU3R5bGVSdWxlS2V5ZnJhbWVzOwogY2xhc3MgU3R5
bGVSdWxlTGF5ZXI7CkBAIC0xMzMsNiArMTM0LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8U3R5
bGVSdWxlU3VwcG9ydHM+IGNvbnN1bWVTdXBwb3J0c1J1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBw
cmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVSdWxl
Vmlld3BvcnQ+IGNvbnN1bWVWaWV3cG9ydFJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRl
LCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVSdWxlRm9udEZh
Y2U+IGNvbnN1bWVGb250RmFjZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQ
YXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKKyAgICBSZWZQdHI8U3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXM+IGNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBw
cmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVSdWxl
S2V5ZnJhbWVzPiBjb25zdW1lS2V5ZnJhbWVzUnVsZShib29sIHdlYmtpdFByZWZpeGVkLCBDU1NQ
YXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAg
IFJlZlB0cjxTdHlsZVJ1bGVQYWdlPiBjb25zdW1lUGFnZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVS
dWxlQ291bnRlclN0eWxlPiBjb25zdW1lQ291bnRlclN0eWxlUnVsZShDU1NQYXJzZXJUb2tlblJh
bmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAppbmRleCAwNmFhZTU1ZmE4Nzhh
ZmQ4OGNhOWRjNmUzNmU1MTQ5YjgxYjlkNDAyLi5lZDMyNGQ5NGJhOTUzYTVlMDk4YjNmZTQ2ZmFi
YWRkMjM3MzI5MWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3Bl
cnR5UGFyc2VyLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkNTU0N1c3RvbVByb3Bl
cnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNyY1ZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTRm9udEZlYXR1cmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3Zl
cnJpZGVDb2xvclZhbHVlLmgiCiAjaWYgRU5BQkxFKFZBUklBVElPTl9GT05UUykKICNpbmNsdWRl
ICJDU1NGb250VmFyaWF0aW9uVmFsdWUuaCIKICNlbmRpZgpAQCAtMjMzLDYgKzIzNCw4IEBAIGJv
b2wgQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlE
LCBib29sIGltcG9ydGFudCwgY29uCiAKICAgICBpZiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlw
ZTo6Rm9udEZhY2UpCiAgICAgICAgIHBhcnNlU3VjY2VzcyA9IHBhcnNlci5wYXJzZUZvbnRGYWNl
RGVzY3JpcHRvcihwcm9wZXJ0eUlEKTsKKyAgICBlbHNlIGlmIChydWxlVHlwZSA9PSBTdHlsZVJ1
bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcykKKyAgICAgICAgcGFyc2VTdWNjZXNzID0gcGFyc2Vy
LnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKHByb3BlcnR5SUQpOwogICAgIGVsc2Ug
aWYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZSkKICAgICAgICAgcGFy
c2VTdWNjZXNzID0gcGFyc2VyLnBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihwcm9wZXJ0eUlE
LCBjb250ZXh0KTsKICAgICBlbHNlCkBAIC00ODM0LDYgKzQ4MzcsNjMgQEAgYm9vbCBDU1NQcm9w
ZXJ0eVBhcnNlcjo6cGFyc2VGb250RmFjZURlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCBwcm9wSWQp
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+
IGNvbnN1bWVCYXNlUGFsZXR0ZURlc2NyaXB0b3IoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2Up
Cit7CisgICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgPT0gU3RyaW5nVG9rZW4pCisgICAgICAg
IHJldHVybiBjb25zdW1lU3RyaW5nKHJhbmdlKTsKKyAgICByZXR1cm4gY29uc3VtZUludGVnZXIo
cmFuZ2UpOworfQorCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlTGlzdD4gY29uc3VtZU92ZXJyaWRl
Q29sb3JEZXNjcmlwdG9yKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJz
ZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBD
U1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7CisgICAgZG8geworICAgICAgICBS
ZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGtleTsKKyAgICAgICAgaWYgKHJhbmdlLnBlZWsoKS50
eXBlKCkgPT0gU3RyaW5nVG9rZW4pCisgICAgICAgICAgICBrZXkgPSBjb25zdW1lU3RyaW5nKHJh
bmdlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAga2V5ID0gY29uc3VtZUludGVnZXIocmFu
Z2UpOworICAgICAgICBpZiAoIWtleSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgICAgIGF1dG8gY29sb3IgPSBjb25zdW1lQ29sb3IocmFuZ2UsIGNvbnRleHQpOworICAgICAg
ICBpZiAoIWNvbG9yKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgUmVm
UHRyPENTU1ZhbHVlPiB2YWx1ZSA9IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZh
bHVlOjpjcmVhdGUoa2V5LnJlbGVhc2VOb25OdWxsKCksIGNvbG9yLnJlbGVhc2VOb25OdWxsKCkp
OworICAgICAgICBsaXN0LT5hcHBlbmQodmFsdWUucmVsZWFzZU5vbk51bGwoKSk7CisgICAgfSB3
aGlsZSAoY29uc3VtZUNvbW1hSW5jbHVkaW5nV2hpdGVzcGFjZShyYW5nZSkpOworICAgIAorICAg
IGlmICghcmFuZ2UuYXRFbmQoKSB8fCAhbGlzdC0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgcmV0dXJuIGxpc3Q7Cit9CisKK2Jvb2wgQ1NTUHJvcGVydHlQYXJzZXI6
OnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkKQor
eworICAgIFJlZlB0cjxDU1NWYWx1ZT4gcGFyc2VkVmFsdWU7CisgICAgc3dpdGNoIChwcm9wSWQp
IHsKKyAgICBjYXNlIENTU1Byb3BlcnR5Rm9udEZhbWlseToKKyAgICAgICAgcGFyc2VkVmFsdWUg
PSBjb25zdW1lRmFtaWx5TmFtZShtX3JhbmdlKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBD
U1NQcm9wZXJ0eUJhc2VQYWxldHRlOgorICAgICAgICBwYXJzZWRWYWx1ZSA9IGNvbnN1bWVCYXNl
UGFsZXR0ZURlc2NyaXB0b3IobV9yYW5nZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NT
UHJvcGVydHlPdmVycmlkZUNvbG9yOgorICAgICAgICBwYXJzZWRWYWx1ZSA9IGNvbnN1bWVPdmVy
cmlkZUNvbG9yRGVzY3JpcHRvcihtX3JhbmdlLCBtX2NvbnRleHQpOworICAgICAgICBicmVhazsK
KyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoIXBhcnNlZFZh
bHVlIHx8ICFtX3JhbmdlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGFk
ZFByb3BlcnR5KHByb3BJZCwgQ1NTUHJvcGVydHlJbnZhbGlkLCAqcGFyc2VkVmFsdWUsIGZhbHNl
KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6Y29uc3Vt
ZVN5c3RlbUZvbnQoYm9vbCBpbXBvcnRhbnQpCiB7CiAgICAgQ1NTVmFsdWVJRCBzeXN0ZW1Gb250
SUQgPSBtX3JhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCkuaWQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaAppbmRleCAyN2FjMzU5Mzdj
YzJmYTVhYzdjMmYyMzA0MGUzMDEwYjUwODE3MTM5Li5kODc0MDk4ZmRjNDg5ZTJlYzRhYzVlMTYz
YWQ0ZTFlMmQ5MjNjYWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9w
ZXJ0eVBhcnNlci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwMyBM
YXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAy
MDA2LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNCAtIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5v
cmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgLSAyMDEwICBUb3JjaCBNb2JpbGUgKEJlaWppbmcp
IENvLiBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtNzMsNiArNzMsNyBAQCBwcml2
YXRlOgogCiAgICAgYm9vbCBwYXJzZVZpZXdwb3J0RGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEIHBy
b3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogICAgIGJvb2wgcGFyc2VGb250RmFjZURlc2NyaXB0b3Io
Q1NTUHJvcGVydHlJRCk7CisgICAgYm9vbCBwYXJzZUZvbnRQYWxldHRlVmFsdWVzRGVzY3JpcHRv
cihDU1NQcm9wZXJ0eUlEKTsKICAgICBib29sIHBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihD
U1NQcm9wZXJ0eUlELCBjb25zdCBDU1NQYXJzZXJDb250ZXh0Jik7CiAKICAgICB2b2lkIGFkZFBy
b3BlcnR5KENTU1Byb3BlcnR5SUQsIENTU1Byb3BlcnR5SUQsIFJlZjxDU1NWYWx1ZT4mJiwgYm9v
bCBpbXBvcnRhbnQsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0ZVZhbHVlcy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
ZjYwZDdkNTBjZWZhYTc5NTI1ZGE0MTYzZDhhZTlkNTc5Njg3YWIwCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaApA
QCAtMCwwICsxLDg2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJD
b2xvci5oIgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBGb250UGFsZXR0ZVZhbHVlcyB7CitwdWJsaWM6CisgICAgdXNpbmcgUGFsZXR0
ZUluZGV4ID0gVmFyaWFudDxpbnQ2NF90LCBBdG9tU3RyaW5nPjsKKyAgICB1c2luZyBQYWxldHRl
Q29sb3JJbmRleCA9IFZhcmlhbnQ8QXRvbVN0cmluZywgaW50NjRfdD47CisgICAgdXNpbmcgT3Zl
cnJpZGRlbkNvbG9yID0gc3RkOjpwYWlyPFBhbGV0dGVDb2xvckluZGV4LCBDb2xvcj47CisKKyAg
ICBGb250UGFsZXR0ZVZhbHVlcygpID0gZGVmYXVsdDsKKworICAgIEZvbnRQYWxldHRlVmFsdWVz
KGNvbnN0IFBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZlY3RvcjxPdmVycmlkZGVuQ29sb3I+
JiYgb3ZlcnJpZGVDb2xvcikKKyAgICAgICAgOiBtX2Jhc2VQYWxldHRlKGJhc2VQYWxldHRlKQor
ICAgICAgICAsIG1fb3ZlcnJpZGVDb2xvcihXVEZNb3ZlKG92ZXJyaWRlQ29sb3IpKQorICAgIHsK
KyAgICB9CisKKyAgICBjb25zdCBQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlKCkgY29uc3QKKyAg
ICB7CisgICAgICAgIHJldHVybiBtX2Jhc2VQYWxldHRlOworICAgIH0KKworICAgIHZvaWQgc2V0
QmFzZVBhbGV0dGUoY29uc3QgUGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSkKKyAgICB7CisgICAg
ICAgIG1fYmFzZVBhbGV0dGUgPSBiYXNlUGFsZXR0ZTsKKyAgICB9CisKKyAgICBjb25zdCBWZWN0
b3I8T3ZlcnJpZGRlbkNvbG9yPiYgb3ZlcnJpZGVDb2xvcigpIGNvbnN0CisgICAgeworICAgICAg
ICByZXR1cm4gbV9vdmVycmlkZUNvbG9yOworICAgIH0KKworICAgIHZvaWQgYXBwZW5kT3ZlcnJp
ZGVDb2xvcihPdmVycmlkZGVuQ29sb3ImJiBvdmVycmlkZGVuQ29sb3IpCisgICAgeworICAgICAg
ICBtX292ZXJyaWRlQ29sb3IuYXBwZW5kKG92ZXJyaWRkZW5Db2xvcik7CisgICAgfQorCisgICAg
dm9pZCBjbGVhck92ZXJyaWRlQ29sb3IoKQorICAgIHsKKyAgICAgICAgbV9vdmVycmlkZUNvbG9y
LmNsZWFyKCk7CisgICAgfQorCisgICAgYm9vbCByZW1vdmUodW5zaWduZWQga2V5KQorICAgIHsK
KyAgICAgICAgcmV0dXJuIG1fb3ZlcnJpZGVDb2xvci5yZW1vdmVBbGxNYXRjaGluZyhba2V5XShj
b25zdCBPdmVycmlkZGVuQ29sb3ImIG92ZXJyaWRkZW5Db2xvcikgLT4gYm9vbCB7CisgICAgICAg
ICAgICByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxpbnQ2NF90PihvdmVycmlkZGVuQ29s
b3IuZmlyc3QpICYmIFdURjo6Z2V0PGludDY0X3Q+KG92ZXJyaWRkZW5Db2xvci5maXJzdCkgPT0g
a2V5OworICAgICAgICB9KTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgUGFsZXR0ZUluZGV4IG1f
YmFzZVBhbGV0dGU7CisgICAgVmVjdG9yPE92ZXJyaWRkZW5Db2xvcj4gbV9vdmVycmlkZUNvbG9y
OworfTsKKworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNGIwNTU0Mzk5N2Fk
ZWZmZWE1NjRhZGMzYjMwYTY5MDEyMDcyNzhlOC4uMmY0NDE3YzA5Yzc1YWJkYmRjODNmYjAzY2Jm
MWJjZTIyNTA4ODNhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMjEtMDktMjAgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNv
bT4KKworICAgICAgICBQYXJzaW5nIHN1cHBvcnQgZm9yIGZvbnQtcGFsZXR0ZS12YWx1ZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDMzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXNlIGFyZSBi
ZWluZyB1cHN0cmVhbWVkIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMv
d3B0L3B1bGwvMzA4NDAuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
b250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZv
bnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxl
dHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxp
ZC5odG1sOiBBZGRlZC4KKwogMjAyMS0wOS0yMCAgTmlrb3MgTW91Y2h0YXJpcyAgPG5tb3VjaHRh
cmlzQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgZXhwLGxvZyBmdW5jdGlvbnMgY2Fs
YyBmdW5jdGlvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9pZGxo
YXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCA0ZWNiYjMzZjhhOTNkOWUyYTI2MWQwNzJhZjg2MTRi
YTVlODYwYTJkLi5iNDhkOWIyNmNmZTU1NDY3OTQ1Mzg1Zjg1NDVmZDlmMzU3ZjRmNmM4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZm9udHMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL2lkbGhhcm5lc3MtZXhwZWN0
ZWQudHh0CkBAIC0xNiw3ICsxNiw3IEBAIFBBU1MgQ1NTRm9udEZhY2VSdWxlIG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgY3NzRm9udEZhY2VSdWxlCiBQQVNTIFN0cmluZ2lmaWNhdGlvbiBv
ZiBjc3NGb250RmFjZVJ1bGUKIFBBU1MgQ1NTRm9udEZhY2VSdWxlIGludGVyZmFjZTogY3NzRm9u
dEZhY2VSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3R5bGUiIHdpdGggdGhlIHByb3BlciB0
eXBlCiBGQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NGb250RmFjZVJ1bGUgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBl
IGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgIkZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSIgbm90
IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY3NzRm9u
dEZhY2VSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxF
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJGT05UX1BB
TEVUVEVfVkFMVUVTX1JVTEUiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgQ1NT
UnVsZSBpbnRlcmZhY2U6IGNzc0ZvbnRGYWNlUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZP
TlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMTUgYnV0IGdvdCAxOQogRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc1J1bGUg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NG
b250RmVhdHVyZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZh
bHVlc1J1bGUiIG1pc3NpbmcKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkg
IkNTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIgbWlzc2luZwogRkFJTCBDU1NGb250RmVhdHVyZVZh
bHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIgZXhw
ZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIgbWlzc2luZwpAQCAtMzcs
MTggKzM3LDE4IEBAIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByCiBGQUlMIENTU0ZvbnRGZWF0dXJl
VmFsdWVzTWFwIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZh
bHVlc01hcCIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIiBtaXNz
aW5nCiBGQUlMIENTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxl
cyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc01hcCIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0Zv
bnRGZWF0dXJlVmFsdWVzTWFwIiBtaXNzaW5nCiBGQUlMIENTU0ZvbnRGZWF0dXJlVmFsdWVzTWFw
IGludGVyZmFjZTogb3BlcmF0aW9uIHNldChDU1NPTVN0cmluZywgKHVuc2lnbmVkIGxvbmcgb3Ig
c2VxdWVuY2U8dW5zaWduZWQgbG9uZz4pKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc01hcCIgZXhwZWN0ZWQg
cHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIiBtaXNzaW5nCi1GQUlMIENTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkg
IkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlM
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
IiBtaXNzaW5nCi1GQUlMIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNv
bnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3Bl
cnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUi
IG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogYXR0cmli
dXRlIGZvbnRGYW1pbHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAi
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBiYXNlUGFsZXR0ZSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIG1pc3Np
bmcKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0CitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgZm9udEZhbWlseQorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYmFzZVBhbGV0dGUKIEZBSUwgQ1NTUnVsZSBpbnRl
cmZhY2U6IGNvbnN0YW50IEZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSBvbiBpbnRlcmZhY2Ugb2Jq
ZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJGT05UX0ZFQVRVUkVf
VkFMVUVTX1JVTEUiIG1pc3NpbmcKIEZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZP
TlRfRkVBVFVSRV9WQUxVRVNfUlVMRSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19S
VUxFIiBtaXNzaW5nCi1GQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX1BBTEVU
VEVfVkFMVUVTX1JVTEUgb24gaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBl
eHBlY3RlZCBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiBtaXNzaW5nCi1GQUlM
IENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUgb24g
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQg
cHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgbWlzc2luZworRkFJTCBDU1NSdWxl
IGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFj
ZSBvYmplY3QgYXNzZXJ0X2VxdWFsczogcHJvcGVydHkgaGFzIHdyb25nIHZhbHVlIGV4cGVjdGVk
IDE1IGJ1dCBnb3QgMTkKK0ZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZPTlRfUEFM
RVRURV9WQUxVRVNfUlVMRSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfZXF1
YWxzOiBwcm9wZXJ0eSBoYXMgd3JvbmcgdmFsdWUgZXhwZWN0ZWQgMTUgYnV0IGdvdCAxOQogRkFJ
TCBDU1NSdWxlIGludGVyZmFjZTogY3NzUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRf
RkVBVFVSRV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRz
OiBwcm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIiBub3QgZm91bmQgaW4gcHJvdG90
eXBlIGNoYWluCi1GQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NSdWxlIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIG5vdCBm
b3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc1J1bGUg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIHdpdGggdGhl
IHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDE1IGJ1dCBnb3QgMTkKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
b250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmM3MmU5YTUxZDVhYWJhZWM2MTcyZWExNDAzZjMzYzBjMDAxOTZiOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNiBAQAorCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDog
cGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVs
IDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMQorUEFTUyBDU1MgRm9udHMgTW9kdWxl
IExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMgorUEFTUyBDU1MgRm9udHMg
TW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMworUEFTUyBDU1Mg
Rm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNAorUEFT
UyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
NQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgNgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFs
ZXR0ZS12YWx1ZXMgNworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZv
bnQtcGFsZXR0ZS12YWx1ZXMgOAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNp
bmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgOQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6
IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTAKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBM
ZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDExCitQQVNTIENTUyBGb250cyBN
b2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMgorUEFTUyBDU1Mg
Rm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTMKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMv
cGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NzA1
NDJlZDg4YzRjOTMwN2MwYzUyMTljM2M0ZGU4NjhmZWNmYWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRz
L3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwKQEAgLTAsMCArMSwxODIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5DU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0
ZS12YWx1ZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWZvbnRzLyNmb250LXBhbGV0dGUtdmFsdWVzIj4KKzxtZXRhIG5hbWU9ImFz
c2VydCIgY29udGVudD0iQGZvbnQtcGFsZXR0ZS12YWx1ZXMgaXMgcGFyc2VkIGNvcnJlY3RseS4i
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0
eWxlIGlkPSJzdHlsZSI+CitAZm9udC1wYWxldHRlLXZhbHVlcyB7Cit9CisKK0Bmb250LXBhbGV0
dGUtdmFsdWVzIEEgQiB7Cit9CisKKy8qIDAgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgewor
ICAgIGZvbnQtZmFtaWx5OiBhLCBiOworfQorCisvKiAxICovCitAZm9udC1wYWxldHRlLXZhbHVl
cyBBIHsKKyAgICBmb250LWZhbWlseTogMTsKK30KKworLyogMiAqLworQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgQSB7CisgICAgZm9udDogMTJweCBhOworfQorCisvKiAzICovCitAZm9udC1wYWxldHRl
LXZhbHVlcyBBIHsKKyAgICBiYXNlLXBhbGV0dGU6IDEgMjsKK30KKworLyogNCAqLworQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgYmFzZS1wYWxldHRlOiBpZGVudDsKK30KKworLyogNSAq
LworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgYmFzZS1wYWxldHRlOiAiYSIgImIiOwor
fQorCisvKiA2ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBiYXNlLXBhbGV0dGU6
IDsKK30KKworLyogNyAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUt
Y29sb3I6IGlkZW50ICMxMjM7Cit9CisKKy8qIDggKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEg
eworICAgIG92ZXJyaWRlLWNvbG9yOiAwICJyZWQiOworfQorCisvKiA5ICovCitAZm9udC1wYWxl
dHRlLXZhbHVlcyBBIHsKKyAgICBvdmVycmlkZS1jb2xvcjogMCAjMTIzLCAxOworfQorCisvKiAx
MCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDsKK30K
KworLyogMTEgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIG92ZXJyaWRlLWNvbG9y
OiAwICMxMjMgMTsKK30KKworLyogMTIgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAg
IG92ZXJyaWRlLWNvbG9yOiAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dD4KK2xldCBydWxlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdHlsZSIpLnNoZWV0LmNz
c1J1bGVzOwordGVzdChmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLmxlbmd0
aCwgMTMpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sw
XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMF07CisgICAgYXNzZXJ0X2VxdWFscyh0
ZXh0LmluZGV4T2YoImZvbnQtZmFtaWx5IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUu
Zm9udEZhbWlseSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQg
PSBydWxlc1sxXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMV07CisgICAgYXNzZXJ0
X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQtZmFtaWx5IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
bGV0IHRleHQgPSBydWxlc1syXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMl07Cisg
ICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQ6IiksIC0xKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgbGV0IHRleHQgPSBydWxlc1szXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbM107
CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7Cit9KTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzRdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUg
PSBydWxlc1s0XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRl
IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKK30pOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbNV0uY3NzVGV4dDsKKyAg
ICBsZXQgcnVsZSA9IHJ1bGVzWzVdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJi
YXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwg
IiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s2XS5j
c3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbNl07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0
LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJh
c2VQYWxldHRlLCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9
IHJ1bGVzWzddLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s3XTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9l
cXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0
ZXh0ID0gcnVsZXNbOF0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzhdOworICAgIGFz
c2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAgYXNz
ZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
bGV0IHRleHQgPSBydWxlc1s5XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbOV07Cisg
ICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsK
KyAgICBsZXQgdGV4dCA9IHJ1bGVzWzEwXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNb
MTBdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAt
MSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sxMV0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9
IHJ1bGVzWzExXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29s
b3IiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0
KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTJdLmNzc1RleHQ7CisgICAgbGV0
IHJ1bGUgPSBydWxlc1sxMl07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJy
aWRlLWNvbG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1w
YWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUt
dmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjQ4MmZmYWYzNzRlMThiY2Rm
MjMwODgyOTYxZDkxMzFiOGQ1ZjE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1w
YWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMiBAQAorCitQQVNT
IENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcwor
UEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgMQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgMgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgMworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcg
QGZvbnQtcGFsZXR0ZS12YWx1ZXMgNAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBh
cnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVs
IDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNgorUEFTUyBDU1MgRm9udHMgTW9kdWxl
IExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNworUEFTUyBDU1MgRm9udHMg
TW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgOAorUEFTUyBDU1Mg
Rm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgOQorUEFT
UyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
MTAKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUt
dmFsdWVzIDExCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1w
YWxldHRlLXZhbHVlcyAxMgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcg
QGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTMKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBw
YXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE0CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2
ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNQorUEFTUyBDU1MgRm9udHMgTW9k
dWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTYKK1BBU1MgQ1NTIEZv
bnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE3CitQQVNT
IENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAx
OAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgMTkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxp
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmM2Nzc0ZWZiYjE0OTMxZWJmNTA4MDhjM2NiMzVmYmZmOGExMzc5YjgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwKQEAgLTAsMCAr
MSwyMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5DU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQt
cGFsZXR0ZS12YWx1ZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2Ry
YWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLyNmb250LXBhbGV0dGUtdmFsdWVzIj4KKzxtZXRhIG5h
bWU9ImFzc2VydCIgY29udGVudD0iQGZvbnQtcGFsZXR0ZS12YWx1ZXMgaXMgcGFyc2VkIGNvcnJl
Y3RseS4iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHN0eWxlIGlkPSJzdHlsZSI+CisvKiAwICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsK
K30KKworLyogMSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQiB7CisgICAgZm9udC13ZWlnaHQ6
IDQwMDsKK30KKworLyogMiAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQyB7CisgICAgZm9udC1m
YW1pbHk6IGZvbzsKKyAgICBmb250LWZhbWlseTogYmFyOworICAgIGJhc2UtcGFsZXR0ZTogMTsK
KyAgICBiYXNlLXBhbGV0dGU6ICJiYXoiOworICAgIGJhc2UtcGFsZXR0ZTogMjsKKyAgICBvdmVy
cmlkZS1jb2xvcjogImEiICMxMjM7CisgICAgb3ZlcnJpZGUtY29sb3I6IDMgIzEyMzsKKyAgICBv
dmVycmlkZS1jb2xvcjogImIiICMxMjM7Cit9CisKKy8qIDMgKi8KK0Bmb250LXBhbGV0dGUtdmFs
dWVzIEQgeworICAgIGJhc2UtcGFsZXR0ZTogImZvbyI7CisgICAgYmFzZS1wYWxldHRlOiAxOwor
ICAgIGJhc2UtcGFsZXR0ZTogImJhciI7CisgICAgb3ZlcnJpZGUtY29sb3I6IDMgIzEyMzsKKyAg
ICBvdmVycmlkZS1jb2xvcjogImJheiIgIzEyMzsKKyAgICBvdmVycmlkZS1jb2xvcjogNCAjMTIz
OworfQorCisvKiA0ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBFIHsKKyAgICBvdmVycmlkZS1j
b2xvcjogMyByZ2IoMTcsIDM0LCA1MSk7CisgICAgb3ZlcnJpZGUtY29sb3I6IDMgcmdiKDY4LCA4
NSwgMTAyKTsKK30KKworLyogNSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgRiB7CisgICAgZm9u
dC1mYW1pbHk6ICJmb28iOworfQorCisvKiA2ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBHIHsK
KyAgICBvdmVycmlkZS1jb2xvcjogMyByZ2IoMTcsIDM0LCA1MSksIDQgcmdiKDY4LCA4NSwgMTAy
KTsKK30KKworLyogNyAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSCB7CisgICAgb3ZlcnJpZGUt
Y29sb3I6IDMgcmdiKDE3LCAzNCwgNTEpLCAzIHJnYig2OCwgODUsIDEwMik7Cit9CisKKy8qIDgg
Ki8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEkgeworICAgIGJhc2UtcGFsZXR0ZTogLTM7Cit9CisK
Ky8qIDkgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEogeworICAgIG92ZXJyaWRlLWNvbG9yOiAt
MyByZ2IoMTcsIDM0LCA1MSk7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
PgorbGV0IHJ1bGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0eWxlIikuc2hlZXQuY3Nz
UnVsZXM7Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMF0uY3NzVGV4
dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIkBmb250LXBhbGV0dGUtdmFs
dWVzICIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCIgQSAiKSwg
LTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigieyIpLCAtMSk7CisgICAg
YXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJ9IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHkiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMo
dGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4
dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzBdOworICAgIGFzc2VydF9lcXVhbHMocnVsZS50eXBl
LCBDU1NSdWxlLkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSk7CisgICAgYXNzZXJ0X2VxdWFscyhy
dWxlLmNvbnN0cnVjdG9yLm5hbWUsICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30p
OworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMV0uY3NzVGV4dDsK
KyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC13ZWlnaHQiKSwgLTEpOworfSk7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxXTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5i
YXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMl0uY3NzVGV4dDsKKyAg
ICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHk6IGZvbzsiKSwgLTEpOwor
ICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHk6IGJhcjsiKSwg
LTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6IDE7Iiks
IC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiBcImJh
elwiIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFs
ZXR0ZTogMjsiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlk
ZS1jb2xvcjogXCJhXCIiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJv
dmVycmlkZS1jb2xvcjogMyIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRl
eE9mKCJvdmVycmlkZS1jb2xvcjogXCJiXCIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1syXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9u
dEZhbWlseSwgImJhciIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIjIi
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzNdLmNzc1RleHQ7CisgICAgYXNzZXJ0X2VxdWFs
cyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZTogXCJmb29cIjsiKSwgLTEpOworICAgIGFzc2Vy
dF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6IDEiKSwgLTEpOworICAgIGFzc2Vy
dF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiBcImJhclwiOyIpLCAtMSk7
CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiAzIiksIC0x
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3I6IFwiYmF6
XCIiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUt
Y29sb3I6IDQiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUg
PSBydWxlc1szXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgImJhciIpOworICAgIGFzc2VydF9lcXVh
bHMocnVsZS5zaXplLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDcpLCB1bmRlZmlu
ZWQpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDQpLmluZGV4T2YoInJnYiIpLCAt
MSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzRdLmNz
c1RleHQ7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIjUxIiksIC0xKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjEwMiIpLCAtMSk7Cit9KTsKKwordGVzdChm
dW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzRdOworICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRl
LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOworICAgIGFzc2VydF9lcXVh
bHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMocnVsZS5n
ZXQoMykuaW5kZXhPZigiMTAyIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAg
IGxldCB0ZXh0ID0gcnVsZXNbNV0uY3NzVGV4dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0
LmluZGV4T2YoImZvbyIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQg
cnVsZSA9IHJ1bGVzWzVdOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiZm9v
Iik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0
X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0
IHRleHQgPSBydWxlc1s2XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5k
ZXhPZigiNTEiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiMTAy
IiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNb
Nl07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6
ZSwgMik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyhydWxlLmdldCgzKS5pbmRleE9mKCI1MSIpLCAtMSk7CisgICAgYXNz
ZXJ0X25vdF9lcXVhbHMocnVsZS5nZXQoNCkuaW5kZXhPZigiMTAyIiksIC0xKTsKK30pOworCit0
ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbN10uY3NzVGV4dDsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjUxIiksIC0xKTsKKyAgICBhc3NlcnRfbm90
X2VxdWFscyh0ZXh0LmluZGV4T2YoIjEwMiIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzddOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250
RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5n
ZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMocnVsZS5nZXQoMykuaW5k
ZXhPZigiMTAyIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDQpLCB1bmRlZmlu
ZWQpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s4XS5j
c3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRl
IiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNb
OF07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICItMyIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5z
aXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNb
OV0uY3NzVGV4dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRl
LWNvbG9yIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0g
cnVsZXNbOV07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuc2l6ZSwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KC0zKSwgdW5kZWZpbmVkKTsKK30pOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438786</attachid>
            <date>2021-09-20 23:34:23 -0700</date>
            <delta_ts>2021-09-21 01:53:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230337-20210920233422.patch</filename>
            <type>text/plain</type>
            <size>91963</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE1MTI3NWU4YTU5YTk2
OTRjNjcwM2ZjNzNjNzIxYzgyMzNkYTIxYS4uMmIxMjEzZmIxZjZhMGIwZWE0NDM2OTFmZTliOWIz
ODkzZTM3ZTVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNyBAQAorMjAyMS0wOS0yMCAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFBhcnNpbmcg
c3VwcG9ydCBmb3IgZm9udC1wYWxldHRlLXZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMzM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUncyBub3RoaW5nIHBhcnRpY3VsYXJseSBpbnRl
cmVzdGluZyBoZXJlIC0gaXQncyBqdXN0IHN1cHBvcnQgZm9yIGFub3RoZXIgYXQtcnVsZS4KKyAg
ICAgICAgSSd2ZSBpbXBsZW1lbnRlZCB3aGF0J3MgaW4gdGhlIHNwZWMgcmlnaHQgbm93OgorICAg
ICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTQvI2ZvbnQtcGFsZXR0ZS12
YWx1ZXMKKworICAgICAgICBUaGVyZSBhcmUgMiBuZXcgZGVzY3JpcHRvcnM6IGJhc2UtcGFsZXR0
ZSBhbmQgb3ZlcnJpZGUtY29sb3IuIEkndmUgYWRkZWQgYSBuZXcgQ1NTVmFsdWUgc3ViY2xhc3MK
KyAgICAgICAgZm9yIGVhY2ggb2YgdGhlIGl0ZW1zIGluIHRoZSBvdmVycmlkZS1jb2xvciBsaXN0
IC0gdGhlc2UgaXRlbXMgYXJlIGp1c3QgdHVwbGVzIG9mIHR3bworICAgICAgICBDU1NQcmltaXRp
dmVWYWx1ZXMuIEkgY291bGQgaGF2ZSBkb25lIHRoaXMgd2l0aCBhIENTU1ZhbHVlTGlzdCB3aGlj
aCBhbHdheXMganVzdCBoYXBwZW5zIHRvIGhhdmUKKyAgICAgICAgYSBsZW5ndGggb2YgMiwgYnV0
IEkgdGhvdWdodCB0aGF0IHdhcyBsZXNzIGVsZWdhbnQgKGFuZCBoYXMgYW4gZXh0cmEgcG9pbnRl
ciBpbmRpcmVjdGlvbikgdGhhbgorICAgICAgICBtYWtpbmcgYSBjbGFzcyB0byBob2xkIHRoZSB0
d28gQ1NTUHJpbWl0aXZlVmFsdWVzLgorCisgICAgICAgIFRoZSBvbmx5IGRpZmZlcmVuY2Ugd2l0
aCB3aGF0J3MgaW4gdGhlIHNwZWMgaXMgdGhhdCBJJ3ZlIGdpdmVuIGEgZGlmZmVyZW50IHZhbHVl
IHRvCisgICAgICAgIEZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSwgYmVjYXVzZSBpdHMgY3VycmVu
dCB2YWx1ZSBjb25mbGljdHMgd2l0aCBWSUVXUE9SVF9SVUxFLiBUaGlzIGlzIGJlaW5nCisgICAg
ICAgIHRyYWNrZWQgYXQgaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVz
LzY2MjMuCisKKyAgICAgICAgSSBjcmVhdGVkIGEgbmV3IGRhdGF0eXBlIGFuZCBmaWxlIGluIHBs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRQYWxldHRlVmFsdWVzLmggYmVjYXVzZSB0aGlzIGRhdGEgd2ls
bAorICAgICAgICBldmVudHVhbGx5IGJlIHBhc3NlZCB0byBwcmVwYXJlUGxhdGZvcm1Gb250KCks
IHdoaWNoIGlzIGluIHBsYXRmb3JtLywgc28gdGhpcyBkYXRhIG5lZWRzIHRvIGJlCisgICAgICAg
IGFjY2Vzc2libGUgZnJvbSBwbGF0Zm9ybS8gdG9vLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0
dGUtdmFsdWVzLWludmFsaWQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12
YWxpZC5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NS
dWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgor
ICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHA6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVUeXBlLmguCisgICAgICAg
IChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6Y3VzdG9t
Q1NTVGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc092
ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGU6On5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6cGFyc2VTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpmb250RmFtaWx5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Zv
bnRQYWxldHRlVmFsdWVzUnVsZTo6YmFzZVBhbGV0dGUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpzZXRGb250RmFtaWx5KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6c2V0QmFzZVBhbGV0dGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjppbml0aWFsaXplTWFwTGlrZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU6OnNldEZyb21NYXBM
aWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6Y2xlYXIp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpyZW1vdmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjc3NUZXh0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6cmVhdHRhY2gp
OgorICAgICAgICAqIGNzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaC4KKyAgICAgICAgKiBjc3MvQ1NTRm9u
dFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL0NTU1Byb3BlcnRp
ZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5jcHA6CisgICAgICAgICogY3NzL0NTU1J1
bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5pZGw6CisgICAgICAgICogY3NzL0NTU1ZhbHVl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjplcXVhbHMgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1RleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTVmFsdWU6OmlzRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUg
Y29uc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNl
Ojpjb3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNT
U09NV3JhcHBlciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVGb250UGFsZXR0
ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMpOgorICAgICAgICAqIGNzcy9TdHls
ZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmlzRm9udFBhbGV0dGVW
YWx1ZXNSdWxlIGNvbnN0KToKKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgICogY3NzL1N0eWxl
UnVsZVR5cGUuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRyYXZlcnNlUnVsZXNJblZlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVNoZWV0Q29udGVudHM6OnRyYXZlcnNlU3VicmVzb3VyY2VzIGNvbnN0KToKKyAgICAgICAg
KiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNzc0F0UnVs
ZUlEKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU0F0UnVsZUlELmg6CisgICAgICAgICogY3Nz
L3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcklt
cGw6OmNvbnN1bWVBdFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6Y29u
c3VtZUZvbnRQYWxldHRlVmFsdWVzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJJ
bXBsOjpjb25zdW1lRGVjbGFyYXRpb24pOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2Vy
SW1wbC5oOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6Y29uc3VtZUJhc2VQYWxldHRlRGVzY3JpcHRvcik6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25zdW1lT3ZlcnJpZGVDb2xvckRlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UHJvcGVydHlQYXJzZXI6OnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKToKKyAgICAg
ICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpG
b250UGFsZXR0ZVZhbHVlczo6Rm9udFBhbGV0dGVWYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9udFBhbGV0dGVWYWx1ZXM6OmJhc2VQYWxldHRlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQYWxldHRlVmFsdWVzOjpzZXRCYXNlUGFsZXR0ZSk6CisgICAgICAgIChXZWJDb3JlOjpG
b250UGFsZXR0ZVZhbHVlczo6b3ZlcnJpZGVDb2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpGb250UGFsZXR0ZVZhbHVlczo6YXBwZW5kT3ZlcnJpZGVDb2xvcik6CisgICAgICAgIChXZWJD
b3JlOjpGb250UGFsZXR0ZVZhbHVlczo6Y2xlYXJPdmVycmlkZUNvbG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRQYWxldHRlVmFsdWVzOjpyZW1vdmUpOgorCiAyMDIxLTA5LTIwICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCByZW1haW5pbmcgdXNlcyBv
ZiBtYWtlUmVmUHRyKCkgaW4gV2ViQ29yZS8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzM3ZmU2
MDQ3YjIzYzAwMzMyMTNkOWQyNjYwYzhmY2IxMzQ4ZGMyOC4uYTQxMzJkZmI1Yjk2NmM0ODkxNTdk
ZTlhMTVlZjY2MmE3MGQ3NDU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTcwNSw2ICs3MDUs
NyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNzcy9DU1NDb25kaXRpb25S
dWxlLmlkbAogICAgIGNzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbAogICAgIGNzcy9DU1NGb250
RmFjZVJ1bGUuaWRsCisgICAgY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGwKICAgICBj
c3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAogICAgIGNzcy9DU1NJbXBvcnRSdWxlLmlkbAogICAgIGNz
cy9DU1NLZXlmcmFtZVJ1bGUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdAppbmRleCA3ZWYzOWZkYzM1YWVlMmEyM2QzZjZkYTYwNjc3MDE0N2U2
ODlmNGVhLi5jZjJlOWFkY2NhZDBhZTE2Njg3ODQ5OTU0NmQzY2Y3N2I5ZGM5NjZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTY4Miw2
ICs2ODIsNyBAQCAkKFBST0pFQ1RfRElSKS9jcnlwdG8vcGFyYW1ldGVycy9Sc2FQc3NQYXJhbXMu
aWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTQ29uZGl0aW9uUnVsZS5pZGwKICQoUFJPSkVDVF9E
SVIpL2Nzcy9DU1NDb3VudGVyU3R5bGVSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0Zv
bnRGYWNlUnVsZS5pZGwKKyQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAogJChQUk9KRUNU
X0RJUikvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTS2V5ZnJh
bWVSdWxlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAppbmRleCAyN2ViZDhhOTI0NzMzNTU1M2RhYjQ3N2ZiZjQ4ZjBkMGVlNWE1YmUwLi4x
NmNjNDg3ZDRjMDJmNGRhOTdiYzNkYjIxNDAzYWI0ZDczYzUyN2YzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMzAwLDYgKzMwMCw4
IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ291
bnRlclN0eWxlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ1NTQ291bnRlclN0eWxlUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVsZS5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udFBhbGV0dGVW
YWx1ZXNSdWxlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NHcm91cGluZ1J1bGUuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0dyb3VwaW5nUnVsZS5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1Y2ZiYmE3ZjYxMDgxYjFkYTE4
MGZhZTBjYWFlODgyNmQ2MWMzYzk3Li5kMjAyNDNlZjg1NzdiZTM4NTUyODUxNTdkOWE2Zjc1NGU5
NzU3ZjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0IEBACi0j
IENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5j
b20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5h
dT4KICMKQEAgLTU3NSw2ICs1NzUsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2Vi
Q29yZSkvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1ND
b3VudGVyU3R5bGVSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udEZhY2VSdWxl
LmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0tleWZyYW1l
UnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZmZjOTEyNTNmZmIzY2VmNTUxZjYxNjBm
NmJhNDNhMWI0MGRlZTdiMS4uMDE5MDg2MmI4NGE5YmYzZGM5NTQ2ZmRjMjk3MjJhNDEwN2JmMDIw
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0zNjYsNiArMzY2LDcgQEAgc2V0KFdlYkNvcmVfUFJJ
VkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIGNzcy9DU1NDb25kaXRpb25SdWxlLmgKICAgICBj
c3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oCiAgICAgY3NzL0NTU0ZvbnRGYWNlUnVsZS5oCisg
ICAgY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCiAgICAgY3NzL0NTU0ZvbnRGYW1pbHku
aAogICAgIGNzcy9DU1NHcmlkSW50ZWdlclJlcGVhdFZhbHVlLmgKICAgICBjc3MvQ1NTR3JvdXBp
bmdSdWxlLmgKQEAgLTEyNTksNiArMTI2MCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVX
T1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5U3BlY2lmaWNhdGlv
bk51bGwuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHZW5lcmljRmFtaWxpZXMuaAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9G
b250UGFsZXR0ZVZhbHVlcy5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0
YS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJhbmdlcy5oCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFNlbGVjdGlvbkFsZ29yaXRobS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDIxZjUxZDMz
ZDcyMDEzNTc0MDhlYTdkMzY3ZDZkMDljODg1YTNiYWIuLmYwZWIyNDc1NzgxNDk3MzFjNzczMTk4
M2RmM2JiZGU3YTFmYzkxNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xLDQgKzEsNCBAQAotLy8gQ29w
eXJpZ2h0IChDKSAyMDE3LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
Q29weXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
Ly8KIC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NTgsNiArNjU4LDggQEAgY3NzL0NT
U0ZvbnRGYWNlU2V0LmNwcAogY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAogY3NzL0NTU0ZvbnRG
YWNlU3JjVmFsdWUuY3BwCiBjc3MvQ1NTRm9udEZlYXR1cmVWYWx1ZS5jcHAKK2Nzcy9DU1NGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5jcHAKK2Nzcy9DU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUuY3BwCiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAogY3NzL0NTU0ZvbnRTdHlsZVJh
bmdlVmFsdWUuY3BwCiBjc3MvQ1NTRm9udFN0eWxlVmFsdWUuY3BwCkBAIC0yODI0LDYgKzI4MjYs
NyBAQCBKU0NTU0FuaW1hdGlvbi5jcHAKIEpTQ1NTQ29uZGl0aW9uUnVsZS5jcHAKIEpTQ1NTQ291
bnRlclN0eWxlUnVsZS5jcHAKIEpTQ1NTRm9udEZhY2VSdWxlLmNwcAorSlNDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUuY3BwCiBKU0NTU0dyb3VwaW5nUnVsZS5jcHAKIEpTQ1NTSW1wb3J0UnVsZS5j
cHAKIEpTQ1NTS2V5ZnJhbWVSdWxlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFmNzNmZTBiMzljMTYxOTliNTRhNWFjZTc0
NjFiZDk3MzJlNTBjZWMuLjA0YWIxZWU3YzkxY2RlZWVmNzM0ODZhM2U4ZGVkY2ZlZjk4YzJhYmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTY1Myw2ICs2NTMsNyBAQAogCQkxQzI0RUVBOTFDNzJBN0I0MDA4MEY4RkMgLyogSlNG
b250RmFjZVNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUMyNEVFQTcxQzcyQTdCNDAwODBGOEZDIC8qIEpTRm9udEZhY2VTZXQuaCAqLzsgfTsKIAkJ
MUM0M0RFNkIyMkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3VycmVudFRyYWl0Q29sbGVjdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM0M0RFNjgy
MkFCNEI4QTAwMTUyN0Q5IC8qIExvY2FsQ3VycmVudFRyYWl0Q29sbGVjdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFDNEQwREQzMjREOUYx
MEQwMDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNEQwREQxMjREOUYwREIwMDNENzQ5OCAvKiBHbHlw
aEJ1ZmZlck1lbWJlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkxQzVFMURBODI2Rjk0QjkwMDBFMDdBRjEgLyogRm9udFBhbGV0dGVWYWx1ZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNUUxREE2
MjZGOTQ5QjkwMEUwN0FGMSAvKiBGb250UGFsZXR0ZVZhbHVlcy5oICovOyB9OwogCQkxQzY2MjYx
MTFDNkU3Q0E2MDBBQjUyN0MgLyogRm9udEZhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjYyNjBGMUM2RTdDQTYwMEFCNTI3QyAvKiBGb250RmFj
ZS5oICovOyB9OwogCQkxQzczQTcxMzIxODU3NTdFMDA0Q0NFQTUgLyogVGV4dFVuZGVybGluZU9m
ZnNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNC
NkI0RkIyMTdCODM5NDAwOTNCOUNEIC8qIFRleHRVbmRlcmxpbmVPZmZzZXQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQzczQTcxNTIxODU3NTg3
MDA0Q0NFQTUgLyogVGV4dERlY29yYXRpb25UaGlja25lc3MuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQjZCNEY4MjE3QjgzOTMwMDkzQjlDRCAvKiBU
ZXh0RGVjb3JhdGlvblRoaWNrbmVzcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC02NjcsNiArNjY4LDcgQEAKIAkJMUNFODg2NDEyNjEwNUJGMjAw
MEM4MTZDIC8qIEluTWVtb3J5RGlzcGxheUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRTg4NjNGMjYxMDVBNUYwMDBDODE2QyAvKiBJbk1lbW9y
eURpc3BsYXlMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMUNFOEQxMjcyNjE4NUMwRTAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlbUJ1ZmZl
cklkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFDRThEMTI1MjYxODVCRDgwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZW1CdWZmZXJJZGVu
dGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMUNFOEQxMkUyNjE4NjFDNDAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlcmF0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRThEMTJDMjYxODYx
NjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMUNFQUE1MzIyNkYzMzZGQzAwODY4NTA3IC8q
IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0VBQTUzMTI2RjMzMUMxMDA4Njg1MDcg
LyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCAqLzsgfTsKIAkJMUNG
QUUzMjMwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0Qg
LyogbGlib2JqYy5keWxpYiAqLzsgfTsKIAkJMUQwMDI2QTQyMzc0RDYyNDAwQ0E2Q0RGIC8qIEpT
UGljdHVyZUluUGljdHVyZVdpbmRvdy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUQwMDI2QTIyMzc0RDYyMzAwQ0E2Q0RGIC8qIEpTUGljdHVyZUluUGlj
dHVyZVdpbmRvdy5oICovOyB9OwogCQkxRDAwMjZBQTIzNzRGOUVBMDBDQTZDREYgLyogSlNFbnRl
clBpY3R1cmVJblBpY3R1cmVFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUQwMDI2QTgyMzc0RjlEOTAwQ0E2Q0RGIC8qIEpTRW50ZXJQaWN0dXJl
SW5QaWN0dXJlRXZlbnQuaCAqLzsgfTsKQEAgLTcwNTEsNiArNzA1Myw3IEBACiAJCTFDNDNERTZB
MjJBQjRCOEEwMDE1MjdEOSAvKiBMb2NhbEN1cnJlbnRUcmFpdENvbGxlY3Rpb24ubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2NhbEN1cnJlbnRUcmFpdENvbGxl
Y3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNEQwREQxMjREOUYwREIw
MDNENzQ5OCAvKiBHbHlwaEJ1ZmZlck1lbWJlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2x5cGhCdWZm
ZXJNZW1iZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNTBDNDk1MjJDODRG
MjQwMEE2RTRCRSAvKiBXSExTTFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdITFNMU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25NYXAuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQzVFMURBNjI2Rjk0OUI5MDBFMDdBRjEgLyogRm9udFBh
bGV0dGVWYWx1ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udFBhbGV0dGVWYWx1ZXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2NjI2MEUxQzZFN0NBNjAwQUI1MjdDIC8qIEZvbnRG
YWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvbnRGYWNlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM2NjI2MEYxQzZFN0NBNjAwQUI1MjdD
IC8qIEZvbnRGYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRGYWNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNkZEOEFDMjUwQTI5NEQwMEQ2RTky
MCAvKiBGb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9u
dFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTcwODMsNiArNzA4NiwxMSBAQAogCQkxQ0U4RDEyNTI2MTg1QkQ4MDBGQzNBRUYgLyogRGlzcGxh
eUxpc3RJdGVtQnVmZmVySWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0
ZW1CdWZmZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRThE
MTJCMjYxODYxNjQwMEZDM0FFRiAvKiBEaXNwbGF5TGlzdEl0ZXJhdG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IERpc3BsYXlMaXN0SXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQ0U4RDEyQzI2MTg2MTY0MDBGQzNBRUYgLyogRGlzcGxheUxpc3RJdGVyYXRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEaXNwbGF5TGlzdEl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1MkQyNkYzMUEzQzAwODY4
NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFQUE1
MkYyNkYzMUFGODAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUNFQUE1MzAyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvclZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0ZvbnRQYWxldHRlVmFsdWVz
T3ZlcnJpZGVDb2xvclZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNF
QUE1MzEyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xv
clZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xv
clZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRjBCRkQ0MjI5ODcwNjgw
MEVEMjA3NCAvKiBUZXh0U2l6ZUFkanVzdG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4
dFNpemVBZGp1c3RtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGMThG
M0MyNkJCNUFGMjAwNEIxNzIyIC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IExvZ0luaXRpYWxpemF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUNGQUUzMjIwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5
bGliIjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJvYmpjLmR5bGli
OyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAtMjcwMTAsNiArMjcwMTgsNyBAQAog
CQkJCUU0NEVFM0E2MTc1NzZFNTUwMEVFRThDRiAvKiBGb250R2VuZXJpY0ZhbWlsaWVzLmNwcCAq
LywKIAkJCQlFNDRFRTNBNzE3NTc2RTU1MDBFRUU4Q0YgLyogRm9udEdlbmVyaWNGYW1pbGllcy5o
ICovLAogCQkJCTA4NDU2ODA3MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oICovLAor
CQkJCTFDNUUxREE2MjZGOTQ5QjkwMEUwN0FGMSAvKiBGb250UGFsZXR0ZVZhbHVlcy5oICovLAog
CQkJCTg0QjYyNjg0MTMzMTM4RjkwMDk1QTQ4OSAvKiBGb250UGxhdGZvcm1EYXRhLmNwcCAqLywK
IAkJCQlCNTMyMEQ2OTEyMkEyNEU5MDAyRDE0NDAgLyogRm9udFBsYXRmb3JtRGF0YS5oICovLAog
CQkJCTM3MUY0RkZCMEQyNUU3RjMwMEVDRTBENSAvKiBGb250UmFuZ2VzLmNwcCAqLywKQEAgLTI5
NTkzLDYgKzI5NjAyLDExIEBACiAJCQkJODM1MjBDN0QxQTcxQkZDQzAwNkJEMkFBIC8qIENTU0Zv
bnRGYW1pbHkuaCAqLywKIAkJCQk0QTZFOUZDMTEzQzE3RDFEMDA0NkE3RjggLyogQ1NTRm9udEZl
YXR1cmVWYWx1ZS5jcHAgKi8sCiAJCQkJNEE2RTlGQzIxM0MxN0QxRDAwNDZBN0Y4IC8qIENTU0Zv
bnRGZWF0dXJlVmFsdWUuaCAqLywKKwkJCQkxQ0VBQTUzMDI2RjMzMUMxMDA4Njg1MDcgLyogQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwICovLAorCQkJCTFDRUFBNTMx
MjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1
ZS5oICovLAorCQkJCTFDRUFBNTJDMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUuY3BwICovLAorCQkJCTFDRUFBNTJEMjZGMzFBM0MwMDg2ODUwNyAvKiBDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUuaCAqLywKKwkJCQkxQ0VBQTUyRjI2RjMxQUY4MDA4Njg1MDcgLyog
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCAqLywKIAkJCQlCQzY0QjREMzBDQjQyOThBMDA1
RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmNwcCAqLywKIAkJCQlCQzY0QjRENDBDQjQyOThBMDA1
RjJCNjIgLyogQ1NTRm9udFNlbGVjdG9yLmggKi8sCiAJCQkJQzJFMzhFRkYxRTg0NTczNTAwQ0Ez
QURGIC8qIENTU0ZvbnRTdHlsZVJhbmdlVmFsdWUuY3BwICovLApAQCAtMzE5NjcsNiArMzE5ODEs
NyBAQAogCQkJCUJDNjRCNERBMENCNDI5OEEwMDVGMkI2MiAvKiBDU1NGb250RmFjZVNyY1ZhbHVl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzUyMEM3RTFBNzFCRkNDMDA2QkQyQUEgLyogQ1NTRm9u
dEZhbWlseS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE2RTlGQzQxM0MxN0QxRDAwNDZBN0Y4IC8q
IENTU0ZvbnRGZWF0dXJlVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTFDRUFBNTMyMjZGMzM2
RkMwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM2NEI0REMwQ0I0Mjk4QTAwNUYyQjYyIC8qIENTU0ZvbnRTZWxl
Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJFMzhGMDIxRTg0NTczNTAwQ0EzQURGIC8qIENT
U0ZvbnRTdHlsZVJhbmdlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyRTM4RUZFMUU4Mzk2
RkQwMENBM0FERiAvKiBDU1NGb250U3R5bGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjUw
NCw2ICszMjUxOSw3IEBACiAJCQkJNjU4NDM2ODYwQUUwMUI3NDAwRTUzNzQzIC8qIEZvbnRMb2Fk
UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0QTUzMkYyNTYwNTdDRDAwMjhDNTkyIC8q
IEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4NDU2ODA4MTJC
OTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUM1RTFE
QTgyNkY5NEI5MDAwRTA3QUYxIC8qIEZvbnRQYWxldHRlVmFsdWVzLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCNTMyMEQ2QjEyMkEyNEU5MDAyRDE0NDAgLyogRm9udFBsYXRmb3JtRGF0YS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzcxRjRGRkMwRDI1RTdGMzAwRUNFMEQ1IC8qIEZvbnRSYW5nZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDNEE1MzM5MjU2MDYzOTgwMDI4QzU5MiAvKiBGb250UmVuZGVy
aW5nTW9kZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNDU1NSdWxlQ3VzdG9tLmNwcAppbmRleCA3NTBlMDBjMzg3ZmJkMjc4ZTU4NWZlYzZiZDM0ZDIw
NTA3MWNjNWQzLi44YzRjNTYxNWEzOWY3MTM5NWQ3ZGM3ZTliOGZlNzlmNjE5N2M5MjY3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKQEAgLTI4
LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkNTU0NvdW50ZXJTdHlsZVJ1bGUuaCIKICNpbmNsdWRl
ICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUu
aCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxl
LmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtMzgsNiArMzksNyBAQAogI2lu
Y2x1ZGUgIkNTU1N1cHBvcnRzUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTQ291bnRlclN0eWxlUnVs
ZS5oIgogI2luY2x1ZGUgIkpTQ1NTRm9udEZhY2VSdWxlLmgiCisjaW5jbHVkZSAiSlNDU1NGb250
UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJKU0NTU0ltcG9ydFJ1bGUuaCIKICNpbmNs
dWRlICJKU0NTU0tleWZyYW1lUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTS2V5ZnJhbWVzUnVsZS5o
IgpAQCAtNzAsNiArNzIsOCBAQCBKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNHbG9iYWxPYmpl
Y3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8QwogICAgICAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxDU1NNZWRpYVJ1bGU+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShydWxl
KSk7CiAgICAgY2FzZSBDU1NSdWxlOjpGT05UX0ZBQ0VfUlVMRToKICAgICAgICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8Q1NTRm9udEZhY2VSdWxlPihnbG9iYWxPYmplY3QsIFdURk1vdmUocnVsZSkp
OworICAgIGNhc2UgQ1NTUnVsZTo6Rk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFOgorICAgICAgICBy
ZXR1cm4gY3JlYXRlV3JhcHBlcjxDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGU+KGdsb2JhbE9iamVj
dCwgV1RGTW92ZShydWxlKSk7CiAgICAgY2FzZSBDU1NSdWxlOjpQQUdFX1JVTEU6CiAgICAgICAg
IHJldHVybiBjcmVhdGVXcmFwcGVyPENTU1BhZ2VSdWxlPihnbG9iYWxPYmplY3QsIFdURk1vdmUo
cnVsZSkpOwogICAgIGNhc2UgQ1NTUnVsZTo6SU1QT1JUX1JVTEU6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDI2YjQ5NTdm
ODQ5YjcwMWM1ZDA2ZjdiNDQzZDVkY2ZiZTljZTkzOTAuLjM3ODhmMTEyY2JmZWNiYjhmMTU0NDhj
ODlkODhkODMzMmNmMDhiNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAwNCBaYWNrIFJ1c2luIDx6YWNrQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIw
MDQtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDQtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAqIENvcHlyaWdo
dCAoQykgMjAwNyBOaWNob2xhcyBTaGFua3MgPHdlYmtpdEBuaWNrc2hhbmtzLmNvbT4KICAqIENv
cHlyaWdodCAoQykgMjAxMSBTZW5jaGEsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTQw
NTIsNiArNDA1MiwxMSBAQCBSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6
OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNvbnN0IFJlbmRlclN0eQogICAgICAgICBjYXNlIENT
U1Byb3BlcnR5Rm9udERpc3BsYXk6CiAgICAgICAgICAgICBicmVhazsKIAorICAgICAgICAvLyBV
bmltcGxlbWVudGVkIEBmb250LXBhbGV0dGUtdmFsdWVzIHByb3BlcnRpZXMKKyAgICAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUJhc2VQYWxldHRlOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3ZlcnJp
ZGVDb2xvcjoKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIC8qIE90aGVyIHVuaW1wbGVt
ZW50ZWQgcHJvcGVydGllcyAqLwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5UGFnZTogLy8gZm9y
IEBwYWdlCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTaXplOiAvLyBmb3IgQHBhZ2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29s
b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVy
cmlkZUNvbG9yVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2ZDQ2YzJhMTFmYWJmZDFmMjc1MDdmNGIz
MzMxMzdlNjY0YjdmM2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuY3BwCkBAIC0wLDAgKzEsNDEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFs
dWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1
ZXNPdmVycmlkZUNvbG9yVmFsdWU6OmN1c3RvbUNTU1RleHQoKSBjb25zdAoreworICAgIHJldHVy
biBtYWtlU3RyaW5nKG1fa2V5LT5jc3NUZXh0KCksICIgIiwgbV9jb2xvci0+Y3NzVGV4dCgpKTsK
K30KKworYm9vbCBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZTo6ZXF1YWxz
KGNvbnN0IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlJiBvdGhlcikgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9rZXktPmVxdWFscyhvdGhlci5rZXkoKSkgJiYgbV9jb2xvci0+
ZXF1YWxzKG90aGVyLmNvbG9yKCkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmI3MTkwYmJjOTI3MDJkYjNhNjk5MGE3Yzk4YWVhZjIxNDRiZjZmN2EKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlk
ZUNvbG9yVmFsdWUuaApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDU1NWYWx1ZS5o
IgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VM
b2FkZXJPcHRpb25zLmgiCisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FjaGVk
Rm9udDsKK2NsYXNzIEZvbnRMb2FkUmVxdWVzdDsKK2NsYXNzIFNWR0ZvbnRGYWNlRWxlbWVudDsK
K2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIENTU0ZvbnRQYWxldHRlVmFs
dWVzT3ZlcnJpZGVDb2xvclZhbHVlIGZpbmFsIDogcHVibGljIENTU1ZhbHVlIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPiBj
cmVhdGUoUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiYmIGtleSwgUmVmPENTU1ByaW1pdGl2ZVZhbHVl
PiYmIGNvbG9yKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTRm9udFBh
bGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWUoV1RGTW92ZShrZXkpLCBXVEZNb3ZlKGNvbG9y
KSkpOworICAgIH0KKworICAgIGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBrZXkoKSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIG1fa2V5LmdldCgpOworICAgIH0KKworICAgIGNvbnN0IENT
U1ByaW1pdGl2ZVZhbHVlJiBjb2xvcigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9j
b2xvci5nZXQoKTsKKyAgICB9CisKKyAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0Owor
CisgICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9y
VmFsdWUmKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJy
aWRlQ29sb3JWYWx1ZShSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+JiYga2V5LCBSZWY8Q1NTUHJpbWl0
aXZlVmFsdWU+JiYgY29sb3IpCisgICAgICAgIDogQ1NTVmFsdWUoRm9udFBhbGV0dGVWYWx1ZXNP
dmVycmlkZUNvbG9yQ2xhc3MpCisgICAgICAgICwgbV9rZXkoV1RGTW92ZShrZXkpKQorICAgICAg
ICAsIG1fY29sb3IoV1RGTW92ZShjb2xvcikpCisgICAgeworICAgIH0KKworICAgIFJlZjxDU1NQ
cmltaXRpdmVWYWx1ZT4gbV9rZXk7CisgICAgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiBtX2NvbG9y
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0NTU19WQUxVRShDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSwgaXNGb250
UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODdlMjRkYWJmODdl
YzA1OTExN2EyYTJlYzNkMDQzNGM3OGQ0Nzc4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5jcHAKQEAgLTAsMCArMSwxMDkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmgiCisKKyNpbmNs
dWRlICJDb2xvclNlcmlhbGl6YXRpb24uaCIKKyNpbmNsdWRlICJKU0RPTU1hcExpa2UuaCIKKyNp
bmNsdWRlICJQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKKyNpbmNsdWRlICJTdHls
ZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRlICJTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdCdWlsZGVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlOjpDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoU3R5bGVSdWxlRm9udFBhbGV0
dGVWYWx1ZXMmIGZvbnRQYWxldHRlVmFsdWVzUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KQor
ICAgIDogQ1NTUnVsZShwYXJlbnQpCisgICAgLCBtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZShmb250
UGFsZXR0ZVZhbHVlc1J1bGUpCit7Cit9CisKK0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6fkNT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgpCit7Cit9CisKK1N0cmluZyBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGU6OmZvbnRGYW1pbHkoKSBjb25zdAoreworICAgIHJldHVybiBtX2ZvbnRQYWxldHRl
VmFsdWVzUnVsZS0+Zm9udEZhbWlseSgpOworfQorCitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlOjpiYXNlUGFsZXR0ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFdURjo6c3dpdGNoT24o
bV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPmJhc2VQYWxldHRlKCksIFsmXShpbnQ2NF90IGluZGV4
KSB7CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKGluZGV4KTsKKyAgICB9LCBbJl0oY29uc3Qg
QXRvbVN0cmluZyYgYmFzZVBhbGV0dGUpIC0+IFN0cmluZyB7CisgICAgICAgIGlmICghYmFzZVBh
bGV0dGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gYmFzZVBhbGV0dGUuc3RyaW5nKCk7
CisgICAgICAgIHJldHVybiBTdHJpbmdJbXBsOjplbXB0eSgpOworICAgIH0pOworfQorCit2b2lk
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZTo6aW5pdGlhbGl6ZU1hcExpa2UoRE9NTWFwQWRhcHRl
ciYgbWFwKQoreworICAgIGZvciAoYXV0byYgcGFpciA6IG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxl
LT5vdmVycmlkZUNvbG9yKCkpIHsKKyAgICAgICAgaWYgKCFXVEY6OmhvbGRzX2FsdGVybmF0aXZl
PGludDY0X3Q+KHBhaXIuZmlyc3QpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIG1h
cC5zZXQ8SURMVW5zaWduZWRMb25nLCBJRExVU1ZTdHJpbmc+KFdURjo6Z2V0PGludDY0X3Q+KHBh
aXIuZmlyc3QpLCBzZXJpYWxpemF0aW9uRm9yQ1NTKHBhaXIuc2Vjb25kKSk7CisgICAgfQorfQor
CitTdHJpbmcgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAg
ICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CisgICAgYnVpbGRlci5hcHBlbmQoIkBmb250LXBhbGV0
dGUtdmFsdWVzICIsIG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5uYW1lKCksICIgeyAiKTsKKyAg
ICBpZiAoIW1fZm9udFBhbGV0dGVWYWx1ZXNSdWxlLT5mb250RmFtaWx5KCkuaXNOdWxsKCkpCisg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJmb250LWZhbWlseTogIiwgbV9mb250UGFsZXR0ZVZhbHVl
c1J1bGUtPmZvbnRGYW1pbHkoKSwgIjsgIik7CisgICAgV1RGOjpzd2l0Y2hPbihtX2ZvbnRQYWxl
dHRlVmFsdWVzUnVsZS0+YmFzZVBhbGV0dGUoKSwgWyZdKGludDY0X3QgaW5kZXgpIHsKKyAgICAg
ICAgYnVpbGRlci5hcHBlbmQoImJhc2UtcGFsZXR0ZTogIiwgaW5kZXgsICI7ICIpOworICAgIH0s
IFsmXShjb25zdCBBdG9tU3RyaW5nJiBiYXNlUGFsZXR0ZSkgeworICAgICAgICBpZiAoIWJhc2VQ
YWxldHRlLmlzTnVsbCgpKQorICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoImJhc2UtcGFsZXR0
ZTogIiwgc2VyaWFsaXplU3RyaW5nKGJhc2VQYWxldHRlLnN0cmluZygpKSwgIjsgIik7CisgICAg
fSk7CisgICAgaWYgKCFtX2ZvbnRQYWxldHRlVmFsdWVzUnVsZS0+b3ZlcnJpZGVDb2xvcigpLmlz
RW1wdHkoKSkgeworICAgICAgICBidWlsZGVyLmFwcGVuZCgib3ZlcnJpZGUtY29sb3I6Iik7Cisg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9mb250UGFsZXR0ZVZhbHVlc1J1bGUtPm92
ZXJyaWRlQ29sb3IoKS5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgaWYgKGkpCisgICAgICAg
ICAgICAgICAgYnVpbGRlci5hcHBlbmQoJywnKTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5k
KCcgJyk7CisgICAgICAgICAgICBXVEY6OnN3aXRjaE9uKG1fZm9udFBhbGV0dGVWYWx1ZXNSdWxl
LT5vdmVycmlkZUNvbG9yKClbaV0uZmlyc3QsIFsmXShjb25zdCBBdG9tU3RyaW5nJiBuYW1lKSB7
CisgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoc2VyaWFsaXplU3RyaW5nKG5hbWUuc3Ry
aW5nKCkpKTsKKyAgICAgICAgICAgIH0sIFsmXShpbnQ2NF90IGluZGV4KSB7CisgICAgICAgICAg
ICAgICAgYnVpbGRlci5hcHBlbmQoaW5kZXgpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICBidWlsZGVyLmFwcGVuZCgnICcsIHNlcmlhbGl6YXRpb25Gb3JDU1MobV9mb250UGFsZXR0ZVZh
bHVlc1J1bGUtPm92ZXJyaWRlQ29sb3IoKVtpXS5zZWNvbmQpKTsKKyAgICAgICAgfQorICAgICAg
ICBidWlsZGVyLmFwcGVuZCgiOyAiKTsKKyAgICB9CisgICAgYnVpbGRlci5hcHBlbmQoJ30nKTsK
KyAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOworfQorCit2b2lkIENTU0ZvbnRQYWxldHRl
VmFsdWVzUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFzZSYgcnVsZSkKK3sKKyAgICBtX2ZvbnRQ
YWxldHRlVmFsdWVzUnVsZSA9IHN0YXRpY19jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
Jj4ocnVsZSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MGQ1YmRkYmM5OWFh
ZDFjZmFkMzM0NDI2ODY1MTQ1N2FjNjc3Mjk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5oCkBAIC0wLDAgKzEsNjAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgIkNTU1J1bGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBD
U1NTdHlsZURlY2xhcmF0aW9uOworY2xhc3MgRE9NTWFwQWRhcHRlcjsKK2NsYXNzIFN0eWxlUnVs
ZUZvbnRGYWNlOworY2xhc3MgU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjsKKworY2xhc3Mg
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGZpbmFsIDogcHVibGljIENTU1J1bGUgeworcHVibGlj
OgorICAgIHN0YXRpYyBSZWY8Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlPiBjcmVhdGUoU3R5bGVS
dWxlRm9udFBhbGV0dGVWYWx1ZXMmIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KSB7IHJldHVy
biBhZG9wdFJlZigqbmV3IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZShydWxlLCBzaGVldCkpOyB9
CisKKyAgICB2aXJ0dWFsIH5DU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoKTsKKworICAgIFN0cmlu
ZyBmb250RmFtaWx5KCkgY29uc3Q7CisgICAgU3RyaW5nIGJhc2VQYWxldHRlKCkgY29uc3Q7CisK
KyAgICB2b2lkIGluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXImKTsKKworcHJpdmF0ZToK
KyAgICBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUoU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMm
LCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpOworCisgICAgQ1NTUnVsZTo6VHlwZSB0eXBlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFOyB9CisgICAgU3RyaW5n
IGNzc1RleHQoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2Um
KSBmaW5hbDsKKworICAgIFJlZjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gbV9mb250UGFs
ZXR0ZVZhbHVlc1J1bGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUoQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLCBDU1NSdWxl
OjpGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkODMwMDQwYzM3ZDdhMDQ2ZWNm
NjgzMzdkYzg5MjMzNGIxMTJlZDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbApAQCAtMCwwICsxLDI5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKwordHlwZWRl
ZiBVU1ZTdHJpbmcgQ1NTT01TdHJpbmc7CisKK1sKKyAgICBFeHBvc2VkPVdpbmRvdworXSBpbnRl
cmZhY2UgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIDogQ1NTUnVsZSB7CisgICAgcmVhZG9ubHkg
bWFwbGlrZTx1bnNpZ25lZCBsb25nLCBDU1NPTVN0cmluZz47CisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIENTU09NU3RyaW5nIGZvbnRGYW1pbHk7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU09N
U3RyaW5nIGJhc2VQYWxldHRlOworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpz
b24KaW5kZXggZGM4ZmM0MTU0MzY2ZTZlNzU4MWVhZTA0YjQzZWI5NmM5OTVlMTliYy4uNjI4ZTE3
YjYyZjg0NmY3ZTI3ZTA2NTViMzUxMGZkN2Y4MjkzNjI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydGllcy5qc29uCkBAIC00MDg1LDYgKzQwODUsMjYgQEAKICAgICAgICAgICAgICAgICAi
dXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtZm9udHMtMy8jc3JjLWRlc2MiCiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0sCisgICAgICAgICJiYXNlLXBhbGV0dGUiOiB7CisgICAgICAg
ICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1aWxk
ZXIiOiB0cnVlLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdG9yLW9ubHkiOiB0cnVlCisgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAgICAg
ICAgImNhdGVnb3J5IjogImNzcy1mb250cyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTQvI2Jhc2UtcGFsZXR0ZS1kZXNjIgorICAg
ICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAib3ZlcnJpZGUtY29sb3IiOiB7CisgICAg
ICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJza2lwLWJ1
aWxkZXIiOiB0cnVlLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdG9yLW9ubHkiOiB0cnVlCisg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CisgICAgICAgICAg
ICAgICAgImNhdGVnb3J5IjogImNzcy1mb250cyIsCisgICAgICAgICAgICAgICAgInVybCI6ICJo
dHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLTQvI292ZXJyaWRlLWNvbG9yIgorICAg
ICAgICAgICAgfQorICAgICAgICB9LAogICAgICAgICAic3RvcC1jb2xvciI6IHsKICAgICAgICAg
ICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgImNvbnZlcnRlciI6
ICJTVkdDb2xvciIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAKaW5kZXggMGYzYzQzOTRkOTVlMjM3MDZl
NDhmNGUyOWFmYjQ4NGZiZmRjMzgwMi4uM2VjZjg0NGFmM2I3MmQxMjUwN2YxYmUyNDI3NGUyZmE2
ZjAyOTYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAo
QykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAz
IERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAyLCAy
MDA1LCAyMDA2LCAyMDA3LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwMi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNDgsNiArNDgsNyBAQCBDT01QSUxFX0FTU0VSVChTdHls
ZVJ1bGVUeXBlOjpLZXlmcmFtZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxl
OjpUeQogQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxlVHlwZTo6TmFtZXNwYWNlID09IHN0YXRpY19j
YXN0PFN0eWxlUnVsZVR5cGU+KENTU1J1bGU6OlR5cGU6Ok5BTUVTUEFDRV9SVUxFKSwgZW51bXNf
c2hvdWxkX21hdGNoKTsKIENPTVBJTEVfQVNTRVJUKFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHls
ZSA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVUeXBlPihDU1NSdWxlOjpUeXBlOjpDT1VOVEVSX1NU
WUxFX1JVTEUpLCBlbnVtc19zaG91bGRfbWF0Y2gpOwogQ09NUElMRV9BU1NFUlQoU3R5bGVSdWxl
VHlwZTo6U3VwcG9ydHMgPT0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVHlwZT4oQ1NTUnVsZTo6VHlw
ZTo6U1VQUE9SVFNfUlVMRSksIGVudW1zX3Nob3VsZF9tYXRjaCk7CitDT01QSUxFX0FTU0VSVChT
dHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcyA9PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVU
eXBlPihDU1NSdWxlOjpUeXBlOjpGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUpLCBlbnVtc19zaG91
bGRfbWF0Y2gpOwogCiBFeGNlcHRpb25Pcjx2b2lkPiBDU1NSdWxlOjpzZXRDc3NUZXh0KGNvbnN0
IFN0cmluZyYpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAppbmRleCA3ZWZiM2ExN2JlNGI0MzExZDQ1MDYw
MmNkNzE4MGI0MTYwM2NmNzE0Li5lNzQ1OWZhZWUwNzgyNDUwNGYwMDc3MGMzNDVlMzA4MDRkNGI0
NGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTkt
MjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11
ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBBbmRy
ZWFzIEtsaW5nIChrbGluZ0B3ZWJraXQub3JnKQogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTM4LDE5ICszOCwy
MCBAQCBwdWJsaWM6CiAKICAgICAvLyBXZWJJREwgZW51bQogICAgIGVudW0gVHlwZSB7Ci0gICAg
ICAgIFVOS05PV05fUlVMRSwKLSAgICAgICAgU1RZTEVfUlVMRSwKLSAgICAgICAgQ0hBUlNFVF9S
VUxFLAotICAgICAgICBJTVBPUlRfUlVMRSwKLSAgICAgICAgTUVESUFfUlVMRSwKLSAgICAgICAg
Rk9OVF9GQUNFX1JVTEUsCi0gICAgICAgIFBBR0VfUlVMRSwKLSAgICAgICAgS0VZRlJBTUVTX1JV
TEUsCi0gICAgICAgIEtFWUZSQU1FX1JVTEUsCi0gICAgICAgIE1BUkdJTl9SVUxFLAotICAgICAg
ICBOQU1FU1BBQ0VfUlVMRSwKLSAgICAgICAgQ09VTlRFUl9TVFlMRV9SVUxFLAotICAgICAgICBT
VVBQT1JUU19SVUxFCisgICAgICAgIFVOS05PV05fUlVMRSA9IDAsCisgICAgICAgIFNUWUxFX1JV
TEUgPSAxLAorICAgICAgICBDSEFSU0VUX1JVTEUgPSAyLAorICAgICAgICBJTVBPUlRfUlVMRSA9
IDMsCisgICAgICAgIE1FRElBX1JVTEUgPSA0LAorICAgICAgICBGT05UX0ZBQ0VfUlVMRSA9IDUs
CisgICAgICAgIFBBR0VfUlVMRSA9IDYsCisgICAgICAgIEtFWUZSQU1FU19SVUxFID0gNywKKyAg
ICAgICAgS0VZRlJBTUVfUlVMRSA9IDgsCisgICAgICAgIE1BUkdJTl9SVUxFID0gOSwKKyAgICAg
ICAgTkFNRVNQQUNFX1JVTEUgPSAxMCwKKyAgICAgICAgQ09VTlRFUl9TVFlMRV9SVUxFID0gMTEs
CisgICAgICAgIFNVUFBPUlRTX1JVTEUgPSAxMiwKKyAgICAgICAgRk9OVF9QQUxFVFRFX1ZBTFVF
U19SVUxFID0gMTkgLy8gaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVz
LzY2MjMKICAgICB9OwogCiAgICAgZW51bSBEZXByZWNhdGVkVHlwZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVs
ZS5pZGwKaW5kZXggZjNlNjYxMzdkNzYzNzMwYzM3ZjAyM2ExNjMzZTMyZWY4MjUwZWI1Ni4uYTU4
OGFiZTRmNjk0NjUzY2ZmMTMzMGYxZDA3ZTQ2MmE5YjI3OWJiYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxl
LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2Ft
dWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtNDQsNiAr
NDQsNyBAQAogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5BTUVTUEFDRV9SVUxFID0gMTA7CiAg
ICAgW0VuYWJsZWRCeVNldHRpbmc9Q1NTQ291bnRlclN0eWxlQXRSdWxlc10gY29uc3QgdW5zaWdu
ZWQgc2hvcnQgQ09VTlRFUl9TVFlMRV9SVUxFID0gMTE7CiAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgU1VQUE9SVFNfUlVMRSA9IDEyOworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEZPTlRfUEFM
RVRURV9WQUxVRVNfUlVMRSA9IDE5OyAvKiBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRy
YWZ0cy9pc3N1ZXMvNjYyMyAqLwogCiAgICAgLy8gTGVnYWN5IHN5bm9ueW1zIGZvciB0aGUgYWJv
dmUsIGtlcHQgdG8gYXZvaWQgYnJlYWtpbmcgZXhpc3RpbmcgY29udGVudC4KICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBXRUJLSVRfS0VZRlJBTUVTX1JVTEUgPSA3OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZS5jcHAKaW5kZXggODczNjlhYjBkYjUyZjBhMmU4YTNiYTJjMDM5NTM2MDRjNDRkMTdlMi4uMTlj
YjczZWZlZDNkY2I4MDYwNzQyMTA5NjRkZWQ4NDZjNjA1NTVmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBBbmRyZWFz
IEtsaW5nIChrbGluZ0B3ZWJraXQub3JnKQogICogQ29weXJpZ2h0IChDKSAyMDEzIEFkb2JlIFN5
c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMzksNiArNDAsNyBAQAogI2luY2x1ZGUgIkNTU0ZpbHRlckltYWdl
VmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNyY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NT
Rm9udEZlYXR1cmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJp
ZGVDb2xvclZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFN0eWxlUmFuZ2VWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkNTU0ZvbnRTdHlsZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFZhbHVlLmgiCkBA
IC0xNjQsNiArMTY2LDggQEAgYm9vbCBDU1NWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ZhbHVlJiBv
dGhlcikgY29uc3QKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0ZvbnRW
YWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGb250RmFjZVNyY0NsYXNzOgogICAg
ICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRm9udEZhY2VTcmNWYWx1ZT4oKnRo
aXMsIG90aGVyKTsKKyAgICAgICAgY2FzZSBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JD
bGFzczoKKyAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0ZvbnRQYWxldHRl
VmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEZv
bnRGZWF0dXJlQ2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NG
b250RmVhdHVyZVZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEZvbnRWYXJpYXRp
b25DbGFzczoKQEAgLTI2NCw2ICsyNjgsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBj
b25zdAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTRm9udFZhbHVlPigqdGhpcykuY3VzdG9t
Q1NTVGV4dCgpOwogICAgIGNhc2UgRm9udEZhY2VTcmNDbGFzczoKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU0ZvbnRGYWNlU3JjVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CisgICAg
Y2FzZSBGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JDbGFzczoKKyAgICAgICAgcmV0dXJu
IGRvd25jYXN0PENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlPigqdGhpcyku
Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgRm9udEZlYXR1cmVDbGFzczoKICAgICAgICAgcmV0
dXJuIGRvd25jYXN0PENTU0ZvbnRGZWF0dXJlVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7
CiAgICAgY2FzZSBGb250VmFyaWF0aW9uQ2xhc3M6CkBAIC0zNzcsNiArMzgzLDkgQEAgdm9pZCBD
U1NWYWx1ZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBGb250RmFjZVNyY0NsYXNzOgogICAgICAgICBk
ZWxldGUgZG93bmNhc3Q8Q1NTRm9udEZhY2VTcmNWYWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVy
bjsKKyAgICBjYXNlIEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvckNsYXNzOgorICAgICAg
ICBkZWxldGUgZG93bmNhc3Q8Q1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yVmFsdWU+
KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBGb250RmVhdHVyZUNsYXNzOgogICAg
ICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTRm9udEZlYXR1cmVWYWx1ZT4odGhpcyk7CiAgICAgICAg
IHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggMjNlYjVlYzM4Y2NlOTY5MGU1ZDhhYjQ0
YjU2NTI0NWY4NzJkOTA1ZC4uYTUxNjI2MTdkMzk3Yjc3OGVjODA5NjczYjM0MGFkMzIwZTkyMmVj
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogKEMpIDE5OTkt
MjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDA0LCAy
MDA1LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtOTcsNiArOTcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBp
c0ZvbnRGZWF0dXJlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250RmVh
dHVyZUNsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRWYXJpYXRpb25WYWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2xhc3NUeXBlID09IEZvbnRWYXJpYXRpb25DbGFzczsgfQogICAgIGJvb2wgaXNGb250
RmFjZVNyY1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRm9udEZhY2VTcmND
bGFzczsgfQorICAgIGJvb2wgaXNGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JWYWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVD
b2xvckNsYXNzOyB9CiAgICAgYm9vbCBpc0ZvbnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xh
c3NUeXBlID09IEZvbnRDbGFzczsgfQogICAgIGJvb2wgaXNGb250U3R5bGVWYWx1ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZvbnRTdHlsZUNsYXNzOyB9CiAgICAgYm9vbCBpc0Zv
bnRTdHlsZVJhbmdlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGb250U3R5
bGVSYW5nZUNsYXNzOyB9CkBAIC0xODcsNiArMTg4LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBG
b250U3R5bGVDbGFzcywKICAgICAgICAgRm9udFN0eWxlUmFuZ2VDbGFzcywKICAgICAgICAgRm9u
dEZhY2VTcmNDbGFzcywKKyAgICAgICAgRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yQ2xh
c3MsCiAgICAgICAgIEZ1bmN0aW9uQ2xhc3MsCiAKICAgICAgICAgSW5oZXJpdGVkQ2xhc3MsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4IDRiMTVjMDk0OTg5OWJiZTNkZWQ5OTE0YmU5YjZl
YjFlNjc4MzI1YzMuLmIxNzA4YTU4MjczZmNjMDE2MWI5YzU2ZDEzMDNmMGNiZDA5YTJhNjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIChDKSAxOTk5
LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAqIChDKSAyMDAyLTIwMDMgRGlyayBN
dWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI1
LDYgKzI1LDcgQEAKICNpbmNsdWRlICJDU1NDb3VudGVyU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAi
Q1NTRGVmZXJyZWRQYXJzZXIuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNs
dWRlICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxl
LmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVz
UnVsZS5oIgpAQCAtNzAsNiArNzEsOSBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6OmRlc3Ryb3koKQog
ICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2U6CiAgICAgICAgIGRlbGV0ZSBkb3duY2Fz
dDxTdHlsZVJ1bGVGb250RmFjZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIFN0
eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzOgorICAgICAgICBkZWxldGUgZG93bmNhc3Q8
U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXM+KHRoaXMpOworICAgICAgICByZXR1cm47CiAgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpNZWRpYToKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PFN0eWxl
UnVsZU1lZGlhPih0aGlzKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMTEzLDYgKzExNyw4IEBAIFJl
ZjxTdHlsZVJ1bGVCYXNlPiBTdHlsZVJ1bGVCYXNlOjpjb3B5KCkgY29uc3QKICAgICAgICAgcmV0
dXJuIGRvd25jYXN0PFN0eWxlUnVsZVBhZ2U+KCp0aGlzKS5jb3B5KCk7CiAgICAgY2FzZSBTdHls
ZVJ1bGVUeXBlOjpGb250RmFjZToKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFN0eWxlUnVsZUZv
bnRGYWNlPigqdGhpcykuY29weSgpOworICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0
dGVWYWx1ZXM6CisgICAgICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVGb250UGFsZXR0ZVZh
bHVlcz4oKnRoaXMpLmNvcHkoKTsKICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6Ok1lZGlhOgogICAg
ICAgICByZXR1cm4gZG93bmNhc3Q8U3R5bGVSdWxlTWVkaWE+KCp0aGlzKS5jb3B5KCk7CiAgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpTdXBwb3J0czoKQEAgLTE0OSw2ICsxNTUsOSBAQCBSZWY8Q1NT
UnVsZT4gU3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKENTU1N0eWxlU2hlZXQqIHBh
cmVudFNoZWV0LCBDU1NSdQogICAgIGNhc2UgU3R5bGVSdWxlVHlwZTo6Rm9udEZhY2U6CiAgICAg
ICAgIHJ1bGUgPSBDU1NGb250RmFjZVJ1bGU6OmNyZWF0ZShkb3duY2FzdDxTdHlsZVJ1bGVGb250
RmFjZT4oc2VsZiksIHBhcmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTdHls
ZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoKKyAgICAgICAgcnVsZSA9IENTU0ZvbnRQYWxl
dHRlVmFsdWVzUnVsZTo6Y3JlYXRlKGRvd25jYXN0PFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
PihzZWxmKSwgcGFyZW50U2hlZXQpOworICAgICAgICBicmVhazsKICAgICBjYXNlIFN0eWxlUnVs
ZVR5cGU6Ok1lZGlhOgogICAgICAgICBydWxlID0gQ1NTTWVkaWFSdWxlOjpjcmVhdGUoZG93bmNh
c3Q8U3R5bGVSdWxlTWVkaWE+KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAgIGJyZWFrOwpA
QCAtMzE5LDYgKzMyOCwyNCBAQCBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBTdHlsZVJ1bGVGb250
RmFjZTo6bXV0YWJsZVByb3BlcnRpZXMoKQogICAgIHJldHVybiBkb3duY2FzdDxNdXRhYmxlU3R5
bGVQcm9wZXJ0aWVzPihtX3Byb3BlcnRpZXMuZ2V0KCkpOwogfQogCitTdHlsZVJ1bGVGb250UGFs
ZXR0ZVZhbHVlczo6U3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMoY29uc3QgQXRvbVN0cmluZyYg
bmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwgY29uc3QgRm9udFBhbGV0dGVWYWx1
ZXM6OlBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZlY3RvcjxGb250UGFsZXR0ZVZhbHVlczo6
T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpCisgICAgOiBTdHlsZVJ1bGVCYXNlKFN0
eWxlUnVsZVR5cGU6OkZvbnRQYWxldHRlVmFsdWVzKQorICAgICwgbV9uYW1lKG5hbWUpCisgICAg
LCBtX2ZvbnRGYW1pbHkoZm9udEZhbWlseSkKKyAgICAsIG1fZm9udFBhbGV0dGVWYWx1ZXMoYmFz
ZVBhbGV0dGUsIFdURk1vdmUob3ZlcnJpZGVDb2xvcikpCit7Cit9CisKK1N0eWxlUnVsZUZvbnRQ
YWxldHRlVmFsdWVzOjpTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBTdHlsZVJ1bGVG
b250UGFsZXR0ZVZhbHVlcyYgbykKKyAgICA6IFN0eWxlUnVsZUJhc2UobykKKyAgICAsIG1fbmFt
ZShvLm5hbWUoKSkKKyAgICAsIG1fZm9udEZhbWlseShvLmZvbnRGYW1pbHkoKSkKKyAgICAsIG1f
Zm9udFBhbGV0dGVWYWx1ZXMoby5tX2ZvbnRQYWxldHRlVmFsdWVzKQoreworfQorCitTdHlsZVJ1
bGVGb250UGFsZXR0ZVZhbHVlczo6flN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzKCkgPSBkZWZh
dWx0OworCiBEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdDo6RGVmZXJyZWRTdHlsZUdyb3VwUnVs
ZUxpc3QoY29uc3QgQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIENTU0RlZmVycmVkUGFyc2Vy
JiBwYXJzZXIpCiAgICAgOiBtX3BhcnNlcihwYXJzZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgK
aW5kZXggMTU2MmM3OTI2N2VhNjRkMjE3MDFiOWRmNzU3YzAzNTI1OTBmOTcxYi4uOTdlYzkxMWVl
ZDNjNzkxMzFhZGRkYTZjYzdlMGZkYmVhMmNhYTk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaApA
QCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtk
ZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQot
ICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDAyLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMyw2ICsyMyw3IEBACiAKICNpbmNsdWRlICJD
U1NTZWxlY3Rvckxpc3QuaCIKICNpbmNsdWRlICJDb21waWxlZFNlbGVjdG9yLmgiCisjaW5jbHVk
ZSAiRm9udFBhbGV0dGVWYWx1ZXMuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKICNp
bmNsdWRlICJTdHlsZVJ1bGVUeXBlLmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTIs
NiArNTMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0NoYXJzZXRSdWxlKCkgY29uc3QgeyByZXR1
cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OkNoYXJzZXQ7IH0KICAgICBib29sIGlzQ291bnRl
clN0eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3Vu
dGVyU3R5bGU7IH0KICAgICBib29sIGlzRm9udEZhY2VSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlw
ZSgpID09IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlOyB9CisgICAgYm9vbCBpc0ZvbnRQYWxldHRl
VmFsdWVzUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250
UGFsZXR0ZVZhbHVlczsgfQogICAgIGJvb2wgaXNLZXlmcmFtZXNSdWxlKCkgY29uc3QgeyByZXR1
cm4gdHlwZSgpID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lczsgfQogICAgIGJvb2wgaXNLZXlm
cmFtZVJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3R5bGVSdWxlVHlwZTo6S2V5ZnJh
bWU7IH0KICAgICBib29sIGlzTmFtZXNwYWNlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9
PSBTdHlsZVJ1bGVUeXBlOjpOYW1lc3BhY2U7IH0KQEAgLTE1NSw2ICsxNTcsNDggQEAgcHJpdmF0
ZToKICAgICBSZWY8U3R5bGVQcm9wZXJ0aWVzPiBtX3Byb3BlcnRpZXM7CiB9OwogCitjbGFzcyBT
dHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzPiBjcmVh
dGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgZm9udEZhbWlseSwg
Y29uc3QgRm9udFBhbGV0dGVWYWx1ZXM6OlBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZlY3Rv
cjxGb250UGFsZXR0ZVZhbHVlczo6T3ZlcnJpZGRlbkNvbG9yPiYmIG92ZXJyaWRlQ29sb3IpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1ZXMobmFtZSwgZm9u
dEZhbWlseSwgYmFzZVBhbGV0dGUsIFdURk1vdmUob3ZlcnJpZGVDb2xvcikpKTsgfQorICAgIAor
ICAgIH5TdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcygpOworCisgICAgY29uc3QgQXRvbVN0cmlu
ZyYgbmFtZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9uYW1lOworICAgIH0KKwor
ICAgIGNvbnN0IEF0b21TdHJpbmcmIGZvbnRGYW1pbHkoKSBjb25zdAorICAgIHsKKyAgICAgICAg
cmV0dXJuIG1fZm9udEZhbWlseTsKKyAgICB9CisKKyAgICBjb25zdCBGb250UGFsZXR0ZVZhbHVl
cyYgZm9udFBhbGV0dGVWYWx1ZXMoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZm9u
dFBhbGV0dGVWYWx1ZXM7CisgICAgfQorCisgICAgY29uc3QgRm9udFBhbGV0dGVWYWx1ZXM6OlBh
bGV0dGVJbmRleCYgYmFzZVBhbGV0dGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1f
Zm9udFBhbGV0dGVWYWx1ZXMuYmFzZVBhbGV0dGUoKTsKKyAgICB9CisKKyAgICBjb25zdCBWZWN0
b3I8Rm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4mIG92ZXJyaWRlQ29sb3IoKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZm9udFBhbGV0dGVWYWx1ZXMub3ZlcnJpZGVD
b2xvcigpOworICAgIH0KKworICAgIFJlZjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gY29w
eSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlRm9udFBhbGV0dGVWYWx1
ZXMoKnRoaXMpKTsgfQorCitwcml2YXRlOgorICAgIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVz
KGNvbnN0IEF0b21TdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcmIGZvbnRGYW1pbHksIGNv
bnN0IEZvbnRQYWxldHRlVmFsdWVzOjpQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlLCBWZWN0b3I8
Rm9udFBhbGV0dGVWYWx1ZXM6Ok92ZXJyaWRkZW5Db2xvcj4mJiBvdmVycmlkZUNvbG9yKTsKKyAg
ICBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcyhjb25zdCBTdHlsZVJ1bGVGb250UGFsZXR0ZVZh
bHVlcyYpOworCisgICAgQXRvbVN0cmluZyBtX25hbWU7CisgICAgQXRvbVN0cmluZyBtX2ZvbnRG
YW1pbHk7CisgICAgRm9udFBhbGV0dGVWYWx1ZXMgbV9mb250UGFsZXR0ZVZhbHVlczsKK307CisK
IGNsYXNzIFN0eWxlUnVsZVBhZ2UgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVQYWdlPiBjcmVhdGUoUmVmPFN0eWxlUHJvcGVy
dGllcz4mJiwgQ1NTU2VsZWN0b3JMaXN0JiYpOwpAQCAtMzU3LDYgKzQwMSwxMCBAQCBTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZUZvbnRGYWNlKQogICAgIHN0
YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlJiBydWxlKSB7IHJl
dHVybiBydWxlLmlzRm9udEZhY2VSdWxlKCk7IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5E
KCkKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpTdHlsZVJ1bGVGb250
UGFsZXR0ZVZhbHVlcykKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U3R5
bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0ZvbnRQYWxldHRlVmFsdWVzUnVsZSgp
OyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCisKIFNQRUNJQUxJWkVfVFlQRV9UUkFJ
VFNfQkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxlTWVkaWEpCiAgICAgc3RhdGljIGJvb2wgaXNUeXBl
KGNvbnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0dXJuIHJ1bGUuaXNNZWRp
YVJ1bGUoKTsgfQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGVUeXBlLmgKaW5kZXggYzllNTE4ZGJlNjFiNzM1YjZkN2ExYTdmZjYyNDNjZDk4MTVjYzVi
ZC4uOGYwNWQ2M2JlODFhMWZlNzE5NmY5YzJkODdlMzNlYmIxZTIxYWE0NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZVR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlVHlwZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTktMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDE5ICsyOCwyMSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBlbnVtIGNsYXNzIFN0eWxlUnVsZVR5cGUgOiB1aW50OF90IHsKLSAgICBVbmtub3duLCAvLyBO
b3QgdXNlZC4KLSAgICBTdHlsZSwKLSAgICBDaGFyc2V0LCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJl
IGludGVybmFsbHkgc3RyaW5ncyBvd25lZCBieSB0aGUgc3R5bGUgc2hlZXQuCi0gICAgSW1wb3J0
LAotICAgIE1lZGlhLAotICAgIEZvbnRGYWNlLAotICAgIFBhZ2UsCi0gICAgS2V5ZnJhbWVzLAot
ICAgIEtleWZyYW1lLCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgbm9uLXJ1bGUg
U3R5bGVSdWxlS2V5ZnJhbWUgb2JqZWN0cy4KKyAgICBVbmtub3duID0gMCwgLy8gTm90IHVzZWQu
CisgICAgU3R5bGUgPSAxLAorICAgIENoYXJzZXQgPSAyLCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJl
IGludGVybmFsbHkgc3RyaW5ncyBvd25lZCBieSB0aGUgc3R5bGUgc2hlZXQuCisgICAgSW1wb3J0
ID0gMywKKyAgICBNZWRpYSA9IDQsCisgICAgRm9udEZhY2UgPSA1LAorICAgIFBhZ2UgPSA2LAor
ICAgIEtleWZyYW1lcyA9IDcsCisgICAgS2V5ZnJhbWUgPSA4LCAvLyBOb3QgdXNlZC4gVGhlc2Ug
YXJlIGludGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVSdWxlS2V5ZnJhbWUgb2JqZWN0cy4KKyAgICAv
LyBNYXJnaW4gPSA5LCBGSVhNRTogV2h5IGlzIHRoaXMgbWlzc2luZz8KICAgICBOYW1lc3BhY2Ug
PSAxMCwKICAgICBDb3VudGVyU3R5bGUgPSAxMSwKICAgICBTdXBwb3J0cyA9IDEyLAotICAgIExh
eWVyID0gMTMsCisgICAgRm9udFBhbGV0dGVWYWx1ZXMgPSAxOSwgLy8gaHR0cHM6Ly9naXRodWIu
Y29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzY2MjMKKyAgICBMYXllciA9IDIwCiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVTaGVldENvbnRlbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVu
dHMuY3BwCmluZGV4IDMyODQ5NzQ4NTM1YTBkNzY0NjkwMzA3M2NjMjRkYzE4NjZkYjA0Y2UuLmE2
ZTk3MWM2MjYzNjZiYmEwMGU3ZDVlZWQ4ZDUyMzBlNzg2M2VjOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIChDKSAx
OTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAw
NC0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwpAQCAtNDM2LDYgKzQzNiw3IEBAIHN0YXRpYyBib29sIHRyYXZlcnNlUnVsZXNJblZlY3Rv
cihjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYgcnVsZXMsIGNvCiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpTdHlsZToKICAgICAgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250RmFjZToKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBl
OjpGb250UGFsZXR0ZVZhbHVlczoKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpQYWdlOgog
ICAgICAgICBjYXNlIFN0eWxlUnVsZVR5cGU6OktleWZyYW1lczoKICAgICAgICAgY2FzZSBTdHls
ZVJ1bGVUeXBlOjpOYW1lc3BhY2U6CkBAIC00ODYsNiArNDg3LDcgQEAgYm9vbCBTdHlsZVNoZWV0
Q29udGVudHM6OnRyYXZlcnNlU3VicmVzb3VyY2VzKGNvbnN0IFdURjo6RnVuY3Rpb248Ym9vbCAo
Y29uc3QgQ2EKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZToKICAgICAgICAg
Y2FzZSBTdHlsZVJ1bGVUeXBlOjpTdXBwb3J0czoKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBl
OjpMYXllcjoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlczoK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfTsKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0
UnVsZUlELmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuY3BwCmlu
ZGV4IDA4MjU3MjM4YzhiMzU4ZTUzYmZhMjdlMmFiNmJlY2NkNWE2ZDJlOTkuLmU3ZTc0ZDRlZGZk
ODdjNGQ3YzllYjU0NzdjN2U4MmMzYjUyNzk5Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTQXRSdWxlSUQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTUgVGhl
IENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMp
IDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAy
MDE2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzgsNiArMzgsOCBAQCBDU1NBdFJ1bGVJRCBjc3NBdFJ1
bGVJRChTdHJpbmdWaWV3IG5hbWUpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVDaGFyc2V0Owog
ICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKG5hbWUsICJmb250LWZhY2UiKSkKICAgICAg
ICAgcmV0dXJuIENTU0F0UnVsZUZvbnRGYWNlOworICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlD
YXNlKG5hbWUsICJmb250LXBhbGV0dGUtdmFsdWVzIikpCisgICAgICAgIHJldHVybiBDU1NBdFJ1
bGVGb250UGFsZXR0ZVZhbHVlczsKICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1l
LCAiaW1wb3J0IikpCiAgICAgICAgIHJldHVybiBDU1NBdFJ1bGVJbXBvcnQ7CiAgICAgaWYgKGVx
dWFsSWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImtleWZyYW1lcyIpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NBdFJ1bGVJRC5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NBdFJ1bGVJRC5oCmluZGV4IDMzMGY2Y2JlMmUyNWIzZGNjZjBlNzI5ZTQ0ODk5
ZjE4OTQxNWE3YmUuLmU2NmMwNDM3N2RjNDllNDA2ODdjZGY2YzJjNmU1NGZkOGUwODUzZjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTQXRSdWxlSUQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU0F0UnVsZUlELmgKQEAgLTEsNSArMSw1IEBACiAv
LyBDb3B5cmlnaHQgMjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00OSw2ICs0OSw4IEBA
IGVudW0gQ1NTQXRSdWxlSUQgewogICAgIENTU0F0UnVsZUFwcGx5ID0gMTEsCiAgICAgQ1NTQXRS
dWxlQ291bnRlclN0eWxlID0gMTIsCiAgICAgQ1NTQXRSdWxlTGF5ZXIgPSAxMywKKworICAgIENT
U0F0UnVsZUZvbnRQYWxldHRlVmFsdWVzID0gMTQsCiB9OwogCiBDU1NBdFJ1bGVJRCBjc3NBdFJ1
bGVJRChTdHJpbmdWaWV3IG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFy
c2VySW1wbC5jcHAKaW5kZXggZTViNzQzMDJlMGNlNGM1YWJkNjE2ZWM0NTcxYjYyYzRmZmM3ZTUx
OS4uOTBkMDllZDM5YTE2MWE2N2YwNDdjMjI0M2QxM2UxMGE2MWFjODRiYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBAIC0xLDUgKzEsNSBAQAogLy8g
Q29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0vLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNCw2ICszNCw3
IEBACiAjaW5jbHVkZSAiQ1NTQ291bnRlclN0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkNTU0N1c3Rv
bVByb3BlcnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NEZWZlcnJlZFBhcnNlci5oIgorI2luY2x1
ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTS2V5ZnJhbWVzUnVsZS5oIgogI2luY2x1
ZGUgIkNTU1BhcnNlck9ic2VydmVyLmgiCkBAIC00Nyw2ICs0OCw3IEBACiAjaW5jbHVkZSAiQ1NT
VmFyaWFibGVQYXJzZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVsZW1l
bnQuaCIKKyNpbmNsdWRlICJGb250UGFsZXR0ZVZhbHVlcy5oIgogI2luY2x1ZGUgIk1lZGlhTGlz
dC5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJzZXIuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5
UGFyc2VyQ29udGV4dC5oIgpAQCAtNDQ1LDYgKzQ0Nyw4IEBAIFJlZlB0cjxTdHlsZVJ1bGVCYXNl
PiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lQXRSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdl
LCBBCiAgICAgICAgIHJldHVybiBjb25zdW1lU3VwcG9ydHNSdWxlKHByZWx1ZGUsIGJsb2NrKTsK
ICAgICBjYXNlIENTU0F0UnVsZUZvbnRGYWNlOgogICAgICAgICByZXR1cm4gY29uc3VtZUZvbnRG
YWNlUnVsZShwcmVsdWRlLCBibG9jayk7CisgICAgY2FzZSBDU1NBdFJ1bGVGb250UGFsZXR0ZVZh
bHVlczoKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUocHJlbHVk
ZSwgYmxvY2spOwogICAgIGNhc2UgQ1NTQXRSdWxlV2Via2l0S2V5ZnJhbWVzOgogICAgICAgICBy
ZXR1cm4gY29uc3VtZUtleWZyYW1lc1J1bGUodHJ1ZSwgcHJlbHVkZSwgYmxvY2spOwogICAgIGNh
c2UgQ1NTQXRSdWxlS2V5ZnJhbWVzOgpAQCAtNjUyLDYgKzY1Niw1NSBAQCBSZWZQdHI8U3R5bGVS
dWxlRm9udEZhY2U+IENTU1BhcnNlckltcGw6OmNvbnN1bWVGb250RmFjZVJ1bGUoQ1NTUGFyc2Vy
VG9rZW5SYW5nZQogICAgIHJldHVybiBTdHlsZVJ1bGVGb250RmFjZTo6Y3JlYXRlKGNyZWF0ZVN0
eWxlUHJvcGVydGllcyhtX3BhcnNlZFByb3BlcnRpZXMsIG1fY29udGV4dC5tb2RlKSk7CiB9CiAK
K1JlZlB0cjxTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlcz4gQ1NTUGFyc2VySW1wbDo6Y29uc3Vt
ZUZvbnRQYWxldHRlVmFsdWVzUnVsZShDU1NQYXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1Bh
cnNlclRva2VuUmFuZ2UgYmxvY2spCit7CisgICAgYXV0byBuYW1lID0gQ1NTUHJvcGVydHlQYXJz
ZXJIZWxwZXJzOjpjb25zdW1lQ3VzdG9tSWRlbnQocHJlbHVkZSk7CisgICAgaWYgKCFuYW1lIHx8
ICFwcmVsdWRlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOyAvLyBQYXJzZSBlcnJv
cjsgZXhwZWN0ZWQgY3VzdG9tIGlkZW50IGluIEBmb250LXBhbGV0dGUtdmFsdWVzIGhlYWRlcgor
CisgICAgaWYgKG1fb2JzZXJ2ZXJXcmFwcGVyKSB7CisgICAgICAgIHVuc2lnbmVkIGVuZE9mZnNl
dCA9IG1fb2JzZXJ2ZXJXcmFwcGVyLT5lbmRPZmZzZXQocHJlbHVkZSk7CisgICAgICAgIG1fb2Jz
ZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigpLnN0YXJ0UnVsZUhlYWRlcihTdHlsZVJ1bGVUeXBlOjpG
b250UGFsZXR0ZVZhbHVlcywgbV9vYnNlcnZlcldyYXBwZXItPnN0YXJ0T2Zmc2V0KHByZWx1ZGUp
KTsKKyAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5kUnVsZUhlYWRlcihl
bmRPZmZzZXQpOworICAgICAgICBtX29ic2VydmVyV3JhcHBlci0+b2JzZXJ2ZXIoKS5zdGFydFJ1
bGVCb2R5KGVuZE9mZnNldCk7CisgICAgICAgIG1fb2JzZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigp
LmVuZFJ1bGVCb2R5KGVuZE9mZnNldCk7CisgICAgfQorCisgICAgY29uc3VtZURlY2xhcmF0aW9u
TGlzdChibG9jaywgU3R5bGVSdWxlVHlwZTo6Rm9udFBhbGV0dGVWYWx1ZXMpOworICAgIGF1dG8g
cHJvcGVydGllcyA9IGNyZWF0ZVN0eWxlUHJvcGVydGllcyhtX3BhcnNlZFByb3BlcnRpZXMsIG1f
Y29udGV4dC5tb2RlKTsKKworICAgIEF0b21TdHJpbmcgZm9udEZhbWlseTsKKyAgICBpZiAoYXV0
byBmb250RmFtaWx5VmFsdWUgPSBwcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1By
b3BlcnR5Rm9udEZhbWlseSkpCisgICAgICAgIGZvbnRGYW1pbHkgPSBkb3duY2FzdDxDU1NQcmlt
aXRpdmVWYWx1ZT4oKmZvbnRGYW1pbHlWYWx1ZSkuZm9udEZhbWlseSgpLmZhbWlseU5hbWU7CisK
KyAgICBGb250UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUluZGV4IGJhc2VQYWxldHRlKG51bGxBdG9t
KCkpOworICAgIGlmIChhdXRvIGJhc2VQYWxldHRlVmFsdWUgPSBwcm9wZXJ0aWVzLT5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5QmFzZVBhbGV0dGUpKSB7CisgICAgICAgIGNvbnN0IGF1
dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCpiYXNlUGFs
ZXR0ZVZhbHVlKTsKKyAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzU3RyaW5nKCkpCisgICAg
ICAgICAgICBiYXNlUGFsZXR0ZSA9IHByaW1pdGl2ZVZhbHVlLnN0cmluZ1ZhbHVlKCk7CisgICAg
ICAgIGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTnVtYmVyKCkpCisgICAgICAgICAgICBiYXNl
UGFsZXR0ZSA9IHByaW1pdGl2ZVZhbHVlLnZhbHVlPGludDY0X3Q+KCk7CisgICAgfQorCisgICAg
VmVjdG9yPEZvbnRQYWxldHRlVmFsdWVzOjpPdmVycmlkZGVuQ29sb3I+IG92ZXJyaWRlQ29sb3I7
CisgICAgaWYgKGF1dG8gb3ZlcnJpZGVDb2xvclZhbHVlID0gcHJvcGVydGllcy0+Z2V0UHJvcGVy
dHlDU1NWYWx1ZShDU1NQcm9wZXJ0eU92ZXJyaWRlQ29sb3IpKSB7CisgICAgICAgIGNvbnN0IGF1
dG8mIGxpc3QgPSBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCpvdmVycmlkZUNvbG9yVmFsdWUpOwor
ICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGl0ZW0gOiBsaXN0KSB7CisgICAgICAgICAgICBGb250
UGFsZXR0ZVZhbHVlczo6UGFsZXR0ZUNvbG9ySW5kZXgga2V5KG51bGxBdG9tKCkpOworICAgICAg
ICAgICAgY29uc3QgYXV0byYgcGFpciA9IGRvd25jYXN0PENTU0ZvbnRQYWxldHRlVmFsdWVzT3Zl
cnJpZGVDb2xvclZhbHVlPihpdGVtLmdldCgpKTsKKyAgICAgICAgICAgIGlmIChwYWlyLmtleSgp
LmlzU3RyaW5nKCkpCisgICAgICAgICAgICAgICAga2V5ID0gcGFpci5rZXkoKS5zdHJpbmdWYWx1
ZSgpOworICAgICAgICAgICAgZWxzZSBpZiAocGFpci5rZXkoKS5pc051bWJlcigpKQorICAgICAg
ICAgICAgICAgIGtleSA9IHBhaXIua2V5KCkudmFsdWU8aW50NjRfdD4oKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIG92ZXJyaWRlQ29s
b3IuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGtleSwgcGFpci5jb2xvcigpLmNvbG9yKCkpKTsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBTdHlsZVJ1bGVGb250UGFsZXR0ZVZhbHVlczo6
Y3JlYXRlKG5hbWUtPnN0cmluZ1ZhbHVlKCksIGZvbnRGYW1pbHksIGJhc2VQYWxldHRlLCBXVEZN
b3ZlKG92ZXJyaWRlQ29sb3IpKTsKK30KKwogUmVmUHRyPFN0eWxlUnVsZUtleWZyYW1lcz4gQ1NT
UGFyc2VySW1wbDo6Y29uc3VtZUtleWZyYW1lc1J1bGUoYm9vbCB3ZWJraXRQcmVmaXhlZCwgQ1NT
UGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKQogewog
ICAgIENTU1BhcnNlclRva2VuUmFuZ2UgcmFuZ2VDb3B5ID0gcHJlbHVkZTsgLy8gRm9yIGluc3Bl
Y3RvciBjYWxsYmFja3MKQEAgLTk2MSw3ICsxMDE0LDcgQEAgdm9pZCBDU1NQYXJzZXJJbXBsOjpj
b25zdW1lRGVjbGFyYXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgU3R5bGVSdWxlVHlw
ZQogICAgICAgICBjb25zdW1lQ3VzdG9tUHJvcGVydHlWYWx1ZShyYW5nZS5tYWtlU3ViUmFuZ2Uo
JnJhbmdlLnBlZWsoKSwgZGVjbGFyYXRpb25WYWx1ZUVuZCksIHZhcmlhYmxlTmFtZSwgaW1wb3J0
YW50KTsKICAgICB9CiAKLSAgICBpZiAoaW1wb3J0YW50ICYmIChydWxlVHlwZSA9PSBTdHlsZVJ1
bGVUeXBlOjpGb250RmFjZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpLZXlmcmFtZSB8
fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpDb3VudGVyU3R5bGUpKQorICAgIGlmIChpbXBv
cnRhbnQgJiYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkZvbnRGYWNlIHx8IHJ1bGVUeXBl
ID09IFN0eWxlUnVsZVR5cGU6OktleWZyYW1lIHx8IHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6
OkNvdW50ZXJTdHlsZSB8fCBydWxlVHlwZSA9PSBTdHlsZVJ1bGVUeXBlOjpGb250UGFsZXR0ZVZh
bHVlcykpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChwcm9wZXJ0eUlEICE9IENTU1Byb3Bl
cnR5SW52YWxpZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFy
c2VySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmgKaW5k
ZXggMTZjNGMzZDE5ZjUwOGMxMDIxZjUxYjRjMzViNzQwNTlkZTUwNDU0Ny4uZTI1ZmU1ZTJhNzUy
OGNhYjQzNGE5ZWViODZhOGQxY2Q3YWZhYTNhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJbXBsLmgKQEAgLTEsNSArMSw1IEBACiAvLyBDb3B5cmlnaHQgMjAxNCBUaGUg
Q2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIENvcHlyaWdodCAoQykg
MjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAo
QykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vCiAvLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTUxLDYgKzUxLDcgQEAgY2xhc3MgU3R5bGVSdWxl
OwogY2xhc3MgU3R5bGVSdWxlQmFzZTsKIGNsYXNzIFN0eWxlUnVsZUNoYXJzZXQ7CiBjbGFzcyBT
dHlsZVJ1bGVGb250RmFjZTsKK2NsYXNzIFN0eWxlUnVsZUZvbnRQYWxldHRlVmFsdWVzOwogY2xh
c3MgU3R5bGVSdWxlSW1wb3J0OwogY2xhc3MgU3R5bGVSdWxlS2V5ZnJhbWVzOwogY2xhc3MgU3R5
bGVSdWxlTGF5ZXI7CkBAIC0xMzMsNiArMTM0LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8U3R5
bGVSdWxlU3VwcG9ydHM+IGNvbnN1bWVTdXBwb3J0c1J1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBw
cmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVSdWxl
Vmlld3BvcnQ+IGNvbnN1bWVWaWV3cG9ydFJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRl
LCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVSdWxlRm9udEZh
Y2U+IGNvbnN1bWVGb250RmFjZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQ
YXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKKyAgICBSZWZQdHI8U3R5bGVSdWxlRm9udFBhbGV0dGVW
YWx1ZXM+IGNvbnN1bWVGb250UGFsZXR0ZVZhbHVlc1J1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBw
cmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVSdWxl
S2V5ZnJhbWVzPiBjb25zdW1lS2V5ZnJhbWVzUnVsZShib29sIHdlYmtpdFByZWZpeGVkLCBDU1NQ
YXJzZXJUb2tlblJhbmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwogICAg
IFJlZlB0cjxTdHlsZVJ1bGVQYWdlPiBjb25zdW1lUGFnZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKTsKICAgICBSZWZQdHI8U3R5bGVS
dWxlQ291bnRlclN0eWxlPiBjb25zdW1lQ291bnRlclN0eWxlUnVsZShDU1NQYXJzZXJUb2tlblJh
bmdlIHByZWx1ZGUsIENTU1BhcnNlclRva2VuUmFuZ2UgYmxvY2spOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAppbmRleCAwNmFhZTU1ZmE4Nzhh
ZmQ4OGNhOWRjNmUzNmU1MTQ5YjgxYjlkNDAyLi5lZDMyNGQ5NGJhOTUzYTVlMDk4YjNmZTQ2ZmFi
YWRkMjM3MzI5MWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3Bl
cnR5UGFyc2VyLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkNTU0N1c3RvbVByb3Bl
cnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNyY1ZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTRm9udEZlYXR1cmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0ZvbnRQYWxldHRlVmFsdWVzT3Zl
cnJpZGVDb2xvclZhbHVlLmgiCiAjaWYgRU5BQkxFKFZBUklBVElPTl9GT05UUykKICNpbmNsdWRl
ICJDU1NGb250VmFyaWF0aW9uVmFsdWUuaCIKICNlbmRpZgpAQCAtMjMzLDYgKzIzNCw4IEBAIGJv
b2wgQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlE
LCBib29sIGltcG9ydGFudCwgY29uCiAKICAgICBpZiAocnVsZVR5cGUgPT0gU3R5bGVSdWxlVHlw
ZTo6Rm9udEZhY2UpCiAgICAgICAgIHBhcnNlU3VjY2VzcyA9IHBhcnNlci5wYXJzZUZvbnRGYWNl
RGVzY3JpcHRvcihwcm9wZXJ0eUlEKTsKKyAgICBlbHNlIGlmIChydWxlVHlwZSA9PSBTdHlsZVJ1
bGVUeXBlOjpGb250UGFsZXR0ZVZhbHVlcykKKyAgICAgICAgcGFyc2VTdWNjZXNzID0gcGFyc2Vy
LnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKHByb3BlcnR5SUQpOwogICAgIGVsc2Ug
aWYgKHJ1bGVUeXBlID09IFN0eWxlUnVsZVR5cGU6OkNvdW50ZXJTdHlsZSkKICAgICAgICAgcGFy
c2VTdWNjZXNzID0gcGFyc2VyLnBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihwcm9wZXJ0eUlE
LCBjb250ZXh0KTsKICAgICBlbHNlCkBAIC00ODM0LDYgKzQ4MzcsNjMgQEAgYm9vbCBDU1NQcm9w
ZXJ0eVBhcnNlcjo6cGFyc2VGb250RmFjZURlc2NyaXB0b3IoQ1NTUHJvcGVydHlJRCBwcm9wSWQp
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+
IGNvbnN1bWVCYXNlUGFsZXR0ZURlc2NyaXB0b3IoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2Up
Cit7CisgICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgPT0gU3RyaW5nVG9rZW4pCisgICAgICAg
IHJldHVybiBjb25zdW1lU3RyaW5nKHJhbmdlKTsKKyAgICByZXR1cm4gY29uc3VtZUludGVnZXIo
cmFuZ2UpOworfQorCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlTGlzdD4gY29uc3VtZU92ZXJyaWRl
Q29sb3JEZXNjcmlwdG9yKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJz
ZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBD
U1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7CisgICAgZG8geworICAgICAgICBS
ZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGtleTsKKyAgICAgICAgaWYgKHJhbmdlLnBlZWsoKS50
eXBlKCkgPT0gU3RyaW5nVG9rZW4pCisgICAgICAgICAgICBrZXkgPSBjb25zdW1lU3RyaW5nKHJh
bmdlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAga2V5ID0gY29uc3VtZUludGVnZXIocmFu
Z2UpOworICAgICAgICBpZiAoIWtleSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgICAgIGF1dG8gY29sb3IgPSBjb25zdW1lQ29sb3IocmFuZ2UsIGNvbnRleHQpOworICAgICAg
ICBpZiAoIWNvbG9yKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgUmVm
UHRyPENTU1ZhbHVlPiB2YWx1ZSA9IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvclZh
bHVlOjpjcmVhdGUoa2V5LnJlbGVhc2VOb25OdWxsKCksIGNvbG9yLnJlbGVhc2VOb25OdWxsKCkp
OworICAgICAgICBsaXN0LT5hcHBlbmQodmFsdWUucmVsZWFzZU5vbk51bGwoKSk7CisgICAgfSB3
aGlsZSAoY29uc3VtZUNvbW1hSW5jbHVkaW5nV2hpdGVzcGFjZShyYW5nZSkpOworICAgIAorICAg
IGlmICghcmFuZ2UuYXRFbmQoKSB8fCAhbGlzdC0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgcmV0dXJuIGxpc3Q7Cit9CisKK2Jvb2wgQ1NTUHJvcGVydHlQYXJzZXI6
OnBhcnNlRm9udFBhbGV0dGVWYWx1ZXNEZXNjcmlwdG9yKENTU1Byb3BlcnR5SUQgcHJvcElkKQor
eworICAgIFJlZlB0cjxDU1NWYWx1ZT4gcGFyc2VkVmFsdWU7CisgICAgc3dpdGNoIChwcm9wSWQp
IHsKKyAgICBjYXNlIENTU1Byb3BlcnR5Rm9udEZhbWlseToKKyAgICAgICAgcGFyc2VkVmFsdWUg
PSBjb25zdW1lRmFtaWx5TmFtZShtX3JhbmdlKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBD
U1NQcm9wZXJ0eUJhc2VQYWxldHRlOgorICAgICAgICBwYXJzZWRWYWx1ZSA9IGNvbnN1bWVCYXNl
UGFsZXR0ZURlc2NyaXB0b3IobV9yYW5nZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NT
UHJvcGVydHlPdmVycmlkZUNvbG9yOgorICAgICAgICBwYXJzZWRWYWx1ZSA9IGNvbnN1bWVPdmVy
cmlkZUNvbG9yRGVzY3JpcHRvcihtX3JhbmdlLCBtX2NvbnRleHQpOworICAgICAgICBicmVhazsK
KyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoIXBhcnNlZFZh
bHVlIHx8ICFtX3JhbmdlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGFk
ZFByb3BlcnR5KHByb3BJZCwgQ1NTUHJvcGVydHlJbnZhbGlkLCAqcGFyc2VkVmFsdWUsIGZhbHNl
KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6Y29uc3Vt
ZVN5c3RlbUZvbnQoYm9vbCBpbXBvcnRhbnQpCiB7CiAgICAgQ1NTVmFsdWVJRCBzeXN0ZW1Gb250
SUQgPSBtX3JhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCkuaWQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuaAppbmRleCAyN2FjMzU5Mzdj
YzJmYTVhYzdjMmYyMzA0MGUzMDEwYjUwODE3MTM5Li5kODc0MDk4ZmRjNDg5ZTJlYzRhYzVlMTYz
YWQ0ZTFlMmQ5MjNjYWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9w
ZXJ0eVBhcnNlci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwMyBM
YXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAy
MDA2LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNCAtIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5v
cmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgLSAyMDEwICBUb3JjaCBNb2JpbGUgKEJlaWppbmcp
IENvLiBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtNzMsNiArNzMsNyBAQCBwcml2
YXRlOgogCiAgICAgYm9vbCBwYXJzZVZpZXdwb3J0RGVzY3JpcHRvcihDU1NQcm9wZXJ0eUlEIHBy
b3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogICAgIGJvb2wgcGFyc2VGb250RmFjZURlc2NyaXB0b3Io
Q1NTUHJvcGVydHlJRCk7CisgICAgYm9vbCBwYXJzZUZvbnRQYWxldHRlVmFsdWVzRGVzY3JpcHRv
cihDU1NQcm9wZXJ0eUlEKTsKICAgICBib29sIHBhcnNlQ291bnRlclN0eWxlRGVzY3JpcHRvcihD
U1NQcm9wZXJ0eUlELCBjb25zdCBDU1NQYXJzZXJDb250ZXh0Jik7CiAKICAgICB2b2lkIGFkZFBy
b3BlcnR5KENTU1Byb3BlcnR5SUQsIENTU1Byb3BlcnR5SUQsIFJlZjxDU1NWYWx1ZT4mJiwgYm9v
bCBpbXBvcnRhbnQsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGFsZXR0ZVZhbHVlcy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
ZjYwZDdkNTBjZWZhYTc5NTI1ZGE0MTYzZDhhZTlkNTc5Njg3YWIwCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBhbGV0dGVWYWx1ZXMuaApA
QCAtMCwwICsxLDg2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJD
b2xvci5oIgorI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBGb250UGFsZXR0ZVZhbHVlcyB7CitwdWJsaWM6CisgICAgdXNpbmcgUGFsZXR0
ZUluZGV4ID0gVmFyaWFudDxpbnQ2NF90LCBBdG9tU3RyaW5nPjsKKyAgICB1c2luZyBQYWxldHRl
Q29sb3JJbmRleCA9IFZhcmlhbnQ8QXRvbVN0cmluZywgaW50NjRfdD47CisgICAgdXNpbmcgT3Zl
cnJpZGRlbkNvbG9yID0gc3RkOjpwYWlyPFBhbGV0dGVDb2xvckluZGV4LCBDb2xvcj47CisKKyAg
ICBGb250UGFsZXR0ZVZhbHVlcygpID0gZGVmYXVsdDsKKworICAgIEZvbnRQYWxldHRlVmFsdWVz
KGNvbnN0IFBhbGV0dGVJbmRleCYgYmFzZVBhbGV0dGUsIFZlY3RvcjxPdmVycmlkZGVuQ29sb3I+
JiYgb3ZlcnJpZGVDb2xvcikKKyAgICAgICAgOiBtX2Jhc2VQYWxldHRlKGJhc2VQYWxldHRlKQor
ICAgICAgICAsIG1fb3ZlcnJpZGVDb2xvcihXVEZNb3ZlKG92ZXJyaWRlQ29sb3IpKQorICAgIHsK
KyAgICB9CisKKyAgICBjb25zdCBQYWxldHRlSW5kZXgmIGJhc2VQYWxldHRlKCkgY29uc3QKKyAg
ICB7CisgICAgICAgIHJldHVybiBtX2Jhc2VQYWxldHRlOworICAgIH0KKworICAgIHZvaWQgc2V0
QmFzZVBhbGV0dGUoY29uc3QgUGFsZXR0ZUluZGV4JiBiYXNlUGFsZXR0ZSkKKyAgICB7CisgICAg
ICAgIG1fYmFzZVBhbGV0dGUgPSBiYXNlUGFsZXR0ZTsKKyAgICB9CisKKyAgICBjb25zdCBWZWN0
b3I8T3ZlcnJpZGRlbkNvbG9yPiYgb3ZlcnJpZGVDb2xvcigpIGNvbnN0CisgICAgeworICAgICAg
ICByZXR1cm4gbV9vdmVycmlkZUNvbG9yOworICAgIH0KKworICAgIHZvaWQgYXBwZW5kT3ZlcnJp
ZGVDb2xvcihPdmVycmlkZGVuQ29sb3ImJiBvdmVycmlkZGVuQ29sb3IpCisgICAgeworICAgICAg
ICBtX292ZXJyaWRlQ29sb3IuYXBwZW5kKG92ZXJyaWRkZW5Db2xvcik7CisgICAgfQorCisgICAg
dm9pZCBjbGVhck92ZXJyaWRlQ29sb3IoKQorICAgIHsKKyAgICAgICAgbV9vdmVycmlkZUNvbG9y
LmNsZWFyKCk7CisgICAgfQorCisgICAgYm9vbCByZW1vdmUodW5zaWduZWQga2V5KQorICAgIHsK
KyAgICAgICAgcmV0dXJuIG1fb3ZlcnJpZGVDb2xvci5yZW1vdmVBbGxNYXRjaGluZyhba2V5XShj
b25zdCBPdmVycmlkZGVuQ29sb3ImIG92ZXJyaWRkZW5Db2xvcikgLT4gYm9vbCB7CisgICAgICAg
ICAgICByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxpbnQ2NF90PihvdmVycmlkZGVuQ29s
b3IuZmlyc3QpICYmIFdURjo6Z2V0PGludDY0X3Q+KG92ZXJyaWRkZW5Db2xvci5maXJzdCkgPT0g
a2V5OworICAgICAgICB9KTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgUGFsZXR0ZUluZGV4IG1f
YmFzZVBhbGV0dGU7CisgICAgVmVjdG9yPE92ZXJyaWRkZW5Db2xvcj4gbV9vdmVycmlkZUNvbG9y
OworfTsKKworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNGIwNTU0Mzk5N2Fk
ZWZmZWE1NjRhZGMzYjMwYTY5MDEyMDcyNzhlOC4uMmY0NDE3YzA5Yzc1YWJkYmRjODNmYjAzY2Jm
MWJjZTIyNTA4ODNhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMjEtMDktMjAgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNv
bT4KKworICAgICAgICBQYXJzaW5nIHN1cHBvcnQgZm9yIGZvbnQtcGFsZXR0ZS12YWx1ZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDMzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXNlIGFyZSBi
ZWluZyB1cHN0cmVhbWVkIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMv
d3B0L3B1bGwvMzA4NDAuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
b250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZv
bnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxl
dHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxp
ZC5odG1sOiBBZGRlZC4KKwogMjAyMS0wOS0yMCAgTmlrb3MgTW91Y2h0YXJpcyAgPG5tb3VjaHRh
cmlzQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgZXhwLGxvZyBmdW5jdGlvbnMgY2Fs
YyBmdW5jdGlvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy9pZGxo
YXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCA0ZWNiYjMzZjhhOTNkOWUyYTI2MWQwNzJhZjg2MTRi
YTVlODYwYTJkLi5iNDhkOWIyNmNmZTU1NDY3OTQ1Mzg1Zjg1NDVmZDlmMzU3ZjRmNmM4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZm9udHMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL2lkbGhhcm5lc3MtZXhwZWN0
ZWQudHh0CkBAIC0xNiw3ICsxNiw3IEBAIFBBU1MgQ1NTRm9udEZhY2VSdWxlIG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgY3NzRm9udEZhY2VSdWxlCiBQQVNTIFN0cmluZ2lmaWNhdGlvbiBv
ZiBjc3NGb250RmFjZVJ1bGUKIFBBU1MgQ1NTRm9udEZhY2VSdWxlIGludGVyZmFjZTogY3NzRm9u
dEZhY2VSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3R5bGUiIHdpdGggdGhlIHByb3BlciB0
eXBlCiBGQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NGb250RmFjZVJ1bGUgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJGT05UX0ZFQVRVUkVfVkFMVUVTX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBl
IGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgIkZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSIgbm90
IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogY3NzRm9u
dEZhY2VSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxF
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJGT05UX1BB
TEVUVEVfVkFMVUVTX1JVTEUiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgQ1NT
UnVsZSBpbnRlcmZhY2U6IGNzc0ZvbnRGYWNlUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZP
TlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMTUgYnV0IGdvdCAxOQogRkFJTCBDU1NGb250RmVhdHVyZVZhbHVlc1J1bGUg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NG
b250RmVhdHVyZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZh
bHVlc1J1bGUiIG1pc3NpbmcKIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNSdWxlIGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkg
IkNTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIgbWlzc2luZwogRkFJTCBDU1NGb250RmVhdHVyZVZh
bHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIgZXhw
ZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzUnVsZSIgbWlzc2luZwpAQCAtMzcs
MTggKzM3LDE4IEBAIEZBSUwgQ1NTRm9udEZlYXR1cmVWYWx1ZXNNYXAgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByCiBGQUlMIENTU0ZvbnRGZWF0dXJl
VmFsdWVzTWFwIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZh
bHVlc01hcCIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIiBtaXNz
aW5nCiBGQUlMIENTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxl
cyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc01hcCIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0Zv
bnRGZWF0dXJlVmFsdWVzTWFwIiBtaXNzaW5nCiBGQUlMIENTU0ZvbnRGZWF0dXJlVmFsdWVzTWFw
IGludGVyZmFjZTogb3BlcmF0aW9uIHNldChDU1NPTVN0cmluZywgKHVuc2lnbmVkIGxvbmcgb3Ig
c2VxdWVuY2U8dW5zaWduZWQgbG9uZz4pKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250RmVhdHVyZVZhbHVlc01hcCIgZXhwZWN0ZWQg
cHJvcGVydHkgIkNTU0ZvbnRGZWF0dXJlVmFsdWVzTWFwIiBtaXNzaW5nCi1GQUlMIENTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkg
IkNTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSIgbWlzc2luZwotRkFJTCBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlM
IENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
IiBtaXNzaW5nCi1GQUlMIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFs
ZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1
bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNv
bnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3Bl
cnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0
dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFsZXR0
ZVZhbHVlc1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUi
IG1pc3NpbmcKLUZBSUwgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogYXR0cmli
dXRlIGZvbnRGYW1pbHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAi
Q1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBiYXNlUGFsZXR0ZSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiIG1pc3Np
bmcKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1
ZXNSdWxlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0CitQQVNTIENTU0ZvbnRQYWxldHRlVmFsdWVzUnVsZSBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgZm9udEZhbWlseQorUEFTUyBDU1NGb250UGFsZXR0ZVZhbHVl
c1J1bGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYmFzZVBhbGV0dGUKIEZBSUwgQ1NTUnVsZSBpbnRl
cmZhY2U6IGNvbnN0YW50IEZPTlRfRkVBVFVSRV9WQUxVRVNfUlVMRSBvbiBpbnRlcmZhY2Ugb2Jq
ZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJGT05UX0ZFQVRVUkVf
VkFMVUVTX1JVTEUiIG1pc3NpbmcKIEZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZP
TlRfRkVBVFVSRV9WQUxVRVNfUlVMRSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19S
VUxFIiBtaXNzaW5nCi1GQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX1BBTEVU
VEVfVkFMVUVTX1JVTEUgb24gaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBl
eHBlY3RlZCBwcm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiBtaXNzaW5nCi1GQUlM
IENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUgb24g
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQg
cHJvcGVydHkgIkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSIgbWlzc2luZworRkFJTCBDU1NSdWxl
IGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIG9uIGludGVyZmFj
ZSBvYmplY3QgYXNzZXJ0X2VxdWFsczogcHJvcGVydHkgaGFzIHdyb25nIHZhbHVlIGV4cGVjdGVk
IDE1IGJ1dCBnb3QgMTkKK0ZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IEZPTlRfUEFM
RVRURV9WQUxVRVNfUlVMRSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfZXF1
YWxzOiBwcm9wZXJ0eSBoYXMgd3JvbmcgdmFsdWUgZXhwZWN0ZWQgMTUgYnV0IGdvdCAxOQogRkFJ
TCBDU1NSdWxlIGludGVyZmFjZTogY3NzUnVsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRf
RkVBVFVSRV9WQUxVRVNfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRz
OiBwcm9wZXJ0eSAiRk9OVF9GRUFUVVJFX1ZBTFVFU19SVUxFIiBub3QgZm91bmQgaW4gcHJvdG90
eXBlIGNoYWluCi1GQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NSdWxlIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiRk9OVF9QQUxFVFRFX1ZBTFVFU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIG5vdCBm
b3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNzc1J1bGUg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX1BBTEVUVEVfVkFMVUVTX1JVTEUiIHdpdGggdGhl
IHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDE1IGJ1dCBnb3QgMTkKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
b250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmM3MmU5YTUxZDVhYWJhZWM2MTcyZWExNDAzZjMzYzBjMDAxOTZiOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1mb250cy9wYXJzaW5nL2ZvbnQtcGFsZXR0ZS12YWx1ZXMtaW52YWxpZC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNiBAQAorCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDog
cGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVs
IDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMQorUEFTUyBDU1MgRm9udHMgTW9kdWxl
IExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMgorUEFTUyBDU1MgRm9udHMg
TW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMworUEFTUyBDU1Mg
Rm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNAorUEFT
UyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
NQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgNgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFs
ZXR0ZS12YWx1ZXMgNworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZv
bnQtcGFsZXR0ZS12YWx1ZXMgOAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNp
bmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgOQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6
IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTAKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBM
ZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDExCitQQVNTIENTUyBGb250cyBN
b2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxMgorUEFTUyBDU1Mg
Rm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTMKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMv
cGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLWludmFsaWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NzA1
NDJlZDg4YzRjOTMwN2MwYzUyMTljM2M0ZGU4NjhmZWNmYWUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRz
L3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy1pbnZhbGlkLmh0bWwKQEAgLTAsMCArMSwxODIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5DU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0
ZS12YWx1ZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLWZvbnRzLyNmb250LXBhbGV0dGUtdmFsdWVzIj4KKzxtZXRhIG5hbWU9ImFz
c2VydCIgY29udGVudD0iQGZvbnQtcGFsZXR0ZS12YWx1ZXMgaXMgcGFyc2VkIGNvcnJlY3RseS4i
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0
eWxlIGlkPSJzdHlsZSI+CitAZm9udC1wYWxldHRlLXZhbHVlcyB7Cit9CisKK0Bmb250LXBhbGV0
dGUtdmFsdWVzIEEgQiB7Cit9CisKKy8qIDAgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgewor
ICAgIGZvbnQtZmFtaWx5OiBhLCBiOworfQorCisvKiAxICovCitAZm9udC1wYWxldHRlLXZhbHVl
cyBBIHsKKyAgICBmb250LWZhbWlseTogMTsKK30KKworLyogMiAqLworQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgQSB7CisgICAgZm9udDogMTJweCBhOworfQorCisvKiAzICovCitAZm9udC1wYWxldHRl
LXZhbHVlcyBBIHsKKyAgICBiYXNlLXBhbGV0dGU6IDEgMjsKK30KKworLyogNCAqLworQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgYmFzZS1wYWxldHRlOiBpZGVudDsKK30KKworLyogNSAq
LworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgYmFzZS1wYWxldHRlOiAiYSIgImIiOwor
fQorCisvKiA2ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsKKyAgICBiYXNlLXBhbGV0dGU6
IDsKK30KKworLyogNyAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUt
Y29sb3I6IGlkZW50ICMxMjM7Cit9CisKKy8qIDggKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEg
eworICAgIG92ZXJyaWRlLWNvbG9yOiAwICJyZWQiOworfQorCisvKiA5ICovCitAZm9udC1wYWxl
dHRlLXZhbHVlcyBBIHsKKyAgICBvdmVycmlkZS1jb2xvcjogMCAjMTIzLCAxOworfQorCisvKiAx
MCAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQSB7CisgICAgb3ZlcnJpZGUtY29sb3I6IDsKK30K
KworLyogMTEgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAgIG92ZXJyaWRlLWNvbG9y
OiAwICMxMjMgMTsKK30KKworLyogMTIgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEEgeworICAg
IG92ZXJyaWRlLWNvbG9yOiAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dD4KK2xldCBydWxlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdHlsZSIpLnNoZWV0LmNz
c1J1bGVzOwordGVzdChmdW5jdGlvbigpIHsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGVzLmxlbmd0
aCwgMTMpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sw
XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMF07CisgICAgYXNzZXJ0X2VxdWFscyh0
ZXh0LmluZGV4T2YoImZvbnQtZmFtaWx5IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUu
Zm9udEZhbWlseSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQg
PSBydWxlc1sxXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMV07CisgICAgYXNzZXJ0
X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQtZmFtaWx5IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
bGV0IHRleHQgPSBydWxlc1syXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbMl07Cisg
ICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImZvbnQ6IiksIC0xKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgbGV0IHRleHQgPSBydWxlc1szXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbM107
CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7Cit9KTsKKwordGVzdChmdW5j
dGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzRdLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUg
PSBydWxlc1s0XTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRl
IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKK30pOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbNV0uY3NzVGV4dDsKKyAg
ICBsZXQgcnVsZSA9IHJ1bGVzWzVdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJi
YXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwg
IiIpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s2XS5j
c3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbNl07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0
LmluZGV4T2YoImJhc2UtcGFsZXR0ZSIpLCAtMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJh
c2VQYWxldHRlLCAiIik7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9
IHJ1bGVzWzddLmNzc1RleHQ7CisgICAgbGV0IHJ1bGUgPSBydWxlc1s3XTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3IiKSwgLTEpOworICAgIGFzc2VydF9l
cXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0
ZXh0ID0gcnVsZXNbOF0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzhdOworICAgIGFz
c2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7CisgICAgYXNz
ZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
bGV0IHRleHQgPSBydWxlc1s5XS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNbOV07Cisg
ICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yIiksIC0xKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsK
KyAgICBsZXQgdGV4dCA9IHJ1bGVzWzEwXS5jc3NUZXh0OworICAgIGxldCBydWxlID0gcnVsZXNb
MTBdOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAt
MSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1sxMV0uY3NzVGV4dDsKKyAgICBsZXQgcnVsZSA9
IHJ1bGVzWzExXTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29s
b3IiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOworCit0ZXN0
KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMTJdLmNzc1RleHQ7CisgICAgbGV0
IHJ1bGUgPSBydWxlc1sxMl07CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJy
aWRlLWNvbG9yIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1w
YWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUt
dmFsdWVzLXZhbGlkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjQ4MmZmYWYzNzRlMThiY2Rm
MjMwODgyOTYxZDkxMzFiOGQ1ZjE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1w
YWxldHRlLXZhbHVlcy12YWxpZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMiBAQAorCitQQVNT
IENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcwor
UEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1
ZXMgMQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0
ZS12YWx1ZXMgMgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQt
cGFsZXR0ZS12YWx1ZXMgMworUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcg
QGZvbnQtcGFsZXR0ZS12YWx1ZXMgNAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBh
cnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNQorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVs
IDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNgorUEFTUyBDU1MgRm9udHMgTW9kdWxl
IExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgNworUEFTUyBDU1MgRm9udHMg
TW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgOAorUEFTUyBDU1Mg
Rm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgOQorUEFT
UyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMg
MTAKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUt
dmFsdWVzIDExCitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1w
YWxldHRlLXZhbHVlcyAxMgorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcg
QGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTMKK1BBU1MgQ1NTIEZvbnRzIE1vZHVsZSBMZXZlbCA0OiBw
YXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE0CitQQVNTIENTUyBGb250cyBNb2R1bGUgTGV2
ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAxNQorUEFTUyBDU1MgRm9udHMgTW9k
dWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12YWx1ZXMgMTYKK1BBU1MgQ1NTIEZv
bnRzIE1vZHVsZSBMZXZlbCA0OiBwYXJzaW5nIEBmb250LXBhbGV0dGUtdmFsdWVzIDE3CitQQVNT
IENTUyBGb250cyBNb2R1bGUgTGV2ZWwgNDogcGFyc2luZyBAZm9udC1wYWxldHRlLXZhbHVlcyAx
OAorUEFTUyBDU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQtcGFsZXR0ZS12
YWx1ZXMgMTkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxp
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWZvbnRzL3BhcnNpbmcvZm9udC1wYWxldHRlLXZhbHVlcy12YWxpZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmM2Nzc0ZWZiYjE0OTMxZWJmNTA4MDhjM2NiMzVmYmZmOGExMzc5YjgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZm9udHMvcGFyc2luZy9mb250LXBhbGV0dGUtdmFsdWVzLXZhbGlkLmh0bWwKQEAgLTAsMCAr
MSwyMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5DU1MgRm9udHMgTW9kdWxlIExldmVsIDQ6IHBhcnNpbmcgQGZvbnQt
cGFsZXR0ZS12YWx1ZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2Ry
YWZ0cy5jc3N3Zy5vcmcvY3NzLWZvbnRzLyNmb250LXBhbGV0dGUtdmFsdWVzIj4KKzxtZXRhIG5h
bWU9ImFzc2VydCIgY29udGVudD0iQGZvbnQtcGFsZXR0ZS12YWx1ZXMgaXMgcGFyc2VkIGNvcnJl
Y3RseS4iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHN0eWxlIGlkPSJzdHlsZSI+CisvKiAwICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBBIHsK
K30KKworLyogMSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQiB7CisgICAgZm9udC13ZWlnaHQ6
IDQwMDsKK30KKworLyogMiAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgQyB7CisgICAgZm9udC1m
YW1pbHk6IGZvbzsKKyAgICBmb250LWZhbWlseTogYmFyOworICAgIGJhc2UtcGFsZXR0ZTogMTsK
KyAgICBiYXNlLXBhbGV0dGU6ICJiYXoiOworICAgIGJhc2UtcGFsZXR0ZTogMjsKKyAgICBvdmVy
cmlkZS1jb2xvcjogImEiICMxMjM7CisgICAgb3ZlcnJpZGUtY29sb3I6IDMgIzEyMzsKKyAgICBv
dmVycmlkZS1jb2xvcjogImIiICMxMjM7Cit9CisKKy8qIDMgKi8KK0Bmb250LXBhbGV0dGUtdmFs
dWVzIEQgeworICAgIGJhc2UtcGFsZXR0ZTogImZvbyI7CisgICAgYmFzZS1wYWxldHRlOiAxOwor
ICAgIGJhc2UtcGFsZXR0ZTogImJhciI7CisgICAgb3ZlcnJpZGUtY29sb3I6IDMgIzEyMzsKKyAg
ICBvdmVycmlkZS1jb2xvcjogImJheiIgIzEyMzsKKyAgICBvdmVycmlkZS1jb2xvcjogNCAjMTIz
OworfQorCisvKiA0ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBFIHsKKyAgICBvdmVycmlkZS1j
b2xvcjogMyByZ2IoMTcsIDM0LCA1MSk7CisgICAgb3ZlcnJpZGUtY29sb3I6IDMgcmdiKDY4LCA4
NSwgMTAyKTsKK30KKworLyogNSAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgRiB7CisgICAgZm9u
dC1mYW1pbHk6ICJmb28iOworfQorCisvKiA2ICovCitAZm9udC1wYWxldHRlLXZhbHVlcyBHIHsK
KyAgICBvdmVycmlkZS1jb2xvcjogMyByZ2IoMTcsIDM0LCA1MSksIDQgcmdiKDY4LCA4NSwgMTAy
KTsKK30KKworLyogNyAqLworQGZvbnQtcGFsZXR0ZS12YWx1ZXMgSCB7CisgICAgb3ZlcnJpZGUt
Y29sb3I6IDMgcmdiKDE3LCAzNCwgNTEpLCAzIHJnYig2OCwgODUsIDEwMik7Cit9CisKKy8qIDgg
Ki8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEkgeworICAgIGJhc2UtcGFsZXR0ZTogLTM7Cit9CisK
Ky8qIDkgKi8KK0Bmb250LXBhbGV0dGUtdmFsdWVzIEogeworICAgIG92ZXJyaWRlLWNvbG9yOiAt
MyByZ2IoMTcsIDM0LCA1MSk7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
PgorbGV0IHJ1bGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0eWxlIikuc2hlZXQuY3Nz
UnVsZXM7Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMF0uY3NzVGV4
dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIkBmb250LXBhbGV0dGUtdmFs
dWVzICIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCIgQSAiKSwg
LTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigieyIpLCAtMSk7CisgICAg
YXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRleE9mKCJ9IiksIC0xKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHkiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHMo
dGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGUiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4
dC5pbmRleE9mKCJvdmVycmlkZS1jb2xvciIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzBdOworICAgIGFzc2VydF9lcXVhbHMocnVsZS50eXBl
LCBDU1NSdWxlLkZPTlRfUEFMRVRURV9WQUxVRVNfUlVMRSk7CisgICAgYXNzZXJ0X2VxdWFscyhy
dWxlLmNvbnN0cnVjdG9yLm5hbWUsICJDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUiKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVs
ZS5iYXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30p
OworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMV0uY3NzVGV4dDsK
KyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC13ZWlnaHQiKSwgLTEpOworfSk7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1sxXTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5i
YXNlUGFsZXR0ZSwgIiIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5zaXplLCAwKTsKK30pOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbMl0uY3NzVGV4dDsKKyAg
ICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHk6IGZvbzsiKSwgLTEpOwor
ICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiZm9udC1mYW1pbHk6IGJhcjsiKSwg
LTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6IDE7Iiks
IC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiBcImJh
elwiIiksIC0xKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoImJhc2UtcGFs
ZXR0ZTogMjsiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJvdmVycmlk
ZS1jb2xvcjogXCJhXCIiKSwgLTEpOworICAgIGFzc2VydF9lcXVhbHModGV4dC5pbmRleE9mKCJv
dmVycmlkZS1jb2xvcjogMyIpLCAtMSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHModGV4dC5pbmRl
eE9mKCJvdmVycmlkZS1jb2xvcjogXCJiXCIiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgICAgbGV0IHJ1bGUgPSBydWxlc1syXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9u
dEZhbWlseSwgImJhciIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgIjIi
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6ZSwgMCk7Cit9KTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzNdLmNzc1RleHQ7CisgICAgYXNzZXJ0X2VxdWFs
cyh0ZXh0LmluZGV4T2YoImJhc2UtcGFsZXR0ZTogXCJmb29cIjsiKSwgLTEpOworICAgIGFzc2Vy
dF9lcXVhbHModGV4dC5pbmRleE9mKCJiYXNlLXBhbGV0dGU6IDEiKSwgLTEpOworICAgIGFzc2Vy
dF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRlOiBcImJhclwiOyIpLCAtMSk7
CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRlLWNvbG9yOiAzIiksIC0x
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUtY29sb3I6IFwiYmF6
XCIiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigib3ZlcnJpZGUt
Y29sb3I6IDQiKSwgLTEpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHJ1bGUg
PSBydWxlc1szXTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZm9udEZhbWlseSwgIiIpOworICAg
IGFzc2VydF9lcXVhbHMocnVsZS5iYXNlUGFsZXR0ZSwgImJhciIpOworICAgIGFzc2VydF9lcXVh
bHMocnVsZS5zaXplLCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDcpLCB1bmRlZmlu
ZWQpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHJ1bGUuZ2V0KDQpLmluZGV4T2YoInJnYiIpLCAt
MSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQgdGV4dCA9IHJ1bGVzWzRdLmNz
c1RleHQ7CisgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LmluZGV4T2YoIjUxIiksIC0xKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjEwMiIpLCAtMSk7Cit9KTsKKwordGVzdChm
dW5jdGlvbigpIHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzRdOworICAgIGFzc2VydF9lcXVhbHMo
cnVsZS5mb250RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRl
LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOworICAgIGFzc2VydF9lcXVh
bHMocnVsZS5nZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMocnVsZS5n
ZXQoMykuaW5kZXhPZigiMTAyIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAg
IGxldCB0ZXh0ID0gcnVsZXNbNV0uY3NzVGV4dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0
LmluZGV4T2YoImZvbyIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICBsZXQg
cnVsZSA9IHJ1bGVzWzVdOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250RmFtaWx5LCAiZm9v
Iik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7CisgICAgYXNzZXJ0
X2VxdWFscyhydWxlLnNpemUsIDApOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0
IHRleHQgPSBydWxlc1s2XS5jc3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5k
ZXhPZigiNTEiKSwgLTEpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiMTAy
IiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNb
Nl07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuc2l6
ZSwgMik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyhydWxlLmdldCgzKS5pbmRleE9mKCI1MSIpLCAtMSk7CisgICAgYXNz
ZXJ0X25vdF9lcXVhbHMocnVsZS5nZXQoNCkuaW5kZXhPZigiMTAyIiksIC0xKTsKK30pOworCit0
ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNbN10uY3NzVGV4dDsKKyAgICBh
c3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIjUxIiksIC0xKTsKKyAgICBhc3NlcnRfbm90
X2VxdWFscyh0ZXh0LmluZGV4T2YoIjEwMiIpLCAtMSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgICBsZXQgcnVsZSA9IHJ1bGVzWzddOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5mb250
RmFtaWx5LCAiIik7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmJhc2VQYWxldHRlLCAiIik7Cisg
ICAgYXNzZXJ0X2VxdWFscyhydWxlLnNpemUsIDEpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5n
ZXQoNyksIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMocnVsZS5nZXQoMykuaW5k
ZXhPZigiMTAyIiksIC0xKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KDQpLCB1bmRlZmlu
ZWQpOworfSk7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHRleHQgPSBydWxlc1s4XS5j
c3NUZXh0OworICAgIGFzc2VydF9ub3RfZXF1YWxzKHRleHQuaW5kZXhPZigiYmFzZS1wYWxldHRl
IiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0gcnVsZXNb
OF07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICItMyIpOworICAgIGFzc2VydF9lcXVhbHMocnVsZS5z
aXplLCAwKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCB0ZXh0ID0gcnVsZXNb
OV0uY3NzVGV4dDsKKyAgICBhc3NlcnRfbm90X2VxdWFscyh0ZXh0LmluZGV4T2YoIm92ZXJyaWRl
LWNvbG9yIiksIC0xKTsKK30pOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGxldCBydWxlID0g
cnVsZXNbOV07CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmZvbnRGYW1pbHksICIiKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJ1bGUuYmFzZVBhbGV0dGUsICIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJ1
bGUuc2l6ZSwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhydWxlLmdldCg3KSwgdW5kZWZpbmVkKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJ1bGUuZ2V0KC0zKSwgdW5kZWZpbmVkKTsKK30pOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="462269"
          type_id="1"
          status="+"
          setter="koivisto"
    />
    <flag name="commit-queue"
          id="462283"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>