synapse 2.214.0__py311-none-any.whl → 2.215.0__py311-none-any.whl

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.

Potentially problematic release.


This version of synapse might be problematic. Click here for more details.

synapse/cortex.py CHANGED
@@ -1959,7 +1959,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1959
1959
 
1960
1960
  try:
1961
1961
  await self.auth.delAuthGate(f'queue:{name}')
1962
- except NoSuchAuthGate: # pragma: no cover
1962
+ except s_exc.NoSuchAuthGate:
1963
1963
  pass
1964
1964
 
1965
1965
  await self.multiqueue.rem(name)
synapse/lib/jsonstor.py CHANGED
@@ -220,6 +220,7 @@ class JsonStor(s_base.Base):
220
220
 
221
221
  step[name] = valu
222
222
  self.dirty[buid] = item
223
+ self.slab.dirty = True
223
224
  return True
224
225
 
225
226
  async def delPathObjProp(self, path, prop):
@@ -241,6 +242,7 @@ class JsonStor(s_base.Base):
241
242
  step.pop(names[-1], None)
242
243
 
243
244
  self.dirty[buid] = item
245
+ self.slab.dirty = True
244
246
  return True
245
247
 
246
248
  async def cmpDelPathObjProp(self, path, prop, valu):
@@ -264,6 +266,7 @@ class JsonStor(s_base.Base):
264
266
 
265
267
  step.pop(name, None)
266
268
  self.dirty[buid] = item
269
+ self.slab.dirty = True
267
270
  return True
268
271
 
269
272
  async def popPathObjProp(self, path, prop, defv=None):
@@ -285,7 +288,7 @@ class JsonStor(s_base.Base):
285
288
 
286
289
  retn = step.pop(names[-1], defv)
287
290
  self.dirty[buid] = item
288
-
291
+ self.slab.dirty = True
289
292
  return retn
290
293
 
291
294
  class JsonStorApi(s_cell.CellApi):
synapse/lib/layer.py CHANGED
@@ -3569,6 +3569,7 @@ class Layer(s_nexus.Pusher):
3569
3569
 
3570
3570
  if not self.mayDelBuid(buid, sode):
3571
3571
  self.setSodeDirty(buid, sode, form)
3572
+ self.layrslab.dirty = True
3572
3573
 
3573
3574
  return (
3574
3575
  (EDIT_NODE_DEL, (valu, stortype), ()),
@@ -3842,8 +3843,9 @@ class Layer(s_nexus.Pusher):
3842
3843
  return ()
3843
3844
 
3844
3845
  oldv, oldt = tp_dict.pop(prop, (None, None))
3845
- if not tp_dict.get(tag):
3846
+ if not tp_dict:
3846
3847
  sode['tagprops'].pop(tag, None)
3848
+
3847
3849
  if oldv is None:
3848
3850
  self.mayDelBuid(buid, sode)
3849
3851
  return ()
synapse/lib/version.py CHANGED
@@ -223,6 +223,6 @@ def reqVersion(valu, reqver,
223
223
  ##############################################################################
224
224
  # The following are touched during the release process by bumpversion.
225
225
  # Do not modify these directly.
226
- version = (2, 214, 0)
226
+ version = (2, 215, 0)
227
227
  verstring = '.'.join([str(x) for x in version])
228
- commit = '41e2ed0599236256e9452b8afeb152660e68e2c2'
228
+ commit = 'f4d48839f7e5f74bacdcc2d1b122d9ade6f1def7'
@@ -849,6 +849,14 @@ class ItModule(s_module.CoreModule):
849
849
  ('it:adid', ('str', {'lower': True, 'strip': True}), {
850
850
  'doc': 'An advertising identification string.'}),
851
851
 
852
+ # https://learn.microsoft.com/en-us/windows-hardware/drivers/install/hklm-system-currentcontrolset-services-registry-tree
853
+ ('it:os:windows:service', ('guid', {}), {
854
+ 'doc': 'A Microsoft Windows service configuration on a host.'}),
855
+
856
+ # TODO
857
+ # ('it:os:windows:task', ('guid', {}), {
858
+ # 'doc': 'A Microsoft Windows scheduled task configuration.'}),
859
+
852
860
  # https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dtyp/c92a27b1-c772-4fa7-a432-15df5f1b66a1
853
861
  ('it:os:windows:sid', ('str', {'regex': r'^S-1-(?:\d{1,10}|0x[0-9a-fA-F]{12})(?:-(?:\d+|0x[0-9a-fA-F]{2,}))*$'}), {
854
862
  'doc': 'A Microsoft Windows Security Identifier.',
@@ -2582,7 +2590,44 @@ class ItModule(s_module.CoreModule):
2582
2590
  ('sandbox:file', ('file:bytes', {}), {
2583
2591
  'doc': 'The initial sample given to a sandbox environment to analyze.'
2584
2592
  }),
2593
+
2594
+ # TODO
2595
+ # ('windows:task', ('it:os:windows:task', {}), {
2596
+ # 'doc': 'The Microsoft Windows scheduled task responsible for starting the process.'}),
2597
+
2598
+ ('windows:service', ('it:os:windows:service', {}), {
2599
+ 'doc': 'The Microsoft Windows service responsible for starting the process.'}),
2600
+ )),
2601
+
2602
+ ('it:os:windows:service', {}, (
2603
+
2604
+ ('host', ('it:host', {}), {
2605
+ 'doc': 'The host that the service was configured on.'}),
2606
+
2607
+ ('name', ('str', {'lower': True, 'onespace': True}), {
2608
+ 'doc': 'The name of the service from the registry key within Services.'}),
2609
+
2610
+ # TODO flags...
2611
+ ('type', ('int', {'min': 0}), {
2612
+ 'doc': 'The type of service from the Type registry key.'}),
2613
+
2614
+ ('start', ('int', {'min': 0}), {
2615
+ 'doc': 'The start configuration of the service from the Start registry key.'}),
2616
+
2617
+ ('errorcontrol', ('int', {'min': 0}), {
2618
+ 'doc': 'The service error handling behavior from the ErrorControl registry key.'}),
2619
+
2620
+ ('displayname', ('str', {'lower': True, 'onespace': True}), {
2621
+ 'doc': 'The friendly name of the service from the DisplayName registry key.'}),
2622
+
2623
+ # TODO 3.0 text
2624
+ ('description', ('str', {}), {
2625
+ 'doc': 'The description of the service from the Description registry key.'}),
2626
+
2627
+ ('imagepath', ('file:path', {}), {
2628
+ 'doc': 'The path to the service binary from the ImagePath registry key.'}),
2585
2629
  )),
2630
+
2586
2631
  ('it:query', {}, ()),
2587
2632
  ('it:exec:query', {}, (
2588
2633
 
@@ -1,4 +1,5 @@
1
1
  import synapse.exc as s_exc
2
+ import synapse.lib.lmdbslab as s_lmdbslab
2
3
  import synapse.lib.jsonstor as s_jsonstor
3
4
 
4
5
  import synapse.tests.utils as s_test
@@ -125,3 +126,47 @@ class JsonStorTest(s_test.SynTest):
125
126
 
126
127
  self.true(await prox.delQueue('hehe'))
127
128
  self.false(await prox.delQueue('hehe'))
129
+
130
+ async def test_lib_jsonstor_syncing(self):
131
+
132
+ with self.getTestDir() as dirn:
133
+ async with self.getTestJsonStor(dirn=dirn) as jsonstor:
134
+ async with jsonstor.getLocalProxy() as prox:
135
+
136
+ await prox.setPathObj('foo/bar', {'hehe': 'haha'})
137
+ await s_lmdbslab.Slab.syncLoopOnce()
138
+
139
+ self.true(await prox.setPathObjProp('foo/bar', 'zip', 'zop'))
140
+ self.len(1, jsonstor.jsonstor.dirty.items())
141
+
142
+ await s_lmdbslab.Slab.syncLoopOnce()
143
+ self.len(0, jsonstor.jsonstor.dirty.items())
144
+
145
+ self.eq({'hehe': 'haha', 'zip': 'zop'}, await prox.getPathObj('foo/bar'))
146
+
147
+ self.true(await prox.delPathObjProp('foo/bar', 'zip'))
148
+ self.len(1, jsonstor.jsonstor.dirty.items())
149
+
150
+ await s_lmdbslab.Slab.syncLoopOnce()
151
+ self.len(0, jsonstor.jsonstor.dirty.items())
152
+
153
+ self.eq({'hehe': 'haha'}, await prox.getPathObj('foo/bar'))
154
+
155
+ self.true(await prox.cmpDelPathObjProp('foo/bar', 'hehe', 'haha'))
156
+ self.len(1, jsonstor.jsonstor.dirty.items())
157
+
158
+ await s_lmdbslab.Slab.syncLoopOnce()
159
+ self.len(0, jsonstor.jsonstor.dirty.items())
160
+
161
+ self.eq({}, await prox.getPathObj('foo/bar'))
162
+
163
+ self.true(await prox.setPathObjProp('foo/bar', 'zip', 'zop'))
164
+ await s_lmdbslab.Slab.syncLoopOnce()
165
+
166
+ self.true(await prox.popPathObjProp('foo/bar', 'zip'))
167
+ self.len(1, jsonstor.jsonstor.dirty.items())
168
+
169
+ await s_lmdbslab.Slab.syncLoopOnce()
170
+ self.len(0, jsonstor.jsonstor.dirty.items())
171
+
172
+ self.eq({}, await prox.getPathObj('foo/bar'))
@@ -1281,6 +1281,16 @@ class LayerTest(s_t_utils.SynTest):
1281
1281
 
1282
1282
  self.len(0, list(layr.dataslab.scanByDups(abrv, db=layr.dataname)))
1283
1283
 
1284
+ await core.addTagProp('score2', ('int', {}), {})
1285
+ nodes = await core.nodes('[test:str=multi +#foo:score=5 +#foo:score2=6]')
1286
+ self.eq(('score', 'score2'), nodes[0].getTagProps('foo'))
1287
+
1288
+ nodes = await core.nodes('test:str=multi [-#foo:score]')
1289
+ self.eq(('score2',), nodes[0].getTagProps('foo'))
1290
+
1291
+ nodes = await core.nodes('test:str=multi')
1292
+ self.eq(('score2',), nodes[0].getTagProps('foo'))
1293
+
1284
1294
  async def test_layer_waitForHot(self):
1285
1295
  self.thisHostMust(hasmemlocking=True)
1286
1296
 
@@ -94,7 +94,7 @@ class StormLibItersTest(s_test.SynTest):
94
94
  self.stormIsInErr(err, msgs)
95
95
 
96
96
  async def boom(self, genr):
97
- print(newp)
97
+ raise NameError("name 'newp' is not defined")
98
98
  yield True
99
99
 
100
100
  with mock.patch.object(s_stormlib_iters.LibIters, 'enum', boom):
@@ -2999,6 +2999,21 @@ class StormTypesTest(s_test.SynTest):
2999
2999
  self.eq((5, 'baz'), await core.callStorm('return($lib.queue.get(poptest).pop())'))
3000
3000
  self.none(await core.callStorm('return($lib.queue.get(poptest).pop())'))
3001
3001
 
3002
+ # Coverage for the Cortex queue:del nexus handler
3003
+ name = 'deleteme'
3004
+ iden = s_common.guid()
3005
+ await core.addCoreQueue(
3006
+ name,
3007
+ {'name': name,
3008
+ 'creator': core.auth.rootuser.iden,
3009
+ 'created': s_common.now(),
3010
+ 'iden': iden}
3011
+ )
3012
+ await core.auth.delAuthGate(f'queue:{name}')
3013
+ await core.delCoreQueue(name)
3014
+ with self.raises(s_exc.NoSuchName):
3015
+ await core.getCoreQueue(name)
3016
+
3002
3017
  async def test_storm_node_data(self):
3003
3018
 
3004
3019
  async with self.getTestCore() as core:
@@ -1,5 +1,6 @@
1
1
  import math
2
2
  import decimal
3
+ import datetime
3
4
  import synapse.exc as s_exc
4
5
  import synapse.common as s_common
5
6
  import synapse.datamodel as s_datamodel
@@ -1320,7 +1321,10 @@ class TypesTest(s_t_utils.SynTest):
1320
1321
  nodes = await core.nodes('test:str:tick=201401*')
1321
1322
  self.eq({node.ndef[1] for node in nodes}, {'a'})
1322
1323
 
1323
- nodes = await core.nodes('test:str:tick*range=("-6000 days", now)')
1324
+ utc = datetime.timezone.utc
1325
+ delta = datetime.datetime.now(tz=utc) - datetime.datetime(2014, 1, 1, tzinfo=utc)
1326
+ days = delta.days + 14
1327
+ nodes = await core.nodes(f'test:str:tick*range=("-{days} days", now)')
1324
1328
  self.eq({node.ndef[1] for node in nodes}, {'a', 'b', 'c', 'd'})
1325
1329
 
1326
1330
  opts = {'vars': {'tick': tick, 'tock': tock}}
@@ -2438,3 +2438,34 @@ class InfotechModelTest(s_t_utils.SynTest):
2438
2438
  self.eq(2, nodes[0].get('assets:vulns:preexisting'))
2439
2439
 
2440
2440
  self.len(1, await core.nodes('it:sec:metrics -> ou:org +:name=vertex'))
2441
+
2442
+ async def test_infotech_windows(self):
2443
+
2444
+ async with self.getTestCore() as core:
2445
+
2446
+ nodes = await core.nodes('''
2447
+ [ it:os:windows:service=*
2448
+ :name=Woot
2449
+ :host=*
2450
+ :type=(0x20)
2451
+ :start=(0x20)
2452
+ :errorcontrol=(0x20)
2453
+ :displayname="Foo Bar Baz"
2454
+ :imagepath=c:/windows/system32/woot.exe
2455
+ :description="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
2456
+ ]
2457
+ ''')
2458
+
2459
+ self.len(1, nodes)
2460
+ self.eq(nodes[0].get('name'), 'woot')
2461
+ self.eq(nodes[0].get('type'), 0x20)
2462
+ self.eq(nodes[0].get('start'), 0x20)
2463
+ self.eq(nodes[0].get('errorcontrol'), 0x20)
2464
+ self.eq(nodes[0].get('displayname'), 'foo bar baz')
2465
+ self.eq(nodes[0].get('imagepath'), 'c:/windows/system32/woot.exe')
2466
+ self.eq(nodes[0].get('description'), 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.')
2467
+
2468
+ self.len(1, await core.nodes('it:os:windows:service -> it:host'))
2469
+ self.len(1, await core.nodes('it:os:windows:service -> file:path'))
2470
+
2471
+ self.len(1, await core.nodes('[ it:exec:proc=* :windows:service={ it:os:windows:service } ] -> it:os:windows:service'))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synapse
3
- Version: 2.214.0
3
+ Version: 2.215.0
4
4
  Summary: Synapse Intelligence Analysis Framework
5
5
  Author-email: The Vertex Project LLC <root@vertex.link>
6
6
  License-Expression: Apache-2.0
@@ -2,7 +2,7 @@ synapse/__init__.py,sha256=R2kOXlF5j-8m6G0JkHuN7rXRPg_tHLmbMxr__94mHQk,1145
2
2
  synapse/axon.py,sha256=HtKPfSDNt3ltOaQC2P_7satXhgdxf7fO2mGAioF78Iw,66029
3
3
  synapse/cells.py,sha256=eNvdglfAoTURVhGOLGcgMXCGpfsIX1a02SQnyiklo3E,308
4
4
  synapse/common.py,sha256=bRbhV_alX6duXvTcbJ2KRZs8qUsD2SxQ6ww6v9DKKiQ,36886
5
- synapse/cortex.py,sha256=emh8K5KYpDDQdc6bgyOD7eVEoRz88XQCM7ALgFD17HQ,263692
5
+ synapse/cortex.py,sha256=aKqOOqSm_PH52oTsSMB5cO1c2fIyzi3uxHCKXnNqzmg,263678
6
6
  synapse/cryotank.py,sha256=2-MzdTZ1AofkBp2ew3ZrZLo33rHRtNVTlr4YlXEfdrc,12130
7
7
  synapse/daemon.py,sha256=Fpj99h0ocDl-SlXtjV9HTrKvd2WxwG10KG4Kwfl1xL4,17113
8
8
  synapse/datamodel.py,sha256=Lc8PF4tapY6leXv35M1UZHNQ3nDLxEWbfwS4crGNTV0,40347
@@ -115,8 +115,8 @@ synapse/lib/httpapi.py,sha256=wkVv9Q5WQ9typE0nBzbl2o-dGe0XkUYBQ-cIHAXjfQw,48490
115
115
  synapse/lib/ingest.py,sha256=HNW1xs215c_UXVjKaxjipKBmVL4ujrjmarHBRvLPLkE,40
116
116
  synapse/lib/interval.py,sha256=PqpEhMGG6LD9mJxEms0oQWC-NB01H6gwsmLSc5LrDFk,1175
117
117
  synapse/lib/json.py,sha256=zJu9z8BC6lh4nKwRPXV2Q6SfFj3P8qSm7wRURcemMtM,8164
118
- synapse/lib/jsonstor.py,sha256=dDeVNYJpcLNqOx0svXsmbgBbOlrcaWDAGtoefav56lg,19472
119
- synapse/lib/layer.py,sha256=i61SK6cw2FQlqKP4vC62t198GAnA5aZlqXz5JQWWpTA,154872
118
+ synapse/lib/jsonstor.py,sha256=GAzIEqYszPkInIOHTfjPQbhXU1vo6GDNfalyNSgdaLo,19595
119
+ synapse/lib/layer.py,sha256=0JoXQkJVLsvGPMfQUcpLr2LihseSqyiQytz2ceHoEhg,154903
120
120
  synapse/lib/link.py,sha256=puRt8LNGf8kfSA28MlzytmMEjIVcxFPBygFqDGcYzhc,10602
121
121
  synapse/lib/lmdbslab.py,sha256=PcOUL1FeC5464MwYMWd9GbGv-xksfVu-KPgr9-QtO9M,61069
122
122
  synapse/lib/modelrev.py,sha256=bSBKjKjOeXJ2ZZYa0w4KSFLOz3J_HxBCww1l0_5DoRg,72568
@@ -158,7 +158,7 @@ synapse/lib/time.py,sha256=bk_1F6_MDuCWJ1ToPJ-XHkeTWVw5b4SE7cCixBqVxXo,9435
158
158
  synapse/lib/trigger.py,sha256=mnfkoBHB88JfqPoxb5oflvAaBKZpNvYdxP247YS53fE,20697
159
159
  synapse/lib/types.py,sha256=u59x8-Dnr3WbnRTZ_iCuRaexwKsyQKiIc_wrVrpdRQ8,70767
160
160
  synapse/lib/urlhelp.py,sha256=ljhnF91z9ihyOLdZZ6OoQYCN1WYjOj1imukD45xiKU0,3320
161
- synapse/lib/version.py,sha256=wAqWRLp-LbVLQr5iN7yMAAcQ_mCL86q62RnN0K-aCf8,7162
161
+ synapse/lib/version.py,sha256=1ar3o28PdL_X7WVRKbqihIdxGQIsTn3KcYtf3eQq8qk,7162
162
162
  synapse/lib/view.py,sha256=lidWNualB8Imtz1x6aWo70bntdv9Sf9tpG78cliDKjI,62682
163
163
  synapse/lib/crypto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
164
  synapse/lib/crypto/coin.py,sha256=_dhlkzIrHT8BvHdJOWK7PDThz3sK3dDRnWAUqjRpZJc,4910
@@ -240,7 +240,7 @@ synapse/models/files.py,sha256=4nA0LGK2gKEjErzTnFfIX7kxNn8c_C7xWAfiwWFz5zY,34396
240
240
  synapse/models/geopol.py,sha256=1DGxLJ60QlnSIe3WxxViYQ3KFSwm89vvGc534bbSNBo,11304
241
241
  synapse/models/geospace.py,sha256=Ix54xGdGRZNqLI0r6r9OA1t6vqB3XM1lkoy86Vjt5XA,21155
242
242
  synapse/models/inet.py,sha256=dh7x5dd0pnZE3adM_njuasYbOJebqzvMVvzAEnuNGx8,180807
243
- synapse/models/infotech.py,sha256=Hrv51zXxXGRLiitgbByM7BK_Y_mX18uL5mizZXn2lZA,153163
243
+ synapse/models/infotech.py,sha256=IfxcD3Ap9W4jrBGkI55kej6UOdnTE2ZL3dH4R9f3MbI,155406
244
244
  synapse/models/language.py,sha256=hBVVIf5kc_FSIV7HZhWnberoc9ssxuqeff4fqC9iz4o,3640
245
245
  synapse/models/material.py,sha256=UvmnBEkbhBbdbnvWtTlgGJAJlKDrx9E-YSQ3K49ws5M,5405
246
246
  synapse/models/math.py,sha256=5zDLSwGbOcWI6T5-KspPL20sR8Bcs59pnRK2nEELzss,1775
@@ -312,8 +312,8 @@ synapse/tests/test_lib_hive.py,sha256=vh5DmCTP2MAiRXgvO_IqCSbS2CIyBUC1tjQGPK79Fx
312
312
  synapse/tests/test_lib_httpapi.py,sha256=b0bs4KV6C3OyHQZpxUL95vC5w-EB8CXVo5jBoycd4RE,106891
313
313
  synapse/tests/test_lib_interval.py,sha256=PNEU24XXEGdlW7WkiYJGbhGljwBJpAWen9yTOqlNikQ,839
314
314
  synapse/tests/test_lib_json.py,sha256=Xno2FVQDsOeGLWLNvU76VskxvmJHtQufJpW0Cg3IMqQ,8757
315
- synapse/tests/test_lib_jsonstor.py,sha256=ToLp5xdCOfqi1bWrPRxMsNewtGOd89zyX9Zn3VT5o9I,5950
316
- synapse/tests/test_lib_layer.py,sha256=FPPN-5fzPya8DYtJJ8-LQzJ3tGwe_YjvaVakKTQRd1I,94545
315
+ synapse/tests/test_lib_jsonstor.py,sha256=nGHM2MW8ih6p_JQEMhV-2T2oqJgGkdMGeRLQtPlhBSA,7864
316
+ synapse/tests/test_lib_layer.py,sha256=TgHrVTVGk2JCfDZBBSxmtEl-i3XQjvmwn0M7cuua_8g,95013
317
317
  synapse/tests/test_lib_link.py,sha256=JZZi3mt9k3dvIvLtRDNdzoVcmxet2bhmhrk8m4LB5hg,10311
318
318
  synapse/tests/test_lib_lmdbslab.py,sha256=2R80A17AoErvrt5cW5KattFlAdQrxMXzG02o82uD5So,67693
319
319
  synapse/tests/test_lib_modelrev.py,sha256=DK9ueo4WCUFagGFBP2xqEHvLqA9gnQLdbJTuKQmJs5k,81055
@@ -357,7 +357,7 @@ synapse/tests/test_lib_stormlib_imap.py,sha256=TZ5xZ4snzLI2W4wIm3d8R3KgTpl1PskoC
357
357
  synapse/tests/test_lib_stormlib_index.py,sha256=qz2pIJ1oZAyN3IEpIqYewiB4FVvKSfVLz27K24iAa_k,1672
358
358
  synapse/tests/test_lib_stormlib_infosec.py,sha256=uDaJ5WjTsujvALShSf-RDAOP4HhuddQcXfANTyIJkp4,27375
359
359
  synapse/tests/test_lib_stormlib_ipv6.py,sha256=sJDIM4lKayYct2qAGjRwgadmxzgegzSn8I3UxNRFF4M,877
360
- synapse/tests/test_lib_stormlib_iters.py,sha256=cL4YZ1D8lsoMI1LF3_HcbdQbsEGTVk9Sv-qFVSg_G1E,4452
360
+ synapse/tests/test_lib_stormlib_iters.py,sha256=RieNkPCnTP73tbpQdjK5lbT22mTGrKzAsKs6LgVPxN4,4486
361
361
  synapse/tests/test_lib_stormlib_json.py,sha256=ULqYofzDYHPfjSDVBsI3w0DGbTPf6WpaupCwLgjiUtA,3959
362
362
  synapse/tests/test_lib_stormlib_log.py,sha256=1utRgbOcLYGE70fIBubffgTg-vFPq-Xqq6Y4I3QIw1c,2778
363
363
  synapse/tests/test_lib_stormlib_macro.py,sha256=LJwjSXmX5BuoBsfp3uOhUODCdSpt5_F92XuV6ImswtM,18514
@@ -379,14 +379,14 @@ synapse/tests/test_lib_stormlib_vault.py,sha256=pE_nDisXiyb-4Zm1hOrfsuEz3bjYwR8c
379
379
  synapse/tests/test_lib_stormlib_xml.py,sha256=asF-Y1LVpLoqHRK71_LWy727XJvsTNpf8qRSK-CynMM,3659
380
380
  synapse/tests/test_lib_stormlib_yaml.py,sha256=egTVXk8wW31V2msF__9WxP3THcqfysG1mYhc7hQG8rw,1358
381
381
  synapse/tests/test_lib_stormsvc.py,sha256=zeaC4De4_osl5uA2OgEp5M2CIQlW8d6PogMzFqEhfqg,43970
382
- synapse/tests/test_lib_stormtypes.py,sha256=gms_GggL5QwDGZBILkJ5RvjAoBQf-FMx9_s4L-1DPbA,322020
382
+ synapse/tests/test_lib_stormtypes.py,sha256=ULKpKUAtLiIz1kQkgT52-63vRZ8Z7zTbsAEzjhC68Sc,322629
383
383
  synapse/tests/test_lib_stormwhois.py,sha256=AWMUYEgZ5yqvDfPC_rM4evmhgfOA_Fv5aoTjmKmN1_0,4818
384
384
  synapse/tests/test_lib_structlog.py,sha256=BxglFqOsJFPE2RsZ8dQyTBCEe1frQrHWWXmUBO2fPJs,3898
385
385
  synapse/tests/test_lib_task.py,sha256=UQi14LdQ0rxDRCSy4TAxyq2OXDOXPQqnvp-nCK_aoBE,2454
386
386
  synapse/tests/test_lib_thishost.py,sha256=O6QCENStRuMjWS7qV9rqwW3bSZwzEUn9NcttKnDqXw8,366
387
387
  synapse/tests/test_lib_time.py,sha256=d1mPkN9P3GHNnZ_mhjyOv64tJGQ0yI_ifUjK3x-kmDg,8891
388
388
  synapse/tests/test_lib_trigger.py,sha256=IxKkVxfQLrCz6Qy6yIrLw5-57KmTmuE6rqKztcjGmYw,42626
389
- synapse/tests/test_lib_types.py,sha256=uSr2IbO6eeycrfLgXDtmdF9BBsrc2X99ahir8FGH9Z8,82830
389
+ synapse/tests/test_lib_types.py,sha256=C7vAaffZ6W8a28fezNKpW2vxUPkeXK3PtAXmGxpIL4Q,83018
390
390
  synapse/tests/test_lib_urlhelp.py,sha256=7H_IY0dNQPVV17iuL9KK7Q128A3_J4sRzJ573D5RpQc,3747
391
391
  synapse/tests/test_lib_version.py,sha256=yDczjNi60hXXNZ-pYVntDblGNcekFZU6DdDsjUTkGtM,8164
392
392
  synapse/tests/test_lib_view.py,sha256=jljS79RvgD2owpPotIXvuG_9IwwmLt3t8g2MkbIsBco,41728
@@ -409,7 +409,7 @@ synapse/tests/test_model_gov_cn.py,sha256=FnfKNM_wnvmScLm4cYFSQXZ21kVaTPPDusiCD7
409
409
  synapse/tests/test_model_gov_intl.py,sha256=mHYK056C2R0aDH-5-TnUxtH0ZlKnEOoSd9ODIMasmow,780
410
410
  synapse/tests/test_model_gov_us.py,sha256=kvZ9DudBrbKtZmqGm8X-b_IOw4oJ7XZMnvTgiDkzsrY,1525
411
411
  synapse/tests/test_model_inet.py,sha256=5uPeWETSO9RzXF_SCsoFd7-pyPbB8JOLx_zv-h24tGw,159620
412
- synapse/tests/test_model_infotech.py,sha256=utLzSeQc7ZOcC0HrXPkMh8pUmustP_Kb6u19EkUjHr8,114072
412
+ synapse/tests/test_model_infotech.py,sha256=LQciaMSvpRKtViYAMwErSHBcH_kZY-m74sckzefiz7I,115428
413
413
  synapse/tests/test_model_language.py,sha256=49stF1B8_EwWJB67Xa5VXCG563Zfbr6S85iKN9Iom48,3046
414
414
  synapse/tests/test_model_material.py,sha256=Hkd8BJh6FdQE0RuFMV2NO6fGqw9kOCb5AeIuTYtwCEM,2723
415
415
  synapse/tests/test_model_math.py,sha256=x-rHBfm-59ueZdHXXzSi53eshldvVURoJeLeexWTL2U,826
@@ -642,8 +642,8 @@ synapse/vendor/xrpl/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
642
642
  synapse/vendor/xrpl/tests/test_codec.py,sha256=Zwq6A5uZUK_FWDL3BA932c5b-rL3hnC6efobWHSLC4o,6651
643
643
  synapse/vendor/xrpl/tests/test_main.py,sha256=kZQwWk7I6HrP-PMvLdsUUN4POvWD9I-iXDHOwdeF090,4299
644
644
  synapse/vendor/xrpl/tests/test_main_test_cases.py,sha256=vTlUM4hJD2Hd2wCIdd9rfsvcMZZZQmNHWdCTTFeGz2Y,4221
645
- synapse-2.214.0.dist-info/licenses/LICENSE,sha256=xllut76FgcGL5zbIRvuRc7aezPbvlMUTWJPsVr2Sugg,11358
646
- synapse-2.214.0.dist-info/METADATA,sha256=mTl1ITU1QujLJRW6fns8ufwXsi_u1kUzVfHCzaB_afU,4623
647
- synapse-2.214.0.dist-info/WHEEL,sha256=cRWFNt_CJSuf6BnJKAdKunDXUJxjAbWvbt_kstDCs1I,93
648
- synapse-2.214.0.dist-info/top_level.txt,sha256=v_1YsqjmoSCzCKs7oIhzTNmWtSYoORiBMv1TJkOhx8A,8
649
- synapse-2.214.0.dist-info/RECORD,,
645
+ synapse-2.215.0.dist-info/licenses/LICENSE,sha256=xllut76FgcGL5zbIRvuRc7aezPbvlMUTWJPsVr2Sugg,11358
646
+ synapse-2.215.0.dist-info/METADATA,sha256=6PRgjdKGsfn0Sdaw27JJo73HkaI3_G31--OWuU4BItQ,4623
647
+ synapse-2.215.0.dist-info/WHEEL,sha256=cRWFNt_CJSuf6BnJKAdKunDXUJxjAbWvbt_kstDCs1I,93
648
+ synapse-2.215.0.dist-info/top_level.txt,sha256=v_1YsqjmoSCzCKs7oIhzTNmWtSYoORiBMv1TJkOhx8A,8
649
+ synapse-2.215.0.dist-info/RECORD,,