<?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>233365</bug_id>
          
          <creation_ts>2021-11-19 07:13:48 -0800</creation_ts>
          <short_desc>[Model] add audio support</short_desc>
          <delta_ts>2021-11-19 11:00:29 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1816853</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-19 07:13:48 -0800</bug_when>
    <thetext>[Model] add audio support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816854</commentid>
    <comment_count>1</comment_count>
      <attachid>444817</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-19 07:19:12 -0800</bug_when>
    <thetext>Created attachment 444817
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816855</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-19 07:19:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/85428982&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816882</commentid>
    <comment_count>3</comment_count>
      <attachid>444817</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-19 09:00:25 -0800</bug_when>
    <thetext>Comment on attachment 444817
Patch

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

&gt; Source/WebKit/WebProcess/Model/ARKitInlinePreviewModelPlayer.mm:160
&gt; +    auto* strongPage = m_page.get();

This should either be `RefPtr strongPage = m_page.get();`, or we shouldn&apos;t call it `strongPage`.

&gt; Source/WebKit/WebProcess/Model/ARKitInlinePreviewModelPlayer.mm:186
&gt; +    auto* strongPage = m_page.get();

(Ditto)

&gt; Source/WebKit/WebProcess/Model/ARKitInlinePreviewModelPlayer.mm:212
&gt; +    auto* strongPage = m_page.get();

(Ditto)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816895</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-19 09:42:53 -0800</bug_when>
    <thetext>Committed r286065 (244452@main): &lt;https://commits.webkit.org/244452@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816902</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-19 10:01:14 -0800</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #3)
&gt; Comment on attachment 444817 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=444817&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/Model/ARKitInlinePreviewModelPlayer.mm:160
&gt; &gt; +    auto* strongPage = m_page.get();
&gt; 
&gt; This should either be `RefPtr strongPage = m_page.get();`, or we shouldn&apos;t
&gt; call it `strongPage`.

I adopted `RefPtr` in the commit in all places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816927</commentid>
    <comment_count>6</comment_count>
      <attachid>444817</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-19 11:00:29 -0800</bug_when>
    <thetext>Comment on attachment 444817
Patch

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

&gt; Source/WTF/ChangeLog:9
&gt; +        Add a new compile-time flag for the new autio-related ARQL SPIs we are using.

&quot;autio&quot;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444817</attachid>
            <date>2021-11-19 07:19:12 -0800</date>
            <delta_ts>2021-11-19 09:00:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233365-20211119161910.patch</filename>
            <type>text/plain</type>
            <size>27223</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDhjOGNiM2U2MjI0MzYwZTMxOWIzMTJj
Njg1NWViMTI3YWQzOTI0MzMuLmU0ZmM2ZjFmYzJkZmIxOWQ3OTUzOGMwMGQ2ZjM2ODE4MmNjMWQ3
OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTEtMTkgIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBhZGQgYXVkaW8gc3VwcG9ydAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzY1CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS84NTQyODk4Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgY29tcGlsZS10aW1lIGZsYWcgZm9yIHRo
ZSBuZXcgYXV0aW8tcmVsYXRlZCBBUlFMIFNQSXMgd2UgYXJlIHVzaW5nLgorCisgICAgICAgICog
d3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMS0xMS0xOCAgQW50b2luZSBRdWludCAg
PGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIGFkZCBzdXBwb3J0IGZvciBw
YXVzaW5nIGFuZCByZXN1bWluZyBhbmltYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmNkZDQ2MGZjYWMx
ZmRhMGNmYWY2ZDdiMWVmNTFkOGI2MTVjMzZiZS4uZDVkMWY2MDNkYzYyOGQ4Nzk0OWVjZjNkMWM4
ZjJkNmNiOTg4YWZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTExLTE5ICBB
bnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFtNb2RlbF0gYWRk
IGF1ZGlvIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzM2NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODU0Mjg5ODI+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYWRkIHRocmVlIG5l
dyBwcm9taXNlLWJhc2VkIG1ldGhvZHMgdG8gdGhlIEhUTUxNb2RlbEVsZW1lbnQgSURMIHRvIGNv
bnRyb2wgdGhlIGF1ZGlvIHN0YXRlCisgICAgICAgIG9mIHRoZSBhbmltYXRpb24gYnVpbHQgaW50
byB0aGUgVVNEWiBhc3NldDogaGFzQXVkaW8oKSwgaXNNdXRlZCgpIGFuZCBzZXRJc011dGVkKCku
CisgICAgICAgIEFsbCB0aGVzZSBtZXRob2RzIGFyZSBwcm9taXNlLWJhc2VkLgorCisgICAgICAg
ICogTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudDo6aGFzQXVkaW8pOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1vZGVsRWxlbWVudDo6aXNNdXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTW9kZWxF
bGVtZW50OjpzZXRJc011dGVkKToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRN
TE1vZGVsRWxlbWVudC5oOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9k
ZWxFbGVtZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvTW9kZWxQbGF5
ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBs
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEdW1teU1vZGVsUGxheWVyOjpoYXNBdWRpbyk6
CisgICAgICAgIChXZWJDb3JlOjpEdW1teU1vZGVsUGxheWVyOjppc011dGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OkR1bW15TW9kZWxQbGF5ZXI6OnNldElzTXV0ZWQpOgorICAgICAgICAqIE1vZHVs
ZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmg6CisgICAgICAgICogTW9k
dWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlNjZW5lS2l0TW9kZWxQbGF5ZXI6Omhhc0F1ZGlvKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjZW5lS2l0TW9kZWxQbGF5ZXI6OmlzTXV0ZWQpOgorICAgICAgICAo
V2ViQ29yZTo6U2NlbmVLaXRNb2RlbFBsYXllcjo6c2V0SXNNdXRlZCk6CisKIDIwMjEtMTEtMTgg
IEZyw6lkw6lyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CiAKICAgICAgICAgTnVsbHB0ciBj
cmFzaCBpbiBTaW1wbGlmaWVkQmFja3dhcmRzVGV4dEl0ZXJhdG9yOjpyYW5nZSgpIHZpYSBwcmV2
aW91c1NlbnRlbmNlUG9zaXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGNhODQzYzMwOTE0NWZh
NDc1NTJmN2I3OTBjODdiNzdkYzljYjBjMzYuLjQ1MTBjYzFhMjQ3MDY5Zjc3MmRjYmQzZDEwYTQ4
NjFjNzYyOGNkMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTEx
LTE5ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFtNb2Rl
bF0gYWRkIGF1ZGlvIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMzM2NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODU0Mjg5ODI+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRoZSBu
ZXcgQVJRTCBTUElzIHdlIGFyZSB1c2luZyBmb3IgYXVkaW8gY29udHJvbC4KKworICAgICAgICAq
IHBhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaDoKKyAgICAgICAgKiBwYWwvc3BpL21hYy9T
eXN0ZW1QcmV2aWV3U1BJLmg6CisKIDIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRz
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgcGF1c2luZyBh
bmQgcmVzdW1pbmcgYW5pbWF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1OTQ4ZTE4YWYyOTljNjk3ZDQ3N2Ey
Y2IxNDEyM2Q5N2IwNjk4ZDI5Li5kMjZmYjI0NzRlNWYzMGI1OTBkMzEzYWRhNWQwMGVmNzJmN2Zl
OTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTExLTE5ICBBbnRvaW5lIFF1aW50
ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFtNb2RlbF0gYWRkIGF1ZGlvIHN1cHBv
cnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzM2
NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODU0Mjg5ODI+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3NlIG5ldyBXZWJQYWdlUHJveHkgbWVz
c2FnZXMgdG8gbGV0IHRoZSBXZWJQcm9jZXNzIG1lc3NhZ2UgdGhlIFVJUHJvY2VzcworICAgICAg
ICB0byBjYWxsIGludG8gQVNWSW5saW5lUHJldmlldyBtZXRob2RzIHRvIGdldCBhbmQgc2V0IHRo
ZSBtdXRlZCBzdGF0ZSBhbmQgZ2V0CisgICAgICAgIHdoZWh0ZXIgdGhlIG1vZGVsIGNvbnRhaW5z
IGF1ZGlvLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xs
ZXJDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6cHJldmlld0hhc0F1ZGlvU3VwcG9ydCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok1vZGVsRWxlbWVudENvbnRyb2xsZXI6Omhhc0F1ZGlvRm9yTW9kZWxF
bGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6aXNNdXRl
ZEZvck1vZGVsRWxlbWVudCk6CisgICAgICAgIChXZWJLaXQ6Ok1vZGVsRWxlbWVudENvbnRyb2xs
ZXI6OnNldElzTXV0ZWRGb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Nb2Rl
bEVsZW1lbnRDb250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bW9kZWxFbGVtZW50SGFzQXVkaW8p
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudElzTXV0ZWQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudFNldElzTXV0ZWQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvQVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL01vZGVs
L0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLm1tOgorICAgICAgICAoV2ViS2l0OjpBUktp
dElubGluZVByZXZpZXdNb2RlbFBsYXllcjo6aGFzQXVkaW8pOgorICAgICAgICAoV2ViS2l0OjpB
UktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcjo6aXNNdXRlZCk6CisgICAgICAgIChXZWJLaXQ6
OkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpzZXRJc011dGVkKToKKwogMjAyMS0xMS0x
OCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxd
IGFkZCBzdXBwb3J0IGZvciBwYXVzaW5nIGFuZCByZXN1bWluZyBhbmltYXRpb25zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggMGNhZjAyNDBjZjlkMTM2ZGE0N2I1MDFjMjRh
ODgyZDlhNDE2YjRlNC4uN2U4MDdiZWRhNTg4YTU0MGI0NzdlMTg1ZTQxZTM2N2Y3YTMzMzcwMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNzQ3LDQgKzc0Nyw1IEBACiAj
aWYgKEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA+PSAxMjA0MDApIHx8IChFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdf
SU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDE1MDQwMCkKICNkZWZp
bmUgRU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXX0NBTUVSQV9UUkFOU0ZPUk0gMQogI2RlZmlu
ZSBFTkFCTEVfQVJLSVRfSU5MSU5FX1BSRVZJRVdfQU5JTUFUSU9OU19DT05UUk9MIDEKKyNkZWZp
bmUgRU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXX0FVRElPX0NPTlRST0wgMQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVs
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1v
ZGVsRWxlbWVudC5jcHAKaW5kZXggZjRiMzUzNTExZTJkMDZmNTkxYmE0NWJiNjgzY2Q4NjhjMWJl
NWViYy4uNTI2ZWU4MDVlNmFiNmFmOGQyYmRlZDEwMDEwNzUyMDYxMTc5NGMxNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmNwcApAQCAtNDM3LDYgKzQzNyw1MyBAQCB2b2lkIEhUTUxNb2RlbEVsZW1lbnQ6OnBh
dXNlQW5pbWF0aW9uKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiAgICAgc2V0
QW5pbWF0aW9uSXNQbGF5aW5nKGZhbHNlLCBXVEZNb3ZlKHByb21pc2UpKTsKIH0KIAorLy8gTUFS
SzogLSBBdWRpbyBzdXBwb3J0LgorCit2b2lkIEhUTUxNb2RlbEVsZW1lbnQ6Omhhc0F1ZGlvKEhh
c0F1ZGlvUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgaWYgKCFtX21vZGVsUGxheWVyKSB7Cisg
ICAgICAgIHByb21pc2UucmVqZWN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBt
X21vZGVsUGxheWVyLT5pc1BsYXlpbmdBbmltYXRpb24oW3Byb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpXSAoc3RkOjpvcHRpb25hbDxib29sPiBoYXNBdWRpbykgbXV0YWJsZSB7CisgICAgICAgIGlm
ICghaGFzQXVkaW8pCisgICAgICAgICAgICBwcm9taXNlLnJlamVjdCgpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoKmhhc0F1ZGlvKTsKKyAgICB9KTsKK30KKwor
dm9pZCBIVE1MTW9kZWxFbGVtZW50Ojppc011dGVkKElzTXV0ZWRQcm9taXNlJiYgcHJvbWlzZSkK
K3sKKyAgICBpZiAoIW1fbW9kZWxQbGF5ZXIpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fbW9kZWxQbGF5ZXItPmlzUGxheWluZ0Fu
aW1hdGlvbihbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldIChzdGQ6Om9wdGlvbmFsPGJvb2w+
IGlzTXV0ZWQpIG11dGFibGUgeworICAgICAgICBpZiAoIWlzTXV0ZWQpCisgICAgICAgICAgICBw
cm9taXNlLnJlamVjdCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBwcm9taXNlLnJlc29s
dmUoKmlzTXV0ZWQpOworICAgIH0pOworfQorCit2b2lkIEhUTUxNb2RlbEVsZW1lbnQ6OnNldElz
TXV0ZWQoYm9vbCBpc011dGVkLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQor
eworICAgIGlmICghbV9tb2RlbFBsYXllcikgeworICAgICAgICBwcm9taXNlLnJlamVjdCgpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9tb2RlbFBsYXllci0+c2V0SXNNdXRlZChp
c011dGVkLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldIChib29sIHN1Y2Nlc3MpIG11dGFi
bGUgeworICAgICAgICBpZiAoc3VjY2VzcykKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSgp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICBwcm9taXNlLnJlamVjdCgpOworICAgIH0pOwor
fQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5oCmlu
ZGV4IGEyYmE3YzI2Mzg5NjU5MjE0MjVlMjNkNTMyOWViYjIwZTg2MjBmZDYuLmY0NWIwYzJiNGM4
ZjdjZjNlZDJhZTVhZGNhM2JkYWE0ODQxMjU0MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaApAQCAtODAsNiAr
ODAsMTIgQEAgcHVibGljOgogICAgIHZvaWQgcGxheUFuaW1hdGlvbihET01Qcm9taXNlRGVmZXJy
ZWQ8dm9pZD4mJik7CiAgICAgdm9pZCBwYXVzZUFuaW1hdGlvbihET01Qcm9taXNlRGVmZXJyZWQ8
dm9pZD4mJik7CiAKKyAgICB1c2luZyBIYXNBdWRpb1Byb21pc2UgPSBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMQm9vbGVhbj47CisgICAgdm9pZCBoYXNBdWRpbyhIYXNBdWRpb1Byb21pc2UmJik7Cisg
ICAgdXNpbmcgSXNNdXRlZFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj47
CisgICAgdm9pZCBpc011dGVkKElzTXV0ZWRQcm9taXNlJiYpOworICAgIHZvaWQgc2V0SXNNdXRl
ZChib29sLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7CisKICAgICBib29sIGlzRHJhZ2dh
YmxlSWdub3JpbmdBdHRyaWJ1dGVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogCiBw
cml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L0hUTUxNb2RlbEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVt
ZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCmluZGV4IGI2ZDVmZjQyY2M3ZGJhNWFlM2QwMWNkZTQ3
NWQ3M2I4ODUyZjA4MzMuLjE4Yjc3Mzg4ZTZmNzUxMjg2MDJiZDZiNzlhMDE4OTM5NjMyYWFmNGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9k
ZWxFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
SFRNTE1vZGVsRWxlbWVudC5pZGwKQEAgLTQwLDQgKzQwLDggQEAKICAgICBQcm9taXNlPGJvb2xl
YW4+IGlzUGxheWluZ0FuaW1hdGlvbigpOwogICAgIFByb21pc2U8dW5kZWZpbmVkPiBwbGF5QW5p
bWF0aW9uKCk7CiAgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHBhdXNlQW5pbWF0aW9uKCk7CisKKyAg
ICBQcm9taXNlPGJvb2xlYW4+IGhhc0F1ZGlvKCk7CisgICAgUHJvbWlzZTxib29sZWFuPiBpc011
dGVkKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHNldElzTXV0ZWQoYm9vbGVhbiBpc011dGVk
KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
TW9kZWxQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2Rl
bFBsYXllci5oCmluZGV4IGFkNzJjYjBkMDlmMTI2YzA2ZjFkN2RkMDE4YWRmNWI5Y2E5YzE3MjMu
LmFjOWM1NWQxY2Y2MzU3MGIwYTgwZWQ0MzM1Y2UyN2Y1ODkwOGE5ZjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oCkBAIC01Myw2
ICs1Myw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q2FtZXJhKEhUTUxNb2RlbEVs
ZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBpc1BsYXlpbmdBbmltYXRpb24oQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNl
dEFuaW1hdGlvbklzUGxheWluZyhib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wgc3Vj
Y2Vzcyk+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaGFzQXVkaW8oQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGlzTXV0ZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYm
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldElzTXV0ZWQoYm9vbCwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sIHN1Y2Nlc3MpPiYmKSA9IDA7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2Rl
bFBsYXllci5jcHAKaW5kZXggNDM2NzdlY2MzOTAwMTAyYjIxNDNjNjJkZDNmZTkzOTYxNTg5N2Y2
OC4uYjk3NTdjYjEzOTcyNzcyY2JkMjBiN2FhZTA0OGM2NTdkNTk0NGVmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9E
dW1teU1vZGVsUGxheWVyLmNwcApAQCAtODYsNCArODYsMTYgQEAgdm9pZCBEdW1teU1vZGVsUGxh
eWVyOjpzZXRBbmltYXRpb25Jc1BsYXlpbmcoYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sIHMKIHsKIH0KIAordm9pZCBEdW1teU1vZGVsUGxheWVyOjpoYXNBdWRpbyhDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpCit7Cit9CisKK3ZvaWQgRHVt
bXlNb2RlbFBsYXllcjo6aXNNdXRlZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9u
YWw8Ym9vbD4mJik+JiYpCit7Cit9CisKK3ZvaWQgRHVtbXlNb2RlbFBsYXllcjo6c2V0SXNNdXRl
ZChib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wgc3VjY2Vzcyk+JiYpCit7Cit9CisK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1t
eS9EdW1teU1vZGVsUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1l
bnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5oCmluZGV4IGNlZmE4NzFkM2MwMTUxN2M1MTkzZTIw
YmYxMDI5MmM3MWE4MTJhNDkuLjE2MTRmNjNiNTdhNDVmY2JhNDkyZGViMjU0OGI5ZjQ5OGM5NjI3
MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1t
eS9EdW1teU1vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuaApAQCAtNTEsNiArNTEsOSBAQCBwcml2YXRl
OgogICAgIHZvaWQgc2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBpc1BsYXlpbmdBbmltYXRpb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFs
PGJvb2w+JiYpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldEFuaW1hdGlvbklzUGxheWluZyhi
b29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wgc3VjY2Vzcyk+JiYpIG92ZXJyaWRlOwor
ICAgIHZvaWQgaGFzQXVkaW8oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJv
b2w+JiYpPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIGlzTXV0ZWQoQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldElz
TXV0ZWQoYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIHN1Y2Nlc3MpPiYmKSBvdmVy
cmlkZTsKIAogICAgIFdlYWtQdHI8TW9kZWxQbGF5ZXJDbGllbnQ+IG1fY2xpZW50OwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9T
Y2VuZUtpdE1vZGVsUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1l
bnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5oCmluZGV4IDM1MWUxMWM1Y2ZiYWM0NzMz
MzIyODI5OTljMjAxYzZmZmVmYjgxN2IuLjE1ZGI5NjAzMTIyYTg2YzBhNTVjODg5MDFiYjdhNGUx
NTVkNzRiNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVu
dC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaApAQCAtNjUs
NiArNjUsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRD
YW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCBpc1BsYXlpbmdBbmltYXRpb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6
Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldEFuaW1hdGlvbklz
UGxheWluZyhib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wgc3VjY2Vzcyk+JiYpIG92
ZXJyaWRlOworICAgIHZvaWQgaGFzQXVkaW8oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9w
dGlvbmFsPGJvb2w+JiYpPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIGlzTXV0ZWQoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSBvdmVycmlkZTsKKyAgICB2
b2lkIHNldElzTXV0ZWQoYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIHN1Y2Nlc3Mp
PiYmKSBvdmVycmlkZTsKIAogICAgIC8vIFNjZW5lS2l0TW9kZWxMb2FkZXJDbGllbnQgb3ZlcnJp
ZGVzLgogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFNjZW5lS2l0TW9kZWxMb2Fk
ZXImLCBSZWY8U2NlbmVLaXRNb2RlbD4pIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVL
aXRNb2RlbFBsYXllci5tbQppbmRleCA0YTNhN2Q0Y2YyMTViZTk3OGI3ZWNiNzMzYmVhMjA2MjBk
Nzc3ZmIyLi42YTYxMTJhNWUwMTgwMmNmYTFmMjliMzM5YjFmN2ZhNWQwNDg3MTNmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVL
aXRNb2RlbFBsYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1l
bnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5tbQpAQCAtMTA0LDYgKzEwNCwxOCBAQCB2
b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6OnNldEFuaW1hdGlvbklzUGxheWluZyhib29sLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGJvbwogewogfQogCit2b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6
Omhhc0F1ZGlvKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxib29sPiYmKT4m
JikKK3sKK30KKwordm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjppc011dGVkKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxib29sPiYmKT4mJikKK3sKK30KKwordm9pZCBTY2Vu
ZUtpdE1vZGVsUGxheWVyOjpzZXRJc011dGVkKGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCBzdWNjZXNzKT4mJikKK3sKK30KKwogLy8gTUFSSzogLSBTY2VuZUtpdE1vZGVsTG9hZGVy
Q2xpZW50IG92ZXJyaWRlcy4KIAogdm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjpkaWRGaW5pc2hM
b2FkaW5nKFNjZW5lS2l0TW9kZWxMb2FkZXImIGxvYWRlciwgUmVmPFNjZW5lS2l0TW9kZWw+IG1v
ZGVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3RlbVBy
ZXZpZXdTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9TeXN0ZW1QcmV2aWV3
U1BJLmgKaW5kZXggY2U1MTU5Mjk3MDRiMWExZmYwNmNkZTFhNjQxMGYyZDE0M2QwZmRiMi4uMjNl
M2VmY2FlZjU5N2JjZmE1MTRmY2E1MzcyNWY1ZWI3Mjc2M2JmMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oCkBAIC0xMTIsNiArMTEy
LDkgQEAgdHlwZWRlZiB2b2lkICheQVNWQ2FtZXJhVHJhbnNmb3JtUmVwbHlCbG9jaykgKHNpbWRf
ZmxvYXQzIGNhbWVyYVRyYW5zZm9ybSwgTlNFcnIKIHR5cGVkZWYgdm9pZCAoXkFTVlNldElzUGxh
eWluZ1JlcGx5QmxvY2spIChCT09MIGlzUGxheWluZywgTlNFcnJvciAqIF9OdWxsYWJsZSBlcnJv
cik7CiAtICh2b2lkKXNldElzUGxheWluZzooQk9PTClpc1BsYXlpbmcgcmVwbHk6KEFTVlNldElz
UGxheWluZ1JlcGx5QmxvY2spcmVwbHk7CiAKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25s
eSkgQk9PTCBoYXNBdWRpbzsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUpIEJPT0wg
aXNNdXRlZDsKKwogQGVuZAogCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3U1BJLmggYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQSS5oCmluZGV4IDY1MTAzMWYw
NmM1Y2Y0NTNiNDc0YmVlOTU2OTU4MjUxODMzMzE2YmQuLmQ5NWVhN2VlYWM0N2YzNTg1MWYzYjgw
ZWI2NDFlMDg4Y2E4OGU1MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L21hYy9TeXN0ZW1QcmV2aWV3U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
bWFjL1N5c3RlbVByZXZpZXdTUEkuaApAQCAtNjIsNiArNjIsOSBAQCB0eXBlZGVmIHZvaWQgKF5B
U1ZDYW1lcmFUcmFuc2Zvcm1SZXBseUJsb2NrKSAoc2ltZF9mbG9hdDMgY2FtZXJhVHJhbnNmb3Jt
LCBOU0VycgogdHlwZWRlZiB2b2lkICheQVNWU2V0SXNQbGF5aW5nUmVwbHlCbG9jaykgKEJPT0wg
aXNQbGF5aW5nLCBOU0Vycm9yICogX051bGxhYmxlIGVycm9yKTsKIC0gKHZvaWQpc2V0SXNQbGF5
aW5nOihCT09MKWlzUGxheWluZyByZXBseTooQVNWU2V0SXNQbGF5aW5nUmVwbHlCbG9jaylyZXBs
eTsKIAorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIGhhc0F1ZGlvOworQHBy
b3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSkgQk9PTCBpc011dGVkOworCiBAZW5kCiAKIE5T
X0FTU1VNRV9OT05OVUxMX0VORApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1tCmluZGV4IDEzMGM0OTYz
NTAxODM0MzE4NTBmNmZlYTkyMGFjM2E0OWU4MTc3ZjkuLjEyM2EyZWMyY2MxYThlOWMwNjQyNWJk
M2RhZTA2Y2E5MGVlNTVmOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW0KQEAgLTM1OSw2ICsz
NTksODIgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRBbmltYXRpb25Jc1BsYXlp
bmdGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWUKICNlbmRpZgogfQogCitzdGF0aWMgYm9v
bCBwcmV2aWV3SGFzQXVkaW9TdXBwb3J0KEFTVklubGluZVByZXZpZXcgKnByZXZpZXcpCit7Cisj
aWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0FVRElPX0NPTlRST0wpCisgICAgcmV0dXJu
IFtwcmV2aWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoaGFzQXVkaW8pXTsKKyNlbHNl
CisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK3ZvaWQgTW9kZWxFbGVtZW50Q29udHJv
bGxlcjo6aGFzQXVkaW9Gb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRp
ZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yPik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byogcHJldmlldyA9
IHByZXZpZXdGb3JNb2RlbElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKTsKKyAgICBpZiAoIXBy
ZXZpZXdIYXNBdWRpb1N1cHBvcnQocHJldmlldykpIHsKKyAgICAgICAgY2FsbE9uTWFpblJ1bkxv
b3AoW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlciksIGVycm9yID0gV2ViQ29yZTo6UmVzb3VyY2VFcnJvciB7
IFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OlR5cGU6OkdlbmVyYWwgfV0gKCkgbXV0YWJsZSB7Cisg
ICAgICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRs
ZXIobWFrZVVuZXhwZWN0ZWQoZXJyb3IpKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfQVVESU9fQ09OVFJPTCkK
KyAgICBhdXRvIGhhc0F1ZGlvID0gW3ByZXZpZXcgaGFzQXVkaW9dOworICAgIGNhbGxPbk1haW5S
dW5Mb29wKFtoYXNBdWRpbywgd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgY29tcGxldGlv
bkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CisgICAg
ICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGhhc0F1ZGlv
KTsKKyAgICB9KTsKKyNlbHNlCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisjZW5kaWYKK30K
Kwordm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjppc011dGVkRm9yTW9kZWxFbGVtZW50KE1v
ZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhw
ZWN0ZWQ8Ym9vbCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQoreworICAgIGF1dG8qIHByZXZpZXcgPSBwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKG1vZGVs
SWRlbnRpZmllcik7CisgICAgaWYgKCFwcmV2aWV3SGFzQXVkaW9TdXBwb3J0KHByZXZpZXcpKSB7
CisgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9
LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBlcnJvciA9
IFdlYkNvcmU6OlJlc291cmNlRXJyb3IgeyBXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpUeXBlOjpH
ZW5lcmFsIH1dICgpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAg
ICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1ha2VVbmV4cGVjdGVkKGVycm9yKSk7CisgICAg
ICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisjaWYgRU5BQkxFKEFSS0lUX0lOTElO
RV9QUkVWSUVXX0FVRElPX0NPTlRST0wpCisgICAgYXV0byBpc011dGVkID0gW3ByZXZpZXcgaXNN
dXRlZF07CisgICAgY2FsbE9uTWFpblJ1bkxvb3AoW2lzTXV0ZWQsIHdlYWtUaGlzID0gV2Vha1B0
ciB7ICp0aGlzIH0sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildICgpIG11dGFibGUgeworICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihpc011dGVkKTsKKyAgICB9KTsKKyNlbHNlCisgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisjZW5kaWYKK30KKwordm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRJ
c011dGVkRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIGJv
b2wgaXNNdXRlZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKK3sKKyAgICBhdXRvKiBwcmV2aWV3ID0gcHJldmlld0Zvck1vZGVsSWRlbnRpZmllciht
b2RlbElkZW50aWZpZXIpOworICAgIGlmICghcHJldmlld0hhc0F1ZGlvU3VwcG9ydChwcmV2aWV3
KSkgeworICAgICAgICBjYWxsT25NYWluUnVuTG9vcChbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRo
aXMgfSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkg
bXV0YWJsZSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIoZmFsc2UpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19BVURJT19DT05UUk9MKQorICAg
IHByZXZpZXcuaXNNdXRlZCA9IGlzTXV0ZWQ7CisgICAgY2FsbE9uTWFpblJ1bkxvb3AoW3dlYWtU
aGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgeworICAgICAgICBpZiAod2Vha1RoaXMpCisgICAg
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih0cnVlKTsKKyAgICB9KTsKKyAgICByZXR1cm47Cisj
ZWxzZQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2VuZGlmCit9CisKICNlbmRpZgogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmgK
aW5kZXggMTY0ZDY5YTIyNDI2NjAwNzE1NGNhMDc4N2QwNjhhZmQ2NzE0OTk3NS4uYmIyMWE2ZjQ0
MDhmODczNWUxZDA5YmZmYjA2YjczMjEwMDMyNzNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaApAQCAtNTYsNiArNTYsOSBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyLCBX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiYmKTsKICAgICB2b2lkIGlzUGxheWluZ0FuaW1hdGlvbkZvck1vZGVsRWxlbWVudChNb2Rl
bElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8Ym9vbCwgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvcj4pPiYmKTsKICAgICB2b2lkIHNldEFuaW1hdGlvbklzUGxheWluZ0Zv
ck1vZGVsRWxlbWVudChNb2RlbElkZW50aWZpZXIsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm9vbCk+JiYpOworICAgIHZvaWQgaGFzQXVkaW9Gb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVu
dGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OlJl
c291cmNlRXJyb3I+KT4mJik7CisgICAgdm9pZCBpc011dGVkRm9yTW9kZWxFbGVtZW50KE1vZGVs
SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yPik+JiYpOworICAgIHZvaWQgc2V0SXNNdXRlZEZvck1vZGVsRWxlbWVu
dChNb2RlbElkZW50aWZpZXIsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYp
OwogI2VuZGlmCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKICAgICB2b2lk
IHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKE1vZGVsSWRlbnRpZmllcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBhMDkxZGYxOTRlNzBhN2YwZGUyYWFh
YjMyNWM2NWE4MTc0NDkzOGVlLi5iODVhMWM5NDc5YWQ0NzQ1NDE4NzI1M2YwODNlOTYyMmIwZWFh
ODRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTEwODUy
LDYgKzEwODUyLDIxIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojptb2RlbEVsZW1lbnRTZXRBbmltYXRp
b25Jc1BsYXlpbmcoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpCiB7CiAgICAgbW9kZWxFbGVt
ZW50Q29udHJvbGxlcigpLT5zZXRBbmltYXRpb25Jc1BsYXlpbmdGb3JNb2RlbEVsZW1lbnQobW9k
ZWxJZGVudGlmaWVyLCBpc1BsYXlpbmcsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0K
Kwordm9pZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudEhhc0F1ZGlvKE1vZGVsSWRlbnRpZmll
ciBtb2RlbElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8Ym9vbCwg
UmVzb3VyY2VFcnJvcj4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIG1vZGVsRWxlbWVu
dENvbnRyb2xsZXIoKS0+aGFzQXVkaW9Gb3JNb2RlbEVsZW1lbnQobW9kZWxJZGVudGlmaWVyLCBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5Ojptb2Rl
bEVsZW1lbnRJc011dGVkKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8Ym9vbCwgUmVzb3VyY2VFcnJvcj4pPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQoreworICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+aXNNdXRlZEZvck1v
ZGVsRWxlbWVudChtb2RlbElkZW50aWZpZXIsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
K30KKwordm9pZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudFNldElzTXV0ZWQoTW9kZWxJZGVu
dGlmaWVyIG1vZGVsSWRlbnRpZmllciwgYm9vbCBpc011dGVkLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIG1vZGVsRWxlbWVudENvbnRy
b2xsZXIoKS0+c2V0SXNNdXRlZEZvck1vZGVsRWxlbWVudChtb2RlbElkZW50aWZpZXIsIGlzTXV0
ZWQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKK30KICNlbmRpZgogCiAjaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKaW5kZXggNGU4N2M1MjkxZjBhNGU3MWYwMWIwZmUyODUzMDg2NGM2NDNlMzVmZC4uMzA0
ZmFhNGQzNDcxODI1ZDFlZGE2YTNmNzU2NmMxMjJkOTVmYjA1NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTU5Miw2ICs1OTIsOSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBtb2RlbEVsZW1lbnRTZXRDYW1lcmEoTW9kZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1MTW9k
ZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICB2
b2lkIG1vZGVsRWxlbWVudElzUGxheWluZ0FuaW1hdGlvbihNb2RlbElkZW50aWZpZXIsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8Ym9vbCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4p
PiYmKTsKICAgICB2b2lkIG1vZGVsRWxlbWVudFNldEFuaW1hdGlvbklzUGxheWluZyhNb2RlbElk
ZW50aWZpZXIsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOworICAgIHZv
aWQgbW9kZWxFbGVtZW50SGFzQXVkaW8oTW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJik7CisgICAg
dm9pZCBtb2RlbEVsZW1lbnRJc011dGVkKE1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChFeHBlY3RlZDxib29sLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOworICAg
IHZvaWQgbW9kZWxFbGVtZW50U2V0SXNNdXRlZChNb2RlbElkZW50aWZpZXIsIGJvb2wsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogI2VuZGlmCiAjaWYgRU5BQkxFKEFSS0lUX0lO
TElORV9QUkVWSUVXX0lPUykKICAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKE1v
ZGVsSWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4KaW5kZXggMWQzOTNkMzU2NDFjMTMyYjkzN2E0YmJkN2I1NjE1OGFmNDIz
N2M2NS4uNDA1MGI3M2IwYmY4OTdhNGZmZGMyM2EzMTFkYmRlZTQ1YTJiOTQzYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTk5
LDYgKzU5OSw5IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgTW9kZWxFbGVtZW50
U2V0Q2FtZXJhKHN0cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIs
IHN0cnVjdCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSkgLT4gKGJvb2wg
c3VjY2VzcykgQXN5bmMKICAgICBNb2RlbEVsZW1lbnRJc1BsYXlpbmdBbmltYXRpb24oc3RydWN0
IFdlYktpdDo6TW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllcikgLT4gKEV4cGVjdGVkPGJv
b2wsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+IHJlc3VsdCkgQXN5bmMKICAgICBNb2RlbEVsZW1l
bnRTZXRBbmltYXRpb25Jc1BsYXlpbmcoc3RydWN0IFdlYktpdDo6TW9kZWxJZGVudGlmaWVyIG1v
ZGVsSWRlbnRpZmllciwgYm9vbCBpc1BsYXlpbmcpIC0+IChib29sIHN1Y2Nlc3MpIEFzeW5jCisg
ICAgTW9kZWxFbGVtZW50SGFzQXVkaW8oc3RydWN0IFdlYktpdDo6TW9kZWxJZGVudGlmaWVyIG1v
ZGVsSWRlbnRpZmllcikgLT4gKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+
IHJlc3VsdCkgQXN5bmMKKyAgICBNb2RlbEVsZW1lbnRJc011dGVkKHN0cnVjdCBXZWJLaXQ6Ok1v
ZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpIC0+IChFeHBlY3RlZDxib29sLCBXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yPiByZXN1bHQpIEFzeW5jCisgICAgTW9kZWxFbGVtZW50U2V0SXNNdXRl
ZChzdHJ1Y3QgV2ViS2l0OjpNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBib29sIGlz
TXV0ZWQpIC0+IChib29sIHN1Y2Nlc3MpIEFzeW5jCiAjZW5kaWYKIAogICAgIHJlcXVlc3RQZXJt
aXNzaW9uKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBzdHJ1Y3QgV2ViQ29y
ZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikgLT4gKGVudW06dWludDhfdCBXZWJD
b3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpIEFzeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXll
ci5oCmluZGV4IGI4ZTU1YjIzNDU5YzUwMWZkN2Y4YTlhYzNmZDkyODUyZGZiNGY2NzcuLmQxM2I2
MjYyY2M1MGQ0MjhiOGM5ZTUzMGQyMTU1OWE4ZTBmNTMyNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllci5oCkBAIC01Nyw2ICs1Nyw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRDYW1lcmEo
V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sIHN1Y2Nlc3MpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGlzUGxheWluZ0FuaW1hdGlvbihD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpIG92ZXJyaWRl
OwogICAgIHZvaWQgc2V0QW5pbWF0aW9uSXNQbGF5aW5nKGJvb2wsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBoYXNBdWRpbyhDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpIG92ZXJyaWRlOwor
ICAgIHZvaWQgaXNNdXRlZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9v
bD4mJik+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0SXNNdXRlZChib29sLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGJvb2wgc3VjY2Vzcyk+JiYpIG92ZXJyaWRlOwogCiAgICAgV2Vha1B0cjxX
ZWJQYWdlPiBtX3BhZ2U7CiAgICAgV2Vha1B0cjxXZWJDb3JlOjpNb2RlbFBsYXllckNsaWVudD4g
bV9jbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIubW0KaW5kZXggOTcwMzdiYWVmOGE1
OTgwZTVhZDVkZjIyNjBkODY5NDMwNTc0YjZiYy4uYjVkYjczZTFhZDU3MjFhNDgwNGNlNTQ3OTc2
ZDdmZTRjMThhNzdhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVs
L0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5tbQpAQCAtMTQ5LDYg
KzE0OSw3OSBAQCB2b2lkIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpzZXRBbmltYXRp
b25Jc1BsYXlpbmcoYm9vbCBpc1BsYXlpbmcsIENvbXBsZQogICAgIHN0cm9uZ1BhZ2UtPnNlbmRX
aXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpNb2RlbEVsZW1lbnRTZXRBbmlt
YXRpb25Jc1BsYXlpbmcoKm1vZGVsSWRlbnRpZmllciwgaXNQbGF5aW5nKSwgV1RGTW92ZShyZW1v
dGVDb21wbGV0aW9uSGFuZGxlcikpOwogfQogCit2b2lkIEFSS2l0SW5saW5lUHJldmlld01vZGVs
UGxheWVyOjpoYXNBdWRpbyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9v
bD4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byBtb2RlbElkZW50aWZpZXIg
PSB0aGlzLT5tb2RlbElkZW50aWZpZXIoKTsKKyAgICBpZiAoIW1vZGVsSWRlbnRpZmllcikgewor
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzdGQ6Om51bGxvcHQpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgYXV0byogc3Ryb25nUGFnZSA9IG1fcGFnZS5nZXQoKTsKKyAgICBpZiAo
IXN0cm9uZ1BhZ2UpIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc3RkOjpudWxsb3B0KTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhw
ZWN0ZWQ8Ym9vbCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiByZW1vdGVDb21wbGV0aW9uSGFu
ZGxlciA9IFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAo
RXhwZWN0ZWQ8Ym9vbCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBtdXRhYmxlIHsK
KyAgICAgICAgaWYgKCFyZXN1bHQpIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0
ZDo6bnVsbG9wdCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBj
b21wbGV0aW9uSGFuZGxlcigqcmVzdWx0KTsKKyAgICB9OworCisgICAgc3Ryb25nUGFnZS0+c2Vu
ZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1vZGVsRWxlbWVudEhhc0F1
ZGlvKCptb2RlbElkZW50aWZpZXIpLCBXVEZNb3ZlKHJlbW90ZUNvbXBsZXRpb25IYW5kbGVyKSk7
Cit9CisKK3ZvaWQgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmlzTXV0ZWQoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQoreworICAgIGF1dG8gbW9kZWxJZGVudGlmaWVyID0gdGhpcy0+bW9kZWxJZGVudGlmaWVy
KCk7CisgICAgaWYgKCFtb2RlbElkZW50aWZpZXIpIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRs
ZXIoc3RkOjpudWxsb3B0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIHN0
cm9uZ1BhZ2UgPSBtX3BhZ2UuZ2V0KCk7CisgICAgaWYgKCFzdHJvbmdQYWdlKSB7CisgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKHN0ZDo6bnVsbG9wdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OlJl
c291cmNlRXJyb3I+KT4gcmVtb3RlQ29tcGxldGlvbkhhbmRsZXIgPSBbY29tcGxldGlvbkhhbmRs
ZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6
OlJlc291cmNlRXJyb3I+IHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAgIGlmICghcmVzdWx0KSB7
CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzdGQ6Om51bGxvcHQpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKnJlc3Vs
dCk7CisgICAgfTsKKworICAgIHN0cm9uZ1BhZ2UtPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjpNb2RlbEVsZW1lbnRJc011dGVkKCptb2RlbElkZW50aWZpZXIpLCBX
VEZNb3ZlKHJlbW90ZUNvbXBsZXRpb25IYW5kbGVyKSk7Cit9CisKK3ZvaWQgQVJLaXRJbmxpbmVQ
cmV2aWV3TW9kZWxQbGF5ZXI6OnNldElzTXV0ZWQoYm9vbCBpc011dGVkLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wgc3VjY2Vzcyk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0
byBtb2RlbElkZW50aWZpZXIgPSB0aGlzLT5tb2RlbElkZW50aWZpZXIoKTsKKyAgICBpZiAoIW1v
ZGVsSWRlbnRpZmllcikgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBzdHJvbmdQYWdlID0gbV9wYWdlLmdldCgp
OworICAgIGlmICghc3Ryb25nUGFnZSkgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxz
ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGJvb2wpPiByZW1vdGVDb21wbGV0aW9uSGFuZGxlciA9IFtjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoYm9vbCBzdWNjZXNzKSBtdXRhYmxlIHsKKyAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoc3VjY2Vzcyk7CisgICAgfTsKKworICAgIHN0cm9uZ1BhZ2Ut
PnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpNb2RlbEVsZW1lbnRT
ZXRJc011dGVkKCptb2RlbElkZW50aWZpZXIsIGlzTXV0ZWQpLCBXVEZNb3ZlKHJlbW90ZUNvbXBs
ZXRpb25IYW5kbGVyKSk7Cit9CisKIH0KIAogI2VuZGlmCg==
</data>
<flag name="review"
          id="469929"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>