@libp2p/peer-store 1.0.3 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/address-book.d.ts +1 -3
- package/dist/src/address-book.d.ts.map +1 -1
- package/dist/src/address-book.js +68 -45
- package/dist/src/address-book.js.map +1 -1
- package/dist/src/index.d.ts +8 -20
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +28 -26
- package/dist/src/index.js.map +1 -1
- package/dist/src/key-book.d.ts +1 -1
- package/dist/src/key-book.d.ts.map +1 -1
- package/dist/src/key-book.js +35 -12
- package/dist/src/key-book.js.map +1 -1
- package/dist/src/metadata-book.d.ts +1 -1
- package/dist/src/metadata-book.d.ts.map +1 -1
- package/dist/src/metadata-book.js +63 -29
- package/dist/src/metadata-book.js.map +1 -1
- package/dist/src/proto-book.d.ts +1 -1
- package/dist/src/proto-book.d.ts.map +1 -1
- package/dist/src/proto-book.js +53 -33
- package/dist/src/proto-book.js.map +1 -1
- package/dist/src/store.d.ts.map +1 -1
- package/dist/src/store.js +24 -22
- package/dist/src/store.js.map +1 -1
- package/package.json +8 -8
- package/src/README.md +4 -4
- package/src/address-book.ts +76 -59
- package/src/index.ts +34 -46
- package/src/key-book.ts +38 -15
- package/src/metadata-book.ts +68 -34
- package/src/proto-book.ts +58 -38
- package/src/store.ts +28 -24
package/dist/src/key-book.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-book.js","sourceRoot":"","sources":["../../src/key-book.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAKhD,MAAM,GAAG,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAA;AAEhD,MAAM,UAAU,GAAG,eAAe,CAAA;AAElC,MAAM,OAAO,gBAAgB;IAI3B;;OAEG;IACH,YAAa,aAAyC,EAAE,KAAY;QAClE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAE,MAAc,EAAE,SAAqB;QAC9C,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAEjC,IAAI,CAAC,CAAC,SAAS,YAAY,UAAU,CAAC,EAAE;YACtC,GAAG,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAA;YACtE,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,4CAA4C,CAAC,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;SACrG;QAED,GAAG,CAAC,sBAAsB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"key-book.js","sourceRoot":"","sources":["../../src/key-book.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Store } from './store.js';
|
|
2
|
-
import type { PeerStore, MetadataBook } from '@libp2p/interfaces/
|
|
2
|
+
import type { PeerStore, MetadataBook } from '@libp2p/interfaces/peer-store';
|
|
3
3
|
import type { PeerId } from '@libp2p/interfaces/peer-id';
|
|
4
4
|
export declare class PeerStoreMetadataBook implements MetadataBook {
|
|
5
5
|
private readonly dispatchEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-book.d.ts","sourceRoot":"","sources":["../../src/metadata-book.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"metadata-book.d.ts","sourceRoot":"","sources":["../../src/metadata-book.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAgC,MAAM,+BAA+B,CAAA;AAC1G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAMxD,qBAAa,qBAAsB,YAAW,YAAY;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAE7B;;;OAGG;gBACU,aAAa,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK;IAKpE;;OAEG;IACG,GAAG,CAAE,MAAM,EAAE,MAAM;IAuBzB;;OAEG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAqBrC,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAwC5D;;OAEG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU;IA8CxD,MAAM,CAAE,MAAM,EAAE,MAAM;IAuCtB,WAAW,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAsC/C"}
|
|
@@ -20,9 +20,9 @@ export class PeerStoreMetadataBook {
|
|
|
20
20
|
*/
|
|
21
21
|
async get(peerId) {
|
|
22
22
|
peerId = peerIdFromPeerId(peerId);
|
|
23
|
-
log('get await read lock');
|
|
23
|
+
log.trace('get await read lock');
|
|
24
24
|
const release = await this.store.lock.readLock();
|
|
25
|
-
log('get got read lock');
|
|
25
|
+
log.trace('get got read lock');
|
|
26
26
|
try {
|
|
27
27
|
const peer = await this.store.load(peerId);
|
|
28
28
|
return peer.metadata;
|
|
@@ -33,7 +33,7 @@ export class PeerStoreMetadataBook {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
finally {
|
|
36
|
-
log('get release read lock');
|
|
36
|
+
log.trace('get release read lock');
|
|
37
37
|
release();
|
|
38
38
|
}
|
|
39
39
|
return new Map();
|
|
@@ -43,9 +43,9 @@ export class PeerStoreMetadataBook {
|
|
|
43
43
|
*/
|
|
44
44
|
async getValue(peerId, key) {
|
|
45
45
|
peerId = peerIdFromPeerId(peerId);
|
|
46
|
-
log('getValue await read lock');
|
|
46
|
+
log.trace('getValue await read lock');
|
|
47
47
|
const release = await this.store.lock.readLock();
|
|
48
|
-
log('getValue got read lock');
|
|
48
|
+
log.trace('getValue got read lock');
|
|
49
49
|
try {
|
|
50
50
|
const peer = await this.store.load(peerId);
|
|
51
51
|
return peer.metadata.get(key);
|
|
@@ -56,7 +56,7 @@ export class PeerStoreMetadataBook {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
finally {
|
|
59
|
-
log('getValue release write lock');
|
|
59
|
+
log.trace('getValue release write lock');
|
|
60
60
|
release();
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -66,20 +66,33 @@ export class PeerStoreMetadataBook {
|
|
|
66
66
|
log.error('valid metadata must be provided to store data');
|
|
67
67
|
throw errcode(new Error('valid metadata must be provided'), codes.ERR_INVALID_PARAMETERS);
|
|
68
68
|
}
|
|
69
|
-
log('set await write lock');
|
|
69
|
+
log.trace('set await write lock');
|
|
70
70
|
const release = await this.store.lock.writeLock();
|
|
71
|
-
log('set got write lock');
|
|
71
|
+
log.trace('set got write lock');
|
|
72
|
+
let peer;
|
|
72
73
|
try {
|
|
74
|
+
try {
|
|
75
|
+
peer = await this.store.load(peerId);
|
|
76
|
+
}
|
|
77
|
+
catch (err) {
|
|
78
|
+
if (err.code !== codes.ERR_NOT_FOUND) {
|
|
79
|
+
throw err;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
73
82
|
await this.store.mergeOrCreate(peerId, {
|
|
74
83
|
metadata
|
|
75
84
|
});
|
|
76
85
|
}
|
|
77
86
|
finally {
|
|
78
|
-
log('set release write lock');
|
|
87
|
+
log.trace('set release write lock');
|
|
79
88
|
release();
|
|
80
89
|
}
|
|
81
90
|
this.dispatchEvent(new CustomEvent(EVENT_NAME, {
|
|
82
|
-
detail: {
|
|
91
|
+
detail: {
|
|
92
|
+
peerId,
|
|
93
|
+
metadata,
|
|
94
|
+
oldMetadata: peer == null ? new Map() : peer.metadata
|
|
95
|
+
}
|
|
83
96
|
}));
|
|
84
97
|
}
|
|
85
98
|
/**
|
|
@@ -91,14 +104,15 @@ export class PeerStoreMetadataBook {
|
|
|
91
104
|
log.error('valid key and value must be provided to store data');
|
|
92
105
|
throw errcode(new Error('valid key and value must be provided'), codes.ERR_INVALID_PARAMETERS);
|
|
93
106
|
}
|
|
94
|
-
log('setValue await write lock');
|
|
107
|
+
log.trace('setValue await write lock');
|
|
95
108
|
const release = await this.store.lock.writeLock();
|
|
96
|
-
log('setValue got write lock');
|
|
109
|
+
log.trace('setValue got write lock');
|
|
110
|
+
let peer;
|
|
97
111
|
let updatedPeer;
|
|
98
112
|
try {
|
|
99
113
|
try {
|
|
100
|
-
|
|
101
|
-
const existingValue =
|
|
114
|
+
peer = await this.store.load(peerId);
|
|
115
|
+
const existingValue = peer.metadata.get(key);
|
|
102
116
|
if (existingValue != null && uint8ArrayEquals(value, existingValue)) {
|
|
103
117
|
return;
|
|
104
118
|
}
|
|
@@ -113,45 +127,61 @@ export class PeerStoreMetadataBook {
|
|
|
113
127
|
});
|
|
114
128
|
}
|
|
115
129
|
finally {
|
|
116
|
-
log('setValue release write lock');
|
|
130
|
+
log.trace('setValue release write lock');
|
|
117
131
|
release();
|
|
118
132
|
}
|
|
119
133
|
this.dispatchEvent(new CustomEvent(EVENT_NAME, {
|
|
120
|
-
detail: {
|
|
134
|
+
detail: {
|
|
135
|
+
peerId,
|
|
136
|
+
metadata: updatedPeer.metadata,
|
|
137
|
+
oldMetadata: peer == null ? new Map() : peer.metadata
|
|
138
|
+
}
|
|
121
139
|
}));
|
|
122
140
|
}
|
|
123
141
|
async delete(peerId) {
|
|
124
142
|
peerId = peerIdFromPeerId(peerId);
|
|
125
|
-
log('delete await write lock');
|
|
143
|
+
log.trace('delete await write lock');
|
|
126
144
|
const release = await this.store.lock.writeLock();
|
|
127
|
-
log('delete got write lock');
|
|
128
|
-
let
|
|
145
|
+
log.trace('delete got write lock');
|
|
146
|
+
let peer;
|
|
129
147
|
try {
|
|
130
|
-
|
|
131
|
-
|
|
148
|
+
try {
|
|
149
|
+
peer = await this.store.load(peerId);
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
if (err.code !== codes.ERR_NOT_FOUND) {
|
|
153
|
+
throw err;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (peer != null) {
|
|
132
157
|
await this.store.patch(peerId, {
|
|
133
158
|
metadata: new Map()
|
|
134
159
|
});
|
|
135
160
|
}
|
|
136
161
|
}
|
|
137
162
|
finally {
|
|
138
|
-
log('delete release write lock');
|
|
163
|
+
log.trace('delete release write lock');
|
|
139
164
|
release();
|
|
140
165
|
}
|
|
141
|
-
if (
|
|
166
|
+
if (peer != null) {
|
|
142
167
|
this.dispatchEvent(new CustomEvent(EVENT_NAME, {
|
|
143
|
-
detail: {
|
|
168
|
+
detail: {
|
|
169
|
+
peerId,
|
|
170
|
+
metadata: new Map(),
|
|
171
|
+
oldMetadata: peer.metadata
|
|
172
|
+
}
|
|
144
173
|
}));
|
|
145
174
|
}
|
|
146
175
|
}
|
|
147
176
|
async deleteValue(peerId, key) {
|
|
148
177
|
peerId = peerIdFromPeerId(peerId);
|
|
149
|
-
log('deleteValue await write lock');
|
|
178
|
+
log.trace('deleteValue await write lock');
|
|
150
179
|
const release = await this.store.lock.writeLock();
|
|
151
|
-
log('deleteValue got write lock');
|
|
180
|
+
log.trace('deleteValue got write lock');
|
|
152
181
|
let metadata;
|
|
182
|
+
let peer;
|
|
153
183
|
try {
|
|
154
|
-
|
|
184
|
+
peer = await this.store.load(peerId);
|
|
155
185
|
metadata = peer.metadata;
|
|
156
186
|
metadata.delete(key);
|
|
157
187
|
await this.store.patch(peerId, {
|
|
@@ -164,12 +194,16 @@ export class PeerStoreMetadataBook {
|
|
|
164
194
|
}
|
|
165
195
|
}
|
|
166
196
|
finally {
|
|
167
|
-
log('deleteValue release write lock');
|
|
197
|
+
log.trace('deleteValue release write lock');
|
|
168
198
|
release();
|
|
169
199
|
}
|
|
170
200
|
if (metadata != null) {
|
|
171
201
|
this.dispatchEvent(new CustomEvent(EVENT_NAME, {
|
|
172
|
-
detail: {
|
|
202
|
+
detail: {
|
|
203
|
+
peerId,
|
|
204
|
+
metadata,
|
|
205
|
+
oldMetadata: peer == null ? new Map() : peer.metadata
|
|
206
|
+
}
|
|
173
207
|
}));
|
|
174
208
|
}
|
|
175
209
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-book.js","sourceRoot":"","sources":["../../src/metadata-book.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAKhD,MAAM,GAAG,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAA;AAErD,MAAM,UAAU,GAAG,iBAAiB,CAAA;AAEpC,MAAM,OAAO,qBAAqB;IAIhC;;;OAGG;IACH,YAAa,aAAyC,EAAE,KAAY;QAClE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAE,MAAc;QACvB,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAEjC,GAAG,CAAC,qBAAqB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"metadata-book.js","sourceRoot":"","sources":["../../src/metadata-book.ts"],"names":[],"mappings":"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"}
|
package/dist/src/proto-book.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Store } from './store.js';
|
|
2
|
-
import type { PeerStore, ProtoBook } from '@libp2p/interfaces/
|
|
2
|
+
import type { PeerStore, ProtoBook } from '@libp2p/interfaces/peer-store';
|
|
3
3
|
import type { PeerId } from '@libp2p/interfaces/peer-id';
|
|
4
4
|
export declare class PeerStoreProtoBook implements ProtoBook {
|
|
5
5
|
private readonly dispatchEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proto-book.d.ts","sourceRoot":"","sources":["../../src/proto-book.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proto-book.d.ts","sourceRoot":"","sources":["../../src/proto-book.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAiC,SAAS,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AACxG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAMxD,qBAAa,kBAAmB,YAAW,SAAS;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAE7B;;;OAGG;gBACU,aAAa,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK;IAK9D,GAAG,CAAE,MAAM,EAAE,MAAM;IAqBnB,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;IAiDxC,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;IAkDxC,MAAM,CAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;IAoD3C,MAAM,CAAE,MAAM,EAAE,MAAM;CAmC7B"}
|
package/dist/src/proto-book.js
CHANGED
|
@@ -2,7 +2,6 @@ import { logger } from '@libp2p/logger';
|
|
|
2
2
|
import errcode from 'err-code';
|
|
3
3
|
import { codes } from './errors.js';
|
|
4
4
|
import { peerIdFromPeerId } from '@libp2p/peer-id';
|
|
5
|
-
import { base58btc } from 'multiformats/bases/base58';
|
|
6
5
|
import { CustomEvent } from '@libp2p/interfaces';
|
|
7
6
|
const log = logger('libp2p:peer-store:proto-book');
|
|
8
7
|
const EVENT_NAME = 'change:protocols';
|
|
@@ -16,9 +15,9 @@ export class PeerStoreProtoBook {
|
|
|
16
15
|
this.store = store;
|
|
17
16
|
}
|
|
18
17
|
async get(peerId) {
|
|
19
|
-
log('get wait for read lock');
|
|
18
|
+
log.trace('get wait for read lock');
|
|
20
19
|
const release = await this.store.lock.readLock();
|
|
21
|
-
log('get got read lock');
|
|
20
|
+
log.trace('get got read lock');
|
|
22
21
|
try {
|
|
23
22
|
const peer = await this.store.load(peerId);
|
|
24
23
|
return peer.protocols;
|
|
@@ -29,7 +28,7 @@ export class PeerStoreProtoBook {
|
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
30
|
finally {
|
|
32
|
-
log('get release read lock');
|
|
31
|
+
log.trace('get release read lock');
|
|
33
32
|
release();
|
|
34
33
|
}
|
|
35
34
|
return [];
|
|
@@ -40,13 +39,14 @@ export class PeerStoreProtoBook {
|
|
|
40
39
|
log.error('protocols must be provided to store data');
|
|
41
40
|
throw errcode(new Error('protocols must be provided'), codes.ERR_INVALID_PARAMETERS);
|
|
42
41
|
}
|
|
43
|
-
log('set await write lock');
|
|
42
|
+
log.trace('set await write lock');
|
|
44
43
|
const release = await this.store.lock.writeLock();
|
|
45
|
-
log('set got write lock');
|
|
44
|
+
log.trace('set got write lock');
|
|
45
|
+
let peer;
|
|
46
46
|
let updatedPeer;
|
|
47
47
|
try {
|
|
48
48
|
try {
|
|
49
|
-
|
|
49
|
+
peer = await this.store.load(peerId);
|
|
50
50
|
if (new Set([
|
|
51
51
|
...protocols
|
|
52
52
|
]).size === peer.protocols.length) {
|
|
@@ -61,14 +61,18 @@ export class PeerStoreProtoBook {
|
|
|
61
61
|
updatedPeer = await this.store.patchOrCreate(peerId, {
|
|
62
62
|
protocols
|
|
63
63
|
});
|
|
64
|
-
log(
|
|
64
|
+
log('stored provided protocols for %p', peerId);
|
|
65
65
|
}
|
|
66
66
|
finally {
|
|
67
|
-
log('set release write lock');
|
|
67
|
+
log.trace('set release write lock');
|
|
68
68
|
release();
|
|
69
69
|
}
|
|
70
70
|
this.dispatchEvent(new CustomEvent(EVENT_NAME, {
|
|
71
|
-
detail: {
|
|
71
|
+
detail: {
|
|
72
|
+
peerId,
|
|
73
|
+
protocols: updatedPeer.protocols,
|
|
74
|
+
oldProtocols: peer == null ? [] : peer.protocols
|
|
75
|
+
}
|
|
72
76
|
}));
|
|
73
77
|
}
|
|
74
78
|
async add(peerId, protocols) {
|
|
@@ -77,13 +81,14 @@ export class PeerStoreProtoBook {
|
|
|
77
81
|
log.error('protocols must be provided to store data');
|
|
78
82
|
throw errcode(new Error('protocols must be provided'), codes.ERR_INVALID_PARAMETERS);
|
|
79
83
|
}
|
|
80
|
-
log('add await write lock');
|
|
84
|
+
log.trace('add await write lock');
|
|
81
85
|
const release = await this.store.lock.writeLock();
|
|
82
|
-
log('add got write lock');
|
|
86
|
+
log.trace('add got write lock');
|
|
87
|
+
let peer;
|
|
83
88
|
let updatedPeer;
|
|
84
89
|
try {
|
|
85
90
|
try {
|
|
86
|
-
|
|
91
|
+
peer = await this.store.load(peerId);
|
|
87
92
|
if (new Set([
|
|
88
93
|
...peer.protocols,
|
|
89
94
|
...protocols
|
|
@@ -99,14 +104,18 @@ export class PeerStoreProtoBook {
|
|
|
99
104
|
updatedPeer = await this.store.mergeOrCreate(peerId, {
|
|
100
105
|
protocols
|
|
101
106
|
});
|
|
102
|
-
log(
|
|
107
|
+
log('added provided protocols for %p', peerId);
|
|
103
108
|
}
|
|
104
109
|
finally {
|
|
105
|
-
log('add release write lock');
|
|
110
|
+
log.trace('add release write lock');
|
|
106
111
|
release();
|
|
107
112
|
}
|
|
108
113
|
this.dispatchEvent(new CustomEvent(EVENT_NAME, {
|
|
109
|
-
detail: {
|
|
114
|
+
detail: {
|
|
115
|
+
peerId,
|
|
116
|
+
protocols: updatedPeer.protocols,
|
|
117
|
+
oldProtocols: peer == null ? [] : peer.protocols
|
|
118
|
+
}
|
|
110
119
|
}));
|
|
111
120
|
}
|
|
112
121
|
async remove(peerId, protocols) {
|
|
@@ -115,13 +124,14 @@ export class PeerStoreProtoBook {
|
|
|
115
124
|
log.error('protocols must be provided to store data');
|
|
116
125
|
throw errcode(new Error('protocols must be provided'), codes.ERR_INVALID_PARAMETERS);
|
|
117
126
|
}
|
|
118
|
-
log('remove await write lock');
|
|
127
|
+
log.trace('remove await write lock');
|
|
119
128
|
const release = await this.store.lock.writeLock();
|
|
120
|
-
log('remove got write lock');
|
|
129
|
+
log.trace('remove got write lock');
|
|
130
|
+
let peer;
|
|
121
131
|
let updatedPeer;
|
|
122
132
|
try {
|
|
123
133
|
try {
|
|
124
|
-
|
|
134
|
+
peer = await this.store.load(peerId);
|
|
125
135
|
const protocolSet = new Set(peer.protocols);
|
|
126
136
|
for (const protocol of protocols) {
|
|
127
137
|
protocolSet.delete(protocol);
|
|
@@ -141,37 +151,47 @@ export class PeerStoreProtoBook {
|
|
|
141
151
|
});
|
|
142
152
|
}
|
|
143
153
|
finally {
|
|
144
|
-
log('remove release write lock');
|
|
154
|
+
log.trace('remove release write lock');
|
|
145
155
|
release();
|
|
146
156
|
}
|
|
147
157
|
this.dispatchEvent(new CustomEvent(EVENT_NAME, {
|
|
148
|
-
detail: {
|
|
158
|
+
detail: {
|
|
159
|
+
peerId,
|
|
160
|
+
protocols: updatedPeer.protocols,
|
|
161
|
+
oldProtocols: peer == null ? [] : peer.protocols
|
|
162
|
+
}
|
|
149
163
|
}));
|
|
150
164
|
}
|
|
151
165
|
async delete(peerId) {
|
|
152
166
|
peerId = peerIdFromPeerId(peerId);
|
|
153
|
-
log('delete await write lock');
|
|
167
|
+
log.trace('delete await write lock');
|
|
154
168
|
const release = await this.store.lock.writeLock();
|
|
155
|
-
log('delete got write lock');
|
|
156
|
-
let
|
|
169
|
+
log.trace('delete got write lock');
|
|
170
|
+
let peer;
|
|
157
171
|
try {
|
|
158
|
-
|
|
172
|
+
try {
|
|
173
|
+
peer = await this.store.load(peerId);
|
|
174
|
+
}
|
|
175
|
+
catch (err) {
|
|
176
|
+
if (err.code !== codes.ERR_NOT_FOUND) {
|
|
177
|
+
throw err;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
159
180
|
await this.store.patchOrCreate(peerId, {
|
|
160
181
|
protocols: []
|
|
161
182
|
});
|
|
162
183
|
}
|
|
163
|
-
catch (err) {
|
|
164
|
-
if (err.code !== codes.ERR_NOT_FOUND) {
|
|
165
|
-
throw err;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
184
|
finally {
|
|
169
|
-
log('delete release write lock');
|
|
185
|
+
log.trace('delete release write lock');
|
|
170
186
|
release();
|
|
171
187
|
}
|
|
172
|
-
if (
|
|
188
|
+
if (peer != null) {
|
|
173
189
|
this.dispatchEvent(new CustomEvent(EVENT_NAME, {
|
|
174
|
-
detail: {
|
|
190
|
+
detail: {
|
|
191
|
+
peerId,
|
|
192
|
+
protocols: [],
|
|
193
|
+
oldProtocols: peer.protocols
|
|
194
|
+
}
|
|
175
195
|
}));
|
|
176
196
|
}
|
|
177
197
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proto-book.js","sourceRoot":"","sources":["../../src/proto-book.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"proto-book.js","sourceRoot":"","sources":["../../src/proto-book.ts"],"names":[],"mappings":"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"}
|
package/dist/src/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAM7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAMxD,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACzC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,GAAG,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;IAE9B,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;QACnC,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;KACrC,CAAA;CACF;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAC9B,IAAI,EAAE,GAAG,CAAA;gBAEH,SAAS,EAAE,SAAS;IAQjC,qBAAqB,CAAE,MAAM,EAAE,MAAM;IAU/B,GAAG,CAAE,MAAM,EAAE,MAAM;IAInB,MAAM,CAAE,MAAM,EAAE,MAAM;IAItB,IAAI,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBpC,IAAI,CAAE,IAAI,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAM7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAMxD,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACzC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,GAAG,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;IAE9B,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;QACnC,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;KACrC,CAAA;CACF;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAC9B,IAAI,EAAE,GAAG,CAAA;gBAEH,SAAS,EAAE,SAAS;IAQjC,qBAAqB,CAAE,MAAM,EAAE,MAAM;IAU/B,GAAG,CAAE,MAAM,EAAE,MAAM;IAInB,MAAM,CAAE,MAAM,EAAE,MAAM;IAItB,IAAI,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBpC,IAAI,CAAE,IAAI,EAAE,IAAI;IAsChB,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IAM1C,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IAgBlD,MAAM,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI;IAQvD,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IAM1C,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IAiBlD,MAAM,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI;IAuCrD,GAAG;CAWZ"}
|
package/dist/src/store.js
CHANGED
|
@@ -23,8 +23,8 @@ export class PersistentStore {
|
|
|
23
23
|
log.error('peerId must be an instance of peer-id to store data');
|
|
24
24
|
throw errcode(new Error('peerId must be an instance of peer-id'), codes.ERR_INVALID_PARAMETERS);
|
|
25
25
|
}
|
|
26
|
-
const b32key = peerId.
|
|
27
|
-
return new Key(`${NAMESPACE_COMMON}
|
|
26
|
+
const b32key = base32.encode(peerId.toBytes());
|
|
27
|
+
return new Key(`${NAMESPACE_COMMON}${b32key}`);
|
|
28
28
|
}
|
|
29
29
|
async has(peerId) {
|
|
30
30
|
return await this.datastore.has(this._peerIdToDatastoreKey(peerId));
|
|
@@ -58,22 +58,23 @@ export class PersistentStore {
|
|
|
58
58
|
}
|
|
59
59
|
// dedupe addresses
|
|
60
60
|
const addressSet = new Set();
|
|
61
|
+
const addresses = peer.addresses
|
|
62
|
+
.filter(address => {
|
|
63
|
+
if (addressSet.has(address.multiaddr.toString())) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
addressSet.add(address.multiaddr.toString());
|
|
67
|
+
return true;
|
|
68
|
+
})
|
|
69
|
+
.sort((a, b) => {
|
|
70
|
+
return a.multiaddr.toString().localeCompare(b.multiaddr.toString());
|
|
71
|
+
})
|
|
72
|
+
.map(({ multiaddr, isCertified }) => ({
|
|
73
|
+
multiaddr: multiaddr.bytes,
|
|
74
|
+
isCertified
|
|
75
|
+
}));
|
|
61
76
|
const buf = PeerPB.encode({
|
|
62
|
-
addresses
|
|
63
|
-
.filter(address => {
|
|
64
|
-
if (addressSet.has(address.multiaddr.toString())) {
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
addressSet.add(address.multiaddr.toString());
|
|
68
|
-
return true;
|
|
69
|
-
})
|
|
70
|
-
.sort((a, b) => {
|
|
71
|
-
return a.multiaddr.toString().localeCompare(b.multiaddr.toString());
|
|
72
|
-
})
|
|
73
|
-
.map(({ multiaddr, isCertified }) => ({
|
|
74
|
-
multiaddr: multiaddr.bytes,
|
|
75
|
-
isCertified
|
|
76
|
-
})),
|
|
77
|
+
addresses,
|
|
77
78
|
protocols: peer.protocols.sort(),
|
|
78
79
|
pubKey: peer.pubKey,
|
|
79
80
|
metadata: [...peer.metadata.keys()].sort().map(key => ({ key, value: peer.metadata.get(key) })),
|
|
@@ -127,14 +128,15 @@ export class PersistentStore {
|
|
|
127
128
|
async _merge(peerId, data, peer) {
|
|
128
129
|
// if the peer has certified addresses, use those in
|
|
129
130
|
// favour of the supplied versions
|
|
130
|
-
/** @type {Map<string, boolean>} */
|
|
131
131
|
const addresses = new Map();
|
|
132
|
-
|
|
132
|
+
peer.addresses.forEach((addr) => {
|
|
133
133
|
addresses.set(addr.multiaddr.toString(), addr.isCertified);
|
|
134
134
|
});
|
|
135
|
-
|
|
136
|
-
const
|
|
137
|
-
|
|
135
|
+
(data.addresses ?? []).forEach(addr => {
|
|
136
|
+
const addrString = addr.multiaddr.toString();
|
|
137
|
+
const isAlreadyCertified = Boolean(addresses.get(addrString));
|
|
138
|
+
const isCertified = isAlreadyCertified || addr.isCertified;
|
|
139
|
+
addresses.set(addrString, isCertified);
|
|
138
140
|
});
|
|
139
141
|
return await this.save({
|
|
140
142
|
id: peerId,
|
package/dist/src/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAK/D,MAAM,GAAG,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;AAE7C,MAAM,gBAAgB,GAAG,SAAS,CAAA;AAmBlC,MAAM,OAAO,eAAe;IAI1B,YAAa,SAAoB;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;YAClB,IAAI,EAAE,YAAY;YAClB,aAAa,EAAE,IAAI;SACpB,CAAC,CAAA;IACJ,CAAC;IAED,qBAAqB,CAAE,MAAc;QACnC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;YACvB,GAAG,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAA;YAChE,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;SAChG;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAK/D,MAAM,GAAG,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;AAE7C,MAAM,gBAAgB,GAAG,SAAS,CAAA;AAmBlC,MAAM,OAAO,eAAe;IAI1B,YAAa,SAAoB;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;YAClB,IAAI,EAAE,YAAY;YAClB,aAAa,EAAE,IAAI;SACpB,CAAC,CAAA;IACJ,CAAC;IAED,qBAAqB,CAAE,MAAc;QACnC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;YACvB,GAAG,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAA;YAChE,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;SAChG;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9C,OAAO,IAAI,GAAG,CAAC,GAAG,gBAAgB,GAAG,MAAM,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,MAAc;QACvB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAA;IACrE,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,MAAc;QAC1B,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,IAAI,CAAE,MAAc;QACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAA;QACxE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;QAE1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;SACnC;QAED,OAAO;YACL,GAAG,IAAI;YACP,EAAE,EAAE,MAAM;YACV,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC7D,SAAS,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC;gBACnC,WAAW,EAAE,WAAW,IAAI,KAAK;aAClC,CAAC,CAAC;YACH,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;YAChC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,SAAS;SACzD,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAE,IAAU;QACpB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;YACzG,GAAG,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAA;YACtE,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;SAC/G;QAED,mBAAmB;QACnB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS;aAC7B,MAAM,CAAC,OAAO,CAAC,EAAE;YAChB,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE;gBAChD,OAAO,KAAK,CAAA;aACb;YAED,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC5C,OAAO,IAAI,CAAA;QACb,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;QACrE,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YACpC,SAAS,EAAE,SAAS,CAAC,KAAK;YAC1B,WAAW;SACZ,CAAC,CAAC,CAAA;QAEL,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;YACxB,SAAS;YACT,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YAChC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/F,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC,MAAM,EAAE,CAAA;QAEX,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QAElE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,KAAK,CAAE,MAAc,EAAE,IAAmB;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEpC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAE,MAAc,EAAE,IAAmB;QACtD,IAAI,IAAU,CAAA;QAEd,IAAI;YACF,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAC/B;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,aAAa,EAAE;gBACpC,MAAM,GAAG,CAAA;aACV;YAED,IAAI,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,CAAA;SACzE;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,MAAc,EAAE,IAAmB,EAAE,IAAU;QAC3D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC;YACrB,GAAG,IAAI;YACP,GAAG,IAAI;YACP,EAAE,EAAE,MAAM;SACX,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAE,MAAc,EAAE,IAAmB;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEpC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAE,MAAc,EAAE,IAAmB;QACtD,mBAAmB;QACnB,IAAI,IAAI,CAAA;QAER,IAAI;YACF,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAC/B;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,aAAa,EAAE;gBACpC,MAAM,GAAG,CAAA;aACV;YAED,IAAI,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,CAAA;SACzE;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,MAAc,EAAE,IAAmB,EAAE,IAAU;QAC3D,oDAAoD;QACpD,kCAAkC;QAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAA;QAE5C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;QAC5D,CAAC,CAAC,CAED;QAAA,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAA;YAC5C,MAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;YAE7D,MAAM,WAAW,GAAG,kBAAkB,IAAI,IAAI,CAAC,WAAW,CAAA;YAE1D,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC;YACrB,EAAE,EAAE,MAAM;YACV,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE;gBACxE,OAAO;oBACL,SAAS,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC;oBACjC,WAAW;iBACZ,CAAA;YACH,CAAC,CAAC;YACF,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;gBAC5B,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;gBACzB,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;aAC1B,CAAC,CAAC;YACH,QAAQ,EAAE,IAAI,GAAG,CAAC;gBAChB,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aACpC,CAAC;YACF,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/D,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;SACpG,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,CAAE,GAAG;QACT,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/C,MAAM,EAAE,gBAAgB;SACzB,CAAC,EAAE;YACF,wDAAwD;YACxD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAEpC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;SACtC;IACH,CAAC;CACF"}
|