From a2124fea2e99ac9999f1fc55186b71f1e5bbb781 Mon Sep 17 00:00:00 2001
From: bqv <bqv@fron.io>
Date: Sat, 23 Apr 2022 23:38:12 +0100
Subject: [PATCH] support clang

---
 .depend    | 1104 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 .gitignore |    1 -
 makefile   |   18 +-
 3 files changed, 1117 insertions(+), 6 deletions(-)

diff --git a/.depend b/.depend
index e69de29..da8ff98 100644
--- a/.depend
+++ b/.depend
@@ -0,0 +1,1104 @@
+
+.plugin.o: plugin.cpp plugin.hh config.hh account.hh omemo.hh \
+ /usr/include/signal/signal_protocol.h /usr/include/signal/ratchet.h \
+ /usr/include/signal/signal_protocol_types.h /usr/include/signal/curve.h \
+ /usr/include/signal/session_record.h \
+ /usr/include/signal/session_pre_key.h \
+ /usr/include/signal/sender_key_record.h signal.hh \
+ deps/fmt/include/fmt/core.h /usr/include/signal/key_helper.h \
+ /usr/include/signal/session_builder.h \
+ /usr/include/signal/session_cipher.h \
+ /usr/include/signal/session_pre_key.h /usr/include/signal/protocol.h \
+ /usr/include/signal/curve.h connection.hh command.hh input.hh buffer.hh \
+ completion.hh
+plugin.hh:
+config.hh:
+account.hh:
+omemo.hh:
+/usr/include/signal/signal_protocol.h:
+/usr/include/signal/ratchet.h:
+/usr/include/signal/signal_protocol_types.h:
+/usr/include/signal/curve.h:
+/usr/include/signal/session_record.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/sender_key_record.h:
+signal.hh:
+deps/fmt/include/fmt/core.h:
+/usr/include/signal/key_helper.h:
+/usr/include/signal/session_builder.h:
+/usr/include/signal/session_cipher.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/protocol.h:
+/usr/include/signal/curve.h:
+connection.hh:
+command.hh:
+input.hh:
+buffer.hh:
+completion.hh:
+.account.o: account.cpp /usr/include/libxml2/libxml/xmlwriter.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h \
+ /usr/include/libxml2/libxml/parser.h /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/SAX2.h /usr/include/libxml2/libxml/xlink.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h plugin.hh xmpp/stanza.hh config.hh \
+ input.hh omemo.hh /usr/include/signal/signal_protocol.h \
+ /usr/include/signal/ratchet.h \
+ /usr/include/signal/signal_protocol_types.h /usr/include/signal/curve.h \
+ /usr/include/signal/session_record.h \
+ /usr/include/signal/session_pre_key.h \
+ /usr/include/signal/sender_key_record.h signal.hh \
+ deps/fmt/include/fmt/core.h /usr/include/signal/key_helper.h \
+ /usr/include/signal/session_builder.h \
+ /usr/include/signal/session_cipher.h \
+ /usr/include/signal/session_pre_key.h /usr/include/signal/protocol.h \
+ /usr/include/signal/curve.h account.hh connection.hh user.hh \
+ deps/optional/include/tl/optional.hpp channel.hh buffer.hh
+/usr/include/libxml2/libxml/xmlwriter.h:
+/usr/include/libxml2/libxml/xmlversion.h:
+/usr/include/libxml2/libxml/xmlexports.h:
+/usr/include/libxml2/libxml/xmlIO.h:
+/usr/include/libxml2/libxml/globals.h:
+/usr/include/libxml2/libxml/parser.h:
+/usr/include/libxml2/libxml/tree.h:
+/usr/include/libxml2/libxml/xmlstring.h:
+/usr/include/libxml2/libxml/xmlregexp.h:
+/usr/include/libxml2/libxml/dict.h:
+/usr/include/libxml2/libxml/hash.h:
+/usr/include/libxml2/libxml/valid.h:
+/usr/include/libxml2/libxml/xmlerror.h:
+/usr/include/libxml2/libxml/list.h:
+/usr/include/libxml2/libxml/xmlautomata.h:
+/usr/include/libxml2/libxml/entities.h:
+/usr/include/libxml2/libxml/encoding.h:
+/usr/include/libxml2/libxml/SAX2.h:
+/usr/include/libxml2/libxml/xlink.h:
+/usr/include/libxml2/libxml/xmlmemory.h:
+/usr/include/libxml2/libxml/threads.h:
+plugin.hh:
+xmpp/stanza.hh:
+config.hh:
+input.hh:
+omemo.hh:
+/usr/include/signal/signal_protocol.h:
+/usr/include/signal/ratchet.h:
+/usr/include/signal/signal_protocol_types.h:
+/usr/include/signal/curve.h:
+/usr/include/signal/session_record.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/sender_key_record.h:
+signal.hh:
+deps/fmt/include/fmt/core.h:
+/usr/include/signal/key_helper.h:
+/usr/include/signal/session_builder.h:
+/usr/include/signal/session_cipher.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/protocol.h:
+/usr/include/signal/curve.h:
+account.hh:
+connection.hh:
+user.hh:
+deps/optional/include/tl/optional.hpp:
+channel.hh:
+buffer.hh:
+.buffer.o: buffer.cpp plugin.hh account.hh omemo.hh \
+ /usr/include/signal/signal_protocol.h /usr/include/signal/ratchet.h \
+ /usr/include/signal/signal_protocol_types.h /usr/include/signal/curve.h \
+ /usr/include/signal/session_record.h \
+ /usr/include/signal/session_pre_key.h \
+ /usr/include/signal/sender_key_record.h signal.hh \
+ deps/fmt/include/fmt/core.h /usr/include/signal/key_helper.h \
+ /usr/include/signal/session_builder.h \
+ /usr/include/signal/session_cipher.h \
+ /usr/include/signal/session_pre_key.h /usr/include/signal/protocol.h \
+ /usr/include/signal/curve.h channel.hh buffer.hh
+plugin.hh:
+account.hh:
+omemo.hh:
+/usr/include/signal/signal_protocol.h:
+/usr/include/signal/ratchet.h:
+/usr/include/signal/signal_protocol_types.h:
+/usr/include/signal/curve.h:
+/usr/include/signal/session_record.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/sender_key_record.h:
+signal.hh:
+deps/fmt/include/fmt/core.h:
+/usr/include/signal/key_helper.h:
+/usr/include/signal/session_builder.h:
+/usr/include/signal/session_cipher.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/protocol.h:
+/usr/include/signal/curve.h:
+channel.hh:
+buffer.hh:
+.channel.o: channel.cpp deps/fmt/include/fmt/core.h \
+ deps/optional/include/tl/optional.hpp plugin.hh account.hh omemo.hh \
+ /usr/include/signal/signal_protocol.h /usr/include/signal/ratchet.h \
+ /usr/include/signal/signal_protocol_types.h /usr/include/signal/curve.h \
+ /usr/include/signal/session_record.h \
+ /usr/include/signal/session_pre_key.h \
+ /usr/include/signal/sender_key_record.h signal.hh \
+ /usr/include/signal/key_helper.h /usr/include/signal/session_builder.h \
+ /usr/include/signal/session_cipher.h \
+ /usr/include/signal/session_pre_key.h /usr/include/signal/protocol.h \
+ /usr/include/signal/curve.h user.hh channel.hh input.hh buffer.hh pgp.hh \
+ util.hh xmpp/node.hh xmpp/xep-0027.inl xmpp/ns.hh xmpp/xep-0030.inl \
+ xmpp/xep-0045.inl xmpp/xep-0049.inl xmpp/xep-0115.inl xmpp/xep-0280.inl \
+ xmpp/xep-0319.inl xmpp/rfc-6121.inl
+deps/fmt/include/fmt/core.h:
+deps/optional/include/tl/optional.hpp:
+plugin.hh:
+account.hh:
+omemo.hh:
+/usr/include/signal/signal_protocol.h:
+/usr/include/signal/ratchet.h:
+/usr/include/signal/signal_protocol_types.h:
+/usr/include/signal/curve.h:
+/usr/include/signal/session_record.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/sender_key_record.h:
+signal.hh:
+/usr/include/signal/key_helper.h:
+/usr/include/signal/session_builder.h:
+/usr/include/signal/session_cipher.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/protocol.h:
+/usr/include/signal/curve.h:
+user.hh:
+channel.hh:
+input.hh:
+buffer.hh:
+pgp.hh:
+util.hh:
+xmpp/node.hh:
+xmpp/xep-0027.inl:
+xmpp/ns.hh:
+xmpp/xep-0030.inl:
+xmpp/xep-0045.inl:
+xmpp/xep-0049.inl:
+xmpp/xep-0115.inl:
+xmpp/xep-0280.inl:
+xmpp/xep-0319.inl:
+xmpp/rfc-6121.inl:
+.command.o: command.cpp plugin.hh account.hh omemo.hh \
+ /usr/include/signal/signal_protocol.h /usr/include/signal/ratchet.h \
+ /usr/include/signal/signal_protocol_types.h /usr/include/signal/curve.h \
+ /usr/include/signal/session_record.h \
+ /usr/include/signal/session_pre_key.h \
+ /usr/include/signal/sender_key_record.h signal.hh \
+ deps/fmt/include/fmt/core.h /usr/include/signal/key_helper.h \
+ /usr/include/signal/session_builder.h \
+ /usr/include/signal/session_cipher.h \
+ /usr/include/signal/session_pre_key.h /usr/include/signal/protocol.h \
+ /usr/include/signal/curve.h user.hh \
+ deps/optional/include/tl/optional.hpp channel.hh buffer.hh message.hh \
+ command.hh sexp/driver.hh sexp/scanner.hh sexp/parser.tab.hh \
+ sexp/location.hh
+plugin.hh:
+account.hh:
+omemo.hh:
+/usr/include/signal/signal_protocol.h:
+/usr/include/signal/ratchet.h:
+/usr/include/signal/signal_protocol_types.h:
+/usr/include/signal/curve.h:
+/usr/include/signal/session_record.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/sender_key_record.h:
+signal.hh:
+deps/fmt/include/fmt/core.h:
+/usr/include/signal/key_helper.h:
+/usr/include/signal/session_builder.h:
+/usr/include/signal/session_cipher.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/protocol.h:
+/usr/include/signal/curve.h:
+user.hh:
+deps/optional/include/tl/optional.hpp:
+channel.hh:
+buffer.hh:
+message.hh:
+command.hh:
+sexp/driver.hh:
+sexp/scanner.hh:
+sexp/parser.tab.hh:
+sexp/location.hh:
+.completion.o: completion.cpp plugin.hh config.hh account.hh omemo.hh \
+ /usr/include/signal/signal_protocol.h /usr/include/signal/ratchet.h \
+ /usr/include/signal/signal_protocol_types.h /usr/include/signal/curve.h \
+ /usr/include/signal/session_record.h \
+ /usr/include/signal/session_pre_key.h \
+ /usr/include/signal/sender_key_record.h signal.hh \
+ deps/fmt/include/fmt/core.h /usr/include/signal/key_helper.h \
+ /usr/include/signal/session_builder.h \
+ /usr/include/signal/session_cipher.h \
+ /usr/include/signal/session_pre_key.h /usr/include/signal/protocol.h \
+ /usr/include/signal/curve.h channel.hh user.hh \
+ deps/optional/include/tl/optional.hpp buffer.hh completion.hh
+plugin.hh:
+config.hh:
+account.hh:
+omemo.hh:
+/usr/include/signal/signal_protocol.h:
+/usr/include/signal/ratchet.h:
+/usr/include/signal/signal_protocol_types.h:
+/usr/include/signal/curve.h:
+/usr/include/signal/session_record.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/sender_key_record.h:
+signal.hh:
+deps/fmt/include/fmt/core.h:
+/usr/include/signal/key_helper.h:
+/usr/include/signal/session_builder.h:
+/usr/include/signal/session_cipher.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/protocol.h:
+/usr/include/signal/curve.h:
+channel.hh:
+user.hh:
+deps/optional/include/tl/optional.hpp:
+buffer.hh:
+completion.hh:
+.config.o: config.cpp plugin.hh account.hh omemo.hh \
+ /usr/include/signal/signal_protocol.h /usr/include/signal/ratchet.h \
+ /usr/include/signal/signal_protocol_types.h /usr/include/signal/curve.h \
+ /usr/include/signal/session_record.h \
+ /usr/include/signal/session_pre_key.h \
+ /usr/include/signal/sender_key_record.h signal.hh \
+ deps/fmt/include/fmt/core.h /usr/include/signal/key_helper.h \
+ /usr/include/signal/session_builder.h \
+ /usr/include/signal/session_cipher.h \
+ /usr/include/signal/session_pre_key.h /usr/include/signal/protocol.h \
+ /usr/include/signal/curve.h config.hh
+plugin.hh:
+account.hh:
+omemo.hh:
+/usr/include/signal/signal_protocol.h:
+/usr/include/signal/ratchet.h:
+/usr/include/signal/signal_protocol_types.h:
+/usr/include/signal/curve.h:
+/usr/include/signal/session_record.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/sender_key_record.h:
+signal.hh:
+deps/fmt/include/fmt/core.h:
+/usr/include/signal/key_helper.h:
+/usr/include/signal/session_builder.h:
+/usr/include/signal/session_cipher.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/protocol.h:
+/usr/include/signal/curve.h:
+config.hh:
+.connection.o: connection.cpp deps/fmt/include/fmt/core.h \
+ deps/fmt/include/fmt/chrono.h deps/fmt/include/fmt/format.h \
+ deps/fmt/include/fmt/core.h /usr/include/libxml2/libxml/uri.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ /usr/include/libxml2/libxml/globals.h \
+ /usr/include/libxml2/libxml/parser.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xlink.h plugin.hh xmpp/node.hh \
+ deps/optional/include/tl/optional.hpp xmpp/xep-0027.inl xmpp/ns.hh \
+ xmpp/xep-0030.inl xmpp/xep-0045.inl xmpp/xep-0049.inl xmpp/xep-0115.inl \
+ xmpp/xep-0280.inl xmpp/xep-0319.inl xmpp/rfc-6121.inl xmpp/stanza.hh \
+ config.hh account.hh omemo.hh /usr/include/signal/signal_protocol.h \
+ /usr/include/signal/ratchet.h \
+ /usr/include/signal/signal_protocol_types.h /usr/include/signal/curve.h \
+ /usr/include/signal/session_record.h \
+ /usr/include/signal/session_pre_key.h \
+ /usr/include/signal/sender_key_record.h signal.hh \
+ /usr/include/signal/key_helper.h /usr/include/signal/session_builder.h \
+ /usr/include/signal/session_cipher.h \
+ /usr/include/signal/session_pre_key.h /usr/include/signal/protocol.h \
+ /usr/include/signal/curve.h user.hh channel.hh connection.hh pgp.hh \
+ util.hh deps/diff/diff.h
+deps/fmt/include/fmt/core.h:
+deps/fmt/include/fmt/chrono.h:
+deps/fmt/include/fmt/format.h:
+deps/fmt/include/fmt/core.h:
+/usr/include/libxml2/libxml/uri.h:
+/usr/include/libxml2/libxml/xmlversion.h:
+/usr/include/libxml2/libxml/xmlexports.h:
+/usr/include/libxml2/libxml/tree.h:
+/usr/include/libxml2/libxml/xmlstring.h:
+/usr/include/libxml2/libxml/xmlregexp.h:
+/usr/include/libxml2/libxml/dict.h:
+/usr/include/libxml2/libxml/xmlmemory.h:
+/usr/include/libxml2/libxml/threads.h:
+/usr/include/libxml2/libxml/globals.h:
+/usr/include/libxml2/libxml/parser.h:
+/usr/include/libxml2/libxml/hash.h:
+/usr/include/libxml2/libxml/valid.h:
+/usr/include/libxml2/libxml/xmlerror.h:
+/usr/include/libxml2/libxml/list.h:
+/usr/include/libxml2/libxml/xmlautomata.h:
+/usr/include/libxml2/libxml/entities.h:
+/usr/include/libxml2/libxml/encoding.h:
+/usr/include/libxml2/libxml/xmlIO.h:
+/usr/include/libxml2/libxml/SAX2.h:
+/usr/include/libxml2/libxml/xlink.h:
+plugin.hh:
+xmpp/node.hh:
+deps/optional/include/tl/optional.hpp:
+xmpp/xep-0027.inl:
+xmpp/ns.hh:
+xmpp/xep-0030.inl:
+xmpp/xep-0045.inl:
+xmpp/xep-0049.inl:
+xmpp/xep-0115.inl:
+xmpp/xep-0280.inl:
+xmpp/xep-0319.inl:
+xmpp/rfc-6121.inl:
+xmpp/stanza.hh:
+config.hh:
+account.hh:
+omemo.hh:
+/usr/include/signal/signal_protocol.h:
+/usr/include/signal/ratchet.h:
+/usr/include/signal/signal_protocol_types.h:
+/usr/include/signal/curve.h:
+/usr/include/signal/session_record.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/sender_key_record.h:
+signal.hh:
+/usr/include/signal/key_helper.h:
+/usr/include/signal/session_builder.h:
+/usr/include/signal/session_cipher.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/protocol.h:
+/usr/include/signal/curve.h:
+user.hh:
+channel.hh:
+connection.hh:
+pgp.hh:
+util.hh:
+deps/diff/diff.h:
+.input.o: input.cpp plugin.hh account.hh omemo.hh \
+ /usr/include/signal/signal_protocol.h /usr/include/signal/ratchet.h \
+ /usr/include/signal/signal_protocol_types.h /usr/include/signal/curve.h \
+ /usr/include/signal/session_record.h \
+ /usr/include/signal/session_pre_key.h \
+ /usr/include/signal/sender_key_record.h signal.hh \
+ deps/fmt/include/fmt/core.h /usr/include/signal/key_helper.h \
+ /usr/include/signal/session_builder.h \
+ /usr/include/signal/session_cipher.h \
+ /usr/include/signal/session_pre_key.h /usr/include/signal/protocol.h \
+ /usr/include/signal/curve.h channel.hh buffer.hh message.hh input.hh
+plugin.hh:
+account.hh:
+omemo.hh:
+/usr/include/signal/signal_protocol.h:
+/usr/include/signal/ratchet.h:
+/usr/include/signal/signal_protocol_types.h:
+/usr/include/signal/curve.h:
+/usr/include/signal/session_record.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/sender_key_record.h:
+signal.hh:
+deps/fmt/include/fmt/core.h:
+/usr/include/signal/key_helper.h:
+/usr/include/signal/session_builder.h:
+/usr/include/signal/session_cipher.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/protocol.h:
+/usr/include/signal/curve.h:
+channel.hh:
+buffer.hh:
+message.hh:
+input.hh:
+.message.o: message.cpp plugin.hh account.hh omemo.hh \
+ /usr/include/signal/signal_protocol.h /usr/include/signal/ratchet.h \
+ /usr/include/signal/signal_protocol_types.h /usr/include/signal/curve.h \
+ /usr/include/signal/session_record.h \
+ /usr/include/signal/session_pre_key.h \
+ /usr/include/signal/sender_key_record.h signal.hh \
+ deps/fmt/include/fmt/core.h /usr/include/signal/key_helper.h \
+ /usr/include/signal/session_builder.h \
+ /usr/include/signal/session_cipher.h \
+ /usr/include/signal/session_pre_key.h /usr/include/signal/protocol.h \
+ /usr/include/signal/curve.h channel.hh user.hh \
+ deps/optional/include/tl/optional.hpp message.hh
+plugin.hh:
+account.hh:
+omemo.hh:
+/usr/include/signal/signal_protocol.h:
+/usr/include/signal/ratchet.h:
+/usr/include/signal/signal_protocol_types.h:
+/usr/include/signal/curve.h:
+/usr/include/signal/session_record.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/sender_key_record.h:
+signal.hh:
+deps/fmt/include/fmt/core.h:
+/usr/include/signal/key_helper.h:
+/usr/include/signal/session_builder.h:
+/usr/include/signal/session_cipher.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/protocol.h:
+/usr/include/signal/curve.h:
+channel.hh:
+user.hh:
+deps/optional/include/tl/optional.hpp:
+message.hh:
+.omemo.o: omemo.cpp deps/fmt/include/fmt/core.h \
+ deps/optional/include/tl/optional.hpp \
+ deps/range-v3/include/range/v3/all.hpp \
+ deps/range-v3/include/range/v3/action.hpp \
+ deps/range-v3/include/range/v3/action/action.hpp \
+ deps/range-v3/include/meta/meta.hpp \
+ deps/range-v3/include/meta/meta_fwd.hpp \
+ deps/range-v3/include/range/v3/range_fwd.hpp \
+ deps/range-v3/include/concepts/concepts.hpp \
+ deps/range-v3/include/concepts/swap.hpp \
+ deps/range-v3/include/concepts/type_traits.hpp \
+ deps/range-v3/include/concepts/compare.hpp \
+ deps/range-v3/include/range/v3/compare.hpp \
+ deps/range-v3/include/range/v3/detail/config.hpp \
+ deps/range-v3/include/range/v3/utility/static_const.hpp \
+ deps/range-v3/include/range/v3/version.hpp \
+ deps/range-v3/include/range/v3/detail/prologue.hpp \
+ deps/range-v3/include/range/v3/detail/epilogue.hpp \
+ deps/range-v3/include/range/v3/action/concepts.hpp \
+ deps/range-v3/include/range/v3/range/concepts.hpp \
+ deps/range-v3/include/range/v3/functional/comparisons.hpp \
+ deps/range-v3/include/range/v3/iterator/concepts.hpp \
+ deps/range-v3/include/range/v3/functional/concepts.hpp \
+ deps/range-v3/include/range/v3/functional/invoke.hpp \
+ deps/range-v3/include/range/v3/functional/identity.hpp \
+ deps/range-v3/include/range/v3/iterator/access.hpp \
+ deps/range-v3/include/std/detail/associated_types.hpp \
+ deps/range-v3/include/range/v3/utility/move.hpp \
+ deps/range-v3/include/range/v3/utility/swap.hpp \
+ deps/range-v3/include/range/v3/iterator/traits.hpp \
+ deps/range-v3/include/range/v3/utility/common_type.hpp \
+ deps/range-v3/include/range/v3/range/access.hpp \
+ deps/range-v3/include/range/v3/iterator/reverse_iterator.hpp \
+ deps/range-v3/include/range/v3/iterator/basic_iterator.hpp \
+ deps/range-v3/include/range/v3/detail/range_access.hpp \
+ deps/range-v3/include/range/v3/utility/addressof.hpp \
+ deps/range-v3/include/range/v3/utility/box.hpp \
+ deps/range-v3/include/range/v3/utility/get.hpp \
+ deps/range-v3/include/range/v3/detail/adl_get.hpp \
+ deps/range-v3/include/range/v3/utility/semiregular_box.hpp \
+ deps/range-v3/include/range/v3/functional/reference_wrapper.hpp \
+ deps/range-v3/include/range/v3/utility/in_place.hpp \
+ deps/range-v3/include/range/v3/range/primitives.hpp \
+ deps/range-v3/include/range/v3/range/traits.hpp \
+ deps/range-v3/include/range/v3/functional/compose.hpp \
+ deps/range-v3/include/range/v3/functional/pipeable.hpp \
+ deps/range-v3/include/range/v3/action/adjacent_remove_if.hpp \
+ deps/range-v3/include/range/v3/action/erase.hpp \
+ deps/range-v3/include/range/v3/action/insert.hpp \
+ deps/range-v3/include/range/v3/algorithm/max.hpp \
+ deps/range-v3/include/range/v3/iterator/common_iterator.hpp \
+ deps/range-v3/include/range/v3/detail/variant.hpp \
+ deps/range-v3/include/range/v3/utility/common_tuple.hpp \
+ deps/range-v3/include/range/v3/functional/bind.hpp \
+ deps/range-v3/include/range/v3/utility/tuple_algorithm.hpp \
+ deps/range-v3/include/range/v3/algorithm/adjacent_remove_if.hpp \
+ deps/range-v3/include/range/v3/algorithm/adjacent_find.hpp \
+ deps/range-v3/include/range/v3/range/dangling.hpp \
+ deps/range-v3/include/range/v3/algorithm/move.hpp \
+ deps/range-v3/include/range/v3/algorithm/result_types.hpp \
+ deps/range-v3/include/range/v3/functional/bind_back.hpp \
+ deps/range-v3/include/range/v3/action/drop.hpp \
+ deps/range-v3/include/range/v3/iterator/operations.hpp \
+ deps/range-v3/include/range/v3/action/drop_while.hpp \
+ deps/range-v3/include/range/v3/algorithm/find_if_not.hpp \
+ deps/range-v3/include/range/v3/action/join.hpp \
+ deps/range-v3/include/range/v3/action/push_back.hpp \
+ deps/range-v3/include/range/v3/detail/with_braced_init_args.hpp \
+ deps/range-v3/include/range/v3/action/push_front.hpp \
+ deps/range-v3/include/range/v3/action/remove_if.hpp \
+ deps/range-v3/include/range/v3/algorithm/remove_if.hpp \
+ deps/range-v3/include/range/v3/algorithm/find_if.hpp \
+ deps/range-v3/include/range/v3/action/reverse.hpp \
+ deps/range-v3/include/range/v3/algorithm/reverse.hpp \
+ deps/range-v3/include/range/v3/action/shuffle.hpp \
+ deps/range-v3/include/range/v3/algorithm/shuffle.hpp \
+ deps/range-v3/include/range/v3/utility/random.hpp \
+ deps/range-v3/include/range/v3/algorithm/copy.hpp \
+ deps/range-v3/include/range/v3/utility/copy.hpp \
+ deps/range-v3/include/range/v3/algorithm/generate.hpp \
+ deps/range-v3/include/range/v3/action/slice.hpp \
+ deps/range-v3/include/range/v3/view/interface.hpp \
+ deps/range-v3/include/range/v3/action/sort.hpp \
+ deps/range-v3/include/range/v3/algorithm/sort.hpp \
+ deps/range-v3/include/range/v3/algorithm/heap_algorithm.hpp \
+ deps/range-v3/include/range/v3/algorithm/move_backward.hpp \
+ deps/range-v3/include/range/v3/algorithm/partial_sort.hpp \
+ deps/range-v3/include/range/v3/action/split.hpp \
+ deps/range-v3/include/range/v3/range/conversion.hpp \
+ deps/range-v3/include/range/v3/view/split.hpp \
+ deps/range-v3/include/range/v3/algorithm/mismatch.hpp \
+ deps/range-v3/include/range/v3/iterator/default_sentinel.hpp \
+ deps/range-v3/include/range/v3/view/all.hpp \
+ deps/range-v3/include/range/v3/view/ref.hpp \
+ deps/range-v3/include/range/v3/detail/satisfy_boost_range.hpp \
+ deps/range-v3/include/range/v3/view/subrange.hpp \
+ deps/range-v3/include/range/v3/iterator/unreachable_sentinel.hpp \
+ deps/range-v3/include/range/v3/view/view.hpp \
+ deps/range-v3/include/range/v3/view/single.hpp \
+ deps/range-v3/include/range/v3/utility/optional.hpp \
+ deps/range-v3/include/range/v3/view/facade.hpp \
+ deps/range-v3/include/range/v3/action/split_when.hpp \
+ deps/range-v3/include/range/v3/view/split_when.hpp \
+ deps/range-v3/include/range/v3/view/indirect.hpp \
+ deps/range-v3/include/range/v3/view/adaptor.hpp \
+ deps/range-v3/include/range/v3/utility/compressed_pair.hpp \
+ deps/range-v3/include/range/v3/view/iota.hpp \
+ deps/range-v3/include/range/v3/iterator/diffmax_t.hpp \
+ deps/range-v3/include/range/v3/view/delimit.hpp \
+ deps/range-v3/include/range/v3/view/take_while.hpp \
+ deps/range-v3/include/range/v3/functional/indirect.hpp \
+ deps/range-v3/include/range/v3/action/stable_sort.hpp \
+ deps/range-v3/include/range/v3/algorithm/stable_sort.hpp \
+ deps/range-v3/include/range/v3/algorithm/inplace_merge.hpp \
+ deps/range-v3/include/range/v3/algorithm/lower_bound.hpp \
+ deps/range-v3/include/range/v3/algorithm/aux_/lower_bound_n.hpp \
+ deps/range-v3/include/range/v3/algorithm/aux_/partition_point_n.hpp \
+ deps/range-v3/include/range/v3/algorithm/partition_point.hpp \
+ deps/range-v3/include/range/v3/algorithm/merge.hpp \
+ deps/range-v3/include/range/v3/algorithm/min.hpp \
+ deps/range-v3/include/range/v3/algorithm/rotate.hpp \
+ deps/range-v3/include/range/v3/algorithm/swap_ranges.hpp \
+ deps/range-v3/include/range/v3/algorithm/upper_bound.hpp \
+ deps/range-v3/include/range/v3/algorithm/aux_/upper_bound_n.hpp \
+ deps/range-v3/include/range/v3/functional/not_fn.hpp \
+ deps/range-v3/include/range/v3/iterator/move_iterators.hpp \
+ deps/range-v3/include/range/v3/utility/memory.hpp \
+ deps/range-v3/include/range/v3/utility/polymorphic_cast.hpp \
+ deps/range-v3/include/range/v3/action/stride.hpp \
+ deps/range-v3/include/range/v3/action/take.hpp \
+ deps/range-v3/include/range/v3/action/take_while.hpp \
+ deps/range-v3/include/range/v3/action/transform.hpp \
+ deps/range-v3/include/range/v3/algorithm/transform.hpp \
+ deps/range-v3/include/range/v3/action/unique.hpp \
+ deps/range-v3/include/range/v3/algorithm/unique.hpp \
+ deps/range-v3/include/range/v3/action/unstable_remove_if.hpp \
+ deps/range-v3/include/range/v3/algorithm/unstable_remove_if.hpp \
+ deps/range-v3/include/range/v3/algorithm.hpp \
+ deps/range-v3/include/range/v3/algorithm/all_of.hpp \
+ deps/range-v3/include/range/v3/algorithm/any_of.hpp \
+ deps/range-v3/include/range/v3/algorithm/binary_search.hpp \
+ deps/range-v3/include/range/v3/algorithm/contains.hpp \
+ deps/range-v3/include/range/v3/algorithm/find.hpp \
+ deps/range-v3/include/range/v3/algorithm/copy_backward.hpp \
+ deps/range-v3/include/range/v3/algorithm/copy_if.hpp \
+ deps/range-v3/include/range/v3/algorithm/copy_n.hpp \
+ deps/range-v3/include/range/v3/algorithm/count.hpp \
+ deps/range-v3/include/range/v3/algorithm/count_if.hpp \
+ deps/range-v3/include/range/v3/algorithm/ends_with.hpp \
+ deps/range-v3/include/range/v3/algorithm/equal.hpp \
+ deps/range-v3/include/range/v3/algorithm/equal_range.hpp \
+ deps/range-v3/include/range/v3/algorithm/aux_/equal_range_n.hpp \
+ deps/range-v3/include/range/v3/algorithm/fill.hpp \
+ deps/range-v3/include/range/v3/algorithm/fill_n.hpp \
+ deps/range-v3/include/range/v3/algorithm/find_end.hpp \
+ deps/range-v3/include/range/v3/algorithm/find_first_of.hpp \
+ deps/range-v3/include/range/v3/algorithm/fold.hpp \
+ deps/range-v3/include/range/v3/algorithm/fold_left.hpp \
+ deps/range-v3/include/range/v3/algorithm/fold_right.hpp \
+ deps/range-v3/include/range/v3/algorithm/for_each.hpp \
+ deps/range-v3/include/range/v3/algorithm/for_each_n.hpp \
+ deps/range-v3/include/range/v3/algorithm/generate_n.hpp \
+ deps/range-v3/include/range/v3/algorithm/is_partitioned.hpp \
+ deps/range-v3/include/range/v3/algorithm/is_sorted.hpp \
+ deps/range-v3/include/range/v3/algorithm/is_sorted_until.hpp \
+ deps/range-v3/include/range/v3/algorithm/lexicographical_compare.hpp \
+ deps/range-v3/include/range/v3/algorithm/max_element.hpp \
+ deps/range-v3/include/range/v3/algorithm/min_element.hpp \
+ deps/range-v3/include/range/v3/algorithm/minmax.hpp \
+ deps/range-v3/include/range/v3/algorithm/minmax_element.hpp \
+ deps/range-v3/include/range/v3/algorithm/none_of.hpp \
+ deps/range-v3/include/range/v3/algorithm/nth_element.hpp \
+ deps/range-v3/include/range/v3/algorithm/partial_sort_copy.hpp \
+ deps/range-v3/include/range/v3/algorithm/partition.hpp \
+ deps/range-v3/include/range/v3/algorithm/partition_copy.hpp \
+ deps/range-v3/include/range/v3/algorithm/permutation.hpp \
+ deps/range-v3/include/range/v3/algorithm/remove.hpp \
+ deps/range-v3/include/range/v3/algorithm/remove_copy.hpp \
+ deps/range-v3/include/range/v3/algorithm/remove_copy_if.hpp \
+ deps/range-v3/include/range/v3/algorithm/replace.hpp \
+ deps/range-v3/include/range/v3/algorithm/replace_copy.hpp \
+ deps/range-v3/include/range/v3/algorithm/replace_copy_if.hpp \
+ deps/range-v3/include/range/v3/algorithm/replace_if.hpp \
+ deps/range-v3/include/range/v3/algorithm/reverse_copy.hpp \
+ deps/range-v3/include/range/v3/algorithm/rotate_copy.hpp \
+ deps/range-v3/include/range/v3/algorithm/sample.hpp \
+ deps/range-v3/include/range/v3/algorithm/search.hpp \
+ deps/range-v3/include/range/v3/algorithm/search_n.hpp \
+ deps/range-v3/include/range/v3/algorithm/set_algorithm.hpp \
+ deps/range-v3/include/range/v3/algorithm/stable_partition.hpp \
+ deps/range-v3/include/range/v3/algorithm/starts_with.hpp \
+ deps/range-v3/include/range/v3/algorithm/unique_copy.hpp \
+ deps/range-v3/include/range/v3/algorithm/aux_/merge_n.hpp \
+ deps/range-v3/include/range/v3/algorithm/aux_/merge_n_with_buffer.hpp \
+ deps/range-v3/include/range/v3/algorithm/aux_/sort_n_with_buffer.hpp \
+ deps/range-v3/include/range/v3/core.hpp \
+ deps/range-v3/include/range/v3/range/operations.hpp \
+ deps/range-v3/include/range/v3/range_for.hpp \
+ deps/range-v3/include/range/v3/view/getlines.hpp \
+ deps/range-v3/include/range/v3/view/istream.hpp \
+ deps/range-v3/include/range/v3/functional.hpp \
+ deps/range-v3/include/range/v3/functional/arithmetic.hpp \
+ deps/range-v3/include/range/v3/functional/on.hpp \
+ deps/range-v3/include/range/v3/functional/overload.hpp \
+ deps/range-v3/include/range/v3/iterator.hpp \
+ deps/range-v3/include/range/v3/iterator/counted_iterator.hpp \
+ deps/range-v3/include/range/v3/iterator/insert_iterators.hpp \
+ deps/range-v3/include/range/v3/iterator/stream_iterators.hpp \
+ deps/range-v3/include/range/v3/numeric.hpp \
+ deps/range-v3/include/range/v3/numeric/accumulate.hpp \
+ deps/range-v3/include/range/v3/numeric/adjacent_difference.hpp \
+ deps/range-v3/include/range/v3/numeric/inner_product.hpp \
+ deps/range-v3/include/range/v3/numeric/iota.hpp \
+ deps/range-v3/include/range/v3/numeric/partial_sum.hpp \
+ deps/range-v3/include/range/v3/range.hpp \
+ deps/range-v3/include/range/v3/utility.hpp \
+ deps/range-v3/include/range/v3/view.hpp \
+ deps/range-v3/include/range/v3/view/addressof.hpp \
+ deps/range-v3/include/range/v3/view/transform.hpp \
+ deps/range-v3/include/range/v3/view/adjacent_filter.hpp \
+ deps/range-v3/include/range/v3/view/adjacent_remove_if.hpp \
+ deps/range-v3/include/range/v3/view/any_view.hpp \
+ deps/range-v3/include/range/v3/view/c_str.hpp \
+ deps/range-v3/include/range/v3/view/cache1.hpp \
+ deps/range-v3/include/range/v3/view/cartesian_product.hpp \
+ deps/range-v3/include/range/v3/view/empty.hpp \
+ deps/range-v3/include/range/v3/view/chunk.hpp \
+ deps/range-v3/include/range/v3/view/take.hpp \
+ deps/range-v3/include/range/v3/view/chunk_by.hpp \
+ deps/range-v3/include/range/v3/view/common.hpp \
+ deps/range-v3/include/range/v3/view/concat.hpp \
+ deps/range-v3/include/range/v3/utility/variant.hpp \
+ deps/range-v3/include/range/v3/view/const.hpp \
+ deps/range-v3/include/range/v3/view/counted.hpp \
+ deps/range-v3/include/range/v3/view/cycle.hpp \
+ deps/range-v3/include/range/v3/view/drop.hpp \
+ deps/range-v3/include/range/v3/view/drop_exactly.hpp \
+ deps/range-v3/include/range/v3/view/drop_last.hpp \
+ deps/range-v3/include/range/v3/view/drop_while.hpp \
+ deps/range-v3/include/range/v3/view/enumerate.hpp \
+ deps/range-v3/include/range/v3/view/zip.hpp \
+ deps/range-v3/include/range/v3/view/zip_with.hpp \
+ deps/range-v3/include/range/v3/view/exclusive_scan.hpp \
+ deps/range-v3/include/range/v3/view/filter.hpp \
+ deps/range-v3/include/range/v3/view/remove_if.hpp \
+ deps/range-v3/include/range/v3/view/for_each.hpp \
+ deps/range-v3/include/range/v3/view/generate_n.hpp \
+ deps/range-v3/include/range/v3/view/generate.hpp \
+ deps/range-v3/include/range/v3/view/join.hpp \
+ deps/range-v3/include/range/v3/view/repeat_n.hpp \
+ deps/range-v3/include/range/v3/view/group_by.hpp \
+ deps/range-v3/include/range/v3/view/indices.hpp \
+ deps/range-v3/include/range/v3/view/intersperse.hpp \
+ deps/range-v3/include/range/v3/view/linear_distribute.hpp \
+ deps/range-v3/include/range/v3/view/map.hpp \
+ deps/range-v3/include/range/v3/view/move.hpp \
+ deps/range-v3/include/range/v3/view/partial_sum.hpp \
+ deps/range-v3/include/range/v3/view/remove.hpp \
+ deps/range-v3/include/range/v3/view/repeat.hpp \
+ deps/range-v3/include/range/v3/view/replace.hpp \
+ deps/range-v3/include/range/v3/view/replace_if.hpp \
+ deps/range-v3/include/range/v3/view/reverse.hpp \
+ deps/range-v3/include/range/v3/view/sample.hpp \
+ deps/range-v3/include/range/v3/view/set_algorithm.hpp \
+ deps/range-v3/include/range/v3/view/slice.hpp \
+ deps/range-v3/include/range/v3/view/sliding.hpp \
+ deps/range-v3/include/range/v3/view/span.hpp \
+ deps/range-v3/include/range/v3/view/stride.hpp \
+ deps/range-v3/include/range/v3/view/tail.hpp \
+ deps/range-v3/include/range/v3/view/take_exactly.hpp \
+ deps/range-v3/include/range/v3/view/take_last.hpp \
+ deps/range-v3/include/range/v3/view/tokenize.hpp \
+ deps/range-v3/include/range/v3/view/trim.hpp \
+ deps/range-v3/include/range/v3/view/unbounded.hpp \
+ deps/range-v3/include/range/v3/view/unique.hpp plugin.hh xmpp/stanza.hh \
+ account.hh omemo.hh /usr/include/signal/signal_protocol.h \
+ /usr/include/signal/ratchet.h \
+ /usr/include/signal/signal_protocol_types.h /usr/include/signal/curve.h \
+ /usr/include/signal/session_record.h \
+ /usr/include/signal/session_pre_key.h \
+ /usr/include/signal/sender_key_record.h signal.hh \
+ /usr/include/signal/key_helper.h /usr/include/signal/session_builder.h \
+ /usr/include/signal/session_cipher.h \
+ /usr/include/signal/session_pre_key.h /usr/include/signal/protocol.h \
+ /usr/include/signal/curve.h gcrypt.hh util.hh
+deps/fmt/include/fmt/core.h:
+deps/optional/include/tl/optional.hpp:
+deps/range-v3/include/range/v3/all.hpp:
+deps/range-v3/include/range/v3/action.hpp:
+deps/range-v3/include/range/v3/action/action.hpp:
+deps/range-v3/include/meta/meta.hpp:
+deps/range-v3/include/meta/meta_fwd.hpp:
+deps/range-v3/include/range/v3/range_fwd.hpp:
+deps/range-v3/include/concepts/concepts.hpp:
+deps/range-v3/include/concepts/swap.hpp:
+deps/range-v3/include/concepts/type_traits.hpp:
+deps/range-v3/include/concepts/compare.hpp:
+deps/range-v3/include/range/v3/compare.hpp:
+deps/range-v3/include/range/v3/detail/config.hpp:
+deps/range-v3/include/range/v3/utility/static_const.hpp:
+deps/range-v3/include/range/v3/version.hpp:
+deps/range-v3/include/range/v3/detail/prologue.hpp:
+deps/range-v3/include/range/v3/detail/epilogue.hpp:
+deps/range-v3/include/range/v3/action/concepts.hpp:
+deps/range-v3/include/range/v3/range/concepts.hpp:
+deps/range-v3/include/range/v3/functional/comparisons.hpp:
+deps/range-v3/include/range/v3/iterator/concepts.hpp:
+deps/range-v3/include/range/v3/functional/concepts.hpp:
+deps/range-v3/include/range/v3/functional/invoke.hpp:
+deps/range-v3/include/range/v3/functional/identity.hpp:
+deps/range-v3/include/range/v3/iterator/access.hpp:
+deps/range-v3/include/std/detail/associated_types.hpp:
+deps/range-v3/include/range/v3/utility/move.hpp:
+deps/range-v3/include/range/v3/utility/swap.hpp:
+deps/range-v3/include/range/v3/iterator/traits.hpp:
+deps/range-v3/include/range/v3/utility/common_type.hpp:
+deps/range-v3/include/range/v3/range/access.hpp:
+deps/range-v3/include/range/v3/iterator/reverse_iterator.hpp:
+deps/range-v3/include/range/v3/iterator/basic_iterator.hpp:
+deps/range-v3/include/range/v3/detail/range_access.hpp:
+deps/range-v3/include/range/v3/utility/addressof.hpp:
+deps/range-v3/include/range/v3/utility/box.hpp:
+deps/range-v3/include/range/v3/utility/get.hpp:
+deps/range-v3/include/range/v3/detail/adl_get.hpp:
+deps/range-v3/include/range/v3/utility/semiregular_box.hpp:
+deps/range-v3/include/range/v3/functional/reference_wrapper.hpp:
+deps/range-v3/include/range/v3/utility/in_place.hpp:
+deps/range-v3/include/range/v3/range/primitives.hpp:
+deps/range-v3/include/range/v3/range/traits.hpp:
+deps/range-v3/include/range/v3/functional/compose.hpp:
+deps/range-v3/include/range/v3/functional/pipeable.hpp:
+deps/range-v3/include/range/v3/action/adjacent_remove_if.hpp:
+deps/range-v3/include/range/v3/action/erase.hpp:
+deps/range-v3/include/range/v3/action/insert.hpp:
+deps/range-v3/include/range/v3/algorithm/max.hpp:
+deps/range-v3/include/range/v3/iterator/common_iterator.hpp:
+deps/range-v3/include/range/v3/detail/variant.hpp:
+deps/range-v3/include/range/v3/utility/common_tuple.hpp:
+deps/range-v3/include/range/v3/functional/bind.hpp:
+deps/range-v3/include/range/v3/utility/tuple_algorithm.hpp:
+deps/range-v3/include/range/v3/algorithm/adjacent_remove_if.hpp:
+deps/range-v3/include/range/v3/algorithm/adjacent_find.hpp:
+deps/range-v3/include/range/v3/range/dangling.hpp:
+deps/range-v3/include/range/v3/algorithm/move.hpp:
+deps/range-v3/include/range/v3/algorithm/result_types.hpp:
+deps/range-v3/include/range/v3/functional/bind_back.hpp:
+deps/range-v3/include/range/v3/action/drop.hpp:
+deps/range-v3/include/range/v3/iterator/operations.hpp:
+deps/range-v3/include/range/v3/action/drop_while.hpp:
+deps/range-v3/include/range/v3/algorithm/find_if_not.hpp:
+deps/range-v3/include/range/v3/action/join.hpp:
+deps/range-v3/include/range/v3/action/push_back.hpp:
+deps/range-v3/include/range/v3/detail/with_braced_init_args.hpp:
+deps/range-v3/include/range/v3/action/push_front.hpp:
+deps/range-v3/include/range/v3/action/remove_if.hpp:
+deps/range-v3/include/range/v3/algorithm/remove_if.hpp:
+deps/range-v3/include/range/v3/algorithm/find_if.hpp:
+deps/range-v3/include/range/v3/action/reverse.hpp:
+deps/range-v3/include/range/v3/algorithm/reverse.hpp:
+deps/range-v3/include/range/v3/action/shuffle.hpp:
+deps/range-v3/include/range/v3/algorithm/shuffle.hpp:
+deps/range-v3/include/range/v3/utility/random.hpp:
+deps/range-v3/include/range/v3/algorithm/copy.hpp:
+deps/range-v3/include/range/v3/utility/copy.hpp:
+deps/range-v3/include/range/v3/algorithm/generate.hpp:
+deps/range-v3/include/range/v3/action/slice.hpp:
+deps/range-v3/include/range/v3/view/interface.hpp:
+deps/range-v3/include/range/v3/action/sort.hpp:
+deps/range-v3/include/range/v3/algorithm/sort.hpp:
+deps/range-v3/include/range/v3/algorithm/heap_algorithm.hpp:
+deps/range-v3/include/range/v3/algorithm/move_backward.hpp:
+deps/range-v3/include/range/v3/algorithm/partial_sort.hpp:
+deps/range-v3/include/range/v3/action/split.hpp:
+deps/range-v3/include/range/v3/range/conversion.hpp:
+deps/range-v3/include/range/v3/view/split.hpp:
+deps/range-v3/include/range/v3/algorithm/mismatch.hpp:
+deps/range-v3/include/range/v3/iterator/default_sentinel.hpp:
+deps/range-v3/include/range/v3/view/all.hpp:
+deps/range-v3/include/range/v3/view/ref.hpp:
+deps/range-v3/include/range/v3/detail/satisfy_boost_range.hpp:
+deps/range-v3/include/range/v3/view/subrange.hpp:
+deps/range-v3/include/range/v3/iterator/unreachable_sentinel.hpp:
+deps/range-v3/include/range/v3/view/view.hpp:
+deps/range-v3/include/range/v3/view/single.hpp:
+deps/range-v3/include/range/v3/utility/optional.hpp:
+deps/range-v3/include/range/v3/view/facade.hpp:
+deps/range-v3/include/range/v3/action/split_when.hpp:
+deps/range-v3/include/range/v3/view/split_when.hpp:
+deps/range-v3/include/range/v3/view/indirect.hpp:
+deps/range-v3/include/range/v3/view/adaptor.hpp:
+deps/range-v3/include/range/v3/utility/compressed_pair.hpp:
+deps/range-v3/include/range/v3/view/iota.hpp:
+deps/range-v3/include/range/v3/iterator/diffmax_t.hpp:
+deps/range-v3/include/range/v3/view/delimit.hpp:
+deps/range-v3/include/range/v3/view/take_while.hpp:
+deps/range-v3/include/range/v3/functional/indirect.hpp:
+deps/range-v3/include/range/v3/action/stable_sort.hpp:
+deps/range-v3/include/range/v3/algorithm/stable_sort.hpp:
+deps/range-v3/include/range/v3/algorithm/inplace_merge.hpp:
+deps/range-v3/include/range/v3/algorithm/lower_bound.hpp:
+deps/range-v3/include/range/v3/algorithm/aux_/lower_bound_n.hpp:
+deps/range-v3/include/range/v3/algorithm/aux_/partition_point_n.hpp:
+deps/range-v3/include/range/v3/algorithm/partition_point.hpp:
+deps/range-v3/include/range/v3/algorithm/merge.hpp:
+deps/range-v3/include/range/v3/algorithm/min.hpp:
+deps/range-v3/include/range/v3/algorithm/rotate.hpp:
+deps/range-v3/include/range/v3/algorithm/swap_ranges.hpp:
+deps/range-v3/include/range/v3/algorithm/upper_bound.hpp:
+deps/range-v3/include/range/v3/algorithm/aux_/upper_bound_n.hpp:
+deps/range-v3/include/range/v3/functional/not_fn.hpp:
+deps/range-v3/include/range/v3/iterator/move_iterators.hpp:
+deps/range-v3/include/range/v3/utility/memory.hpp:
+deps/range-v3/include/range/v3/utility/polymorphic_cast.hpp:
+deps/range-v3/include/range/v3/action/stride.hpp:
+deps/range-v3/include/range/v3/action/take.hpp:
+deps/range-v3/include/range/v3/action/take_while.hpp:
+deps/range-v3/include/range/v3/action/transform.hpp:
+deps/range-v3/include/range/v3/algorithm/transform.hpp:
+deps/range-v3/include/range/v3/action/unique.hpp:
+deps/range-v3/include/range/v3/algorithm/unique.hpp:
+deps/range-v3/include/range/v3/action/unstable_remove_if.hpp:
+deps/range-v3/include/range/v3/algorithm/unstable_remove_if.hpp:
+deps/range-v3/include/range/v3/algorithm.hpp:
+deps/range-v3/include/range/v3/algorithm/all_of.hpp:
+deps/range-v3/include/range/v3/algorithm/any_of.hpp:
+deps/range-v3/include/range/v3/algorithm/binary_search.hpp:
+deps/range-v3/include/range/v3/algorithm/contains.hpp:
+deps/range-v3/include/range/v3/algorithm/find.hpp:
+deps/range-v3/include/range/v3/algorithm/copy_backward.hpp:
+deps/range-v3/include/range/v3/algorithm/copy_if.hpp:
+deps/range-v3/include/range/v3/algorithm/copy_n.hpp:
+deps/range-v3/include/range/v3/algorithm/count.hpp:
+deps/range-v3/include/range/v3/algorithm/count_if.hpp:
+deps/range-v3/include/range/v3/algorithm/ends_with.hpp:
+deps/range-v3/include/range/v3/algorithm/equal.hpp:
+deps/range-v3/include/range/v3/algorithm/equal_range.hpp:
+deps/range-v3/include/range/v3/algorithm/aux_/equal_range_n.hpp:
+deps/range-v3/include/range/v3/algorithm/fill.hpp:
+deps/range-v3/include/range/v3/algorithm/fill_n.hpp:
+deps/range-v3/include/range/v3/algorithm/find_end.hpp:
+deps/range-v3/include/range/v3/algorithm/find_first_of.hpp:
+deps/range-v3/include/range/v3/algorithm/fold.hpp:
+deps/range-v3/include/range/v3/algorithm/fold_left.hpp:
+deps/range-v3/include/range/v3/algorithm/fold_right.hpp:
+deps/range-v3/include/range/v3/algorithm/for_each.hpp:
+deps/range-v3/include/range/v3/algorithm/for_each_n.hpp:
+deps/range-v3/include/range/v3/algorithm/generate_n.hpp:
+deps/range-v3/include/range/v3/algorithm/is_partitioned.hpp:
+deps/range-v3/include/range/v3/algorithm/is_sorted.hpp:
+deps/range-v3/include/range/v3/algorithm/is_sorted_until.hpp:
+deps/range-v3/include/range/v3/algorithm/lexicographical_compare.hpp:
+deps/range-v3/include/range/v3/algorithm/max_element.hpp:
+deps/range-v3/include/range/v3/algorithm/min_element.hpp:
+deps/range-v3/include/range/v3/algorithm/minmax.hpp:
+deps/range-v3/include/range/v3/algorithm/minmax_element.hpp:
+deps/range-v3/include/range/v3/algorithm/none_of.hpp:
+deps/range-v3/include/range/v3/algorithm/nth_element.hpp:
+deps/range-v3/include/range/v3/algorithm/partial_sort_copy.hpp:
+deps/range-v3/include/range/v3/algorithm/partition.hpp:
+deps/range-v3/include/range/v3/algorithm/partition_copy.hpp:
+deps/range-v3/include/range/v3/algorithm/permutation.hpp:
+deps/range-v3/include/range/v3/algorithm/remove.hpp:
+deps/range-v3/include/range/v3/algorithm/remove_copy.hpp:
+deps/range-v3/include/range/v3/algorithm/remove_copy_if.hpp:
+deps/range-v3/include/range/v3/algorithm/replace.hpp:
+deps/range-v3/include/range/v3/algorithm/replace_copy.hpp:
+deps/range-v3/include/range/v3/algorithm/replace_copy_if.hpp:
+deps/range-v3/include/range/v3/algorithm/replace_if.hpp:
+deps/range-v3/include/range/v3/algorithm/reverse_copy.hpp:
+deps/range-v3/include/range/v3/algorithm/rotate_copy.hpp:
+deps/range-v3/include/range/v3/algorithm/sample.hpp:
+deps/range-v3/include/range/v3/algorithm/search.hpp:
+deps/range-v3/include/range/v3/algorithm/search_n.hpp:
+deps/range-v3/include/range/v3/algorithm/set_algorithm.hpp:
+deps/range-v3/include/range/v3/algorithm/stable_partition.hpp:
+deps/range-v3/include/range/v3/algorithm/starts_with.hpp:
+deps/range-v3/include/range/v3/algorithm/unique_copy.hpp:
+deps/range-v3/include/range/v3/algorithm/aux_/merge_n.hpp:
+deps/range-v3/include/range/v3/algorithm/aux_/merge_n_with_buffer.hpp:
+deps/range-v3/include/range/v3/algorithm/aux_/sort_n_with_buffer.hpp:
+deps/range-v3/include/range/v3/core.hpp:
+deps/range-v3/include/range/v3/range/operations.hpp:
+deps/range-v3/include/range/v3/range_for.hpp:
+deps/range-v3/include/range/v3/view/getlines.hpp:
+deps/range-v3/include/range/v3/view/istream.hpp:
+deps/range-v3/include/range/v3/functional.hpp:
+deps/range-v3/include/range/v3/functional/arithmetic.hpp:
+deps/range-v3/include/range/v3/functional/on.hpp:
+deps/range-v3/include/range/v3/functional/overload.hpp:
+deps/range-v3/include/range/v3/iterator.hpp:
+deps/range-v3/include/range/v3/iterator/counted_iterator.hpp:
+deps/range-v3/include/range/v3/iterator/insert_iterators.hpp:
+deps/range-v3/include/range/v3/iterator/stream_iterators.hpp:
+deps/range-v3/include/range/v3/numeric.hpp:
+deps/range-v3/include/range/v3/numeric/accumulate.hpp:
+deps/range-v3/include/range/v3/numeric/adjacent_difference.hpp:
+deps/range-v3/include/range/v3/numeric/inner_product.hpp:
+deps/range-v3/include/range/v3/numeric/iota.hpp:
+deps/range-v3/include/range/v3/numeric/partial_sum.hpp:
+deps/range-v3/include/range/v3/range.hpp:
+deps/range-v3/include/range/v3/utility.hpp:
+deps/range-v3/include/range/v3/view.hpp:
+deps/range-v3/include/range/v3/view/addressof.hpp:
+deps/range-v3/include/range/v3/view/transform.hpp:
+deps/range-v3/include/range/v3/view/adjacent_filter.hpp:
+deps/range-v3/include/range/v3/view/adjacent_remove_if.hpp:
+deps/range-v3/include/range/v3/view/any_view.hpp:
+deps/range-v3/include/range/v3/view/c_str.hpp:
+deps/range-v3/include/range/v3/view/cache1.hpp:
+deps/range-v3/include/range/v3/view/cartesian_product.hpp:
+deps/range-v3/include/range/v3/view/empty.hpp:
+deps/range-v3/include/range/v3/view/chunk.hpp:
+deps/range-v3/include/range/v3/view/take.hpp:
+deps/range-v3/include/range/v3/view/chunk_by.hpp:
+deps/range-v3/include/range/v3/view/common.hpp:
+deps/range-v3/include/range/v3/view/concat.hpp:
+deps/range-v3/include/range/v3/utility/variant.hpp:
+deps/range-v3/include/range/v3/view/const.hpp:
+deps/range-v3/include/range/v3/view/counted.hpp:
+deps/range-v3/include/range/v3/view/cycle.hpp:
+deps/range-v3/include/range/v3/view/drop.hpp:
+deps/range-v3/include/range/v3/view/drop_exactly.hpp:
+deps/range-v3/include/range/v3/view/drop_last.hpp:
+deps/range-v3/include/range/v3/view/drop_while.hpp:
+deps/range-v3/include/range/v3/view/enumerate.hpp:
+deps/range-v3/include/range/v3/view/zip.hpp:
+deps/range-v3/include/range/v3/view/zip_with.hpp:
+deps/range-v3/include/range/v3/view/exclusive_scan.hpp:
+deps/range-v3/include/range/v3/view/filter.hpp:
+deps/range-v3/include/range/v3/view/remove_if.hpp:
+deps/range-v3/include/range/v3/view/for_each.hpp:
+deps/range-v3/include/range/v3/view/generate_n.hpp:
+deps/range-v3/include/range/v3/view/generate.hpp:
+deps/range-v3/include/range/v3/view/join.hpp:
+deps/range-v3/include/range/v3/view/repeat_n.hpp:
+deps/range-v3/include/range/v3/view/group_by.hpp:
+deps/range-v3/include/range/v3/view/indices.hpp:
+deps/range-v3/include/range/v3/view/intersperse.hpp:
+deps/range-v3/include/range/v3/view/linear_distribute.hpp:
+deps/range-v3/include/range/v3/view/map.hpp:
+deps/range-v3/include/range/v3/view/move.hpp:
+deps/range-v3/include/range/v3/view/partial_sum.hpp:
+deps/range-v3/include/range/v3/view/remove.hpp:
+deps/range-v3/include/range/v3/view/repeat.hpp:
+deps/range-v3/include/range/v3/view/replace.hpp:
+deps/range-v3/include/range/v3/view/replace_if.hpp:
+deps/range-v3/include/range/v3/view/reverse.hpp:
+deps/range-v3/include/range/v3/view/sample.hpp:
+deps/range-v3/include/range/v3/view/set_algorithm.hpp:
+deps/range-v3/include/range/v3/view/slice.hpp:
+deps/range-v3/include/range/v3/view/sliding.hpp:
+deps/range-v3/include/range/v3/view/span.hpp:
+deps/range-v3/include/range/v3/view/stride.hpp:
+deps/range-v3/include/range/v3/view/tail.hpp:
+deps/range-v3/include/range/v3/view/take_exactly.hpp:
+deps/range-v3/include/range/v3/view/take_last.hpp:
+deps/range-v3/include/range/v3/view/tokenize.hpp:
+deps/range-v3/include/range/v3/view/trim.hpp:
+deps/range-v3/include/range/v3/view/unbounded.hpp:
+deps/range-v3/include/range/v3/view/unique.hpp:
+plugin.hh:
+xmpp/stanza.hh:
+account.hh:
+omemo.hh:
+/usr/include/signal/signal_protocol.h:
+/usr/include/signal/ratchet.h:
+/usr/include/signal/signal_protocol_types.h:
+/usr/include/signal/curve.h:
+/usr/include/signal/session_record.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/sender_key_record.h:
+signal.hh:
+/usr/include/signal/key_helper.h:
+/usr/include/signal/session_builder.h:
+/usr/include/signal/session_cipher.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/protocol.h:
+/usr/include/signal/curve.h:
+gcrypt.hh:
+util.hh:
+.pgp.o: pgp.cpp plugin.hh pgp.hh
+plugin.hh:
+pgp.hh:
+.user.o: user.cpp plugin.hh account.hh omemo.hh \
+ /usr/include/signal/signal_protocol.h /usr/include/signal/ratchet.h \
+ /usr/include/signal/signal_protocol_types.h /usr/include/signal/curve.h \
+ /usr/include/signal/session_record.h \
+ /usr/include/signal/session_pre_key.h \
+ /usr/include/signal/sender_key_record.h signal.hh \
+ deps/fmt/include/fmt/core.h /usr/include/signal/key_helper.h \
+ /usr/include/signal/session_builder.h \
+ /usr/include/signal/session_cipher.h \
+ /usr/include/signal/session_pre_key.h /usr/include/signal/protocol.h \
+ /usr/include/signal/curve.h user.hh \
+ deps/optional/include/tl/optional.hpp channel.hh
+plugin.hh:
+account.hh:
+omemo.hh:
+/usr/include/signal/signal_protocol.h:
+/usr/include/signal/ratchet.h:
+/usr/include/signal/signal_protocol_types.h:
+/usr/include/signal/curve.h:
+/usr/include/signal/session_record.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/sender_key_record.h:
+signal.hh:
+deps/fmt/include/fmt/core.h:
+/usr/include/signal/key_helper.h:
+/usr/include/signal/session_builder.h:
+/usr/include/signal/session_cipher.h:
+/usr/include/signal/session_pre_key.h:
+/usr/include/signal/protocol.h:
+/usr/include/signal/curve.h:
+user.hh:
+deps/optional/include/tl/optional.hpp:
+channel.hh:
+.util.o: util.cpp plugin.hh util.hh
+plugin.hh:
+util.hh:
+xmpp/.presence.o: xmpp/presence.cpp xmpp/stanza.hh
+xmpp/stanza.hh:
+xmpp/.iq.o: xmpp/iq.cpp xmpp/stanza.hh
+xmpp/stanza.hh:
+xmpp/.node.o: xmpp/node.cpp xmpp/node.hh deps/fmt/include/fmt/core.h \
+ deps/optional/include/tl/optional.hpp xmpp/xep-0027.inl xmpp/ns.hh \
+ xmpp/xep-0030.inl xmpp/xep-0045.inl xmpp/xep-0049.inl xmpp/xep-0115.inl \
+ xmpp/xep-0280.inl xmpp/xep-0319.inl xmpp/rfc-6121.inl
+xmpp/node.hh:
+deps/fmt/include/fmt/core.h:
+deps/optional/include/tl/optional.hpp:
+xmpp/xep-0027.inl:
+xmpp/ns.hh:
+xmpp/xep-0030.inl:
+xmpp/xep-0045.inl:
+xmpp/xep-0049.inl:
+xmpp/xep-0115.inl:
+xmpp/xep-0280.inl:
+xmpp/xep-0319.inl:
+xmpp/rfc-6121.inl:
diff --git a/.gitignore b/.gitignore
index e635207..e46f175 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,7 +3,6 @@
 compile_commands.json
 .cache
 cscope*
-.depend
 *.d
 *.gcno
 *.gcda
diff --git a/makefile b/makefile
index bab3dd2..b16c43c 100644
--- a/makefile
+++ b/makefile
@@ -5,8 +5,6 @@ endif
 
 RM ?= rm -f
 FIND ?= find
-CC = gcc
-CXX = g++
 
 INCLUDES=-Ilibstrophe -Ideps -Ideps/optional/include -Ideps/range-v3/include -Ideps/fmt/include \
 	 $(shell xml2-config --cflags) \
@@ -16,20 +14,30 @@ CFLAGS+=$(DBGCFLAGS) \
 	-fno-omit-frame-pointer -fPIC \
 	-fvisibility=hidden -fvisibility-inlines-hidden \
 	-fdebug-prefix-map=.=$(shell readlink -f .) \
-	-std=gnu99 -gdwarf-4 -fkeep-inline-functions  \
+	-std=gnu99 -gdwarf-4 \
 	-Wall -Wextra -pedantic \
 	-Werror-implicit-function-declaration \
 	-Wno-missing-field-initializers \
 	-D_XOPEN_SOURCE=700 \
 	$(INCLUDES)
+ifeq ($(CC),gcc)
+	CFLAGS+= -fkeep-inline-functions
+else ifeq ($(CC),clang)
+	CFLAGS+=
+endif
 CPPFLAGS+=$(DBGCFLAGS) -O0 \
 	  -fno-omit-frame-pointer -fPIC \
 	  -fvisibility=hidden -fvisibility-inlines-hidden \
-	  -std=c++20 -gdwarf-4 -fkeep-inline-functions  \
+	  -std=c++20 -gdwarf-4 \
 	  -Wall -Wextra -pedantic \
 	  -Wno-missing-field-initializers \
 	  $(INCLUDES)
 # -DDOCTEST_CONFIG_DISABLE
+ifeq ($(CXX),g++)
+	CPPFLAGS+= -fkeep-inline-functions
+else ifeq ($(CXX),clang)
+	CPPFLAGS+=
+endif
 LDFLAGS+=$(DBGLDFLAGS) \
 	 -shared -gdwarf-4 \
 	 $(DBGCFLAGS)
@@ -150,7 +158,7 @@ deps/fmt/libfmt.a:
 fmt: deps/fmt/libfmt.a
 
 tests/xmpp.cov.so: $(COVS) $(DEPS) $(HDRS)
-	$(CXX) --coverage -O0 $(LDFLAGS) -o tests/xmpp.cov.so $(COVS) $(DEPS) $(LDLIBS)
+	$(CXX) --coverage -O0 $(LDFLAGS) -o tests/xmpp.cov.so $(COVS) $(DEPS) $(LDLIBS) -lstdc++
 
 tests/run: $(COVS) tests/main.cc tests/xmpp.cov.so
 	env --chdir tests $(CXX) $(CPPFLAGS) -o run ./xmpp.cov.so main.cc $(LDLIBS)