<?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>214379</bug_id>
          
          <creation_ts>2020-07-15 14:33:42 -0700</creation_ts>
          <short_desc>Support export namespace `export * as ns`</short_desc>
          <delta_ts>2020-09-17 03:30:24 -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>JavaScriptCore</component>
          <version>Safari Technology Preview</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Huáng Jùnliàng">jlhwung</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1671942</commentid>
    <comment_count>0</comment_count>
    <who name="Huáng Jùnliàng">jlhwung</who>
    <bug_when>2020-07-15 14:33:42 -0700</bug_when>
    <thetext>`export * as ns` is included in ES2020.

Expect: it works on Safari

Actual: Safari TP 109 throws warning that missing &quot;from&quot; after `*`.

Spec PR: https://github.com/tc39/ecma262/pull/1174</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672333</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-16 18:04:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/65699863&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689044</commentid>
    <comment_count>2</comment_count>
      <attachid>408905</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-16 01:33:31 -0700</bug_when>
    <thetext>Created attachment 408905
Patch

WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689336</commentid>
    <comment_count>3</comment_count>
      <attachid>408990</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-16 22:26:35 -0700</bug_when>
    <thetext>Created attachment 408990
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689345</commentid>
    <comment_count>4</comment_count>
      <attachid>408990</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-09-16 23:27:55 -0700</bug_when>
    <thetext>Comment on attachment 408990
Patch

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

r=me. Thanks for the extra explanation over Slack.

&gt; Source/JavaScriptCore/parser/NodesAnalyzeModule.cpp:89
&gt; +            // export { * as v } from &quot;mod&quot;

This form can&apos;t use braces though, right?

&gt; Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp:779
&gt; +    // Materialize *namespace* slot with module namespace object.
&gt; +    // If module environment is not yet materialized, we will materialize it when materializing module environment.

The &quot;it&quot; here is a bit confusing upon first read. Maybe something like &quot;...unless the module environment is not yet materialized, in which case we&apos;ll do it in setModuleEnvironment&quot;?

&gt; Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp:782
&gt; +        bool putResult = false;
&gt; +        symbolTablePutTouchWatchpointSet(m_moduleEnvironment.get(), globalObject, vm.propertyNames-&gt;starNamespacePrivateName, moduleNamespaceObject, /* shouldThrowReadOnlyError */ false, /* ignoreReadOnlyErrors */ true, putResult);

nit: I know this is copied code, but it seems silly that one boolean is described using an identifier and the other two are described with block comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689381</commentid>
    <comment_count>5</comment_count>
      <attachid>409007</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-17 01:05:17 -0700</bug_when>
    <thetext>Created attachment 409007
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689384</commentid>
    <comment_count>6</comment_count>
      <attachid>409008</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-17 01:09:21 -0700</bug_when>
    <thetext>Created attachment 409008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689405</commentid>
    <comment_count>7</comment_count>
      <attachid>408990</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-17 03:27:51 -0700</bug_when>
    <thetext>Comment on attachment 408990
Patch

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

&gt;&gt; Source/JavaScriptCore/parser/NodesAnalyzeModule.cpp:89
&gt;&gt; +            // export { * as v } from &quot;mod&quot;
&gt; 
&gt; This form can&apos;t use braces though, right?

Right, fixed.

&gt;&gt; Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp:779
&gt;&gt; +    // If module environment is not yet materialized, we will materialize it when materializing module environment.
&gt; 
&gt; The &quot;it&quot; here is a bit confusing upon first read. Maybe something like &quot;...unless the module environment is not yet materialized, in which case we&apos;ll do it in setModuleEnvironment&quot;?

Sounds good!

&gt;&gt; Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp:782
&gt;&gt; +        symbolTablePutTouchWatchpointSet(m_moduleEnvironment.get(), globalObject, vm.propertyNames-&gt;starNamespacePrivateName, moduleNamespaceObject, /* shouldThrowReadOnlyError */ false, /* ignoreReadOnlyErrors */ true, putResult);
&gt; 
&gt; nit: I know this is copied code, but it seems silly that one boolean is described using an identifier and the other two are described with block comments.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689406</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-17 03:28:18 -0700</bug_when>
    <thetext>iOS-wk2 failures are unrelated.
https://ews-build.webkit.org/#/builders/24/builds/25994</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689408</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-17 03:30:24 -0700</bug_when>
    <thetext>Committed r267186: &lt;https://trac.webkit.org/changeset/267186&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408905</attachid>
            <date>2020-09-16 01:33:31 -0700</date>
            <delta_ts>2020-09-16 22:26:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214379-20200916013330.patch</filename>
            <type>text/plain</type>
            <size>12114</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
MWZkMmQxNGQ2ZGJkNjJmN2I0M2RhMjMzZTVjZGExMmVlZGYzM2NhLi42M2U1MDliYThjMmNkYTEw
MzhjMTNlNDk1N2UzMTQ3ODdlZTViZTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAyMC0wOS0xNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFN1cHBvcnQgZXhwb3J0IG5hbWVzcGFjZSBgZXhwb3J0ICogYXMgbnNgCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQzNzkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJ1aWx0aW5z
L0J1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRv
cik6CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVp
bGRlcjo6Y3JlYXRlRXhwb3J0QWxsRGVjbGFyYXRpb24pOgorICAgICAgICAqIHBhcnNlci9Ob2Rl
c0FuYWx5emVNb2R1bGUuY3BwOgorICAgICAgICAoSlNDOjpFeHBvcnROYW1lZERlY2xhcmF0aW9u
Tm9kZTo6YW5hbHl6ZU1vZHVsZSk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmF0aW9uKToKKyAg
ICAgICAgKiBydW50aW1lL0Fic3RyYWN0TW9kdWxlUmVjb3JkLmNwcDoKKyAgICAgICAgKEpTQzo6
QWJzdHJhY3RNb2R1bGVSZWNvcmQ6OkV4cG9ydEVudHJ5OjpjcmVhdGVOYW1lc3BhY2UpOgorICAg
ICAgICAoSlNDOjpBYnN0cmFjdE1vZHVsZVJlY29yZDo6cmVzb2x2ZUV4cG9ydEltcGwpOgorICAg
ICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50aW1lL0pT
RnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpuYW1lKToKKyAgICAgICAg
KEpTQzo6SlNGdW5jdGlvbjo6cmVpZnlOYW1lKToKKyAgICAgICAgKiBydW50aW1lL0pTTW9kdWxl
TmFtZXNwYWNlT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNNb2R1bGVOYW1lc3BhY2VPYmpl
Y3Q6OmdldE93blByb3BlcnR5U2xvdENvbW1vbik6CisKIDIwMjAtMDktMTUgIFNhYW0gQmFyYXRp
ICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgSlNJbW11dGFibGVCdXR0ZXJmbHk6Omdl
dCBuZWVkcyB0byByZXR1cm4ganNEb3VibGVOdW1iZXIgZm9yIGRvdWJsZSBhcnJheXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAppbmRleCAyYjVmOTAy
ODIwZWJlYjgxZDYyN2ZjMTZmYWVkN2Q5NDE3MWY1ZTQwLi5kMGExZGM5YWZkYTkwOTJlZDVmNDNi
ZGRhODc2NGRjOGM4OTMyNDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L0J1aWx0aW5OYW1lcy5oCkBAIC04Miw3ICs4Miw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIG1h
Y3JvKG9uUmVqZWN0ZWQpIFwKICAgICBtYWNybyhwdXNoKSBcCiAgICAgbWFjcm8ocmVwZWF0Q2hh
cmFjdGVyKSBcCi0gICAgbWFjcm8oc3RhckRlZmF1bHQpIFwKICAgICBtYWNybyhJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24pIFwKICAgICBtYWNybyhrZXlzKSBcCiAgICAgbWFjcm8odmFsdWVzKSBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuY3BwCmluZGV4IGIxYTU0OGExZmZiMDMzZjkxMTMxNzMxYWRjMGI1YThlYmU4
ZWExYTYuLmE2OGIyNWVhYjFhYzYxMjNkYTY5OWE1YTZkODM4M2NjMTI4ODQ5MWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5l
cmF0b3IuY3BwCkBAIC05NjAsNiArOTYwLDcgQEAgQnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2Rl
R2VuZXJhdG9yKFZNJiB2bSwgTW9kdWxlUHJvZ3JhbU5vZGUqIG1vZHVsZVByb2dyYW1Ob2QKICAg
ICAvLyBOb3cgZGVjbGFyZSBhbGwgdmFyaWFibGVzLgogCiAgICAgY3JlYXRlVmFyaWFibGUobV92
bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5tZXRhUHJpdmF0ZU5hbWUoKSwgVmFyS2lu
ZDo6U2NvcGUsIG1vZHVsZUVudmlyb25tZW50U3ltYm9sVGFibGUsIFZlcmlmeUV4aXN0aW5nKTsK
KyAgICBjcmVhdGVWYXJpYWJsZShtX3ZtLnByb3BlcnR5TmFtZXMtPnN0YXJOYW1lc3BhY2VQcml2
YXRlTmFtZSwgVmFyS2luZDo6U2NvcGUsIG1vZHVsZUVudmlyb25tZW50U3ltYm9sVGFibGUsIFZl
cmlmeUV4aXN0aW5nKTsKIAogICAgIGZvciAoYXV0byYgZW50cnkgOiBtb2R1bGVQcm9ncmFtTm9k
ZS0+dmFyRGVjbGFyYXRpb25zKCkpIHsKICAgICAgICAgQVNTRVJUKCFlbnRyeS52YWx1ZS5pc0xl
dCgpICYmICFlbnRyeS52YWx1ZS5pc0NvbnN0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL0FTVEJ1aWxkZXIuaAppbmRleCBjZDUzN2ZhZDY5NWM4YTQ4OWJmNzhkYTI4NWZiMmQyOTBj
MTE5NjY1Li5lNTE5NDExYjQyYThlZGMwZTU5OTI4M2ViMzc2YjliM2Y3YWNkMzljIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtODA5LDkgKzgwOSw5IEBA
IGNsYXNzIEFTVEJ1aWxkZXIgewogICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBJ
bXBvcnREZWNsYXJhdGlvbk5vZGUobG9jYXRpb24sIGltcG9ydFNwZWNpZmllckxpc3QsIG1vZHVs
ZU5hbWUpOwogICAgIH0KIAotICAgIFN0YXRlbWVudE5vZGUqIGNyZWF0ZUV4cG9ydEFsbERlY2xh
cmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIE1vZHVsZU5hbWVOb2RlKiBt
b2R1bGVOYW1lKQorICAgIFN0YXRlbWVudE5vZGUqIGNyZWF0ZUV4cG9ydEFsbERlY2xhcmF0aW9u
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIE1vZHVsZU5hbWVOb2RlKiBtb2R1bGVO
YW1lLCBjb25zdCBJZGVudGlmaWVyKiBleHBvcnRlZE5hbWUpCiAgICAgewotICAgICAgICByZXR1
cm4gbmV3IChtX3BhcnNlckFyZW5hKSBFeHBvcnRBbGxEZWNsYXJhdGlvbk5vZGUobG9jYXRpb24s
IG1vZHVsZU5hbWUpOworICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBFeHBvcnRB
bGxEZWNsYXJhdGlvbk5vZGUobG9jYXRpb24sIG1vZHVsZU5hbWUsIGV4cG9ydGVkTmFtZSk7CiAg
ICAgfQogCiAgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9u
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFN0YXRlbWVudE5vZGUqIGRlY2xhcmF0
aW9uLCBjb25zdCBJZGVudGlmaWVyJiBsb2NhbE5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzQW5hbHl6ZU1vZHVsZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL05vZGVzQW5hbHl6ZU1vZHVsZS5jcHAKaW5kZXggYWMwMDIwNGI4NmM1
ZDY2ZmZkM2E1YjhiMDIwZWE5OTQ4M2UyNmRhNi4uNTQxODhkZDU3MTY2OWJmYzhhNjM1NTc5Nzg0
OGMwYmJkNTU4N2E3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2Rlc0FuYWx5emVNb2R1bGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZXNBbmFseXplTW9kdWxlLmNwcApAQCAtODUsNyArODUsMTQgQEAgdm9pZCBFeHBvcnROYW1l
ZERlY2xhcmF0aW9uTm9kZTo6YW5hbHl6ZU1vZHVsZShNb2R1bGVBbmFseXplciYgYW5hbHl6ZXIp
CiAgICAgICAgICAgICAvLwogICAgICAgICAgICAgLy8gSW4gdGhpcyBjYXNlLCBubyBsb2NhbCB2
YXJpYWJsZSBuYW1lcyBhcmUgaW1wb3J0ZWQgaW50byB0aGUgY3VycmVudCBtb2R1bGUuCiAgICAg
ICAgICAgICAvLyAidiIgaW5kaXJlY3RseSBwb2ludHMgdGhlIGJpbmRpbmcgaW4gIm1vZCIuCi0g
ICAgICAgICAgICBhbmFseXplci5tb2R1bGVSZWNvcmQoKS0+YWRkRXhwb3J0RW50cnkoSlNNb2R1
bGVSZWNvcmQ6OkV4cG9ydEVudHJ5OjpjcmVhdGVJbmRpcmVjdChzcGVjaWZpZXItPmV4cG9ydGVk
TmFtZSgpLCBzcGVjaWZpZXItPmxvY2FsTmFtZSgpLCBtX21vZHVsZU5hbWUtPm1vZHVsZU5hbWUo
KSkpOworICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIC8vIGV4cG9ydCB7ICogYXMgdiB9IGZy
b20gIm1vZCIKKyAgICAgICAgICAgIC8vCisgICAgICAgICAgICAvLyBJZiBpdCBpcyBuYW1lc3Bh
Y2UgZXhwb3J0LCB3ZSBzaG91bGQgdXNlIGNyZWF0ZU5hbWVzcGFjZS4KKyAgICAgICAgICAgIGlm
IChzcGVjaWZpZXItPmxvY2FsTmFtZSgpID09IGFuYWx5emVyLnZtKCkucHJvcGVydHlOYW1lcy0+
c3Rhck5hbWVzcGFjZVByaXZhdGVOYW1lKQorICAgICAgICAgICAgICAgIGFuYWx5emVyLm1vZHVs
ZVJlY29yZCgpLT5hZGRFeHBvcnRFbnRyeShKU01vZHVsZVJlY29yZDo6RXhwb3J0RW50cnk6OmNy
ZWF0ZU5hbWVzcGFjZShzcGVjaWZpZXItPmV4cG9ydGVkTmFtZSgpLCBtX21vZHVsZU5hbWUtPm1v
ZHVsZU5hbWUoKSkpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGFuYWx5emVy
Lm1vZHVsZVJlY29yZCgpLT5hZGRFeHBvcnRFbnRyeShKU01vZHVsZVJlY29yZDo6RXhwb3J0RW50
cnk6OmNyZWF0ZUluZGlyZWN0KHNwZWNpZmllci0+ZXhwb3J0ZWROYW1lKCksIHNwZWNpZmllci0+
bG9jYWxOYW1lKCksIG1fbW9kdWxlTmFtZS0+bW9kdWxlTmFtZSgpKSk7CiAgICAgICAgIH0KICAg
ICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggYzdmOWJl
ODE0YzU1ZDI5NjNlNTdiZmU4NzQyMmRkYmY3NTE2NjFjNC4uNjYxOThmNDZiZWIwODM2NDNkMTMx
YTllZjRlNDY3ZTEwMjBiYjZlYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
LmNwcApAQCAtMzUzMSwxNCArMzUzMSwzMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYQogICAg
IHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIFRJTUVTOiB7CiAgICAgICAgIC8v
IGV4cG9ydCAqIEZyb21DbGF1c2UgOworICAgICAgICAvLyBleHBvcnQgKiBhcyBJZGVudGlmaWVy
TmFtZSBGcm9tQ2xhdXNlIDsKICAgICAgICAgbmV4dCgpOwogCisgICAgICAgIGNvbnN0IElkZW50
aWZpZXIqIGV4cG9ydGVkTmFtZSA9IG51bGxwdHI7CisgICAgICAgIGlmIChtYXRjaENvbnRleHR1
YWxLZXl3b3JkKG1fdm0ucHJvcGVydHlOYW1lcy0+YXMpKSB7CisgICAgICAgICAgICBuZXh0KCk7
CisgICAgICAgICAgICBmYWlsSWZGYWxzZShtYXRjaElkZW50aWZpZXJPcktleXdvcmQoKSwgIkV4
cGVjdGVkIGFuIGV4cG9ydGVkIG5hbWUgZm9yIHRoZSBleHBvcnQgZGVjbGFyYXRpb24iKTsKKyAg
ICAgICAgICAgIGV4cG9ydGVkTmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICAg
ICAgbmV4dCgpOworICAgICAgICB9CisKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hDb250ZXh0
dWFsS2V5d29yZChtX3ZtLnByb3BlcnR5TmFtZXMtPmZyb20pLCAiRXhwZWN0ZWQgJ2Zyb20nIGJl
Zm9yZSBleHBvcnRlZCBtb2R1bGUgbmFtZSIpOwogICAgICAgICBuZXh0KCk7CiAgICAgICAgIGF1
dG8gbW9kdWxlTmFtZSA9IHBhcnNlTW9kdWxlTmFtZShjb250ZXh0KTsKICAgICAgICAgZmFpbElm
RmFsc2UobW9kdWxlTmFtZSwgIkNhbm5vdCBwYXJzZSB0aGUgJ2Zyb20nIGNsYXVzZSIpOwogICAg
ICAgICBmYWlsSWZGYWxzZShhdXRvU2VtaUNvbG9uKCksICJFeHBlY3RlZCBhICc7JyBmb2xsb3dp
bmcgYSB0YXJnZXRlZCBleHBvcnQgZGVjbGFyYXRpb24iKTsKIAorICAgICAgICBpZiAoZXhwb3J0
ZWROYW1lKSB7CisgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGV4cG9ydE5hbWUoKmV4
cG9ydGVkTmFtZSksICJDYW5ub3QgZXhwb3J0IGEgZHVwbGljYXRlIG5hbWUgJyIsIGV4cG9ydGVk
TmFtZS0+aW1wbCgpLCAiJyIpOworICAgICAgICAgICAgYXV0byBzcGVjaWZpZXJMaXN0ID0gY29u
dGV4dC5jcmVhdGVFeHBvcnRTcGVjaWZpZXJMaXN0KCk7CisgICAgICAgICAgICBhdXRvIGxvY2Fs
TmFtZSA9ICZtX3ZtLnByb3BlcnR5TmFtZXMtPnN0YXJOYW1lc3BhY2VQcml2YXRlTmFtZTsKKyAg
ICAgICAgICAgIGF1dG8gc3BlY2lmaWVyID0gY29udGV4dC5jcmVhdGVFeHBvcnRTcGVjaWZpZXIo
c3BlY2lmaWVyTG9jYXRpb24sICpsb2NhbE5hbWUsICpleHBvcnRlZE5hbWUpOworICAgICAgICAg
ICAgY29udGV4dC5hcHBlbmRFeHBvcnRTcGVjaWZpZXIoc3BlY2lmaWVyTGlzdCwgc3BlY2lmaWVy
KTsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUV4cG9ydE5hbWVkRGVjbGFyYXRp
b24oZXhwb3J0TG9jYXRpb24sIHNwZWNpZmllckxpc3QsIG1vZHVsZU5hbWUpOworICAgICAgICB9
CisKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRXhwb3J0QWxsRGVjbGFyYXRpb24oZXhw
b3J0TG9jYXRpb24sIG1vZHVsZU5hbWUpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQWJzdHJhY3RNb2R1bGVSZWNvcmQuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQWJzdHJhY3RNb2R1bGVSZWNvcmQuY3BwCmluZGV4IGZlMGM5
YTJiODBlNmRmZjQxYzAxYmU4MDAwNDBhOTA3YmJlZTcyNzYuLjU5MDk1N2I4ZjdkNjdiMTg5NzZi
YzhmYWUzNGY5ZWVmN2I1ZDYyMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Fic3RyYWN0TW9kdWxlUmVjb3JkLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BYnN0cmFjdE1vZHVsZVJlY29yZC5jcHAKQEAgLTExOCw2ICsxMTgsMTEgQEAg
YXV0byBBYnN0cmFjdE1vZHVsZVJlY29yZDo6RXhwb3J0RW50cnk6OmNyZWF0ZUluZGlyZWN0KGNv
bnN0IElkZW50aWZpZXImIGV4cG9ydE4KICAgICByZXR1cm4gRXhwb3J0RW50cnkgeyBUeXBlOjpJ
bmRpcmVjdCwgZXhwb3J0TmFtZSwgbW9kdWxlTmFtZSwgaW1wb3J0TmFtZSwgSWRlbnRpZmllcigp
IH07CiB9CiAKK2F1dG8gQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OkV4cG9ydEVudHJ5OjpjcmVhdGVO
YW1lc3BhY2UoY29uc3QgSWRlbnRpZmllciYgZXhwb3J0TmFtZSwgY29uc3QgSWRlbnRpZmllciYg
bW9kdWxlTmFtZSkgLT4gRXhwb3J0RW50cnkKK3sKKyAgICByZXR1cm4gRXhwb3J0RW50cnkgeyBU
eXBlOjpOYW1lc3BhY2UsIGV4cG9ydE5hbWUsIG1vZHVsZU5hbWUsIElkZW50aWZpZXIoKSwgSWRl
bnRpZmllcigpIH07Cit9CisKIGF1dG8gQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OlJlc29sdXRpb246
Om5vdEZvdW5kKCkgLT4gUmVzb2x1dGlvbgogewogICAgIHJldHVybiBSZXNvbHV0aW9uIHsgVHlw
ZTo6Tm90Rm91bmQsIG51bGxwdHIsIElkZW50aWZpZXIoKSB9OwpAQCAtNjMxLDYgKzYzNiwxOCBA
QCBhdXRvIEFic3RyYWN0TW9kdWxlUmVjb3JkOjpyZXNvbHZlRXhwb3J0SW1wbChKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdAogICAgICAgICAgICAgICAgIHBlbmRpbmdUYXNrcy5h
cHBlbmQoVGFzayB7IFJlc29sdmVRdWVyeShpbXBvcnRlZE1vZHVsZVJlY29yZCwgZXhwb3J0RW50
cnkuaW1wb3J0TmFtZSksIFR5cGU6OlF1ZXJ5IH0pOwogICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjYXNlIEV4cG9ydEVudHJ5OjpUeXBlOjpO
YW1lc3BhY2U6IHsKKyAgICAgICAgICAgICAgICBBYnN0cmFjdE1vZHVsZVJlY29yZCogaW1wb3J0
ZWRNb2R1bGVSZWNvcmQgPSBtb2R1bGVSZWNvcmQtPmhvc3RSZXNvbHZlSW1wb3J0ZWRNb2R1bGUo
Z2xvYmFsT2JqZWN0LCBleHBvcnRFbnRyeS5tb2R1bGVOYW1lKTsKKyAgICAgICAgICAgICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBSZXNvbHV0aW9uOjplcnJvcigpKTsKKworICAgICAg
ICAgICAgICAgIFJlc29sdXRpb24gcmVzb2x1dGlvbiB7IFJlc29sdXRpb246OlR5cGU6OlJlc29s
dmVkLCBpbXBvcnRlZE1vZHVsZVJlY29yZCwgdm0ucHJvcGVydHlOYW1lcy0+c3Rhck5hbWVzcGFj
ZVByaXZhdGVOYW1lIH07CisgICAgICAgICAgICAgICAgLy8gIDIuIEEgbW9kdWxlIHRoYXQgaGFz
IHJlc29sdmVkIGEgbW9kdWxlIG5hbWVzcGFjZSBiaW5kaW5nIGlzIGFsd2F5cyBjYWNoZWFibGUu
CisgICAgICAgICAgICAgICAgY2FjaGVSZXNvbHV0aW9uRm9yUXVlcnkocXVlcnksIHJlc29sdXRp
b24pOworICAgICAgICAgICAgICAgIGlmICghbWVyZ2VUb0N1cnJlbnRUb3AocmVzb2x1dGlvbikp
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBSZXNvbHV0aW9uOjphbWJpZ3VvdXMoKTsKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCBjMjdjNzNlZmU1MjlkYTQ3NzQ0OGZh
ZmUzNDk0NjIxMDJlYjA5MWYxLi43NmE5YzY0MTRlYTlkODQwNjU5OGQ1NDQwZWFiY2EwNGZkNDcx
NzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50
aWZpZXJzLmgKQEAgLTI5NSw2ICsyOTUsNyBAQAogICAgIG1hY3JvKGdlbmVyYXRvckZyYW1lKSBc
CiAgICAgbWFjcm8obWV0YSkgXAogICAgIG1hY3JvKHN0YXJEZWZhdWx0KSBcCisgICAgbWFjcm8o
c3Rhck5hbWVzcGFjZSkgXAogICAgIG1hY3JvKHVuZGVmaW5lZCkgXAogCiBuYW1lc3BhY2UgSlND
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24u
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKaW5kZXgg
MTViOWY2N2YwNWI2MmIyMjdhYmVmYzg4ZmE2OThiOTQ2ODMyZGY2ZS4uYTdlYjU4NTUwNGFjODQx
ZjdhYjE4MWQ2NDc2YThkNmM4YjgxOGYxYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNGdW5jdGlvbi5jcHAKQEAgLTIxMyw3ICsyMTMsNyBAQCBTdHJpbmcgSlNGdW5jdGlv
bjo6bmFtZShWTSYgdm0pCiAgICAgICAgIHJldHVybiBleGVjdXRhYmxlLT5uYW1lKCk7CiAgICAg
fQogICAgIGNvbnN0IElkZW50aWZpZXIgaWRlbnRpZmllciA9IGpzRXhlY3V0YWJsZSgpLT5uYW1l
KCk7Ci0gICAgaWYgKGlkZW50aWZpZXIgPT0gdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVz
KCkuc3RhckRlZmF1bHRQcml2YXRlTmFtZSgpKQorICAgIGlmIChpZGVudGlmaWVyID09IHZtLnBy
b3BlcnR5TmFtZXMtPnN0YXJEZWZhdWx0UHJpdmF0ZU5hbWUpCiAgICAgICAgIHJldHVybiBlbXB0
eVN0cmluZygpOwogICAgIHJldHVybiBpZGVudGlmaWVyLnN0cmluZygpOwogfQpAQCAtNzk0LDcg
Kzc5NCw3IEBAIHZvaWQgSlNGdW5jdGlvbjo6cmVpZnlOYW1lKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKICAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIv
I3NlYy1leHBvcnRzLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KICAgICAvLyBXaGVuIHRo
ZSBpZGVudCBpcyAiKmRlZmF1bHQqIiwgd2UgbmVlZCB0byBzZXQgImRlZmF1bHQiIGZvciB0aGUg
ZWNtYSBuYW1lLgogICAgIC8vIFRoaXMgIipkZWZhdWx0KiIgbmFtZSBpcyBuZXZlciBzaG93biB0
byB1c2Vycy4KLSAgICBpZiAoZWNtYU5hbWUgPT0gdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5h
bWVzKCkuc3RhckRlZmF1bHRQcml2YXRlTmFtZSgpKQorICAgIGlmIChlY21hTmFtZSA9PSB2bS5w
cm9wZXJ0eU5hbWVzLT5zdGFyRGVmYXVsdFByaXZhdGVOYW1lKQogICAgICAgICBuYW1lID0gdm0u
cHJvcGVydHlOYW1lcy0+ZGVmYXVsdEtleXdvcmQuc3RyaW5nKCk7CiAgICAgZWxzZQogICAgICAg
ICBuYW1lID0gZWNtYU5hbWUuc3RyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVjdC5jcHAKaW5kZXggMzU0MWRh
ZGMxOGVhMmM2OTM0MTExMmZjZDE1ODA3ZjZjN2JlNWM3Mi4uNjBkN2ZiMzY3ODIxZjRiYmY4N2Fk
N2RlZmE3MmE5YmNiMmFiNTkyOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNlT2JqZWN0LmNwcApAQCAtMTM1LDYgKzEzNSwx
MyBAQCBib29sIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RDb21t
b24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iagogICAgIHN3aXRjaCAoc2xvdC5pbnRlcm5hbE1l
dGhvZFR5cGUoKSkgewogICAgIGNhc2UgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6
OkdldE93blByb3BlcnR5OgogICAgIGNhc2UgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5
cGU6OkdldDogeworICAgICAgICBpZiAoZXhwb3J0RW50cnkubG9jYWxOYW1lID09IHZtLnByb3Bl
cnR5TmFtZXMtPnN0YXJOYW1lc3BhY2VQcml2YXRlTmFtZSkgeworICAgICAgICAgICAgSlNNb2R1
bGVOYW1lc3BhY2VPYmplY3QqIG5hbWVzcGFjZU9iamVjdCA9IGV4cG9ydEVudHJ5LT5tb2R1bGVS
ZWNvcmQtPmdldE1vZHVsZU5hbWVzcGFjZShnbG9iYWxPYmplY3QpOworICAgICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBP
cHRpbWl6ZSB0aGlzIGFjY2Vzcy4KKyAgICAgICAgICAgIHNsb3Quc2V0VmFsdWUodGhpcywgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlKSwgbmFtZXNw
YWNlT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CiAgICAgICAg
IEpTTW9kdWxlRW52aXJvbm1lbnQqIGVudmlyb25tZW50ID0gZXhwb3J0RW50cnkubW9kdWxlUmVj
b3JkLT5tb2R1bGVFbnZpcm9ubWVudCgpOwogICAgICAgICBTY29wZU9mZnNldCBzY29wZU9mZnNl
dDsKICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IGdldFZhbHVlKGVudmlyb25tZW50LCBleHBvcnRF
bnRyeS5sb2NhbE5hbWUsIHNjb3BlT2Zmc2V0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408990</attachid>
            <date>2020-09-16 22:26:35 -0700</date>
            <delta_ts>2020-09-16 23:27:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214379-20200916222634.patch</filename>
            <type>text/plain</type>
            <size>28886</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
MmJjOTY3Zjc3ZTJiYzQwNGQwYjVhYmFkMzQzNjBiMzlkYWIxNTY3Li4zMzkyY2I4ODhjMDViODEw
NWM0ZTQ1YmY2NjY5YWZlOTI4OGJlNTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAyMC0wOS0xNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFN1cHBvcnQgZXhwb3J0IG5hbWVzcGFjZSBgZXhwb3J0ICogYXMgbnNgCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQzNzkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNo
IHN1cHBvcnRzIGBleHBvcnQgKiBhcyBucyBmcm9tICJtb2R1bGUiYCBzeW50YXguIElmIGl0IGlz
IHVzZWQsIHdlIGV4cG9zZSAibW9kdWxlIidzIG5hbWVzcGFjZSBvYmplY3QgYXMgIm5zIi4KKyAg
ICAgICAgRm9yIGVhY2ggbW9kdWxlIGVudmlyb25tZW50LCB3ZSBjcmVhdGUgKm5hbWVzcGFjZSog
KHN0YXJOYW1lc3BhY2UpIHByaXZhdGUgc3ltYm9sIHNjb3BlIHZhcmlhYmxlLiBBbmQgd2UgZmls
bCBpdCBsYXRlcgorICAgICAgICB3aXRoIG1vZHVsZSBuYW1lc3BhY2Ugb2JqZWN0LiBUaGlzIHdh
eSBhbGxvd3MgdXMgdG8gdXNlIG1vZHVsZSBuYW1lc3BhY2Ugb2JqZWN0IElDIGFuZCBzdXBlciBm
YXN0IGltcG9ydGVkIG1vZHVsZSBiaW5kaW5nCisgICAgICAgIGxvb2t1cCB0aG91Z2ggZW52aXJv
bm1lbnQgdmFyaWFibGUgbG9va3VwIG1lY2hhbmlzbS4KKworICAgICAgICAqIGJ1aWx0aW5zL0J1
aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5j
cHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcik6
CisgICAgICAgICogcGFyc2VyL05vZGVzQW5hbHl6ZU1vZHVsZS5jcHA6CisgICAgICAgIChKU0M6
OkV4cG9ydE5hbWVkRGVjbGFyYXRpb25Ob2RlOjphbmFseXplTW9kdWxlKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
RXhwb3J0RGVjbGFyYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQWJzdHJhY3RNb2R1bGVSZWNv
cmQuY3BwOgorICAgICAgICAoSlNDOjpBYnN0cmFjdE1vZHVsZVJlY29yZDo6RXhwb3J0RW50cnk6
OmNyZWF0ZU5hbWVzcGFjZSk6CisgICAgICAgIChKU0M6OkFic3RyYWN0TW9kdWxlUmVjb3JkOjpy
ZXNvbHZlRXhwb3J0SW1wbCk6CisgICAgICAgIChKU0M6OkFic3RyYWN0TW9kdWxlUmVjb3JkOjpn
ZXRNb2R1bGVOYW1lc3BhY2UpOgorICAgICAgICAoSlNDOjpBYnN0cmFjdE1vZHVsZVJlY29yZDo6
c2V0TW9kdWxlRW52aXJvbm1lbnQpOgorICAgICAgICAoSlNDOjpBYnN0cmFjdE1vZHVsZVJlY29y
ZDo6ZHVtcCk6CisgICAgICAgICogcnVudGltZS9BYnN0cmFjdE1vZHVsZVJlY29yZC5oOgorICAg
ICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50aW1lL0pT
RnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpuYW1lKToKKyAgICAgICAg
KEpTQzo6SlNGdW5jdGlvbjo6cmVpZnlOYW1lKToKKyAgICAgICAgKiBydW50aW1lL0pTTW9kdWxl
TmFtZXNwYWNlT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNNb2R1bGVOYW1lc3BhY2VPYmpl
Y3Q6OmdldE93blByb3BlcnR5U2xvdENvbW1vbik6CisgICAgICAgICogcnVudGltZS9KU01vZHVs
ZVJlY29yZC5jcHA6CisgICAgICAgIChKU0M6OkpTTW9kdWxlUmVjb3JkOjppbnN0YW50aWF0ZURl
Y2xhcmF0aW9ucyk6CisgICAgICAgIChKU0M6OkpTTW9kdWxlUmVjb3JkOjpldmFsdWF0ZSk6Cisg
ICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9kdWxlLmNwcDoKKyAgICAgICAgKEpTQzo6
SlNXZWJBc3NlbWJseU1vZHVsZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuY3BwOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseU1v
ZHVsZVJlY29yZDo6bGluayk6CisKIDIwMjAtMDktMTYgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9y
bWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtGbGF0cGFrIFNES11bV1BFXSBMYXVuY2hpbmcg
dGhlIHJlbW90ZSBpbnNwZWN0b3Iga2lsbHMgTUIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9CdWlsdGluTmFtZXMuaAppbmRleCAyYjVmOTAyODIwZWJlYjgxZDYyN2ZjMTZmYWVk
N2Q5NDE3MWY1ZTQwLi4zMGI4MWIxNTE5YmFhMjc0M2I3OTE1YzkzYTk4N2Y4NjM1ZWQyMDZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCkBAIC04
Myw2ICs4Myw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIG1hY3JvKHB1c2gpIFwKICAgICBtYWNy
byhyZXBlYXRDaGFyYWN0ZXIpIFwKICAgICBtYWNybyhzdGFyRGVmYXVsdCkgXAorICAgIG1hY3Jv
KHN0YXJOYW1lc3BhY2UpIFwKICAgICBtYWNybyhJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24pIFwK
ICAgICBtYWNybyhrZXlzKSBcCiAgICAgbWFjcm8odmFsdWVzKSBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmlu
ZGV4IGIxYTU0OGExZmZiMDMzZjkxMTMxNzMxYWRjMGI1YThlYmU4ZWExYTYuLmI0ZDg3Y2IxYTcz
NmI1MTRkZDI4YjNhYTM4MTI5Yjg1YWExN2Q4NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC05NTks
NiArOTU5LDcgQEAgQnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKFZNJiB2bSwg
TW9kdWxlUHJvZ3JhbU5vZGUqIG1vZHVsZVByb2dyYW1Ob2QKIAogICAgIC8vIE5vdyBkZWNsYXJl
IGFsbCB2YXJpYWJsZXMuCiAKKyAgICBjcmVhdGVWYXJpYWJsZShtX3ZtLnByb3BlcnR5TmFtZXMt
PnN0YXJOYW1lc3BhY2VQcml2YXRlTmFtZSwgVmFyS2luZDo6U2NvcGUsIG1vZHVsZUVudmlyb25t
ZW50U3ltYm9sVGFibGUsIFZlcmlmeUV4aXN0aW5nKTsKICAgICBjcmVhdGVWYXJpYWJsZShtX3Zt
LnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLm1ldGFQcml2YXRlTmFtZSgpLCBWYXJLaW5k
OjpTY29wZSwgbW9kdWxlRW52aXJvbm1lbnRTeW1ib2xUYWJsZSwgVmVyaWZ5RXhpc3RpbmcpOwog
CiAgICAgZm9yIChhdXRvJiBlbnRyeSA6IG1vZHVsZVByb2dyYW1Ob2RlLT52YXJEZWNsYXJhdGlv
bnMoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlc0Fu
YWx5emVNb2R1bGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlc0FuYWx5
emVNb2R1bGUuY3BwCmluZGV4IGFjMDAyMDRiODZjNWQ2NmZmZDNhNWI4YjAyMGVhOTk0ODNlMjZk
YTYuLjU0MTg4ZGQ1NzE2NjliZmM4YTYzNTU3OTc4NDhjMGJiZDU1ODdhNzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXNBbmFseXplTW9kdWxlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzQW5hbHl6ZU1vZHVsZS5jcHAKQEAg
LTg1LDcgKzg1LDE0IEBAIHZvaWQgRXhwb3J0TmFtZWREZWNsYXJhdGlvbk5vZGU6OmFuYWx5emVN
b2R1bGUoTW9kdWxlQW5hbHl6ZXImIGFuYWx5emVyKQogICAgICAgICAgICAgLy8KICAgICAgICAg
ICAgIC8vIEluIHRoaXMgY2FzZSwgbm8gbG9jYWwgdmFyaWFibGUgbmFtZXMgYXJlIGltcG9ydGVk
IGludG8gdGhlIGN1cnJlbnQgbW9kdWxlLgogICAgICAgICAgICAgLy8gInYiIGluZGlyZWN0bHkg
cG9pbnRzIHRoZSBiaW5kaW5nIGluICJtb2QiLgotICAgICAgICAgICAgYW5hbHl6ZXIubW9kdWxl
UmVjb3JkKCktPmFkZEV4cG9ydEVudHJ5KEpTTW9kdWxlUmVjb3JkOjpFeHBvcnRFbnRyeTo6Y3Jl
YXRlSW5kaXJlY3Qoc3BlY2lmaWVyLT5leHBvcnRlZE5hbWUoKSwgc3BlY2lmaWVyLT5sb2NhbE5h
bWUoKSwgbV9tb2R1bGVOYW1lLT5tb2R1bGVOYW1lKCkpKTsKKyAgICAgICAgICAgIC8vCisgICAg
ICAgICAgICAvLyBleHBvcnQgeyAqIGFzIHYgfSBmcm9tICJtb2QiCisgICAgICAgICAgICAvLwor
ICAgICAgICAgICAgLy8gSWYgaXQgaXMgbmFtZXNwYWNlIGV4cG9ydCwgd2Ugc2hvdWxkIHVzZSBj
cmVhdGVOYW1lc3BhY2UuCisgICAgICAgICAgICBpZiAoc3BlY2lmaWVyLT5sb2NhbE5hbWUoKSA9
PSBhbmFseXplci52bSgpLnByb3BlcnR5TmFtZXMtPnN0YXJOYW1lc3BhY2VQcml2YXRlTmFtZSkK
KyAgICAgICAgICAgICAgICBhbmFseXplci5tb2R1bGVSZWNvcmQoKS0+YWRkRXhwb3J0RW50cnko
SlNNb2R1bGVSZWNvcmQ6OkV4cG9ydEVudHJ5OjpjcmVhdGVOYW1lc3BhY2Uoc3BlY2lmaWVyLT5l
eHBvcnRlZE5hbWUoKSwgbV9tb2R1bGVOYW1lLT5tb2R1bGVOYW1lKCkpKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBhbmFseXplci5tb2R1bGVSZWNvcmQoKS0+YWRkRXhwb3J0
RW50cnkoSlNNb2R1bGVSZWNvcmQ6OkV4cG9ydEVudHJ5OjpjcmVhdGVJbmRpcmVjdChzcGVjaWZp
ZXItPmV4cG9ydGVkTmFtZSgpLCBzcGVjaWZpZXItPmxvY2FsTmFtZSgpLCBtX21vZHVsZU5hbWUt
Pm1vZHVsZU5hbWUoKSkpOwogICAgICAgICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IGM3ZjliZTgxNGM1NWQyOTYzZTU3YmZlODc0MjJkZGJm
NzUxNjYxYzQuLjEyNzcxZDk5N2IzMTQ5NzkxNGM5ZDcyY2ViODBjYTNhNTViMTY4ODEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTM1MzEsMTQgKzM1MzEsMzQg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7
CiAgICAgY2FzZSBUSU1FUzogewogICAgICAgICAvLyBleHBvcnQgKiBGcm9tQ2xhdXNlIDsKKyAg
ICAgICAgLy8gZXhwb3J0ICogYXMgSWRlbnRpZmllck5hbWUgRnJvbUNsYXVzZSA7CiAgICAgICAg
IG5leHQoKTsKIAorICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBleHBvcnRlZE5hbWUgPSBudWxs
cHRyOworICAgICAgICBKU1Rva2VuTG9jYXRpb24gc3BlY2lmaWVyTG9jYXRpb247CisgICAgICAg
IGlmIChtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0ucHJvcGVydHlOYW1lcy0+YXMpKSB7Cisg
ICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBzcGVjaWZpZXJMb2NhdGlvbiA9IEpTVG9r
ZW5Mb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICAgICAgZmFpbElmRmFsc2UobWF0
Y2hJZGVudGlmaWVyT3JLZXl3b3JkKCksICJFeHBlY3RlZCBhbiBleHBvcnRlZCBuYW1lIGZvciB0
aGUgZXhwb3J0IGRlY2xhcmF0aW9uIik7CisgICAgICAgICAgICBleHBvcnRlZE5hbWUgPSBtX3Rv
a2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfQorCiAgICAg
ICAgIGZhaWxJZkZhbHNlKG1hdGNoQ29udGV4dHVhbEtleXdvcmQobV92bS5wcm9wZXJ0eU5hbWVz
LT5mcm9tKSwgIkV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUiKTsK
ICAgICAgICAgbmV4dCgpOwogICAgICAgICBhdXRvIG1vZHVsZU5hbWUgPSBwYXJzZU1vZHVsZU5h
bWUoY29udGV4dCk7CiAgICAgICAgIGZhaWxJZkZhbHNlKG1vZHVsZU5hbWUsICJDYW5ub3QgcGFy
c2UgdGhlICdmcm9tJyBjbGF1c2UiKTsKICAgICAgICAgZmFpbElmRmFsc2UoYXV0b1NlbWlDb2xv
bigpLCAiRXhwZWN0ZWQgYSAnOycgZm9sbG93aW5nIGEgdGFyZ2V0ZWQgZXhwb3J0IGRlY2xhcmF0
aW9uIik7CiAKKyAgICAgICAgaWYgKGV4cG9ydGVkTmFtZSkgeworICAgICAgICAgICAgc2VtYW50
aWNGYWlsSWZGYWxzZShleHBvcnROYW1lKCpleHBvcnRlZE5hbWUpLCAiQ2Fubm90IGV4cG9ydCBh
IGR1cGxpY2F0ZSBuYW1lICciLCBleHBvcnRlZE5hbWUtPmltcGwoKSwgIiciKTsKKyAgICAgICAg
ICAgIGF1dG8gc3BlY2lmaWVyTGlzdCA9IGNvbnRleHQuY3JlYXRlRXhwb3J0U3BlY2lmaWVyTGlz
dCgpOworICAgICAgICAgICAgYXV0byBsb2NhbE5hbWUgPSAmbV92bS5wcm9wZXJ0eU5hbWVzLT5z
dGFyTmFtZXNwYWNlUHJpdmF0ZU5hbWU7CisgICAgICAgICAgICBhdXRvIHNwZWNpZmllciA9IGNv
bnRleHQuY3JlYXRlRXhwb3J0U3BlY2lmaWVyKHNwZWNpZmllckxvY2F0aW9uLCAqbG9jYWxOYW1l
LCAqZXhwb3J0ZWROYW1lKTsKKyAgICAgICAgICAgIGNvbnRleHQuYXBwZW5kRXhwb3J0U3BlY2lm
aWVyKHNwZWNpZmllckxpc3QsIHNwZWNpZmllcik7CisgICAgICAgICAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVFeHBvcnROYW1lZERlY2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCBzcGVjaWZpZXJM
aXN0LCBtb2R1bGVOYW1lKTsKKyAgICAgICAgfQorCiAgICAgICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZUV4cG9ydEFsbERlY2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCBtb2R1bGVOYW1lKTsKICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fic3RyYWN0
TW9kdWxlUmVjb3JkLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fic3RyYWN0
TW9kdWxlUmVjb3JkLmNwcAppbmRleCBmZTBjOWEyYjgwZTZkZmY0MWMwMWJlODAwMDQwYTkwN2Ji
ZWU3Mjc2Li40ZTg1MzNjNGM2N2U1ZWEyMjlkYjQxZmMxMDQ2ZTI5YzU5N2FjMmQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BYnN0cmFjdE1vZHVsZVJlY29yZC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWJzdHJhY3RNb2R1bGVSZWNv
cmQuY3BwCkBAIC0xMTgsNiArMTE4LDExIEBAIGF1dG8gQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OkV4
cG9ydEVudHJ5OjpjcmVhdGVJbmRpcmVjdChjb25zdCBJZGVudGlmaWVyJiBleHBvcnROCiAgICAg
cmV0dXJuIEV4cG9ydEVudHJ5IHsgVHlwZTo6SW5kaXJlY3QsIGV4cG9ydE5hbWUsIG1vZHVsZU5h
bWUsIGltcG9ydE5hbWUsIElkZW50aWZpZXIoKSB9OwogfQogCithdXRvIEFic3RyYWN0TW9kdWxl
UmVjb3JkOjpFeHBvcnRFbnRyeTo6Y3JlYXRlTmFtZXNwYWNlKGNvbnN0IElkZW50aWZpZXImIGV4
cG9ydE5hbWUsIGNvbnN0IElkZW50aWZpZXImIG1vZHVsZU5hbWUpIC0+IEV4cG9ydEVudHJ5Cit7
CisgICAgcmV0dXJuIEV4cG9ydEVudHJ5IHsgVHlwZTo6TmFtZXNwYWNlLCBleHBvcnROYW1lLCBt
b2R1bGVOYW1lLCBJZGVudGlmaWVyKCksIElkZW50aWZpZXIoKSB9OworfQorCiBhdXRvIEFic3Ry
YWN0TW9kdWxlUmVjb3JkOjpSZXNvbHV0aW9uOjpub3RGb3VuZCgpIC0+IFJlc29sdXRpb24KIHsK
ICAgICByZXR1cm4gUmVzb2x1dGlvbiB7IFR5cGU6Ok5vdEZvdW5kLCBudWxscHRyLCBJZGVudGlm
aWVyKCkgfTsKQEAgLTYzMSw2ICs2MzYsMTggQEAgYXV0byBBYnN0cmFjdE1vZHVsZVJlY29yZDo6
cmVzb2x2ZUV4cG9ydEltcGwoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QKICAg
ICAgICAgICAgICAgICBwZW5kaW5nVGFza3MuYXBwZW5kKFRhc2sgeyBSZXNvbHZlUXVlcnkoaW1w
b3J0ZWRNb2R1bGVSZWNvcmQsIGV4cG9ydEVudHJ5LmltcG9ydE5hbWUpLCBUeXBlOjpRdWVyeSB9
KTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgY2FzZSBFeHBvcnRFbnRyeTo6VHlwZTo6TmFtZXNwYWNlOiB7CisgICAgICAgICAgICAgICAg
QWJzdHJhY3RNb2R1bGVSZWNvcmQqIGltcG9ydGVkTW9kdWxlUmVjb3JkID0gbW9kdWxlUmVjb3Jk
LT5ob3N0UmVzb2x2ZUltcG9ydGVkTW9kdWxlKGdsb2JhbE9iamVjdCwgZXhwb3J0RW50cnkubW9k
dWxlTmFtZSk7CisgICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgUmVz
b2x1dGlvbjo6ZXJyb3IoKSk7CisKKyAgICAgICAgICAgICAgICBSZXNvbHV0aW9uIHJlc29sdXRp
b24geyBSZXNvbHV0aW9uOjpUeXBlOjpSZXNvbHZlZCwgaW1wb3J0ZWRNb2R1bGVSZWNvcmQsIHZt
LnByb3BlcnR5TmFtZXMtPnN0YXJOYW1lc3BhY2VQcml2YXRlTmFtZSB9OworICAgICAgICAgICAg
ICAgIC8vICAyLiBBIG1vZHVsZSB0aGF0IGhhcyByZXNvbHZlZCBhIG1vZHVsZSBuYW1lc3BhY2Ug
YmluZGluZyBpcyBhbHdheXMgY2FjaGVhYmxlLgorICAgICAgICAgICAgICAgIGNhY2hlUmVzb2x1
dGlvbkZvclF1ZXJ5KHF1ZXJ5LCByZXNvbHV0aW9uKTsKKyAgICAgICAgICAgICAgICBpZiAoIW1l
cmdlVG9DdXJyZW50VG9wKHJlc29sdXRpb24pKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4g
UmVzb2x1dGlvbjo6YW1iaWd1b3VzKCk7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpA
QCAtNzU3LDEwICs3NzQsMzQgQEAgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QqIEFic3RyYWN0TW9k
dWxlUmVjb3JkOjpnZXRNb2R1bGVOYW1lc3BhY2UoSlNHbG9iYWxPYmplY3QKIAogICAgIGF1dG8q
IG1vZHVsZU5hbWVzcGFjZU9iamVjdCA9IEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0OjpjcmVhdGUo
Z2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm1vZHVsZU5hbWVzcGFjZU9iamVjdFN0cnVjdHVy
ZSgpLCB0aGlzLCBXVEZNb3ZlKHJlc29sdXRpb25zKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgbnVsbHB0cik7CisKKyAgICAvLyBNYXRlcmlhbGl6ZSAqbmFtZXNwYWNlKiBzbG90
IHdpdGggbW9kdWxlIG5hbWVzcGFjZSBvYmplY3QuCisgICAgLy8gSWYgbW9kdWxlIGVudmlyb25t
ZW50IGlzIG5vdCB5ZXQgbWF0ZXJpYWxpemVkLCB3ZSB3aWxsIG1hdGVyaWFsaXplIGl0IHdoZW4g
bWF0ZXJpYWxpemluZyBtb2R1bGUgZW52aXJvbm1lbnQuCisgICAgaWYgKG1fbW9kdWxlRW52aXJv
bm1lbnQpIHsKKyAgICAgICAgYm9vbCBwdXRSZXN1bHQgPSBmYWxzZTsKKyAgICAgICAgc3ltYm9s
VGFibGVQdXRUb3VjaFdhdGNocG9pbnRTZXQobV9tb2R1bGVFbnZpcm9ubWVudC5nZXQoKSwgZ2xv
YmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5zdGFyTmFtZXNwYWNlUHJpdmF0ZU5hbWUsIG1v
ZHVsZU5hbWVzcGFjZU9iamVjdCwgLyogc2hvdWxkVGhyb3dSZWFkT25seUVycm9yICovIGZhbHNl
LCAvKiBpZ25vcmVSZWFkT25seUVycm9ycyAqLyB0cnVlLCBwdXRSZXN1bHQpOworICAgICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKKyAgICB9CiAgICAgbV9tb2R1bGVO
YW1lc3BhY2VPYmplY3Quc2V0KHZtLCB0aGlzLCBtb2R1bGVOYW1lc3BhY2VPYmplY3QpOworCiAg
ICAgcmV0dXJuIG1vZHVsZU5hbWVzcGFjZU9iamVjdDsKIH0KIAordm9pZCBBYnN0cmFjdE1vZHVs
ZVJlY29yZDo6c2V0TW9kdWxlRW52aXJvbm1lbnQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNNb2R1bGVFbnZpcm9ubWVudCogbW9kdWxlRW52aXJvbm1lbnQpCit7CisgICAgVk0mIHZt
ID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKKworICAgIEFTU0VSVCghbV9tb2R1bGVFbnZpcm9ubWVudCk7CisgICAgLy8gSWYg
bW9kdWxlIG5hbWVzcGFjZSBvYmplY3QgaXMgbWF0ZXJpYWxpemVkLCB3ZSB3aWxsIG1hdGVyaWFs
aXplICpuYW1lc3BhY2UqIHNsb3QgdG9vLgorICAgIGlmIChtX21vZHVsZU5hbWVzcGFjZU9iamVj
dCkgeworICAgICAgICBib29sIHB1dFJlc3VsdCA9IGZhbHNlOworICAgICAgICBzeW1ib2xUYWJs
ZVB1dFRvdWNoV2F0Y2hwb2ludFNldChtb2R1bGVFbnZpcm9ubWVudCwgZ2xvYmFsT2JqZWN0LCB2
bS5wcm9wZXJ0eU5hbWVzLT5zdGFyTmFtZXNwYWNlUHJpdmF0ZU5hbWUsIG1fbW9kdWxlTmFtZXNw
YWNlT2JqZWN0LmdldCgpLCAvKiBzaG91bGRUaHJvd1JlYWRPbmx5RXJyb3IgKi8gZmFsc2UsIC8q
IGlnbm9yZVJlYWRPbmx5RXJyb3JzICovIHRydWUsIHB1dFJlc3VsdCk7CisgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisgICAgfQorICAgIG1fbW9kdWxlRW52aXJv
bm1lbnQuc2V0KHZtLCB0aGlzLCBtb2R1bGVFbnZpcm9ubWVudCk7Cit9CisKIHZvaWQgQWJzdHJh
Y3RNb2R1bGVSZWNvcmQ6OmxpbmsoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1
ZSBzY3JpcHRGZXRjaGVyKQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAg
LTgyMyw2ICs4NjQsMTAgQEAgdm9pZCBBYnN0cmFjdE1vZHVsZVJlY29yZDo6ZHVtcCgpCiAgICAg
ICAgIGNhc2UgRXhwb3J0RW50cnk6OlR5cGU6OkluZGlyZWN0OgogICAgICAgICAgICAgZGF0YUxv
ZygiICAgICAgW0luZGlyZWN0XSAiLCAiZXhwb3J0KCIsIHByaW50YWJsZU5hbWUoZXhwb3J0RW50
cnkuZXhwb3J0TmFtZSksICIpLCBpbXBvcnQoIiwgcHJpbnRhYmxlTmFtZShleHBvcnRFbnRyeS5p
bXBvcnROYW1lKSwgIiksIG1vZHVsZSgiLCBwcmludGFibGVOYW1lKGV4cG9ydEVudHJ5Lm1vZHVs
ZU5hbWUpLCAiKVxuIik7CiAgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIEV4cG9y
dEVudHJ5OjpUeXBlOjpOYW1lc3BhY2U6CisgICAgICAgICAgICBkYXRhTG9nKCIgICAgICBbTmFt
ZXNwYWNlXSAiLCAiZXhwb3J0KCIsIHByaW50YWJsZU5hbWUoZXhwb3J0RW50cnkuZXhwb3J0TmFt
ZSksICIpLCBtb2R1bGUoIiwgcHJpbnRhYmxlTmFtZShleHBvcnRFbnRyeS5tb2R1bGVOYW1lKSwg
IilcbiIpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CiAgICAgZm9yIChj
b25zdCBhdXRvJiBtb2R1bGVOYW1lIDogbV9zdGFyRXhwb3J0RW50cmllcykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fic3RyYWN0TW9kdWxlUmVjb3JkLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BYnN0cmFjdE1vZHVsZVJlY29yZC5oCmluZGV4
IGFlMDU5NDEzODJlNWNmZGU2NTgxYzI3Y2JlZGIyNzRiYzM5ZWFmZTAuLjZlZjU1YzE2NzgyM2Jm
MGY1NDM1NTYwNzdjYTIzYzJhOWU1NmVmNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Fic3RyYWN0TW9kdWxlUmVjb3JkLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQWJzdHJhY3RNb2R1bGVSZWNvcmQuaApAQCAtNTQsMTEgKzU0LDEzIEBA
IGNsYXNzIEFic3RyYWN0TW9kdWxlUmVjb3JkIDogcHVibGljIEpTTm9uRmluYWxPYmplY3Qgewog
ICAgIHN0cnVjdCBFeHBvcnRFbnRyeSB7CiAgICAgICAgIGVudW0gY2xhc3MgVHlwZSB7CiAgICAg
ICAgICAgICBMb2NhbCwKLSAgICAgICAgICAgIEluZGlyZWN0CisgICAgICAgICAgICBJbmRpcmVj
dCwKKyAgICAgICAgICAgIE5hbWVzcGFjZSwKICAgICAgICAgfTsKIAogICAgICAgICBzdGF0aWMg
RXhwb3J0RW50cnkgY3JlYXRlTG9jYWwoY29uc3QgSWRlbnRpZmllciYgZXhwb3J0TmFtZSwgY29u
c3QgSWRlbnRpZmllciYgbG9jYWxOYW1lKTsKICAgICAgICAgc3RhdGljIEV4cG9ydEVudHJ5IGNy
ZWF0ZUluZGlyZWN0KGNvbnN0IElkZW50aWZpZXImIGV4cG9ydE5hbWUsIGNvbnN0IElkZW50aWZp
ZXImIGltcG9ydE5hbWUsIGNvbnN0IElkZW50aWZpZXImIG1vZHVsZU5hbWUpOworICAgICAgICBz
dGF0aWMgRXhwb3J0RW50cnkgY3JlYXRlTmFtZXNwYWNlKGNvbnN0IElkZW50aWZpZXImIGV4cG9y
dE5hbWUsIGNvbnN0IElkZW50aWZpZXImIG1vZHVsZU5hbWUpOwogCiAgICAgICAgIFR5cGUgdHlw
ZTsKICAgICAgICAgSWRlbnRpZmllciBleHBvcnROYW1lOwpAQCAtMTM2LDcgKzEzOCw3IEBAIGNs
YXNzIEFic3RyYWN0TW9kdWxlUmVjb3JkIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogCiAg
ICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCi0g
ICAgV3JpdGVCYXJyaWVyPEpTTW9kdWxlRW52aXJvbm1lbnQ+IG1fbW9kdWxlRW52aXJvbm1lbnQ7
CisgICAgdm9pZCBzZXRNb2R1bGVFbnZpcm9ubWVudChKU0dsb2JhbE9iamVjdCosIEpTTW9kdWxl
RW52aXJvbm1lbnQqKTsKIAogcHJpdmF0ZToKICAgICBzdHJ1Y3QgUmVzb2x2ZVF1ZXJ5OwpAQCAt
MTc3LDYgKzE3OSw4IEBAIGNsYXNzIEFic3RyYWN0TW9kdWxlUmVjb3JkIDogcHVibGljIEpTTm9u
RmluYWxPYmplY3QgewogICAgIAogICAgIFdyaXRlQmFycmllcjxKU01vZHVsZU5hbWVzcGFjZU9i
amVjdD4gbV9tb2R1bGVOYW1lc3BhY2VPYmplY3Q7CiAKKyAgICBXcml0ZUJhcnJpZXI8SlNNb2R1
bGVFbnZpcm9ubWVudD4gbV9tb2R1bGVFbnZpcm9ubWVudDsKKwogICAgIC8vIFdlIGFzc3VtZSB0
aGF0IGFsbCB0aGUgQWJzdHJhY3RNb2R1bGVSZWNvcmQgYXJlIHJldGFpbmVkIGJ5IEpTTW9kdWxl
TG9hZGVyJ3MgcmVnaXN0cnkuCiAgICAgLy8gU28gaGVyZSwgd2UgZG9uJ3QgdmlzaXQgZWFjaCBv
YmplY3QgZm9yIEdDLiBUaGUgcmVzb2x1dGlvbiBjYWNoZSBtYXAgY2FjaGVzIHRoZSBvbmNlCiAg
ICAgLy8gbG9va2VkIHVwIGNvcnJlY3RseSByZXNvbHZlZCByZXNvbHV0aW9uLCBzaW5jZSAoMSkg
d2UgcmFyZWx5IGxvb2tlZCB1cCB0aGUgbm9uLXJlc29sdmVkIG9uZSwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IGMyN2M3M2Vm
ZTUyOWRhNDc3NDQ4ZmFmZTM0OTQ2MjEwMmViMDkxZjEuLjc2YTljNjQxNGVhOWQ4NDA2NTk4ZDU0
NDBlYWJjYTA0ZmQ0NzE3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtMjk1LDYgKzI5NSw3IEBACiAgICAgbWFjcm8oZ2Vu
ZXJhdG9yRnJhbWUpIFwKICAgICBtYWNybyhtZXRhKSBcCiAgICAgbWFjcm8oc3RhckRlZmF1bHQp
IFwKKyAgICBtYWNybyhzdGFyTmFtZXNwYWNlKSBcCiAgICAgbWFjcm8odW5kZWZpbmVkKSBcCiAK
IG5hbWVzcGFjZSBKU0MgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uLmNwcAppbmRleCAxNWI5ZjY3ZjA1YjYyYjIyN2FiZWZjODhmYTY5OGI5NDY4MzJkZjZlLi5h
N2ViNTg1NTA0YWM4NDFmN2FiMTgxZDY0NzZhOGQ2YzhiODE4ZjFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcApAQCAtMjEzLDcgKzIxMyw3IEBAIFN0
cmluZyBKU0Z1bmN0aW9uOjpuYW1lKFZNJiB2bSkKICAgICAgICAgcmV0dXJuIGV4ZWN1dGFibGUt
Pm5hbWUoKTsKICAgICB9CiAgICAgY29uc3QgSWRlbnRpZmllciBpZGVudGlmaWVyID0ganNFeGVj
dXRhYmxlKCktPm5hbWUoKTsKLSAgICBpZiAoaWRlbnRpZmllciA9PSB2bS5wcm9wZXJ0eU5hbWVz
LT5idWlsdGluTmFtZXMoKS5zdGFyRGVmYXVsdFByaXZhdGVOYW1lKCkpCisgICAgaWYgKGlkZW50
aWZpZXIgPT0gdm0ucHJvcGVydHlOYW1lcy0+c3RhckRlZmF1bHRQcml2YXRlTmFtZSkKICAgICAg
ICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAgICAgcmV0dXJuIGlkZW50aWZpZXIuc3RyaW5nKCk7
CiB9CkBAIC03OTQsNyArNzk0LDcgQEAgdm9pZCBKU0Z1bmN0aW9uOjpyZWlmeU5hbWUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIC8vIGh0dHBzOi8vdGMzOS5naXRo
dWIuaW8vZWNtYTI2Mi8jc2VjLWV4cG9ydHMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgog
ICAgIC8vIFdoZW4gdGhlIGlkZW50IGlzICIqZGVmYXVsdCoiLCB3ZSBuZWVkIHRvIHNldCAiZGVm
YXVsdCIgZm9yIHRoZSBlY21hIG5hbWUuCiAgICAgLy8gVGhpcyAiKmRlZmF1bHQqIiBuYW1lIGlz
IG5ldmVyIHNob3duIHRvIHVzZXJzLgotICAgIGlmIChlY21hTmFtZSA9PSB2bS5wcm9wZXJ0eU5h
bWVzLT5idWlsdGluTmFtZXMoKS5zdGFyRGVmYXVsdFByaXZhdGVOYW1lKCkpCisgICAgaWYgKGVj
bWFOYW1lID09IHZtLnByb3BlcnR5TmFtZXMtPnN0YXJEZWZhdWx0UHJpdmF0ZU5hbWUpCiAgICAg
ICAgIG5hbWUgPSB2bS5wcm9wZXJ0eU5hbWVzLT5kZWZhdWx0S2V5d29yZC5zdHJpbmcoKTsKICAg
ICBlbHNlCiAgICAgICAgIG5hbWUgPSBlY21hTmFtZS5zdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNlT2JqZWN0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNlT2JqZWN0LmNw
cAppbmRleCAzNTQxZGFkYzE4ZWEyYzY5MzQxMTEyZmNkMTU4MDdmNmM3YmU1YzcyLi45OTlkMTgy
ZjE3M2ZmZTEzZGNjNzFkOTFhZDM4ZjQwYzc2MzY1ZDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVjdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QuY3BwCkBA
IC0xMzUsNiArMTM1LDE0IEBAIGJvb2wgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3Q6OmdldE93blBy
b3BlcnR5U2xvdENvbW1vbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqCiAgICAgc3dpdGNoIChz
bG90LmludGVybmFsTWV0aG9kVHlwZSgpKSB7CiAgICAgY2FzZSBQcm9wZXJ0eVNsb3Q6OkludGVy
bmFsTWV0aG9kVHlwZTo6R2V0T3duUHJvcGVydHk6CiAgICAgY2FzZSBQcm9wZXJ0eVNsb3Q6Oklu
dGVybmFsTWV0aG9kVHlwZTo6R2V0OiB7CisgICAgICAgIGlmIChleHBvcnRFbnRyeS5sb2NhbE5h
bWUgPT0gdm0ucHJvcGVydHlOYW1lcy0+c3Rhck5hbWVzcGFjZVByaXZhdGVOYW1lKSB7CisgICAg
ICAgICAgICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLW1vZHVsZS1uYW1lc3BhY2Ut
ZXhvdGljLW9iamVjdHMtZ2V0LXAtcmVjZWl2ZXIKKyAgICAgICAgICAgIC8vIDEwLiBJZiBiaW5k
aW5nLltbQmluZGluZ05hbWVdXSBpcyAiKm5hbWVzcGFjZSoiLCB0aGVuCisgICAgICAgICAgICAv
LyAgICAgYS4gUmV0dXJuID8gR2V0TW9kdWxlTmFtZXNwYWNlKHRhcmdldE1vZHVsZSkuCisgICAg
ICAgICAgICAvLyBXZSBjYWxsIGdldE1vZHVsZU5hbWVzcGFjZSgpIHRvIGVuc3VyZSBtYXRlcmlh
bGl6YXRpb24uIEFuZCBhZnRlciB0aGF0LCBsb29raW5nIHVwIHRoZSB2YWx1ZSBmcm9tIHRoZSBz
Y29wZSB0byBlbmNvdXJhZ2UgbW9kdWxlIG5hbWVzcGFjZSBvYmplY3QgSUMuCisgICAgICAgICAg
ICBleHBvcnRFbnRyeS5tb2R1bGVSZWNvcmQtPmdldE1vZHVsZU5hbWVzcGFjZShnbG9iYWxPYmpl
Y3QpOworICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOworICAg
ICAgICB9CiAgICAgICAgIEpTTW9kdWxlRW52aXJvbm1lbnQqIGVudmlyb25tZW50ID0gZXhwb3J0
RW50cnkubW9kdWxlUmVjb3JkLT5tb2R1bGVFbnZpcm9ubWVudCgpOwogICAgICAgICBTY29wZU9m
ZnNldCBzY29wZU9mZnNldDsKICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IGdldFZhbHVlKGVudmly
b25tZW50LCBleHBvcnRFbnRyeS5sb2NhbE5hbWUsIHNjb3BlT2Zmc2V0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlUmVjb3JkLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlUmVjb3JkLmNwcAppbmRleCBlZDQyNDI4
NDU1NjY0YWM4NTk0MDE1MDRlODAwNDM5MTEzZGJmMjFjLi4wOGE5ODkwOTZlY2QwMmMwYzM5MDRi
ZGFjOTViOWYyMjExMDNlZTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU01vZHVsZVJlY29yZC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNNb2R1bGVSZWNvcmQuY3BwCkBAIC0xMTEsNyArMTExLDExIEBAIHZvaWQgSlNNb2R1bGVS
ZWNvcmQ6Omluc3RhbnRpYXRlRGVjbGFyYXRpb25zKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIE1vZHVsCiAgICAgLy8gV2hlbiB3ZSBzZWUgdGhpcyB0eXBlIG9mIGFtYmlndWl0eSBmb3Ig
dGhlIGluZGlyZWN0IGV4cG9ydHMgaGVyZSwgdGhyb3cgYSBzeW50YXggZXJyb3IuCiAgICAgZm9y
IChjb25zdCBhdXRvJiBwYWlyIDogZXhwb3J0RW50cmllcygpKSB7CiAgICAgICAgIGNvbnN0IEV4
cG9ydEVudHJ5JiBleHBvcnRFbnRyeSA9IHBhaXIudmFsdWU7Ci0gICAgICAgIGlmIChleHBvcnRF
bnRyeS50eXBlID09IEpTTW9kdWxlUmVjb3JkOjpFeHBvcnRFbnRyeTo6VHlwZTo6SW5kaXJlY3Qp
IHsKKyAgICAgICAgc3dpdGNoIChleHBvcnRFbnRyeS50eXBlKSB7CisgICAgICAgIGNhc2UgRXhw
b3J0RW50cnk6OlR5cGU6OkxvY2FsOgorICAgICAgICBjYXNlIEV4cG9ydEVudHJ5OjpUeXBlOjpO
YW1lc3BhY2U6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBFeHBvcnRFbnRyeTo6
VHlwZTo6SW5kaXJlY3Q6IHsKICAgICAgICAgICAgIFJlc29sdXRpb24gcmVzb2x1dGlvbiA9IHJl
c29sdmVFeHBvcnQoZ2xvYmFsT2JqZWN0LCBleHBvcnRFbnRyeS5leHBvcnROYW1lKTsKICAgICAg
ICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAgICAgICAgICAgICBz
d2l0Y2ggKHJlc29sdXRpb24udHlwZSkgewpAQCAtMTMwLDI0ICsxMzQsMjkgQEAgdm9pZCBKU01v
ZHVsZVJlY29yZDo6aW5zdGFudGlhdGVEZWNsYXJhdGlvbnMoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgTW9kdWwKICAgICAgICAgICAgIGNhc2UgUmVzb2x1dGlvbjo6VHlwZTo6UmVzb2x2
ZWQ6CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCi0gICAgLy8gaHR0cDovL3d3dy5l
Y21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLW1vZHVsZWRlY2xhcmF0aW9u
aW5zdGFudGlhdGlvbgotICAgIC8vIHNlY3Rpb24gMTUuMi4xLjE2LjQgc3RlcCAxMi4KKyAgICAv
LyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLXNvdXJjZS10ZXh0LW1vZHVsZS1yZWNvcmQt
aW5pdGlhbGl6ZS1lbnZpcm9ubWVudCBzdGVwIDgKICAgICAvLyBJbnN0YW50aWF0ZSBuYW1lc3Bh
Y2Ugb2JqZWN0cyBhbmQgaW5pdGlhbGl6ZSB0aGUgYmluZGluZ3Mgd2l0aCB0aGVtIGlmIHJlcXVp
cmVkLgogICAgIC8vIEFuZCBlbnN1cmUgdGhhdCBhbGwgdGhlIGltcG9ydHMgY29ycmVjdGx5IHJl
c29sdmVkIHRvIHVuaXF1ZSBiaW5kaW5ncy4KICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiBp
bXBvcnRFbnRyaWVzKCkpIHsKICAgICAgICAgY29uc3QgSW1wb3J0RW50cnkmIGltcG9ydEVudHJ5
ID0gcGFpci52YWx1ZTsKICAgICAgICAgQWJzdHJhY3RNb2R1bGVSZWNvcmQqIGltcG9ydGVkTW9k
dWxlID0gaG9zdFJlc29sdmVJbXBvcnRlZE1vZHVsZShnbG9iYWxPYmplY3QsIGltcG9ydEVudHJ5
Lm1vZHVsZVJlcXVlc3QpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lk
KCkpOwotICAgICAgICBpZiAoaW1wb3J0RW50cnkudHlwZSA9PSBBYnN0cmFjdE1vZHVsZVJlY29y
ZDo6SW1wb3J0RW50cnlUeXBlOjpOYW1lc3BhY2UpIHsKKyAgICAgICAgc3dpdGNoIChpbXBvcnRF
bnRyeS50eXBlKSB7CisgICAgICAgIGNhc2UgQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OkltcG9ydEVu
dHJ5VHlwZTo6TmFtZXNwYWNlOiB7CiAgICAgICAgICAgICBKU01vZHVsZU5hbWVzcGFjZU9iamVj
dCogbmFtZXNwYWNlT2JqZWN0ID0gaW1wb3J0ZWRNb2R1bGUtPmdldE1vZHVsZU5hbWVzcGFjZShn
bG9iYWxPYmplY3QpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9p
ZCgpKTsKICAgICAgICAgICAgIGJvb2wgcHV0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgICAgICBz
eW1ib2xUYWJsZVB1dFRvdWNoV2F0Y2hwb2ludFNldChtb2R1bGVFbnZpcm9ubWVudCwgZ2xvYmFs
T2JqZWN0LCBpbXBvcnRFbnRyeS5sb2NhbE5hbWUsIG5hbWVzcGFjZU9iamVjdCwgLyogc2hvdWxk
VGhyb3dSZWFkT25seUVycm9yICovIGZhbHNlLCAvKiBpZ25vcmVSZWFkT25seUVycm9ycyAqLyB0
cnVlLCBwdXRSZXN1bHQpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
dm9pZCgpKTsKLSAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CisKKyAgICAgICAgY2FzZSBBYnN0cmFjdE1vZHVsZVJlY29yZDo6SW1wb3J0RW50cnlUeXBlOjpT
aW5nbGU6IHsKICAgICAgICAgICAgIFJlc29sdXRpb24gcmVzb2x1dGlvbiA9IGltcG9ydGVkTW9k
dWxlLT5yZXNvbHZlRXhwb3J0KGdsb2JhbE9iamVjdCwgaW1wb3J0RW50cnkuaW1wb3J0TmFtZSk7
CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgICAg
ICAgICAgc3dpdGNoIChyZXNvbHV0aW9uLnR5cGUpIHsKQEAgLTE2Myw5ICsxNzIsMTYgQEAgdm9p
ZCBKU01vZHVsZVJlY29yZDo6aW5zdGFudGlhdGVEZWNsYXJhdGlvbnMoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgTW9kdWwKICAgICAgICAgICAgICAgICB0aHJvd1N5bnRheEVycm9yKGds
b2JhbE9iamVjdCwgc2NvcGUsIG1ha2VTdHJpbmcoIkltcG9ydGluZyBiaW5kaW5nIG5hbWUgJ2Rl
ZmF1bHQnIGNhbm5vdCBiZSByZXNvbHZlZCBieSBzdGFyIGV4cG9ydCBlbnRyaWVzLiIpKTsKICAg
ICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIGNhc2UgUmVzb2x1dGlvbjo6VHlw
ZTo6UmVzb2x2ZWQ6CisgICAgICAgICAgICBjYXNlIFJlc29sdXRpb246OlR5cGU6OlJlc29sdmVk
OiB7CisgICAgICAgICAgICAgICAgaWYgKHZtLnByb3BlcnR5TmFtZXMtPnN0YXJOYW1lc3BhY2VQ
cml2YXRlTmFtZSA9PSByZXNvbHV0aW9uLmxvY2FsTmFtZSkgeworICAgICAgICAgICAgICAgICAg
ICByZXNvbHV0aW9uLm1vZHVsZVJlY29yZC0+Z2V0TW9kdWxlTmFtZXNwYWNlKGdsb2JhbE9iamVj
dCk7IC8vIEZvcmNlIG1vZHVsZSBuYW1lc3BhY2Ugb2JqZWN0IG1hdGVyaWFsaXphdGlvbi4KKyAg
ICAgICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICB9CiAg
ICAgfQogCkBAIC0yMTUsNyArMjMxLDggQEAgdm9pZCBKU01vZHVsZVJlY29yZDo6aW5zdGFudGlh
dGVEZWNsYXJhdGlvbnMoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgTW9kdWwKICAgICAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKICAgICB9CiAKLSAgICBtX21v
ZHVsZUVudmlyb25tZW50LnNldCh2bSwgdGhpcywgbW9kdWxlRW52aXJvbm1lbnQpOworICAgIHNj
b3BlLnJlbGVhc2UoKTsKKyAgICBzZXRNb2R1bGVFbnZpcm9ubWVudChnbG9iYWxPYmplY3QsIG1v
ZHVsZUVudmlyb25tZW50KTsKIH0KIAogSlNWYWx1ZSBKU01vZHVsZVJlY29yZDo6ZXZhbHVhdGUo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKQEAgLTIyNSw3ICsyNDIsNyBAQCBKU1ZhbHVl
IEpTTW9kdWxlUmVjb3JkOjpldmFsdWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQog
ICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBNb2R1bGVQcm9ncmFtRXhlY3V0
YWJsZSogZXhlY3V0YWJsZSA9IG1fbW9kdWxlUHJvZ3JhbUV4ZWN1dGFibGUuZ2V0KCk7CiAgICAg
bV9tb2R1bGVQcm9ncmFtRXhlY3V0YWJsZS5jbGVhcigpOwotICAgIHJldHVybiB2bS5pbnRlcnBy
ZXRlci0+ZXhlY3V0ZU1vZHVsZVByb2dyYW0oZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LCBtX21v
ZHVsZUVudmlyb25tZW50LmdldCgpKTsKKyAgICByZXR1cm4gdm0uaW50ZXJwcmV0ZXItPmV4ZWN1
dGVNb2R1bGVQcm9ncmFtKGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdCwgbW9kdWxlRW52aXJvbm1l
bnQoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9kdWxlLmNwcAppbmRleCBmZjZkOGU0OWE0
MDZjNGFmY2VhYTFmYzU0OTZlNGZiMWRlMzBiODIyLi5jODkyODYyMWRjZTczOTY0M2I3OTQxMGRh
ZWY3ODI2YTA2ZDA4YzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9KU1dlYkFzc2VtYmx5TW9kdWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5TW9kdWxlLmNwcApAQCAtNzUsNiArNzUsMTAgQEAgdm9pZCBKU1dl
YkFzc2VtYmx5TW9kdWxlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAgICAgLy8gT24gc3VjY2Vz
cywgYSBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlIG9iamVjdCBpcyByZXR1cm5lZCB3aXRoIFtbTW9k
dWxlXV0gc2V0IHRvIHRoZSB2YWxpZGF0ZWQgQXN0Lm1vZHVsZS4KICAgICBTeW1ib2xUYWJsZSog
ZXhwb3J0U3ltYm9sVGFibGUgPSBTeW1ib2xUYWJsZTo6Y3JlYXRlKHZtKTsKICAgICBjb25zdCBX
YXNtOjpNb2R1bGVJbmZvcm1hdGlvbiYgbW9kdWxlSW5mb3JtYXRpb24gPSBtX21vZHVsZS0+bW9k
dWxlSW5mb3JtYXRpb24oKTsKKyAgICB7CisgICAgICAgIGF1dG8gb2Zmc2V0ID0gZXhwb3J0U3lt
Ym9sVGFibGUtPnRha2VOZXh0U2NvcGVPZmZzZXQoTm9Mb2NraW5nTmVjZXNzYXJ5KTsKKyAgICAg
ICAgZXhwb3J0U3ltYm9sVGFibGUtPnNldChOb0xvY2tpbmdOZWNlc3NhcnksIHZtLnByb3BlcnR5
TmFtZXMtPnN0YXJOYW1lc3BhY2VQcml2YXRlTmFtZS5pbXBsKCksIFN5bWJvbFRhYmxlRW50cnko
VmFyT2Zmc2V0KG9mZnNldCkpKTsKKyAgICB9CiAgICAgZm9yIChhdXRvJiBleHAgOiBtb2R1bGVJ
bmZvcm1hdGlvbi5leHBvcnRzKSB7CiAgICAgICAgIGF1dG8gb2Zmc2V0ID0gZXhwb3J0U3ltYm9s
VGFibGUtPnRha2VOZXh0U2NvcGVPZmZzZXQoTm9Mb2NraW5nTmVjZXNzYXJ5KTsKICAgICAgICAg
U3RyaW5nIGZpZWxkID0gU3RyaW5nOjpmcm9tVVRGOChleHAuZmllbGQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQu
Y3BwCmluZGV4IDJiNjc3MTAxY2U4ODk0NWE5ZTg3YTEwNjBiYTgzMzU1YjcxOTM0NzcuLjkwMGRl
ZmFiYWUwYWRlOTg3MTk5Y2FmZmJkMTZjMTI3ZjdiNDdlMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5jcHAK
QEAgLTUxOSw3ICs1MTksOSBAQCB2b2lkIFdlYkFzc2VtYmx5TW9kdWxlUmVjb3JkOjpsaW5rKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUsIEpTT2JqZQogICAgICAgICAgICAg
bV9zdGFydEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgZnVuY3Rpb24pOwogICAgICAgICB9CiAgICAg
fQotICAgIG1fbW9kdWxlRW52aXJvbm1lbnQuc2V0KHZtLCB0aGlzLCBtb2R1bGVFbnZpcm9ubWVu
dCk7CisKKyAgICBzY29wZS5yZWxlYXNlKCk7CisgICAgc2V0TW9kdWxlRW52aXJvbm1lbnQoZ2xv
YmFsT2JqZWN0LCBtb2R1bGVFbnZpcm9ubWVudCk7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBT
Y29wZSwgdHlwZW5hbWUgTSwgdHlwZW5hbWUgTiwgdHlwZW5hbWUgLi4uQXJncz4KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjUyNmIzYTZj
M2E4ZWFhZDk4MmU0Y2E4MzY4MDNiZjU0NGM5ZGVlYy4uMmY4MTQ2YWNlNjdmMWM5ZWFmOTVkYTA2
Mzk5MDIyMDYyYTVkNTkyYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wOS0xNiAgWXVzdWtlIFN1enVr
aSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgZXhwb3J0IG5hbWVzcGFj
ZSBgZXhwb3J0ICogYXMgbnNgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTQzNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHRlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWw6CisKIDIwMjAtMDktMTUgIFNh
YW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgSlNJbW11dGFibGVCdXR0
ZXJmbHk6OmdldCBuZWVkcyB0byByZXR1cm4ganNEb3VibGVOdW1iZXIgZm9yIGRvdWJsZSBhcnJh
eXMKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbCBiL0pTVGVz
dHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAppbmRleCAwNWMwOTZhMjhjN2ZlNTY4NGE3ZGEz
ZWYxZjM1YjJmMDNlZmE4NjYyLi42ZDQ3M2M4Nzc4NTJkZWU3YzU4NDk1MzFiNDRmMWExMmZjNjhj
NGQ5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCkBAIC0yNDYxLDI1ICsyNDYxLDkgQEAg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9keW5hbWljLWltcG9ydC9mb3ItYXdhaXQtcmVzb2x1
dGlvbi1hbmQtZXJyb3ItYWdlbi15aWUKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZHluYW1p
Yy1pbXBvcnQvbmFtZXNwYWNlL2F3YWl0LW5zLWRlZmluZS1vd24tcHJvcGVydHkuanM6CiAgIGRl
ZmF1bHQ6ICdUZXN0MjYyOkFzeW5jVGVzdEZhaWx1cmU6VGVzdDI2MkVycm9yOiBUZXN0MjYyRXJy
b3I6IE5vIGNoYW5nZSByZXF1ZXN0ZWQsIFJlZmxlY3QuZGVmaW5lUHJvcGVydHk6IGxvY2FsMSBF
eHBlY3RlZCBTYW1lVmFsdWUowqtmYWxzZcK7LCDCq3RydWXCuykgdG8gYmUgdHJ1ZScKICAgc3Ry
aWN0IG1vZGU6ICdUZXN0MjYyOkFzeW5jVGVzdEZhaWx1cmU6VGVzdDI2MkVycm9yOiBUZXN0MjYy
RXJyb3I6IE5vIGNoYW5nZSByZXF1ZXN0ZWQsIFJlZmxlY3QuZGVmaW5lUHJvcGVydHk6IGxvY2Fs
MSBFeHBlY3RlZCBTYW1lVmFsdWUowqtmYWxzZcK7LCDCq3RydWXCuykgdG8gYmUgdHJ1ZScKLXRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZHluYW1pYy1pbXBvcnQvbmFtZXNwYWNlL2F3YWl0LW5z
LWdldC1uZXN0ZWQtbmFtZXNwYWNlLWRmbHQtZGlyZWN0LmpzOgotICBkZWZhdWx0OiAiVGVzdDI2
MjpBc3luY1Rlc3RGYWlsdXJlOlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2Fz
Jy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBvcnRlZCBtb2R1bGUgbmFtZS4iCi0gIHN0cmlj
dCBtb2RlOiAiVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IGlkZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBvcnRlZCBtb2R1bGUg
bmFtZS4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2R5bmFtaWMtaW1wb3J0L25hbWVzcGFj
ZS9hd2FpdC1ucy1nZXQtbmVzdGVkLW5hbWVzcGFjZS1kZmx0LWluZGlyZWN0LmpzOgotICBtb2R1
bGU6ICJUZXN0MjYyOkFzeW5jVGVzdEZhaWx1cmU6U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRl
bnRpZmllciAnYXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1l
LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZHluYW1pYy1pbXBvcnQvbmFtZXNwYWNlL2F3
YWl0LW5zLWdldC1uZXN0ZWQtbmFtZXNwYWNlLXByb3BzLW5ybWwuanM6Ci0gIGRlZmF1bHQ6ICJU
ZXN0MjYyOkFzeW5jVGVzdEZhaWx1cmU6U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmll
ciAnYXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lLiIKLSAg
c3RyaWN0IG1vZGU6ICJUZXN0MjYyOkFzeW5jVGVzdEZhaWx1cmU6U3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgaWRlbnRpZmllciAnYXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1v
ZHVsZSBuYW1lLiIKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZHluYW1pYy1pbXBvcnQvbmFt
ZXNwYWNlL3Byb21pc2UtdGhlbi1ucy1kZWZpbmUtb3duLXByb3BlcnR5LmpzOgogICBkZWZhdWx0
OiAnVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlRlc3QyNjJFcnJvcjogVGVzdDI2MkVycm9yOiBO
byBjaGFuZ2UgcmVxdWVzdGVkLCBSZWZsZWN0LmRlZmluZVByb3BlcnR5OiBsb2NhbDEgRXhwZWN0
ZWQgU2FtZVZhbHVlKMKrZmFsc2XCuywgwqt0cnVlwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBt
b2RlOiAnVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlRlc3QyNjJFcnJvcjogVGVzdDI2MkVycm9y
OiBObyBjaGFuZ2UgcmVxdWVzdGVkLCBSZWZsZWN0LmRlZmluZVByb3BlcnR5OiBsb2NhbDEgRXhw
ZWN0ZWQgU2FtZVZhbHVlKMKrZmFsc2XCuywgwqt0cnVlwrspIHRvIGJlIHRydWUnCi10ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2R5bmFtaWMtaW1wb3J0L25hbWVzcGFjZS9wcm9taXNlLXRoZW4t
bnMtZ2V0LW5lc3RlZC1uYW1lc3BhY2UtZGZsdC1kaXJlY3QuanM6Ci0gIGRlZmF1bHQ6ICJUZXN0
MjYyOkFzeW5jVGVzdEZhaWx1cmU6U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAn
YXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lLiIKLSAgc3Ry
aWN0IG1vZGU6ICJUZXN0MjYyOkFzeW5jVGVzdEZhaWx1cmU6U3ludGF4RXJyb3I6IFVuZXhwZWN0
ZWQgaWRlbnRpZmllciAnYXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1vZHVs
ZSBuYW1lLiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZHluYW1pYy1pbXBvcnQvbmFtZXNw
YWNlL3Byb21pc2UtdGhlbi1ucy1nZXQtbmVzdGVkLW5hbWVzcGFjZS1kZmx0LWluZGlyZWN0Lmpz
OgotICBtb2R1bGU6ICJUZXN0MjYyOkFzeW5jVGVzdEZhaWx1cmU6U3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgaWRlbnRpZmllciAnYXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1v
ZHVsZSBuYW1lLiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZHluYW1pYy1pbXBvcnQvbmFt
ZXNwYWNlL3Byb21pc2UtdGhlbi1ucy1nZXQtbmVzdGVkLW5hbWVzcGFjZS1wcm9wcy1ucm1sLmpz
OgotICBkZWZhdWx0OiAiVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBvcnRlZCBt
b2R1bGUgbmFtZS4iCi0gIHN0cmljdCBtb2RlOiAiVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJl
Zm9yZSBleHBvcnRlZCBtb2R1bGUgbmFtZS4iCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1
bmN0aW9uL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRp
b24gd2FzIHRocm93biBhdCBhbGwnCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9u
L3Njb3BlLWJvZHktbGV4LWRpc3RpbmN0LmpzOgpAQCAtMjk5NywyOCArMjk4MSwxMCBAQCB0ZXN0
L2xhbmd1YWdlL2lkZW50aWZpZXJzL3N0YXJ0LXVuaWNvZGUtMTMuMC4wLmpzOgogdGVzdC9sYW5n
dWFnZS9saXRlcmFscy9yZWdleHAvdS1hc3RyYWwtY2hhci1jbGFzcy1pbnZlcnQuanM6CiAgIGRl
ZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq++/vcK7LCDCq251bGzC
uykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNh
bWVWYWx1ZSjCq++/vcK7LCDCq251bGzCuykgdG8gYmUgdHJ1ZScKLXRlc3QvbGFuZ3VhZ2UvbW9k
dWxlLWNvZGUvZXZhbC1ycXN0ZC1vbmNlLmpzOgotICBtb2R1bGU6ICJTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCBpZGVudGlmaWVyICdhcycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQg
bW9kdWxlIG5hbWUuIgotdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9ldmFsLXJxc3RkLW9yZGVy
LmpzOgotICBtb2R1bGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhcycu
IEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgotdGVzdC9sYW5n
dWFnZS9tb2R1bGUtY29kZS9ldmFsLXNlbGYtb25jZS5qczoKLSAgbW9kdWxlOiAiU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4
cG9ydGVkIG1vZHVsZSBuYW1lLiIKIHRlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZXhwb3J0LWRl
ZmF1bHQtYXN5bmNnZW5lcmF0b3ItZGVjbGFyYXRpb24tYmluZGluZy5qczoKICAgbW9kdWxlOiAi
U3ludGF4RXJyb3I6IEV4cG9ydGVkIGJpbmRpbmcgJ3N0YXJEZWZhdWx0JyBuZWVkcyB0byByZWZl
ciB0byBhIHRvcC1sZXZlbCBkZWNsYXJlZCB2YXJpYWJsZS4iCi10ZXN0L2xhbmd1YWdlL21vZHVs
ZS1jb2RlL2V4cG9ydC1zdGFyLWFzLWRmbHQuanM6Ci0gIG1vZHVsZTogIlN5bnRheEVycm9yOiBV
bmV4cGVjdGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBvcnRl
ZCBtb2R1bGUgbmFtZS4iCi10ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL2luc3RuLW9uY2UuanM6
Ci0gIG1vZHVsZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhw
ZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBvcnRlZCBtb2R1bGUgbmFtZS4iCi10ZXN0L2xhbmd1YWdl
L21vZHVsZS1jb2RlL2luc3RuLXN0YXItYXMtcHJvcHMtZGZsdC1za2lwLmpzOgotICBtb2R1bGU6
ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhcycuIEV4cGVjdGVkICdmcm9t
JyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgotdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29k
ZS9pbnN0bi1zdGFyLXByb3BzLW5ybWwuanM6Ci0gIG1vZHVsZTogIlN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBvcnRlZCBt
b2R1bGUgbmFtZS4iCiB0ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL25hbWVzcGFjZS9pbnRlcm5h
bHMvZGVmaW5lLW93bi1wcm9wZXJ0eS5qczoKICAgbW9kdWxlOiAnVGVzdDI2MkVycm9yOiBSZWZs
ZWN0LmRlZmluZVByb3BlcnR5OiBsb2NhbDEgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrZmFsc2XCuywg
wqt0cnVlwrspIHRvIGJlIHRydWUnCi10ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL25hbWVzcGFj
ZS9pbnRlcm5hbHMvZ2V0LW5lc3RlZC1uYW1lc3BhY2UtZGZsdC1za2lwLmpzOgotICBtb2R1bGU6
ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhcycuIEV4cGVjdGVkICdmcm9t
JyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgotdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29k
ZS9uYW1lc3BhY2UvaW50ZXJuYWxzL2dldC1uZXN0ZWQtbmFtZXNwYWNlLXByb3BzLW5ybWwuanM6
Ci0gIG1vZHVsZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhw
ZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBvcnRlZCBtb2R1bGUgbmFtZS4iCiB0ZXN0L2xhbmd1YWdl
L21vZHVsZS1jb2RlL3BhcnNlLWVyci1ob2lzdC1sZXgtZnVuLmpzOgogICBtb2R1bGU6ICdUZXN0
MjYyOiBUaGlzIHN0YXRlbWVudCBzaG91bGQgbm90IGJlIGV2YWx1YXRlZC4nCiB0ZXN0L2xhbmd1
YWdlL21vZHVsZS1jb2RlL3BhcnNlLWVyci1ob2lzdC1sZXgtZ2VuLmpzOgo=
</data>
<flag name="review"
          id="424563"
          type_id="1"
          status="+"
          setter="ross.kirsling"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409007</attachid>
            <date>2020-09-17 01:05:17 -0700</date>
            <delta_ts>2020-09-17 01:18:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214379-20200917010516.patch</filename>
            <type>text/plain</type>
            <size>31173</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
YWU0NzU3OGVlNGMzNmI3YjA2YzI2ZjEzYzdhYzM3ZTZkMzQ1ODUzLi40ZjVkNWI5ODU1MGIyMWYz
M2M2MjBmNGZkZWY0ZGE1OGJhNTI3YmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAyMC0wOS0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFN1cHBvcnQgZXhwb3J0IG5hbWVzcGFjZSBgZXhwb3J0ICogYXMgbnNgCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQzNzkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBSb3NzIEtpcnNsaW5nLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
c3VwcG9ydHMgYGV4cG9ydCAqIGFzIG5zIGZyb20gIm1vZHVsZSJgIHN5bnRheC4gSWYgaXQgaXMg
dXNlZCwgd2UgZXhwb3NlICJtb2R1bGUiJ3MgbmFtZXNwYWNlIG9iamVjdCBhcyAibnMiLgorICAg
ICAgICBGb3IgZWFjaCBtb2R1bGUgZW52aXJvbm1lbnQsIHdlIGNyZWF0ZSAqbmFtZXNwYWNlKiAo
c3Rhck5hbWVzcGFjZSkgcHJpdmF0ZSBzeW1ib2wgc2NvcGUgdmFyaWFibGUuIEFuZCB3ZSBmaWxs
IGl0IGxhdGVyCisgICAgICAgIHdpdGggbW9kdWxlIG5hbWVzcGFjZSBvYmplY3QuIFRoaXMgd2F5
IGFsbG93cyB1cyB0byB1c2UgbW9kdWxlIG5hbWVzcGFjZSBvYmplY3QgSUMgYW5kIHN1cGVyIGZh
c3QgaW1wb3J0ZWQgbW9kdWxlIGJpbmRpbmcKKyAgICAgICAgbG9va3VwIHRob3VnaCBlbnZpcm9u
bWVudCB2YXJpYWJsZSBsb29rdXAgbWVjaGFuaXNtLgorCisgICAgICAgICogYnVpbHRpbnMvQnVp
bHRpbk5hbWVzLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKToK
KyAgICAgICAgKiBwYXJzZXIvTm9kZXNBbmFseXplTW9kdWxlLmNwcDoKKyAgICAgICAgKEpTQzo6
RXhwb3J0TmFtZWREZWNsYXJhdGlvbk5vZGU6OmFuYWx5emVNb2R1bGUpOgorICAgICAgICAqIHBh
cnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VF
eHBvcnREZWNsYXJhdGlvbik6CisgICAgICAgICogcnVudGltZS9BYnN0cmFjdE1vZHVsZVJlY29y
ZC5jcHA6CisgICAgICAgIChKU0M6OkFic3RyYWN0TW9kdWxlUmVjb3JkOjpFeHBvcnRFbnRyeTo6
Y3JlYXRlTmFtZXNwYWNlKToKKyAgICAgICAgKEpTQzo6QWJzdHJhY3RNb2R1bGVSZWNvcmQ6OnJl
c29sdmVFeHBvcnRJbXBsKToKKyAgICAgICAgKEpTQzo6QWJzdHJhY3RNb2R1bGVSZWNvcmQ6Omdl
dE1vZHVsZU5hbWVzcGFjZSk6CisgICAgICAgIChKU0M6OkFic3RyYWN0TW9kdWxlUmVjb3JkOjpz
ZXRNb2R1bGVFbnZpcm9ubWVudCk6CisgICAgICAgIChKU0M6OkFic3RyYWN0TW9kdWxlUmVjb3Jk
OjpkdW1wKToKKyAgICAgICAgKiBydW50aW1lL0Fic3RyYWN0TW9kdWxlUmVjb3JkLmg6CisgICAg
ICAgICogcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNG
dW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246Om5hbWUpOgorICAgICAgICAo
SlNDOjpKU0Z1bmN0aW9uOjpyZWlmeU5hbWUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNNb2R1bGVO
YW1lc3BhY2VPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU01vZHVsZU5hbWVzcGFjZU9iamVj
dDo6Z2V0T3duUHJvcGVydHlTbG90Q29tbW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTTW9kdWxl
UmVjb3JkLmNwcDoKKyAgICAgICAgKEpTQzo6SlNNb2R1bGVSZWNvcmQ6Omluc3RhbnRpYXRlRGVj
bGFyYXRpb25zKToKKyAgICAgICAgKEpTQzo6SlNNb2R1bGVSZWNvcmQ6OmV2YWx1YXRlKToKKyAg
ICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuY3BwOgorICAgICAgICAoSlNDOjpK
U1dlYkFzc2VtYmx5TW9kdWxlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogd2FzbS9qcy9X
ZWJBc3NlbWJseU1vZHVsZVJlY29yZC5jcHA6CisgICAgICAgIChKU0M6OldlYkFzc2VtYmx5TW9k
dWxlUmVjb3JkOjpsaW5rKToKKwogMjAyMC0wOS0xNiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBEb24ndCBJQyBhIG51bGwgY3VzdG9tIGFjY2Vzc29yL3ZhbHVl
IHNldHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0
aW5OYW1lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5o
CmluZGV4IDJiNWY5MDI4MjBlYmViODFkNjI3ZmMxNmZhZWQ3ZDk0MTcxZjVlNDAuLjMwYjgxYjE1
MTliYWEyNzQzYjc5MTVjOTNhOTg3Zjg2MzVlZDIwNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKQEAgLTgzLDYgKzgzLDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgbWFjcm8ocHVzaCkgXAogICAgIG1hY3JvKHJlcGVhdENoYXJhY3RlcikgXAog
ICAgIG1hY3JvKHN0YXJEZWZhdWx0KSBcCisgICAgbWFjcm8oc3Rhck5hbWVzcGFjZSkgXAogICAg
IG1hY3JvKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbikgXAogICAgIG1hY3JvKGtleXMpIFwKICAg
ICBtYWNybyh2YWx1ZXMpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggYjFhNTQ4YTFmZmIwMzNmOTEx
MzE3MzFhZGMwYjVhOGViZThlYTFhNi4uYjRkODdjYjFhNzM2YjUxNGRkMjhiM2FhMzgxMjliODVh
YTE3ZDg0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTk1OSw2ICs5NTksNyBAQCBCeXRlY29kZUdl
bmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IoVk0mIHZtLCBNb2R1bGVQcm9ncmFtTm9kZSogbW9k
dWxlUHJvZ3JhbU5vZAogCiAgICAgLy8gTm93IGRlY2xhcmUgYWxsIHZhcmlhYmxlcy4KIAorICAg
IGNyZWF0ZVZhcmlhYmxlKG1fdm0ucHJvcGVydHlOYW1lcy0+c3Rhck5hbWVzcGFjZVByaXZhdGVO
YW1lLCBWYXJLaW5kOjpTY29wZSwgbW9kdWxlRW52aXJvbm1lbnRTeW1ib2xUYWJsZSwgVmVyaWZ5
RXhpc3RpbmcpOwogICAgIGNyZWF0ZVZhcmlhYmxlKG1fdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRp
bk5hbWVzKCkubWV0YVByaXZhdGVOYW1lKCksIFZhcktpbmQ6OlNjb3BlLCBtb2R1bGVFbnZpcm9u
bWVudFN5bWJvbFRhYmxlLCBWZXJpZnlFeGlzdGluZyk7CiAKICAgICBmb3IgKGF1dG8mIGVudHJ5
IDogbW9kdWxlUHJvZ3JhbU5vZGUtPnZhckRlY2xhcmF0aW9ucygpKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzQW5hbHl6ZU1vZHVsZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzQW5hbHl6ZU1vZHVsZS5jcHAKaW5kZXggYWMw
MDIwNGI4NmM1ZDY2ZmZkM2E1YjhiMDIwZWE5OTQ4M2UyNmRhNi4uYTIxYTMwZWJjNTJkMmQwMjdi
YTIzY2YxNGM4MjVjMTRjMTk0ZTkxMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2Rlc0FuYWx5emVNb2R1bGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXNBbmFseXplTW9kdWxlLmNwcApAQCAtODUsNyArODUsMTQgQEAgdm9pZCBF
eHBvcnROYW1lZERlY2xhcmF0aW9uTm9kZTo6YW5hbHl6ZU1vZHVsZShNb2R1bGVBbmFseXplciYg
YW5hbHl6ZXIpCiAgICAgICAgICAgICAvLwogICAgICAgICAgICAgLy8gSW4gdGhpcyBjYXNlLCBu
byBsb2NhbCB2YXJpYWJsZSBuYW1lcyBhcmUgaW1wb3J0ZWQgaW50byB0aGUgY3VycmVudCBtb2R1
bGUuCiAgICAgICAgICAgICAvLyAidiIgaW5kaXJlY3RseSBwb2ludHMgdGhlIGJpbmRpbmcgaW4g
Im1vZCIuCi0gICAgICAgICAgICBhbmFseXplci5tb2R1bGVSZWNvcmQoKS0+YWRkRXhwb3J0RW50
cnkoSlNNb2R1bGVSZWNvcmQ6OkV4cG9ydEVudHJ5OjpjcmVhdGVJbmRpcmVjdChzcGVjaWZpZXIt
PmV4cG9ydGVkTmFtZSgpLCBzcGVjaWZpZXItPmxvY2FsTmFtZSgpLCBtX21vZHVsZU5hbWUtPm1v
ZHVsZU5hbWUoKSkpOworICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIC8vIGV4cG9ydCAqIGFz
IHYgZnJvbSAibW9kIgorICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIC8vIElmIGl0IGlzIG5h
bWVzcGFjZSBleHBvcnQsIHdlIHNob3VsZCB1c2UgY3JlYXRlTmFtZXNwYWNlLgorICAgICAgICAg
ICAgaWYgKHNwZWNpZmllci0+bG9jYWxOYW1lKCkgPT0gYW5hbHl6ZXIudm0oKS5wcm9wZXJ0eU5h
bWVzLT5zdGFyTmFtZXNwYWNlUHJpdmF0ZU5hbWUpCisgICAgICAgICAgICAgICAgYW5hbHl6ZXIu
bW9kdWxlUmVjb3JkKCktPmFkZEV4cG9ydEVudHJ5KEpTTW9kdWxlUmVjb3JkOjpFeHBvcnRFbnRy
eTo6Y3JlYXRlTmFtZXNwYWNlKHNwZWNpZmllci0+ZXhwb3J0ZWROYW1lKCksIG1fbW9kdWxlTmFt
ZS0+bW9kdWxlTmFtZSgpKSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYW5h
bHl6ZXIubW9kdWxlUmVjb3JkKCktPmFkZEV4cG9ydEVudHJ5KEpTTW9kdWxlUmVjb3JkOjpFeHBv
cnRFbnRyeTo6Y3JlYXRlSW5kaXJlY3Qoc3BlY2lmaWVyLT5leHBvcnRlZE5hbWUoKSwgc3BlY2lm
aWVyLT5sb2NhbE5hbWUoKSwgbV9tb2R1bGVOYW1lLT5tb2R1bGVOYW1lKCkpKTsKICAgICAgICAg
fQogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCBj
N2Y5YmU4MTRjNTVkMjk2M2U1N2JmZTg3NDIyZGRiZjc1MTY2MWM0Li4xMjc3MWQ5OTdiMzE0OTc5
MTRjOWQ3MmNlYjgwY2EzYTU1YjE2ODgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuY3BwCkBAIC0zNTMxLDE0ICszNTMxLDM0IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJh
CiAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNhc2UgVElNRVM6IHsKICAgICAg
ICAgLy8gZXhwb3J0ICogRnJvbUNsYXVzZSA7CisgICAgICAgIC8vIGV4cG9ydCAqIGFzIElkZW50
aWZpZXJOYW1lIEZyb21DbGF1c2UgOwogICAgICAgICBuZXh0KCk7CiAKKyAgICAgICAgY29uc3Qg
SWRlbnRpZmllciogZXhwb3J0ZWROYW1lID0gbnVsbHB0cjsKKyAgICAgICAgSlNUb2tlbkxvY2F0
aW9uIHNwZWNpZmllckxvY2F0aW9uOworICAgICAgICBpZiAobWF0Y2hDb250ZXh0dWFsS2V5d29y
ZChtX3ZtLnByb3BlcnR5TmFtZXMtPmFzKSkgeworICAgICAgICAgICAgbmV4dCgpOworICAgICAg
ICAgICAgc3BlY2lmaWVyTG9jYXRpb24gPSBKU1Rva2VuTG9jYXRpb24odG9rZW5Mb2NhdGlvbigp
KTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoSWRlbnRpZmllck9yS2V5d29yZCgpLCAi
RXhwZWN0ZWQgYW4gZXhwb3J0ZWQgbmFtZSBmb3IgdGhlIGV4cG9ydCBkZWNsYXJhdGlvbiIpOwor
ICAgICAgICAgICAgZXhwb3J0ZWROYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAg
ICAgICBuZXh0KCk7CisgICAgICAgIH0KKwogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaENvbnRl
eHR1YWxLZXl3b3JkKG1fdm0ucHJvcGVydHlOYW1lcy0+ZnJvbSksICJFeHBlY3RlZCAnZnJvbScg
YmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lIik7CiAgICAgICAgIG5leHQoKTsKICAgICAgICAg
YXV0byBtb2R1bGVOYW1lID0gcGFyc2VNb2R1bGVOYW1lKGNvbnRleHQpOwogICAgICAgICBmYWls
SWZGYWxzZShtb2R1bGVOYW1lLCAiQ2Fubm90IHBhcnNlIHRoZSAnZnJvbScgY2xhdXNlIik7CiAg
ICAgICAgIGZhaWxJZkZhbHNlKGF1dG9TZW1pQ29sb24oKSwgIkV4cGVjdGVkIGEgJzsnIGZvbGxv
d2luZyBhIHRhcmdldGVkIGV4cG9ydCBkZWNsYXJhdGlvbiIpOwogCisgICAgICAgIGlmIChleHBv
cnRlZE5hbWUpIHsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbElmRmFsc2UoZXhwb3J0TmFtZSgq
ZXhwb3J0ZWROYW1lKSwgIkNhbm5vdCBleHBvcnQgYSBkdXBsaWNhdGUgbmFtZSAnIiwgZXhwb3J0
ZWROYW1lLT5pbXBsKCksICInIik7CisgICAgICAgICAgICBhdXRvIHNwZWNpZmllckxpc3QgPSBj
b250ZXh0LmNyZWF0ZUV4cG9ydFNwZWNpZmllckxpc3QoKTsKKyAgICAgICAgICAgIGF1dG8gbG9j
YWxOYW1lID0gJm1fdm0ucHJvcGVydHlOYW1lcy0+c3Rhck5hbWVzcGFjZVByaXZhdGVOYW1lOwor
ICAgICAgICAgICAgYXV0byBzcGVjaWZpZXIgPSBjb250ZXh0LmNyZWF0ZUV4cG9ydFNwZWNpZmll
cihzcGVjaWZpZXJMb2NhdGlvbiwgKmxvY2FsTmFtZSwgKmV4cG9ydGVkTmFtZSk7CisgICAgICAg
ICAgICBjb250ZXh0LmFwcGVuZEV4cG9ydFNwZWNpZmllcihzcGVjaWZpZXJMaXN0LCBzcGVjaWZp
ZXIpOworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRXhwb3J0TmFtZWREZWNsYXJh
dGlvbihleHBvcnRMb2NhdGlvbiwgc3BlY2lmaWVyTGlzdCwgbW9kdWxlTmFtZSk7CisgICAgICAg
IH0KKwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVFeHBvcnRBbGxEZWNsYXJhdGlvbihl
eHBvcnRMb2NhdGlvbiwgbW9kdWxlTmFtZSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BYnN0cmFjdE1vZHVsZVJlY29yZC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BYnN0cmFjdE1vZHVsZVJlY29yZC5jcHAKaW5kZXggZmUw
YzlhMmI4MGU2ZGZmNDFjMDFiZTgwMDA0MGE5MDdiYmVlNzI3Ni4uMGFjMzM1OTAxNjllNzI4ZGE5
ZDI4NzE5NDIxYWIzN2E4NzMwYTI3NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQWJzdHJhY3RNb2R1bGVSZWNvcmQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Fic3RyYWN0TW9kdWxlUmVjb3JkLmNwcApAQCAtMTE4LDYgKzExOCwxMSBA
QCBhdXRvIEFic3RyYWN0TW9kdWxlUmVjb3JkOjpFeHBvcnRFbnRyeTo6Y3JlYXRlSW5kaXJlY3Qo
Y29uc3QgSWRlbnRpZmllciYgZXhwb3J0TgogICAgIHJldHVybiBFeHBvcnRFbnRyeSB7IFR5cGU6
OkluZGlyZWN0LCBleHBvcnROYW1lLCBtb2R1bGVOYW1lLCBpbXBvcnROYW1lLCBJZGVudGlmaWVy
KCkgfTsKIH0KIAorYXV0byBBYnN0cmFjdE1vZHVsZVJlY29yZDo6RXhwb3J0RW50cnk6OmNyZWF0
ZU5hbWVzcGFjZShjb25zdCBJZGVudGlmaWVyJiBleHBvcnROYW1lLCBjb25zdCBJZGVudGlmaWVy
JiBtb2R1bGVOYW1lKSAtPiBFeHBvcnRFbnRyeQoreworICAgIHJldHVybiBFeHBvcnRFbnRyeSB7
IFR5cGU6Ok5hbWVzcGFjZSwgZXhwb3J0TmFtZSwgbW9kdWxlTmFtZSwgSWRlbnRpZmllcigpLCBJ
ZGVudGlmaWVyKCkgfTsKK30KKwogYXV0byBBYnN0cmFjdE1vZHVsZVJlY29yZDo6UmVzb2x1dGlv
bjo6bm90Rm91bmQoKSAtPiBSZXNvbHV0aW9uCiB7CiAgICAgcmV0dXJuIFJlc29sdXRpb24geyBU
eXBlOjpOb3RGb3VuZCwgbnVsbHB0ciwgSWRlbnRpZmllcigpIH07CkBAIC02MzEsNiArNjM2LDE4
IEBAIGF1dG8gQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OnJlc29sdmVFeHBvcnRJbXBsKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0CiAgICAgICAgICAgICAgICAgcGVuZGluZ1Rhc2tz
LmFwcGVuZChUYXNrIHsgUmVzb2x2ZVF1ZXJ5KGltcG9ydGVkTW9kdWxlUmVjb3JkLCBleHBvcnRF
bnRyeS5pbXBvcnROYW1lKSwgVHlwZTo6UXVlcnkgfSk7CiAgICAgICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNhc2UgRXhwb3J0RW50cnk6OlR5cGU6
Ok5hbWVzcGFjZTogeworICAgICAgICAgICAgICAgIEFic3RyYWN0TW9kdWxlUmVjb3JkKiBpbXBv
cnRlZE1vZHVsZVJlY29yZCA9IG1vZHVsZVJlY29yZC0+aG9zdFJlc29sdmVJbXBvcnRlZE1vZHVs
ZShnbG9iYWxPYmplY3QsIGV4cG9ydEVudHJ5Lm1vZHVsZU5hbWUpOworICAgICAgICAgICAgICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIFJlc29sdXRpb246OmVycm9yKCkpOworCisgICAg
ICAgICAgICAgICAgUmVzb2x1dGlvbiByZXNvbHV0aW9uIHsgUmVzb2x1dGlvbjo6VHlwZTo6UmVz
b2x2ZWQsIGltcG9ydGVkTW9kdWxlUmVjb3JkLCB2bS5wcm9wZXJ0eU5hbWVzLT5zdGFyTmFtZXNw
YWNlUHJpdmF0ZU5hbWUgfTsKKyAgICAgICAgICAgICAgICAvLyAgMi4gQSBtb2R1bGUgdGhhdCBo
YXMgcmVzb2x2ZWQgYSBtb2R1bGUgbmFtZXNwYWNlIGJpbmRpbmcgaXMgYWx3YXlzIGNhY2hlYWJs
ZS4KKyAgICAgICAgICAgICAgICBjYWNoZVJlc29sdXRpb25Gb3JRdWVyeShxdWVyeSwgcmVzb2x1
dGlvbik7CisgICAgICAgICAgICAgICAgaWYgKCFtZXJnZVRvQ3VycmVudFRvcChyZXNvbHV0aW9u
KSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJlc29sdXRpb246OmFtYmlndW91cygpOwor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTc1NywxMCArNzc0LDM3IEBAIEpTTW9k
dWxlTmFtZXNwYWNlT2JqZWN0KiBBYnN0cmFjdE1vZHVsZVJlY29yZDo6Z2V0TW9kdWxlTmFtZXNw
YWNlKEpTR2xvYmFsT2JqZWN0CiAKICAgICBhdXRvKiBtb2R1bGVOYW1lc3BhY2VPYmplY3QgPSBK
U01vZHVsZU5hbWVzcGFjZU9iamVjdDo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0
LT5tb2R1bGVOYW1lc3BhY2VPYmplY3RTdHJ1Y3R1cmUoKSwgdGhpcywgV1RGTW92ZShyZXNvbHV0
aW9ucykpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOworCisgICAg
Ly8gTWF0ZXJpYWxpemUgKm5hbWVzcGFjZSogc2xvdCB3aXRoIG1vZHVsZSBuYW1lc3BhY2Ugb2Jq
ZWN0IHVubGVzcyB0aGUgbW9kdWxlIGVudmlyb25tZW50IGlzIG5vdCB5ZXQgbWF0ZXJpYWxpemVk
LCBpbiB3aGljaCBjYXNlIHdlJ2xsIGRvIGl0IGluIHNldE1vZHVsZUVudmlyb25tZW50CisgICAg
aWYgKG1fbW9kdWxlRW52aXJvbm1lbnQpIHsKKyAgICAgICAgY29uc3RleHByIGJvb2wgcHV0UmVz
dWx0ID0gZmFsc2U7CisgICAgICAgIGNvbnN0ZXhwciBib29sIHNob3VsZFRocm93UmVhZE9ubHlF
cnJvciA9IGZhbHNlOworICAgICAgICBjb25zdGV4cHIgYm9vbCBpZ25vcmVSZWFkT25seUVycm9y
cyA9IHRydWU7CisgICAgICAgIHN5bWJvbFRhYmxlUHV0VG91Y2hXYXRjaHBvaW50U2V0KG1fbW9k
dWxlRW52aXJvbm1lbnQuZ2V0KCksIGdsb2JhbE9iamVjdCwgdm0ucHJvcGVydHlOYW1lcy0+c3Rh
ck5hbWVzcGFjZVByaXZhdGVOYW1lLCBtb2R1bGVOYW1lc3BhY2VPYmplY3QsIHNob3VsZFRocm93
UmVhZE9ubHlFcnJvciwgaWdub3JlUmVhZE9ubHlFcnJvcnMsIHB1dFJlc3VsdCk7CisgICAgICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOworICAgIH0KICAgICBtX21vZHVs
ZU5hbWVzcGFjZU9iamVjdC5zZXQodm0sIHRoaXMsIG1vZHVsZU5hbWVzcGFjZU9iamVjdCk7CisK
ICAgICByZXR1cm4gbW9kdWxlTmFtZXNwYWNlT2JqZWN0OwogfQogCit2b2lkIEFic3RyYWN0TW9k
dWxlUmVjb3JkOjpzZXRNb2R1bGVFbnZpcm9ubWVudChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU01vZHVsZUVudmlyb25tZW50KiBtb2R1bGVFbnZpcm9ubWVudCkKK3sKKyAgICBWTSYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1df
U0NPUEUodm0pOworCisgICAgQVNTRVJUKCFtX21vZHVsZUVudmlyb25tZW50KTsKKyAgICAvLyBJ
ZiBtb2R1bGUgbmFtZXNwYWNlIG9iamVjdCBpcyBtYXRlcmlhbGl6ZWQsIHdlIHdpbGwgbWF0ZXJp
YWxpemUgKm5hbWVzcGFjZSogc2xvdCB0b28uCisgICAgaWYgKG1fbW9kdWxlTmFtZXNwYWNlT2Jq
ZWN0KSB7CisgICAgICAgIGNvbnN0ZXhwciBib29sIHB1dFJlc3VsdCA9IGZhbHNlOworICAgICAg
ICBjb25zdGV4cHIgYm9vbCBzaG91bGRUaHJvd1JlYWRPbmx5RXJyb3IgPSBmYWxzZTsKKyAgICAg
ICAgY29uc3RleHByIGJvb2wgaWdub3JlUmVhZE9ubHlFcnJvcnMgPSB0cnVlOworICAgICAgICBz
eW1ib2xUYWJsZVB1dFRvdWNoV2F0Y2hwb2ludFNldChtb2R1bGVFbnZpcm9ubWVudCwgZ2xvYmFs
T2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5zdGFyTmFtZXNwYWNlUHJpdmF0ZU5hbWUsIG1fbW9k
dWxlTmFtZXNwYWNlT2JqZWN0LmdldCgpLCBzaG91bGRUaHJvd1JlYWRPbmx5RXJyb3IsIGlnbm9y
ZVJlYWRPbmx5RXJyb3JzLCBwdXRSZXN1bHQpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCB2b2lkKCkpOworICAgIH0KKyAgICBtX21vZHVsZUVudmlyb25tZW50LnNldCh2bSwg
dGhpcywgbW9kdWxlRW52aXJvbm1lbnQpOworfQorCiB2b2lkIEFic3RyYWN0TW9kdWxlUmVjb3Jk
OjpsaW5rKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgc2NyaXB0RmV0Y2hl
cikKIHsKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC04MjMsNiArODY3LDEw
IEBAIHZvaWQgQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OmR1bXAoKQogICAgICAgICBjYXNlIEV4cG9y
dEVudHJ5OjpUeXBlOjpJbmRpcmVjdDoKICAgICAgICAgICAgIGRhdGFMb2coIiAgICAgIFtJbmRp
cmVjdF0gIiwgImV4cG9ydCgiLCBwcmludGFibGVOYW1lKGV4cG9ydEVudHJ5LmV4cG9ydE5hbWUp
LCAiKSwgaW1wb3J0KCIsIHByaW50YWJsZU5hbWUoZXhwb3J0RW50cnkuaW1wb3J0TmFtZSksICIp
LCBtb2R1bGUoIiwgcHJpbnRhYmxlTmFtZShleHBvcnRFbnRyeS5tb2R1bGVOYW1lKSwgIilcbiIp
OwogICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBFeHBvcnRFbnRyeTo6VHlwZTo6
TmFtZXNwYWNlOgorICAgICAgICAgICAgZGF0YUxvZygiICAgICAgW05hbWVzcGFjZV0gIiwgImV4
cG9ydCgiLCBwcmludGFibGVOYW1lKGV4cG9ydEVudHJ5LmV4cG9ydE5hbWUpLCAiKSwgbW9kdWxl
KCIsIHByaW50YWJsZU5hbWUoZXhwb3J0RW50cnkubW9kdWxlTmFtZSksICIpXG4iKTsKKyAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQogICAgIGZvciAoY29uc3QgYXV0byYgbW9k
dWxlTmFtZSA6IG1fc3RhckV4cG9ydEVudHJpZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BYnN0cmFjdE1vZHVsZVJlY29yZC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQWJzdHJhY3RNb2R1bGVSZWNvcmQuaAppbmRleCBhZTA1OTQxMzgyZTVj
ZmRlNjU4MWMyN2NiZWRiMjc0YmMzOWVhZmUwLi42ZWY1NWMxNjc4MjNiZjBmNTQzNTU2MDc3Y2Ey
M2MyYTllNTZlZjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
YnN0cmFjdE1vZHVsZVJlY29yZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Fic3RyYWN0TW9kdWxlUmVjb3JkLmgKQEAgLTU0LDExICs1NCwxMyBAQCBjbGFzcyBBYnN0cmFj
dE1vZHVsZVJlY29yZCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICBzdHJ1Y3QgRXhw
b3J0RW50cnkgewogICAgICAgICBlbnVtIGNsYXNzIFR5cGUgewogICAgICAgICAgICAgTG9jYWws
Ci0gICAgICAgICAgICBJbmRpcmVjdAorICAgICAgICAgICAgSW5kaXJlY3QsCisgICAgICAgICAg
ICBOYW1lc3BhY2UsCiAgICAgICAgIH07CiAKICAgICAgICAgc3RhdGljIEV4cG9ydEVudHJ5IGNy
ZWF0ZUxvY2FsKGNvbnN0IElkZW50aWZpZXImIGV4cG9ydE5hbWUsIGNvbnN0IElkZW50aWZpZXIm
IGxvY2FsTmFtZSk7CiAgICAgICAgIHN0YXRpYyBFeHBvcnRFbnRyeSBjcmVhdGVJbmRpcmVjdChj
b25zdCBJZGVudGlmaWVyJiBleHBvcnROYW1lLCBjb25zdCBJZGVudGlmaWVyJiBpbXBvcnROYW1l
LCBjb25zdCBJZGVudGlmaWVyJiBtb2R1bGVOYW1lKTsKKyAgICAgICAgc3RhdGljIEV4cG9ydEVu
dHJ5IGNyZWF0ZU5hbWVzcGFjZShjb25zdCBJZGVudGlmaWVyJiBleHBvcnROYW1lLCBjb25zdCBJ
ZGVudGlmaWVyJiBtb2R1bGVOYW1lKTsKIAogICAgICAgICBUeXBlIHR5cGU7CiAgICAgICAgIElk
ZW50aWZpZXIgZXhwb3J0TmFtZTsKQEAgLTEzNiw3ICsxMzgsNyBAQCBjbGFzcyBBYnN0cmFjdE1v
ZHVsZVJlY29yZCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIAogICAgIHN0YXRpYyB2b2lk
IHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAotICAgIFdyaXRlQmFycmll
cjxKU01vZHVsZUVudmlyb25tZW50PiBtX21vZHVsZUVudmlyb25tZW50OworICAgIHZvaWQgc2V0
TW9kdWxlRW52aXJvbm1lbnQoSlNHbG9iYWxPYmplY3QqLCBKU01vZHVsZUVudmlyb25tZW50Kik7
CiAKIHByaXZhdGU6CiAgICAgc3RydWN0IFJlc29sdmVRdWVyeTsKQEAgLTE3Nyw2ICsxNzksOCBA
QCBjbGFzcyBBYnN0cmFjdE1vZHVsZVJlY29yZCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsK
ICAgICAKICAgICBXcml0ZUJhcnJpZXI8SlNNb2R1bGVOYW1lc3BhY2VPYmplY3Q+IG1fbW9kdWxl
TmFtZXNwYWNlT2JqZWN0OwogCisgICAgV3JpdGVCYXJyaWVyPEpTTW9kdWxlRW52aXJvbm1lbnQ+
IG1fbW9kdWxlRW52aXJvbm1lbnQ7CisKICAgICAvLyBXZSBhc3N1bWUgdGhhdCBhbGwgdGhlIEFi
c3RyYWN0TW9kdWxlUmVjb3JkIGFyZSByZXRhaW5lZCBieSBKU01vZHVsZUxvYWRlcidzIHJlZ2lz
dHJ5LgogICAgIC8vIFNvIGhlcmUsIHdlIGRvbid0IHZpc2l0IGVhY2ggb2JqZWN0IGZvciBHQy4g
VGhlIHJlc29sdXRpb24gY2FjaGUgbWFwIGNhY2hlcyB0aGUgb25jZQogICAgIC8vIGxvb2tlZCB1
cCBjb3JyZWN0bHkgcmVzb2x2ZWQgcmVzb2x1dGlvbiwgc2luY2UgKDEpIHdlIHJhcmVseSBsb29r
ZWQgdXAgdGhlIG5vbi1yZXNvbHZlZCBvbmUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCBjMjdjNzNlZmU1MjlkYTQ3NzQ0OGZh
ZmUzNDk0NjIxMDJlYjA5MWYxLi43NmE5YzY0MTRlYTlkODQwNjU5OGQ1NDQwZWFiY2EwNGZkNDcx
NzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50
aWZpZXJzLmgKQEAgLTI5NSw2ICsyOTUsNyBAQAogICAgIG1hY3JvKGdlbmVyYXRvckZyYW1lKSBc
CiAgICAgbWFjcm8obWV0YSkgXAogICAgIG1hY3JvKHN0YXJEZWZhdWx0KSBcCisgICAgbWFjcm8o
c3Rhck5hbWVzcGFjZSkgXAogICAgIG1hY3JvKHVuZGVmaW5lZCkgXAogCiBuYW1lc3BhY2UgSlND
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24u
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKaW5kZXgg
MTViOWY2N2YwNWI2MmIyMjdhYmVmYzg4ZmE2OThiOTQ2ODMyZGY2ZS4uYTdlYjU4NTUwNGFjODQx
ZjdhYjE4MWQ2NDc2YThkNmM4YjgxOGYxYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNGdW5jdGlvbi5jcHAKQEAgLTIxMyw3ICsyMTMsNyBAQCBTdHJpbmcgSlNGdW5jdGlv
bjo6bmFtZShWTSYgdm0pCiAgICAgICAgIHJldHVybiBleGVjdXRhYmxlLT5uYW1lKCk7CiAgICAg
fQogICAgIGNvbnN0IElkZW50aWZpZXIgaWRlbnRpZmllciA9IGpzRXhlY3V0YWJsZSgpLT5uYW1l
KCk7Ci0gICAgaWYgKGlkZW50aWZpZXIgPT0gdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVz
KCkuc3RhckRlZmF1bHRQcml2YXRlTmFtZSgpKQorICAgIGlmIChpZGVudGlmaWVyID09IHZtLnBy
b3BlcnR5TmFtZXMtPnN0YXJEZWZhdWx0UHJpdmF0ZU5hbWUpCiAgICAgICAgIHJldHVybiBlbXB0
eVN0cmluZygpOwogICAgIHJldHVybiBpZGVudGlmaWVyLnN0cmluZygpOwogfQpAQCAtNzk0LDcg
Kzc5NCw3IEBAIHZvaWQgSlNGdW5jdGlvbjo6cmVpZnlOYW1lKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKICAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIv
I3NlYy1leHBvcnRzLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KICAgICAvLyBXaGVuIHRo
ZSBpZGVudCBpcyAiKmRlZmF1bHQqIiwgd2UgbmVlZCB0byBzZXQgImRlZmF1bHQiIGZvciB0aGUg
ZWNtYSBuYW1lLgogICAgIC8vIFRoaXMgIipkZWZhdWx0KiIgbmFtZSBpcyBuZXZlciBzaG93biB0
byB1c2Vycy4KLSAgICBpZiAoZWNtYU5hbWUgPT0gdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5h
bWVzKCkuc3RhckRlZmF1bHRQcml2YXRlTmFtZSgpKQorICAgIGlmIChlY21hTmFtZSA9PSB2bS5w
cm9wZXJ0eU5hbWVzLT5zdGFyRGVmYXVsdFByaXZhdGVOYW1lKQogICAgICAgICBuYW1lID0gdm0u
cHJvcGVydHlOYW1lcy0+ZGVmYXVsdEtleXdvcmQuc3RyaW5nKCk7CiAgICAgZWxzZQogICAgICAg
ICBuYW1lID0gZWNtYU5hbWUuc3RyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVjdC5jcHAKaW5kZXggMzU0MWRh
ZGMxOGVhMmM2OTM0MTExMmZjZDE1ODA3ZjZjN2JlNWM3Mi4uOTk5ZDE4MmYxNzNmZmUxM2RjYzcx
ZDkxYWQzOGY0MGM3NjM2NWQzNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNlT2JqZWN0LmNwcApAQCAtMTM1LDYgKzEzNSwx
NCBAQCBib29sIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RDb21t
b24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iagogICAgIHN3aXRjaCAoc2xvdC5pbnRlcm5hbE1l
dGhvZFR5cGUoKSkgewogICAgIGNhc2UgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6
OkdldE93blByb3BlcnR5OgogICAgIGNhc2UgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5
cGU6OkdldDogeworICAgICAgICBpZiAoZXhwb3J0RW50cnkubG9jYWxOYW1lID09IHZtLnByb3Bl
cnR5TmFtZXMtPnN0YXJOYW1lc3BhY2VQcml2YXRlTmFtZSkgeworICAgICAgICAgICAgLy8gaHR0
cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1tb2R1bGUtbmFtZXNwYWNlLWV4b3RpYy1vYmplY3Rz
LWdldC1wLXJlY2VpdmVyCisgICAgICAgICAgICAvLyAxMC4gSWYgYmluZGluZy5bW0JpbmRpbmdO
YW1lXV0gaXMgIipuYW1lc3BhY2UqIiwgdGhlbgorICAgICAgICAgICAgLy8gICAgIGEuIFJldHVy
biA/IEdldE1vZHVsZU5hbWVzcGFjZSh0YXJnZXRNb2R1bGUpLgorICAgICAgICAgICAgLy8gV2Ug
Y2FsbCBnZXRNb2R1bGVOYW1lc3BhY2UoKSB0byBlbnN1cmUgbWF0ZXJpYWxpemF0aW9uLiBBbmQg
YWZ0ZXIgdGhhdCwgbG9va2luZyB1cCB0aGUgdmFsdWUgZnJvbSB0aGUgc2NvcGUgdG8gZW5jb3Vy
YWdlIG1vZHVsZSBuYW1lc3BhY2Ugb2JqZWN0IElDLgorICAgICAgICAgICAgZXhwb3J0RW50cnku
bW9kdWxlUmVjb3JkLT5nZXRNb2R1bGVOYW1lc3BhY2UoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKKyAgICAgICAgfQogICAgICAg
ICBKU01vZHVsZUVudmlyb25tZW50KiBlbnZpcm9ubWVudCA9IGV4cG9ydEVudHJ5Lm1vZHVsZVJl
Y29yZC0+bW9kdWxlRW52aXJvbm1lbnQoKTsKICAgICAgICAgU2NvcGVPZmZzZXQgc2NvcGVPZmZz
ZXQ7CiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBnZXRWYWx1ZShlbnZpcm9ubWVudCwgZXhwb3J0
RW50cnkubG9jYWxOYW1lLCBzY29wZU9mZnNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU01vZHVsZVJlY29yZC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU01vZHVsZVJlY29yZC5jcHAKaW5kZXggZWQ0MjQyODQ1NTY2NGFjODU5NDAx
NTA0ZTgwMDQzOTExM2RiZjIxYy4uMDhhOTg5MDk2ZWNkMDJjMGMzOTA0YmRhYzk1YjlmMjIxMTAz
ZWUyMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVS
ZWNvcmQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlUmVj
b3JkLmNwcApAQCAtMTExLDcgKzExMSwxMSBAQCB2b2lkIEpTTW9kdWxlUmVjb3JkOjppbnN0YW50
aWF0ZURlY2xhcmF0aW9ucyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBNb2R1bAogICAg
IC8vIFdoZW4gd2Ugc2VlIHRoaXMgdHlwZSBvZiBhbWJpZ3VpdHkgZm9yIHRoZSBpbmRpcmVjdCBl
eHBvcnRzIGhlcmUsIHRocm93IGEgc3ludGF4IGVycm9yLgogICAgIGZvciAoY29uc3QgYXV0byYg
cGFpciA6IGV4cG9ydEVudHJpZXMoKSkgewogICAgICAgICBjb25zdCBFeHBvcnRFbnRyeSYgZXhw
b3J0RW50cnkgPSBwYWlyLnZhbHVlOwotICAgICAgICBpZiAoZXhwb3J0RW50cnkudHlwZSA9PSBK
U01vZHVsZVJlY29yZDo6RXhwb3J0RW50cnk6OlR5cGU6OkluZGlyZWN0KSB7CisgICAgICAgIHN3
aXRjaCAoZXhwb3J0RW50cnkudHlwZSkgeworICAgICAgICBjYXNlIEV4cG9ydEVudHJ5OjpUeXBl
OjpMb2NhbDoKKyAgICAgICAgY2FzZSBFeHBvcnRFbnRyeTo6VHlwZTo6TmFtZXNwYWNlOgorICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgRXhwb3J0RW50cnk6OlR5cGU6OkluZGlyZWN0
OiB7CiAgICAgICAgICAgICBSZXNvbHV0aW9uIHJlc29sdXRpb24gPSByZXNvbHZlRXhwb3J0KGds
b2JhbE9iamVjdCwgZXhwb3J0RW50cnkuZXhwb3J0TmFtZSk7CiAgICAgICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgICAgICAgICAgc3dpdGNoIChyZXNvbHV0
aW9uLnR5cGUpIHsKQEAgLTEzMCwyNCArMTM0LDI5IEBAIHZvaWQgSlNNb2R1bGVSZWNvcmQ6Omlu
c3RhbnRpYXRlRGVjbGFyYXRpb25zKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE1vZHVs
CiAgICAgICAgICAgICBjYXNlIFJlc29sdXRpb246OlR5cGU6OlJlc29sdmVkOgogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0KIAotICAgIC8vIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlv
bmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1tb2R1bGVkZWNsYXJhdGlvbmluc3RhbnRpYXRpb24K
LSAgICAvLyBzZWN0aW9uIDE1LjIuMS4xNi40IHN0ZXAgMTIuCisgICAgLy8gaHR0cHM6Ly90YzM5
LmVzL2VjbWEyNjIvI3NlYy1zb3VyY2UtdGV4dC1tb2R1bGUtcmVjb3JkLWluaXRpYWxpemUtZW52
aXJvbm1lbnQgc3RlcCA4CiAgICAgLy8gSW5zdGFudGlhdGUgbmFtZXNwYWNlIG9iamVjdHMgYW5k
IGluaXRpYWxpemUgdGhlIGJpbmRpbmdzIHdpdGggdGhlbSBpZiByZXF1aXJlZC4KICAgICAvLyBB
bmQgZW5zdXJlIHRoYXQgYWxsIHRoZSBpbXBvcnRzIGNvcnJlY3RseSByZXNvbHZlZCB0byB1bmlx
dWUgYmluZGluZ3MuCiAgICAgZm9yIChjb25zdCBhdXRvJiBwYWlyIDogaW1wb3J0RW50cmllcygp
KSB7CiAgICAgICAgIGNvbnN0IEltcG9ydEVudHJ5JiBpbXBvcnRFbnRyeSA9IHBhaXIudmFsdWU7
CiAgICAgICAgIEFic3RyYWN0TW9kdWxlUmVjb3JkKiBpbXBvcnRlZE1vZHVsZSA9IGhvc3RSZXNv
bHZlSW1wb3J0ZWRNb2R1bGUoZ2xvYmFsT2JqZWN0LCBpbXBvcnRFbnRyeS5tb2R1bGVSZXF1ZXN0
KTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAgICAgICAg
aWYgKGltcG9ydEVudHJ5LnR5cGUgPT0gQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OkltcG9ydEVudHJ5
VHlwZTo6TmFtZXNwYWNlKSB7CisgICAgICAgIHN3aXRjaCAoaW1wb3J0RW50cnkudHlwZSkgewor
ICAgICAgICBjYXNlIEFic3RyYWN0TW9kdWxlUmVjb3JkOjpJbXBvcnRFbnRyeVR5cGU6Ok5hbWVz
cGFjZTogewogICAgICAgICAgICAgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QqIG5hbWVzcGFjZU9i
amVjdCA9IGltcG9ydGVkTW9kdWxlLT5nZXRNb2R1bGVOYW1lc3BhY2UoZ2xvYmFsT2JqZWN0KTsK
ICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAgICAgICAg
ICAgICBib29sIHB1dFJlc3VsdCA9IGZhbHNlOwogICAgICAgICAgICAgc3ltYm9sVGFibGVQdXRU
b3VjaFdhdGNocG9pbnRTZXQobW9kdWxlRW52aXJvbm1lbnQsIGdsb2JhbE9iamVjdCwgaW1wb3J0
RW50cnkubG9jYWxOYW1lLCBuYW1lc3BhY2VPYmplY3QsIC8qIHNob3VsZFRocm93UmVhZE9ubHlF
cnJvciAqLyBmYWxzZSwgLyogaWdub3JlUmVhZE9ubHlFcnJvcnMgKi8gdHJ1ZSwgcHV0UmVzdWx0
KTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNh
c2UgQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OkltcG9ydEVudHJ5VHlwZTo6U2luZ2xlOiB7CiAgICAg
ICAgICAgICBSZXNvbHV0aW9uIHJlc29sdXRpb24gPSBpbXBvcnRlZE1vZHVsZS0+cmVzb2x2ZUV4
cG9ydChnbG9iYWxPYmplY3QsIGltcG9ydEVudHJ5LmltcG9ydE5hbWUpOwogICAgICAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKICAgICAgICAgICAgIHN3aXRjaCAo
cmVzb2x1dGlvbi50eXBlKSB7CkBAIC0xNjMsOSArMTcyLDE2IEBAIHZvaWQgSlNNb2R1bGVSZWNv
cmQ6Omluc3RhbnRpYXRlRGVjbGFyYXRpb25zKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IE1vZHVsCiAgICAgICAgICAgICAgICAgdGhyb3dTeW50YXhFcnJvcihnbG9iYWxPYmplY3QsIHNj
b3BlLCBtYWtlU3RyaW5nKCJJbXBvcnRpbmcgYmluZGluZyBuYW1lICdkZWZhdWx0JyBjYW5ub3Qg
YmUgcmVzb2x2ZWQgYnkgc3RhciBleHBvcnQgZW50cmllcy4iKSk7CiAgICAgICAgICAgICAgICAg
cmV0dXJuOwogCi0gICAgICAgICAgICBjYXNlIFJlc29sdXRpb246OlR5cGU6OlJlc29sdmVkOgor
ICAgICAgICAgICAgY2FzZSBSZXNvbHV0aW9uOjpUeXBlOjpSZXNvbHZlZDogeworICAgICAgICAg
ICAgICAgIGlmICh2bS5wcm9wZXJ0eU5hbWVzLT5zdGFyTmFtZXNwYWNlUHJpdmF0ZU5hbWUgPT0g
cmVzb2x1dGlvbi5sb2NhbE5hbWUpIHsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbi5t
b2R1bGVSZWNvcmQtPmdldE1vZHVsZU5hbWVzcGFjZShnbG9iYWxPYmplY3QpOyAvLyBGb3JjZSBt
b2R1bGUgbmFtZXNwYWNlIG9iamVjdCBtYXRlcmlhbGl6YXRpb24uCisgICAgICAgICAgICAgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIApAQCAtMjE1
LDcgKzIzMSw4IEBAIHZvaWQgSlNNb2R1bGVSZWNvcmQ6Omluc3RhbnRpYXRlRGVjbGFyYXRpb25z
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE1vZHVsCiAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAgICAgfQogCi0gICAgbV9tb2R1bGVFbnZpcm9ubWVu
dC5zZXQodm0sIHRoaXMsIG1vZHVsZUVudmlyb25tZW50KTsKKyAgICBzY29wZS5yZWxlYXNlKCk7
CisgICAgc2V0TW9kdWxlRW52aXJvbm1lbnQoZ2xvYmFsT2JqZWN0LCBtb2R1bGVFbnZpcm9ubWVu
dCk7CiB9CiAKIEpTVmFsdWUgSlNNb2R1bGVSZWNvcmQ6OmV2YWx1YXRlKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCkBAIC0yMjUsNyArMjQyLDcgQEAgSlNWYWx1ZSBKU01vZHVsZVJlY29y
ZDo6ZXZhbHVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7CiAgICAgTW9kdWxlUHJvZ3JhbUV4ZWN1dGFibGUqIGV4ZWN1dGFi
bGUgPSBtX21vZHVsZVByb2dyYW1FeGVjdXRhYmxlLmdldCgpOwogICAgIG1fbW9kdWxlUHJvZ3Jh
bUV4ZWN1dGFibGUuY2xlYXIoKTsKLSAgICByZXR1cm4gdm0uaW50ZXJwcmV0ZXItPmV4ZWN1dGVN
b2R1bGVQcm9ncmFtKGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdCwgbV9tb2R1bGVFbnZpcm9ubWVu
dC5nZXQoKSk7CisgICAgcmV0dXJuIHZtLmludGVycHJldGVyLT5leGVjdXRlTW9kdWxlUHJvZ3Jh
bShleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QsIG1vZHVsZUVudmlyb25tZW50KCkpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvSlNXZWJBc3NlbWJseU1vZHVsZS5jcHAKaW5kZXggZmY2ZDhlNDlhNDA2YzRhZmNlYWExZmM1
NDk2ZTRmYjFkZTMwYjgyMi4uYzg5Mjg2MjFkY2U3Mzk2NDNiNzk0MTBkYWVmNzgyNmEwNmQwOGM1
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJs
eU1vZHVsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseU1vZHVsZS5jcHAKQEAgLTc1LDYgKzc1LDEwIEBAIHZvaWQgSlNXZWJBc3NlbWJseU1vZHVs
ZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIC8vIE9uIHN1Y2Nlc3MsIGEgbmV3IFdlYkFz
c2VtYmx5Lk1vZHVsZSBvYmplY3QgaXMgcmV0dXJuZWQgd2l0aCBbW01vZHVsZV1dIHNldCB0byB0
aGUgdmFsaWRhdGVkIEFzdC5tb2R1bGUuCiAgICAgU3ltYm9sVGFibGUqIGV4cG9ydFN5bWJvbFRh
YmxlID0gU3ltYm9sVGFibGU6OmNyZWF0ZSh2bSk7CiAgICAgY29uc3QgV2FzbTo6TW9kdWxlSW5m
b3JtYXRpb24mIG1vZHVsZUluZm9ybWF0aW9uID0gbV9tb2R1bGUtPm1vZHVsZUluZm9ybWF0aW9u
KCk7CisgICAgeworICAgICAgICBhdXRvIG9mZnNldCA9IGV4cG9ydFN5bWJvbFRhYmxlLT50YWtl
TmV4dFNjb3BlT2Zmc2V0KE5vTG9ja2luZ05lY2Vzc2FyeSk7CisgICAgICAgIGV4cG9ydFN5bWJv
bFRhYmxlLT5zZXQoTm9Mb2NraW5nTmVjZXNzYXJ5LCB2bS5wcm9wZXJ0eU5hbWVzLT5zdGFyTmFt
ZXNwYWNlUHJpdmF0ZU5hbWUuaW1wbCgpLCBTeW1ib2xUYWJsZUVudHJ5KFZhck9mZnNldChvZmZz
ZXQpKSk7CisgICAgfQogICAgIGZvciAoYXV0byYgZXhwIDogbW9kdWxlSW5mb3JtYXRpb24uZXhw
b3J0cykgewogICAgICAgICBhdXRvIG9mZnNldCA9IGV4cG9ydFN5bWJvbFRhYmxlLT50YWtlTmV4
dFNjb3BlT2Zmc2V0KE5vTG9ja2luZ05lY2Vzc2FyeSk7CiAgICAgICAgIFN0cmluZyBmaWVsZCA9
IFN0cmluZzo6ZnJvbVVURjgoZXhwLmZpZWxkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmNwcAppbmRleCAyYjY3
NzEwMWNlODg5NDVhOWU4N2ExMDYwYmE4MzM1NWI3MTkzNDc3Li45MDBkZWZhYmFlMGFkZTk4NzE5
OWNhZmZiZDE2YzEyN2Y3YjQ3ZTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuY3BwCkBAIC01MTksNyArNTE5
LDkgQEAgdm9pZCBXZWJBc3NlbWJseU1vZHVsZVJlY29yZDo6bGluayhKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU1ZhbHVlLCBKU09iamUKICAgICAgICAgICAgIG1fc3RhcnRGdW5jdGlv
bi5zZXQodm0sIHRoaXMsIGZ1bmN0aW9uKTsKICAgICAgICAgfQogICAgIH0KLSAgICBtX21vZHVs
ZUVudmlyb25tZW50LnNldCh2bSwgdGhpcywgbW9kdWxlRW52aXJvbm1lbnQpOworCisgICAgc2Nv
cGUucmVsZWFzZSgpOworICAgIHNldE1vZHVsZUVudmlyb25tZW50KGdsb2JhbE9iamVjdCwgbW9k
dWxlRW52aXJvbm1lbnQpOwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU2NvcGUsIHR5cGVuYW1l
IE0sIHR5cGVuYW1lIE4sIHR5cGVuYW1lIC4uLkFyZ3M+CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0No
YW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRkZGI4ZGZmNjM5Zjk1Yjk3YTg5YWI0
NGVjZGU5ZTFkNmY3ZWUxNGIuLjFlYTk3MDdkYTZhYTI0NzVkMjUyOWQ2N2VkMGQzMzg0NjRhYTUz
MjUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDktMTcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFw
cGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IGV4cG9ydCBuYW1lc3BhY2UgYGV4cG9ydCAqIGFz
IG5zYAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0
Mzc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUm9zcyBLaXJzbGluZy4KKworICAgICAgICAqIHN0
cmVzcy9tb2R1bGVzLXN5bnRheC1lcnJvci5qczoKKyAgICAgICAgKiBzdHJlc3MvbW9kdWxlcy1z
eW50YXguanM6CisgICAgICAgICogdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbDoKKwogMjAyMC0w
OS0xNiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBEb24ndCBJ
QyBhIG51bGwgY3VzdG9tIGFjY2Vzc29yL3ZhbHVlIHNldHRlcgpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy9zdHJlc3MvbW9kdWxlcy1zeW50YXgtZXJyb3IuanMgYi9KU1Rlc3RzL3N0cmVzcy9tb2R1bGVz
LXN5bnRheC1lcnJvci5qcwppbmRleCAzM2E1ZDAzZDdmZWZlNjI5NWI5MTQ0MmQwMzQwNGU4NTFj
ODk0OTYwLi5kY2RmMmVlMTRhYWYzODZhNDNlOTA1MjIyNWQ3YTM3YTc5MWYzMTA0IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3N0cmVzcy9tb2R1bGVzLXN5bnRheC1lcnJvci5qcworKysgYi9KU1Rlc3Rz
L3N0cmVzcy9tb2R1bGVzLXN5bnRheC1lcnJvci5qcwpAQCAtMTk5LDEzICsxOTksMzAgQEAgZnVu
Y3Rpb24gbm9Ub3BMZXZlbCgpIHsKIGAsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlm
aWVyICdhJy4gRXhwZWN0ZWQgZWl0aGVyIGEgZGVjbGFyYXRpb24gb3IgYSB2YXJpYWJsZSBzdGF0
ZW1lbnQuOjJgKTsKIAogY2hlY2tNb2R1bGVTeW50YXhFcnJvcihTdHJpbmcucmF3YAotZXhwb3J0
ICogYXMgYiBmcm9tICJDb2NvYSIKLWAsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlm
aWVyICdhcycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuOjJg
KTsKK2V4cG9ydCB7ICogYXMgYiB9IGZyb20gIkNvY29hIgorYCwgYFN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIHRva2VuICcqJy4gRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgZXhwb3J0
IGRlY2xhcmF0aW9uLjoyYCk7CisKK2NoZWNrTW9kdWxlU3ludGF4RXJyb3IoU3RyaW5nLnJhd2AK
K2V4cG9ydCAqIGFzIGIKK2AsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBlbmQgb2Ygc2NyaXB0
OjNgKTsKKworY2hlY2tNb2R1bGVTeW50YXhFcnJvcihTdHJpbmcucmF3YAorZXhwb3J0ICogYXMg
NDIgZnJvbSAiQ29jb2EiCitgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgbnVtYmVyICc0Micu
IEV4cGVjdGVkIGFuIGV4cG9ydGVkIG5hbWUgZm9yIHRoZSBleHBvcnQgZGVjbGFyYXRpb24uOjJg
KTsKKworY2hlY2tNb2R1bGVTeW50YXhFcnJvcihTdHJpbmcucmF3YAorZXhwb3J0IGNvbnN0IGIg
PSA0MjsKK2V4cG9ydCAqIGFzIGIgZnJvbSAibW9kIgorYCwgYFN5bnRheEVycm9yOiBDYW5ub3Qg
ZXhwb3J0IGEgZHVwbGljYXRlIG5hbWUgJ2InLjo0YCk7CiAKIGNoZWNrTW9kdWxlU3ludGF4RXJy
b3IoU3RyaW5nLnJhd2AKIGV4cG9ydCAqICJDb2NvYSIKIGAsIGBTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCBzdHJpbmcgbGl0ZXJhbCAiQ29jb2EiLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9y
dGVkIG1vZHVsZSBuYW1lLjoyYCk7CiAKK2NoZWNrTW9kdWxlU3ludGF4RXJyb3IoU3RyaW5nLnJh
d2AKK2V4cG9ydCAqCitgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgZW5kIG9mIHNjcmlwdDoz
YCk7CisKIGNoZWNrTW9kdWxlU3ludGF4RXJyb3IoU3RyaW5nLnJhd2AKIGV4cG9ydCBjb25zdCBh
OwogYCwgYFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc7Jy4gY29uc3QgZGVjbGFyZWQg
dmFyaWFibGUgJ2EnIG11c3QgaGF2ZSBhbiBpbml0aWFsaXplci46MmApOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy9zdHJlc3MvbW9kdWxlcy1zeW50YXguanMgYi9KU1Rlc3RzL3N0cmVzcy9tb2R1bGVz
LXN5bnRheC5qcwppbmRleCA2YTI0MjQwYzQ2NzJmOGY2ZjYwYmE2MGI0M2E4NDA0Y2FlZDVkOTIw
Li45ZTI2MmNlYjE1MmU5NzExZDRjMzk3ZmFjOGNmZTFkY2NkOGRhNmRkIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3N0cmVzcy9tb2R1bGVzLXN5bnRheC5qcworKysgYi9KU1Rlc3RzL3N0cmVzcy9tb2R1
bGVzLXN5bnRheC5qcwpAQCAtNzAsNiArNzAsMTQgQEAKIGV4cG9ydCAqIGZyb20gIm1vZCI7CiBg
KTsKIAorY2hlY2tNb2R1bGVTeW50YXgoU3RyaW5nLnJhd2AKK2V4cG9ydCAqIGFzIGIgZnJvbSAi
Q29jb2EiCitgKTsKKworY2hlY2tNb2R1bGVTeW50YXgoU3RyaW5nLnJhd2AKK2V4cG9ydCAqIGFz
IGRlbGV0ZSBmcm9tICJDb2NvYSIKK2ApOworCiAvLyBzZW1pY29sb24gaXMgbm90IG5lZWRlZC4K
IGNoZWNrTW9kdWxlU3ludGF4KFN0cmluZy5yYXdgCiBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAo
KSB7IH0gNDA7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwg
Yi9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKaW5kZXggMDVjMDk2YTI4YzdmZTU2
ODRhN2RhM2VmMWYzNWIyZjAzZWZhODY2Mi4uNmQ0NzNjODc3ODUyZGVlN2M1ODQ5NTMxYjQ0ZjFh
MTJmYzY4YzRkOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1s
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbApAQCAtMjQ2MSwyNSArMjQ2
MSw5IEBAIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZHluYW1pYy1pbXBvcnQvZm9yLWF3YWl0
LXJlc29sdXRpb24tYW5kLWVycm9yLWFnZW4teWllCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2R5bmFtaWMtaW1wb3J0L25hbWVzcGFjZS9hd2FpdC1ucy1kZWZpbmUtb3duLXByb3BlcnR5Lmpz
OgogICBkZWZhdWx0OiAnVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlRlc3QyNjJFcnJvcjogVGVz
dDI2MkVycm9yOiBObyBjaGFuZ2UgcmVxdWVzdGVkLCBSZWZsZWN0LmRlZmluZVByb3BlcnR5OiBs
b2NhbDEgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrZmFsc2XCuywgwqt0cnVlwrspIHRvIGJlIHRydWUn
CiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlRlc3QyNjJFcnJvcjog
VGVzdDI2MkVycm9yOiBObyBjaGFuZ2UgcmVxdWVzdGVkLCBSZWZsZWN0LmRlZmluZVByb3BlcnR5
OiBsb2NhbDEgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrZmFsc2XCuywgwqt0cnVlwrspIHRvIGJlIHRy
dWUnCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2R5bmFtaWMtaW1wb3J0L25hbWVzcGFjZS9h
d2FpdC1ucy1nZXQtbmVzdGVkLW5hbWVzcGFjZS1kZmx0LWRpcmVjdC5qczoKLSAgZGVmYXVsdDog
IlRlc3QyNjI6QXN5bmNUZXN0RmFpbHVyZTpTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlm
aWVyICdhcycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgot
ICBzdHJpY3QgbW9kZTogIlRlc3QyNjI6QXN5bmNUZXN0RmFpbHVyZTpTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCBpZGVudGlmaWVyICdhcycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQg
bW9kdWxlIG5hbWUuIgotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9keW5hbWljLWltcG9ydC9u
YW1lc3BhY2UvYXdhaXQtbnMtZ2V0LW5lc3RlZC1uYW1lc3BhY2UtZGZsdC1pbmRpcmVjdC5qczoK
LSAgbW9kdWxlOiAiVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBvcnRlZCBtb2R1
bGUgbmFtZS4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2R5bmFtaWMtaW1wb3J0L25hbWVz
cGFjZS9hd2FpdC1ucy1nZXQtbmVzdGVkLW5hbWVzcGFjZS1wcm9wcy1ucm1sLmpzOgotICBkZWZh
dWx0OiAiVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlk
ZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBvcnRlZCBtb2R1bGUgbmFt
ZS4iCi0gIHN0cmljdCBtb2RlOiAiVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBv
cnRlZCBtb2R1bGUgbmFtZS4iCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2R5bmFtaWMtaW1w
b3J0L25hbWVzcGFjZS9wcm9taXNlLXRoZW4tbnMtZGVmaW5lLW93bi1wcm9wZXJ0eS5qczoKICAg
ZGVmYXVsdDogJ1Rlc3QyNjI6QXN5bmNUZXN0RmFpbHVyZTpUZXN0MjYyRXJyb3I6IFRlc3QyNjJF
cnJvcjogTm8gY2hhbmdlIHJlcXVlc3RlZCwgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eTogbG9jYWwx
IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2ZhbHNlwrssIMKrdHJ1ZcK7KSB0byBiZSB0cnVlJwogICBz
dHJpY3QgbW9kZTogJ1Rlc3QyNjI6QXN5bmNUZXN0RmFpbHVyZTpUZXN0MjYyRXJyb3I6IFRlc3Qy
NjJFcnJvcjogTm8gY2hhbmdlIHJlcXVlc3RlZCwgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eTogbG9j
YWwxIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2ZhbHNlwrssIMKrdHJ1ZcK7KSB0byBiZSB0cnVlJwot
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9keW5hbWljLWltcG9ydC9uYW1lc3BhY2UvcHJvbWlz
ZS10aGVuLW5zLWdldC1uZXN0ZWQtbmFtZXNwYWNlLWRmbHQtZGlyZWN0LmpzOgotICBkZWZhdWx0
OiAiVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50
aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBvcnRlZCBtb2R1bGUgbmFtZS4i
Ci0gIHN0cmljdCBtb2RlOiAiVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlN5bnRheEVycm9yOiBV
bmV4cGVjdGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBvcnRl
ZCBtb2R1bGUgbmFtZS4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2R5bmFtaWMtaW1wb3J0
L25hbWVzcGFjZS9wcm9taXNlLXRoZW4tbnMtZ2V0LW5lc3RlZC1uYW1lc3BhY2UtZGZsdC1pbmRp
cmVjdC5qczoKLSAgbW9kdWxlOiAiVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBv
cnRlZCBtb2R1bGUgbmFtZS4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2R5bmFtaWMtaW1w
b3J0L25hbWVzcGFjZS9wcm9taXNlLXRoZW4tbnMtZ2V0LW5lc3RlZC1uYW1lc3BhY2UtcHJvcHMt
bnJtbC5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjI6QXN5bmNUZXN0RmFpbHVyZTpTeW50YXhFcnJv
cjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhcycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhw
b3J0ZWQgbW9kdWxlIG5hbWUuIgotICBzdHJpY3QgbW9kZTogIlRlc3QyNjI6QXN5bmNUZXN0RmFp
bHVyZTpTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhcycuIEV4cGVjdGVkICdm
cm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgogdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9mdW5jdGlvbi9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOgogICBkZWZhdWx0OiAn
VGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8g
ZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9m
dW5jdGlvbi9zY29wZS1ib2R5LWxleC1kaXN0aW5jdC5qczoKQEAgLTI5OTcsMjggKzI5ODEsMTAg
QEAgdGVzdC9sYW5ndWFnZS9pZGVudGlmaWVycy9zdGFydC11bmljb2RlLTEzLjAuMC5qczoKIHRl
c3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvcmVnZXhwL3UtYXN0cmFsLWNoYXItY2xhc3MtaW52ZXJ0Lmpz
OgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqvvv73Cuywg
wqtudWxswrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBTYW1lVmFsdWUowqvvv73CuywgwqtudWxswrspIHRvIGJlIHRydWUnCi10ZXN0L2xhbmd1
YWdlL21vZHVsZS1jb2RlL2V2YWwtcnFzdGQtb25jZS5qczoKLSAgbW9kdWxlOiAiU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4
cG9ydGVkIG1vZHVsZSBuYW1lLiIKLXRlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZXZhbC1ycXN0
ZC1vcmRlci5qczoKLSAgbW9kdWxlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmll
ciAnYXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lLiIKLXRl
c3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZXZhbC1zZWxmLW9uY2UuanM6Ci0gIG1vZHVsZTogIlN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJl
Zm9yZSBleHBvcnRlZCBtb2R1bGUgbmFtZS4iCiB0ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL2V4
cG9ydC1kZWZhdWx0LWFzeW5jZ2VuZXJhdG9yLWRlY2xhcmF0aW9uLWJpbmRpbmcuanM6CiAgIG1v
ZHVsZTogIlN5bnRheEVycm9yOiBFeHBvcnRlZCBiaW5kaW5nICdzdGFyRGVmYXVsdCcgbmVlZHMg
dG8gcmVmZXIgdG8gYSB0b3AtbGV2ZWwgZGVjbGFyZWQgdmFyaWFibGUuIgotdGVzdC9sYW5ndWFn
ZS9tb2R1bGUtY29kZS9leHBvcnQtc3Rhci1hcy1kZmx0LmpzOgotICBtb2R1bGU6ICJTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhcycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUg
ZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgotdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9pbnN0bi1v
bmNlLmpzOgotICBtb2R1bGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdh
cycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgotdGVzdC9s
YW5ndWFnZS9tb2R1bGUtY29kZS9pbnN0bi1zdGFyLWFzLXByb3BzLWRmbHQtc2tpcC5qczoKLSAg
bW9kdWxlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYXMnLiBFeHBlY3Rl
ZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lLiIKLXRlc3QvbGFuZ3VhZ2UvbW9k
dWxlLWNvZGUvaW5zdG4tc3Rhci1wcm9wcy1ucm1sLmpzOgotICBtb2R1bGU6ICJTeW50YXhFcnJv
cjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhcycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhw
b3J0ZWQgbW9kdWxlIG5hbWUuIgogdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9uYW1lc3BhY2Uv
aW50ZXJuYWxzL2RlZmluZS1vd24tcHJvcGVydHkuanM6CiAgIG1vZHVsZTogJ1Rlc3QyNjJFcnJv
cjogUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eTogbG9jYWwxIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2Zh
bHNlwrssIMKrdHJ1ZcK7KSB0byBiZSB0cnVlJwotdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9u
YW1lc3BhY2UvaW50ZXJuYWxzL2dldC1uZXN0ZWQtbmFtZXNwYWNlLWRmbHQtc2tpcC5qczoKLSAg
bW9kdWxlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYXMnLiBFeHBlY3Rl
ZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lLiIKLXRlc3QvbGFuZ3VhZ2UvbW9k
dWxlLWNvZGUvbmFtZXNwYWNlL2ludGVybmFscy9nZXQtbmVzdGVkLW5hbWVzcGFjZS1wcm9wcy1u
cm1sLmpzOgotICBtb2R1bGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdh
cycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgogdGVzdC9s
YW5ndWFnZS9tb2R1bGUtY29kZS9wYXJzZS1lcnItaG9pc3QtbGV4LWZ1bi5qczoKICAgbW9kdWxl
OiAnVGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwogdGVz
dC9sYW5ndWFnZS9tb2R1bGUtY29kZS9wYXJzZS1lcnItaG9pc3QtbGV4LWdlbi5qczoK
</data>
<flag name="commit-queue"
          id="424579"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409008</attachid>
            <date>2020-09-17 01:09:21 -0700</date>
            <delta_ts>2020-09-17 01:09:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214379-20200917010920.patch</filename>
            <type>text/plain</type>
            <size>31153</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
YWU0NzU3OGVlNGMzNmI3YjA2YzI2ZjEzYzdhYzM3ZTZkMzQ1ODUzLi40ZjVkNWI5ODU1MGIyMWYz
M2M2MjBmNGZkZWY0ZGE1OGJhNTI3YmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAyMC0wOS0xNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFN1cHBvcnQgZXhwb3J0IG5hbWVzcGFjZSBgZXhwb3J0ICogYXMgbnNgCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQzNzkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBSb3NzIEtpcnNsaW5nLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
c3VwcG9ydHMgYGV4cG9ydCAqIGFzIG5zIGZyb20gIm1vZHVsZSJgIHN5bnRheC4gSWYgaXQgaXMg
dXNlZCwgd2UgZXhwb3NlICJtb2R1bGUiJ3MgbmFtZXNwYWNlIG9iamVjdCBhcyAibnMiLgorICAg
ICAgICBGb3IgZWFjaCBtb2R1bGUgZW52aXJvbm1lbnQsIHdlIGNyZWF0ZSAqbmFtZXNwYWNlKiAo
c3Rhck5hbWVzcGFjZSkgcHJpdmF0ZSBzeW1ib2wgc2NvcGUgdmFyaWFibGUuIEFuZCB3ZSBmaWxs
IGl0IGxhdGVyCisgICAgICAgIHdpdGggbW9kdWxlIG5hbWVzcGFjZSBvYmplY3QuIFRoaXMgd2F5
IGFsbG93cyB1cyB0byB1c2UgbW9kdWxlIG5hbWVzcGFjZSBvYmplY3QgSUMgYW5kIHN1cGVyIGZh
c3QgaW1wb3J0ZWQgbW9kdWxlIGJpbmRpbmcKKyAgICAgICAgbG9va3VwIHRob3VnaCBlbnZpcm9u
bWVudCB2YXJpYWJsZSBsb29rdXAgbWVjaGFuaXNtLgorCisgICAgICAgICogYnVpbHRpbnMvQnVp
bHRpbk5hbWVzLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKToK
KyAgICAgICAgKiBwYXJzZXIvTm9kZXNBbmFseXplTW9kdWxlLmNwcDoKKyAgICAgICAgKEpTQzo6
RXhwb3J0TmFtZWREZWNsYXJhdGlvbk5vZGU6OmFuYWx5emVNb2R1bGUpOgorICAgICAgICAqIHBh
cnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VF
eHBvcnREZWNsYXJhdGlvbik6CisgICAgICAgICogcnVudGltZS9BYnN0cmFjdE1vZHVsZVJlY29y
ZC5jcHA6CisgICAgICAgIChKU0M6OkFic3RyYWN0TW9kdWxlUmVjb3JkOjpFeHBvcnRFbnRyeTo6
Y3JlYXRlTmFtZXNwYWNlKToKKyAgICAgICAgKEpTQzo6QWJzdHJhY3RNb2R1bGVSZWNvcmQ6OnJl
c29sdmVFeHBvcnRJbXBsKToKKyAgICAgICAgKEpTQzo6QWJzdHJhY3RNb2R1bGVSZWNvcmQ6Omdl
dE1vZHVsZU5hbWVzcGFjZSk6CisgICAgICAgIChKU0M6OkFic3RyYWN0TW9kdWxlUmVjb3JkOjpz
ZXRNb2R1bGVFbnZpcm9ubWVudCk6CisgICAgICAgIChKU0M6OkFic3RyYWN0TW9kdWxlUmVjb3Jk
OjpkdW1wKToKKyAgICAgICAgKiBydW50aW1lL0Fic3RyYWN0TW9kdWxlUmVjb3JkLmg6CisgICAg
ICAgICogcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNG
dW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246Om5hbWUpOgorICAgICAgICAo
SlNDOjpKU0Z1bmN0aW9uOjpyZWlmeU5hbWUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNNb2R1bGVO
YW1lc3BhY2VPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU01vZHVsZU5hbWVzcGFjZU9iamVj
dDo6Z2V0T3duUHJvcGVydHlTbG90Q29tbW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTTW9kdWxl
UmVjb3JkLmNwcDoKKyAgICAgICAgKEpTQzo6SlNNb2R1bGVSZWNvcmQ6Omluc3RhbnRpYXRlRGVj
bGFyYXRpb25zKToKKyAgICAgICAgKEpTQzo6SlNNb2R1bGVSZWNvcmQ6OmV2YWx1YXRlKToKKyAg
ICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuY3BwOgorICAgICAgICAoSlNDOjpK
U1dlYkFzc2VtYmx5TW9kdWxlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogd2FzbS9qcy9X
ZWJBc3NlbWJseU1vZHVsZVJlY29yZC5jcHA6CisgICAgICAgIChKU0M6OldlYkFzc2VtYmx5TW9k
dWxlUmVjb3JkOjpsaW5rKToKKwogMjAyMC0wOS0xNiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBEb24ndCBJQyBhIG51bGwgY3VzdG9tIGFjY2Vzc29yL3ZhbHVl
IHNldHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0
aW5OYW1lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5o
CmluZGV4IDJiNWY5MDI4MjBlYmViODFkNjI3ZmMxNmZhZWQ3ZDk0MTcxZjVlNDAuLjMwYjgxYjE1
MTliYWEyNzQzYjc5MTVjOTNhOTg3Zjg2MzVlZDIwNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKQEAgLTgzLDYgKzgzLDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgbWFjcm8ocHVzaCkgXAogICAgIG1hY3JvKHJlcGVhdENoYXJhY3RlcikgXAog
ICAgIG1hY3JvKHN0YXJEZWZhdWx0KSBcCisgICAgbWFjcm8oc3Rhck5hbWVzcGFjZSkgXAogICAg
IG1hY3JvKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbikgXAogICAgIG1hY3JvKGtleXMpIFwKICAg
ICBtYWNybyh2YWx1ZXMpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggYjFhNTQ4YTFmZmIwMzNmOTEx
MzE3MzFhZGMwYjVhOGViZThlYTFhNi4uYjRkODdjYjFhNzM2YjUxNGRkMjhiM2FhMzgxMjliODVh
YTE3ZDg0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTk1OSw2ICs5NTksNyBAQCBCeXRlY29kZUdl
bmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IoVk0mIHZtLCBNb2R1bGVQcm9ncmFtTm9kZSogbW9k
dWxlUHJvZ3JhbU5vZAogCiAgICAgLy8gTm93IGRlY2xhcmUgYWxsIHZhcmlhYmxlcy4KIAorICAg
IGNyZWF0ZVZhcmlhYmxlKG1fdm0ucHJvcGVydHlOYW1lcy0+c3Rhck5hbWVzcGFjZVByaXZhdGVO
YW1lLCBWYXJLaW5kOjpTY29wZSwgbW9kdWxlRW52aXJvbm1lbnRTeW1ib2xUYWJsZSwgVmVyaWZ5
RXhpc3RpbmcpOwogICAgIGNyZWF0ZVZhcmlhYmxlKG1fdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRp
bk5hbWVzKCkubWV0YVByaXZhdGVOYW1lKCksIFZhcktpbmQ6OlNjb3BlLCBtb2R1bGVFbnZpcm9u
bWVudFN5bWJvbFRhYmxlLCBWZXJpZnlFeGlzdGluZyk7CiAKICAgICBmb3IgKGF1dG8mIGVudHJ5
IDogbW9kdWxlUHJvZ3JhbU5vZGUtPnZhckRlY2xhcmF0aW9ucygpKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzQW5hbHl6ZU1vZHVsZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzQW5hbHl6ZU1vZHVsZS5jcHAKaW5kZXggYWMw
MDIwNGI4NmM1ZDY2ZmZkM2E1YjhiMDIwZWE5OTQ4M2UyNmRhNi4uYTIxYTMwZWJjNTJkMmQwMjdi
YTIzY2YxNGM4MjVjMTRjMTk0ZTkxMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2Rlc0FuYWx5emVNb2R1bGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXNBbmFseXplTW9kdWxlLmNwcApAQCAtODUsNyArODUsMTQgQEAgdm9pZCBF
eHBvcnROYW1lZERlY2xhcmF0aW9uTm9kZTo6YW5hbHl6ZU1vZHVsZShNb2R1bGVBbmFseXplciYg
YW5hbHl6ZXIpCiAgICAgICAgICAgICAvLwogICAgICAgICAgICAgLy8gSW4gdGhpcyBjYXNlLCBu
byBsb2NhbCB2YXJpYWJsZSBuYW1lcyBhcmUgaW1wb3J0ZWQgaW50byB0aGUgY3VycmVudCBtb2R1
bGUuCiAgICAgICAgICAgICAvLyAidiIgaW5kaXJlY3RseSBwb2ludHMgdGhlIGJpbmRpbmcgaW4g
Im1vZCIuCi0gICAgICAgICAgICBhbmFseXplci5tb2R1bGVSZWNvcmQoKS0+YWRkRXhwb3J0RW50
cnkoSlNNb2R1bGVSZWNvcmQ6OkV4cG9ydEVudHJ5OjpjcmVhdGVJbmRpcmVjdChzcGVjaWZpZXIt
PmV4cG9ydGVkTmFtZSgpLCBzcGVjaWZpZXItPmxvY2FsTmFtZSgpLCBtX21vZHVsZU5hbWUtPm1v
ZHVsZU5hbWUoKSkpOworICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIC8vIGV4cG9ydCAqIGFz
IHYgZnJvbSAibW9kIgorICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIC8vIElmIGl0IGlzIG5h
bWVzcGFjZSBleHBvcnQsIHdlIHNob3VsZCB1c2UgY3JlYXRlTmFtZXNwYWNlLgorICAgICAgICAg
ICAgaWYgKHNwZWNpZmllci0+bG9jYWxOYW1lKCkgPT0gYW5hbHl6ZXIudm0oKS5wcm9wZXJ0eU5h
bWVzLT5zdGFyTmFtZXNwYWNlUHJpdmF0ZU5hbWUpCisgICAgICAgICAgICAgICAgYW5hbHl6ZXIu
bW9kdWxlUmVjb3JkKCktPmFkZEV4cG9ydEVudHJ5KEpTTW9kdWxlUmVjb3JkOjpFeHBvcnRFbnRy
eTo6Y3JlYXRlTmFtZXNwYWNlKHNwZWNpZmllci0+ZXhwb3J0ZWROYW1lKCksIG1fbW9kdWxlTmFt
ZS0+bW9kdWxlTmFtZSgpKSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYW5h
bHl6ZXIubW9kdWxlUmVjb3JkKCktPmFkZEV4cG9ydEVudHJ5KEpTTW9kdWxlUmVjb3JkOjpFeHBv
cnRFbnRyeTo6Y3JlYXRlSW5kaXJlY3Qoc3BlY2lmaWVyLT5leHBvcnRlZE5hbWUoKSwgc3BlY2lm
aWVyLT5sb2NhbE5hbWUoKSwgbV9tb2R1bGVOYW1lLT5tb2R1bGVOYW1lKCkpKTsKICAgICAgICAg
fQogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCBj
N2Y5YmU4MTRjNTVkMjk2M2U1N2JmZTg3NDIyZGRiZjc1MTY2MWM0Li4xMjc3MWQ5OTdiMzE0OTc5
MTRjOWQ3MmNlYjgwY2EzYTU1YjE2ODgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuY3BwCkBAIC0zNTMxLDE0ICszNTMxLDM0IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJh
CiAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNhc2UgVElNRVM6IHsKICAgICAg
ICAgLy8gZXhwb3J0ICogRnJvbUNsYXVzZSA7CisgICAgICAgIC8vIGV4cG9ydCAqIGFzIElkZW50
aWZpZXJOYW1lIEZyb21DbGF1c2UgOwogICAgICAgICBuZXh0KCk7CiAKKyAgICAgICAgY29uc3Qg
SWRlbnRpZmllciogZXhwb3J0ZWROYW1lID0gbnVsbHB0cjsKKyAgICAgICAgSlNUb2tlbkxvY2F0
aW9uIHNwZWNpZmllckxvY2F0aW9uOworICAgICAgICBpZiAobWF0Y2hDb250ZXh0dWFsS2V5d29y
ZChtX3ZtLnByb3BlcnR5TmFtZXMtPmFzKSkgeworICAgICAgICAgICAgbmV4dCgpOworICAgICAg
ICAgICAgc3BlY2lmaWVyTG9jYXRpb24gPSBKU1Rva2VuTG9jYXRpb24odG9rZW5Mb2NhdGlvbigp
KTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoSWRlbnRpZmllck9yS2V5d29yZCgpLCAi
RXhwZWN0ZWQgYW4gZXhwb3J0ZWQgbmFtZSBmb3IgdGhlIGV4cG9ydCBkZWNsYXJhdGlvbiIpOwor
ICAgICAgICAgICAgZXhwb3J0ZWROYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAg
ICAgICBuZXh0KCk7CisgICAgICAgIH0KKwogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaENvbnRl
eHR1YWxLZXl3b3JkKG1fdm0ucHJvcGVydHlOYW1lcy0+ZnJvbSksICJFeHBlY3RlZCAnZnJvbScg
YmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lIik7CiAgICAgICAgIG5leHQoKTsKICAgICAgICAg
YXV0byBtb2R1bGVOYW1lID0gcGFyc2VNb2R1bGVOYW1lKGNvbnRleHQpOwogICAgICAgICBmYWls
SWZGYWxzZShtb2R1bGVOYW1lLCAiQ2Fubm90IHBhcnNlIHRoZSAnZnJvbScgY2xhdXNlIik7CiAg
ICAgICAgIGZhaWxJZkZhbHNlKGF1dG9TZW1pQ29sb24oKSwgIkV4cGVjdGVkIGEgJzsnIGZvbGxv
d2luZyBhIHRhcmdldGVkIGV4cG9ydCBkZWNsYXJhdGlvbiIpOwogCisgICAgICAgIGlmIChleHBv
cnRlZE5hbWUpIHsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbElmRmFsc2UoZXhwb3J0TmFtZSgq
ZXhwb3J0ZWROYW1lKSwgIkNhbm5vdCBleHBvcnQgYSBkdXBsaWNhdGUgbmFtZSAnIiwgZXhwb3J0
ZWROYW1lLT5pbXBsKCksICInIik7CisgICAgICAgICAgICBhdXRvIHNwZWNpZmllckxpc3QgPSBj
b250ZXh0LmNyZWF0ZUV4cG9ydFNwZWNpZmllckxpc3QoKTsKKyAgICAgICAgICAgIGF1dG8gbG9j
YWxOYW1lID0gJm1fdm0ucHJvcGVydHlOYW1lcy0+c3Rhck5hbWVzcGFjZVByaXZhdGVOYW1lOwor
ICAgICAgICAgICAgYXV0byBzcGVjaWZpZXIgPSBjb250ZXh0LmNyZWF0ZUV4cG9ydFNwZWNpZmll
cihzcGVjaWZpZXJMb2NhdGlvbiwgKmxvY2FsTmFtZSwgKmV4cG9ydGVkTmFtZSk7CisgICAgICAg
ICAgICBjb250ZXh0LmFwcGVuZEV4cG9ydFNwZWNpZmllcihzcGVjaWZpZXJMaXN0LCBzcGVjaWZp
ZXIpOworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRXhwb3J0TmFtZWREZWNsYXJh
dGlvbihleHBvcnRMb2NhdGlvbiwgc3BlY2lmaWVyTGlzdCwgbW9kdWxlTmFtZSk7CisgICAgICAg
IH0KKwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVFeHBvcnRBbGxEZWNsYXJhdGlvbihl
eHBvcnRMb2NhdGlvbiwgbW9kdWxlTmFtZSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BYnN0cmFjdE1vZHVsZVJlY29yZC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BYnN0cmFjdE1vZHVsZVJlY29yZC5jcHAKaW5kZXggZmUw
YzlhMmI4MGU2ZGZmNDFjMDFiZTgwMDA0MGE5MDdiYmVlNzI3Ni4uODUzZDNhMGNkZjE2ZDhhMmE3
OTcyMDQ2ODkwNWYxYmRlMDJlNjc1OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQWJzdHJhY3RNb2R1bGVSZWNvcmQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Fic3RyYWN0TW9kdWxlUmVjb3JkLmNwcApAQCAtMTE4LDYgKzExOCwxMSBA
QCBhdXRvIEFic3RyYWN0TW9kdWxlUmVjb3JkOjpFeHBvcnRFbnRyeTo6Y3JlYXRlSW5kaXJlY3Qo
Y29uc3QgSWRlbnRpZmllciYgZXhwb3J0TgogICAgIHJldHVybiBFeHBvcnRFbnRyeSB7IFR5cGU6
OkluZGlyZWN0LCBleHBvcnROYW1lLCBtb2R1bGVOYW1lLCBpbXBvcnROYW1lLCBJZGVudGlmaWVy
KCkgfTsKIH0KIAorYXV0byBBYnN0cmFjdE1vZHVsZVJlY29yZDo6RXhwb3J0RW50cnk6OmNyZWF0
ZU5hbWVzcGFjZShjb25zdCBJZGVudGlmaWVyJiBleHBvcnROYW1lLCBjb25zdCBJZGVudGlmaWVy
JiBtb2R1bGVOYW1lKSAtPiBFeHBvcnRFbnRyeQoreworICAgIHJldHVybiBFeHBvcnRFbnRyeSB7
IFR5cGU6Ok5hbWVzcGFjZSwgZXhwb3J0TmFtZSwgbW9kdWxlTmFtZSwgSWRlbnRpZmllcigpLCBJ
ZGVudGlmaWVyKCkgfTsKK30KKwogYXV0byBBYnN0cmFjdE1vZHVsZVJlY29yZDo6UmVzb2x1dGlv
bjo6bm90Rm91bmQoKSAtPiBSZXNvbHV0aW9uCiB7CiAgICAgcmV0dXJuIFJlc29sdXRpb24geyBU
eXBlOjpOb3RGb3VuZCwgbnVsbHB0ciwgSWRlbnRpZmllcigpIH07CkBAIC02MzEsNiArNjM2LDE4
IEBAIGF1dG8gQWJzdHJhY3RNb2R1bGVSZWNvcmQ6OnJlc29sdmVFeHBvcnRJbXBsKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0CiAgICAgICAgICAgICAgICAgcGVuZGluZ1Rhc2tz
LmFwcGVuZChUYXNrIHsgUmVzb2x2ZVF1ZXJ5KGltcG9ydGVkTW9kdWxlUmVjb3JkLCBleHBvcnRF
bnRyeS5pbXBvcnROYW1lKSwgVHlwZTo6UXVlcnkgfSk7CiAgICAgICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNhc2UgRXhwb3J0RW50cnk6OlR5cGU6
Ok5hbWVzcGFjZTogeworICAgICAgICAgICAgICAgIEFic3RyYWN0TW9kdWxlUmVjb3JkKiBpbXBv
cnRlZE1vZHVsZVJlY29yZCA9IG1vZHVsZVJlY29yZC0+aG9zdFJlc29sdmVJbXBvcnRlZE1vZHVs
ZShnbG9iYWxPYmplY3QsIGV4cG9ydEVudHJ5Lm1vZHVsZU5hbWUpOworICAgICAgICAgICAgICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIFJlc29sdXRpb246OmVycm9yKCkpOworCisgICAg
ICAgICAgICAgICAgUmVzb2x1dGlvbiByZXNvbHV0aW9uIHsgUmVzb2x1dGlvbjo6VHlwZTo6UmVz
b2x2ZWQsIGltcG9ydGVkTW9kdWxlUmVjb3JkLCB2bS5wcm9wZXJ0eU5hbWVzLT5zdGFyTmFtZXNw
YWNlUHJpdmF0ZU5hbWUgfTsKKyAgICAgICAgICAgICAgICAvLyAgMi4gQSBtb2R1bGUgdGhhdCBo
YXMgcmVzb2x2ZWQgYSBtb2R1bGUgbmFtZXNwYWNlIGJpbmRpbmcgaXMgYWx3YXlzIGNhY2hlYWJs
ZS4KKyAgICAgICAgICAgICAgICBjYWNoZVJlc29sdXRpb25Gb3JRdWVyeShxdWVyeSwgcmVzb2x1
dGlvbik7CisgICAgICAgICAgICAgICAgaWYgKCFtZXJnZVRvQ3VycmVudFRvcChyZXNvbHV0aW9u
KSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJlc29sdXRpb246OmFtYmlndW91cygpOwor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTc1NywxMCArNzc0LDM3IEBAIEpTTW9k
dWxlTmFtZXNwYWNlT2JqZWN0KiBBYnN0cmFjdE1vZHVsZVJlY29yZDo6Z2V0TW9kdWxlTmFtZXNw
YWNlKEpTR2xvYmFsT2JqZWN0CiAKICAgICBhdXRvKiBtb2R1bGVOYW1lc3BhY2VPYmplY3QgPSBK
U01vZHVsZU5hbWVzcGFjZU9iamVjdDo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0
LT5tb2R1bGVOYW1lc3BhY2VPYmplY3RTdHJ1Y3R1cmUoKSwgdGhpcywgV1RGTW92ZShyZXNvbHV0
aW9ucykpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOworCisgICAg
Ly8gTWF0ZXJpYWxpemUgKm5hbWVzcGFjZSogc2xvdCB3aXRoIG1vZHVsZSBuYW1lc3BhY2Ugb2Jq
ZWN0IHVubGVzcyB0aGUgbW9kdWxlIGVudmlyb25tZW50IGlzIG5vdCB5ZXQgbWF0ZXJpYWxpemVk
LCBpbiB3aGljaCBjYXNlIHdlJ2xsIGRvIGl0IGluIHNldE1vZHVsZUVudmlyb25tZW50CisgICAg
aWYgKG1fbW9kdWxlRW52aXJvbm1lbnQpIHsKKyAgICAgICAgYm9vbCBwdXRSZXN1bHQgPSBmYWxz
ZTsKKyAgICAgICAgY29uc3RleHByIGJvb2wgc2hvdWxkVGhyb3dSZWFkT25seUVycm9yID0gZmFs
c2U7CisgICAgICAgIGNvbnN0ZXhwciBib29sIGlnbm9yZVJlYWRPbmx5RXJyb3JzID0gdHJ1ZTsK
KyAgICAgICAgc3ltYm9sVGFibGVQdXRUb3VjaFdhdGNocG9pbnRTZXQobV9tb2R1bGVFbnZpcm9u
bWVudC5nZXQoKSwgZ2xvYmFsT2JqZWN0LCB2bS5wcm9wZXJ0eU5hbWVzLT5zdGFyTmFtZXNwYWNl
UHJpdmF0ZU5hbWUsIG1vZHVsZU5hbWVzcGFjZU9iamVjdCwgc2hvdWxkVGhyb3dSZWFkT25seUVy
cm9yLCBpZ25vcmVSZWFkT25seUVycm9ycywgcHV0UmVzdWx0KTsKKyAgICAgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CisgICAgfQogICAgIG1fbW9kdWxlTmFtZXNwYWNl
T2JqZWN0LnNldCh2bSwgdGhpcywgbW9kdWxlTmFtZXNwYWNlT2JqZWN0KTsKKwogICAgIHJldHVy
biBtb2R1bGVOYW1lc3BhY2VPYmplY3Q7CiB9CiAKK3ZvaWQgQWJzdHJhY3RNb2R1bGVSZWNvcmQ6
OnNldE1vZHVsZUVudmlyb25tZW50KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTTW9k
dWxlRW52aXJvbm1lbnQqIG1vZHVsZUVudmlyb25tZW50KQoreworICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CisKKyAgICBBU1NFUlQoIW1fbW9kdWxlRW52aXJvbm1lbnQpOworICAgIC8vIElmIG1vZHVsZSBu
YW1lc3BhY2Ugb2JqZWN0IGlzIG1hdGVyaWFsaXplZCwgd2Ugd2lsbCBtYXRlcmlhbGl6ZSAqbmFt
ZXNwYWNlKiBzbG90IHRvby4KKyAgICBpZiAobV9tb2R1bGVOYW1lc3BhY2VPYmplY3QpIHsKKyAg
ICAgICAgYm9vbCBwdXRSZXN1bHQgPSBmYWxzZTsKKyAgICAgICAgY29uc3RleHByIGJvb2wgc2hv
dWxkVGhyb3dSZWFkT25seUVycm9yID0gZmFsc2U7CisgICAgICAgIGNvbnN0ZXhwciBib29sIGln
bm9yZVJlYWRPbmx5RXJyb3JzID0gdHJ1ZTsKKyAgICAgICAgc3ltYm9sVGFibGVQdXRUb3VjaFdh
dGNocG9pbnRTZXQobW9kdWxlRW52aXJvbm1lbnQsIGdsb2JhbE9iamVjdCwgdm0ucHJvcGVydHlO
YW1lcy0+c3Rhck5hbWVzcGFjZVByaXZhdGVOYW1lLCBtX21vZHVsZU5hbWVzcGFjZU9iamVjdC5n
ZXQoKSwgc2hvdWxkVGhyb3dSZWFkT25seUVycm9yLCBpZ25vcmVSZWFkT25seUVycm9ycywgcHV0
UmVzdWx0KTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAg
ICB9CisgICAgbV9tb2R1bGVFbnZpcm9ubWVudC5zZXQodm0sIHRoaXMsIG1vZHVsZUVudmlyb25t
ZW50KTsKK30KKwogdm9pZCBBYnN0cmFjdE1vZHVsZVJlY29yZDo6bGluayhKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHNjcmlwdEZldGNoZXIpCiB7CiAgICAgVk0mIHZtID0g
Z2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtODIzLDYgKzg2NywxMCBAQCB2b2lkIEFic3RyYWN0TW9k
dWxlUmVjb3JkOjpkdW1wKCkKICAgICAgICAgY2FzZSBFeHBvcnRFbnRyeTo6VHlwZTo6SW5kaXJl
Y3Q6CiAgICAgICAgICAgICBkYXRhTG9nKCIgICAgICBbSW5kaXJlY3RdICIsICJleHBvcnQoIiwg
cHJpbnRhYmxlTmFtZShleHBvcnRFbnRyeS5leHBvcnROYW1lKSwgIiksIGltcG9ydCgiLCBwcmlu
dGFibGVOYW1lKGV4cG9ydEVudHJ5LmltcG9ydE5hbWUpLCAiKSwgbW9kdWxlKCIsIHByaW50YWJs
ZU5hbWUoZXhwb3J0RW50cnkubW9kdWxlTmFtZSksICIpXG4iKTsKICAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgRXhwb3J0RW50cnk6OlR5cGU6Ok5hbWVzcGFjZToKKyAgICAgICAg
ICAgIGRhdGFMb2coIiAgICAgIFtOYW1lc3BhY2VdICIsICJleHBvcnQoIiwgcHJpbnRhYmxlTmFt
ZShleHBvcnRFbnRyeS5leHBvcnROYW1lKSwgIiksIG1vZHVsZSgiLCBwcmludGFibGVOYW1lKGV4
cG9ydEVudHJ5Lm1vZHVsZU5hbWUpLCAiKVxuIik7CisgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogICAgIH0KICAgICBmb3IgKGNvbnN0IGF1dG8mIG1vZHVsZU5hbWUgOiBtX3N0YXJFeHBv
cnRFbnRyaWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWJz
dHJhY3RNb2R1bGVSZWNvcmQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fic3Ry
YWN0TW9kdWxlUmVjb3JkLmgKaW5kZXggYWUwNTk0MTM4MmU1Y2ZkZTY1ODFjMjdjYmVkYjI3NGJj
MzllYWZlMC4uNmVmNTVjMTY3ODIzYmYwZjU0MzU1NjA3N2NhMjNjMmE5ZTU2ZWY2ZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWJzdHJhY3RNb2R1bGVSZWNvcmQu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BYnN0cmFjdE1vZHVsZVJlY29y
ZC5oCkBAIC01NCwxMSArNTQsMTMgQEAgY2xhc3MgQWJzdHJhY3RNb2R1bGVSZWNvcmQgOiBwdWJs
aWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgc3RydWN0IEV4cG9ydEVudHJ5IHsKICAgICAgICAg
ZW51bSBjbGFzcyBUeXBlIHsKICAgICAgICAgICAgIExvY2FsLAotICAgICAgICAgICAgSW5kaXJl
Y3QKKyAgICAgICAgICAgIEluZGlyZWN0LAorICAgICAgICAgICAgTmFtZXNwYWNlLAogICAgICAg
ICB9OwogCiAgICAgICAgIHN0YXRpYyBFeHBvcnRFbnRyeSBjcmVhdGVMb2NhbChjb25zdCBJZGVu
dGlmaWVyJiBleHBvcnROYW1lLCBjb25zdCBJZGVudGlmaWVyJiBsb2NhbE5hbWUpOwogICAgICAg
ICBzdGF0aWMgRXhwb3J0RW50cnkgY3JlYXRlSW5kaXJlY3QoY29uc3QgSWRlbnRpZmllciYgZXhw
b3J0TmFtZSwgY29uc3QgSWRlbnRpZmllciYgaW1wb3J0TmFtZSwgY29uc3QgSWRlbnRpZmllciYg
bW9kdWxlTmFtZSk7CisgICAgICAgIHN0YXRpYyBFeHBvcnRFbnRyeSBjcmVhdGVOYW1lc3BhY2Uo
Y29uc3QgSWRlbnRpZmllciYgZXhwb3J0TmFtZSwgY29uc3QgSWRlbnRpZmllciYgbW9kdWxlTmFt
ZSk7CiAKICAgICAgICAgVHlwZSB0eXBlOwogICAgICAgICBJZGVudGlmaWVyIGV4cG9ydE5hbWU7
CkBAIC0xMzYsNyArMTM4LDcgQEAgY2xhc3MgQWJzdHJhY3RNb2R1bGVSZWNvcmQgOiBwdWJsaWMg
SlNOb25GaW5hbE9iamVjdCB7CiAKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2Vs
bCosIFNsb3RWaXNpdG9yJik7CiAKLSAgICBXcml0ZUJhcnJpZXI8SlNNb2R1bGVFbnZpcm9ubWVu
dD4gbV9tb2R1bGVFbnZpcm9ubWVudDsKKyAgICB2b2lkIHNldE1vZHVsZUVudmlyb25tZW50KEpT
R2xvYmFsT2JqZWN0KiwgSlNNb2R1bGVFbnZpcm9ubWVudCopOwogCiBwcml2YXRlOgogICAgIHN0
cnVjdCBSZXNvbHZlUXVlcnk7CkBAIC0xNzcsNiArMTc5LDggQEAgY2xhc3MgQWJzdHJhY3RNb2R1
bGVSZWNvcmQgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgCiAgICAgV3JpdGVCYXJy
aWVyPEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0PiBtX21vZHVsZU5hbWVzcGFjZU9iamVjdDsKIAor
ICAgIFdyaXRlQmFycmllcjxKU01vZHVsZUVudmlyb25tZW50PiBtX21vZHVsZUVudmlyb25tZW50
OworCiAgICAgLy8gV2UgYXNzdW1lIHRoYXQgYWxsIHRoZSBBYnN0cmFjdE1vZHVsZVJlY29yZCBh
cmUgcmV0YWluZWQgYnkgSlNNb2R1bGVMb2FkZXIncyByZWdpc3RyeS4KICAgICAvLyBTbyBoZXJl
LCB3ZSBkb24ndCB2aXNpdCBlYWNoIG9iamVjdCBmb3IgR0MuIFRoZSByZXNvbHV0aW9uIGNhY2hl
IG1hcCBjYWNoZXMgdGhlIG9uY2UKICAgICAvLyBsb29rZWQgdXAgY29ycmVjdGx5IHJlc29sdmVk
IHJlc29sdXRpb24sIHNpbmNlICgxKSB3ZSByYXJlbHkgbG9va2VkIHVwIHRoZSBub24tcmVzb2x2
ZWQgb25lLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9u
SWRlbnRpZmllcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50
aWZpZXJzLmgKaW5kZXggYzI3YzczZWZlNTI5ZGE0Nzc0NDhmYWZlMzQ5NDYyMTAyZWIwOTFmMS4u
NzZhOWM2NDE0ZWE5ZDg0MDY1OThkNTQ0MGVhYmNhMDRmZDQ3MTc5ZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0yOTUsNiAr
Mjk1LDcgQEAKICAgICBtYWNybyhnZW5lcmF0b3JGcmFtZSkgXAogICAgIG1hY3JvKG1ldGEpIFwK
ICAgICBtYWNybyhzdGFyRGVmYXVsdCkgXAorICAgIG1hY3JvKHN0YXJOYW1lc3BhY2UpIFwKICAg
ICBtYWNybyh1bmRlZmluZWQpIFwKIAogbmFtZXNwYWNlIEpTQyB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCmluZGV4IDE1YjlmNjdmMDViNjJiMjI3YWJl
ZmM4OGZhNjk4Yjk0NjgzMmRmNmUuLmE3ZWI1ODU1MDRhYzg0MWY3YWIxODFkNjQ3NmE4ZDZjOGI4
MThmMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rp
b24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3Bw
CkBAIC0yMTMsNyArMjEzLDcgQEAgU3RyaW5nIEpTRnVuY3Rpb246Om5hbWUoVk0mIHZtKQogICAg
ICAgICByZXR1cm4gZXhlY3V0YWJsZS0+bmFtZSgpOwogICAgIH0KICAgICBjb25zdCBJZGVudGlm
aWVyIGlkZW50aWZpZXIgPSBqc0V4ZWN1dGFibGUoKS0+bmFtZSgpOwotICAgIGlmIChpZGVudGlm
aWVyID09IHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnN0YXJEZWZhdWx0UHJpdmF0
ZU5hbWUoKSkKKyAgICBpZiAoaWRlbnRpZmllciA9PSB2bS5wcm9wZXJ0eU5hbWVzLT5zdGFyRGVm
YXVsdFByaXZhdGVOYW1lKQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKICAgICByZXR1
cm4gaWRlbnRpZmllci5zdHJpbmcoKTsKIH0KQEAgLTc5NCw3ICs3OTQsNyBAQCB2b2lkIEpTRnVu
Y3Rpb246OnJlaWZ5TmFtZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAg
ICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtZXhwb3J0cy1ydW50aW1l
LXNlbWFudGljcy1ldmFsdWF0aW9uCiAgICAgLy8gV2hlbiB0aGUgaWRlbnQgaXMgIipkZWZhdWx0
KiIsIHdlIG5lZWQgdG8gc2V0ICJkZWZhdWx0IiBmb3IgdGhlIGVjbWEgbmFtZS4KICAgICAvLyBU
aGlzICIqZGVmYXVsdCoiIG5hbWUgaXMgbmV2ZXIgc2hvd24gdG8gdXNlcnMuCi0gICAgaWYgKGVj
bWFOYW1lID09IHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnN0YXJEZWZhdWx0UHJp
dmF0ZU5hbWUoKSkKKyAgICBpZiAoZWNtYU5hbWUgPT0gdm0ucHJvcGVydHlOYW1lcy0+c3RhckRl
ZmF1bHRQcml2YXRlTmFtZSkKICAgICAgICAgbmFtZSA9IHZtLnByb3BlcnR5TmFtZXMtPmRlZmF1
bHRLZXl3b3JkLnN0cmluZygpOwogICAgIGVsc2UKICAgICAgICAgbmFtZSA9IGVjbWFOYW1lLnN0
cmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1
bGVOYW1lc3BhY2VPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNN
b2R1bGVOYW1lc3BhY2VPYmplY3QuY3BwCmluZGV4IDM1NDFkYWRjMThlYTJjNjkzNDExMTJmY2Qx
NTgwN2Y2YzdiZTVjNzIuLjk5OWQxODJmMTczZmZlMTNkY2M3MWQ5MWFkMzhmNDBjNzYzNjVkMzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNw
YWNlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01vZHVs
ZU5hbWVzcGFjZU9iamVjdC5jcHAKQEAgLTEzNSw2ICsxMzUsMTQgQEAgYm9vbCBKU01vZHVsZU5h
bWVzcGFjZU9iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90Q29tbW9uKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmoKICAgICBzd2l0Y2ggKHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkpIHsKICAgICBj
YXNlIFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpHZXRPd25Qcm9wZXJ0eToKICAg
ICBjYXNlIFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpHZXQ6IHsKKyAgICAgICAg
aWYgKGV4cG9ydEVudHJ5LmxvY2FsTmFtZSA9PSB2bS5wcm9wZXJ0eU5hbWVzLT5zdGFyTmFtZXNw
YWNlUHJpdmF0ZU5hbWUpIHsKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYy
LyNzZWMtbW9kdWxlLW5hbWVzcGFjZS1leG90aWMtb2JqZWN0cy1nZXQtcC1yZWNlaXZlcgorICAg
ICAgICAgICAgLy8gMTAuIElmIGJpbmRpbmcuW1tCaW5kaW5nTmFtZV1dIGlzICIqbmFtZXNwYWNl
KiIsIHRoZW4KKyAgICAgICAgICAgIC8vICAgICBhLiBSZXR1cm4gPyBHZXRNb2R1bGVOYW1lc3Bh
Y2UodGFyZ2V0TW9kdWxlKS4KKyAgICAgICAgICAgIC8vIFdlIGNhbGwgZ2V0TW9kdWxlTmFtZXNw
YWNlKCkgdG8gZW5zdXJlIG1hdGVyaWFsaXphdGlvbi4gQW5kIGFmdGVyIHRoYXQsIGxvb2tpbmcg
dXAgdGhlIHZhbHVlIGZyb20gdGhlIHNjb3BlIHRvIGVuY291cmFnZSBtb2R1bGUgbmFtZXNwYWNl
IG9iamVjdCBJQy4KKyAgICAgICAgICAgIGV4cG9ydEVudHJ5Lm1vZHVsZVJlY29yZC0+Z2V0TW9k
dWxlTmFtZXNwYWNlKGdsb2JhbE9iamVjdCk7CisgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCBmYWxzZSk7CisgICAgICAgIH0KICAgICAgICAgSlNNb2R1bGVFbnZpcm9ubWVu
dCogZW52aXJvbm1lbnQgPSBleHBvcnRFbnRyeS5tb2R1bGVSZWNvcmQtPm1vZHVsZUVudmlyb25t
ZW50KCk7CiAgICAgICAgIFNjb3BlT2Zmc2V0IHNjb3BlT2Zmc2V0OwogICAgICAgICBKU1ZhbHVl
IHZhbHVlID0gZ2V0VmFsdWUoZW52aXJvbm1lbnQsIGV4cG9ydEVudHJ5LmxvY2FsTmFtZSwgc2Nv
cGVPZmZzZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNN
b2R1bGVSZWNvcmQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVS
ZWNvcmQuY3BwCmluZGV4IGVkNDI0Mjg0NTU2NjRhYzg1OTQwMTUwNGU4MDA0MzkxMTNkYmYyMWMu
LjA4YTk4OTA5NmVjZDAyYzBjMzkwNGJkYWM5NWI5ZjIyMTEwM2VlMjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlUmVjb3JkLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01vZHVsZVJlY29yZC5jcHAKQEAgLTExMSw3ICsx
MTEsMTEgQEAgdm9pZCBKU01vZHVsZVJlY29yZDo6aW5zdGFudGlhdGVEZWNsYXJhdGlvbnMoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgTW9kdWwKICAgICAvLyBXaGVuIHdlIHNlZSB0aGlz
IHR5cGUgb2YgYW1iaWd1aXR5IGZvciB0aGUgaW5kaXJlY3QgZXhwb3J0cyBoZXJlLCB0aHJvdyBh
IHN5bnRheCBlcnJvci4KICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhaXIgOiBleHBvcnRFbnRyaWVz
KCkpIHsKICAgICAgICAgY29uc3QgRXhwb3J0RW50cnkmIGV4cG9ydEVudHJ5ID0gcGFpci52YWx1
ZTsKLSAgICAgICAgaWYgKGV4cG9ydEVudHJ5LnR5cGUgPT0gSlNNb2R1bGVSZWNvcmQ6OkV4cG9y
dEVudHJ5OjpUeXBlOjpJbmRpcmVjdCkgeworICAgICAgICBzd2l0Y2ggKGV4cG9ydEVudHJ5LnR5
cGUpIHsKKyAgICAgICAgY2FzZSBFeHBvcnRFbnRyeTo6VHlwZTo6TG9jYWw6CisgICAgICAgIGNh
c2UgRXhwb3J0RW50cnk6OlR5cGU6Ok5hbWVzcGFjZToKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIEV4cG9ydEVudHJ5OjpUeXBlOjpJbmRpcmVjdDogewogICAgICAgICAgICAgUmVz
b2x1dGlvbiByZXNvbHV0aW9uID0gcmVzb2x2ZUV4cG9ydChnbG9iYWxPYmplY3QsIGV4cG9ydEVu
dHJ5LmV4cG9ydE5hbWUpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
dm9pZCgpKTsKICAgICAgICAgICAgIHN3aXRjaCAocmVzb2x1dGlvbi50eXBlKSB7CkBAIC0xMzAs
MjQgKzEzNCwyOSBAQCB2b2lkIEpTTW9kdWxlUmVjb3JkOjppbnN0YW50aWF0ZURlY2xhcmF0aW9u
cyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBNb2R1bAogICAgICAgICAgICAgY2FzZSBS
ZXNvbHV0aW9uOjpUeXBlOjpSZXNvbHZlZDoKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIH0KICAgICB9
CiAKLSAgICAvLyBodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4w
LyNzZWMtbW9kdWxlZGVjbGFyYXRpb25pbnN0YW50aWF0aW9uCi0gICAgLy8gc2VjdGlvbiAxNS4y
LjEuMTYuNCBzdGVwIDEyLgorICAgIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNzZWMtc291
cmNlLXRleHQtbW9kdWxlLXJlY29yZC1pbml0aWFsaXplLWVudmlyb25tZW50IHN0ZXAgOAogICAg
IC8vIEluc3RhbnRpYXRlIG5hbWVzcGFjZSBvYmplY3RzIGFuZCBpbml0aWFsaXplIHRoZSBiaW5k
aW5ncyB3aXRoIHRoZW0gaWYgcmVxdWlyZWQuCiAgICAgLy8gQW5kIGVuc3VyZSB0aGF0IGFsbCB0
aGUgaW1wb3J0cyBjb3JyZWN0bHkgcmVzb2x2ZWQgdG8gdW5pcXVlIGJpbmRpbmdzLgogICAgIGZv
ciAoY29uc3QgYXV0byYgcGFpciA6IGltcG9ydEVudHJpZXMoKSkgewogICAgICAgICBjb25zdCBJ
bXBvcnRFbnRyeSYgaW1wb3J0RW50cnkgPSBwYWlyLnZhbHVlOwogICAgICAgICBBYnN0cmFjdE1v
ZHVsZVJlY29yZCogaW1wb3J0ZWRNb2R1bGUgPSBob3N0UmVzb2x2ZUltcG9ydGVkTW9kdWxlKGds
b2JhbE9iamVjdCwgaW1wb3J0RW50cnkubW9kdWxlUmVxdWVzdCk7CiAgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgICAgIGlmIChpbXBvcnRFbnRyeS50eXBl
ID09IEFic3RyYWN0TW9kdWxlUmVjb3JkOjpJbXBvcnRFbnRyeVR5cGU6Ok5hbWVzcGFjZSkgewor
ICAgICAgICBzd2l0Y2ggKGltcG9ydEVudHJ5LnR5cGUpIHsKKyAgICAgICAgY2FzZSBBYnN0cmFj
dE1vZHVsZVJlY29yZDo6SW1wb3J0RW50cnlUeXBlOjpOYW1lc3BhY2U6IHsKICAgICAgICAgICAg
IEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0KiBuYW1lc3BhY2VPYmplY3QgPSBpbXBvcnRlZE1vZHVs
ZS0+Z2V0TW9kdWxlTmFtZXNwYWNlKGdsb2JhbE9iamVjdCk7CiAgICAgICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgICAgICAgICAgYm9vbCBwdXRSZXN1bHQg
PSBmYWxzZTsKICAgICAgICAgICAgIHN5bWJvbFRhYmxlUHV0VG91Y2hXYXRjaHBvaW50U2V0KG1v
ZHVsZUVudmlyb25tZW50LCBnbG9iYWxPYmplY3QsIGltcG9ydEVudHJ5LmxvY2FsTmFtZSwgbmFt
ZXNwYWNlT2JqZWN0LCAvKiBzaG91bGRUaHJvd1JlYWRPbmx5RXJyb3IgKi8gZmFsc2UsIC8qIGln
bm9yZVJlYWRPbmx5RXJyb3JzICovIHRydWUsIHB1dFJlc3VsdCk7CiAgICAgICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIEFic3RyYWN0TW9kdWxlUmVj
b3JkOjpJbXBvcnRFbnRyeVR5cGU6OlNpbmdsZTogewogICAgICAgICAgICAgUmVzb2x1dGlvbiBy
ZXNvbHV0aW9uID0gaW1wb3J0ZWRNb2R1bGUtPnJlc29sdmVFeHBvcnQoZ2xvYmFsT2JqZWN0LCBp
bXBvcnRFbnRyeS5pbXBvcnROYW1lKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIHZvaWQoKSk7CiAgICAgICAgICAgICBzd2l0Y2ggKHJlc29sdXRpb24udHlwZSkgewpA
QCAtMTYzLDkgKzE3MiwxNiBAQCB2b2lkIEpTTW9kdWxlUmVjb3JkOjppbnN0YW50aWF0ZURlY2xh
cmF0aW9ucyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBNb2R1bAogICAgICAgICAgICAg
ICAgIHRocm93U3ludGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgbWFrZVN0cmluZygiSW1w
b3J0aW5nIGJpbmRpbmcgbmFtZSAnZGVmYXVsdCcgY2Fubm90IGJlIHJlc29sdmVkIGJ5IHN0YXIg
ZXhwb3J0IGVudHJpZXMuIikpOwogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAg
ICAgY2FzZSBSZXNvbHV0aW9uOjpUeXBlOjpSZXNvbHZlZDoKKyAgICAgICAgICAgIGNhc2UgUmVz
b2x1dGlvbjo6VHlwZTo6UmVzb2x2ZWQ6IHsKKyAgICAgICAgICAgICAgICBpZiAodm0ucHJvcGVy
dHlOYW1lcy0+c3Rhck5hbWVzcGFjZVByaXZhdGVOYW1lID09IHJlc29sdXRpb24ubG9jYWxOYW1l
KSB7CisgICAgICAgICAgICAgICAgICAgIHJlc29sdXRpb24ubW9kdWxlUmVjb3JkLT5nZXRNb2R1
bGVOYW1lc3BhY2UoZ2xvYmFsT2JqZWN0KTsgLy8gRm9yY2UgbW9kdWxlIG5hbWVzcGFjZSBvYmpl
Y3QgbWF0ZXJpYWxpemF0aW9uLgorICAgICAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCB2b2lkKCkpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTIxNSw3ICsyMzEsOCBAQCB2b2lkIEpT
TW9kdWxlUmVjb3JkOjppbnN0YW50aWF0ZURlY2xhcmF0aW9ucyhKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBNb2R1bAogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lk
KCkpOwogICAgIH0KIAotICAgIG1fbW9kdWxlRW52aXJvbm1lbnQuc2V0KHZtLCB0aGlzLCBtb2R1
bGVFbnZpcm9ubWVudCk7CisgICAgc2NvcGUucmVsZWFzZSgpOworICAgIHNldE1vZHVsZUVudmly
b25tZW50KGdsb2JhbE9iamVjdCwgbW9kdWxlRW52aXJvbm1lbnQpOwogfQogCiBKU1ZhbHVlIEpT
TW9kdWxlUmVjb3JkOjpldmFsdWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpAQCAt
MjI1LDcgKzI0Miw3IEBAIEpTVmFsdWUgSlNNb2R1bGVSZWNvcmQ6OmV2YWx1YXRlKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwog
ICAgIE1vZHVsZVByb2dyYW1FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gbV9tb2R1bGVQcm9ncmFt
RXhlY3V0YWJsZS5nZXQoKTsKICAgICBtX21vZHVsZVByb2dyYW1FeGVjdXRhYmxlLmNsZWFyKCk7
Ci0gICAgcmV0dXJuIHZtLmludGVycHJldGVyLT5leGVjdXRlTW9kdWxlUHJvZ3JhbShleGVjdXRh
YmxlLCBnbG9iYWxPYmplY3QsIG1fbW9kdWxlRW52aXJvbm1lbnQuZ2V0KCkpOworICAgIHJldHVy
biB2bS5pbnRlcnByZXRlci0+ZXhlY3V0ZU1vZHVsZVByb2dyYW0oZXhlY3V0YWJsZSwgZ2xvYmFs
T2JqZWN0LCBtb2R1bGVFbnZpcm9ubWVudCgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9k
dWxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1
bGUuY3BwCmluZGV4IGZmNmQ4ZTQ5YTQwNmM0YWZjZWFhMWZjNTQ5NmU0ZmIxZGUzMGI4MjIuLmM4
OTI4NjIxZGNlNzM5NjQzYjc5NDEwZGFlZjc4MjZhMDZkMDhjNTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuY3BwCkBAIC03
NSw2ICs3NSwxMCBAQCB2b2lkIEpTV2ViQXNzZW1ibHlNb2R1bGU6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSkKICAgICAvLyBPbiBzdWNjZXNzLCBhIG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUgb2JqZWN0
IGlzIHJldHVybmVkIHdpdGggW1tNb2R1bGVdXSBzZXQgdG8gdGhlIHZhbGlkYXRlZCBBc3QubW9k
dWxlLgogICAgIFN5bWJvbFRhYmxlKiBleHBvcnRTeW1ib2xUYWJsZSA9IFN5bWJvbFRhYmxlOjpj
cmVhdGUodm0pOwogICAgIGNvbnN0IFdhc206Ok1vZHVsZUluZm9ybWF0aW9uJiBtb2R1bGVJbmZv
cm1hdGlvbiA9IG1fbW9kdWxlLT5tb2R1bGVJbmZvcm1hdGlvbigpOworICAgIHsKKyAgICAgICAg
YXV0byBvZmZzZXQgPSBleHBvcnRTeW1ib2xUYWJsZS0+dGFrZU5leHRTY29wZU9mZnNldChOb0xv
Y2tpbmdOZWNlc3NhcnkpOworICAgICAgICBleHBvcnRTeW1ib2xUYWJsZS0+c2V0KE5vTG9ja2lu
Z05lY2Vzc2FyeSwgdm0ucHJvcGVydHlOYW1lcy0+c3Rhck5hbWVzcGFjZVByaXZhdGVOYW1lLmlt
cGwoKSwgU3ltYm9sVGFibGVFbnRyeShWYXJPZmZzZXQob2Zmc2V0KSkpOworICAgIH0KICAgICBm
b3IgKGF1dG8mIGV4cCA6IG1vZHVsZUluZm9ybWF0aW9uLmV4cG9ydHMpIHsKICAgICAgICAgYXV0
byBvZmZzZXQgPSBleHBvcnRTeW1ib2xUYWJsZS0+dGFrZU5leHRTY29wZU9mZnNldChOb0xvY2tp
bmdOZWNlc3NhcnkpOwogICAgICAgICBTdHJpbmcgZmllbGQgPSBTdHJpbmc6OmZyb21VVEY4KGV4
cC5maWVsZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseU1vZHVsZVJlY29yZC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseU1vZHVsZVJlY29yZC5jcHAKaW5kZXggMmI2NzcxMDFjZTg4OTQ1YTllODdhMTA2
MGJhODMzNTViNzE5MzQ3Ny4uOTAwZGVmYWJhZTBhZGU5ODcxOTljYWZmYmQxNmMxMjdmN2I0N2Uw
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlN
b2R1bGVSZWNvcmQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFz
c2VtYmx5TW9kdWxlUmVjb3JkLmNwcApAQCAtNTE5LDcgKzUxOSw5IEBAIHZvaWQgV2ViQXNzZW1i
bHlNb2R1bGVSZWNvcmQ6OmxpbmsoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1
ZSwgSlNPYmplCiAgICAgICAgICAgICBtX3N0YXJ0RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBmdW5j
dGlvbik7CiAgICAgICAgIH0KICAgICB9Ci0gICAgbV9tb2R1bGVFbnZpcm9ubWVudC5zZXQodm0s
IHRoaXMsIG1vZHVsZUVudmlyb25tZW50KTsKKworICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICBz
ZXRNb2R1bGVFbnZpcm9ubWVudChnbG9iYWxPYmplY3QsIG1vZHVsZUVudmlyb25tZW50KTsKIH0K
IAogdGVtcGxhdGUgPHR5cGVuYW1lIFNjb3BlLCB0eXBlbmFtZSBNLCB0eXBlbmFtZSBOLCB0eXBl
bmFtZSAuLi5BcmdzPgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0No
YW5nZUxvZwppbmRleCA0ZGRiOGRmZjYzOWY5NWI5N2E4OWFiNDRlY2RlOWUxZDZmN2VlMTRiLi4x
ZWE5NzA3ZGE2YWEyNDc1ZDI1MjlkNjdlZDBkMzM4NDY0YWE1MzI1IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDIwLTA5LTE3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAg
U3VwcG9ydCBleHBvcnQgbmFtZXNwYWNlIGBleHBvcnQgKiBhcyBuc2AKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDM3OQorCisgICAgICAgIFJldmll
d2VkIGJ5IFJvc3MgS2lyc2xpbmcuCisKKyAgICAgICAgKiBzdHJlc3MvbW9kdWxlcy1zeW50YXgt
ZXJyb3IuanM6CisgICAgICAgICogc3RyZXNzL21vZHVsZXMtc3ludGF4LmpzOgorICAgICAgICAq
IHRlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWw6CisKIDIwMjAtMDktMTYgIFNhYW0gQmFyYXRpICA8
c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgSUMgYSBudWxsIGN1c3RvbSBhY2Nl
c3Nvci92YWx1ZSBzZXR0ZXIKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL21vZHVsZXMtc3lu
dGF4LWVycm9yLmpzIGIvSlNUZXN0cy9zdHJlc3MvbW9kdWxlcy1zeW50YXgtZXJyb3IuanMKaW5k
ZXggMzNhNWQwM2Q3ZmVmZTYyOTViOTE0NDJkMDM0MDRlODUxYzg5NDk2MC4uZGNkZjJlZTE0YWFm
Mzg2YTQzZTkwNTIyMjVkN2EzN2E3OTFmMzEwNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy9zdHJlc3Mv
bW9kdWxlcy1zeW50YXgtZXJyb3IuanMKKysrIGIvSlNUZXN0cy9zdHJlc3MvbW9kdWxlcy1zeW50
YXgtZXJyb3IuanMKQEAgLTE5OSwxMyArMTk5LDMwIEBAIGZ1bmN0aW9uIG5vVG9wTGV2ZWwoKSB7
CiBgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYScuIEV4cGVjdGVkIGVp
dGhlciBhIGRlY2xhcmF0aW9uIG9yIGEgdmFyaWFibGUgc3RhdGVtZW50LjoyYCk7CiAKIGNoZWNr
TW9kdWxlU3ludGF4RXJyb3IoU3RyaW5nLnJhd2AKLWV4cG9ydCAqIGFzIGIgZnJvbSAiQ29jb2Ei
Ci1gLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYXMnLiBFeHBlY3RlZCAn
ZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lLjoyYCk7CitleHBvcnQgeyAqIGFzIGIg
fSBmcm9tICJDb2NvYSIKK2AsIGBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIEV4
cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGV4cG9ydCBkZWNsYXJhdGlvbi46MmApOwor
CitjaGVja01vZHVsZVN5bnRheEVycm9yKFN0cmluZy5yYXdgCitleHBvcnQgKiBhcyBiCitgLCBg
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgZW5kIG9mIHNjcmlwdDozYCk7CisKK2NoZWNrTW9kdWxl
U3ludGF4RXJyb3IoU3RyaW5nLnJhd2AKK2V4cG9ydCAqIGFzIDQyIGZyb20gIkNvY29hIgorYCwg
YFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIG51bWJlciAnNDInLiBFeHBlY3RlZCBhbiBleHBvcnRl
ZCBuYW1lIGZvciB0aGUgZXhwb3J0IGRlY2xhcmF0aW9uLjoyYCk7CisKK2NoZWNrTW9kdWxlU3lu
dGF4RXJyb3IoU3RyaW5nLnJhd2AKK2V4cG9ydCBjb25zdCBiID0gNDI7CitleHBvcnQgKiBhcyBi
IGZyb20gIm1vZCIKK2AsIGBTeW50YXhFcnJvcjogQ2Fubm90IGV4cG9ydCBhIGR1cGxpY2F0ZSBu
YW1lICdiJy46NGApOwogCiBjaGVja01vZHVsZVN5bnRheEVycm9yKFN0cmluZy5yYXdgCiBleHBv
cnQgKiAiQ29jb2EiCiBgLCBgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgc3RyaW5nIGxpdGVyYWwg
IkNvY29hIi4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBvcnRlZCBtb2R1bGUgbmFtZS46MmAp
OwogCitjaGVja01vZHVsZVN5bnRheEVycm9yKFN0cmluZy5yYXdgCitleHBvcnQgKgorYCwgYFN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIGVuZCBvZiBzY3JpcHQ6M2ApOworCiBjaGVja01vZHVsZVN5
bnRheEVycm9yKFN0cmluZy5yYXdgCiBleHBvcnQgY29uc3QgYTsKIGAsIGBTeW50YXhFcnJvcjog
VW5leHBlY3RlZCB0b2tlbiAnOycuIGNvbnN0IGRlY2xhcmVkIHZhcmlhYmxlICdhJyBtdXN0IGhh
dmUgYW4gaW5pdGlhbGl6ZXIuOjJgKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL21vZHVs
ZXMtc3ludGF4LmpzIGIvSlNUZXN0cy9zdHJlc3MvbW9kdWxlcy1zeW50YXguanMKaW5kZXggNmEy
NDI0MGM0NjcyZjhmNmY2MGJhNjBiNDNhODQwNGNhZWQ1ZDkyMC4uOWUyNjJjZWIxNTJlOTcxMWQ0
YzM5N2ZhYzhjZmUxZGNjZDhkYTZkZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy9zdHJlc3MvbW9kdWxl
cy1zeW50YXguanMKKysrIGIvSlNUZXN0cy9zdHJlc3MvbW9kdWxlcy1zeW50YXguanMKQEAgLTcw
LDYgKzcwLDE0IEBACiBleHBvcnQgKiBmcm9tICJtb2QiOwogYCk7CiAKK2NoZWNrTW9kdWxlU3lu
dGF4KFN0cmluZy5yYXdgCitleHBvcnQgKiBhcyBiIGZyb20gIkNvY29hIgorYCk7CisKK2NoZWNr
TW9kdWxlU3ludGF4KFN0cmluZy5yYXdgCitleHBvcnQgKiBhcyBkZWxldGUgZnJvbSAiQ29jb2Ei
CitgKTsKKwogLy8gc2VtaWNvbG9uIGlzIG5vdCBuZWVkZWQuCiBjaGVja01vZHVsZVN5bnRheChT
dHJpbmcucmF3YAogZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKCkgeyB9IDQwOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sIGIvSlNUZXN0cy90ZXN0MjYyL2V4
cGVjdGF0aW9ucy55YW1sCmluZGV4IDA1YzA5NmEyOGM3ZmU1Njg0YTdkYTNlZjFmMzViMmYwM2Vm
YTg2NjIuLjZkNDczYzg3Nzg1MmRlZTdjNTg0OTUzMWI0NGYxYTEyZmM2OGM0ZDkgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvZXhwZWN0YXRpb25zLnlhbWwKQEAgLTI0NjEsMjUgKzI0NjEsOSBAQCB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2R5bmFtaWMtaW1wb3J0L2Zvci1hd2FpdC1yZXNvbHV0aW9uLWFuZC1lcnJv
ci1hZ2VuLXlpZQogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9keW5hbWljLWltcG9ydC9uYW1l
c3BhY2UvYXdhaXQtbnMtZGVmaW5lLW93bi1wcm9wZXJ0eS5qczoKICAgZGVmYXVsdDogJ1Rlc3Qy
NjI6QXN5bmNUZXN0RmFpbHVyZTpUZXN0MjYyRXJyb3I6IFRlc3QyNjJFcnJvcjogTm8gY2hhbmdl
IHJlcXVlc3RlZCwgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eTogbG9jYWwxIEV4cGVjdGVkIFNhbWVW
YWx1ZSjCq2ZhbHNlwrssIMKrdHJ1ZcK7KSB0byBiZSB0cnVlJwogICBzdHJpY3QgbW9kZTogJ1Rl
c3QyNjI6QXN5bmNUZXN0RmFpbHVyZTpUZXN0MjYyRXJyb3I6IFRlc3QyNjJFcnJvcjogTm8gY2hh
bmdlIHJlcXVlc3RlZCwgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eTogbG9jYWwxIEV4cGVjdGVkIFNh
bWVWYWx1ZSjCq2ZhbHNlwrssIMKrdHJ1ZcK7KSB0byBiZSB0cnVlJwotdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9keW5hbWljLWltcG9ydC9uYW1lc3BhY2UvYXdhaXQtbnMtZ2V0LW5lc3RlZC1u
YW1lc3BhY2UtZGZsdC1kaXJlY3QuanM6Ci0gIGRlZmF1bHQ6ICJUZXN0MjYyOkFzeW5jVGVzdEZh
aWx1cmU6U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYXMnLiBFeHBlY3RlZCAn
ZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lLiIKLSAgc3RyaWN0IG1vZGU6ICJUZXN0
MjYyOkFzeW5jVGVzdEZhaWx1cmU6U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAn
YXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lLiIKLXRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZHluYW1pYy1pbXBvcnQvbmFtZXNwYWNlL2F3YWl0LW5zLWdl
dC1uZXN0ZWQtbmFtZXNwYWNlLWRmbHQtaW5kaXJlY3QuanM6Ci0gIG1vZHVsZTogIlRlc3QyNjI6
QXN5bmNUZXN0RmFpbHVyZTpTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhcycu
IEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgotdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9keW5hbWljLWltcG9ydC9uYW1lc3BhY2UvYXdhaXQtbnMtZ2V0LW5l
c3RlZC1uYW1lc3BhY2UtcHJvcHMtbnJtbC5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjI6QXN5bmNU
ZXN0RmFpbHVyZTpTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhcycuIEV4cGVj
dGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgotICBzdHJpY3QgbW9kZTog
IlRlc3QyNjI6QXN5bmNUZXN0RmFpbHVyZTpTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlm
aWVyICdhcycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgog
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9keW5hbWljLWltcG9ydC9uYW1lc3BhY2UvcHJvbWlz
ZS10aGVuLW5zLWRlZmluZS1vd24tcHJvcGVydHkuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyOkFz
eW5jVGVzdEZhaWx1cmU6VGVzdDI2MkVycm9yOiBUZXN0MjYyRXJyb3I6IE5vIGNoYW5nZSByZXF1
ZXN0ZWQsIFJlZmxlY3QuZGVmaW5lUHJvcGVydHk6IGxvY2FsMSBFeHBlY3RlZCBTYW1lVmFsdWUo
wqtmYWxzZcK7LCDCq3RydWXCuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
OkFzeW5jVGVzdEZhaWx1cmU6VGVzdDI2MkVycm9yOiBUZXN0MjYyRXJyb3I6IE5vIGNoYW5nZSBy
ZXF1ZXN0ZWQsIFJlZmxlY3QuZGVmaW5lUHJvcGVydHk6IGxvY2FsMSBFeHBlY3RlZCBTYW1lVmFs
dWUowqtmYWxzZcK7LCDCq3RydWXCuykgdG8gYmUgdHJ1ZScKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvZHluYW1pYy1pbXBvcnQvbmFtZXNwYWNlL3Byb21pc2UtdGhlbi1ucy1nZXQtbmVzdGVk
LW5hbWVzcGFjZS1kZmx0LWRpcmVjdC5qczoKLSAgZGVmYXVsdDogIlRlc3QyNjI6QXN5bmNUZXN0
RmFpbHVyZTpTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhcycuIEV4cGVjdGVk
ICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgotICBzdHJpY3QgbW9kZTogIlRl
c3QyNjI6QXN5bmNUZXN0RmFpbHVyZTpTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVy
ICdhcycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgotdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9keW5hbWljLWltcG9ydC9uYW1lc3BhY2UvcHJvbWlzZS10
aGVuLW5zLWdldC1uZXN0ZWQtbmFtZXNwYWNlLWRmbHQtaW5kaXJlY3QuanM6Ci0gIG1vZHVsZTog
IlRlc3QyNjI6QXN5bmNUZXN0RmFpbHVyZTpTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlm
aWVyICdhcycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgot
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9keW5hbWljLWltcG9ydC9uYW1lc3BhY2UvcHJvbWlz
ZS10aGVuLW5zLWdldC1uZXN0ZWQtbmFtZXNwYWNlLXByb3BzLW5ybWwuanM6Ci0gIGRlZmF1bHQ6
ICJUZXN0MjYyOkFzeW5jVGVzdEZhaWx1cmU6U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRp
ZmllciAnYXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lLiIK
LSAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyOkFzeW5jVGVzdEZhaWx1cmU6U3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgaWRlbnRpZmllciAnYXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVk
IG1vZHVsZSBuYW1lLiIKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vZXZhbC12
YXItc2NvcGUtc3ludGF4LWVyci5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3du
IGF0IGFsbCcKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vc2NvcGUtYm9keS1s
ZXgtZGlzdGluY3QuanM6CkBAIC0yOTk3LDI4ICsyOTgxLDEwIEBAIHRlc3QvbGFuZ3VhZ2UvaWRl
bnRpZmllcnMvc3RhcnQtdW5pY29kZS0xMy4wLjAuanM6CiB0ZXN0L2xhbmd1YWdlL2xpdGVyYWxz
L3JlZ2V4cC91LWFzdHJhbC1jaGFyLWNsYXNzLWludmVydC5qczoKICAgZGVmYXVsdDogJ1Rlc3Qy
NjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKr77+9wrssIMKrbnVsbMK7KSB0byBiZSB0cnVl
JwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKr77+9
wrssIMKrbnVsbMK7KSB0byBiZSB0cnVlJwotdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9ldmFs
LXJxc3RkLW9uY2UuanM6Ci0gIG1vZHVsZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50
aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBvcnRlZCBtb2R1bGUgbmFtZS4i
Ci10ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL2V2YWwtcnFzdGQtb3JkZXIuanM6Ci0gIG1vZHVs
ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zy
b20nIGJlZm9yZSBleHBvcnRlZCBtb2R1bGUgbmFtZS4iCi10ZXN0L2xhbmd1YWdlL21vZHVsZS1j
b2RlL2V2YWwtc2VsZi1vbmNlLmpzOgotICBtb2R1bGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCBpZGVudGlmaWVyICdhcycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUgZXhwb3J0ZWQgbW9kdWxl
IG5hbWUuIgogdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9leHBvcnQtZGVmYXVsdC1hc3luY2dl
bmVyYXRvci1kZWNsYXJhdGlvbi1iaW5kaW5nLmpzOgogICBtb2R1bGU6ICJTeW50YXhFcnJvcjog
RXhwb3J0ZWQgYmluZGluZyAnc3RhckRlZmF1bHQnIG5lZWRzIHRvIHJlZmVyIHRvIGEgdG9wLWxl
dmVsIGRlY2xhcmVkIHZhcmlhYmxlLiIKLXRlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZXhwb3J0
LXN0YXItYXMtZGZsdC5qczoKLSAgbW9kdWxlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRl
bnRpZmllciAnYXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1l
LiIKLXRlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvaW5zdG4tb25jZS5qczoKLSAgbW9kdWxlOiAi
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYXMnLiBFeHBlY3RlZCAnZnJvbScg
YmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lLiIKLXRlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUv
aW5zdG4tc3Rhci1hcy1wcm9wcy1kZmx0LXNraXAuanM6Ci0gIG1vZHVsZTogIlN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBv
cnRlZCBtb2R1bGUgbmFtZS4iCi10ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL2luc3RuLXN0YXIt
cHJvcHMtbnJtbC5qczoKLSAgbW9kdWxlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRp
ZmllciAnYXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lLiIK
IHRlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvbmFtZXNwYWNlL2ludGVybmFscy9kZWZpbmUtb3du
LXByb3BlcnR5LmpzOgogICBtb2R1bGU6ICdUZXN0MjYyRXJyb3I6IFJlZmxlY3QuZGVmaW5lUHJv
cGVydHk6IGxvY2FsMSBFeHBlY3RlZCBTYW1lVmFsdWUowqtmYWxzZcK7LCDCq3RydWXCuykgdG8g
YmUgdHJ1ZScKLXRlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvbmFtZXNwYWNlL2ludGVybmFscy9n
ZXQtbmVzdGVkLW5hbWVzcGFjZS1kZmx0LXNraXAuanM6Ci0gIG1vZHVsZTogIlN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2FzJy4gRXhwZWN0ZWQgJ2Zyb20nIGJlZm9yZSBleHBv
cnRlZCBtb2R1bGUgbmFtZS4iCi10ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL25hbWVzcGFjZS9p
bnRlcm5hbHMvZ2V0LW5lc3RlZC1uYW1lc3BhY2UtcHJvcHMtbnJtbC5qczoKLSAgbW9kdWxlOiAi
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYXMnLiBFeHBlY3RlZCAnZnJvbScg
YmVmb3JlIGV4cG9ydGVkIG1vZHVsZSBuYW1lLiIKIHRlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUv
cGFyc2UtZXJyLWhvaXN0LWxleC1mdW4uanM6CiAgIG1vZHVsZTogJ1Rlc3QyNjI6IFRoaXMgc3Rh
dGVtZW50IHNob3VsZCBub3QgYmUgZXZhbHVhdGVkLicKIHRlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNv
ZGUvcGFyc2UtZXJyLWhvaXN0LWxleC1nZW4uanM6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>