<?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>232501</bug_id>
          
          <creation_ts>2021-10-29 11:32:10 -0700</creation_ts>
          <short_desc>Authenticator is not falling back to clientPIN after internal verification fails and is blocked.</short_desc>
          <delta_ts>2022-02-09 14:46:50 -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>WebCore Misc.</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="login Llama">loginllama</reporter>
          <assigned_to name="pascoe@apple.com">pascoe</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>pascoe</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1810171</commentid>
    <comment_count>0</comment_count>
    <who name="login Llama">loginllama</who>
    <bug_when>2021-10-29 11:32:10 -0700</bug_when>
    <thetext>Thanks for fixing https://bugs.webkit.org/show_bug.cgi?id=213903

I tested that it works on OSX STP 134.

However in testing I discovered that Safari is not detecting that internal UV is blocked and falling back to getPinToken (CTAP2.0) or getPinUvAuthTokenUsingUvWithPermissions (CTAP2.1).

Safari should fall back when it receives the CTAP2.0CTAP2_ERR_PIN_REQUIRED error and/or when the CTAP2.1 uvRetries &lt;= 0.

That is the current behavior of Chrome and Windows.  

I grant you that the CTAP2.0 spec is less clear on this point than one might hope.

CTAP2.1 https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html is clearer on how platforms should fall back to clientPin for CTAP2.0 authenticators than the CTAP2.0 spec was.

Regards</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811026</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-01 20:46:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/84913636&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811141</commentid>
    <comment_count>2</comment_count>
    <who name="login Llama">loginllama</who>
    <bug_when>2021-11-02 09:04:03 -0700</bug_when>
    <thetext>For Fido members this is the relevant issue on clarifying the platform actions section of the CTAP 2.1 specification on pin fallback. 
https://github.com/fido-alliance/fido-2-specs/issues/1303</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825767</commentid>
    <comment_count>3</comment_count>
      <attachid>447649</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-12-20 15:05:03 -0800</bug_when>
    <thetext>Created attachment 447649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825768</commentid>
    <comment_count>4</comment_count>
      <attachid>447650</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-12-20 15:07:29 -0800</bug_when>
    <thetext>Created attachment 447650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825769</commentid>
    <comment_count>5</comment_count>
      <attachid>447651</attachid>
    <who name="pascoe@apple.com">pascoe</who>
    <bug_when>2021-12-20 15:09:37 -0800</bug_when>
    <thetext>Created attachment 447651
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826004</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-21 08:10:24 -0800</bug_when>
    <thetext>Committed r287315 (245467@main): &lt;https://commits.webkit.org/245467@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447651.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826547</commentid>
    <comment_count>7</comment_count>
    <who name="login Llama">loginllama</who>
    <bug_when>2021-12-23 06:56:47 -0800</bug_when>
    <thetext>I don&apos;t see this change in STP 137 yet.  

Let me know when I can retest.

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839414</commentid>
    <comment_count>8</comment_count>
    <who name="login Llama">loginllama</who>
    <bug_when>2022-02-09 14:46:50 -0800</bug_when>
    <thetext>Change tested and working in STP 140

Thanks</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447649</attachid>
            <date>2021-12-20 15:05:03 -0800</date>
            <delta_ts>2021-12-20 15:07:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232501-20211220150502.patch</filename>
            <type>text/plain</type>
            <size>11448</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk0OTU1MTlmZTk5YzNjZDFl
Y2U0MTI2NjI0MjdiODAxYmFmZWRlZDguLjM2ZDViNzQ5OTI4Njg2MTc1OGMxMThjNGVjY2M4OWNj
NzcxYmEzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMTItMjAgIEogUGFzY29l
ICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gQXV0aGVudGljYXRv
ciBpcyBub3QgZmFsbGluZyBiYWNrIHRvIGNsaWVudFBJTiBhZnRlciBpbnRlcm5hbCB2ZXJpZmlj
YXRpb24gZmFpbHMgYW5kIGlzIGJsb2NrZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1MDEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0OTEz
NjM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdo
ZW5ldmVyIGludGVybmFsIHV2IGdldHMgYmxvY2tlZCwgdGhlIHVzZXIgYWdlbnQgc2hvdWxkIGZh
bGwgYmFjayB0byB1c2luZyBhIHBpbiBmb3IgdXNlciB2ZXJpZmljYXRpb24uIFRoaXMKKyAgICAg
ICAgcGF0Y2ggc3RhcnRzIGRvaW5nIHRoYXQgYnkgZ29pbmcgaW50byB0aGUgcGluIGZsb3cgd2hl
bmV2ZXIgdGhlIGF1dGhlbnRpY2F0b3IgcmV0dXJucyB0aGUgcGluIHJlcXVpcmVkIGVycm9yCisg
ICAgICAgIGNvZGUuCisKKyAgICAgICAgQWRkZWQgQVBJIHRlc3QgZm9yIGZhbGxiYWNrLgorCisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL2ZpZG8vQ3RhcEF1dGhlbnRpY2F0
b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpDdGFwQXV0aGVudGljYXRvcjo6bWFrZUNyZWRlbnRp
YWwpOgorICAgICAgICAoV2ViS2l0OjpDdGFwQXV0aGVudGljYXRvcjo6Z2V0QXNzZXJ0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6Q3RhcEF1dGhlbnRpY2F0b3I6OnRyeVJlc3RhcnRQaW4pOgorCiAy
MDIxLTEyLTIwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJ
bXByb3ZlIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5IGxvZ2dpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL2ZpZG8v
Q3RhcEF1dGhlbnRpY2F0b3IuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vZmlkby9DdGFwQXV0aGVudGljYXRvci5jcHAKaW5kZXggNDdiMWY2YTkyMGYyODE1
ZmIxYjViOTNlMzgxMzU5ODQ3ZDI0NTVlZi4uM2M5MTQwYjljNzBiMjVmMjBhNWQzNGUzNDQ5ODkw
M2IyZjllMzRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vZmlkby9DdGFwQXV0aGVudGljYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vZmlkby9DdGFwQXV0aGVudGljYXRvci5jcHAKQEAg
LTczLDYgKzczLDcgQEAgYm9vbCBpc1BpbkVycm9yKGNvbnN0IEN0YXBEZXZpY2VSZXNwb25zZUNv
ZGUmIGVycm9yKQogICAgIGNhc2UgQ3RhcERldmljZVJlc3BvbnNlQ29kZTo6a0N0YXAyRXJyUGlu
QXV0aEJsb2NrZWQ6CiAgICAgY2FzZSBDdGFwRGV2aWNlUmVzcG9uc2VDb2RlOjprQ3RhcDJFcnJQ
aW5JbnZhbGlkOgogICAgIGNhc2UgQ3RhcERldmljZVJlc3BvbnNlQ29kZTo6a0N0YXAyRXJyUGlu
QmxvY2tlZDoKKyAgICBjYXNlIEN0YXBEZXZpY2VSZXNwb25zZUNvZGU6OmtDdGFwMkVyclBpblJl
cXVpcmVkOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1
cm4gZmFsc2U7CkBAIC05Niw3ICs5Nyw3IEBAIHZvaWQgQ3RhcEF1dGhlbnRpY2F0b3I6Om1ha2VD
cmVkZW50aWFsKCkKICAgICBhdXRvJiBvcHRpb25zID0gc3RkOjpnZXQ8UHVibGljS2V5Q3JlZGVu
dGlhbENyZWF0aW9uT3B0aW9ucz4ocmVxdWVzdERhdGEoKS5vcHRpb25zKTsKICAgICBhdXRvIGlu
dGVybmFsVVZBdmFpbGFiaWxpdHkgPSBtX2luZm8ub3B0aW9ucygpLnVzZXJWZXJpZmljYXRpb25B
dmFpbGFiaWxpdHkoKTsKICAgICAvLyBJZiBVViBpcyByZXF1aXJlZCwgdGhlbiBlaXRoZXIgYnVp
bHQtaW4gdXYgb3IgYSBwaW4gd2lsbCB3b3JrLgotICAgIGlmIChpbnRlcm5hbFVWQXZhaWxhYmls
aXR5ID09IFVWQXZhaWxhYmlsaXR5OjprU3VwcG9ydGVkQW5kQ29uZmlndXJlZCAmJiAoIW9wdGlv
bnMuYXV0aGVudGljYXRvclNlbGVjdGlvbiB8fCBvcHRpb25zLmF1dGhlbnRpY2F0b3JTZWxlY3Rp
b24tPnVzZXJWZXJpZmljYXRpb24gIT0gVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50OjpEaXNj
b3VyYWdlZCkpCisgICAgaWYgKGludGVybmFsVVZBdmFpbGFiaWxpdHkgPT0gVVZBdmFpbGFiaWxp
dHk6OmtTdXBwb3J0ZWRBbmRDb25maWd1cmVkICYmICghb3B0aW9ucy5hdXRoZW50aWNhdG9yU2Vs
ZWN0aW9uIHx8IG9wdGlvbnMuYXV0aGVudGljYXRvclNlbGVjdGlvbi0+dXNlclZlcmlmaWNhdGlv
biAhPSBVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQ6OkRpc2NvdXJhZ2VkKSAmJiBtX3BpbkF1
dGguaXNFbXB0eSgpKQogICAgICAgICBjYm9yQ21kID0gZW5jb2RlTWFrZUNyZWRlbml0YWxSZXF1
ZXN0QXNDQk9SKHJlcXVlc3REYXRhKCkuaGFzaCwgb3B0aW9ucywgaW50ZXJuYWxVVkF2YWlsYWJp
bGl0eSk7CiAgICAgZWxzZSBpZiAobV9pbmZvLm9wdGlvbnMoKS5jbGllbnRQaW5BdmFpbGFiaWxp
dHkoKSA9PSBBdXRoZW50aWNhdG9yU3VwcG9ydGVkT3B0aW9uczo6Q2xpZW50UGluQXZhaWxhYmls
aXR5OjprU3VwcG9ydGVkQW5kUGluU2V0KQogICAgICAgICBjYm9yQ21kID0gZW5jb2RlTWFrZUNy
ZWRlbml0YWxSZXF1ZXN0QXNDQk9SKHJlcXVlc3REYXRhKCkuaGFzaCwgb3B0aW9ucywgaW50ZXJu
YWxVVkF2YWlsYWJpbGl0eSwgUGluUGFyYW1ldGVycyB7IHBpbjo6a1Byb3RvY29sVmVyc2lvbiwg
bV9waW5BdXRoIH0pOwpAQCAtMTQxLDcgKzE0Miw3IEBAIHZvaWQgQ3RhcEF1dGhlbnRpY2F0b3I6
OmdldEFzc2VydGlvbigpCiAgICAgYXV0byYgb3B0aW9ucyA9IHN0ZDo6Z2V0PFB1YmxpY0tleUNy
ZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucz4ocmVxdWVzdERhdGEoKS5vcHRpb25zKTsKICAgICBhdXRv
IGludGVybmFsVVZBdmFpbGFiaWxpdHkgPSBtX2luZm8ub3B0aW9ucygpLnVzZXJWZXJpZmljYXRp
b25BdmFpbGFiaWxpdHkoKTsKICAgICAvLyBJZiBVViBpcyByZXF1aXJlZCwgdGhlbiBlaXRoZXIg
YnVpbHQtaW4gdXYgb3IgYSBwaW4gd2lsbCB3b3JrLgotICAgIGlmIChpbnRlcm5hbFVWQXZhaWxh
YmlsaXR5ID09IFVWQXZhaWxhYmlsaXR5OjprU3VwcG9ydGVkQW5kQ29uZmlndXJlZCAmJiBvcHRp
b25zLnVzZXJWZXJpZmljYXRpb24gIT0gVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50OjpEaXNj
b3VyYWdlZCkKKyAgICBpZiAoaW50ZXJuYWxVVkF2YWlsYWJpbGl0eSA9PSBVVkF2YWlsYWJpbGl0
eTo6a1N1cHBvcnRlZEFuZENvbmZpZ3VyZWQgJiYgb3B0aW9ucy51c2VyVmVyaWZpY2F0aW9uICE9
IFVzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudDo6RGlzY291cmFnZWQgJiYgbV9waW5BdXRoLmlz
RW1wdHkoKSkKICAgICAgICAgY2JvckNtZCA9IGVuY29kZUdldEFzc2VydGlvblJlcXVlc3RBc0NC
T1IocmVxdWVzdERhdGEoKS5oYXNoLCBvcHRpb25zLCBpbnRlcm5hbFVWQXZhaWxhYmlsaXR5KTsK
ICAgICBlbHNlIGlmIChtX2luZm8ub3B0aW9ucygpLmNsaWVudFBpbkF2YWlsYWJpbGl0eSgpID09
IEF1dGhlbnRpY2F0b3JTdXBwb3J0ZWRPcHRpb25zOjpDbGllbnRQaW5BdmFpbGFiaWxpdHk6OmtT
dXBwb3J0ZWRBbmRQaW5TZXQgJiYgb3B0aW9ucy51c2VyVmVyaWZpY2F0aW9uICE9IFVzZXJWZXJp
ZmljYXRpb25SZXF1aXJlbWVudDo6RGlzY291cmFnZWQpCiAgICAgICAgIGNib3JDbWQgPSBlbmNv
ZGVHZXRBc3NlcnRpb25SZXF1ZXN0QXNDQk9SKHJlcXVlc3REYXRhKCkuaGFzaCwgb3B0aW9ucywg
aW50ZXJuYWxVVkF2YWlsYWJpbGl0eSwgUGluUGFyYW1ldGVycyB7IHBpbjo6a1Byb3RvY29sVmVy
c2lvbiwgbV9waW5BdXRoIH0pOwpAQCAtMzQzLDYgKzM0NCw3IEBAIGJvb2wgQ3RhcEF1dGhlbnRp
Y2F0b3I6OnRyeVJlc3RhcnRQaW4oY29uc3QgQ3RhcERldmljZVJlc3BvbnNlQ29kZSYgZXJyb3Ip
CiAgICAgc3dpdGNoIChlcnJvcikgewogICAgIGNhc2UgQ3RhcERldmljZVJlc3BvbnNlQ29kZTo6
a0N0YXAyRXJyUGluQXV0aEludmFsaWQ6CiAgICAgY2FzZSBDdGFwRGV2aWNlUmVzcG9uc2VDb2Rl
OjprQ3RhcDJFcnJQaW5JbnZhbGlkOgorICAgIGNhc2UgQ3RhcERldmljZVJlc3BvbnNlQ29kZTo6
a0N0YXAyRXJyUGluUmVxdWlyZWQ6CiAgICAgICAgIGdldFJldHJpZXMoKTsKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCBlMGQzMDk5NDIyMGNlNGM2ZWRkYmY5YzUxZWY5YWFlM2IwNDE5
NDY1Li5lN2ExOTdhMjY3N2Q4Yjg2M2Q2ZWNkOWZkY2NlMDc5MDRhMTcxNDRmIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMjEtMTItMjAgIEogUGFzY29lICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtX
ZWJBdXRobl0gQXV0aGVudGljYXRvciBpcyBub3QgZmFsbGluZyBiYWNrIHRvIGNsaWVudFBJTiBh
ZnRlciBpbnRlcm5hbCB2ZXJpZmljYXRpb24gZmFpbHMgYW5kIGlzIGJsb2NrZWQuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1MDEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzg0OTEzNjM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdoZW5ldmVyIGludGVybmFsIHV2IGdldHMgYmxvY2tlZCwgdGhl
IHVzZXIgYWdlbnQgc2hvdWxkIGZhbGwgYmFjayB0byB1c2luZyBhIHBpbiBmb3IgdXNlciB2ZXJp
ZmljYXRpb24uIFRoaXMKKyAgICAgICAgYWRkcyBhbiBBUEkgdGVzdCB0byB2ZXJpZnkgdGhpcyBi
ZWhhdmlvci4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1QpOgorCiAyMDIxLTEyLTIwICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgU3RvcCBhc3N1bWluZyBXUFQgaXMgYSByZWZ0ZXN0IGJhc2VkIG9uIGV4aXN0ZW5j
ZSBvZiAtcmVmLmh0bWwgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlOGE4MjA4MTU4
YjNhZDFlYzhjYmIzYTQyZTI0ODA4ZTZkMzcxMDVhLi44NmE2ZTVlN2QxOWEzNjM0Yjc4ZDc4NTFm
MWM1NDhhNzc2MTgxODNlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjk4LDYgKzI5OCw3
IEBACiAJCTUxRUIxMjY1MjRDQTZCNjYwMDBDQjAzMCAvKiBTdGVlbFNlcmllc05pbWJ1cy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRUIxMjYxMjRD
QTZCNUYwMDBDQjAzMCAvKiBTdGVlbFNlcmllc05pbWJ1cy5tbSAqLzsgfTsKIAkJNTFFQjEyNjcy
NENCODc1MzAwMENCMDMwIC8qIFN1bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFQjEyNjYyNENCODQ5
MzAwMENCMDMwIC8qIFN1bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTLm1tICovOyB9OwogCQk1
MjBCQ0Y0QzE0MUVCMDlFMDA5MzdFQTggLyogV2ViQXJjaGl2ZV9CdW5kbGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTIwQkNGNEExNDFFQjA5RTAw
OTM3RUE4IC8qIFdlYkFyY2hpdmVfQnVuZGxlLmNwcCAqLzsgfTsKKwkJNTIxRDFCNzMyNzcxM0U4
MDAwMzkwMEM1IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1pbnRlcm5h
bC11di1waW4tZmFsbGJhY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MjFEMUI3MjI3NzEzRTgwMDAzOTAwQzUgLyogd2ViLWF1dGhl
bnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVybmFsLXV2LXBpbi1mYWxsYmFjay5odG1s
ICovOyB9OwogCQk1MjQ1MTc4NzIxQjlGNTdCMDA4MkNCMzQgLyogUmVuZGVyaW5nUHJvZ3Jlc3NQ
bHVnSW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MkQ1RDZCRTIxQjlGMUIyMDA0NkFCQTYgLyogUmVuZGVyaW5nUHJvZ3Jlc3NQbHVnSW4ubW0gKi87
IH07CiAJCTUyNEJCQzlFMTlERjcyQzAwMDJGMUFGMSAvKiBmaWxlLXdpdGgtdmlkZW8uaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MjRC
QkM5QjE5REYzNzE0MDAyRjFBRjEgLyogZmlsZS13aXRoLXZpZGVvLmh0bWwgKi87IH07CiAJCTUy
NEJCQ0ExMTlFMzBDNzcwMDJGMUFGMSAvKiB0ZXN0Lm1wNCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MjRCQkNBMDE5RTMwQzYzMDAyRjFBRjEg
LyogdGVzdC5tcDQgKi87IH07CkBAIC0xNTc5LDYgKzE1ODAsNyBAQAogCQkJCTJFQkQ5RDBBMjEz
NDczMEQwMDJEQTc1OCAvKiB2aWRlby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUNE
NTc3Nzk5MjExQ0UwRTQwMDFCMzcxRSAvKiB3ZWItYXVkaW8tb25seS5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovLAogCQkJCTU3NjYzREYzMjM1N0U0ODkwMEU4NUUwOSAvKiB3ZWItYXV0aGVudGlj
YXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtY2FuY2VsLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CisJCQkJNTIxRDFCNzMyNzcxM0U4MDAwMzkwMEM1IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQt
YXNzZXJ0aW9uLWhpZC1pbnRlcm5hbC11di1waW4tZmFsbGJhY2suaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLywKIAkJCQk1MkM4QzEzQTI3MDY0MzkwMDBCREYzQjcgLyogd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVybmFsLXV2Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCiAJCQkJNTc5RjFDMDEyM0M5M0FGNTAwQzdENEI0IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1n
ZXQtYXNzZXJ0aW9uLWhpZC1tdWx0aXBsZS1hY2NvdW50cy5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovLAogCQkJCTU3NzQ1NEQwMjM1OUIzNzgwMDhFMUVENyAvKiB3ZWItYXV0aGVudGljYXRpb24t
Z2V0LWFzc2VydGlvbi1oaWQtbm8tY3JlZGVudGlhbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKQEAgLTIwOTEsNiArMjA5Myw3IEBACiAJCTUxRkJCQjRDMTUxM0Q0RTkwMDgyMjczOCAvKiBX
ZWJWaWV3Q2FuUGFzdGVVUkwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBXZWJWaWV3Q2FuUGFzdGVVUkwubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUyMEJDRjRBMTQxRUIwOUUwMDkzN0VBOCAvKiBXZWJBcmNoaXZlX0J1bmRsZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBcmNoaXZlX0J1bmRsZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMEJDRjRCMTQxRUIwOUUwMDkzN0VBOCAvKiBX
ZWJBcmNoaXZlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkFy
Y2hpdmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MjFEMUI3MjI3NzEzRTgw
MDAzOTAwQzUgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVybmFs
LXV2LXBpbi1mYWxsYmFjay5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBuYW1lID0gIndlYi1hdXRoZW50aWNhdGlvbi1nZXQt
YXNzZXJ0aW9uLWhpZC1pbnRlcm5hbC11di1waW4tZmFsbGJhY2suaHRtbCI7IHBhdGggPSAiVGVz
dHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVy
bmFsLXV2LXBpbi1mYWxsYmFjay5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTI0QkJDOUIxOURGMzcxNDAwMkYxQUYxIC8qIGZpbGUtd2l0aC12aWRlby5odG1sICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5odG1sOyBwYXRoID0gImZpbGUtd2l0aC12aWRlby5odG1sIjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTI0QkJDOUMxOURGMzc3QTAwMkYxQUYxIC8qIFdLUGFnZUlzUGxh
eWluZ0F1ZGlvLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLUGFn
ZUlzUGxheWluZ0F1ZGlvLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTI0QkJD
QTAxOUUzMEM2MzAwMkYxQUYxIC8qIHRlc3QubXA0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IHRlc3QubXA0OyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMzE2NCw2ICszMTY3LDcgQEAKIAkJMDhGQjc3OTRGRTg0MTU1
REMwMkFBQzA3IC8qIFRlc3RXZWJLaXRBUEkgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTUyMUQxQjcyMjc3MTNFODAwMDM5MDBDNSAvKiB3ZWItYXV0aGVu
dGljYXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtaW50ZXJuYWwtdXYtcGluLWZhbGxiYWNrLmh0bWwg
Ki8sCiAJCQkJNTJDOEMxMzkyNzA2NDM5MDAwQkRGM0I3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1n
ZXQtYXNzZXJ0aW9uLWhpZC1pbnRlcm5hbC11di5odG1sICovLAogCQkJCTUyQzhDMTM3MjcwNjQz
N0MwMEJERjNCNyAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC1pbnRl
cm5hbC11di5odG1sICovLAogCQkJCTQ5QUVFRjY4MjQwNzI3NkYwMEM4N0U0QyAvKiBJbmZvLnBs
aXN0ICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IGRjZmE4MzQz
MTY2NzhiNmNkOWJmNmZhYjg5YmM0OGI0NjAyMjFkZjIuLjgwMDI5NzU5YmQ3M2ZlYzQ3YzE0MmQ4
MTNiMzJmYjBjMWU3YzE4NDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0K
QEAgLTEyNDksNiArMTI0OSwyNSBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIEdldEFz
c2VydGlvbkludGVybmFsVVYpCiAgICAgW3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJTdWNjZWVk
ZWQhIl07CiB9CiAKK1RFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgR2V0QXNzZXJ0aW9uSW50
ZXJuYWxVVlBpbkZhbGxiYWNrKQoreworICAgIHJlc2V0KCk7CisgICAgUmV0YWluUHRyPE5TVVJM
PiB0ZXN0VVJMID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIndlYi1h
dXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1pbnRlcm5hbC11di1waW4tZmFsbGJhY2si
IHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291
cmNlcyJdOworCisgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0
aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nl
c3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CisgICAg
W1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVu
dGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisgICAg
W1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpOTyBmb3JFeHBlcmltZW50
YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uTW9kZXJuRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsK
KworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TWmVyb1JlY3QgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CisgICAg
YXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVs
ZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRl
LmdldCgpXTsKKyAgICBbd2ViVmlldyBmb2N1c107CisKKyAgICB3ZWJBdXRoZW50aWNhdGlvblBh
bmVsUGluID0gIjEyMzQiOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3Qg
cmVxdWVzdFdpdGhVUkw6dGVzdFVSTC5nZXQoKV1dOworICAgIFt3ZWJWaWV3IHdhaXRGb3JNZXNz
YWdlOkAiU3VjY2VlZGVkISJdOworfQorCiBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIEdl
dEFzc2VydGlvblBpbkF1dGhCbG9ja2VkRXJyb3IpCiB7CiAgICAgcmVzZXQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447650</attachid>
            <date>2021-12-20 15:07:29 -0800</date>
            <delta_ts>2021-12-20 15:09:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232501-20211220150728.patch</filename>
            <type>text/plain</type>
            <size>13720</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk0OTU1MTlmZTk5YzNjZDFl
Y2U0MTI2NjI0MjdiODAxYmFmZWRlZDguLjM2ZDViNzQ5OTI4Njg2MTc1OGMxMThjNGVjY2M4OWNj
NzcxYmEzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMTItMjAgIEogUGFzY29l
ICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gQXV0aGVudGljYXRv
ciBpcyBub3QgZmFsbGluZyBiYWNrIHRvIGNsaWVudFBJTiBhZnRlciBpbnRlcm5hbCB2ZXJpZmlj
YXRpb24gZmFpbHMgYW5kIGlzIGJsb2NrZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1MDEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0OTEz
NjM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdo
ZW5ldmVyIGludGVybmFsIHV2IGdldHMgYmxvY2tlZCwgdGhlIHVzZXIgYWdlbnQgc2hvdWxkIGZh
bGwgYmFjayB0byB1c2luZyBhIHBpbiBmb3IgdXNlciB2ZXJpZmljYXRpb24uIFRoaXMKKyAgICAg
ICAgcGF0Y2ggc3RhcnRzIGRvaW5nIHRoYXQgYnkgZ29pbmcgaW50byB0aGUgcGluIGZsb3cgd2hl
bmV2ZXIgdGhlIGF1dGhlbnRpY2F0b3IgcmV0dXJucyB0aGUgcGluIHJlcXVpcmVkIGVycm9yCisg
ICAgICAgIGNvZGUuCisKKyAgICAgICAgQWRkZWQgQVBJIHRlc3QgZm9yIGZhbGxiYWNrLgorCisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL2ZpZG8vQ3RhcEF1dGhlbnRpY2F0
b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpDdGFwQXV0aGVudGljYXRvcjo6bWFrZUNyZWRlbnRp
YWwpOgorICAgICAgICAoV2ViS2l0OjpDdGFwQXV0aGVudGljYXRvcjo6Z2V0QXNzZXJ0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6Q3RhcEF1dGhlbnRpY2F0b3I6OnRyeVJlc3RhcnRQaW4pOgorCiAy
MDIxLTEyLTIwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJ
bXByb3ZlIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5IGxvZ2dpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL2ZpZG8v
Q3RhcEF1dGhlbnRpY2F0b3IuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vZmlkby9DdGFwQXV0aGVudGljYXRvci5jcHAKaW5kZXggNDdiMWY2YTkyMGYyODE1
ZmIxYjViOTNlMzgxMzU5ODQ3ZDI0NTVlZi4uM2M5MTQwYjljNzBiMjVmMjBhNWQzNGUzNDQ5ODkw
M2IyZjllMzRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vZmlkby9DdGFwQXV0aGVudGljYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vZmlkby9DdGFwQXV0aGVudGljYXRvci5jcHAKQEAg
LTczLDYgKzczLDcgQEAgYm9vbCBpc1BpbkVycm9yKGNvbnN0IEN0YXBEZXZpY2VSZXNwb25zZUNv
ZGUmIGVycm9yKQogICAgIGNhc2UgQ3RhcERldmljZVJlc3BvbnNlQ29kZTo6a0N0YXAyRXJyUGlu
QXV0aEJsb2NrZWQ6CiAgICAgY2FzZSBDdGFwRGV2aWNlUmVzcG9uc2VDb2RlOjprQ3RhcDJFcnJQ
aW5JbnZhbGlkOgogICAgIGNhc2UgQ3RhcERldmljZVJlc3BvbnNlQ29kZTo6a0N0YXAyRXJyUGlu
QmxvY2tlZDoKKyAgICBjYXNlIEN0YXBEZXZpY2VSZXNwb25zZUNvZGU6OmtDdGFwMkVyclBpblJl
cXVpcmVkOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1
cm4gZmFsc2U7CkBAIC05Niw3ICs5Nyw3IEBAIHZvaWQgQ3RhcEF1dGhlbnRpY2F0b3I6Om1ha2VD
cmVkZW50aWFsKCkKICAgICBhdXRvJiBvcHRpb25zID0gc3RkOjpnZXQ8UHVibGljS2V5Q3JlZGVu
dGlhbENyZWF0aW9uT3B0aW9ucz4ocmVxdWVzdERhdGEoKS5vcHRpb25zKTsKICAgICBhdXRvIGlu
dGVybmFsVVZBdmFpbGFiaWxpdHkgPSBtX2luZm8ub3B0aW9ucygpLnVzZXJWZXJpZmljYXRpb25B
dmFpbGFiaWxpdHkoKTsKICAgICAvLyBJZiBVViBpcyByZXF1aXJlZCwgdGhlbiBlaXRoZXIgYnVp
bHQtaW4gdXYgb3IgYSBwaW4gd2lsbCB3b3JrLgotICAgIGlmIChpbnRlcm5hbFVWQXZhaWxhYmls
aXR5ID09IFVWQXZhaWxhYmlsaXR5OjprU3VwcG9ydGVkQW5kQ29uZmlndXJlZCAmJiAoIW9wdGlv
bnMuYXV0aGVudGljYXRvclNlbGVjdGlvbiB8fCBvcHRpb25zLmF1dGhlbnRpY2F0b3JTZWxlY3Rp
b24tPnVzZXJWZXJpZmljYXRpb24gIT0gVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50OjpEaXNj
b3VyYWdlZCkpCisgICAgaWYgKGludGVybmFsVVZBdmFpbGFiaWxpdHkgPT0gVVZBdmFpbGFiaWxp
dHk6OmtTdXBwb3J0ZWRBbmRDb25maWd1cmVkICYmICghb3B0aW9ucy5hdXRoZW50aWNhdG9yU2Vs
ZWN0aW9uIHx8IG9wdGlvbnMuYXV0aGVudGljYXRvclNlbGVjdGlvbi0+dXNlclZlcmlmaWNhdGlv
biAhPSBVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQ6OkRpc2NvdXJhZ2VkKSAmJiBtX3BpbkF1
dGguaXNFbXB0eSgpKQogICAgICAgICBjYm9yQ21kID0gZW5jb2RlTWFrZUNyZWRlbml0YWxSZXF1
ZXN0QXNDQk9SKHJlcXVlc3REYXRhKCkuaGFzaCwgb3B0aW9ucywgaW50ZXJuYWxVVkF2YWlsYWJp
bGl0eSk7CiAgICAgZWxzZSBpZiAobV9pbmZvLm9wdGlvbnMoKS5jbGllbnRQaW5BdmFpbGFiaWxp
dHkoKSA9PSBBdXRoZW50aWNhdG9yU3VwcG9ydGVkT3B0aW9uczo6Q2xpZW50UGluQXZhaWxhYmls
aXR5OjprU3VwcG9ydGVkQW5kUGluU2V0KQogICAgICAgICBjYm9yQ21kID0gZW5jb2RlTWFrZUNy
ZWRlbml0YWxSZXF1ZXN0QXNDQk9SKHJlcXVlc3REYXRhKCkuaGFzaCwgb3B0aW9ucywgaW50ZXJu
YWxVVkF2YWlsYWJpbGl0eSwgUGluUGFyYW1ldGVycyB7IHBpbjo6a1Byb3RvY29sVmVyc2lvbiwg
bV9waW5BdXRoIH0pOwpAQCAtMTQxLDcgKzE0Miw3IEBAIHZvaWQgQ3RhcEF1dGhlbnRpY2F0b3I6
OmdldEFzc2VydGlvbigpCiAgICAgYXV0byYgb3B0aW9ucyA9IHN0ZDo6Z2V0PFB1YmxpY0tleUNy
ZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucz4ocmVxdWVzdERhdGEoKS5vcHRpb25zKTsKICAgICBhdXRv
IGludGVybmFsVVZBdmFpbGFiaWxpdHkgPSBtX2luZm8ub3B0aW9ucygpLnVzZXJWZXJpZmljYXRp
b25BdmFpbGFiaWxpdHkoKTsKICAgICAvLyBJZiBVViBpcyByZXF1aXJlZCwgdGhlbiBlaXRoZXIg
YnVpbHQtaW4gdXYgb3IgYSBwaW4gd2lsbCB3b3JrLgotICAgIGlmIChpbnRlcm5hbFVWQXZhaWxh
YmlsaXR5ID09IFVWQXZhaWxhYmlsaXR5OjprU3VwcG9ydGVkQW5kQ29uZmlndXJlZCAmJiBvcHRp
b25zLnVzZXJWZXJpZmljYXRpb24gIT0gVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50OjpEaXNj
b3VyYWdlZCkKKyAgICBpZiAoaW50ZXJuYWxVVkF2YWlsYWJpbGl0eSA9PSBVVkF2YWlsYWJpbGl0
eTo6a1N1cHBvcnRlZEFuZENvbmZpZ3VyZWQgJiYgb3B0aW9ucy51c2VyVmVyaWZpY2F0aW9uICE9
IFVzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudDo6RGlzY291cmFnZWQgJiYgbV9waW5BdXRoLmlz
RW1wdHkoKSkKICAgICAgICAgY2JvckNtZCA9IGVuY29kZUdldEFzc2VydGlvblJlcXVlc3RBc0NC
T1IocmVxdWVzdERhdGEoKS5oYXNoLCBvcHRpb25zLCBpbnRlcm5hbFVWQXZhaWxhYmlsaXR5KTsK
ICAgICBlbHNlIGlmIChtX2luZm8ub3B0aW9ucygpLmNsaWVudFBpbkF2YWlsYWJpbGl0eSgpID09
IEF1dGhlbnRpY2F0b3JTdXBwb3J0ZWRPcHRpb25zOjpDbGllbnRQaW5BdmFpbGFiaWxpdHk6OmtT
dXBwb3J0ZWRBbmRQaW5TZXQgJiYgb3B0aW9ucy51c2VyVmVyaWZpY2F0aW9uICE9IFVzZXJWZXJp
ZmljYXRpb25SZXF1aXJlbWVudDo6RGlzY291cmFnZWQpCiAgICAgICAgIGNib3JDbWQgPSBlbmNv
ZGVHZXRBc3NlcnRpb25SZXF1ZXN0QXNDQk9SKHJlcXVlc3REYXRhKCkuaGFzaCwgb3B0aW9ucywg
aW50ZXJuYWxVVkF2YWlsYWJpbGl0eSwgUGluUGFyYW1ldGVycyB7IHBpbjo6a1Byb3RvY29sVmVy
c2lvbiwgbV9waW5BdXRoIH0pOwpAQCAtMzQzLDYgKzM0NCw3IEBAIGJvb2wgQ3RhcEF1dGhlbnRp
Y2F0b3I6OnRyeVJlc3RhcnRQaW4oY29uc3QgQ3RhcERldmljZVJlc3BvbnNlQ29kZSYgZXJyb3Ip
CiAgICAgc3dpdGNoIChlcnJvcikgewogICAgIGNhc2UgQ3RhcERldmljZVJlc3BvbnNlQ29kZTo6
a0N0YXAyRXJyUGluQXV0aEludmFsaWQ6CiAgICAgY2FzZSBDdGFwRGV2aWNlUmVzcG9uc2VDb2Rl
OjprQ3RhcDJFcnJQaW5JbnZhbGlkOgorICAgIGNhc2UgQ3RhcERldmljZVJlc3BvbnNlQ29kZTo6
a0N0YXAyRXJyUGluUmVxdWlyZWQ6CiAgICAgICAgIGdldFJldHJpZXMoKTsKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCBlMGQzMDk5NDIyMGNlNGM2ZWRkYmY5YzUxZWY5YWFlM2IwNDE5
NDY1Li5lN2ExOTdhMjY3N2Q4Yjg2M2Q2ZWNkOWZkY2NlMDc5MDRhMTcxNDRmIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMjEtMTItMjAgIEogUGFzY29lICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtX
ZWJBdXRobl0gQXV0aGVudGljYXRvciBpcyBub3QgZmFsbGluZyBiYWNrIHRvIGNsaWVudFBJTiBh
ZnRlciBpbnRlcm5hbCB2ZXJpZmljYXRpb24gZmFpbHMgYW5kIGlzIGJsb2NrZWQuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1MDEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzg0OTEzNjM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdoZW5ldmVyIGludGVybmFsIHV2IGdldHMgYmxvY2tlZCwgdGhl
IHVzZXIgYWdlbnQgc2hvdWxkIGZhbGwgYmFjayB0byB1c2luZyBhIHBpbiBmb3IgdXNlciB2ZXJp
ZmljYXRpb24uIFRoaXMKKyAgICAgICAgYWRkcyBhbiBBUEkgdGVzdCB0byB2ZXJpZnkgdGhpcyBi
ZWhhdmlvci4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1QpOgorCiAyMDIxLTEyLTIwICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgU3RvcCBhc3N1bWluZyBXUFQgaXMgYSByZWZ0ZXN0IGJhc2VkIG9uIGV4aXN0ZW5j
ZSBvZiAtcmVmLmh0bWwgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlOGE4MjA4MTU4
YjNhZDFlYzhjYmIzYTQyZTI0ODA4ZTZkMzcxMDVhLi44NmE2ZTVlN2QxOWEzNjM0Yjc4ZDc4NTFm
MWM1NDhhNzc2MTgxODNlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjk4LDYgKzI5OCw3
IEBACiAJCTUxRUIxMjY1MjRDQTZCNjYwMDBDQjAzMCAvKiBTdGVlbFNlcmllc05pbWJ1cy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRUIxMjYxMjRD
QTZCNUYwMDBDQjAzMCAvKiBTdGVlbFNlcmllc05pbWJ1cy5tbSAqLzsgfTsKIAkJNTFFQjEyNjcy
NENCODc1MzAwMENCMDMwIC8qIFN1bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFQjEyNjYyNENCODQ5
MzAwMENCMDMwIC8qIFN1bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTLm1tICovOyB9OwogCQk1
MjBCQ0Y0QzE0MUVCMDlFMDA5MzdFQTggLyogV2ViQXJjaGl2ZV9CdW5kbGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTIwQkNGNEExNDFFQjA5RTAw
OTM3RUE4IC8qIFdlYkFyY2hpdmVfQnVuZGxlLmNwcCAqLzsgfTsKKwkJNTIxRDFCNzMyNzcxM0U4
MDAwMzkwMEM1IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1pbnRlcm5h
bC11di1waW4tZmFsbGJhY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MjFEMUI3MjI3NzEzRTgwMDAzOTAwQzUgLyogd2ViLWF1dGhl
bnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVybmFsLXV2LXBpbi1mYWxsYmFjay5odG1s
ICovOyB9OwogCQk1MjQ1MTc4NzIxQjlGNTdCMDA4MkNCMzQgLyogUmVuZGVyaW5nUHJvZ3Jlc3NQ
bHVnSW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MkQ1RDZCRTIxQjlGMUIyMDA0NkFCQTYgLyogUmVuZGVyaW5nUHJvZ3Jlc3NQbHVnSW4ubW0gKi87
IH07CiAJCTUyNEJCQzlFMTlERjcyQzAwMDJGMUFGMSAvKiBmaWxlLXdpdGgtdmlkZW8uaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MjRC
QkM5QjE5REYzNzE0MDAyRjFBRjEgLyogZmlsZS13aXRoLXZpZGVvLmh0bWwgKi87IH07CiAJCTUy
NEJCQ0ExMTlFMzBDNzcwMDJGMUFGMSAvKiB0ZXN0Lm1wNCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MjRCQkNBMDE5RTMwQzYzMDAyRjFBRjEg
LyogdGVzdC5tcDQgKi87IH07CkBAIC0xNTc5LDYgKzE1ODAsNyBAQAogCQkJCTJFQkQ5RDBBMjEz
NDczMEQwMDJEQTc1OCAvKiB2aWRlby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUNE
NTc3Nzk5MjExQ0UwRTQwMDFCMzcxRSAvKiB3ZWItYXVkaW8tb25seS5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovLAogCQkJCTU3NjYzREYzMjM1N0U0ODkwMEU4NUUwOSAvKiB3ZWItYXV0aGVudGlj
YXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtY2FuY2VsLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CisJCQkJNTIxRDFCNzMyNzcxM0U4MDAwMzkwMEM1IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQt
YXNzZXJ0aW9uLWhpZC1pbnRlcm5hbC11di1waW4tZmFsbGJhY2suaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLywKIAkJCQk1MkM4QzEzQTI3MDY0MzkwMDBCREYzQjcgLyogd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVybmFsLXV2Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCiAJCQkJNTc5RjFDMDEyM0M5M0FGNTAwQzdENEI0IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1n
ZXQtYXNzZXJ0aW9uLWhpZC1tdWx0aXBsZS1hY2NvdW50cy5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovLAogCQkJCTU3NzQ1NEQwMjM1OUIzNzgwMDhFMUVENyAvKiB3ZWItYXV0aGVudGljYXRpb24t
Z2V0LWFzc2VydGlvbi1oaWQtbm8tY3JlZGVudGlhbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKQEAgLTIwOTEsNiArMjA5Myw3IEBACiAJCTUxRkJCQjRDMTUxM0Q0RTkwMDgyMjczOCAvKiBX
ZWJWaWV3Q2FuUGFzdGVVUkwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBXZWJWaWV3Q2FuUGFzdGVVUkwubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUyMEJDRjRBMTQxRUIwOUUwMDkzN0VBOCAvKiBXZWJBcmNoaXZlX0J1bmRsZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBcmNoaXZlX0J1bmRsZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMEJDRjRCMTQxRUIwOUUwMDkzN0VBOCAvKiBX
ZWJBcmNoaXZlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkFy
Y2hpdmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MjFEMUI3MjI3NzEzRTgw
MDAzOTAwQzUgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVybmFs
LXV2LXBpbi1mYWxsYmFjay5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBuYW1lID0gIndlYi1hdXRoZW50aWNhdGlvbi1nZXQt
YXNzZXJ0aW9uLWhpZC1pbnRlcm5hbC11di1waW4tZmFsbGJhY2suaHRtbCI7IHBhdGggPSAiVGVz
dHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVy
bmFsLXV2LXBpbi1mYWxsYmFjay5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTI0QkJDOUIxOURGMzcxNDAwMkYxQUYxIC8qIGZpbGUtd2l0aC12aWRlby5odG1sICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5odG1sOyBwYXRoID0gImZpbGUtd2l0aC12aWRlby5odG1sIjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTI0QkJDOUMxOURGMzc3QTAwMkYxQUYxIC8qIFdLUGFnZUlzUGxh
eWluZ0F1ZGlvLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLUGFn
ZUlzUGxheWluZ0F1ZGlvLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTI0QkJD
QTAxOUUzMEM2MzAwMkYxQUYxIC8qIHRlc3QubXA0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IHRlc3QubXA0OyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMzE2NCw2ICszMTY3LDcgQEAKIAkJMDhGQjc3OTRGRTg0MTU1
REMwMkFBQzA3IC8qIFRlc3RXZWJLaXRBUEkgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTUyMUQxQjcyMjc3MTNFODAwMDM5MDBDNSAvKiB3ZWItYXV0aGVu
dGljYXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtaW50ZXJuYWwtdXYtcGluLWZhbGxiYWNrLmh0bWwg
Ki8sCiAJCQkJNTJDOEMxMzkyNzA2NDM5MDAwQkRGM0I3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1n
ZXQtYXNzZXJ0aW9uLWhpZC1pbnRlcm5hbC11di5odG1sICovLAogCQkJCTUyQzhDMTM3MjcwNjQz
N0MwMEJERjNCNyAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC1pbnRl
cm5hbC11di5odG1sICovLAogCQkJCTQ5QUVFRjY4MjQwNzI3NkYwMEM4N0U0QyAvKiBJbmZvLnBs
aXN0ICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IGRjZmE4MzQz
MTY2NzhiNmNkOWJmNmZhYjg5YmM0OGI0NjAyMjFkZjIuLjgwMDI5NzU5YmQ3M2ZlYzQ3YzE0MmQ4
MTNiMzJmYjBjMWU3YzE4NDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0K
QEAgLTEyNDksNiArMTI0OSwyNSBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIEdldEFz
c2VydGlvbkludGVybmFsVVYpCiAgICAgW3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJTdWNjZWVk
ZWQhIl07CiB9CiAKK1RFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgR2V0QXNzZXJ0aW9uSW50
ZXJuYWxVVlBpbkZhbGxiYWNrKQoreworICAgIHJlc2V0KCk7CisgICAgUmV0YWluUHRyPE5TVVJM
PiB0ZXN0VVJMID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIndlYi1h
dXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1pbnRlcm5hbC11di1waW4tZmFsbGJhY2si
IHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291
cmNlcyJdOworCisgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0
aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nl
c3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CisgICAg
W1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVu
dGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisgICAg
W1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpOTyBmb3JFeHBlcmltZW50
YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uTW9kZXJuRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsK
KworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TWmVyb1JlY3QgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CisgICAg
YXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVs
ZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRl
LmdldCgpXTsKKyAgICBbd2ViVmlldyBmb2N1c107CisKKyAgICB3ZWJBdXRoZW50aWNhdGlvblBh
bmVsUGluID0gIjEyMzQiOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3Qg
cmVxdWVzdFdpdGhVUkw6dGVzdFVSTC5nZXQoKV1dOworICAgIFt3ZWJWaWV3IHdhaXRGb3JNZXNz
YWdlOkAiU3VjY2VlZGVkISJdOworfQorCiBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIEdl
dEFzc2VydGlvblBpbkF1dGhCbG9ja2VkRXJyb3IpCiB7CiAgICAgcmVzZXQoKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVybmFsLXV2LXBpbi1mYWxsYmFjay5odG1sIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24tZ2V0
LWFzc2VydGlvbi1oaWQtaW50ZXJuYWwtdXYtcGluLWZhbGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Zjk3NjhlNTgzMzNlZmY4ZGVhNzQ5ZWFjMzY2ODA0YjMzODZmYjZiZAotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVybmFsLXV2LXBpbi1mYWxsYmFjay5odG1sCkBAIC0w
LDAgKzEsMzQgQEAKKzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaW5wdXQiPgorPHNjcmlwdD4KKyAg
ICBjb25zdCB0ZXN0Q3RhcEludGVybmFsVVZQaW5GYWxsYmFja1Jlc3BvbnNlQmFzZTY0ID0gIk5n
PT0iOworICAgIGNvbnN0IHRlc3RDdGFwUGluQXV0aEludmFsaWRFcnJvckJhc2U2NCA9ICJNdz09
IjsKKyAgICBjb25zdCB0ZXN0UGluR2V0UmV0cmllc1Jlc3BvbnNlQmFzZTY0ID0gIkFLRURDQT09
IjsKKyAgICBjb25zdCB0ZXN0UGluR2V0S2V5QWdyZWVtZW50UmVzcG9uc2VCYXNlNjQgPSAiQUtF
QnBRRUNBemdZSUFFaFdDRG9kaVdKYnVUa2JjQXlkbTZBaDVZdk50K2Qvb3RXZnpkakFWc1prS1lP
RkNKWUlDZmVZUzFtUVl2YUdWQllIcnhjakIydGNReXhUQ0w0eVhCRjlHRXZzZ3lSIjsKKyAgICBj
b25zdCB0ZXN0UGluR2V0UGluVG9rZW5SZXNwb25zZUJhc2U2NCA9ICJBS0VDVUJPazdyY095UnJx
QUI2VEZ2WWVRZmM9IjsKKyAgICBjb25zdCB0ZXN0QXNzZXJ0aW9uTWVzc2FnZUJhc2U2NCA9Cisg
ICAgICAgICJBS01Cb21KcFpGaEFLQWl0enVqK1RzbHplbGYzL3Zad0lHdERRTmdvS2VGZDVvRWll
WXpoeXpBNjVzYWYwdEsyIiArCisgICAgICAgICJ3L21vb2E3dFF0R2dEZHdaSWpPaGpjdVowcFEx
YWpvRTRHUjBlWEJsYW5CMVlteHBZeTFyWlhrQ1dDVkd6SCs1IiArCisgICAgICAgICJaNTFWc3R1
UWt1SEkyZVhoMEN0MWdQQzBnU3gzQ1dMaDVJOWEyQUVBQUFCUUExaEhNRVVDSVFDU0ZUdXVCV2dC
IiArCisgICAgICAgICI0L0YwVkI3RGxVVk0wOUlIUG14ZTFNekhVd1JvQ1JaYkNBSWdHS292Nnhv
QXgyTUVmNi82cU5zOE91dHpoUDJDIiArCisgICAgICAgICJRb0oxTDdGZTY0Rzl1QmM9IjsKKyAg
ICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgICBpbnRlcm5hbHMuc2V0TW9ja1dlYkF1
dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbih7IGhpZDogeyBzdXBwb3J0Q2xpZW50UGluOiB0cnVl
LCBzdXBwb3J0SW50ZXJuYWxVVjogdHJ1ZSwgcGF5bG9hZEJhc2U2NDogW3Rlc3RDdGFwSW50ZXJu
YWxVVlBpbkZhbGxiYWNrUmVzcG9uc2VCYXNlNjQsIHRlc3RQaW5HZXRSZXRyaWVzUmVzcG9uc2VC
YXNlNjQsIHRlc3RQaW5HZXRLZXlBZ3JlZW1lbnRSZXNwb25zZUJhc2U2NCwgdGVzdFBpbkdldFBp
blRva2VuUmVzcG9uc2VCYXNlNjQsIHRlc3RBc3NlcnRpb25NZXNzYWdlQmFzZTY0XSB9IH0pOwor
ICAgICAgICBpbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsgaW5wdXQuZm9jdXMoKTsg
fSk7CisgICAgfQorCisgICAgY29uc3Qgb3B0aW9ucyA9IHsKKyAgICAgICAgcHVibGljS2V5OiB7
CisgICAgICAgICAgICBjaGFsbGVuZ2U6IG5ldyBVaW50OEFycmF5KDE2KSwKKyAgICAgICAgICAg
IHRpbWVvdXQ6IDEwMAorICAgICAgICB9LAorICAgICAgICBhdXRoZW50aWNhdG9yU2VsZWN0aW9u
OiB7IHVzZXJWZXJpZmljYXRpb246ICJyZXF1aXJlZCIgfSwKKyAgICB9OworCisgICAgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmdldChvcHRpb25zKS50aGVuKGNyZWRlbnRpYWwgPT4geworICAgICAg
ICAvLyBjb25zb2xlLmxvZygiU3VjY2VlZGVkISIpOworICAgICAgICB3aW5kb3cud2Via2l0Lm1l
c3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgiU3VjY2VlZGVkISIpOworICAg
IH0sIGVycm9yID0+IHsKKyAgICAgICAgLy8gY29uc29sZS5sb2coZXJyb3IubWVzc2FnZSk7Cisg
ICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNz
YWdlKGVycm9yLm1lc3NhZ2UpOworICAgIH0pOworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447651</attachid>
            <date>2021-12-20 15:09:37 -0800</date>
            <delta_ts>2021-12-21 08:10:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232501-20211220150936.patch</filename>
            <type>text/plain</type>
            <size>13665</size>
            <attacher name="pascoe@apple.com">pascoe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk0OTU1MTlmZTk5YzNjZDFl
Y2U0MTI2NjI0MjdiODAxYmFmZWRlZDguLjM2ZDViNzQ5OTI4Njg2MTc1OGMxMThjNGVjY2M4OWNj
NzcxYmEzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMTItMjAgIEogUGFzY29l
ICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gQXV0aGVudGljYXRv
ciBpcyBub3QgZmFsbGluZyBiYWNrIHRvIGNsaWVudFBJTiBhZnRlciBpbnRlcm5hbCB2ZXJpZmlj
YXRpb24gZmFpbHMgYW5kIGlzIGJsb2NrZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1MDEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0OTEz
NjM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdo
ZW5ldmVyIGludGVybmFsIHV2IGdldHMgYmxvY2tlZCwgdGhlIHVzZXIgYWdlbnQgc2hvdWxkIGZh
bGwgYmFjayB0byB1c2luZyBhIHBpbiBmb3IgdXNlciB2ZXJpZmljYXRpb24uIFRoaXMKKyAgICAg
ICAgcGF0Y2ggc3RhcnRzIGRvaW5nIHRoYXQgYnkgZ29pbmcgaW50byB0aGUgcGluIGZsb3cgd2hl
bmV2ZXIgdGhlIGF1dGhlbnRpY2F0b3IgcmV0dXJucyB0aGUgcGluIHJlcXVpcmVkIGVycm9yCisg
ICAgICAgIGNvZGUuCisKKyAgICAgICAgQWRkZWQgQVBJIHRlc3QgZm9yIGZhbGxiYWNrLgorCisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL2ZpZG8vQ3RhcEF1dGhlbnRpY2F0
b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpDdGFwQXV0aGVudGljYXRvcjo6bWFrZUNyZWRlbnRp
YWwpOgorICAgICAgICAoV2ViS2l0OjpDdGFwQXV0aGVudGljYXRvcjo6Z2V0QXNzZXJ0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6Q3RhcEF1dGhlbnRpY2F0b3I6OnRyeVJlc3RhcnRQaW4pOgorCiAy
MDIxLTEyLTIwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJ
bXByb3ZlIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5IGxvZ2dpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL2ZpZG8v
Q3RhcEF1dGhlbnRpY2F0b3IuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vZmlkby9DdGFwQXV0aGVudGljYXRvci5jcHAKaW5kZXggNDdiMWY2YTkyMGYyODE1
ZmIxYjViOTNlMzgxMzU5ODQ3ZDI0NTVlZi4uM2M5MTQwYjljNzBiMjVmMjBhNWQzNGUzNDQ5ODkw
M2IyZjllMzRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vZmlkby9DdGFwQXV0aGVudGljYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vZmlkby9DdGFwQXV0aGVudGljYXRvci5jcHAKQEAg
LTczLDYgKzczLDcgQEAgYm9vbCBpc1BpbkVycm9yKGNvbnN0IEN0YXBEZXZpY2VSZXNwb25zZUNv
ZGUmIGVycm9yKQogICAgIGNhc2UgQ3RhcERldmljZVJlc3BvbnNlQ29kZTo6a0N0YXAyRXJyUGlu
QXV0aEJsb2NrZWQ6CiAgICAgY2FzZSBDdGFwRGV2aWNlUmVzcG9uc2VDb2RlOjprQ3RhcDJFcnJQ
aW5JbnZhbGlkOgogICAgIGNhc2UgQ3RhcERldmljZVJlc3BvbnNlQ29kZTo6a0N0YXAyRXJyUGlu
QmxvY2tlZDoKKyAgICBjYXNlIEN0YXBEZXZpY2VSZXNwb25zZUNvZGU6OmtDdGFwMkVyclBpblJl
cXVpcmVkOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1
cm4gZmFsc2U7CkBAIC05Niw3ICs5Nyw3IEBAIHZvaWQgQ3RhcEF1dGhlbnRpY2F0b3I6Om1ha2VD
cmVkZW50aWFsKCkKICAgICBhdXRvJiBvcHRpb25zID0gc3RkOjpnZXQ8UHVibGljS2V5Q3JlZGVu
dGlhbENyZWF0aW9uT3B0aW9ucz4ocmVxdWVzdERhdGEoKS5vcHRpb25zKTsKICAgICBhdXRvIGlu
dGVybmFsVVZBdmFpbGFiaWxpdHkgPSBtX2luZm8ub3B0aW9ucygpLnVzZXJWZXJpZmljYXRpb25B
dmFpbGFiaWxpdHkoKTsKICAgICAvLyBJZiBVViBpcyByZXF1aXJlZCwgdGhlbiBlaXRoZXIgYnVp
bHQtaW4gdXYgb3IgYSBwaW4gd2lsbCB3b3JrLgotICAgIGlmIChpbnRlcm5hbFVWQXZhaWxhYmls
aXR5ID09IFVWQXZhaWxhYmlsaXR5OjprU3VwcG9ydGVkQW5kQ29uZmlndXJlZCAmJiAoIW9wdGlv
bnMuYXV0aGVudGljYXRvclNlbGVjdGlvbiB8fCBvcHRpb25zLmF1dGhlbnRpY2F0b3JTZWxlY3Rp
b24tPnVzZXJWZXJpZmljYXRpb24gIT0gVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50OjpEaXNj
b3VyYWdlZCkpCisgICAgaWYgKGludGVybmFsVVZBdmFpbGFiaWxpdHkgPT0gVVZBdmFpbGFiaWxp
dHk6OmtTdXBwb3J0ZWRBbmRDb25maWd1cmVkICYmICghb3B0aW9ucy5hdXRoZW50aWNhdG9yU2Vs
ZWN0aW9uIHx8IG9wdGlvbnMuYXV0aGVudGljYXRvclNlbGVjdGlvbi0+dXNlclZlcmlmaWNhdGlv
biAhPSBVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQ6OkRpc2NvdXJhZ2VkKSAmJiBtX3BpbkF1
dGguaXNFbXB0eSgpKQogICAgICAgICBjYm9yQ21kID0gZW5jb2RlTWFrZUNyZWRlbml0YWxSZXF1
ZXN0QXNDQk9SKHJlcXVlc3REYXRhKCkuaGFzaCwgb3B0aW9ucywgaW50ZXJuYWxVVkF2YWlsYWJp
bGl0eSk7CiAgICAgZWxzZSBpZiAobV9pbmZvLm9wdGlvbnMoKS5jbGllbnRQaW5BdmFpbGFiaWxp
dHkoKSA9PSBBdXRoZW50aWNhdG9yU3VwcG9ydGVkT3B0aW9uczo6Q2xpZW50UGluQXZhaWxhYmls
aXR5OjprU3VwcG9ydGVkQW5kUGluU2V0KQogICAgICAgICBjYm9yQ21kID0gZW5jb2RlTWFrZUNy
ZWRlbml0YWxSZXF1ZXN0QXNDQk9SKHJlcXVlc3REYXRhKCkuaGFzaCwgb3B0aW9ucywgaW50ZXJu
YWxVVkF2YWlsYWJpbGl0eSwgUGluUGFyYW1ldGVycyB7IHBpbjo6a1Byb3RvY29sVmVyc2lvbiwg
bV9waW5BdXRoIH0pOwpAQCAtMTQxLDcgKzE0Miw3IEBAIHZvaWQgQ3RhcEF1dGhlbnRpY2F0b3I6
OmdldEFzc2VydGlvbigpCiAgICAgYXV0byYgb3B0aW9ucyA9IHN0ZDo6Z2V0PFB1YmxpY0tleUNy
ZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucz4ocmVxdWVzdERhdGEoKS5vcHRpb25zKTsKICAgICBhdXRv
IGludGVybmFsVVZBdmFpbGFiaWxpdHkgPSBtX2luZm8ub3B0aW9ucygpLnVzZXJWZXJpZmljYXRp
b25BdmFpbGFiaWxpdHkoKTsKICAgICAvLyBJZiBVViBpcyByZXF1aXJlZCwgdGhlbiBlaXRoZXIg
YnVpbHQtaW4gdXYgb3IgYSBwaW4gd2lsbCB3b3JrLgotICAgIGlmIChpbnRlcm5hbFVWQXZhaWxh
YmlsaXR5ID09IFVWQXZhaWxhYmlsaXR5OjprU3VwcG9ydGVkQW5kQ29uZmlndXJlZCAmJiBvcHRp
b25zLnVzZXJWZXJpZmljYXRpb24gIT0gVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50OjpEaXNj
b3VyYWdlZCkKKyAgICBpZiAoaW50ZXJuYWxVVkF2YWlsYWJpbGl0eSA9PSBVVkF2YWlsYWJpbGl0
eTo6a1N1cHBvcnRlZEFuZENvbmZpZ3VyZWQgJiYgb3B0aW9ucy51c2VyVmVyaWZpY2F0aW9uICE9
IFVzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudDo6RGlzY291cmFnZWQgJiYgbV9waW5BdXRoLmlz
RW1wdHkoKSkKICAgICAgICAgY2JvckNtZCA9IGVuY29kZUdldEFzc2VydGlvblJlcXVlc3RBc0NC
T1IocmVxdWVzdERhdGEoKS5oYXNoLCBvcHRpb25zLCBpbnRlcm5hbFVWQXZhaWxhYmlsaXR5KTsK
ICAgICBlbHNlIGlmIChtX2luZm8ub3B0aW9ucygpLmNsaWVudFBpbkF2YWlsYWJpbGl0eSgpID09
IEF1dGhlbnRpY2F0b3JTdXBwb3J0ZWRPcHRpb25zOjpDbGllbnRQaW5BdmFpbGFiaWxpdHk6OmtT
dXBwb3J0ZWRBbmRQaW5TZXQgJiYgb3B0aW9ucy51c2VyVmVyaWZpY2F0aW9uICE9IFVzZXJWZXJp
ZmljYXRpb25SZXF1aXJlbWVudDo6RGlzY291cmFnZWQpCiAgICAgICAgIGNib3JDbWQgPSBlbmNv
ZGVHZXRBc3NlcnRpb25SZXF1ZXN0QXNDQk9SKHJlcXVlc3REYXRhKCkuaGFzaCwgb3B0aW9ucywg
aW50ZXJuYWxVVkF2YWlsYWJpbGl0eSwgUGluUGFyYW1ldGVycyB7IHBpbjo6a1Byb3RvY29sVmVy
c2lvbiwgbV9waW5BdXRoIH0pOwpAQCAtMzQzLDYgKzM0NCw3IEBAIGJvb2wgQ3RhcEF1dGhlbnRp
Y2F0b3I6OnRyeVJlc3RhcnRQaW4oY29uc3QgQ3RhcERldmljZVJlc3BvbnNlQ29kZSYgZXJyb3Ip
CiAgICAgc3dpdGNoIChlcnJvcikgewogICAgIGNhc2UgQ3RhcERldmljZVJlc3BvbnNlQ29kZTo6
a0N0YXAyRXJyUGluQXV0aEludmFsaWQ6CiAgICAgY2FzZSBDdGFwRGV2aWNlUmVzcG9uc2VDb2Rl
OjprQ3RhcDJFcnJQaW5JbnZhbGlkOgorICAgIGNhc2UgQ3RhcERldmljZVJlc3BvbnNlQ29kZTo6
a0N0YXAyRXJyUGluUmVxdWlyZWQ6CiAgICAgICAgIGdldFJldHJpZXMoKTsKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCBlMGQzMDk5NDIyMGNlNGM2ZWRkYmY5YzUxZWY5YWFlM2IwNDE5
NDY1Li5lN2ExOTdhMjY3N2Q4Yjg2M2Q2ZWNkOWZkY2NlMDc5MDRhMTcxNDRmIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMjEtMTItMjAgIEogUGFzY29lICA8al9wYXNjb2VAYXBwbGUuY29tPgorCisgICAgICAgIFtX
ZWJBdXRobl0gQXV0aGVudGljYXRvciBpcyBub3QgZmFsbGluZyBiYWNrIHRvIGNsaWVudFBJTiBh
ZnRlciBpbnRlcm5hbCB2ZXJpZmljYXRpb24gZmFpbHMgYW5kIGlzIGJsb2NrZWQuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI1MDEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzg0OTEzNjM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdoZW5ldmVyIGludGVybmFsIHV2IGdldHMgYmxvY2tlZCwgdGhl
IHVzZXIgYWdlbnQgc2hvdWxkIGZhbGwgYmFjayB0byB1c2luZyBhIHBpbiBmb3IgdXNlciB2ZXJp
ZmljYXRpb24uIFRoaXMKKyAgICAgICAgYWRkcyBhbiBBUEkgdGVzdCB0byB2ZXJpZnkgdGhpcyBi
ZWhhdmlvci4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1QpOgorCiAyMDIxLTEyLTIwICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgU3RvcCBhc3N1bWluZyBXUFQgaXMgYSByZWZ0ZXN0IGJhc2VkIG9uIGV4aXN0ZW5j
ZSBvZiAtcmVmLmh0bWwgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlOGE4MjA4MTU4
YjNhZDFlYzhjYmIzYTQyZTI0ODA4ZTZkMzcxMDVhLi44NmE2ZTVlN2QxOWEzNjM0Yjc4ZDc4NTFm
MWM1NDhhNzc2MTgxODNlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjk4LDYgKzI5OCw3
IEBACiAJCTUxRUIxMjY1MjRDQTZCNjYwMDBDQjAzMCAvKiBTdGVlbFNlcmllc05pbWJ1cy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRUIxMjYxMjRD
QTZCNUYwMDBDQjAzMCAvKiBTdGVlbFNlcmllc05pbWJ1cy5tbSAqLzsgfTsKIAkJNTFFQjEyNjcy
NENCODc1MzAwMENCMDMwIC8qIFN1bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFQjEyNjYyNENCODQ5
MzAwMENCMDMwIC8qIFN1bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTLm1tICovOyB9OwogCQk1
MjBCQ0Y0QzE0MUVCMDlFMDA5MzdFQTggLyogV2ViQXJjaGl2ZV9CdW5kbGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTIwQkNGNEExNDFFQjA5RTAw
OTM3RUE4IC8qIFdlYkFyY2hpdmVfQnVuZGxlLmNwcCAqLzsgfTsKKwkJNTIxRDFCNzMyNzcxM0U4
MDAwMzkwMEM1IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1pbnRlcm5h
bC11di1waW4tZmFsbGJhY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MjFEMUI3MjI3NzEzRTgwMDAzOTAwQzUgLyogd2ViLWF1dGhl
bnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVybmFsLXV2LXBpbi1mYWxsYmFjay5odG1s
ICovOyB9OwogCQk1MjQ1MTc4NzIxQjlGNTdCMDA4MkNCMzQgLyogUmVuZGVyaW5nUHJvZ3Jlc3NQ
bHVnSW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MkQ1RDZCRTIxQjlGMUIyMDA0NkFCQTYgLyogUmVuZGVyaW5nUHJvZ3Jlc3NQbHVnSW4ubW0gKi87
IH07CiAJCTUyNEJCQzlFMTlERjcyQzAwMDJGMUFGMSAvKiBmaWxlLXdpdGgtdmlkZW8uaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MjRC
QkM5QjE5REYzNzE0MDAyRjFBRjEgLyogZmlsZS13aXRoLXZpZGVvLmh0bWwgKi87IH07CiAJCTUy
NEJCQ0ExMTlFMzBDNzcwMDJGMUFGMSAvKiB0ZXN0Lm1wNCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MjRCQkNBMDE5RTMwQzYzMDAyRjFBRjEg
LyogdGVzdC5tcDQgKi87IH07CkBAIC0xNTc5LDYgKzE1ODAsNyBAQAogCQkJCTJFQkQ5RDBBMjEz
NDczMEQwMDJEQTc1OCAvKiB2aWRlby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUNE
NTc3Nzk5MjExQ0UwRTQwMDFCMzcxRSAvKiB3ZWItYXVkaW8tb25seS5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovLAogCQkJCTU3NjYzREYzMjM1N0U0ODkwMEU4NUUwOSAvKiB3ZWItYXV0aGVudGlj
YXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtY2FuY2VsLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CisJCQkJNTIxRDFCNzMyNzcxM0U4MDAwMzkwMEM1IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQt
YXNzZXJ0aW9uLWhpZC1pbnRlcm5hbC11di1waW4tZmFsbGJhY2suaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLywKIAkJCQk1MkM4QzEzQTI3MDY0MzkwMDBCREYzQjcgLyogd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVybmFsLXV2Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCiAJCQkJNTc5RjFDMDEyM0M5M0FGNTAwQzdENEI0IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1n
ZXQtYXNzZXJ0aW9uLWhpZC1tdWx0aXBsZS1hY2NvdW50cy5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovLAogCQkJCTU3NzQ1NEQwMjM1OUIzNzgwMDhFMUVENyAvKiB3ZWItYXV0aGVudGljYXRpb24t
Z2V0LWFzc2VydGlvbi1oaWQtbm8tY3JlZGVudGlhbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKQEAgLTIwOTEsNiArMjA5Myw3IEBACiAJCTUxRkJCQjRDMTUxM0Q0RTkwMDgyMjczOCAvKiBX
ZWJWaWV3Q2FuUGFzdGVVUkwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBXZWJWaWV3Q2FuUGFzdGVVUkwubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUyMEJDRjRBMTQxRUIwOUUwMDkzN0VBOCAvKiBXZWJBcmNoaXZlX0J1bmRsZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBcmNoaXZlX0J1bmRsZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMEJDRjRCMTQxRUIwOUUwMDkzN0VBOCAvKiBX
ZWJBcmNoaXZlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkFy
Y2hpdmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MjFEMUI3MjI3NzEzRTgw
MDAzOTAwQzUgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVybmFs
LXV2LXBpbi1mYWxsYmFjay5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBuYW1lID0gIndlYi1hdXRoZW50aWNhdGlvbi1nZXQt
YXNzZXJ0aW9uLWhpZC1pbnRlcm5hbC11di1waW4tZmFsbGJhY2suaHRtbCI7IHBhdGggPSAiVGVz
dHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVy
bmFsLXV2LXBpbi1mYWxsYmFjay5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTI0QkJDOUIxOURGMzcxNDAwMkYxQUYxIC8qIGZpbGUtd2l0aC12aWRlby5odG1sICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5odG1sOyBwYXRoID0gImZpbGUtd2l0aC12aWRlby5odG1sIjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTI0QkJDOUMxOURGMzc3QTAwMkYxQUYxIC8qIFdLUGFnZUlzUGxh
eWluZ0F1ZGlvLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLUGFn
ZUlzUGxheWluZ0F1ZGlvLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTI0QkJD
QTAxOUUzMEM2MzAwMkYxQUYxIC8qIHRlc3QubXA0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IHRlc3QubXA0OyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMzE2NCw2ICszMTY3LDcgQEAKIAkJMDhGQjc3OTRGRTg0MTU1
REMwMkFBQzA3IC8qIFRlc3RXZWJLaXRBUEkgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTUyMUQxQjcyMjc3MTNFODAwMDM5MDBDNSAvKiB3ZWItYXV0aGVu
dGljYXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtaW50ZXJuYWwtdXYtcGluLWZhbGxiYWNrLmh0bWwg
Ki8sCiAJCQkJNTJDOEMxMzkyNzA2NDM5MDAwQkRGM0I3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1n
ZXQtYXNzZXJ0aW9uLWhpZC1pbnRlcm5hbC11di5odG1sICovLAogCQkJCTUyQzhDMTM3MjcwNjQz
N0MwMEJERjNCNyAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC1pbnRl
cm5hbC11di5odG1sICovLAogCQkJCTQ5QUVFRjY4MjQwNzI3NkYwMEM4N0U0QyAvKiBJbmZvLnBs
aXN0ICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IGRjZmE4MzQz
MTY2NzhiNmNkOWJmNmZhYjg5YmM0OGI0NjAyMjFkZjIuLjgwMDI5NzU5YmQ3M2ZlYzQ3YzE0MmQ4
MTNiMzJmYjBjMWU3YzE4NDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0K
QEAgLTEyNDksNiArMTI0OSwyNSBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIEdldEFz
c2VydGlvbkludGVybmFsVVYpCiAgICAgW3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJTdWNjZWVk
ZWQhIl07CiB9CiAKK1RFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgR2V0QXNzZXJ0aW9uSW50
ZXJuYWxVVlBpbkZhbGxiYWNrKQoreworICAgIHJlc2V0KCk7CisgICAgUmV0YWluUHRyPE5TVVJM
PiB0ZXN0VVJMID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIndlYi1h
dXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1pbnRlcm5hbC11di1waW4tZmFsbGJhY2si
IHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291
cmNlcyJdOworCisgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0
aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nl
c3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CisgICAg
W1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVu
dGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisgICAg
W1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpOTyBmb3JFeHBlcmltZW50
YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uTW9kZXJuRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsK
KworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TWmVyb1JlY3QgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CisgICAg
YXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVs
ZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRl
LmdldCgpXTsKKyAgICBbd2ViVmlldyBmb2N1c107CisKKyAgICB3ZWJBdXRoZW50aWNhdGlvblBh
bmVsUGluID0gIjEyMzQiOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3Qg
cmVxdWVzdFdpdGhVUkw6dGVzdFVSTC5nZXQoKV1dOworICAgIFt3ZWJWaWV3IHdhaXRGb3JNZXNz
YWdlOkAiU3VjY2VlZGVkISJdOworfQorCiBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIEdl
dEFzc2VydGlvblBpbkF1dGhCbG9ja2VkRXJyb3IpCiB7CiAgICAgcmVzZXQoKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVybmFsLXV2LXBpbi1mYWxsYmFjay5odG1sIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24tZ2V0
LWFzc2VydGlvbi1oaWQtaW50ZXJuYWwtdXYtcGluLWZhbGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2EzZWViYzc5OTI1ZDUzNGNkM2YyNDE2ZmM5NDA3MGIwMjI3ZjZjMgotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24taGlkLWludGVybmFsLXV2LXBpbi1mYWxsYmFjay5odG1sCkBAIC0w
LDAgKzEsMzMgQEAKKzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaW5wdXQiPgorPHNjcmlwdD4KKyAg
ICBjb25zdCB0ZXN0Q3RhcEludGVybmFsVVZQaW5GYWxsYmFja1Jlc3BvbnNlQmFzZTY0ID0gIk5n
PT0iOworICAgIGNvbnN0IHRlc3RQaW5HZXRSZXRyaWVzUmVzcG9uc2VCYXNlNjQgPSAiQUtFRENB
PT0iOworICAgIGNvbnN0IHRlc3RQaW5HZXRLZXlBZ3JlZW1lbnRSZXNwb25zZUJhc2U2NCA9ICJB
S0VCcFFFQ0F6Z1lJQUVoV0NEb2RpV0pidVRrYmNBeWRtNkFoNVl2TnQrZC9vdFdmemRqQVZzWmtL
WU9GQ0pZSUNmZVlTMW1RWXZhR1ZCWUhyeGNqQjJ0Y1F5eFRDTDR5WEJGOUdFdnNneVIiOworICAg
IGNvbnN0IHRlc3RQaW5HZXRQaW5Ub2tlblJlc3BvbnNlQmFzZTY0ID0gIkFLRUNVQk9rN3JjT3lS
cnFBQjZURnZZZVFmYz0iOworICAgIGNvbnN0IHRlc3RBc3NlcnRpb25NZXNzYWdlQmFzZTY0ID0K
KyAgICAgICAgIkFLTUJvbUpwWkZoQUtBaXR6dWorVHNsemVsZjMvdlp3SUd0RFFOZ29LZUZkNW9F
aWVZemh5ekE2NXNhZjB0SzIiICsKKyAgICAgICAgIncvbW9vYTd0UXRHZ0Rkd1pJak9oamN1WjBw
UTFham9FNEdSMGVYQmxhbkIxWW14cFl5MXJaWGtDV0NWR3pIKzUiICsKKyAgICAgICAgIlo1MVZz
dHVRa3VISTJlWGgwQ3QxZ1BDMGdTeDNDV0xoNUk5YTJBRUFBQUJRQTFoSE1FVUNJUUNTRlR1dUJX
Z0IiICsKKyAgICAgICAgIjQvRjBWQjdEbFVWTTA5SUhQbXhlMU16SFV3Um9DUlpiQ0FJZ0dLb3Y2
eG9BeDJNRWY2LzZxTnM4T3V0emhQMkMiICsKKyAgICAgICAgIlFvSjFMN0ZlNjRHOXVCYz0iOwor
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIGludGVybmFscy5zZXRNb2NrV2Vi
QXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uKHsgaGlkOiB7IHN1cHBvcnRDbGllbnRQaW46IHRy
dWUsIHN1cHBvcnRJbnRlcm5hbFVWOiB0cnVlLCBwYXlsb2FkQmFzZTY0OiBbdGVzdEN0YXBJbnRl
cm5hbFVWUGluRmFsbGJhY2tSZXNwb25zZUJhc2U2NCwgdGVzdFBpbkdldFJldHJpZXNSZXNwb25z
ZUJhc2U2NCwgdGVzdFBpbkdldEtleUFncmVlbWVudFJlc3BvbnNlQmFzZTY0LCB0ZXN0UGluR2V0
UGluVG9rZW5SZXNwb25zZUJhc2U2NCwgdGVzdEFzc2VydGlvbk1lc3NhZ2VCYXNlNjRdIH0gfSk7
CisgICAgICAgIGludGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkgPT4geyBpbnB1dC5mb2N1cygp
OyB9KTsKKyAgICB9CisKKyAgICBjb25zdCBvcHRpb25zID0geworICAgICAgICBwdWJsaWNLZXk6
IHsKKyAgICAgICAgICAgIGNoYWxsZW5nZTogbmV3IFVpbnQ4QXJyYXkoMTYpLAorICAgICAgICAg
ICAgdGltZW91dDogMTAwCisgICAgICAgIH0sCisgICAgICAgIGF1dGhlbnRpY2F0b3JTZWxlY3Rp
b246IHsgdXNlclZlcmlmaWNhdGlvbjogInJlcXVpcmVkIiB9LAorICAgIH07CisKKyAgICBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMpLnRoZW4oY3JlZGVudGlhbCA9PiB7CisgICAg
ICAgIC8vIGNvbnNvbGUubG9nKCJTdWNjZWVkZWQhIik7CisgICAgICAgIHdpbmRvdy53ZWJraXQu
bWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCJTdWNjZWVkZWQhIik7Cisg
ICAgfSwgZXJyb3IgPT4geworICAgICAgICAvLyBjb25zb2xlLmxvZyhlcnJvci5tZXNzYWdlKTsK
KyAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1l
c3NhZ2UoZXJyb3IubWVzc2FnZSk7CisgICAgfSk7Cis8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>