<?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>230159</bug_id>
          
          <creation_ts>2021-09-10 09:52:15 -0700</creation_ts>
          <short_desc>Send preference updates to the GPU Process</short_desc>
          <delta_ts>2021-09-13 15:01:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cfleizach</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1792408</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-09-10 09:52:15 -0700</bug_when>
    <thetext>Like the WebContent process, the GPU process should also receive preference updates since it is blocking the preference service in the sandbox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792409</commentid>
    <comment_count>1</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-09-10 09:52:58 -0700</bug_when>
    <thetext>&lt;rdar://81049367&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792419</commentid>
    <comment_count>2</comment_count>
      <attachid>437886</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-09-10 10:02:16 -0700</bug_when>
    <thetext>Created attachment 437886
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792440</commentid>
    <comment_count>3</comment_count>
      <attachid>437886</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-09-10 10:44:41 -0700</bug_when>
    <thetext>Comment on attachment 437886
Patch

AuxiliaryProcessCocoa.mm:166:1: error: extraneous closing brace (&apos;}&apos;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792446</commentid>
    <comment_count>4</comment_count>
      <attachid>437891</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-09-10 11:08:33 -0700</bug_when>
    <thetext>Created attachment 437891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792447</commentid>
    <comment_count>5</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-09-10 11:09:10 -0700</bug_when>
    <thetext>(In reply to chris fleizach from comment #3)
&gt; Comment on attachment 437886 [details]
&gt; Patch
&gt; 
&gt; AuxiliaryProcessCocoa.mm:166:1: error: extraneous closing brace (&apos;}&apos;)

Patch updated.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792456</commentid>
    <comment_count>6</comment_count>
      <attachid>437891</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-09-10 11:21:19 -0700</bug_when>
    <thetext>Comment on attachment 437891
Patch

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

r=me

&gt; Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm:134
&gt; +id AuxiliaryProcess::decodePreferenceValue(const std::optional&lt;String&gt;&amp; encodedValue)

Oh, nice! We have centralized this now.

&gt; Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm:143
&gt; +    auto classes = [NSSet setWithArray:@[[NSString class], [NSNumber class], [NSDate class], [NSDictionary class], [NSArray class], [NSData class]]];

I wonder if there is any perf benefit to making this a &quot;NeverDestroyed&quot; thing, since we presumably construct this set every time we try to decode preference values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793012</commentid>
    <comment_count>7</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-09-13 11:11:11 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #6)
&gt; Comment on attachment 437891 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=437891&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm:134
&gt; &gt; +id AuxiliaryProcess::decodePreferenceValue(const std::optional&lt;String&gt;&amp; encodedValue)
&gt; 
&gt; Oh, nice! We have centralized this now.
&gt; 
&gt; &gt; Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm:143
&gt; &gt; +    auto classes = [NSSet setWithArray:@[[NSString class], [NSNumber class], [NSDate class], [NSDictionary class], [NSArray class], [NSData class]]];
&gt; 
&gt; I wonder if there is any perf benefit to making this a &quot;NeverDestroyed&quot;
&gt; thing, since we presumably construct this set every time we try to decode
&gt; preference values.

That is a good point. I think there will be a performance benefit from this, although since this should not be a hot path, I think it also could be good to avoid the small added memory cost by making this NeverDestroyed.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793014</commentid>
    <comment_count>8</comment_count>
      <attachid>438058</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-09-13 11:13:42 -0700</bug_when>
    <thetext>Created attachment 438058
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793113</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-13 15:01:47 -0700</bug_when>
    <thetext>Committed r282364 (241627@main): &lt;https://commits.webkit.org/241627@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438058.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437886</attachid>
            <date>2021-09-10 10:02:16 -0700</date>
            <delta_ts>2021-09-10 11:16:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230159-20210910100215.patch</filename>
            <type>text/plain</type>
            <size>9916</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODIyNzUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA5LTEwICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBTZW5kIHByZWZlcmVuY2UgdXBk
YXRlcyB0byB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMDE1OQorICAgICAgICA8cmRhcjovLzgxMDQ5MzY3PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExpa2UgdGhlIFdlYkNv
bnRlbnQgcHJvY2VzcywgdGhlIEdQVSBwcm9jZXNzIHNob3VsZCBhbHNvIHJlY2VpdmUgcHJlZmVy
ZW5jZSB1cGRhdGVzIHNpbmNlIGl0IGlzIGJsb2NraW5nIHRoZSBwcmVmZXJlbmNlIHNlcnZpY2Ug
aW4gdGhlIHNhbmRib3guCisgICAgICAgIFRoZSBjb21tb24gY29kZSB0byBzZXQgYSBwcmVmZXJl
bmNlIGlzIGJlaW5nIG1vdmVkIHRvIHRoZSBBdXhpbGlhcnlQcm9jZXNzIGJhc2UgY2xhc3MsIHNv
IHRoYXQgYWxzbyB0aGUgR1BVIHByb2Nlc3MgY2FuIG1ha2UgdXNlIG9mIGl0LiBXaGVuCisgICAg
ICAgIHRoZSBVSSBwcm9jZXNzIGlzIHNlbmRpbmcgcHJlZmVyZW5jZSB1cGRhdGUgbWVzc2FnZXMg
dG8gYWxsIHRoZSBXZWJDb250ZW50IHByb2Nlc3NlcywgaXQgd2lsbCBub3cgYWxzbyBzZW5kIHRv
IHRoZSBHUFUgcHJvY2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgor
ICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBH
UFVQcm9jZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6R1BV
UHJvY2Vzczo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAgICAgICAgKiBTaGFyZWQvQXV4
aWxpYXJ5UHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9BdXhpbGlhcnlQcm9jZXNz
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3M6OmRlY29kZVByZWZl
cmVuY2VWYWx1ZSk6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3M6OnNldFByZWZl
cmVuY2VWYWx1ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29j
b2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJlbmNl
c0NoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1t
OgorICAgICAgICAoV2ViS2l0OjpoYW5kbGVQcmVmZXJlbmNlQ2hhbmdlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAgICAgICAgKFdl
YktpdDo6c2V0UHJlZmVyZW5jZVZhbHVlKTogRGVsZXRlZC4KKwogMjAyMS0wOS0xMCAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBpbmZy
YXN0cnVjdHVyZSB0byBhbGxvdyBUTFMgZHVyaW5nIFBDTSB0ZXN0cwpJbmRleDogU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCShyZXZpc2lvbiAyODIwMjMpCisrKyBTb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTUsNiArMTU1
LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRWb3JiaXNEZWNvZGVyRW5hYmxlZChib29sKTsK
ICNlbmRpZgogCisjaWYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCisgICAgdm9pZCBub3Rp
ZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYg
a2V5LCBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0cmluZz4mIGVuY29kZWRWYWx1ZSk7CisjZW5kaWYK
KwogICAgIC8vIENvbm5lY3Rpb25zIHRvIFdlYlByb2Nlc3Nlcy4KICAgICBIYXNoTWFwPFdlYkNv
cmU6OlByb2Nlc3NJZGVudGlmaWVyLCBSZWY8R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4+IG1f
d2ViUHJvY2Vzc0Nvbm5lY3Rpb25zOwogICAgIE1vbm90b25pY1RpbWUgbV9jcmVhdGlvblRpbWUg
eyBNb25vdG9uaWNUaW1lOjpub3coKSB9OwpJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVVByb2Nlc3MubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI4MjAyMykKKysrIFNvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkp
CkBAIC02Myw2ICs2MywxMCBAQCBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzIExlZ2FjeVJlY2VpdmVy
IHsKICNpZiBFTkFCTEUoVk9SQklTKQogICAgIFNldFZvcmJpc0RlY29kZXJFbmFibGVkKGJvb2wg
ZW5hYmxlZCk7CiAjZW5kaWYKKworI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQorICAg
IE5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChTdHJpbmcgZG9tYWluLCBTdHJpbmcga2V5LCBzdGQ6
Om9wdGlvbmFsPFN0cmluZz4gZW5jb2RlZFZhbHVlKQorI2VuZGlmCiB9CiAKICNlbmRpZiAvLyBF
TkFCTEUoR1BVX1BST0NFU1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2Ev
R1BVUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI4MjAyMykKKysrIFNvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkK
QEAgLTY2LDYgKzY2LDE5IEBAIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IEdQVVByb2Nlc3M6OmFk
ZGkKIAogI2VuZGlmIC8vIFVTRShPU19TVEFURSkKIAorI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVD
VF9NT0RFKQordm9pZCBHUFVQcm9jZXNzOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3Qg
U3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0
cmluZz4mIGVuY29kZWRWYWx1ZSkKK3sKKyAgICBpZCB2YWx1ZSA9IG5pbDsKKyAgICBpZiAoZW5j
b2RlZFZhbHVlKSB7CisgICAgICAgIHZhbHVlID0gZGVjb2RlUHJlZmVyZW5jZVZhbHVlKGVuY29k
ZWRWYWx1ZSk7CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1cm47CisgICAg
fQorICAgIHNldFByZWZlcmVuY2VWYWx1ZShkb21haW4sIGtleSwgdmFsdWUpOworfQorI2VuZGlm
CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNT
KSAmJiBQTEFURk9STShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFy
eVByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQ
cm9jZXNzLmgJKHJldmlzaW9uIDI4MjAyMykKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGls
aWFyeVByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTM0LDYgKzEzNCwxMiBAQCBwcm90ZWN0
ZWQ6CiAKICAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxzdGQ6OnBhaXI8SVBDOjpDb25uZWN0aW9u
OjpJZGVudGlmaWVyLCBJUEM6OkF0dGFjaG1lbnQ+PiBjcmVhdGVJUENDb25uZWN0aW9uUGFpcigp
OwogCitwcm90ZWN0ZWQ6CisjaWYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCisgICAgc3Rh
dGljIGlkIGRlY29kZVByZWZlcmVuY2VWYWx1ZShjb25zdCBzdGQ6Om9wdGlvbmFsPFN0cmluZz4m
IGVuY29kZWRWYWx1ZSk7CisgICAgc3RhdGljIHZvaWQgc2V0UHJlZmVyZW5jZVZhbHVlKGNvbnN0
IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIGtleSwgaWQgdmFsdWUpOworI2VuZGlmCisK
IHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHNob3VsZE92ZXJyaWRlUXVhcmFudGluZSgpIHsg
cmV0dXJuIHRydWU7IH0KIApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXV4aWxp
YXJ5UHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL0F1eGlsaWFyeVByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjgyMDIzKQorKysgU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvQXV4aWxpYXJ5UHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzAsNCArMTMwLDM3IEBAIHZvaWQgQXV4aWxpYXJ5UHJvY2Vzczo6cmVnaXN0ZXJX
aXRoU3RhdGUKIAogI2VuZGlmIC8vIFVTRShPU19TVEFURSkKIAorI2lmIEVOQUJMRShDRlBSRUZT
X0RJUkVDVF9NT0RFKQoraWQgQXV4aWxpYXJ5UHJvY2Vzczo6ZGVjb2RlUHJlZmVyZW5jZVZhbHVl
KGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiYgZW5jb2RlZFZhbHVlKQoreworICAgIGlmICgh
ZW5jb2RlZFZhbHVlKQorICAgICAgICByZXR1cm4gbmlsOworICAgIAorICAgIGF1dG8gZW5jb2Rl
ZERhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVuY29kZWRTdHJp
bmc6KmVuY29kZWRWYWx1ZSBvcHRpb25zOjBdKTsKKyAgICBpZiAoIWVuY29kZWREYXRhKQorICAg
ICAgICByZXR1cm4gbmlsOworICAgIE5TRXJyb3IgKmVyciA9IG5pbDsKKyAgICBhdXRvIGNsYXNz
ZXMgPSBbTlNTZXQgc2V0V2l0aEFycmF5OkBbW05TU3RyaW5nIGNsYXNzXSwgW05TTnVtYmVyIGNs
YXNzXSwgW05TRGF0ZSBjbGFzc10sIFtOU0RpY3Rpb25hcnkgY2xhc3NdLCBbTlNBcnJheSBjbGFz
c10sIFtOU0RhdGEgY2xhc3NdXV07CisgICAgaWQgdmFsdWUgPSBbTlNLZXllZFVuYXJjaGl2ZXIg
dW5hcmNoaXZlZE9iamVjdE9mQ2xhc3NlczpjbGFzc2VzIGZyb21EYXRhOmVuY29kZWREYXRhLmdl
dCgpIGVycm9yOiZlcnJdOworICAgIEFTU0VSVCghZXJyKTsKKyAgICBpZiAoZXJyKQorICAgICAg
ICByZXR1cm4gbmlsOworCisgICAgcmV0dXJuIHZhbHVlOworfQorCit2b2lkIEF1eGlsaWFyeVBy
b2Nlc3M6OnNldFByZWZlcmVuY2VWYWx1ZShjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3Ry
aW5nJiBrZXksIGlkIHZhbHVlKQoreworICAgIGlmIChkb21haW4uaXNFbXB0eSgpKSB7CisgICAg
ICAgIENGUHJlZmVyZW5jZXNTZXRWYWx1ZShrZXkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgKF9f
YnJpZGdlIENGUHJvcGVydHlMaXN0UmVmKXZhbHVlLCBrQ0ZQcmVmZXJlbmNlc0FueUFwcGxpY2F0
aW9uLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhvc3QpOwor
I2lmIEFTU0VSVF9FTkFCTEVECisgICAgICAgIGlkIHZhbHVlQWZ0ZXJTZXR0aW5nID0gW1tOU1Vz
ZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gb2JqZWN0Rm9yS2V5OmtleV07CisgICAg
ICAgIEFTU0VSVCh2YWx1ZUFmdGVyU2V0dGluZyA9PSB2YWx1ZSB8fCBbdmFsdWVBZnRlclNldHRp
bmcgaXNFcXVhbDp2YWx1ZV0gfHwga2V5ID09ICJBcHBsZUxhbmd1YWdlcyIpOworI2VuZGlmCisg
ICAgfSBlbHNlCisgICAgICAgIENGUHJlZmVyZW5jZXNTZXRWYWx1ZShrZXkuY3JlYXRlQ0ZTdHJp
bmcoKS5nZXQoKSwgKF9fYnJpZGdlIENGUHJvcGVydHlMaXN0UmVmKXZhbHVlLCBkb21haW4uY3Jl
YXRlQ0ZTdHJpbmcoKS5nZXQoKSwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVy
ZW5jZXNBbnlIb3N0KTsKKyNlbmRpZiAvLyBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKK30K
KworCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24gMjgyMDIz
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bQkod29ya2luZyBjb3B5KQpAQCAtOTgzLDYgKzk4MywxMSBAQCB2b2lkIFdlYlByb2Nlc3NQb29s
Ojpub3RpZnlQcmVmZXJlbmNlc0NoCiB7CiAgICAgZm9yIChhdXRvIHByb2Nlc3MgOiBtX3Byb2Nl
c3NlcykKICAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6Tm90aWZ5
UHJlZmVyZW5jZXNDaGFuZ2VkKGRvbWFpbiwga2V5LCBlbmNvZGVkVmFsdWUpLCAwKTsKKworI2lm
IEVOQUJMRShHUFVfUFJPQ0VTUykKKyAgICBpZiAoYXV0byogZ3B1UHJvY2VzcyA9IEdQVVByb2Nl
c3NQcm94eTo6c2luZ2xldG9uSWZDcmVhdGVkKCkpCisgICAgICAgIGdwdVByb2Nlc3MtPnNlbmQo
TWVzc2FnZXM6OldlYlByb2Nlc3M6Ok5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChkb21haW4sIGtl
eSwgZW5jb2RlZFZhbHVlKSwgMCk7CisjZW5kaWYKIH0KICNlbmRpZgogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlz
aW9uIDI4MjAyMykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNz
Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTExMzMsMTcgKzExMzMsOCBAQCBzdGF0aWMgdm9p
ZCBkaXNwYXRjaFNpbXVsYXRlZE5vdGlmaWNhdGlvCiAgICAgfQogfQogCi1zdGF0aWMgdm9pZCBz
ZXRQcmVmZXJlbmNlVmFsdWUoY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5
LCBpZCB2YWx1ZSkKK3N0YXRpYyB2b2lkIGhhbmRsZVByZWZlcmVuY2VDaGFuZ2UoY29uc3QgU3Ry
aW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBpZCB2YWx1ZSkKIHsKLSAgICBpZiAoZG9t
YWluLmlzRW1wdHkoKSkgewotICAgICAgICBDRlByZWZlcmVuY2VzU2V0VmFsdWUoa2V5LmNyZWF0
ZUNGU3RyaW5nKCkuZ2V0KCksIChfX2JyaWRnZSBDRlByb3BlcnR5TGlzdFJlZil2YWx1ZSwga0NG
UHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NG
UHJlZmVyZW5jZXNBbnlIb3N0KTsKLSNpZiBBU1NFUlRfRU5BQkxFRAotICAgICAgICBpZCB2YWx1
ZUFmdGVyU2V0dGluZyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9i
amVjdEZvcktleTprZXldOwotICAgICAgICBBU1NFUlQodmFsdWVBZnRlclNldHRpbmcgPT0gdmFs
dWUgfHwgW3ZhbHVlQWZ0ZXJTZXR0aW5nIGlzRXF1YWw6dmFsdWVdIHx8IGtleSA9PSAiQXBwbGVM
YW5ndWFnZXMiKTsKLSNlbmRpZgotICAgIH0gZWxzZQotICAgICAgICBDRlByZWZlcmVuY2VzU2V0
VmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIChfX2JyaWRnZSBDRlByb3BlcnR5TGlz
dFJlZil2YWx1ZSwgZG9tYWluLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIGtDRlByZWZlcmVuY2Vz
Q3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQW55SG9zdCk7Ci0KICAgICBpZiAoa2V5ID09ICJB
cHBsZUxhbmd1YWdlcyIpIHsKICAgICAgICAgLy8gV2UgbmVlZCB0byBzZXQgQXBwbGVMYW5ndWFn
ZXMgZm9yIHRoZSB2b2xhdGlsZSBkb21haW4sIHNpbWlsYXJseSB0byB3aGF0IHdlIGRvIGluIFhQ
Q1NlcnZpY2VNYWluLm1tLgogICAgICAgICBOU0RpY3Rpb25hcnkgKmV4aXN0aW5nQXJndW1lbnRz
ID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gdm9sYXRpbGVEb21haW5G
b3JOYW1lOk5TQXJndW1lbnREb21haW5dOwpAQCAtMTE3MywyNiArMTE2NCwyMCBAQCBzdGF0aWMg
dm9pZCBzZXRQcmVmZXJlbmNlVmFsdWUoY29uc3QgU3RyCiAgICAgaWYgKENGRXF1YWwoY2ZLZXku
Z2V0KCksIGtBWEludGVyZmFjZVJlZHVjZU1vdGlvbktleSkgfHwgQ0ZFcXVhbChjZktleS5nZXQo
KSwga0FYSW50ZXJmYWNlSW5jcmVhc2VDb250cmFzdEtleSkgfHwga2V5ID09IGludmVydENvbG9y
c1ByZWZlcmVuY2VLZXkoKSkKICAgICAgICAgW05TV29ya3NwYWNlIF9pbnZhbGlkYXRlQWNjZXNz
aWJpbGl0eURpc3BsYXlWYWx1ZXNdOwogI2VuZGlmCisKKyAgICBkaXNwYXRjaFNpbXVsYXRlZE5v
dGlmaWNhdGlvbnNGb3JQcmVmZXJlbmNlQ2hhbmdlKGtleSk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vz
czo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBT
dHJpbmcmIGtleSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpCiB7
Ci0gICAgaWYgKCFlbmNvZGVkVmFsdWUpIHsKLSAgICAgICAgc2V0UHJlZmVyZW5jZVZhbHVlKGRv
bWFpbiwga2V5LCBuaWwpOwotICAgICAgICBkaXNwYXRjaFNpbXVsYXRlZE5vdGlmaWNhdGlvbnNG
b3JQcmVmZXJlbmNlQ2hhbmdlKGtleSk7Ci0gICAgICAgIHJldHVybjsKKyAgICBpZCB2YWx1ZSA9
IG5pbDsKKyAgICBpZiAoZW5jb2RlZFZhbHVlKSB7CisgICAgICAgIHZhbHVlID0gZGVjb2RlUHJl
ZmVyZW5jZVZhbHVlKGVuY29kZWRWYWx1ZSk7CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAg
ICAgICByZXR1cm47CiAgICAgfQotICAgIGF1dG8gZW5jb2RlZERhdGEgPSBhZG9wdE5TKFtbTlNE
YXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVuY29kZWRTdHJpbmc6KmVuY29kZWRWYWx1ZSBvcHRp
b25zOjBdKTsKLSAgICBpZiAoIWVuY29kZWREYXRhKQotICAgICAgICByZXR1cm47Ci0gICAgTlNF
cnJvciAqZXJyID0gbmlsOwotICAgIGF1dG8gY2xhc3NlcyA9IFtOU1NldCBzZXRXaXRoQXJyYXk6
QFtbTlNTdHJpbmcgY2xhc3NdLCBbTlNOdW1iZXIgY2xhc3NdLCBbTlNEYXRlIGNsYXNzXSwgW05T
RGljdGlvbmFyeSBjbGFzc10sIFtOU0FycmF5IGNsYXNzXSwgW05TRGF0YSBjbGFzc11dXTsKLSAg
ICBpZCBvYmplY3QgPSBbTlNLZXllZFVuYXJjaGl2ZXIgdW5hcmNoaXZlZE9iamVjdE9mQ2xhc3Nl
czpjbGFzc2VzIGZyb21EYXRhOmVuY29kZWREYXRhLmdldCgpIGVycm9yOiZlcnJdOwotICAgIEFT
U0VSVCghZXJyKTsKLSAgICBpZiAoZXJyKQotICAgICAgICByZXR1cm47Ci0gICAgc2V0UHJlZmVy
ZW5jZVZhbHVlKGRvbWFpbiwga2V5LCBvYmplY3QpOwotICAgIGRpc3BhdGNoU2ltdWxhdGVkTm90
aWZpY2F0aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2Uoa2V5KTsKKyAgICBzZXRQcmVmZXJlbmNlVmFs
dWUoZG9tYWluLCBrZXksIHZhbHVlKTsKKyAgICBoYW5kbGVQcmVmZXJlbmNlQ2hhbmdlKGRvbWFp
biwga2V5LCB2YWx1ZSk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6dW5ibG9ja1ByZWZlcmVuY2VT
ZXJ2aWNlKFZlY3RvcjxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+JiYgaGFuZGxlQXJyYXkpCg==
</data>
<flag name="commit-queue"
          id="461165"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437891</attachid>
            <date>2021-09-10 11:08:33 -0700</date>
            <delta_ts>2021-09-10 11:21:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230159-20210910110833.patch</filename>
            <type>text/plain</type>
            <size>9899</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODIyNzgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA5LTEwICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBTZW5kIHByZWZlcmVuY2UgdXBk
YXRlcyB0byB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMDE1OQorICAgICAgICA8cmRhcjovLzgxMDQ5MzY3PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExpa2UgdGhlIFdlYkNv
bnRlbnQgcHJvY2VzcywgdGhlIEdQVSBwcm9jZXNzIHNob3VsZCBhbHNvIHJlY2VpdmUgcHJlZmVy
ZW5jZSB1cGRhdGVzIHNpbmNlIGl0IGlzIGJsb2NraW5nIHRoZSBwcmVmZXJlbmNlIHNlcnZpY2Ug
aW4gdGhlIHNhbmRib3guCisgICAgICAgIFRoZSBjb21tb24gY29kZSB0byBzZXQgYSBwcmVmZXJl
bmNlIGlzIGJlaW5nIG1vdmVkIHRvIHRoZSBBdXhpbGlhcnlQcm9jZXNzIGJhc2UgY2xhc3MsIHNv
IHRoYXQgYWxzbyB0aGUgR1BVIHByb2Nlc3MgY2FuIG1ha2UgdXNlIG9mIGl0LiBXaGVuCisgICAg
ICAgIHRoZSBVSSBwcm9jZXNzIGlzIHNlbmRpbmcgcHJlZmVyZW5jZSB1cGRhdGUgbWVzc2FnZXMg
dG8gYWxsIHRoZSBXZWJDb250ZW50IHByb2Nlc3NlcywgaXQgd2lsbCBub3cgYWxzbyBzZW5kIHRv
IHRoZSBHUFUgcHJvY2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgor
ICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBH
UFVQcm9jZXNzL2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6R1BV
UHJvY2Vzczo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAgICAgICAgKiBTaGFyZWQvQXV4
aWxpYXJ5UHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9BdXhpbGlhcnlQcm9jZXNz
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3M6OmRlY29kZVByZWZl
cmVuY2VWYWx1ZSk6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3M6OnNldFByZWZl
cmVuY2VWYWx1ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29j
b2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJlbmNl
c0NoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1t
OgorICAgICAgICAoV2ViS2l0OjpoYW5kbGVQcmVmZXJlbmNlQ2hhbmdlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAgICAgICAgKFdl
YktpdDo6c2V0UHJlZmVyZW5jZVZhbHVlKTogRGVsZXRlZC4KKwogMjAyMS0wOS0xMCAgUGVyIEFy
bmUgVm9sbGFuIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjT1NdIFVzZSBtYWNy
byB0byBjbG9zZSBYUEMgY29ubmVjdGlvbgpJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVVByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
UHJvY2Vzcy5oCShyZXZpc2lvbiAyODIwMjMpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTUsNiArMTU1LDEwIEBAIHByaXZhdGU6
CiAgICAgdm9pZCBzZXRWb3JiaXNEZWNvZGVyRW5hYmxlZChib29sKTsKICNlbmRpZgogCisjaWYg
RU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCisgICAgdm9pZCBub3RpZnlQcmVmZXJlbmNlc0No
YW5nZWQoY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBzdGQ6
Om9wdGlvbmFsPFN0cmluZz4mIGVuY29kZWRWYWx1ZSk7CisjZW5kaWYKKwogICAgIC8vIENvbm5l
Y3Rpb25zIHRvIFdlYlByb2Nlc3Nlcy4KICAgICBIYXNoTWFwPFdlYkNvcmU6OlByb2Nlc3NJZGVu
dGlmaWVyLCBSZWY8R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4+IG1fd2ViUHJvY2Vzc0Nvbm5l
Y3Rpb25zOwogICAgIE1vbm90b25pY1RpbWUgbV9jcmVhdGlvblRpbWUgeyBNb25vdG9uaWNUaW1l
Ojpub3coKSB9OwpJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MubWVz
c2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3MubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI4MjAyMykKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2Mywx
MCBAQCBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICNpZiBFTkFCTEUo
Vk9SQklTKQogICAgIFNldFZvcmJpc0RlY29kZXJFbmFibGVkKGJvb2wgZW5hYmxlZCk7CiAjZW5k
aWYKKworI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQorICAgIE5vdGlmeVByZWZlcmVu
Y2VzQ2hhbmdlZChTdHJpbmcgZG9tYWluLCBTdHJpbmcga2V5LCBzdGQ6Om9wdGlvbmFsPFN0cmlu
Zz4gZW5jb2RlZFZhbHVlKQorI2VuZGlmCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NF
U1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvY29jb2EvR1BVUHJvY2Vzc0NvY29h
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVQcm9j
ZXNzQ29jb2EubW0JKHJldmlzaW9uIDI4MjAyMykKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9jb2NvYS9HUFVQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDE5
IEBAIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IEdQVVByb2Nlc3M6OmFkZGkKIAogI2VuZGlmIC8v
IFVTRShPU19TVEFURSkKIAorI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQordm9pZCBH
UFVQcm9jZXNzOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoY29uc3QgU3RyaW5nJiBkb21haW4s
IGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0cmluZz4mIGVuY29kZWRW
YWx1ZSkKK3sKKyAgICBpZCB2YWx1ZSA9IG5pbDsKKyAgICBpZiAoZW5jb2RlZFZhbHVlKSB7Cisg
ICAgICAgIHZhbHVlID0gZGVjb2RlUHJlZmVyZW5jZVZhbHVlKGVuY29kZWRWYWx1ZSk7CisgICAg
ICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1cm47CisgICAgfQorICAgIHNldFByZWZl
cmVuY2VWYWx1ZShkb21haW4sIGtleSwgdmFsdWUpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQTEFURk9STShD
T0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgJKHJldmlz
aW9uIDI4MjAyMykKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaAko
d29ya2luZyBjb3B5KQpAQCAtMTM0LDYgKzEzNCwxMiBAQCBwcm90ZWN0ZWQ6CiAKICAgICBzdGF0
aWMgc3RkOjpvcHRpb25hbDxzdGQ6OnBhaXI8SVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyLCBJ
UEM6OkF0dGFjaG1lbnQ+PiBjcmVhdGVJUENDb25uZWN0aW9uUGFpcigpOwogCitwcm90ZWN0ZWQ6
CisjaWYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCisgICAgc3RhdGljIGlkIGRlY29kZVBy
ZWZlcmVuY2VWYWx1ZShjb25zdCBzdGQ6Om9wdGlvbmFsPFN0cmluZz4mIGVuY29kZWRWYWx1ZSk7
CisgICAgc3RhdGljIHZvaWQgc2V0UHJlZmVyZW5jZVZhbHVlKGNvbnN0IFN0cmluZyYgZG9tYWlu
LCBjb25zdCBTdHJpbmcmIGtleSwgaWQgdmFsdWUpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIHNob3VsZE92ZXJyaWRlUXVhcmFudGluZSgpIHsgcmV0dXJuIHRydWU7IH0K
IApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXV4aWxpYXJ5UHJvY2Vzc0NvY29h
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0F1eGlsaWFyeVBy
b2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjgyMDIzKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQv
Q29jb2EvQXV4aWxpYXJ5UHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAsNCAr
MTMwLDM2IEBAIHZvaWQgQXV4aWxpYXJ5UHJvY2Vzczo6cmVnaXN0ZXJXaXRoU3RhdGUKIAogI2Vu
ZGlmIC8vIFVTRShPU19TVEFURSkKIAorI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQor
aWQgQXV4aWxpYXJ5UHJvY2Vzczo6ZGVjb2RlUHJlZmVyZW5jZVZhbHVlKGNvbnN0IHN0ZDo6b3B0
aW9uYWw8U3RyaW5nPiYgZW5jb2RlZFZhbHVlKQoreworICAgIGlmICghZW5jb2RlZFZhbHVlKQor
ICAgICAgICByZXR1cm4gbmlsOworICAgIAorICAgIGF1dG8gZW5jb2RlZERhdGEgPSBhZG9wdE5T
KFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVuY29kZWRTdHJpbmc6KmVuY29kZWRWYWx1
ZSBvcHRpb25zOjBdKTsKKyAgICBpZiAoIWVuY29kZWREYXRhKQorICAgICAgICByZXR1cm4gbmls
OworICAgIE5TRXJyb3IgKmVyciA9IG5pbDsKKyAgICBhdXRvIGNsYXNzZXMgPSBbTlNTZXQgc2V0
V2l0aEFycmF5OkBbW05TU3RyaW5nIGNsYXNzXSwgW05TTnVtYmVyIGNsYXNzXSwgW05TRGF0ZSBj
bGFzc10sIFtOU0RpY3Rpb25hcnkgY2xhc3NdLCBbTlNBcnJheSBjbGFzc10sIFtOU0RhdGEgY2xh
c3NdXV07CisgICAgaWQgdmFsdWUgPSBbTlNLZXllZFVuYXJjaGl2ZXIgdW5hcmNoaXZlZE9iamVj
dE9mQ2xhc3NlczpjbGFzc2VzIGZyb21EYXRhOmVuY29kZWREYXRhLmdldCgpIGVycm9yOiZlcnJd
OworICAgIEFTU0VSVCghZXJyKTsKKyAgICBpZiAoZXJyKQorICAgICAgICByZXR1cm4gbmlsOwor
CisgICAgcmV0dXJuIHZhbHVlOworfQorCit2b2lkIEF1eGlsaWFyeVByb2Nlc3M6OnNldFByZWZl
cmVuY2VWYWx1ZShjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBrZXksIGlkIHZh
bHVlKQoreworICAgIGlmIChkb21haW4uaXNFbXB0eSgpKSB7CisgICAgICAgIENGUHJlZmVyZW5j
ZXNTZXRWYWx1ZShrZXkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgKF9fYnJpZGdlIENGUHJvcGVy
dHlMaXN0UmVmKXZhbHVlLCBrQ0ZQcmVmZXJlbmNlc0FueUFwcGxpY2F0aW9uLCBrQ0ZQcmVmZXJl
bmNlc0N1cnJlbnRVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhvc3QpOworI2lmIEFTU0VSVF9FTkFC
TEVECisgICAgICAgIGlkIHZhbHVlQWZ0ZXJTZXR0aW5nID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFu
ZGFyZFVzZXJEZWZhdWx0c10gb2JqZWN0Rm9yS2V5OmtleV07CisgICAgICAgIEFTU0VSVCh2YWx1
ZUFmdGVyU2V0dGluZyA9PSB2YWx1ZSB8fCBbdmFsdWVBZnRlclNldHRpbmcgaXNFcXVhbDp2YWx1
ZV0gfHwga2V5ID09ICJBcHBsZUxhbmd1YWdlcyIpOworI2VuZGlmCisgICAgfSBlbHNlCisgICAg
ICAgIENGUHJlZmVyZW5jZXNTZXRWYWx1ZShrZXkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgKF9f
YnJpZGdlIENGUHJvcGVydHlMaXN0UmVmKXZhbHVlLCBkb21haW4uY3JlYXRlQ0ZTdHJpbmcoKS5n
ZXQoKSwga0NGUHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KTsK
K30KKyNlbmRpZiAvLyBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDI4MjAyMykKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkK
QEAgLTk4Myw2ICs5ODMsMTEgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6bm90aWZ5UHJlZmVyZW5j
ZXNDaAogewogICAgIGZvciAoYXV0byBwcm9jZXNzIDogbV9wcm9jZXNzZXMpCiAgICAgICAgIHBy
b2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6Ok5vdGlmeVByZWZlcmVuY2VzQ2hhbmdl
ZChkb21haW4sIGtleSwgZW5jb2RlZFZhbHVlKSwgMCk7CisKKyNpZiBFTkFCTEUoR1BVX1BST0NF
U1MpCisgICAgaWYgKGF1dG8qIGdwdVByb2Nlc3MgPSBHUFVQcm9jZXNzUHJveHk6OnNpbmdsZXRv
bklmQ3JlYXRlZCgpKQorICAgICAgICBncHVQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9j
ZXNzOjpOb3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoZG9tYWluLCBrZXksIGVuY29kZWRWYWx1ZSks
IDApOworI2VuZGlmCiB9CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyODIwMjMpCisrKyBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTMzLDE3ICsxMTMzLDggQEAgc3RhdGljIHZvaWQgZGlzcGF0Y2hTaW11bGF0
ZWROb3RpZmljYXRpbwogICAgIH0KIH0KIAotc3RhdGljIHZvaWQgc2V0UHJlZmVyZW5jZVZhbHVl
KGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIGtleSwgaWQgdmFsdWUpCitzdGF0
aWMgdm9pZCBoYW5kbGVQcmVmZXJlbmNlQ2hhbmdlKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25z
dCBTdHJpbmcmIGtleSwgaWQgdmFsdWUpCiB7Ci0gICAgaWYgKGRvbWFpbi5pc0VtcHR5KCkpIHsK
LSAgICAgICAgQ0ZQcmVmZXJlbmNlc1NldFZhbHVlKGtleS5jcmVhdGVDRlN0cmluZygpLmdldCgp
LCAoX19icmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGtDRlByZWZlcmVuY2VzQW55QXBw
bGljYXRpb24sIGtDRlByZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQW55SG9z
dCk7Ci0jaWYgQVNTRVJUX0VOQUJMRUQKLSAgICAgICAgaWQgdmFsdWVBZnRlclNldHRpbmcgPSBb
W05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBvYmplY3RGb3JLZXk6a2V5XTsK
LSAgICAgICAgQVNTRVJUKHZhbHVlQWZ0ZXJTZXR0aW5nID09IHZhbHVlIHx8IFt2YWx1ZUFmdGVy
U2V0dGluZyBpc0VxdWFsOnZhbHVlXSB8fCBrZXkgPT0gIkFwcGxlTGFuZ3VhZ2VzIik7Ci0jZW5k
aWYKLSAgICB9IGVsc2UKLSAgICAgICAgQ0ZQcmVmZXJlbmNlc1NldFZhbHVlKGtleS5jcmVhdGVD
RlN0cmluZygpLmdldCgpLCAoX19icmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGRvbWFp
bi5jcmVhdGVDRlN0cmluZygpLmdldCgpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBrQ0ZQ
cmVmZXJlbmNlc0FueUhvc3QpOwotCiAgICAgaWYgKGtleSA9PSAiQXBwbGVMYW5ndWFnZXMiKSB7
CiAgICAgICAgIC8vIFdlIG5lZWQgdG8gc2V0IEFwcGxlTGFuZ3VhZ2VzIGZvciB0aGUgdm9sYXRp
bGUgZG9tYWluLCBzaW1pbGFybHkgdG8gd2hhdCB3ZSBkbyBpbiBYUENTZXJ2aWNlTWFpbi5tbS4K
ICAgICAgICAgTlNEaWN0aW9uYXJ5ICpleGlzdGluZ0FyZ3VtZW50cyA9IFtbTlNVc2VyRGVmYXVs
dHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50
RG9tYWluXTsKQEAgLTExNzMsMjYgKzExNjQsMjAgQEAgc3RhdGljIHZvaWQgc2V0UHJlZmVyZW5j
ZVZhbHVlKGNvbnN0IFN0cgogICAgIGlmIChDRkVxdWFsKGNmS2V5LmdldCgpLCBrQVhJbnRlcmZh
Y2VSZWR1Y2VNb3Rpb25LZXkpIHx8IENGRXF1YWwoY2ZLZXkuZ2V0KCksIGtBWEludGVyZmFjZUlu
Y3JlYXNlQ29udHJhc3RLZXkpIHx8IGtleSA9PSBpbnZlcnRDb2xvcnNQcmVmZXJlbmNlS2V5KCkp
CiAgICAgICAgIFtOU1dvcmtzcGFjZSBfaW52YWxpZGF0ZUFjY2Vzc2liaWxpdHlEaXNwbGF5VmFs
dWVzXTsKICNlbmRpZgorCisgICAgZGlzcGF0Y2hTaW11bGF0ZWROb3RpZmljYXRpb25zRm9yUHJl
ZmVyZW5jZUNoYW5nZShrZXkpOwogfQogCiB2b2lkIFdlYlByb2Nlc3M6Om5vdGlmeVByZWZlcmVu
Y2VzQ2hhbmdlZChjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0
IHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiYgZW5jb2RlZFZhbHVlKQogewotICAgIGlmICghZW5jb2Rl
ZFZhbHVlKSB7Ci0gICAgICAgIHNldFByZWZlcmVuY2VWYWx1ZShkb21haW4sIGtleSwgbmlsKTsK
LSAgICAgICAgZGlzcGF0Y2hTaW11bGF0ZWROb3RpZmljYXRpb25zRm9yUHJlZmVyZW5jZUNoYW5n
ZShrZXkpOwotICAgICAgICByZXR1cm47CisgICAgaWQgdmFsdWUgPSBuaWw7CisgICAgaWYgKGVu
Y29kZWRWYWx1ZSkgeworICAgICAgICB2YWx1ZSA9IGRlY29kZVByZWZlcmVuY2VWYWx1ZShlbmNv
ZGVkVmFsdWUpOworICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICAgICAgcmV0dXJuOwogICAg
IH0KLSAgICBhdXRvIGVuY29kZWREYXRhID0gYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdp
dGhCYXNlNjRFbmNvZGVkU3RyaW5nOiplbmNvZGVkVmFsdWUgb3B0aW9uczowXSk7Ci0gICAgaWYg
KCFlbmNvZGVkRGF0YSkKLSAgICAgICAgcmV0dXJuOwotICAgIE5TRXJyb3IgKmVyciA9IG5pbDsK
LSAgICBhdXRvIGNsYXNzZXMgPSBbTlNTZXQgc2V0V2l0aEFycmF5OkBbW05TU3RyaW5nIGNsYXNz
XSwgW05TTnVtYmVyIGNsYXNzXSwgW05TRGF0ZSBjbGFzc10sIFtOU0RpY3Rpb25hcnkgY2xhc3Nd
LCBbTlNBcnJheSBjbGFzc10sIFtOU0RhdGEgY2xhc3NdXV07Ci0gICAgaWQgb2JqZWN0ID0gW05T
S2V5ZWRVbmFyY2hpdmVyIHVuYXJjaGl2ZWRPYmplY3RPZkNsYXNzZXM6Y2xhc3NlcyBmcm9tRGF0
YTplbmNvZGVkRGF0YS5nZXQoKSBlcnJvcjomZXJyXTsKLSAgICBBU1NFUlQoIWVycik7Ci0gICAg
aWYgKGVycikKLSAgICAgICAgcmV0dXJuOwotICAgIHNldFByZWZlcmVuY2VWYWx1ZShkb21haW4s
IGtleSwgb2JqZWN0KTsKLSAgICBkaXNwYXRjaFNpbXVsYXRlZE5vdGlmaWNhdGlvbnNGb3JQcmVm
ZXJlbmNlQ2hhbmdlKGtleSk7CisgICAgc2V0UHJlZmVyZW5jZVZhbHVlKGRvbWFpbiwga2V5LCB2
YWx1ZSk7CisgICAgaGFuZGxlUHJlZmVyZW5jZUNoYW5nZShkb21haW4sIGtleSwgdmFsdWUpOwog
fQogCiB2b2lkIFdlYlByb2Nlc3M6OnVuYmxvY2tQcmVmZXJlbmNlU2VydmljZShWZWN0b3I8U2Fu
ZGJveEV4dGVuc2lvbjo6SGFuZGxlPiYmIGhhbmRsZUFycmF5KQo=
</data>
<flag name="review"
          id="461164"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438058</attachid>
            <date>2021-09-13 11:13:42 -0700</date>
            <delta_ts>2021-09-13 15:01:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230159-20210913111342.patch</filename>
            <type>text/plain</type>
            <size>10171</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODIyNzgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA5LTEwICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBTZW5kIHByZWZlcmVuY2UgdXBk
YXRlcyB0byB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMDE1OQorICAgICAgICA8cmRhcjovLzgxMDQ5MzY3PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgTGlrZSB0aGUgV2ViQ29u
dGVudCBwcm9jZXNzLCB0aGUgR1BVIHByb2Nlc3Mgc2hvdWxkIGFsc28gcmVjZWl2ZSBwcmVmZXJl
bmNlIHVwZGF0ZXMgc2luY2UgaXQgaXMgYmxvY2tpbmcgdGhlIHByZWZlcmVuY2Ugc2VydmljZSBp
biB0aGUgc2FuZGJveC4KKyAgICAgICAgVGhlIGNvbW1vbiBjb2RlIHRvIHNldCBhIHByZWZlcmVu
Y2UgaXMgYmVpbmcgbW92ZWQgdG8gdGhlIEF1eGlsaWFyeVByb2Nlc3MgYmFzZSBjbGFzcywgc28g
dGhhdCBhbHNvIHRoZSBHUFUgcHJvY2VzcyBjYW4gbWFrZSB1c2Ugb2YgaXQuIFdoZW4KKyAgICAg
ICAgdGhlIFVJIHByb2Nlc3MgaXMgc2VuZGluZyBwcmVmZXJlbmNlIHVwZGF0ZSBtZXNzYWdlcyB0
byBhbGwgdGhlIFdlYkNvbnRlbnQgcHJvY2Vzc2VzLCBpdCB3aWxsIG5vdyBhbHNvIHNlbmQgdG8g
dGhlIEdQVSBwcm9jZXNzLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmg6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvY29jb2EvR1BVUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpHUFVQ
cm9jZXNzOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAqIFNoYXJlZC9BdXhp
bGlhcnlQcm9jZXNzLmg6CisgICAgICAgICogU2hhcmVkL0NvY29hL0F1eGlsaWFyeVByb2Nlc3ND
b2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vzczo6ZGVjb2RlUHJlZmVy
ZW5jZVZhbHVlKToKKyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vzczo6c2V0UHJlZmVy
ZW5jZVZhbHVlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2Nv
YS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6Om5vdGlmeVByZWZlcmVuY2Vz
Q2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OmhhbmRsZVByZWZlcmVuY2VDaGFuZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAoV2Vi
S2l0OjpzZXRQcmVmZXJlbmNlVmFsdWUpOiBEZWxldGVkLgorCiAyMDIxLTA5LTEwICBQZXIgQXJu
ZSBWb2xsYW4gPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gVXNlIG1hY3Jv
IHRvIGNsb3NlIFhQQyBjb25uZWN0aW9uCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLmgJKHJldmlzaW9uIDI4MjAyMykKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1NSw2ICsxNTUsMTAgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIHNldFZvcmJpc0RlY29kZXJFbmFibGVkKGJvb2wpOwogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKKyAgICB2b2lkIG5vdGlmeVByZWZlcmVuY2VzQ2hh
bmdlZChjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IHN0ZDo6
b3B0aW9uYWw8U3RyaW5nPiYgZW5jb2RlZFZhbHVlKTsKKyNlbmRpZgorCiAgICAgLy8gQ29ubmVj
dGlvbnMgdG8gV2ViUHJvY2Vzc2VzLgogICAgIEhhc2hNYXA8V2ViQ29yZTo6UHJvY2Vzc0lkZW50
aWZpZXIsIFJlZjxHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzPj4gbV93ZWJQcm9jZXNzQ29ubmVj
dGlvbnM7CiAgICAgTW9ub3RvbmljVGltZSBtX2NyZWF0aW9uVGltZSB7IE1vbm90b25pY1RpbWU6
Om5vdygpIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNz
YWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vz
cy5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjgyMDIzKQorKysgU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL0dQVVByb2Nlc3MubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDEw
IEBAIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogI2lmIEVOQUJMRShW
T1JCSVMpCiAgICAgU2V0Vm9yYmlzRGVjb2RlckVuYWJsZWQoYm9vbCBlbmFibGVkKTsKICNlbmRp
ZgorCisjaWYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCisgICAgTm90aWZ5UHJlZmVyZW5j
ZXNDaGFuZ2VkKFN0cmluZyBkb21haW4sIFN0cmluZyBrZXksIHN0ZDo6b3B0aW9uYWw8U3RyaW5n
PiBlbmNvZGVkVmFsdWUpCisjZW5kaWYKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VT
UykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9jb2NvYS9HUFVQcm9jZXNzQ29jb2Eu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2NvY29hL0dQVVByb2Nl
c3NDb2NvYS5tbQkocmV2aXNpb24gMjgyMDIzKQorKysgU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2NvY29hL0dQVVByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjYsNiArNjYsMTkg
QEAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gR1BVUHJvY2Vzczo6YWRkaQogCiAjZW5kaWYgLy8g
VVNFKE9TX1NUQVRFKQogCisjaWYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCit2b2lkIEdQ
VVByb2Nlc3M6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChjb25zdCBTdHJpbmcmIGRvbWFpbiwg
Y29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiYgZW5jb2RlZFZh
bHVlKQoreworICAgIGlkIHZhbHVlID0gbmlsOworICAgIGlmIChlbmNvZGVkVmFsdWUpIHsKKyAg
ICAgICAgdmFsdWUgPSBkZWNvZGVQcmVmZXJlbmNlVmFsdWUoZW5jb2RlZFZhbHVlKTsKKyAgICAg
ICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgc2V0UHJlZmVy
ZW5jZVZhbHVlKGRvbWFpbiwga2V5LCB2YWx1ZSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRGT1JNKENP
Q09BKQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaAkocmV2aXNp
b24gMjgyMDIzKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMzQsNiArMTM0LDEyIEBAIHByb3RlY3RlZDoKIAogICAgIHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjxJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIsIElQ
Qzo6QXR0YWNobWVudD4+IGNyZWF0ZUlQQ0Nvbm5lY3Rpb25QYWlyKCk7CiAKK3Byb3RlY3RlZDoK
KyNpZiBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKKyAgICBzdGF0aWMgaWQgZGVjb2RlUHJl
ZmVyZW5jZVZhbHVlKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiYgZW5jb2RlZFZhbHVlKTsK
KyAgICBzdGF0aWMgdm9pZCBzZXRQcmVmZXJlbmNlVmFsdWUoY29uc3QgU3RyaW5nJiBkb21haW4s
IGNvbnN0IFN0cmluZyYga2V5LCBpZCB2YWx1ZSk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkT3ZlcnJpZGVRdWFyYW50aW5lKCkgeyByZXR1cm4gdHJ1ZTsgfQog
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BdXhpbGlhcnlQcm9jZXNzQ29jb2Eu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXV4aWxpYXJ5UHJv
Y2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyODIwMjMpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b2NvYS9BdXhpbGlhcnlQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzMCw0ICsx
MzAsMzYgQEAgdm9pZCBBdXhpbGlhcnlQcm9jZXNzOjpyZWdpc3RlcldpdGhTdGF0ZQogCiAjZW5k
aWYgLy8gVVNFKE9TX1NUQVRFKQogCisjaWYgRU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCitp
ZCBBdXhpbGlhcnlQcm9jZXNzOjpkZWNvZGVQcmVmZXJlbmNlVmFsdWUoY29uc3Qgc3RkOjpvcHRp
b25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpCit7CisgICAgaWYgKCFlbmNvZGVkVmFsdWUpCisg
ICAgICAgIHJldHVybiBuaWw7CisgICAgCisgICAgYXV0byBlbmNvZGVkRGF0YSA9IGFkb3B0TlMo
W1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQmFzZTY0RW5jb2RlZFN0cmluZzoqZW5jb2RlZFZhbHVl
IG9wdGlvbnM6MF0pOworICAgIGlmICghZW5jb2RlZERhdGEpCisgICAgICAgIHJldHVybiBuaWw7
CisgICAgTlNFcnJvciAqZXJyID0gbmlsOworICAgIGF1dG8gY2xhc3NlcyA9IFtOU1NldCBzZXRX
aXRoQXJyYXk6QFtbTlNTdHJpbmcgY2xhc3NdLCBbTlNOdW1iZXIgY2xhc3NdLCBbTlNEYXRlIGNs
YXNzXSwgW05TRGljdGlvbmFyeSBjbGFzc10sIFtOU0FycmF5IGNsYXNzXSwgW05TRGF0YSBjbGFz
c11dXTsKKyAgICBpZCB2YWx1ZSA9IFtOU0tleWVkVW5hcmNoaXZlciB1bmFyY2hpdmVkT2JqZWN0
T2ZDbGFzc2VzOmNsYXNzZXMgZnJvbURhdGE6ZW5jb2RlZERhdGEuZ2V0KCkgZXJyb3I6JmVycl07
CisgICAgQVNTRVJUKCFlcnIpOworICAgIGlmIChlcnIpCisgICAgICAgIHJldHVybiBuaWw7CisK
KyAgICByZXR1cm4gdmFsdWU7Cit9CisKK3ZvaWQgQXV4aWxpYXJ5UHJvY2Vzczo6c2V0UHJlZmVy
ZW5jZVZhbHVlKGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIGtleSwgaWQgdmFs
dWUpCit7CisgICAgaWYgKGRvbWFpbi5pc0VtcHR5KCkpIHsKKyAgICAgICAgQ0ZQcmVmZXJlbmNl
c1NldFZhbHVlKGtleS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCAoX19icmlkZ2UgQ0ZQcm9wZXJ0
eUxpc3RSZWYpdmFsdWUsIGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24sIGtDRlByZWZlcmVu
Y2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQW55SG9zdCk7CisjaWYgQVNTRVJUX0VOQUJM
RUQKKyAgICAgICAgaWQgdmFsdWVBZnRlclNldHRpbmcgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5k
YXJkVXNlckRlZmF1bHRzXSBvYmplY3RGb3JLZXk6a2V5XTsKKyAgICAgICAgQVNTRVJUKHZhbHVl
QWZ0ZXJTZXR0aW5nID09IHZhbHVlIHx8IFt2YWx1ZUFmdGVyU2V0dGluZyBpc0VxdWFsOnZhbHVl
XSB8fCBrZXkgPT0gIkFwcGxlTGFuZ3VhZ2VzIik7CisjZW5kaWYKKyAgICB9IGVsc2UKKyAgICAg
ICAgQ0ZQcmVmZXJlbmNlc1NldFZhbHVlKGtleS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCAoX19i
cmlkZ2UgQ0ZQcm9wZXJ0eUxpc3RSZWYpdmFsdWUsIGRvbWFpbi5jcmVhdGVDRlN0cmluZygpLmdl
dCgpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRVc2VyLCBrQ0ZQcmVmZXJlbmNlc0FueUhvc3QpOwor
fQorI2VuZGlmIC8vIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
b29sQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24gMjgyMDIzKQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkod29ya2luZyBjb3B5KQpA
QCAtOTYsNiArOTYsMTAgQEAKICNpbXBvcnQgPFdlYkNvcmUvU3lzdGVtQmF0dGVyeS5oPgogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisjaW1wb3J0ICJHUFVQcm9jZXNzTWVzc2Fn
ZXMuaCIKKyNlbmRpZgorCiAjaWYgSEFWRShNRURJQV9BQ0NFU1NJQklMSVRZX0ZSQU1FV09SSykK
ICNpbmNsdWRlIDxXZWJDb3JlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9NZWRpYUFjY2Vzc2liaWxpdHlTb2Z0TGluay5oPgpAQCAtOTgzLDYgKzk4
NywxMSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpub3RpZnlQcmVmZXJlbmNlc0NoCiB7CiAgICAg
Zm9yIChhdXRvIHByb2Nlc3MgOiBtX3Byb2Nlc3NlcykKICAgICAgICAgcHJvY2Vzcy0+c2VuZChN
ZXNzYWdlczo6V2ViUHJvY2Vzczo6Tm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKGRvbWFpbiwga2V5
LCBlbmNvZGVkVmFsdWUpLCAwKTsKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKyAgICBpZiAo
YXV0byogZ3B1UHJvY2VzcyA9IEdQVVByb2Nlc3NQcm94eTo6c2luZ2xldG9uSWZDcmVhdGVkKCkp
CisgICAgICAgIGdwdVByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OkdQVVByb2Nlc3M6Ok5vdGlmeVBy
ZWZlcmVuY2VzQ2hhbmdlZChkb21haW4sIGtleSwgZW5jb2RlZFZhbHVlKSwgMCk7CisjZW5kaWYK
IH0KICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJv
Y2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI4MjAyMykKKysrIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTEx
MzMsMTcgKzExMzMsOCBAQCBzdGF0aWMgdm9pZCBkaXNwYXRjaFNpbXVsYXRlZE5vdGlmaWNhdGlv
CiAgICAgfQogfQogCi1zdGF0aWMgdm9pZCBzZXRQcmVmZXJlbmNlVmFsdWUoY29uc3QgU3RyaW5n
JiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5LCBpZCB2YWx1ZSkKK3N0YXRpYyB2b2lkIGhhbmRs
ZVByZWZlcmVuY2VDaGFuZ2UoY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYga2V5
LCBpZCB2YWx1ZSkKIHsKLSAgICBpZiAoZG9tYWluLmlzRW1wdHkoKSkgewotICAgICAgICBDRlBy
ZWZlcmVuY2VzU2V0VmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIChfX2JyaWRnZSBD
RlByb3BlcnR5TGlzdFJlZil2YWx1ZSwga0NGUHJlZmVyZW5jZXNBbnlBcHBsaWNhdGlvbiwga0NG
UHJlZmVyZW5jZXNDdXJyZW50VXNlciwga0NGUHJlZmVyZW5jZXNBbnlIb3N0KTsKLSNpZiBBU1NF
UlRfRU5BQkxFRAotICAgICAgICBpZCB2YWx1ZUFmdGVyU2V0dGluZyA9IFtbTlNVc2VyRGVmYXVs
dHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9iamVjdEZvcktleTprZXldOwotICAgICAgICBBU1NF
UlQodmFsdWVBZnRlclNldHRpbmcgPT0gdmFsdWUgfHwgW3ZhbHVlQWZ0ZXJTZXR0aW5nIGlzRXF1
YWw6dmFsdWVdIHx8IGtleSA9PSAiQXBwbGVMYW5ndWFnZXMiKTsKLSNlbmRpZgotICAgIH0gZWxz
ZQotICAgICAgICBDRlByZWZlcmVuY2VzU2V0VmFsdWUoa2V5LmNyZWF0ZUNGU3RyaW5nKCkuZ2V0
KCksIChfX2JyaWRnZSBDRlByb3BlcnR5TGlzdFJlZil2YWx1ZSwgZG9tYWluLmNyZWF0ZUNGU3Ry
aW5nKCkuZ2V0KCksIGtDRlByZWZlcmVuY2VzQ3VycmVudFVzZXIsIGtDRlByZWZlcmVuY2VzQW55
SG9zdCk7Ci0KICAgICBpZiAoa2V5ID09ICJBcHBsZUxhbmd1YWdlcyIpIHsKICAgICAgICAgLy8g
V2UgbmVlZCB0byBzZXQgQXBwbGVMYW5ndWFnZXMgZm9yIHRoZSB2b2xhdGlsZSBkb21haW4sIHNp
bWlsYXJseSB0byB3aGF0IHdlIGRvIGluIFhQQ1NlcnZpY2VNYWluLm1tLgogICAgICAgICBOU0Rp
Y3Rpb25hcnkgKmV4aXN0aW5nQXJndW1lbnRzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVz
ZXJEZWZhdWx0c10gdm9sYXRpbGVEb21haW5Gb3JOYW1lOk5TQXJndW1lbnREb21haW5dOwpAQCAt
MTE3MywyNiArMTE2NCwyMCBAQCBzdGF0aWMgdm9pZCBzZXRQcmVmZXJlbmNlVmFsdWUoY29uc3Qg
U3RyCiAgICAgaWYgKENGRXF1YWwoY2ZLZXkuZ2V0KCksIGtBWEludGVyZmFjZVJlZHVjZU1vdGlv
bktleSkgfHwgQ0ZFcXVhbChjZktleS5nZXQoKSwga0FYSW50ZXJmYWNlSW5jcmVhc2VDb250cmFz
dEtleSkgfHwga2V5ID09IGludmVydENvbG9yc1ByZWZlcmVuY2VLZXkoKSkKICAgICAgICAgW05T
V29ya3NwYWNlIF9pbnZhbGlkYXRlQWNjZXNzaWJpbGl0eURpc3BsYXlWYWx1ZXNdOwogI2VuZGlm
CisKKyAgICBkaXNwYXRjaFNpbXVsYXRlZE5vdGlmaWNhdGlvbnNGb3JQcmVmZXJlbmNlQ2hhbmdl
KGtleSk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKGNv
bnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3Qgc3RkOjpvcHRpb25h
bDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpCiB7Ci0gICAgaWYgKCFlbmNvZGVkVmFsdWUpIHsKLSAg
ICAgICAgc2V0UHJlZmVyZW5jZVZhbHVlKGRvbWFpbiwga2V5LCBuaWwpOwotICAgICAgICBkaXNw
YXRjaFNpbXVsYXRlZE5vdGlmaWNhdGlvbnNGb3JQcmVmZXJlbmNlQ2hhbmdlKGtleSk7Ci0gICAg
ICAgIHJldHVybjsKKyAgICBpZCB2YWx1ZSA9IG5pbDsKKyAgICBpZiAoZW5jb2RlZFZhbHVlKSB7
CisgICAgICAgIHZhbHVlID0gZGVjb2RlUHJlZmVyZW5jZVZhbHVlKGVuY29kZWRWYWx1ZSk7Cisg
ICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGF1dG8g
ZW5jb2RlZERhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVuY29k
ZWRTdHJpbmc6KmVuY29kZWRWYWx1ZSBvcHRpb25zOjBdKTsKLSAgICBpZiAoIWVuY29kZWREYXRh
KQotICAgICAgICByZXR1cm47Ci0gICAgTlNFcnJvciAqZXJyID0gbmlsOwotICAgIGF1dG8gY2xh
c3NlcyA9IFtOU1NldCBzZXRXaXRoQXJyYXk6QFtbTlNTdHJpbmcgY2xhc3NdLCBbTlNOdW1iZXIg
Y2xhc3NdLCBbTlNEYXRlIGNsYXNzXSwgW05TRGljdGlvbmFyeSBjbGFzc10sIFtOU0FycmF5IGNs
YXNzXSwgW05TRGF0YSBjbGFzc11dXTsKLSAgICBpZCBvYmplY3QgPSBbTlNLZXllZFVuYXJjaGl2
ZXIgdW5hcmNoaXZlZE9iamVjdE9mQ2xhc3NlczpjbGFzc2VzIGZyb21EYXRhOmVuY29kZWREYXRh
LmdldCgpIGVycm9yOiZlcnJdOwotICAgIEFTU0VSVCghZXJyKTsKLSAgICBpZiAoZXJyKQotICAg
ICAgICByZXR1cm47Ci0gICAgc2V0UHJlZmVyZW5jZVZhbHVlKGRvbWFpbiwga2V5LCBvYmplY3Qp
OwotICAgIGRpc3BhdGNoU2ltdWxhdGVkTm90aWZpY2F0aW9uc0ZvclByZWZlcmVuY2VDaGFuZ2Uo
a2V5KTsKKyAgICBzZXRQcmVmZXJlbmNlVmFsdWUoZG9tYWluLCBrZXksIHZhbHVlKTsKKyAgICBo
YW5kbGVQcmVmZXJlbmNlQ2hhbmdlKGRvbWFpbiwga2V5LCB2YWx1ZSk7CiB9CiAKIHZvaWQgV2Vi
UHJvY2Vzczo6dW5ibG9ja1ByZWZlcmVuY2VTZXJ2aWNlKFZlY3RvcjxTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGU+JiYgaGFuZGxlQXJyYXkpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>