Skip to content

Commit 76b5083

Browse files
committed
Update top-level readme
1 parent 0d10e83 commit 76b5083

File tree

1 file changed

+101
-87
lines changed

1 file changed

+101
-87
lines changed

README.md

Lines changed: 101 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,109 @@
11
# Stratum V2 Protocol Specification
22
This repository contains the Stratum V2 protocol specification.
33

4-
- [0. Abstract](./00-Abstract.md#0-abstract)
5-
- [1. Motivation](./01-Motivation.md#1-motivation)
6-
- [2. Design Goals](./02-Design-Goals.md#2-design-goals)
7-
- [3. Protocol Overview](./03-Protocol-Overview.md#3-protocol-overview)
4+
- [0. Abstract](./00-Abstract.md)
5+
- [1. Motivation](./01-Motivation.md)
6+
- [2. Design Goals](./02-Design-Goals.md)
7+
- [3. Protocol Overview](./03-Protocol-Overview.md)
88
- [3.1 Data Types Mapping](./03-Protocol-Overview.md#31-data-types-mapping)
99
- [3.2 Framing](./03-Protocol-Overview.md#32-framing)
10-
- [3.3 Protocol Security](./03-Protocol-Overview.md#33-protocol-security)
11-
- [3.3.1 Motivation for Authenticated Encryption with Associated Data](./03-Protocol-Overview.md#331-motivation-for-authenticated-encryption-with-associated-data)
12-
- [3.3.2 Motivation for Using the Noise Protocol Framework](./03-Protocol-Overview.md#332-motivation-for-using-the-noise-protocol-framework)
13-
- [3.3.3 Authenticated Key Agreement Handshake](./03-Protocol-Overview.md#333-authenticated-key-agreement-handshake)
14-
- [3.3.4 Signature Noise Message](./03-Protocol-Overview.md#334-signature-noise-message)
15-
- [3.3.5 Certificate Format](./03-Protocol-Overview.md#335-certificate-format)
16-
- [3.3.6 URL Scheme and Pool Authority Key](./03-Protocol-Overview.md#336-url-scheme-and-pool-authority-key)
17-
- [3.4 Reconnecting Downstream Nodes](./03-Protocol-Overview.md#34-reconnecting-downstream-nodes)
18-
- [3.5 Protocol Extensions](./03-Protocol-Overview.md#35-protocol-extensions)
19-
- [3.6 Error Codes](./03-Protocol-Overview.md#36-error-codes)
20-
- [3.7 Common Protocol Messages](./03-Protocol-Overview.md#37-common-protocol-messages)
21-
- [3.7.1 SetupConnection (Client -> Server)](./03-Protocol-Overview.md#371-setupconnection-client---server)
22-
- [3.7.2 SetupConnection.Success (Server -> Client)](./03-Protocol-Overview.md#372-setupconnectionsuccess-server---client)
23-
- [3.7.3 SetupConnection.Error (Server -> Client)](./03-Protocol-Overview.md#373-setupconnectionerror-server---client)
24-
- [3.7.4 ChannelEndpointChanged (Server -> Client)](./03-Protocol-Overview.md#374-channelendpointchanged-server---client)
25-
- [4. Mining Protocol](./04-Mining-Protocol.md#4-mining-protocol)
26-
- [4.1 Channels](./04-Mining-Protocol.md#41-channels)
27-
- [4.1.1 Standard Channels](./04-Mining-Protocol.md#411-standard-channels)
28-
- [4.1.2 Extended Channels](./04-Mining-Protocol.md#412-extended-channels)
29-
- [4.1.3 Group Channels](./04-Mining-Protocol.md#413-group-channels)
30-
- [4.1.4 Future Jobs](./04-Mining-Protocol.md#414-future-jobs)
31-
- [4.2 Hashing Space Distribution](./04-Mining-Protocol.md#42-hashing-space-distribution)
32-
- [4.3 Mining Protocol Messages](./04-Mining-Protocol.md#43-mining-protocol-messages)
33-
- [4.3.1 SetupConnection Flags for Mining Protocol](./04-Mining-Protocol.md#431-setupconnection-flags-for-mining-protocol)
34-
- [4.3.2 OpenStandardMiningChannel (Client -> Server)](./04-Mining-Protocol.md#432-openstandardminingchannel-client---server)
35-
- [4.3.3 OpenStandardMiningChannel.Success (Server -> Client)](./04-Mining-Protocol.md#433-openstandardminingchannelsuccess-server---client)
36-
- [4.3.4 OpenExtendedMiningChannel (Client -> Server)](./04-Mining-Protocol.md#434-openextendedminingchannel-client---server)
37-
- [4.3.5 OpenExtendedMiningChannel.Success (Server -> Client)](./04-Mining-Protocol.md#435-openextendedminingchannelsuccess-server---client)
38-
- [4.3.6 OpenMiningChannel.Error (Server -> Client)](./04-Mining-Protocol.md#436-openminingchannelerror-server---client)
39-
- [4.3.7 UpdateChannel (Client -> Server)](./04-Mining-Protocol.md#437-updatechannel-client---server)
40-
- [4.3.8 UpdateChannel.Error (Server -> Client)](./04-Mining-Protocol.md#438-updatechannelerror-server---client)
41-
- [4.3.9 CloseChannel (Client -> Server, Server -> Client)](./04-Mining-Protocol.md#439-closechannel-client---server-server---client)
42-
- [4.3.10 SetExtranoncePrefix (Server -> Client)](./04-Mining-Protocol.md#4310-setextranonceprefix-server---client)
43-
- [4.3.11 SubmitSharesStandard (Client -> Server)](./04-Mining-Protocol.md#4311-submitsharesstandard-client---server)
44-
- [4.3.12 SubmitSharesExtended (Client -> Server)](./04-Mining-Protocol.md#4312-submitsharesextended-client---server)
45-
- [4.3.13 SubmitShares.Success (Server -> Client)](./04-Mining-Protocol.md#4313-submitsharessuccess-server---client)
46-
- [4.3.14 SubmitShares.Error (Server -> Client)](./04-Mining-Protocol.md#4314-submitshareserror-server---client)
47-
- [4.3.15 NewMiningJob (Server -> Client)](./04-Mining-Protocol.md#4315-newminingjob-server---client)
48-
- [4.3.16 NewExtendedMiningJob (Server -> Client)](./04-Mining-Protocol.md#4316-newextendedminingjob-server---client)
49-
- [4.3.17 SetNewPrevHash (Server -> Client, broadcast)](./04-Mining-Protocol.md#4317-setnewprevhash-server---client-broadcast)
50-
- [4.3.18 SetCustomMiningJob (Client -> Server)](./04-Mining-Protocol.md#4318-setcustomminingjob-client---server)
51-
- [4.3.19 SetCustomMiningJob.Success (Server -> Client)](./04-Mining-Protocol.md#4319-setcustomminingjobsuccess-server---client)
52-
- [4.3.20 SetCustomMiningJob.Error (Server -> Client)](./04-Mining-Protocol.md#4320-setcustomminingjoberror-server---client)
53-
- [4.3.21 SetTarget (Server -> Client)](./04-Mining-Protocol.md#4321-settarget-server---client)
54-
- [4.3.22 Reconnect (Server -> Client)](./04-Mining-Protocol.md#4322-reconnect-server---client)
55-
- [4.3.23 SetGroupChannel (Server -> Client)](./04-Mining-Protocol.md#4323-setgroupchannel-server---client)
56-
- [5. Job Negotiation Protocol](./05-Job-Negotiation-Protocol.md#5-job-negotiation-protocol)
57-
- [5.1 Job Negotiation Protocol Messages](./05-Job-Negotiation-Protocol.md#51-job-negotiation-protocol-messages)
58-
- [5.1.1 SetupConnection Flags for Job Negotiation Protocol](./05-Job-Negotiation-Protocol.md#511-setupconnection-flags-for-job-negotiation-protocol)
59-
- [5.1.2 AllocateMiningJobToken (Client -> Server)](./05-Job-Negotiation-Protocol.md#512-allocateminingjobtoken-client---server)
60-
- [5.1.3 AllocateMiningJobToken.Success (Server -> Client)](./05-Job-Negotiation-Protocol.md#513-allocateminingjobtokensuccess-server---client)
61-
- [5.1.4 CommitMiningJob (Client -> Server)](./05-Job-Negotiation-Protocol.md#514-commitminingjob-client---server)
62-
- [5.1.5 CommitMiningJob.Success (Server -> Client)](./05-Job-Negotiation-Protocol.md#515-commitminingjobsuccess-server---client)
63-
- [5.1.6 CommitMiningJob.Error (Server->Client)](./05-Job-Negotiation-Protocol.md#516-commitminingjoberror-server-client)
64-
- [5.1.7 IdentifyTransactions (Server->Client)](./05-Job-Negotiation-Protocol.md#517-identifytransactions-server-client)
65-
- [5.1.8 IdentifyTransactions.Success (Client->Server)](./05-Job-Negotiation-Protocol.md#518-identifytransactionssuccess-client-server)
66-
- [5.1.9 ProvideMissingTransactions (Server->Client)](./05-Job-Negotiation-Protocol.md#519-providemissingtransactions-server-client)
67-
- [5.1.10 ProvideMissingTransactions.Success (Client->Server)](./05-Job-Negotiation-Protocol.md#5110-providemissingtransactionssuccess-client-server)
68-
- [6. Template Distribution Protocol](./06-Template-Distribution-Protocol.md#6-template-distribution-protocol)
69-
- [6.1 CoinbaseOutputDataSize (Client -> Server)](./06-Template-Distribution-Protocol.md#61-coinbaseoutputdatasize-client---server)
70-
- [6.2 NewTemplate (Server -> Client)](./06-Template-Distribution-Protocol.md#62-newtemplate-server---client)
71-
- [6.3 SetNewPrevHash (Server -> Client)](./06-Template-Distribution-Protocol.md#63-setnewprevhash-server---client)
72-
- [6.4 RequestTransactionData (Client -> Server)](./06-Template-Distribution-Protocol.md#64-requesttransactiondata-client---server)
73-
- [6.5 RequestTransactionData.Success (Server->Client)](./06-Template-Distribution-Protocol.md#65-requesttransactiondatasuccess-server-client)
74-
- [6.6 RequestTransactionData.Error (Server->Client)](./06-Template-Distribution-Protocol.md#66-requesttransactiondataerror-server-client)
75-
- [6.7 SubmitSolution (Client -> Server)](./06-Template-Distribution-Protocol.md#67-submitsolution-client---server)
76-
- [7. Message Types](./07-Message-Types.md#7-message-types)
77-
- [8. Extensions](./08-Extensions.md#8-extensions)
78-
- [9. Discussion](./09-Discussion.md#9-discussion)
79-
- [9.1 Speculative Mining Jobs](./09-Discussion.md#91-speculative-mining-jobs)
80-
- [9.2 Rolling `nTime`](./09-Discussion.md#92-rolling-ntime)
81-
- [9.2.1 Hardware nTime rolling](./09-Discussion.md#921-hardware-ntime-rolling)
82-
- [9.3 Notes](./09-Discussion.md#93-notes)
83-
- [9.4 Usage Scenarios](./09-Discussion.md#94-usage-scenarios)
84-
- [9.4.1 End Device (v2 ST)](./09-Discussion.md#941-end-device-v2-st)
85-
- [9.4.2 Transparent Proxy (v2 any -> v2 any)](./09-Discussion.md#942-transparent-proxy-v2-any---v2-any)
86-
- [9.4.3 Difficulty Aggregating Proxy (v2 any -> v2 EX)](./09-Discussion.md#943-difficulty-aggregating-proxy-v2-any---v2-ex)
87-
- [9.4.4 Proxy (v1 -> v2)](./09-Discussion.md#944-proxy-v1---v2)
88-
- [9.4.5 Proxy (v2 -> v1)](./09-Discussion.md#945-proxy-v2---v1)
89-
- [9.5. FAQ](./09-Discussion.md#95-faq)
90-
- [9.5.1 Why is the protocol binary?](./09-Discussion.md#951-why-is-the-protocol-binary)
91-
- [9.6 Terminology](./09-Discussion.md#96-terminology)
92-
- [9.7 Open Questions / Issues](./09-Discussion.md#97-open-questions--issues)
10+
- [3.3 Reconnecting Downstream Nodes](./03-Protocol-Overview.md#33-reconnecting-downstream-nodes)
11+
- [3.4 Protocol Extensions](./03-Protocol-Overview.md#34-protocol-extensions)
12+
- [3.5 Error Codes](./03-Protocol-Overview.md#35-error-codes)
13+
- [3.6 Common Protocol Messages](./03-Protocol-Overview.md#36-common-protocol-messages)
14+
- [3.6.1 SetupConnection (Client -> Server)](./03-Protocol-Overview.md#361-setupconnection-client---server)
15+
- [3.6.2 SetupConnection.Success (Server -> Client)](./03-Protocol-Overview.md#362-setupconnectionsuccess-server---client)
16+
- [3.6.3 SetupConnection.Error (Server -> Client)](./03-Protocol-Overview.md#363-setupconnectionerror-server---client)
17+
- [3.6.4 ChannelEndpointChanged (Server -> Client)](./03-Protocol-Overview.md#364-channelendpointchanged-server---client)
18+
- [4. Protocol Security](./04-Protocol-Security.md)
19+
- [4.1 Motivation for Authenticated Encryption with Associated Data](./04-Protocol-Security.md#41-motivation-for-authenticated-encryption-with-associated-data)
20+
- [4.2 Motivation for Using the Noise Protocol Framework](./04-Protocol-Security.md#42-motivation-for-using-the-noise-protocol-framework)
21+
- [4.3 Choice of cryptographic primitives](./04-Protocol-Security.md#43-choice-of-cryptographic-primitives)
22+
- [4.3.1 Elliptic Curve](./04-Protocol-Security.md#431-elliptic-curve)
23+
- [4.3.1.1 EC point encoding remarks](./04-Protocol-Security.md#4311-ec-point-encoding-remarks)
24+
- [4.3.2 Hash function](./04-Protocol-Security.md#432-hash-function)
25+
- [4.3.3 Cipher function for authenticated encryption](./04-Protocol-Security.md#433-cipher-function-for-authenticated-encryption)
26+
- [4.4 Cryptographic operations](./04-Protocol-Security.md#44-cryptographic-operations)
27+
- [4.4.1 CipherState object](./04-Protocol-Security.md#441-cipherstate-object)
28+
- [4.4.2 Handshake Operation](./04-Protocol-Security.md#442-handshake-operation)
29+
- [4.5 Authenticated Key Agreement Handshake](./04-Protocol-Security.md#45-authenticated-key-agreement-handshake)
30+
- [4.5.1 Handshake Act 1: Noise protocol proposal](./04-Protocol-Security.md#451-handshake-act-1-noise-protocol-proposal)
31+
- [4.5.2 Handshake Act 2: Noise protocol choice](./04-Protocol-Security.md#452-handshake-act-2-noise-protocol-choice)
32+
- [4.5.3 Handshake Act 3: NX-handshake part 1 `-> e`](./04-Protocol-Security.md#453-handshake-act-3-nx-handshake-part-1---e)
33+
- [4.5.4 Handshake Act 4: NX-handshake part 2 `<- e, ee, s, es, SIGNATURE_NOISE_MESSAGE`](./04-Protocol-Security.md#454-handshake-act-4-nx-handshake-part-2---e-ee-s-es-signature_noise_message)
34+
- [4.5.5 Server authentication](./04-Protocol-Security.md#455-server-authentication)
35+
- [4.5.5.1 Signature structure](./04-Protocol-Security.md#4551-signature-structure)
36+
- [4.5.6 Transport message encryption and format](./04-Protocol-Security.md#456-transport-message-encryption-and-format)
37+
- [4.6 URL Scheme and Pool Authority Key](./04-Protocol-Security.md#46-url-scheme-and-pool-authority-key)
38+
- [4.7 References](./04-Protocol-Security.md#47-references)
39+
- [5. Mining Protocol](./05-Mining-Protocol.md)
40+
- [5.1 Channels](./05-Mining-Protocol.md#51-channels)
41+
- [5.1.1 Standard Channels](./05-Mining-Protocol.md#511-standard-channels)
42+
- [5.1.2 Extended Channels](./05-Mining-Protocol.md#512-extended-channels)
43+
- [5.1.3 Group Channels](./05-Mining-Protocol.md#513-group-channels)
44+
- [5.1.4 Future Jobs](./05-Mining-Protocol.md#514-future-jobs)
45+
- [5.2 Hashing Space Distribution](./05-Mining-Protocol.md#52-hashing-space-distribution)
46+
- [5.3 Mining Protocol Messages](./05-Mining-Protocol.md#53-mining-protocol-messages)
47+
- [5.3.1 SetupConnection Flags for Mining Protocol](./05-Mining-Protocol.md#531-setupconnection-flags-for-mining-protocol)
48+
- [5.3.2 OpenStandardMiningChannel (Client -> Server)](./05-Mining-Protocol.md#532-openstandardminingchannel-client---server)
49+
- [5.3.3 OpenStandardMiningChannel.Success (Server -> Client)](./05-Mining-Protocol.md#533-openstandardminingchannelsuccess-server---client)
50+
- [5.3.4 OpenExtendedMiningChannel (Client -> Server)](./05-Mining-Protocol.md#534-openextendedminingchannel-client---server)
51+
- [5.3.5 OpenExtendedMiningChannel.Success (Server -> Client)](./05-Mining-Protocol.md#535-openextendedminingchannelsuccess-server---client)
52+
- [5.3.6 OpenMiningChannel.Error (Server -> Client)](./05-Mining-Protocol.md#536-openminingchannelerror-server---client)
53+
- [5.3.7 UpdateChannel (Client -> Server)](./05-Mining-Protocol.md#537-updatechannel-client---server)
54+
- [5.3.8 UpdateChannel.Error (Server -> Client)](./05-Mining-Protocol.md#538-updatechannelerror-server---client)
55+
- [5.3.9 CloseChannel (Client -> Server, Server -> Client)](./05-Mining-Protocol.md#539-closechannel-client---server-server---client)
56+
- [5.3.10 SetExtranoncePrefix (Server -> Client)](./05-Mining-Protocol.md#5310-setextranonceprefix-server---client)
57+
- [5.3.11 SubmitSharesStandard (Client -> Server)](./05-Mining-Protocol.md#5311-submitsharesstandard-client---server)
58+
- [5.3.12 SubmitSharesExtended (Client -> Server)](./05-Mining-Protocol.md#5312-submitsharesextended-client---server)
59+
- [5.3.13 SubmitShares.Success (Server -> Client)](./05-Mining-Protocol.md#5313-submitsharessuccess-server---client)
60+
- [5.3.14 SubmitShares.Error (Server -> Client)](./05-Mining-Protocol.md#5314-submitshareserror-server---client)
61+
- [5.3.15 NewMiningJob (Server -> Client)](./05-Mining-Protocol.md#5315-newminingjob-server---client)
62+
- [5.3.16 NewExtendedMiningJob (Server -> Client)](./05-Mining-Protocol.md#5316-newextendedminingjob-server---client)
63+
- [5.3.17 SetNewPrevHash (Server -> Client, broadcast)](./05-Mining-Protocol.md#5317-setnewprevhash-server---client-broadcast)
64+
- [5.3.18 SetCustomMiningJob (Client -> Server)](./05-Mining-Protocol.md#5318-setcustomminingjob-client---server)
65+
- [5.3.19 SetCustomMiningJob.Success (Server -> Client)](./05-Mining-Protocol.md#5319-setcustomminingjobsuccess-server---client)
66+
- [5.3.20 SetCustomMiningJob.Error (Server -> Client)](./05-Mining-Protocol.md#5320-setcustomminingjoberror-server---client)
67+
- [5.3.21 SetTarget (Server -> Client)](./05-Mining-Protocol.md#5321-settarget-server---client)
68+
- [5.3.22 Reconnect (Server -> Client)](./05-Mining-Protocol.md#5322-reconnect-server---client)
69+
- [5.3.23 SetGroupChannel (Server -> Client)](./05-Mining-Protocol.md#5323-setgroupchannel-server---client)
70+
- [6. Job Negotiation Protocol](./06-Job-Negotiation-Protocol.md)
71+
- [6.1 Job Negotiation Protocol Messages](./06-Job-Negotiation-Protocol.md#61-job-negotiation-protocol-messages)
72+
- [6.1.1 SetupConnection Flags for Job Negotiation Protocol](./06-Job-Negotiation-Protocol.md#611-setupconnection-flags-for-job-negotiation-protocol)
73+
- [6.1.2 AllocateMiningJobToken (Client -> Server)](./06-Job-Negotiation-Protocol.md#612-allocateminingjobtoken-client---server)
74+
- [6.1.3 AllocateMiningJobToken.Success (Server -> Client)](./06-Job-Negotiation-Protocol.md#613-allocateminingjobtokensuccess-server---client)
75+
- [6.1.4 CommitMiningJob (Client -> Server)](./06-Job-Negotiation-Protocol.md#614-commitminingjob-client---server)
76+
- [6.1.5 CommitMiningJob.Success (Server -> Client)](./06-Job-Negotiation-Protocol.md#615-commitminingjobsuccess-server---client)
77+
- [6.1.6 CommitMiningJob.Error (Server->Client)](./06-Job-Negotiation-Protocol.md#616-commitminingjoberror-server-client)
78+
- [6.1.7 IdentifyTransactions (Server->Client)](./06-Job-Negotiation-Protocol.md#617-identifytransactions-server-client)
79+
- [6.1.8 IdentifyTransactions.Success (Client->Server)](./06-Job-Negotiation-Protocol.md#618-identifytransactionssuccess-client-server)
80+
- [6.1.9 ProvideMissingTransactions (Server->Client)](./06-Job-Negotiation-Protocol.md#619-providemissingtransactions-server-client)
81+
- [6.1.10 ProvideMissingTransactions.Success (Client->Server)](./06-Job-Negotiation-Protocol.md#6110-providemissingtransactionssuccess-client-server)
82+
- [7. Template Distribution Protocol](./07-Template-Distribution-Protocol.md)
83+
- [7.1 CoinbaseOutputDataSize (Client -> Server)](./07-Template-Distribution-Protocol.md#71-coinbaseoutputdatasize-client---server)
84+
- [7.2 NewTemplate (Server -> Client)](./07-Template-Distribution-Protocol.md#72-newtemplate-server---client)
85+
- [7.3 SetNewPrevHash (Server -> Client)](./07-Template-Distribution-Protocol.md#73-setnewprevhash-server---client)
86+
- [7.4 RequestTransactionData (Client -> Server)](./07-Template-Distribution-Protocol.md#74-requesttransactiondata-client---server)
87+
- [7.5 RequestTransactionData.Success (Server->Client)](./07-Template-Distribution-Protocol.md#75-requesttransactiondatasuccess-server-client)
88+
- [7.6 RequestTransactionData.Error (Server->Client)](./07-Template-Distribution-Protocol.md#76-requesttransactiondataerror-server-client)
89+
- [7.7 SubmitSolution (Client -> Server)](./07-Template-Distribution-Protocol.md#77-submitsolution-client---server)
90+
- [8. Message Types](./08-Message-Types.md)
91+
- [9. Extensions](./09-Extensions.md)
92+
- [10. Discussion](./10-Discussion.md#10-discussion)
93+
- [10.1 Speculative Mining Jobs](./10-Discussion.md#101-speculative-mining-jobs)
94+
- [10.2 Rolling `nTime`](./10-Discussion.md#102-rolling-ntime)
95+
- [10.2.1 Hardware nTime rolling](./10-Discussion.md#1021-hardware-ntime-rolling)
96+
- [10.3 Notes](./10-Discussion.md#103-notes)
97+
- [10.4 Usage Scenarios](./10-Discussion.md#104-usage-scenarios)
98+
- [10.4.1 End Device (v2 ST)](./10-Discussion.md#1041-end-device-v2-st)
99+
- [10.4.2 Transparent Proxy (v2 any -> v2 any)](./10-Discussion.md#1042-transparent-proxy-v2-any---v2-any)
100+
- [10.4.3 Difficulty Aggregating Proxy (v2 any -> v2 EX)](./10-Discussion.md#1043-difficulty-aggregating-proxy-v2-any---v2-ex)
101+
- [10.4.4 Proxy (v1 -> v2)](./10-Discussion.md#1044-proxy-v1---v2)
102+
- [10.4.5 Proxy (v2 -> v1)](./10-Discussion.md#1045-proxy-v2---v1)
103+
- [10.5. FAQ](./10-Discussion.md#105-faq)
104+
- [10.5.1 Why is the protocol binary?](./10-Discussion.md#1051-why-is-the-protocol-binary)
105+
- [10.6 Terminology](./10-Discussion.md#106-terminology)
106+
- [10.7 Open Questions / Issues](./10-Discussion.md#107-open-questions--issues)
93107

94108
## Authors
95109
Pavel Moravec <[email protected]>

0 commit comments

Comments
 (0)