<?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>234456</bug_id>
          
          <creation_ts>2021-12-17 18:00:20 -0800</creation_ts>
          <short_desc>Read the default value of the ScrollAnimatorEnabled setting from NSUserDefaults</short_desc>
          <delta_ts>2022-02-28 14:22:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=234488</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=236244</see_also>
          <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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1825268</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-17 18:00:20 -0800</bug_when>
    <thetext>Read the default value of the ScrollAnimatorEnabled setting from NSUserDefaults</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825269</commentid>
    <comment_count>1</comment_count>
      <attachid>447498</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-17 18:05:59 -0800</bug_when>
    <thetext>Created attachment 447498
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825302</commentid>
    <comment_count>2</comment_count>
      <attachid>447510</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-17 21:17:58 -0800</bug_when>
    <thetext>Created attachment 447510
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825413</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-18 23:09:33 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/287228/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825414</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-18 23:10:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/86679058&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825449</commentid>
    <comment_count>5</comment_count>
      <attachid>447510</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-12-19 10:12:59 -0800</bug_when>
    <thetext>Comment on attachment 447510
Patch

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

&gt; LayoutTests/fast/dom/horizontal-scrollbar-in-rtl.html:36
&gt; +                if (window.internals)
&gt; +                    internals.settings.setScrollAnimatorEnabled(false);

Is there a benefit here to using the internals function rather than a header &lt;!-- webkit-test-runner [ ScrollAnimatorEnabled=false ] --&gt;?

My preference is to prefer the comment command over programatic except in cases where either dynamic changes are needed or we are modifying an external test via some platform hook function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825450</commentid>
    <comment_count>6</comment_count>
      <attachid>447510</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-12-19 10:15:42 -0800</bug_when>
    <thetext>Comment on attachment 447510
Patch

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

&gt; Source/WebKit/Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm:71
&gt; +    return [[NSUserDefaults standardUserDefaults] boolForKey:@&quot;NSScrollAnimationEnabled&quot;];

I think this will give weird / unexpected behavior if this returns different values for the WebProcess and the UIProcess (a quirk of the preferences where we don&apos;t serialize values that have the default value when sending them to the web process).

Is there a guarantee that NSScrollAnimationEnabled is set the same in both processes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825620</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-20 08:41:15 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #5)
&gt; Comment on attachment 447510 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=447510&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/dom/horizontal-scrollbar-in-rtl.html:36
&gt; &gt; +                if (window.internals)
&gt; &gt; +                    internals.settings.setScrollAnimatorEnabled(false);
&gt; 
&gt; Is there a benefit here to using the internals function rather than a header
&gt; &lt;!-- webkit-test-runner [ ScrollAnimatorEnabled=false ] --&gt;?
&gt; 
&gt; My preference is to prefer the comment command over programatic except in
&gt; cases where either dynamic changes are needed or we are modifying an
&gt; external test via some platform hook function.

The header comment didn&apos;t work (because this is not an internal or experimental feature). That was what I tried initially.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826883</commentid>
    <comment_count>8</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-12-26 10:59:05 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #7)
&gt; (In reply to Sam Weinig from comment #5)
&gt; &gt; Comment on attachment 447510 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=447510&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/fast/dom/horizontal-scrollbar-in-rtl.html:36
&gt; &gt; &gt; +                if (window.internals)
&gt; &gt; &gt; +                    internals.settings.setScrollAnimatorEnabled(false);
&gt; &gt; 
&gt; &gt; Is there a benefit here to using the internals function rather than a header
&gt; &gt; &lt;!-- webkit-test-runner [ ScrollAnimatorEnabled=false ] --&gt;?
&gt; &gt; 
&gt; &gt; My preference is to prefer the comment command over programatic except in
&gt; &gt; cases where either dynamic changes are needed or we are modifying an
&gt; &gt; external test via some platform hook function.
&gt; 
&gt; The header comment didn&apos;t work (because this is not an internal or
&gt; experimental feature). That was what I tried initially.

Header comments should be working for any type of preference. It does not need to be experimental or internal.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447498</attachid>
            <date>2021-12-17 18:05:59 -0800</date>
            <delta_ts>2021-12-17 21:17:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234456-20211217180558.patch</filename>
            <type>text/plain</type>
            <size>22894</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI4NTVhMzkyYzBkOWM5OGQzNTU3N2Ew
YzI0ZmU3YWI5YWVjNGZkMDEuLjAzMGJmMzdiYjc2NWJhNzc5YTgyZmM2NzYwZTMwNDYxZDg2MDI2
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMTItMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVhZCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0
aGUgU2Nyb2xsQW5pbWF0b3JFbmFibGVkIHNldHRpbmcgZnJvbSBOU1VzZXJEZWZhdWx0cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NDU2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQncyBpbXBvc3Np
YmxlIGZvciBhIHRlc3QgdG8gcnVuIHdpdGggYW4gYW5pbWF0ZWQga2V5Ym9hcmQgc2Nyb2xsIGJl
Y2F1c2UgcGxhdGZvcm1BbGxvd3NTY3JvbGxBbmltYXRpb24oKSwKKyAgICAgICAgd2hpY2ggcmVh
ZHMgZnJvbSBOU1VzZXJEZWZhdWx0cywgYWx3YXlzIHRydW1wcyB0aGUgU2V0dGluZy4KKworICAg
ICAgICBGaXggYnkgaW5pdGlhbGl6aW5nIHRoZSBzZXR0aW5nIGZyb20gTlNVc2VyRGVmYXVsdHMg
YW5kIHJlbW92aW5nIHRoZSBwbGF0Zm9ybUFsbG93c1Njcm9sbEFuaW1hdGlvbigpCisgICAgICAg
IGNoZWNrLiBUaGlzIGFsbG93cyBmb3IgYSBXZWJLaXRUZXN0UnVubmVyIHRlc3Qgb3ZlcnJpZGUg
dGhlIHNldHRpbmcuIFJlbW92ZSB0aGUgV1RSIGNvZGUgCisgICAgICAgIHRoYXQgc2V0cyBAIk5T
U2Nyb2xsQW5pbWF0aW9uRW5hYmxlZCIgdG8gQE5PLgorCisgICAgICAgIFVuZm9ydHVuYXRlbHkg
aW4gV2ViS2l0TGVnYWN5IEFwcEtpdCBjb2RlIGNvbnN1bHRzIHRoZSBAIk5TU2Nyb2xsQW5pbWF0
aW9uRW5hYmxlZCIga2V5LCBzbworICAgICAgICBEdW1wUmVuZGVyVHJlZSBoYXMgdG8gY29udGlu
dWUgdG8gaW5pdGlhbGl6ZSB0aGlzIE5TVXNlckRlZmF1bHQgdG8gQE5PIGFuZCB0ZXN0cyB0aGF0
CisgICAgICAgIHRyeSB0byBjaGFuZ2UgdGhlIFNldHRpbmcgd2lsbCBmYWlsLgorCisgICAgICAg
ICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sOgorCiAyMDIxLTEyLTE3
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFt
ZSBNb2NrU2Nyb2xsQW5pbWF0b3JFbmFibGVkIHRvIE1vY2tTY3JvbGxiYXJzQ29udHJvbGxlckVu
YWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBmM2RhOTY0OTZhOTUzY2U2OWM2N2Y5Y2MyNDA5Y2NiNWVkMjIx
NDk3Li45YTczNGFhZmViZWM0MWE5ZDViYjJhYTI2NzQ5MTI5MzI5Mzk1NGMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzAgQEAKKzIwMjEtMTItMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVhZCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgU2Ny
b2xsQW5pbWF0b3JFbmFibGVkIHNldHRpbmcgZnJvbSBOU1VzZXJEZWZhdWx0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NDU2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQncyBpbXBvc3NpYmxlIGZv
ciBhIHRlc3QgdG8gcnVuIHdpdGggYW4gYW5pbWF0ZWQga2V5Ym9hcmQgc2Nyb2xsIGJlY2F1c2Ug
cGxhdGZvcm1BbGxvd3NTY3JvbGxBbmltYXRpb24oKSwKKyAgICAgICAgd2hpY2ggcmVhZHMgZnJv
bSBOU1VzZXJEZWZhdWx0cywgYWx3YXlzIHRydW1wcyB0aGUgU2V0dGluZy4KKworICAgICAgICBG
aXggYnkgaW5pdGlhbGl6aW5nIHRoZSBzZXR0aW5nIGZyb20gTlNVc2VyRGVmYXVsdHMgYW5kIHJl
bW92aW5nIHRoZSBwbGF0Zm9ybUFsbG93c1Njcm9sbEFuaW1hdGlvbigpCisgICAgICAgIGNoZWNr
LiBUaGlzIGFsbG93cyBmb3IgYSBXZWJLaXRUZXN0UnVubmVyIHRlc3Qgb3ZlcnJpZGUgdGhlIHNl
dHRpbmcuIFJlbW92ZSB0aGUgV1RSIGNvZGUgCisgICAgICAgIHRoYXQgc2V0cyBAIk5TU2Nyb2xs
QW5pbWF0aW9uRW5hYmxlZCIgdG8gQE5PLgorCisgICAgICAgIFVuZm9ydHVuYXRlbHkgaW4gV2Vi
S2l0TGVnYWN5IEFwcEtpdCBjb2RlIGNvbnN1bHRzIHRoZSBAIk5TU2Nyb2xsQW5pbWF0aW9uRW5h
YmxlZCIga2V5LCBzbworICAgICAgICBEdW1wUmVuZGVyVHJlZSBoYXMgdG8gY29udGludWUgdG8g
aW5pdGlhbGl6ZSB0aGlzIE5TVXNlckRlZmF1bHQgdG8gQE5PIGFuZCB0ZXN0cyB0aGF0CisgICAg
ICAgIHRyeSB0byBjaGFuZ2UgdGhlIFNldHRpbmcgd2lsbCBmYWlsLgorCisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0
b3I6OnNpbmdsZUF4aXNTY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6
OnNjcm9sbEFuaW1hdGlvbkVuYWJsZWQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6cGxhdGZvcm1B
bGxvd3NTY3JvbGxBbmltYXRpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9TY3JvbGxBbmltYXRvck1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxB
bmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpwbGF0
Zm9ybUFsbG93c1Njcm9sbEFuaW1hdGlvbiBjb25zdCk6IERlbGV0ZWQuCisKIDIwMjEtMTItMTcg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1l
IE1vY2tTY3JvbGxBbmltYXRvckVuYWJsZWQgdG8gTW9ja1Njcm9sbGJhcnNDb250cm9sbGVyRW5h
YmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCAzZDc1OTVmNjkwZmVmYWI0M2JjNDAzMWVlMGM4YzE1NmM3ZGRmOTA3
Li4xNWIxNjgxNDg2MDQyZTYzMjQ1ZWU5MDNkNmUxN2Y3MTA4YTRlOGFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI1IEBACisyMDIxLTEyLTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFJlYWQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIFNjcm9sbEFu
aW1hdG9yRW5hYmxlZCBzZXR0aW5nIGZyb20gTlNVc2VyRGVmYXVsdHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQ1NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0J3MgaW1wb3NzaWJsZSBmb3IgYSB0
ZXN0IHRvIHJ1biB3aXRoIGFuIGFuaW1hdGVkIGtleWJvYXJkIHNjcm9sbCBiZWNhdXNlIHBsYXRm
b3JtQWxsb3dzU2Nyb2xsQW5pbWF0aW9uKCksCisgICAgICAgIHdoaWNoIHJlYWRzIGZyb20gTlNV
c2VyRGVmYXVsdHMsIGFsd2F5cyB0cnVtcHMgdGhlIFNldHRpbmcuCisKKyAgICAgICAgRml4IGJ5
IGluaXRpYWxpemluZyB0aGUgc2V0dGluZyBmcm9tIE5TVXNlckRlZmF1bHRzIGFuZCByZW1vdmlu
ZyB0aGUgcGxhdGZvcm1BbGxvd3NTY3JvbGxBbmltYXRpb24oKQorICAgICAgICBjaGVjay4gVGhp
cyBhbGxvd3MgZm9yIGEgV2ViS2l0VGVzdFJ1bm5lciB0ZXN0IG92ZXJyaWRlIHRoZSBzZXR0aW5n
LiBSZW1vdmUgdGhlIFdUUiBjb2RlIAorICAgICAgICB0aGF0IHNldHMgQCJOU1Njcm9sbEFuaW1h
dGlvbkVuYWJsZWQiIHRvIEBOTy4KKworICAgICAgICBVbmZvcnR1bmF0ZWx5IGluIFdlYktpdExl
Z2FjeSBBcHBLaXQgY29kZSBjb25zdWx0cyB0aGUgQCJOU1Njcm9sbEFuaW1hdGlvbkVuYWJsZWQi
IGtleSwgc28KKyAgICAgICAgRHVtcFJlbmRlclRyZWUgaGFzIHRvIGNvbnRpbnVlIHRvIGluaXRp
YWxpemUgdGhpcyBOU1VzZXJEZWZhdWx0IHRvIEBOTyBhbmQgdGVzdHMgdGhhdAorICAgICAgICB0
cnkgdG8gY2hhbmdlIHRoZSBTZXR0aW5nIHdpbGwgZmFpbC4KKworICAgICAgICAqIFNoYXJlZC9D
b2NvYS9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6ZGVmYXVsdFNjcm9sbEFuaW1hdG9yRW5hYmxlZCk6CisgICAgICAgICogU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oOgorCiAyMDIxLTEyLTE3ICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEFQSTo6T2JqZWN0
OjpUeXBlOjpCdW5kbGVQYWdlR3JvdXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBh
OTBlNzE3Y2E0ZWZkY2M4ZWFmM2JjY2QwYzE2MzdjZTlhYmMwNzY4Li4wY2U4NGMzYmExYjlmZDNl
MzMxZWUwMDliN2M5NWI4ZTk3MmUyZWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMjEtMTItMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVhZCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgU2Nyb2xs
QW5pbWF0b3JFbmFibGVkIHNldHRpbmcgZnJvbSBOU1VzZXJEZWZhdWx0cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NDU2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQncyBpbXBvc3NpYmxlIGZvciBh
IHRlc3QgdG8gcnVuIHdpdGggYW4gYW5pbWF0ZWQga2V5Ym9hcmQgc2Nyb2xsIGJlY2F1c2UgcGxh
dGZvcm1BbGxvd3NTY3JvbGxBbmltYXRpb24oKSwKKyAgICAgICAgd2hpY2ggcmVhZHMgZnJvbSBO
U1VzZXJEZWZhdWx0cywgYWx3YXlzIHRydW1wcyB0aGUgU2V0dGluZy4KKworICAgICAgICBGaXgg
YnkgaW5pdGlhbGl6aW5nIHRoZSBzZXR0aW5nIGZyb20gTlNVc2VyRGVmYXVsdHMgYW5kIHJlbW92
aW5nIHRoZSBwbGF0Zm9ybUFsbG93c1Njcm9sbEFuaW1hdGlvbigpCisgICAgICAgIGNoZWNrLiBU
aGlzIGFsbG93cyBmb3IgYSBXZWJLaXRUZXN0UnVubmVyIHRlc3Qgb3ZlcnJpZGUgdGhlIHNldHRp
bmcuCisKKyAgICAgICAgVW5mb3J0dW5hdGVseSBpbiBXZWJLaXRMZWdhY3kgQXBwS2l0IGNvZGUg
Y29uc3VsdHMgdGhlIEAiTlNTY3JvbGxBbmltYXRpb25FbmFibGVkIiBrZXksIHNvCisgICAgICAg
IER1bXBSZW5kZXJUcmVlIGhhcyB0byBjb250aW51ZSB0byBpbml0aWFsaXplIHRoaXMgTlNVc2Vy
RGVmYXVsdCB0byBATk8gYW5kIHRlc3RzIHRoYXQKKyAgICAgICAgdHJ5IHRvIGNoYW5nZSB0aGUg
U2V0dGluZyB3aWxsIGZhaWwuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVm
YXVsdFZhbHVlcy5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLm1tOgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0U2Nyb2xsQW5pbWF0b3JFbmFibGVkKToK
KwogMjAyMS0xMi0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEZpeCBpT1MgZGVidWcgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
U2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dURi9TY3Jp
cHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggYWQxZjFkNDU5NDczNjg2
OWM0OGMyMTEyZTU5NjMzNzY4YWM0YmM3Ni4uZmViNWE4MGUwYTI3ZjEyZTU1Nzc1ODJjM2FiZGNm
M2M5MTkzMmIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dl
YlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dl
YlByZWZlcmVuY2VzLnlhbWwKQEAgLTE4ODksMTMgKzE4ODksMTQgQEAgU2Nyb2xsQW5pbWF0b3JF
bmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZToKICAgICBXZWJLaXRMZWdhY3k6
Ci0gICAgICAiUExBVEZPUk0oTUFDKSI6IHRydWUKKyAgICAgICJQTEFURk9STShNQUMpIjogV2Vi
S2l0OjpkZWZhdWx0U2Nyb2xsQW5pbWF0b3JFbmFibGVkKCkKKyAgICAgICJQTEFURk9STShHVEsp
IHx8IFBMQVRGT1JNKFdQRSkiOiB0cnVlCiAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgIFdlYktp
dDoKLSAgICAgICJQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BF
KSI6IHRydWUKKyAgICAgICJQTEFURk9STShNQUMpIjogV2ViS2l0OjpkZWZhdWx0U2Nyb2xsQW5p
bWF0b3JFbmFibGVkKCkKKyAgICAgICJQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkiOiB0
cnVlCiAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgIFdlYkNvcmU6Ci0gICAgICAiUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkiOiB0cnVlCiAgICAgICBkZWZh
dWx0OiBmYWxzZQogCiAjIEZJWE1FOiBUaGlzIGlzIGhhbmRsZWQgdmlhIFdlYlZpZXcgU1BJIHJh
dGhlciB0aGFuIFdlYlByZWZlcmVuY2VzIGZvciBXZWJLaXRMZWdhY3kuIFdlIHNob3VsZCBjaGFu
Z2UgdGhlIFNQSSB0byBsb29rdXAgdGhlIFdlYlByZWZlcmVuY2VzIHZhbHVlIGluc3RlYWQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKaW5kZXggYjdjMTc2MjI1
OGNiZGM1NDc2ZDdkY2EwYWM5MTU3NWE5NDVhZWIyOC4uYWIyOTQ5MmI5MjMzMGJiOTMyZDlhMzFj
ZDBjNDZlZWU4ZTkxM2M5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1h
dG9yLmNwcApAQCAtNzgsNyArNzgsNyBAQCBib29sIFNjcm9sbEFuaW1hdG9yOjpzaW5nbGVBeGlz
U2Nyb2xsKFNjcm9sbEV2ZW50QXhpcyBheGlzLCBmbG9hdCBzY3JvbGxEZWx0YSwgTwogICAgICAg
ICBkZWx0YSA9IG5ld09mZnNldCAtIGN1cnJlbnRPZmZzZXQ7CiAgICAgfQogCi0gICAgaWYgKG1f
c2Nyb2xsYWJsZUFyZWEuc2Nyb2xsQW5pbWF0b3JFbmFibGVkKCkgJiYgcGxhdGZvcm1BbGxvd3NT
Y3JvbGxBbmltYXRpb24oKSAmJiAhYmVoYXZpb3IuY29udGFpbnMoU2Nyb2xsQmVoYXZpb3I6Ok5l
dmVyQW5pbWF0ZSkpIHsKKyAgICBpZiAobV9zY3JvbGxhYmxlQXJlYS5zY3JvbGxBbmltYXRvckVu
YWJsZWQoKSAmJiAhYmVoYXZpb3IuY29udGFpbnMoU2Nyb2xsQmVoYXZpb3I6Ok5ldmVyQW5pbWF0
ZSkpIHsKICAgICAgICAgaWYgKG1fc2Nyb2xsQ29udHJvbGxlci5yZXRhcmdldEFuaW1hdGVkU2Ny
b2xsQnkoZGVsdGEpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAgLTM5MSw3ICszOTEs
NyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yOjpyZW1vdmVXaGVlbEV2ZW50VGVzdENvbXBsZXRpb25E
ZWZlcnJhbEZvclJlYXNvbihXaGVlbEV2ZW50VAogI2lmIFBMQVRGT1JNKEdUSykgfHwgVVNFKE5J
Q09TSUEpCiBib29sIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGxBbmltYXRpb25FbmFibGVkKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYS5zY3JvbGxBbmltYXRvckVuYWJsZWQo
KSAmJiBwbGF0Zm9ybUFsbG93c1Njcm9sbEFuaW1hdGlvbigpOworICAgIHJldHVybiBtX3Njcm9s
bGFibGVBcmVhLnNjcm9sbEFuaW1hdG9yRW5hYmxlZCgpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCmluZGV4IGQ1MjFlYTNhMzYzYWFlYjAxZTg3
ZTIzMmY4ZjNjYzIxMzNmODdjMTMuLjg0YmM2MjQzZGFkZmRlNzU1MDAwZjcxNjU3MGM5MDgzNTFl
N2E2YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaApAQCAtMTI0
LDkgKzEyNCw2IEBAIHB1YmxpYzoKIAogICAgIFNjcm9sbEFuaW1hdGlvblN0YXR1cyBzZXJ2aWNl
U2Nyb2xsQW5pbWF0aW9uKE1vbm90b25pY1RpbWUpOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdmlydHVh
bCBib29sIHBsYXRmb3JtQWxsb3dzU2Nyb2xsQW5pbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gdHJ1
ZTsgfQotCiBwcml2YXRlOgogICAgIHZvaWQgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKGNvbnN0IEZs
b2F0U2l6ZSYgZGVsdGEpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvU2Nyb2xsQW5pbWF0b3JNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3Jv
bGxBbmltYXRvck1hYy5oCmluZGV4IDNkNmFhODIxOTFlZWJiMjA1NTVlZmUwM2EzMWRiYjg1ZTI3
Zjc5YjAuLjY0YWU1MmMyNTVhZTNlOGYyY2FhN2MxOTIxMTI0ZjdiZDE1MGUyMjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCkBAIC00Niw4
ICs0Niw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzaG91bGRGb3J3YXJkV2hlZWxFdmVudHNUb1Bh
cmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBjb25zdDsKICAgICBib29sIGhhbmRsZVdo
ZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgZmluYWw7CiAKLSAgICBib29sIHBs
YXRmb3JtQWxsb3dzU2Nyb2xsQW5pbWF0aW9uKCkgY29uc3Q7Ci0KICAgICB2b2lkIGhhbmRsZVdo
ZWVsRXZlbnRQaGFzZShQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSkgZmluYWw7CiAKICAgICBib29s
IGlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQppbmRleCA1M2E0MDc1M2RiNzQ3
YzVhYzRiMWY3YjIxYTlhZDVjMWZmNDVhODM2Li4zODljYmQ2ZWRlYjE4YTYwMzM0Y2YzMzFmYTFh
NDg4OTI3Y2E4NjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsQW5pbWF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9s
bEFuaW1hdG9yTWFjLm1tCkBAIC01MSwxMiArNTEsNiBAQCBTY3JvbGxBbmltYXRvck1hYzo6U2Ny
b2xsQW5pbWF0b3JNYWMoU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQogCiBTY3JvbGxB
bmltYXRvck1hYzo6flNjcm9sbEFuaW1hdG9yTWFjKCkgPSBkZWZhdWx0OwogCi1ib29sIFNjcm9s
bEFuaW1hdG9yTWFjOjpwbGF0Zm9ybUFsbG93c1Njcm9sbEFuaW1hdGlvbigpIGNvbnN0Ci17Ci0g
ICAgc3RhdGljIGJvb2wgZW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIGJvb2xGb3JLZXk6QCJOU1Njcm9sbEFuaW1hdGlvbkVuYWJsZWQiXTsKLSAgICByZXR1
cm4gZW5hYmxlZDsKLX0KLQogc3RhdGljIGJvb2wgcnViYmVyQmFuZGluZ0VuYWJsZWRGb3JTeXN0
ZW0oKQogewogICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkID0gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXND
b2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYlByZWZlcmVuY2VzRGVmYXVs
dFZhbHVlc0NvY29hLm1tCmluZGV4IDQxYjE4YjIwMWM5NGUyNjBmNTcyODk3NWI0NjNjZDg4ZDgx
ZGJkYzYuLmZlZWUwOTg4NzQ5NzIyZDdkYzMyOWUxOTk4NmYwMzlkMmM2YWE2NDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVl
c0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlc0NvY29hLm1tCkBAIC02NSw2ICs2NSwxMyBAQCBib29sIGlzRmVhdHVyZUZs
YWdFbmFibGVkKGNvbnN0IGNoYXIqIGZlYXR1cmVOYW1lLCBib29sIGRlZmF1bHRWYWx1ZSkKICNl
bmRpZiAvLyBIQVZFKFNZU1RFTV9GRUFUVVJFX0ZMQUdTKQogfQogCisjaWYgUExBVEZPUk0oTUFD
KQorYm9vbCBkZWZhdWx0U2Nyb2xsQW5pbWF0b3JFbmFibGVkKCkKK3sKKyAgICByZXR1cm4gW1tO
U1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gYm9vbEZvcktleTpAIk5TU2Nyb2xs
QW5pbWF0aW9uRW5hYmxlZCJdOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAog
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZh
dWx0VmFsdWVzLmgKaW5kZXggMTkxM2Y2YWNkYjM0NjIwYjg5ODZmMzI3OWQ2OGVjZDRlZTRkMWY0
ZS4uMmNlZGM0YmFiNWNhODEyMjU1MzlhZjBlYzM4N2E3ODM0YWRmNDAwZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTQ3
LDYgKzQ3LDcgQEAgYm9vbCBkZWZhdWx0VGV4dEF1dG9zaXppbmdVc2VzSWRlbXBvdGVudE1vZGUo
KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQorYm9vbCBkZWZhdWx0U2Nyb2xsQW5pbWF0
b3JFbmFibGVkKCk7CiBib29sIGRlZmF1bHRQYXNzaXZlV2hlZWxMaXN0ZW5lcnNBc0RlZmF1bHRP
bkRvY3VtZW50KCk7CiBib29sIGRlZmF1bHRXaGVlbEV2ZW50R2VzdHVyZXNCZWNvbWVOb25CbG9j
a2luZygpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCBiMDgxOGMzMjM4
OWUxMjQ5MzZiYmYwYTIxZDNhMjI1MTYxNjkxNjkxLi4wNzVhMjdlY2YyYjcwMTE1OTU1YzI1M2U2
ZGQ0ZjkxZDY2ZDdlM2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTY0LDYgKzY0
LDcgQEAgYm9vbCBkZWZhdWx0TG9hZERlZmVycmluZ0VuYWJsZWQoKTsKIGJvb2wgZGVmYXVsdFdp
bmRvd0ZvY3VzUmVzdHJpY3RlZCgpOwogYm9vbCBkZWZhdWx0VXNlUHJlSFRNTDVQYXJzZXJRdWly
a3MoKTsKIGJvb2wgZGVmYXVsdE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrKCk7Citib29s
IGRlZmF1bHRTY3JvbGxBbmltYXRvckVuYWJsZWQoKTsKIGJvb2wgZGVmYXVsdFRyZWF0c0FueVRl
eHRDU1NMaW5rQXNTdHlsZXNoZWV0KCk7CiBib29sIGRlZmF1bHROZWVkc0ZyYW1lTmFtZUZhbGxi
YWNrVG9JZFF1aXJrKCk7CiBib29sIGRlZmF1bHROZWVkc0tleWJvYXJkRXZlbnREaXNhbWJpZ3Vh
dGlvblF1aXJrcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQppbmRleCAwNTM4YWE5ZmEw
NzE1N2M4YjQzMDQwOGZiNWFiNDMzMTRmODcxMTgwLi5jMjM2MjExYjc2ZDQ3MGIxMDdmZmMzYjVl
YjgyYmNkZGU1ZjU2ZjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQpAQCAtMTkwLDYg
KzE5MCwxMiBAQCBib29sIGRlZmF1bHROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyaygpCiAg
ICAgcmV0dXJuIG5lZWRzUXVpcms7CiB9CiAKK2Jvb2wgZGVmYXVsdFNjcm9sbEFuaW1hdG9yRW5h
YmxlZCgpCit7CisgICAgc3RhdGljIGJvb2wgZW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3Rh
bmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6QCJOU1Njcm9sbEFuaW1hdGlvbkVuYWJsZWQi
XTsKKyAgICByZXR1cm4gZW5hYmxlZDsKK30KKwogYm9vbCBkZWZhdWx0VHJlYXRzQW55VGV4dENT
U0xpbmtBc1N0eWxlc2hlZXQoKQogewogICAgIHN0YXRpYyBib29sIG5lZWRzUXVpcmsgPSAhV2Vi
S2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhPVVRfTElOS19FTEVN
RU5UX1RFWFRfQ1NTX1FVSVJLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IDE1MDkxMWNiMmM0NmQ4ZjRjM2FhY2UzZjcyOWI1OTI0YWY3NmU2OGMu
LmQ0ZDNlNWU1NjhlNzU4NmVlMDc2ZjJmNDZlNWQwY2E4MjAzMjVhMDEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAy
MS0xMi0xNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZWFkIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBTY3JvbGxBbmltYXRvckVuYWJsZWQgc2V0
dGluZyBmcm9tIE5TVXNlckRlZmF1bHRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzQ0NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJdCdzIGltcG9zc2libGUgZm9yIGEgdGVzdCB0byBydW4gd2l0aCBh
biBhbmltYXRlZCBrZXlib2FyZCBzY3JvbGwgYmVjYXVzZSBwbGF0Zm9ybUFsbG93c1Njcm9sbEFu
aW1hdGlvbigpLAorICAgICAgICB3aGljaCByZWFkcyBmcm9tIE5TVXNlckRlZmF1bHRzLCBhbHdh
eXMgdHJ1bXBzIHRoZSBTZXR0aW5nLgorCisgICAgICAgIEZpeCBieSBpbml0aWFsaXppbmcgdGhl
IHNldHRpbmcgZnJvbSBOU1VzZXJEZWZhdWx0cyBhbmQgcmVtb3ZpbmcgdGhlIHBsYXRmb3JtQWxs
b3dzU2Nyb2xsQW5pbWF0aW9uKCkKKyAgICAgICAgY2hlY2suIFRoaXMgYWxsb3dzIGZvciBhIFdl
YktpdFRlc3RSdW5uZXIgdGVzdCBvdmVycmlkZSB0aGUgc2V0dGluZy4KKworICAgICAgICBVbmZv
cnR1bmF0ZWx5IGluIFdlYktpdExlZ2FjeSBBcHBLaXQgY29kZSBjb25zdWx0cyB0aGUgQCJOU1Nj
cm9sbEFuaW1hdGlvbkVuYWJsZWQiIGtleSwgc28KKyAgICAgICAgRHVtcFJlbmRlclRyZWUgaGFz
IHRvIGNvbnRpbnVlIHRvIGluaXRpYWxpemUgdGhpcyBOU1VzZXJEZWZhdWx0IHRvIEBOTyBhbmQg
dGVzdHMgdGhhdAorICAgICAgICB0cnkgdG8gY2hhbmdlIHRoZSBTZXR0aW5nIHdpbGwgZmFpbC4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvbWFjL0luamVjdGVkQnVuZGxlQ29udHJvbGxlck1h
Yy5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkluamVjdGVkQnVuZGxlQ29udHJvbGxlcjo6
cGxhdGZvcm1Jbml0aWFsaXplKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRC
dW5kbGU6OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9t
YWMvbWFpbi5tbToKKyAgICAgICAgKHNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzRm9yVGVz
dGluZyk6CisKIDIwMjEtMTItMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVuYW1lIE1vY2tTY3JvbGxBbmltYXRvckVuYWJsZWQgdG8gTW9ja1Nj
cm9sbGJhcnNDb250cm9sbGVyRW5hYmxlZApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9tYWMvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyTWFjLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9tYWMvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyTWFjLm1tCmluZGV4IDQ0M2VjMjA4ZDU5NTA1
MWYyYTI1ZDIwNGVhZTQ1NjA1ODJlY2ZiYTQuLmRiMDg0YWFhMTk2YjhjOTY4YTNkODAwZGFhNmQ5
NTZlNmEzOWJmYzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0luamVjdGVk
QnVuZGxlQ29udHJvbGxlck1hYy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9Jbmpl
Y3RlZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW0KQEAgLTQ0LDcgKzQ0LDYgQEAgdm9pZCBJbmplY3Rl
ZEJ1bmRsZUNvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCiAgICAgTlNEaWN0aW9uYXJ5
ICpkaWN0ID0gQHsKICAgICAgICAgQCJBcHBsZUFudGlBbGlhc2luZ1RocmVzaG9sZCI6IEAoNCks
CiAgICAgICAgIEAiQXBwbGVGb250U21vb3RoaW5nIjogQCgwKSwKLSAgICAgICAgQCJOU1Njcm9s
bEFuaW1hdGlvbkVuYWJsZWQiOiBATk8sCiAgICAgfTsKIAogICAgIFthcmd1bWVudERvbWFpbiBh
ZGRFbnRyaWVzRnJvbURpY3Rpb25hcnk6ZGljdF07CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbSBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1t
CmluZGV4IDAyYzk5MDNhNzBmYzg1Y2QxNzZjMTg4ODYzMmViMmViZGQzZmQyYWEuLjE2ZGRlMjFk
NzVmZmNlMGI2MjgwYjQwMGFkYTBiZWQ3NTA5YTJmYjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxl
TWFjLm1tCkBAIC01Miw3ICs1Miw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnBsYXRmb3JtSW5p
dGlhbGl6ZShXS1R5cGVSZWYgaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSkKICAgICAgICAgQCJBcHBs
ZUFxdWFDb2xvclZhcmlhbnQiOiBAKEJsdWVUaW50ZWRBcHBlYXJhbmNlKSwKICAgICAgICAgQCJB
cHBsZUhpZ2hsaWdodENvbG9yIjogQCIwLjcwOTgwMCAwLjgzNTMwMCAxLjAwMDAwMCIsCiAgICAg
ICAgIEAiQXBwbGVPdGhlckhpZ2hsaWdodENvbG9yIjogQCIwLjUwMDAwMCAwLjUwMDAwMCAwLjUw
MDAwMCIsCi0gICAgICAgIEAiTlNTY3JvbGxBbmltYXRpb25FbmFibGVkIjogQE5PLAogICAgICAg
ICBAIk5TT3ZlcmxheVNjcm9sbGVyc0VuYWJsZWQiOiBATk8sCiAgICAgICAgIEAiQXBwbGVTaG93
U2Nyb2xsQmFycyI6IEAiQWx3YXlzIiwKICAgICAgICAgQCJOU0J1dHRvbkFuaW1hdGlvbnNFbmFi
bGVkIjogQE5PLCAvLyBJZGVhbGx5LCB3ZSBzaG91bGQgZmluZCBhIHdheSB0byB0ZXN0IGFuaW1h
dGlvbnMsIGJ1dCBmb3Igbm93LCBtYWtlIHN1cmUgdGhhdCB0aGUgZHVtcGVkIHNuYXBzaG90IG1h
dGNoZXMgYWN0dWFsIHN0YXRlLgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9t
YWMvbWFpbi5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL21haW4ubW0KaW5kZXggNGMz
Y2FkZjZhYWM5ZGM3ZDE5NjI5OGExNGJmYTQ1MjE1ZTU0MWE3NS4uYWU2ZjIyZGY5NjVhZjQwYjQ2
ZjdmMzJhODg2MTNmODVhNDE2YTMzMyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9tYWMvbWFpbi5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9tYWluLm1tCkBA
IC00Miw3ICs0Miw2IEBAIHN0YXRpYyB2b2lkIHNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVz
Rm9yVGVzdGluZygpCiAgICAgICAgIEAiQXBwbGVFbmFibGVTd2lwZU5hdmlnYXRlV2l0aFNjcm9s
bHMiOiBAWUVTLAogICAgICAgICBAImNvbS5hcHBsZS5zd2lwZXNjcm9sbGRpcmVjdGlvbiI6IEAx
LAogICAgICAgICBAImNvbS5hcHBsZS50cmFja3BhZC5mb3JjZUNsaWNrIjogQDEsCi0gICAgICAg
IEAiTlNTY3JvbGxBbmltYXRpb25FbmFibGVkIjogQE5PLAogICAgICAgICBAIk5TT3ZlcmxheVNj
cm9sbGVyc0VuYWJsZWQiOiBATk8sCiAgICAgICAgIEAiQXBwbGVTaG93U2Nyb2xsQmFycyI6IEAi
QWx3YXlzIiwKICAgICAgICAgQCJXZWJLaXQyVXNlUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEi
OiBATk8sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggZjU5NzA1Y2FjY2UxYzk3OWU5NTYyYmM0MGYwYzA2Mzk0ZWU3NjZhZi4u
YmEzZWRlNjNiYjg2MzFiMWMwODcwZjVjY2MwNjE3M2JmYWE1MTBiNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE5IEBACisyMDIxLTEyLTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIFJlYWQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIFNjcm9sbEFuaW1hdG9y
RW5hYmxlZCBzZXR0aW5nIGZyb20gTlNVc2VyRGVmYXVsdHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQ1NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IFNjcm9sbEFuaW1hdG9yRW5hYmxl
ZCBpcyB0cnVlIGJ5IGRlZmF1bHQsIHR1cm4gaXQgb2ZmIGZvciB0aGVzZSB0ZXN0cy4KKworICAg
ICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1h
bmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC13aXRoLWtleWJvYXJkLXNjYWxlZC5odG1sOgor
ICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFw
LW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC13aXRoLWtleWJvYXJkLmh0bWw6CisgICAg
ICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFu
ZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC13aXRoLWtleWJvYXJkLXNjYWxlZC5odG1sOgorICAg
ICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1h
bmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwtd2l0aC1rZXlib2FyZC5odG1sOgorICAgICAgICAq
IHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0
eS1tYWluZnJhbWUtaG9yaXpvbnRhbC13aXRoLWtleWJvYXJkLmh0bWw6CisgICAgICAgICogdGls
ZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGltaXR5LW1h
aW5mcmFtZS12ZXJ0aWNhbC13aXRoLWtleWJvYXJkLmh0bWw6CisKIDIwMjEtMTItMTcgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIE1vY2tT
Y3JvbGxBbmltYXRvckVuYWJsZWQgdG8gTW9ja1Njcm9sbGJhcnNDb250cm9sbGVyRW5hYmxlZApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNu
YXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jpem9udGFsLXdpdGgta2V5Ym9h
cmQtc2NhbGVkLmh0bWwgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3Jv
bGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwtd2l0aC1r
ZXlib2FyZC1zY2FsZWQuaHRtbAppbmRleCBhNTRiNzg0MjVmNWI2MjBkZmNkYzE1ZGUyOGJiYjI0
NmQ5OTViNmM5Li5lMTViMjczZTBjMDFlYjM0YWQ3MDRmMjE1NWEyMzdlMzc3MzdlOThiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9z
Y3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwtd2l0aC1rZXlib2FyZC1z
Y2FsZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3Jv
bGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwtd2l0aC1r
ZXlib2FyZC1zY2FsZWQuaHRtbApAQCAtMzEsNiArMzEsOCBAQAogCiAgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3RzKCkKICAgICAgICAgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFNjcm9sbEFuaW1h
dG9yRW5hYmxlZChmYWxzZSk7CiAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLmRlbGF5Rm9yKDApOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFp
bmZyYW1lLWhvcml6b250YWwtd2l0aC1rZXlib2FyZC5odG1sIGIvTGF5b3V0VGVzdHMvdGlsZWQt
ZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5m
cmFtZS1ob3Jpem9udGFsLXdpdGgta2V5Ym9hcmQuaHRtbAppbmRleCA4MzcxOTc1YWUwZjkwYmM1
NGQ5ODQzNDI1N2M4MGZkN2RlMWJhNDMxLi44MjkxMzc2MTI2OTk3ZTNhNWJmYzRlZmUwYjkwZTk2
ZGVhM2YzMTBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwt
d2l0aC1rZXlib2FyZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRh
bC13aXRoLWtleWJvYXJkLmh0bWwKQEAgLTMxLDYgKzMxLDggQEAKIAogICAgICAgICBhc3luYyBm
dW5jdGlvbiBydW5UZXN0cygpCiAgICAgICAgIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTY3JvbGxBbmlt
YXRvckVuYWJsZWQoZmFsc2UpOwogICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICBh
d2FpdCBVSUhlbHBlci5kZWxheUZvcigwKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGls
ZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1h
aW5mcmFtZS12ZXJ0aWNhbC13aXRoLWtleWJvYXJkLXNjYWxlZC5odG1sIGIvTGF5b3V0VGVzdHMv
dGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5
LW1haW5mcmFtZS12ZXJ0aWNhbC13aXRoLWtleWJvYXJkLXNjYWxlZC5odG1sCmluZGV4IGIwZWMy
ZjZlZTIzYTZkYTg3NDc4NGQ4YjkwMTQ0NTRhMGI5Y2NjMjEuLjg1NDFkMDY1NDljNGQ0MmM0ZTcw
MjMzZGY4ZGE4MjM4ZTA3OWYxNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdp
bmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUt
dmVydGljYWwtd2l0aC1rZXlib2FyZC1zY2FsZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFp
bmZyYW1lLXZlcnRpY2FsLXdpdGgta2V5Ym9hcmQtc2NhbGVkLmh0bWwKQEAgLTMxLDYgKzMxLDgg
QEAKIAogICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0cygpCiAgICAgICAgIHsKKyAgICAg
ICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRTY3JvbGxBbmltYXRvckVuYWJsZWQoZmFsc2UpOwogICAgICAgICAgICAgdHJ5
IHsKICAgICAgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5kZWxheUZvcigwKTsKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Ny
b2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNhbC13aXRoLWtleWJvYXJkLmh0bWwg
Yi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwt
c25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLXdpdGgta2V5Ym9hcmQuaHRtbAppbmRl
eCBjMmY5NjY5NzNkMzY2NDdiNzNlZGFiZjU5MzgwZTQ4NWQ4OTgwMGMyLi5kOTc4Y2I0NTM0MmVh
YTRjMmI3MjM0Y2FlOTU3Y2UwNGQ1YTg2ZjNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFp
bmZyYW1lLXZlcnRpY2FsLXdpdGgta2V5Ym9hcmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFp
bmZyYW1lLXZlcnRpY2FsLXdpdGgta2V5Ym9hcmQuaHRtbApAQCAtMzEsNiArMzEsOCBAQAogCiAg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3RzKCkKICAgICAgICAgeworICAgICAgICAgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFNjcm9sbEFuaW1hdG9yRW5hYmxlZChmYWxzZSk7CiAgICAgICAgICAgICB0cnkgewogICAg
ICAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmRlbGF5Rm9yKDApOwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25h
cC1wcm94aW1pdHktbWFpbmZyYW1lLWhvcml6b250YWwtd2l0aC1rZXlib2FyZC5odG1sIGIvTGF5
b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAt
cHJveGltaXR5LW1haW5mcmFtZS1ob3Jpem9udGFsLXdpdGgta2V5Ym9hcmQuaHRtbAppbmRleCAw
ZjhmYmZmZGIzOTIzNDYyZDY0M2ExNmQ2NGVjZTRkYjcxNTNhYjdiLi41NDZkZjBhNzIxYWJkMDNj
MmZiMjNlNWRlMGY5NzhjMjM4ZGRkMzkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90aWxlZC1k
cmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1wcm94aW1pdHktbWFpbmZy
YW1lLWhvcml6b250YWwtd2l0aC1rZXlib2FyZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3RpbGVk
LWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWlu
ZnJhbWUtaG9yaXpvbnRhbC13aXRoLWtleWJvYXJkLmh0bWwKQEAgLTMxLDYgKzMxLDggQEAKIAog
ICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0cygpCiAgICAgICAgIHsKKyAgICAgICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRTY3JvbGxBbmltYXRvckVuYWJsZWQoZmFsc2UpOwogICAgICAgICAgICAgdHJ5IHsKICAg
ICAgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5kZWxheUZvcigwKTsKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtcHJveGltaXR5LW1haW5mcmFtZS12ZXJ0aWNhbC13aXRoLWtleWJvYXJkLmh0bWwgYi9MYXlv
dXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1w
cm94aW1pdHktbWFpbmZyYW1lLXZlcnRpY2FsLXdpdGgta2V5Ym9hcmQuaHRtbAppbmRleCBmZmY5
NTIwMmIyYWIzY2M5OGQ1OTI1MDM1ZWFlMzc1OTFkMGQ2N2Q3Li5hZDUxODM1NDYwNTZiMTAwZTYw
YWFkMjgyODMyYTljODI1ZmQxODU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3
aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1wcm94aW1pdHktbWFpbmZyYW1l
LXZlcnRpY2FsLXdpdGgta2V5Ym9hcmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3
aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1wcm94aW1pdHktbWFpbmZyYW1l
LXZlcnRpY2FsLXdpdGgta2V5Ym9hcmQuaHRtbApAQCAtMzEsNiArMzEsOCBAQAogCiAgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3RzKCkKICAgICAgICAgeworICAgICAgICAgICAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFNj
cm9sbEFuaW1hdG9yRW5hYmxlZChmYWxzZSk7CiAgICAgICAgICAgICB0cnkgewogICAgICAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmRlbGF5Rm9yKDApOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447510</attachid>
            <date>2021-12-17 21:17:58 -0800</date>
            <delta_ts>2021-12-18 11:08:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234456-20211217211757.patch</filename>
            <type>text/plain</type>
            <size>24039</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI4NTVhMzkyYzBkOWM5OGQzNTU3N2Ew
YzI0ZmU3YWI5YWVjNGZkMDEuLjAzMGJmMzdiYjc2NWJhNzc5YTgyZmM2NzYwZTMwNDYxZDg2MDI2
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMTItMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVhZCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0
aGUgU2Nyb2xsQW5pbWF0b3JFbmFibGVkIHNldHRpbmcgZnJvbSBOU1VzZXJEZWZhdWx0cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NDU2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQncyBpbXBvc3Np
YmxlIGZvciBhIHRlc3QgdG8gcnVuIHdpdGggYW4gYW5pbWF0ZWQga2V5Ym9hcmQgc2Nyb2xsIGJl
Y2F1c2UgcGxhdGZvcm1BbGxvd3NTY3JvbGxBbmltYXRpb24oKSwKKyAgICAgICAgd2hpY2ggcmVh
ZHMgZnJvbSBOU1VzZXJEZWZhdWx0cywgYWx3YXlzIHRydW1wcyB0aGUgU2V0dGluZy4KKworICAg
ICAgICBGaXggYnkgaW5pdGlhbGl6aW5nIHRoZSBzZXR0aW5nIGZyb20gTlNVc2VyRGVmYXVsdHMg
YW5kIHJlbW92aW5nIHRoZSBwbGF0Zm9ybUFsbG93c1Njcm9sbEFuaW1hdGlvbigpCisgICAgICAg
IGNoZWNrLiBUaGlzIGFsbG93cyBmb3IgYSBXZWJLaXRUZXN0UnVubmVyIHRlc3Qgb3ZlcnJpZGUg
dGhlIHNldHRpbmcuIFJlbW92ZSB0aGUgV1RSIGNvZGUgCisgICAgICAgIHRoYXQgc2V0cyBAIk5T
U2Nyb2xsQW5pbWF0aW9uRW5hYmxlZCIgdG8gQE5PLgorCisgICAgICAgIFVuZm9ydHVuYXRlbHkg
aW4gV2ViS2l0TGVnYWN5IEFwcEtpdCBjb2RlIGNvbnN1bHRzIHRoZSBAIk5TU2Nyb2xsQW5pbWF0
aW9uRW5hYmxlZCIga2V5LCBzbworICAgICAgICBEdW1wUmVuZGVyVHJlZSBoYXMgdG8gY29udGlu
dWUgdG8gaW5pdGlhbGl6ZSB0aGlzIE5TVXNlckRlZmF1bHQgdG8gQE5PIGFuZCB0ZXN0cyB0aGF0
CisgICAgICAgIHRyeSB0byBjaGFuZ2UgdGhlIFNldHRpbmcgd2lsbCBmYWlsLgorCisgICAgICAg
ICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sOgorCiAyMDIxLTEyLTE3
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFt
ZSBNb2NrU2Nyb2xsQW5pbWF0b3JFbmFibGVkIHRvIE1vY2tTY3JvbGxiYXJzQ29udHJvbGxlckVu
YWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBmM2RhOTY0OTZhOTUzY2U2OWM2N2Y5Y2MyNDA5Y2NiNWVkMjIx
NDk3Li45YTczNGFhZmViZWM0MWE5ZDViYjJhYTI2NzQ5MTI5MzI5Mzk1NGMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzAgQEAKKzIwMjEtMTItMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVhZCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgU2Ny
b2xsQW5pbWF0b3JFbmFibGVkIHNldHRpbmcgZnJvbSBOU1VzZXJEZWZhdWx0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NDU2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQncyBpbXBvc3NpYmxlIGZv
ciBhIHRlc3QgdG8gcnVuIHdpdGggYW4gYW5pbWF0ZWQga2V5Ym9hcmQgc2Nyb2xsIGJlY2F1c2Ug
cGxhdGZvcm1BbGxvd3NTY3JvbGxBbmltYXRpb24oKSwKKyAgICAgICAgd2hpY2ggcmVhZHMgZnJv
bSBOU1VzZXJEZWZhdWx0cywgYWx3YXlzIHRydW1wcyB0aGUgU2V0dGluZy4KKworICAgICAgICBG
aXggYnkgaW5pdGlhbGl6aW5nIHRoZSBzZXR0aW5nIGZyb20gTlNVc2VyRGVmYXVsdHMgYW5kIHJl
bW92aW5nIHRoZSBwbGF0Zm9ybUFsbG93c1Njcm9sbEFuaW1hdGlvbigpCisgICAgICAgIGNoZWNr
LiBUaGlzIGFsbG93cyBmb3IgYSBXZWJLaXRUZXN0UnVubmVyIHRlc3Qgb3ZlcnJpZGUgdGhlIHNl
dHRpbmcuIFJlbW92ZSB0aGUgV1RSIGNvZGUgCisgICAgICAgIHRoYXQgc2V0cyBAIk5TU2Nyb2xs
QW5pbWF0aW9uRW5hYmxlZCIgdG8gQE5PLgorCisgICAgICAgIFVuZm9ydHVuYXRlbHkgaW4gV2Vi
S2l0TGVnYWN5IEFwcEtpdCBjb2RlIGNvbnN1bHRzIHRoZSBAIk5TU2Nyb2xsQW5pbWF0aW9uRW5h
YmxlZCIga2V5LCBzbworICAgICAgICBEdW1wUmVuZGVyVHJlZSBoYXMgdG8gY29udGludWUgdG8g
aW5pdGlhbGl6ZSB0aGlzIE5TVXNlckRlZmF1bHQgdG8gQE5PIGFuZCB0ZXN0cyB0aGF0CisgICAg
ICAgIHRyeSB0byBjaGFuZ2UgdGhlIFNldHRpbmcgd2lsbCBmYWlsLgorCisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0
b3I6OnNpbmdsZUF4aXNTY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6
OnNjcm9sbEFuaW1hdGlvbkVuYWJsZWQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6cGxhdGZvcm1B
bGxvd3NTY3JvbGxBbmltYXRpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9TY3JvbGxBbmltYXRvck1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxB
bmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpwbGF0
Zm9ybUFsbG93c1Njcm9sbEFuaW1hdGlvbiBjb25zdCk6IERlbGV0ZWQuCisKIDIwMjEtMTItMTcg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1l
IE1vY2tTY3JvbGxBbmltYXRvckVuYWJsZWQgdG8gTW9ja1Njcm9sbGJhcnNDb250cm9sbGVyRW5h
YmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCAzZDc1OTVmNjkwZmVmYWI0M2JjNDAzMWVlMGM4YzE1NmM3ZGRmOTA3
Li4xNWIxNjgxNDg2MDQyZTYzMjQ1ZWU5MDNkNmUxN2Y3MTA4YTRlOGFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI1IEBACisyMDIxLTEyLTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFJlYWQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIFNjcm9sbEFu
aW1hdG9yRW5hYmxlZCBzZXR0aW5nIGZyb20gTlNVc2VyRGVmYXVsdHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQ1NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0J3MgaW1wb3NzaWJsZSBmb3IgYSB0
ZXN0IHRvIHJ1biB3aXRoIGFuIGFuaW1hdGVkIGtleWJvYXJkIHNjcm9sbCBiZWNhdXNlIHBsYXRm
b3JtQWxsb3dzU2Nyb2xsQW5pbWF0aW9uKCksCisgICAgICAgIHdoaWNoIHJlYWRzIGZyb20gTlNV
c2VyRGVmYXVsdHMsIGFsd2F5cyB0cnVtcHMgdGhlIFNldHRpbmcuCisKKyAgICAgICAgRml4IGJ5
IGluaXRpYWxpemluZyB0aGUgc2V0dGluZyBmcm9tIE5TVXNlckRlZmF1bHRzIGFuZCByZW1vdmlu
ZyB0aGUgcGxhdGZvcm1BbGxvd3NTY3JvbGxBbmltYXRpb24oKQorICAgICAgICBjaGVjay4gVGhp
cyBhbGxvd3MgZm9yIGEgV2ViS2l0VGVzdFJ1bm5lciB0ZXN0IG92ZXJyaWRlIHRoZSBzZXR0aW5n
LiBSZW1vdmUgdGhlIFdUUiBjb2RlIAorICAgICAgICB0aGF0IHNldHMgQCJOU1Njcm9sbEFuaW1h
dGlvbkVuYWJsZWQiIHRvIEBOTy4KKworICAgICAgICBVbmZvcnR1bmF0ZWx5IGluIFdlYktpdExl
Z2FjeSBBcHBLaXQgY29kZSBjb25zdWx0cyB0aGUgQCJOU1Njcm9sbEFuaW1hdGlvbkVuYWJsZWQi
IGtleSwgc28KKyAgICAgICAgRHVtcFJlbmRlclRyZWUgaGFzIHRvIGNvbnRpbnVlIHRvIGluaXRp
YWxpemUgdGhpcyBOU1VzZXJEZWZhdWx0IHRvIEBOTyBhbmQgdGVzdHMgdGhhdAorICAgICAgICB0
cnkgdG8gY2hhbmdlIHRoZSBTZXR0aW5nIHdpbGwgZmFpbC4KKworICAgICAgICAqIFNoYXJlZC9D
b2NvYS9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6ZGVmYXVsdFNjcm9sbEFuaW1hdG9yRW5hYmxlZCk6CisgICAgICAgICogU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oOgorCiAyMDIxLTEyLTE3ICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEFQSTo6T2JqZWN0
OjpUeXBlOjpCdW5kbGVQYWdlR3JvdXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBh
OTBlNzE3Y2E0ZWZkY2M4ZWFmM2JjY2QwYzE2MzdjZTlhYmMwNzY4Li4wY2U4NGMzYmExYjlmZDNl
MzMxZWUwMDliN2M5NWI4ZTk3MmUyZWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMjEtMTItMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVhZCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgU2Nyb2xs
QW5pbWF0b3JFbmFibGVkIHNldHRpbmcgZnJvbSBOU1VzZXJEZWZhdWx0cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NDU2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQncyBpbXBvc3NpYmxlIGZvciBh
IHRlc3QgdG8gcnVuIHdpdGggYW4gYW5pbWF0ZWQga2V5Ym9hcmQgc2Nyb2xsIGJlY2F1c2UgcGxh
dGZvcm1BbGxvd3NTY3JvbGxBbmltYXRpb24oKSwKKyAgICAgICAgd2hpY2ggcmVhZHMgZnJvbSBO
U1VzZXJEZWZhdWx0cywgYWx3YXlzIHRydW1wcyB0aGUgU2V0dGluZy4KKworICAgICAgICBGaXgg
YnkgaW5pdGlhbGl6aW5nIHRoZSBzZXR0aW5nIGZyb20gTlNVc2VyRGVmYXVsdHMgYW5kIHJlbW92
aW5nIHRoZSBwbGF0Zm9ybUFsbG93c1Njcm9sbEFuaW1hdGlvbigpCisgICAgICAgIGNoZWNrLiBU
aGlzIGFsbG93cyBmb3IgYSBXZWJLaXRUZXN0UnVubmVyIHRlc3Qgb3ZlcnJpZGUgdGhlIHNldHRp
bmcuCisKKyAgICAgICAgVW5mb3J0dW5hdGVseSBpbiBXZWJLaXRMZWdhY3kgQXBwS2l0IGNvZGUg
Y29uc3VsdHMgdGhlIEAiTlNTY3JvbGxBbmltYXRpb25FbmFibGVkIiBrZXksIHNvCisgICAgICAg
IER1bXBSZW5kZXJUcmVlIGhhcyB0byBjb250aW51ZSB0byBpbml0aWFsaXplIHRoaXMgTlNVc2Vy
RGVmYXVsdCB0byBATk8gYW5kIHRlc3RzIHRoYXQKKyAgICAgICAgdHJ5IHRvIGNoYW5nZSB0aGUg
U2V0dGluZyB3aWxsIGZhaWwuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVm
YXVsdFZhbHVlcy5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLm1tOgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0U2Nyb2xsQW5pbWF0b3JFbmFibGVkKToK
KwogMjAyMS0xMi0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEZpeCBpT1MgZGVidWcgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
U2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dURi9TY3Jp
cHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggYWQxZjFkNDU5NDczNjg2
OWM0OGMyMTEyZTU5NjMzNzY4YWM0YmM3Ni4uZmViNWE4MGUwYTI3ZjEyZTU1Nzc1ODJjM2FiZGNm
M2M5MTkzMmIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dl
YlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dl
YlByZWZlcmVuY2VzLnlhbWwKQEAgLTE4ODksMTMgKzE4ODksMTQgQEAgU2Nyb2xsQW5pbWF0b3JF
bmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZToKICAgICBXZWJLaXRMZWdhY3k6
Ci0gICAgICAiUExBVEZPUk0oTUFDKSI6IHRydWUKKyAgICAgICJQTEFURk9STShNQUMpIjogV2Vi
S2l0OjpkZWZhdWx0U2Nyb2xsQW5pbWF0b3JFbmFibGVkKCkKKyAgICAgICJQTEFURk9STShHVEsp
IHx8IFBMQVRGT1JNKFdQRSkiOiB0cnVlCiAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgIFdlYktp
dDoKLSAgICAgICJQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BF
KSI6IHRydWUKKyAgICAgICJQTEFURk9STShNQUMpIjogV2ViS2l0OjpkZWZhdWx0U2Nyb2xsQW5p
bWF0b3JFbmFibGVkKCkKKyAgICAgICJQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkiOiB0
cnVlCiAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgIFdlYkNvcmU6Ci0gICAgICAiUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkiOiB0cnVlCiAgICAgICBkZWZh
dWx0OiBmYWxzZQogCiAjIEZJWE1FOiBUaGlzIGlzIGhhbmRsZWQgdmlhIFdlYlZpZXcgU1BJIHJh
dGhlciB0aGFuIFdlYlByZWZlcmVuY2VzIGZvciBXZWJLaXRMZWdhY3kuIFdlIHNob3VsZCBjaGFu
Z2UgdGhlIFNQSSB0byBsb29rdXAgdGhlIFdlYlByZWZlcmVuY2VzIHZhbHVlIGluc3RlYWQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKaW5kZXggYjdjMTc2MjI1
OGNiZGM1NDc2ZDdkY2EwYWM5MTU3NWE5NDVhZWIyOC4uYWIyOTQ5MmI5MjMzMGJiOTMyZDlhMzFj
ZDBjNDZlZWU4ZTkxM2M5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1h
dG9yLmNwcApAQCAtNzgsNyArNzgsNyBAQCBib29sIFNjcm9sbEFuaW1hdG9yOjpzaW5nbGVBeGlz
U2Nyb2xsKFNjcm9sbEV2ZW50QXhpcyBheGlzLCBmbG9hdCBzY3JvbGxEZWx0YSwgTwogICAgICAg
ICBkZWx0YSA9IG5ld09mZnNldCAtIGN1cnJlbnRPZmZzZXQ7CiAgICAgfQogCi0gICAgaWYgKG1f
c2Nyb2xsYWJsZUFyZWEuc2Nyb2xsQW5pbWF0b3JFbmFibGVkKCkgJiYgcGxhdGZvcm1BbGxvd3NT
Y3JvbGxBbmltYXRpb24oKSAmJiAhYmVoYXZpb3IuY29udGFpbnMoU2Nyb2xsQmVoYXZpb3I6Ok5l
dmVyQW5pbWF0ZSkpIHsKKyAgICBpZiAobV9zY3JvbGxhYmxlQXJlYS5zY3JvbGxBbmltYXRvckVu
YWJsZWQoKSAmJiAhYmVoYXZpb3IuY29udGFpbnMoU2Nyb2xsQmVoYXZpb3I6Ok5ldmVyQW5pbWF0
ZSkpIHsKICAgICAgICAgaWYgKG1fc2Nyb2xsQ29udHJvbGxlci5yZXRhcmdldEFuaW1hdGVkU2Ny
b2xsQnkoZGVsdGEpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAgLTM5MSw3ICszOTEs
NyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yOjpyZW1vdmVXaGVlbEV2ZW50VGVzdENvbXBsZXRpb25E
ZWZlcnJhbEZvclJlYXNvbihXaGVlbEV2ZW50VAogI2lmIFBMQVRGT1JNKEdUSykgfHwgVVNFKE5J
Q09TSUEpCiBib29sIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGxBbmltYXRpb25FbmFibGVkKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYS5zY3JvbGxBbmltYXRvckVuYWJsZWQo
KSAmJiBwbGF0Zm9ybUFsbG93c1Njcm9sbEFuaW1hdGlvbigpOworICAgIHJldHVybiBtX3Njcm9s
bGFibGVBcmVhLnNjcm9sbEFuaW1hdG9yRW5hYmxlZCgpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCmluZGV4IGQ1MjFlYTNhMzYzYWFlYjAxZTg3
ZTIzMmY4ZjNjYzIxMzNmODdjMTMuLjg0YmM2MjQzZGFkZmRlNzU1MDAwZjcxNjU3MGM5MDgzNTFl
N2E2YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaApAQCAtMTI0
LDkgKzEyNCw2IEBAIHB1YmxpYzoKIAogICAgIFNjcm9sbEFuaW1hdGlvblN0YXR1cyBzZXJ2aWNl
U2Nyb2xsQW5pbWF0aW9uKE1vbm90b25pY1RpbWUpOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdmlydHVh
bCBib29sIHBsYXRmb3JtQWxsb3dzU2Nyb2xsQW5pbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gdHJ1
ZTsgfQotCiBwcml2YXRlOgogICAgIHZvaWQgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKGNvbnN0IEZs
b2F0U2l6ZSYgZGVsdGEpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvU2Nyb2xsQW5pbWF0b3JNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3Jv
bGxBbmltYXRvck1hYy5oCmluZGV4IDNkNmFhODIxOTFlZWJiMjA1NTVlZmUwM2EzMWRiYjg1ZTI3
Zjc5YjAuLjY0YWU1MmMyNTVhZTNlOGYyY2FhN2MxOTIxMTI0ZjdiZDE1MGUyMjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCkBAIC00Niw4
ICs0Niw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzaG91bGRGb3J3YXJkV2hlZWxFdmVudHNUb1Bh
cmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBjb25zdDsKICAgICBib29sIGhhbmRsZVdo
ZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgZmluYWw7CiAKLSAgICBib29sIHBs
YXRmb3JtQWxsb3dzU2Nyb2xsQW5pbWF0aW9uKCkgY29uc3Q7Ci0KICAgICB2b2lkIGhhbmRsZVdo
ZWVsRXZlbnRQaGFzZShQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSkgZmluYWw7CiAKICAgICBib29s
IGlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQppbmRleCA1M2E0MDc1M2RiNzQ3
YzVhYzRiMWY3YjIxYTlhZDVjMWZmNDVhODM2Li4zODljYmQ2ZWRlYjE4YTYwMzM0Y2YzMzFmYTFh
NDg4OTI3Y2E4NjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsQW5pbWF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9s
bEFuaW1hdG9yTWFjLm1tCkBAIC01MSwxMiArNTEsNiBAQCBTY3JvbGxBbmltYXRvck1hYzo6U2Ny
b2xsQW5pbWF0b3JNYWMoU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQogCiBTY3JvbGxB
bmltYXRvck1hYzo6flNjcm9sbEFuaW1hdG9yTWFjKCkgPSBkZWZhdWx0OwogCi1ib29sIFNjcm9s
bEFuaW1hdG9yTWFjOjpwbGF0Zm9ybUFsbG93c1Njcm9sbEFuaW1hdGlvbigpIGNvbnN0Ci17Ci0g
ICAgc3RhdGljIGJvb2wgZW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIGJvb2xGb3JLZXk6QCJOU1Njcm9sbEFuaW1hdGlvbkVuYWJsZWQiXTsKLSAgICByZXR1
cm4gZW5hYmxlZDsKLX0KLQogc3RhdGljIGJvb2wgcnViYmVyQmFuZGluZ0VuYWJsZWRGb3JTeXN0
ZW0oKQogewogICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkID0gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXND
b2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYlByZWZlcmVuY2VzRGVmYXVs
dFZhbHVlc0NvY29hLm1tCmluZGV4IDQxYjE4YjIwMWM5NGUyNjBmNTcyODk3NWI0NjNjZDg4ZDgx
ZGJkYzYuLmZlZWUwOTg4NzQ5NzIyZDdkYzMyOWUxOTk4NmYwMzlkMmM2YWE2NDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVl
c0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlc0NvY29hLm1tCkBAIC02NSw2ICs2NSwxMyBAQCBib29sIGlzRmVhdHVyZUZs
YWdFbmFibGVkKGNvbnN0IGNoYXIqIGZlYXR1cmVOYW1lLCBib29sIGRlZmF1bHRWYWx1ZSkKICNl
bmRpZiAvLyBIQVZFKFNZU1RFTV9GRUFUVVJFX0ZMQUdTKQogfQogCisjaWYgUExBVEZPUk0oTUFD
KQorYm9vbCBkZWZhdWx0U2Nyb2xsQW5pbWF0b3JFbmFibGVkKCkKK3sKKyAgICByZXR1cm4gW1tO
U1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gYm9vbEZvcktleTpAIk5TU2Nyb2xs
QW5pbWF0aW9uRW5hYmxlZCJdOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAog
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZh
dWx0VmFsdWVzLmgKaW5kZXggMTkxM2Y2YWNkYjM0NjIwYjg5ODZmMzI3OWQ2OGVjZDRlZTRkMWY0
ZS4uMmNlZGM0YmFiNWNhODEyMjU1MzlhZjBlYzM4N2E3ODM0YWRmNDAwZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTQ3
LDYgKzQ3LDcgQEAgYm9vbCBkZWZhdWx0VGV4dEF1dG9zaXppbmdVc2VzSWRlbXBvdGVudE1vZGUo
KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQorYm9vbCBkZWZhdWx0U2Nyb2xsQW5pbWF0
b3JFbmFibGVkKCk7CiBib29sIGRlZmF1bHRQYXNzaXZlV2hlZWxMaXN0ZW5lcnNBc0RlZmF1bHRP
bkRvY3VtZW50KCk7CiBib29sIGRlZmF1bHRXaGVlbEV2ZW50R2VzdHVyZXNCZWNvbWVOb25CbG9j
a2luZygpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAppbmRleCBiMDgxOGMzMjM4
OWUxMjQ5MzZiYmYwYTIxZDNhMjI1MTYxNjkxNjkxLi4wNzVhMjdlY2YyYjcwMTE1OTU1YzI1M2U2
ZGQ0ZjkxZDY2ZDdlM2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgKQEAgLTY0LDYgKzY0
LDcgQEAgYm9vbCBkZWZhdWx0TG9hZERlZmVycmluZ0VuYWJsZWQoKTsKIGJvb2wgZGVmYXVsdFdp
bmRvd0ZvY3VzUmVzdHJpY3RlZCgpOwogYm9vbCBkZWZhdWx0VXNlUHJlSFRNTDVQYXJzZXJRdWly
a3MoKTsKIGJvb2wgZGVmYXVsdE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrKCk7Citib29s
IGRlZmF1bHRTY3JvbGxBbmltYXRvckVuYWJsZWQoKTsKIGJvb2wgZGVmYXVsdFRyZWF0c0FueVRl
eHRDU1NMaW5rQXNTdHlsZXNoZWV0KCk7CiBib29sIGRlZmF1bHROZWVkc0ZyYW1lTmFtZUZhbGxi
YWNrVG9JZFF1aXJrKCk7CiBib29sIGRlZmF1bHROZWVkc0tleWJvYXJkRXZlbnREaXNhbWJpZ3Vh
dGlvblF1aXJrcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQppbmRleCAwNTM4YWE5ZmEw
NzE1N2M4YjQzMDQwOGZiNWFiNDMzMTRmODcxMTgwLi5jMjM2MjExYjc2ZDQ3MGIxMDdmZmMzYjVl
YjgyYmNkZGU1ZjU2ZjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5tbQpAQCAtMTkwLDYg
KzE5MCwxMiBAQCBib29sIGRlZmF1bHROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyaygpCiAg
ICAgcmV0dXJuIG5lZWRzUXVpcms7CiB9CiAKK2Jvb2wgZGVmYXVsdFNjcm9sbEFuaW1hdG9yRW5h
YmxlZCgpCit7CisgICAgc3RhdGljIGJvb2wgZW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3Rh
bmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6QCJOU1Njcm9sbEFuaW1hdGlvbkVuYWJsZWQi
XTsKKyAgICByZXR1cm4gZW5hYmxlZDsKK30KKwogYm9vbCBkZWZhdWx0VHJlYXRzQW55VGV4dENT
U0xpbmtBc1N0eWxlc2hlZXQoKQogewogICAgIHN0YXRpYyBib29sIG5lZWRzUXVpcmsgPSAhV2Vi
S2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhPVVRfTElOS19FTEVN
RU5UX1RFWFRfQ1NTX1FVSVJLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IDE1MDkxMWNiMmM0NmQ4ZjRjM2FhY2UzZjcyOWI1OTI0YWY3NmU2OGMu
LmU0MjE5OTg5MWQzZGFkZjI0ZWNiZGE4YTMwMDFjNmZjZjFhNGU3OTggMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAy
MS0xMi0xNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZWFkIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBTY3JvbGxBbmltYXRvckVuYWJsZWQgc2V0
dGluZyBmcm9tIE5TVXNlckRlZmF1bHRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzQ0NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJdCdzIGltcG9zc2libGUgZm9yIGEgdGVzdCB0byBydW4gd2l0aCBh
biBhbmltYXRlZCBrZXlib2FyZCBzY3JvbGwgYmVjYXVzZSBwbGF0Zm9ybUFsbG93c1Njcm9sbEFu
aW1hdGlvbigpLAorICAgICAgICB3aGljaCByZWFkcyBmcm9tIE5TVXNlckRlZmF1bHRzLCBhbHdh
eXMgdHJ1bXBzIHRoZSBTZXR0aW5nLgorCisgICAgICAgIEZpeCBieSBpbml0aWFsaXppbmcgdGhl
IHNldHRpbmcgZnJvbSBOU1VzZXJEZWZhdWx0cyBhbmQgcmVtb3ZpbmcgdGhlIHBsYXRmb3JtQWxs
b3dzU2Nyb2xsQW5pbWF0aW9uKCkKKyAgICAgICAgY2hlY2suIFRoaXMgYWxsb3dzIGZvciBhIFdl
YktpdFRlc3RSdW5uZXIgdGVzdCBvdmVycmlkZSB0aGUgc2V0dGluZy4KKworICAgICAgICBVbmZv
cnR1bmF0ZWx5IGluIFdlYktpdExlZ2FjeSBBcHBLaXQgY29kZSBjb25zdWx0cyB0aGUgQCJOU1Nj
cm9sbEFuaW1hdGlvbkVuYWJsZWQiIGtleSwgc28KKyAgICAgICAgRHVtcFJlbmRlclRyZWUgaGFz
IHRvIGNvbnRpbnVlIHRvIGluaXRpYWxpemUgdGhpcyBOU1VzZXJEZWZhdWx0IHRvIEBOTyBhbmQg
dGVzdHMgdGhhdAorICAgICAgICB0cnkgdG8gY2hhbmdlIHRoZSBTZXR0aW5nIHdpbGwgZmFpbC4K
KworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVk
QnVuZGxlTWFjLm1tOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6cGxhdGZvcm1Jbml0
aWFsaXplKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL21hYy9tYWluLm1tOgorICAgICAg
ICAoc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXNGb3JUZXN0aW5nKToKKwogMjAyMS0xMi0x
NyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5h
bWUgTW9ja1Njcm9sbEFuaW1hdG9yRW5hYmxlZCB0byBNb2NrU2Nyb2xsYmFyc0NvbnRyb2xsZXJF
bmFibGVkCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCmluZGV4IDAyYzk5MDNhNzBmYzg1Y2Qx
NzZjMTg4ODYzMmViMmViZGQzZmQyYWEuLjE2ZGRlMjFkNzVmZmNlMGI2MjgwYjQwMGFkYTBiZWQ3
NTA5YTJmYjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCkBAIC01Miw3ICs1Miw2IEBA
IHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnBsYXRmb3JtSW5pdGlhbGl6ZShXS1R5cGVSZWYgaW5pdGlh
bGl6YXRpb25Vc2VyRGF0YSkKICAgICAgICAgQCJBcHBsZUFxdWFDb2xvclZhcmlhbnQiOiBAKEJs
dWVUaW50ZWRBcHBlYXJhbmNlKSwKICAgICAgICAgQCJBcHBsZUhpZ2hsaWdodENvbG9yIjogQCIw
LjcwOTgwMCAwLjgzNTMwMCAxLjAwMDAwMCIsCiAgICAgICAgIEAiQXBwbGVPdGhlckhpZ2hsaWdo
dENvbG9yIjogQCIwLjUwMDAwMCAwLjUwMDAwMCAwLjUwMDAwMCIsCi0gICAgICAgIEAiTlNTY3Jv
bGxBbmltYXRpb25FbmFibGVkIjogQE5PLAogICAgICAgICBAIk5TT3ZlcmxheVNjcm9sbGVyc0Vu
YWJsZWQiOiBATk8sCiAgICAgICAgIEAiQXBwbGVTaG93U2Nyb2xsQmFycyI6IEAiQWx3YXlzIiwK
ICAgICAgICAgQCJOU0J1dHRvbkFuaW1hdGlvbnNFbmFibGVkIjogQE5PLCAvLyBJZGVhbGx5LCB3
ZSBzaG91bGQgZmluZCBhIHdheSB0byB0ZXN0IGFuaW1hdGlvbnMsIGJ1dCBmb3Igbm93LCBtYWtl
IHN1cmUgdGhhdCB0aGUgZHVtcGVkIHNuYXBzaG90IG1hdGNoZXMgYWN0dWFsIHN0YXRlLgpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvbWFpbi5tbSBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvbWFjL21haW4ubW0KaW5kZXggNGMzY2FkZjZhYWM5ZGM3ZDE5NjI5OGExNGJm
YTQ1MjE1ZTU0MWE3NS4uYWU2ZjIyZGY5NjVhZjQwYjQ2ZjdmMzJhODg2MTNmODVhNDE2YTMzMyAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvbWFpbi5tbQorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL21hYy9tYWluLm1tCkBAIC00Miw3ICs0Miw2IEBAIHN0YXRpYyB2
b2lkIHNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzRm9yVGVzdGluZygpCiAgICAgICAgIEAi
QXBwbGVFbmFibGVTd2lwZU5hdmlnYXRlV2l0aFNjcm9sbHMiOiBAWUVTLAogICAgICAgICBAImNv
bS5hcHBsZS5zd2lwZXNjcm9sbGRpcmVjdGlvbiI6IEAxLAogICAgICAgICBAImNvbS5hcHBsZS50
cmFja3BhZC5mb3JjZUNsaWNrIjogQDEsCi0gICAgICAgIEAiTlNTY3JvbGxBbmltYXRpb25FbmFi
bGVkIjogQE5PLAogICAgICAgICBAIk5TT3ZlcmxheVNjcm9sbGVyc0VuYWJsZWQiOiBATk8sCiAg
ICAgICAgIEAiQXBwbGVTaG93U2Nyb2xsQmFycyI6IEAiQWx3YXlzIiwKICAgICAgICAgQCJXZWJL
aXQyVXNlUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEiOiBATk8sCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjU5NzA1Y2Fj
Y2UxYzk3OWU5NTYyYmM0MGYwYzA2Mzk0ZWU3NjZhZi4uYmEzZWRlNjNiYjg2MzFiMWMwODcwZjVj
Y2MwNjE3M2JmYWE1MTBiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTEyLTE3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlYWQgdGhlIGRl
ZmF1bHQgdmFsdWUgb2YgdGhlIFNjcm9sbEFuaW1hdG9yRW5hYmxlZCBzZXR0aW5nIGZyb20gTlNV
c2VyRGVmYXVsdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNDQ1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vdyB0aGF0IFNjcm9sbEFuaW1hdG9yRW5hYmxlZCBpcyB0cnVlIGJ5IGRlZmF1bHQsIHR1
cm4gaXQgb2ZmIGZvciB0aGVzZSB0ZXN0cy4KKworICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Ny
b2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpv
bnRhbC13aXRoLWtleWJvYXJkLXNjYWxlZC5odG1sOgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcv
c2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9y
aXpvbnRhbC13aXRoLWtleWJvYXJkLmh0bWw6CisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3Jv
bGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS12ZXJ0aWNh
bC13aXRoLWtleWJvYXJkLXNjYWxlZC5odG1sOgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Ny
b2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGlj
YWwtd2l0aC1rZXlib2FyZC5odG1sOgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWluZnJhbWUtaG9yaXpvbnRhbC13
aXRoLWtleWJvYXJkLmh0bWw6CisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Ny
b2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGltaXR5LW1haW5mcmFtZS12ZXJ0aWNhbC13aXRoLWtl
eWJvYXJkLmh0bWw6CisKIDIwMjEtMTItMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIE1vY2tTY3JvbGxBbmltYXRvckVuYWJsZWQgdG8g
TW9ja1Njcm9sbGJhcnNDb250cm9sbGVyRW5hYmxlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vaG9yaXpvbnRhbC1zY3JvbGxiYXItaW4tcnRsLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9ob3Jpem9udGFsLXNjcm9sbGJhci1pbi1ydGwuaHRtbAppbmRleCBkZTBhZDFiODI3
MzRjZDU1ODRmNzRkYzhiYmEwOGVjMzE0ZWQzNWExLi5iYWE2ZDRkMTk5Y2U0MGU2MDZlZWQ2MDYx
YmMwZjFiYTk1ODNlNWVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ob3Jpem9u
dGFsLXNjcm9sbGJhci1pbi1ydGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ob3Jp
em9udGFsLXNjcm9sbGJhci1pbi1ydGwuaHRtbApAQCAtMzIsNiArMzIsOCBAQAogCiAgICAgICAg
ICAgICBvbmxvYWQgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRTY3JvbGxBbmltYXRvckVuYWJsZWQoZmFsc2UpOwogICAgICAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1t
b3ZlLWFmdGVyLWtleWJvYXJkLXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L2ZpeGVkLW1vdmUtYWZ0ZXIta2V5Ym9hcmQtc2Nyb2xsLmh0bWwKaW5kZXggZDMyOWFjNmJmOTZi
MjliOTkzODc2ZGIyZDlkNGI0NmY3OGVlZDY3Yy4uYTVhMzhjOTIzMDdjMGQwZWY0NDNkYWFhMmUz
ZDMwNzQ2MDE0ZWVkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVk
LW1vdmUtYWZ0ZXIta2V5Ym9hcmQtc2Nyb2xsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9y
ZXBhaW50L2ZpeGVkLW1vdmUtYWZ0ZXIta2V5Ym9hcmQtc2Nyb2xsLmh0bWwKQEAgLTQsNiArNCw4
IEBACiAgIDxzY3JpcHQ+CiAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKICAgICAgIHsKKyAgICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFNjcm9sbEFuaW1hdG9yRW5hYmxlZChmYWxzZSk7CiAgICAgICAgICAgZnJhbWVzWzBd
LmZvY3VzKCk7CiAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewogICAgICAgICAg
ICAgICB3aW5kb3cuZXZlbnRTZW5kZXIua2V5RG93bigicGFnZURvd24iKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2Fycm93LWtleS1zY3JvbGwtaW4tcnRsLWRvY3Vt
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9hcnJvdy1rZXktc2Nyb2xsLWlu
LXJ0bC1kb2N1bWVudC5odG1sCmluZGV4IGZiZDEyNTQyN2U0MTY5MDdjNjU1NDIxZTBjODY4MzIz
ODkxMGMwNmYuLjQzNjhhMzBiM2I1ZGU0YmZkMzQwZGRjOGE2OWZlNWQ5MTA0MTNjYWQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2Fycm93LWtleS1zY3JvbGwtaW4tcnRs
LWRvY3VtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvYXJyb3cta2V5
LXNjcm9sbC1pbi1ydGwtZG9jdW1lbnQuaHRtbApAQCAtMjMsNiArMjMsOSBAQAogICAgICAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAo
d2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTY3Jv
bGxBbmltYXRvckVuYWJsZWQoZmFsc2UpOworCiAgICAgICAgIGZ1bmN0aW9uIGNoZWNrRm9yU2Ny
b2xsKCkKICAgICAgICAgewogICAgICAgICAgICAgdmFyIGV4cGVjdGVkU2Nyb2xsTGVmdCA9IC0x
MjA7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3Jv
bGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLWhvcml6b250YWwtd2l0aC1r
ZXlib2FyZC1zY2FsZWQuaHRtbCBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC13
aXRoLWtleWJvYXJkLXNjYWxlZC5odG1sCmluZGV4IGE1NGI3ODQyNWY1YjYyMGRmY2RjMTVkZTI4
YmJiMjQ2ZDk5NWI2YzkuLmUxNWIyNzNlMGMwMWViMzRhZDcwNGYyMTU1YTIzN2UzNzczN2U5OGIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC13aXRoLWtleWJv
YXJkLXNjYWxlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpvbnRhbC13
aXRoLWtleWJvYXJkLXNjYWxlZC5odG1sCkBAIC0zMSw2ICszMSw4IEBACiAKICAgICAgICAgYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdHMoKQogICAgICAgICB7CisgICAgICAgICAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2Nyb2xs
QW5pbWF0b3JFbmFibGVkKGZhbHNlKTsKICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuZGVsYXlGb3IoMCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9y
eS1tYWluZnJhbWUtaG9yaXpvbnRhbC13aXRoLWtleWJvYXJkLmh0bWwgYi9MYXlvdXRUZXN0cy90
aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnkt
bWFpbmZyYW1lLWhvcml6b250YWwtd2l0aC1rZXlib2FyZC5odG1sCmluZGV4IDgzNzE5NzVhZTBm
OTBiYzU0ZDk4NDM0MjU3YzgwZmQ3ZGUxYmE0MzEuLjgyOTEzNzYxMjY5OTdlM2E1YmZjNGVmZTBi
OTBlOTZkZWEzZjMxMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Ny
b2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtaG9yaXpv
bnRhbC13aXRoLWtleWJvYXJkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5mcmFtZS1ob3Jp
em9udGFsLXdpdGgta2V5Ym9hcmQuaHRtbApAQCAtMzEsNiArMzEsOCBAQAogCiAgICAgICAgIGFz
eW5jIGZ1bmN0aW9uIHJ1blRlc3RzKCkKICAgICAgICAgeworICAgICAgICAgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFNjcm9s
bEFuaW1hdG9yRW5hYmxlZChmYWxzZSk7CiAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmRlbGF5Rm9yKDApOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRv
cnktbWFpbmZyYW1lLXZlcnRpY2FsLXdpdGgta2V5Ym9hcmQtc2NhbGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5k
YXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLXdpdGgta2V5Ym9hcmQtc2NhbGVkLmh0bWwKaW5kZXgg
YjBlYzJmNmVlMjNhNmRhODc0Nzg0ZDhiOTAxNDQ1NGEwYjljY2MyMS4uODU0MWQwNjU0OWM0ZDQy
YzRlNzAyMzNkZjhkYTgyMzhlMDc5ZjE3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGlsZWQt
ZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LW1haW5m
cmFtZS12ZXJ0aWNhbC13aXRoLWtleWJvYXJkLXNjYWxlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9y
eS1tYWluZnJhbWUtdmVydGljYWwtd2l0aC1rZXlib2FyZC1zY2FsZWQuaHRtbApAQCAtMzEsNiAr
MzEsOCBAQAogCiAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3RzKCkKICAgICAgICAgewor
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFNjcm9sbEFuaW1hdG9yRW5hYmxlZChmYWxzZSk7CiAgICAgICAgICAg
ICB0cnkgewogICAgICAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmRlbGF5Rm9yKDApOwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC1tYW5kYXRvcnktbWFpbmZyYW1lLXZlcnRpY2FsLXdpdGgta2V5Ym9hcmQu
aHRtbCBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Nj
cm9sbC1zbmFwLW1hbmRhdG9yeS1tYWluZnJhbWUtdmVydGljYWwtd2l0aC1rZXlib2FyZC5odG1s
CmluZGV4IGMyZjk2Njk3M2QzNjY0N2I3M2VkYWJmNTkzODBlNDg1ZDg5ODAwYzIuLmQ5NzhjYjQ1
MzQyZWFhNGMyYjcyMzRjYWU5NTdjZTA0ZDVhODZmM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9y
eS1tYWluZnJhbWUtdmVydGljYWwtd2l0aC1rZXlib2FyZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9y
eS1tYWluZnJhbWUtdmVydGljYWwtd2l0aC1rZXlib2FyZC5odG1sCkBAIC0zMSw2ICszMSw4IEBA
CiAKICAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdHMoKQogICAgICAgICB7CisgICAgICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0U2Nyb2xsQW5pbWF0b3JFbmFibGVkKGZhbHNlKTsKICAgICAgICAgICAgIHRyeSB7
CiAgICAgICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuZGVsYXlGb3IoMCk7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9s
bC1zbmFwLXByb3hpbWl0eS1tYWluZnJhbWUtaG9yaXpvbnRhbC13aXRoLWtleWJvYXJkLmh0bWwg
Yi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwt
c25hcC1wcm94aW1pdHktbWFpbmZyYW1lLWhvcml6b250YWwtd2l0aC1rZXlib2FyZC5odG1sCmlu
ZGV4IDBmOGZiZmZkYjM5MjM0NjJkNjQzYTE2ZDY0ZWNlNGRiNzE1M2FiN2IuLjU0NmRmMGE3MjFh
YmQwM2MyZmIyM2U1ZGUwZjk3OGMyMzhkZGQzOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1t
YWluZnJhbWUtaG9yaXpvbnRhbC13aXRoLWtleWJvYXJkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
dGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtcHJveGltaXR5
LW1haW5mcmFtZS1ob3Jpem9udGFsLXdpdGgta2V5Ym9hcmQuaHRtbApAQCAtMzEsNiArMzEsOCBA
QAogCiAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3RzKCkKICAgICAgICAgeworICAgICAg
ICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFNjcm9sbEFuaW1hdG9yRW5hYmxlZChmYWxzZSk7CiAgICAgICAgICAgICB0cnkg
ewogICAgICAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLmRlbGF5Rm9yKDApOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3Jv
bGwtc25hcC1wcm94aW1pdHktbWFpbmZyYW1lLXZlcnRpY2FsLXdpdGgta2V5Ym9hcmQuaHRtbCBi
L0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1z
bmFwLXByb3hpbWl0eS1tYWluZnJhbWUtdmVydGljYWwtd2l0aC1rZXlib2FyZC5odG1sCmluZGV4
IGZmZjk1MjAyYjJhYjNjYzk4ZDU5MjUwMzVlYWUzNzU5MWQwZDY3ZDcuLmFkNTE4MzU0NjA1NmIx
MDBlNjBhYWQyODI4MzJhOWM4MjVmZDE4NTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3RpbGVk
LWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWlu
ZnJhbWUtdmVydGljYWwtd2l0aC1rZXlib2FyZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3RpbGVk
LWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXByb3hpbWl0eS1tYWlu
ZnJhbWUtdmVydGljYWwtd2l0aC1rZXlib2FyZC5odG1sCkBAIC0zMSw2ICszMSw4IEBACiAKICAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdHMoKQogICAgICAgICB7CisgICAgICAgICAgICBp
ZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0U2Nyb2xsQW5pbWF0b3JFbmFibGVkKGZhbHNlKTsKICAgICAgICAgICAgIHRyeSB7CiAgICAg
ICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuZGVsYXlGb3IoMCk7CiAK
</data>
<flag name="review"
          id="473151"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>