synapse 2.166.0__tar.gz → 2.168.0__tar.gz

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.

Files changed (577) hide show
  1. {synapse-2.166.0/synapse.egg-info → synapse-2.168.0}/PKG-INFO +3 -3
  2. {synapse-2.166.0 → synapse-2.168.0}/pyproject.toml +3 -3
  3. {synapse-2.166.0 → synapse-2.168.0}/synapse/axon.py +4 -10
  4. {synapse-2.166.0 → synapse-2.168.0}/synapse/cortex.py +55 -12
  5. {synapse-2.166.0 → synapse-2.168.0}/synapse/exc.py +1 -0
  6. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/aha.py +4 -1
  7. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/base.py +11 -4
  8. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/cell.py +11 -2
  9. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/hive.py +11 -0
  10. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/layer.py +2 -0
  11. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/modelrev.py +6 -0
  12. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/modules.py +1 -0
  13. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/node.py +4 -2
  14. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/schemas.py +1 -1
  15. synapse-2.168.0/synapse/lib/stormlib/aha.py +535 -0
  16. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/easyperm.py +8 -0
  17. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/macro.py +11 -18
  18. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/stix.py +1 -1
  19. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormtypes.py +25 -2
  20. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/types.py +2 -0
  21. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/version.py +2 -2
  22. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/view.py +5 -3
  23. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/base.py +8 -0
  24. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/files.py +3 -0
  25. synapse-2.168.0/synapse/models/planning.py +161 -0
  26. {synapse-2.166.0 → synapse-2.168.0}/synapse/telepath.py +1 -0
  27. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +3 -0
  28. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_cortex.py +40 -3
  29. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_aha.py +8 -4
  30. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_cell.py +6 -2
  31. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_grammar.py +62 -64
  32. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_httpapi.py +1 -1
  33. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_rstorm.py +4 -4
  34. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_storm.py +3 -3
  35. synapse-2.168.0/synapse/tests/test_lib_stormlib_aha.py +196 -0
  36. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_compression.py +12 -12
  37. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_macro.py +94 -0
  38. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_spooled.py +1 -1
  39. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormtypes.py +44 -33
  40. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_trigger.py +3 -3
  41. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_view.py +50 -3
  42. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_files.py +3 -0
  43. synapse-2.168.0/synapse/tests/test_model_planning.py +126 -0
  44. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_genpkg.py +26 -0
  45. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_hiveload.py +1 -0
  46. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_hivesave.py +1 -0
  47. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/utils.py +22 -3
  48. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/autodoc.py +1 -1
  49. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/hive/load.py +3 -0
  50. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/hive/save.py +3 -0
  51. {synapse-2.166.0 → synapse-2.168.0/synapse.egg-info}/PKG-INFO +3 -3
  52. {synapse-2.166.0 → synapse-2.168.0}/synapse.egg-info/SOURCES.txt +3 -0
  53. {synapse-2.166.0 → synapse-2.168.0}/synapse.egg-info/requires.txt +2 -2
  54. synapse-2.166.0/synapse/lib/stormlib/aha.py +0 -170
  55. {synapse-2.166.0 → synapse-2.168.0}/LICENSE +0 -0
  56. {synapse-2.166.0 → synapse-2.168.0}/README.rst +0 -0
  57. {synapse-2.166.0 → synapse-2.168.0}/setup.cfg +0 -0
  58. {synapse-2.166.0 → synapse-2.168.0}/synapse/__init__.py +0 -0
  59. {synapse-2.166.0 → synapse-2.168.0}/synapse/cells.py +0 -0
  60. {synapse-2.166.0 → synapse-2.168.0}/synapse/cmds/__init__.py +0 -0
  61. {synapse-2.166.0 → synapse-2.168.0}/synapse/cmds/boss.py +0 -0
  62. {synapse-2.166.0 → synapse-2.168.0}/synapse/cmds/cortex.py +0 -0
  63. {synapse-2.166.0 → synapse-2.168.0}/synapse/cmds/hive.py +0 -0
  64. {synapse-2.166.0 → synapse-2.168.0}/synapse/common.py +0 -0
  65. {synapse-2.166.0 → synapse-2.168.0}/synapse/cryotank.py +0 -0
  66. {synapse-2.166.0 → synapse-2.168.0}/synapse/daemon.py +0 -0
  67. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/__init__.py +0 -0
  68. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  69. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/attack-flow/README.md +0 -0
  70. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  71. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  72. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  73. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  74. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  75. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/iana.tlds.mpk +0 -0
  76. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/README.md +0 -0
  77. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  78. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  79. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  80. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  81. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  82. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  83. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  84. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  85. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  86. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  87. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  88. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  89. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  90. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  91. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  92. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  93. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  94. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  95. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  96. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  97. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  98. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  99. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  100. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  101. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  102. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  103. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  104. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  105. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  106. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  107. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  108. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  109. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  110. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  111. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  112. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  113. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  114. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  115. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  116. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  117. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  118. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  119. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  120. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  121. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  122. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  123. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  124. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  125. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  126. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  127. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  128. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  129. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  130. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  131. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  132. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  133. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  134. {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  135. {synapse-2.166.0 → synapse-2.168.0}/synapse/datamodel.py +0 -0
  136. {synapse-2.166.0 → synapse-2.168.0}/synapse/glob.py +0 -0
  137. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/__init__.py +0 -0
  138. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/agenda.py +0 -0
  139. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/ast.py +0 -0
  140. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/autodoc.py +0 -0
  141. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/boss.py +0 -0
  142. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/cache.py +0 -0
  143. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/certdir.py +0 -0
  144. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/chop.py +0 -0
  145. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/cli.py +0 -0
  146. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/cmd.py +0 -0
  147. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/cmdr.py +0 -0
  148. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/config.py +0 -0
  149. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/const.py +0 -0
  150. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/coro.py +0 -0
  151. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/crypto/__init__.py +0 -0
  152. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/crypto/coin.py +0 -0
  153. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/crypto/ecc.py +0 -0
  154. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/crypto/passwd.py +0 -0
  155. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/crypto/rsa.py +0 -0
  156. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/crypto/tinfoil.py +0 -0
  157. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/datfile.py +0 -0
  158. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/dyndeps.py +0 -0
  159. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/encoding.py +0 -0
  160. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/gis.py +0 -0
  161. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/grammar.py +0 -0
  162. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/hashitem.py +0 -0
  163. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/hashset.py +0 -0
  164. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/health.py +0 -0
  165. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/hiveauth.py +0 -0
  166. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/httpapi.py +0 -0
  167. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/ingest.py +0 -0
  168. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/interval.py +0 -0
  169. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/jsonstor.py +0 -0
  170. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/jupyter.py +0 -0
  171. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/link.py +0 -0
  172. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/lmdbslab.py +0 -0
  173. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/module.py +0 -0
  174. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/msgpack.py +0 -0
  175. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/multislabseqn.py +0 -0
  176. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/nexus.py +0 -0
  177. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/oauth.py +0 -0
  178. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/output.py +0 -0
  179. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/parser.py +0 -0
  180. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/platforms/__init__.py +0 -0
  181. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/platforms/common.py +0 -0
  182. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/platforms/darwin.py +0 -0
  183. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/platforms/freebsd.py +0 -0
  184. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/platforms/linux.py +0 -0
  185. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/platforms/windows.py +0 -0
  186. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/queue.py +0 -0
  187. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/ratelimit.py +0 -0
  188. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/reflect.py +0 -0
  189. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/rstorm.py +0 -0
  190. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/scope.py +0 -0
  191. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/scrape.py +0 -0
  192. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/share.py +0 -0
  193. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/slaboffs.py +0 -0
  194. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/slabseqn.py +0 -0
  195. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/snap.py +0 -0
  196. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/spooled.py +0 -0
  197. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/storm.lark +0 -0
  198. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/storm.py +0 -0
  199. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/storm_format.py +0 -0
  200. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormctrl.py +0 -0
  201. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormhttp.py +0 -0
  202. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/__init__.py +0 -0
  203. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/auth.py +0 -0
  204. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/backup.py +0 -0
  205. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/basex.py +0 -0
  206. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/cache.py +0 -0
  207. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/cell.py +0 -0
  208. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/compression.py +0 -0
  209. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/cortex.py +0 -0
  210. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/ethereum.py +0 -0
  211. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/gen.py +0 -0
  212. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/gis.py +0 -0
  213. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/graph.py +0 -0
  214. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/hashes.py +0 -0
  215. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/hex.py +0 -0
  216. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/imap.py +0 -0
  217. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/infosec.py +0 -0
  218. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/ipv6.py +0 -0
  219. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/iters.py +0 -0
  220. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/json.py +0 -0
  221. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/log.py +0 -0
  222. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/math.py +0 -0
  223. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/mime.py +0 -0
  224. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/model.py +0 -0
  225. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/modelext.py +0 -0
  226. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/notifications.py +0 -0
  227. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/oauth.py +0 -0
  228. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/pack.py +0 -0
  229. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/project.py +0 -0
  230. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/random.py +0 -0
  231. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/scrape.py +0 -0
  232. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/smtp.py +0 -0
  233. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/spooled.py +0 -0
  234. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/stats.py +0 -0
  235. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/storm.py +0 -0
  236. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/vault.py +0 -0
  237. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/version.py +0 -0
  238. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/xml.py +0 -0
  239. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/yaml.py +0 -0
  240. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormsvc.py +0 -0
  241. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormwhois.py +0 -0
  242. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/structlog.py +0 -0
  243. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/task.py +0 -0
  244. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/thishost.py +0 -0
  245. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/thisplat.py +0 -0
  246. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/threads.py +0 -0
  247. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/time.py +0 -0
  248. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/trigger.py +0 -0
  249. {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/urlhelp.py +0 -0
  250. {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/__init__.py +0 -0
  251. {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/cvss.py +0 -0
  252. {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/iana.py +0 -0
  253. {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/iso3166.py +0 -0
  254. {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/macho.py +0 -0
  255. {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/pe.py +0 -0
  256. {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/phonenum.py +0 -0
  257. {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/timezones.py +0 -0
  258. {synapse-2.166.0 → synapse-2.168.0}/synapse/mindmeld.py +0 -0
  259. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/__init__.py +0 -0
  260. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/auth.py +0 -0
  261. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/belief.py +0 -0
  262. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/biz.py +0 -0
  263. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/crypto.py +0 -0
  264. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/dns.py +0 -0
  265. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/economic.py +0 -0
  266. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/geopol.py +0 -0
  267. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/geospace.py +0 -0
  268. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/gov/__init__.py +0 -0
  269. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/gov/cn.py +0 -0
  270. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/gov/intl.py +0 -0
  271. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/gov/us.py +0 -0
  272. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/inet.py +0 -0
  273. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/infotech.py +0 -0
  274. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/language.py +0 -0
  275. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/material.py +0 -0
  276. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/media.py +0 -0
  277. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/orgs.py +0 -0
  278. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/person.py +0 -0
  279. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/proj.py +0 -0
  280. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/risk.py +0 -0
  281. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/science.py +0 -0
  282. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/syn.py +0 -0
  283. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/telco.py +0 -0
  284. {synapse-2.166.0 → synapse-2.168.0}/synapse/models/transport.py +0 -0
  285. {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/__init__.py +0 -0
  286. {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/aha.py +0 -0
  287. {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/axon.py +0 -0
  288. {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/cell.py +0 -0
  289. {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/cortex.py +0 -0
  290. {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/cryotank.py +0 -0
  291. {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/jsonstor.py +0 -0
  292. {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/stemcell.py +0 -0
  293. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/__init__.py +0 -0
  294. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  295. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/__init__.py +0 -0
  296. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  297. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  298. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  299. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
  300. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  301. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  302. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/users/root.crt +0 -0
  303. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/users/root.key +0 -0
  304. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/users/user.crt +0 -0
  305. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/users/user.key +0 -0
  306. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  307. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  308. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  309. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  310. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
  311. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stix_export/basic.json +0 -0
  312. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  313. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  314. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  315. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  316. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  317. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  318. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  319. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  320. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormcov/spin.storm +0 -0
  321. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  322. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormmod/common +0 -0
  323. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  324. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  325. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  326. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  327. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  328. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  329. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  330. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  331. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  332. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  333. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  334. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  335. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  336. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  337. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  338. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  339. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  340. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  341. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  342. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  343. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  344. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  345. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/test.dat +0 -0
  346. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/testcore/cell.yaml +0 -0
  347. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/nopmod.py +0 -0
  348. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_axon.py +0 -0
  349. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_cmds_boss.py +0 -0
  350. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_cmds_cortex.py +0 -0
  351. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_cmds_hive.py +0 -0
  352. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_common.py +0 -0
  353. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_cryotank.py +0 -0
  354. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_daemon.py +0 -0
  355. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_data.py +0 -0
  356. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_datamodel.py +0 -0
  357. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_exc.py +0 -0
  358. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_glob.py +0 -0
  359. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_init.py +0 -0
  360. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_agenda.py +0 -0
  361. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_ast.py +0 -0
  362. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_autodoc.py +0 -0
  363. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_base.py +0 -0
  364. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_boss.py +0 -0
  365. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_cache.py +0 -0
  366. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_certdir.py +0 -0
  367. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_chop.py +0 -0
  368. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_cli.py +0 -0
  369. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_config.py +0 -0
  370. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_const.py +0 -0
  371. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_coro.py +0 -0
  372. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  373. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  374. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  375. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  376. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_datfile.py +0 -0
  377. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  378. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_encoding.py +0 -0
  379. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_gis.py +0 -0
  380. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_hashitem.py +0 -0
  381. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_hashset.py +0 -0
  382. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_health.py +0 -0
  383. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_hive.py +0 -0
  384. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_hiveauth.py +0 -0
  385. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_interval.py +0 -0
  386. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  387. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_jupyter.py +0 -0
  388. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_layer.py +0 -0
  389. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_link.py +0 -0
  390. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
  391. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_modelrev.py +0 -0
  392. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_module.py +0 -0
  393. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_msgpack.py +0 -0
  394. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
  395. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_nexus.py +0 -0
  396. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_node.py +0 -0
  397. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_output.py +0 -0
  398. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  399. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_queue.py +0 -0
  400. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_ratelimit.py +0 -0
  401. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_reflect.py +0 -0
  402. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_scope.py +0 -0
  403. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_scrape.py +0 -0
  404. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_slaboffs.py +0 -0
  405. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_slabseqn.py +0 -0
  406. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_snap.py +0 -0
  407. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_spooled.py +0 -0
  408. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_storm_format.py +0 -0
  409. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormhttp.py +0 -0
  410. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
  411. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  412. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  413. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
  414. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  415. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
  416. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  417. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  418. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  419. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  420. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  421. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  422. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
  423. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  424. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  425. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  426. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
  427. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
  428. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
  429. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
  430. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  431. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
  432. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  433. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  434. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  435. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  436. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  437. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  438. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  439. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  440. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  441. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  442. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormsvc.py +0 -0
  443. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormwhois.py +0 -0
  444. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_structlog.py +0 -0
  445. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_task.py +0 -0
  446. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_thishost.py +0 -0
  447. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_time.py +0 -0
  448. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_types.py +0 -0
  449. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_urlhelp.py +0 -0
  450. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_version.py +0 -0
  451. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lookup_iso3166.py +0 -0
  452. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  453. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_mindmeld.py +0 -0
  454. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_auth.py +0 -0
  455. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_base.py +0 -0
  456. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_belief.py +0 -0
  457. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_biz.py +0 -0
  458. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_crypto.py +0 -0
  459. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_dns.py +0 -0
  460. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_economic.py +0 -0
  461. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_geopol.py +0 -0
  462. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_geospace.py +0 -0
  463. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_gov_cn.py +0 -0
  464. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_gov_intl.py +0 -0
  465. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_gov_us.py +0 -0
  466. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_inet.py +0 -0
  467. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_infotech.py +0 -0
  468. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_language.py +0 -0
  469. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_material.py +0 -0
  470. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_media.py +0 -0
  471. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_orgs.py +0 -0
  472. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_person.py +0 -0
  473. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_proj.py +0 -0
  474. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_risk.py +0 -0
  475. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_science.py +0 -0
  476. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_syn.py +0 -0
  477. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_telco.py +0 -0
  478. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_transport.py +0 -0
  479. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_servers_axon.py +0 -0
  480. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_servers_cortex.py +0 -0
  481. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_servers_cryotank.py +0 -0
  482. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_servers_stemcell.py +0 -0
  483. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_servers_univ.py +0 -0
  484. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_telepath.py +0 -0
  485. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_aha.py +0 -0
  486. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_autodoc.py +0 -0
  487. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_axon2axon.py +0 -0
  488. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_backup.py +0 -0
  489. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_cellauth.py +0 -0
  490. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
  491. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_cryo_list.py +0 -0
  492. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_csvtool.py +0 -0
  493. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_docker_validate.py +0 -0
  494. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_easycert.py +0 -0
  495. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_feed.py +0 -0
  496. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_guid.py +0 -0
  497. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_healthcheck.py +0 -0
  498. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_json2mpk.py +0 -0
  499. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_livebackup.py +0 -0
  500. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_modrole.py +0 -0
  501. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_moduser.py +0 -0
  502. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_pullfile.py +0 -0
  503. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_pushfile.py +0 -0
  504. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_reload.py +0 -0
  505. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_rstorm.py +0 -0
  506. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_storm.py +0 -0
  507. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_utils.py +0 -0
  508. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_utils_getrefs.py +0 -0
  509. {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_utils_stormcov.py +0 -0
  510. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/__init__.py +0 -0
  511. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/__init__.py +0 -0
  512. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/easycert.py +0 -0
  513. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/enroll.py +0 -0
  514. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/list.py +0 -0
  515. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/provision/__init__.py +0 -0
  516. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/provision/service.py +0 -0
  517. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/provision/user.py +0 -0
  518. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/axon2axon.py +0 -0
  519. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/backup.py +0 -0
  520. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/cellauth.py +0 -0
  521. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/cmdr.py +0 -0
  522. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/cryo/__init__.py +0 -0
  523. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/cryo/cat.py +0 -0
  524. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/cryo/list.py +0 -0
  525. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/csvtool.py +0 -0
  526. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/docker/__init__.py +0 -0
  527. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/docker/validate.py +0 -0
  528. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/easycert.py +0 -0
  529. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/feed.py +0 -0
  530. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/genpkg.py +0 -0
  531. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/guid.py +0 -0
  532. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/healthcheck.py +0 -0
  533. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/hive/__init__.py +0 -0
  534. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/json2mpk.py +0 -0
  535. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/livebackup.py +0 -0
  536. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/modrole.py +0 -0
  537. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/moduser.py +0 -0
  538. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/promote.py +0 -0
  539. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/pullfile.py +0 -0
  540. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/pushfile.py +0 -0
  541. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/reload.py +0 -0
  542. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/rstorm.py +0 -0
  543. {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/storm.py +0 -0
  544. {synapse-2.166.0 → synapse-2.168.0}/synapse/utils/__init__.py +0 -0
  545. {synapse-2.166.0 → synapse-2.168.0}/synapse/utils/getrefs.py +0 -0
  546. {synapse-2.166.0 → synapse-2.168.0}/synapse/utils/stormcov/__init__.py +0 -0
  547. {synapse-2.166.0 → synapse-2.168.0}/synapse/utils/stormcov/plugin.py +0 -0
  548. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/__init__.py +0 -0
  549. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  550. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  551. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/base58.py +0 -0
  552. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/convert.py +0 -0
  553. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  554. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  555. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  556. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  557. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  558. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  559. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  560. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  561. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  562. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/utils.py +0 -0
  563. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/LICENSE +0 -0
  564. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/__init__.py +0 -0
  565. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/constants.py +0 -0
  566. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  567. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  568. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  569. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  570. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  571. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  572. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  573. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  574. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  575. {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  576. {synapse-2.166.0 → synapse-2.168.0}/synapse.egg-info/dependency_links.txt +0 -0
  577. {synapse-2.166.0 → synapse-2.168.0}/synapse.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: synapse
3
- Version: 2.166.0
3
+ Version: 2.168.0
4
4
  Summary: Synapse Intelligence Analysis Framework
5
5
  Author-email: The Vertex Project LLC <root@vertex.link>
6
6
  License: Apache License 2.0
@@ -36,7 +36,7 @@ Requires-Dist: lark==1.1.9
36
36
  Requires-Dist: Pygments<2.18.0,>=2.7.4
37
37
  Requires-Dist: packaging<24.0,>=20.0
38
38
  Requires-Dist: fastjsonschema<2.20.0,>=2.18.0
39
- Requires-Dist: stix2-validator<3.2.0,>=3.0.0
39
+ Requires-Dist: stix2-validator<4.0.0,>=3.2.0
40
40
  Requires-Dist: vcrpy<5.2.0,>=4.3.1
41
41
  Requires-Dist: base58<2.2.0,>=2.1.0
42
42
  Requires-Dist: python-bitcoinlib<0.13.0,>=0.11.0
@@ -46,7 +46,7 @@ Requires-Dist: scalecodec<1.3.0,>=1.0.2
46
46
  Requires-Dist: cbor2<5.7.0,>=5.4.1
47
47
  Requires-Dist: bech32==1.2.0
48
48
  Requires-Dist: oauthlib<4.0.0,>=3.2.1
49
- Requires-Dist: idna<3.7,>=3.6
49
+ Requires-Dist: idna<3.8,>=3.6
50
50
  Requires-Dist: python-dateutil<3.0,>=2.8
51
51
  Requires-Dist: pytz<2024.1,>=2023.3
52
52
  Requires-Dist: beautifulsoup4[html5lib]<5.0,>=4.11.1
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'synapse'
7
- version = '2.166.0'
7
+ version = '2.168.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -40,7 +40,7 @@ dependencies = [
40
40
  'Pygments>=2.7.4,<2.18.0',
41
41
  'packaging>=20.0,<24.0',
42
42
  'fastjsonschema>=2.18.0,<2.20.0',
43
- 'stix2-validator>=3.0.0,<3.2.0',
43
+ 'stix2-validator>=3.2.0,<4.0.0',
44
44
  'vcrpy>=4.3.1,<5.2.0',
45
45
  'base58>=2.1.0,<2.2.0',
46
46
  'python-bitcoinlib>=0.11.0,<0.13.0',
@@ -50,7 +50,7 @@ dependencies = [
50
50
  'cbor2>=5.4.1,<5.7.0',
51
51
  'bech32==1.2.0',
52
52
  'oauthlib>=3.2.1,<4.0.0',
53
- 'idna>=3.6,<3.7',
53
+ 'idna>=3.6,<3.8',
54
54
  'python-dateutil>=2.8,<3.0',
55
55
  'pytz>=2023.3,<2024.1',
56
56
  'beautifulsoup4[html5lib]>=4.11.1,<5.0',
@@ -1509,7 +1509,6 @@ class Axon(s_cell.Cell):
1509
1509
  atimeout = aiohttp.ClientTimeout(total=timeout)
1510
1510
 
1511
1511
  async with aiohttp.ClientSession(connector=connector, timeout=atimeout) as sess:
1512
-
1513
1512
  try:
1514
1513
  data = aiohttp.FormData()
1515
1514
  data._is_multipart = True
@@ -1523,7 +1522,9 @@ class Axon(s_cell.Cell):
1523
1522
 
1524
1523
  sha256 = field.get('sha256')
1525
1524
  if sha256:
1526
- valu = self.get(s_common.uhex(sha256))
1525
+ sha256b = s_common.uhex(sha256)
1526
+ await self._reqHas(sha256b)
1527
+ valu = self.get(sha256b)
1527
1528
  else:
1528
1529
  valu = field.get('value')
1529
1530
  if not isinstance(valu, (bytes, str)):
@@ -1547,9 +1548,6 @@ class Axon(s_cell.Cell):
1547
1548
  }
1548
1549
  return info
1549
1550
 
1550
- except asyncio.CancelledError: # pramga: no cover
1551
- raise
1552
-
1553
1551
  except Exception as e:
1554
1552
  logger.exception(f'Error POSTing files to [{s_urlhelp.sanitizeUrl(url)}]')
1555
1553
  err = s_common.err(e)
@@ -1586,9 +1584,8 @@ class Axon(s_cell.Cell):
1586
1584
  atimeout = aiohttp.ClientTimeout(total=timeout)
1587
1585
 
1588
1586
  async with aiohttp.ClientSession(connector=connector, timeout=atimeout) as sess:
1589
-
1590
1587
  try:
1591
-
1588
+ await self._reqHas(sha256)
1592
1589
  async with sess.request(method, url, headers=headers, params=params,
1593
1590
  data=self.get(sha256), ssl=ssl) as resp:
1594
1591
 
@@ -1601,9 +1598,6 @@ class Axon(s_cell.Cell):
1601
1598
  }
1602
1599
  return info
1603
1600
 
1604
- except asyncio.CancelledError: # pramga: no cover
1605
- raise
1606
-
1607
1601
  except Exception as e:
1608
1602
  logger.exception(f'Error streaming [{sha256}] to [{s_urlhelp.sanitizeUrl(url)}]')
1609
1603
  err = s_common.err(e)
@@ -881,7 +881,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
881
881
 
882
882
  self.maxnodes = self.conf.get('max:nodes')
883
883
  self.nodecount = 0
884
+
884
885
  self.migration = False
886
+ self._migration_lock = asyncio.Lock()
885
887
 
886
888
  self.stormmods = {} # name: mdef
887
889
  self.stormpkgs = {} # name: pkgdef
@@ -1016,6 +1018,12 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1016
1018
  (2, self._storLayrFeedDefaults),
1017
1019
  ), nexs=False)
1018
1020
 
1021
+ async def _viewNomergeToProtected(self):
1022
+ for view in self.views.values():
1023
+ nomerge = view.info.get('nomerge', False)
1024
+ await view.setViewInfo('protected', nomerge)
1025
+ await view.setViewInfo('nomerge', None)
1026
+
1019
1027
  async def _storUpdateMacros(self):
1020
1028
  for name, node in await self.hive.open(('cortex', 'storm', 'macros')):
1021
1029
 
@@ -1050,6 +1058,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1050
1058
 
1051
1059
  def getStormMacro(self, name, user=None):
1052
1060
 
1061
+ if not name:
1062
+ raise s_exc.BadArg(mesg=f'Macro names must be at least 1 character long')
1063
+
1053
1064
  if len(name) > 491:
1054
1065
  raise s_exc.BadArg(mesg='Macro names may only be up to 491 chars.')
1055
1066
 
@@ -1140,6 +1151,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1140
1151
  raise s_exc.BadArg(mesg=f'Duplicate macro name: {name}')
1141
1152
 
1142
1153
  self.slab.put(name.encode(), s_msgpack.en(mdef), db=self.macrodb)
1154
+ await self.feedBeholder('storm:macro:add', {'macro': mdef})
1143
1155
  return mdef
1144
1156
 
1145
1157
  async def delStormMacro(self, name, user=None):
@@ -1151,9 +1163,15 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1151
1163
 
1152
1164
  @s_nexus.Pusher.onPush('storm:macro:del')
1153
1165
  async def _delStormMacro(self, name):
1166
+ if not name:
1167
+ raise s_exc.BadArg(mesg=f'Macro names must be at least 1 character long')
1168
+
1154
1169
  byts = self.slab.pop(name.encode(), db=self.macrodb)
1170
+
1155
1171
  if byts is not None:
1156
- return s_msgpack.un(byts)
1172
+ macro = s_msgpack.un(byts)
1173
+ await self.feedBeholder('storm:macro:del', {'name': name, 'iden': macro.get('iden')})
1174
+ return macro
1157
1175
 
1158
1176
  async def modStormMacro(self, name, info, user=None):
1159
1177
  if user is not None:
@@ -1183,6 +1201,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1183
1201
  else:
1184
1202
  self.slab.put(name.encode(), s_msgpack.en(mdef), db=self.macrodb)
1185
1203
 
1204
+ await self.feedBeholder('storm:macro:mod', {'macro': mdef, 'info': info})
1186
1205
  return mdef
1187
1206
 
1188
1207
  async def setStormMacroPerm(self, name, scope, iden, level, user=None):
@@ -1201,6 +1220,14 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1201
1220
  reqValidStormMacro(mdef)
1202
1221
 
1203
1222
  self.slab.put(name.encode(), s_msgpack.en(mdef), db=self.macrodb)
1223
+
1224
+ info = {
1225
+ 'scope': scope,
1226
+ 'iden': iden,
1227
+ 'level': level
1228
+ }
1229
+
1230
+ await self.feedBeholder('storm:macro:set:perm', {'macro': mdef, 'info': info})
1204
1231
  return mdef
1205
1232
 
1206
1233
  async def getStormMacros(self, user=None):
@@ -1400,6 +1427,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1400
1427
 
1401
1428
  await self._bumpCellVers('cortex:defaults', (
1402
1429
  (1, self._addAllLayrRead),
1430
+ (2, self._viewNomergeToProtected),
1403
1431
  ))
1404
1432
 
1405
1433
  async def _addAllLayrRead(self):
@@ -1454,12 +1482,21 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1454
1482
  await self.stormdmons.start()
1455
1483
  await self.agenda.clearRunningStatus()
1456
1484
 
1457
- for view in self.views.values():
1458
- await view.initTrigTask()
1459
- await view.initMergeTask()
1485
+ async def _runMigrations():
1486
+ # Run migrations when this cortex becomes active. This is to prevent
1487
+ # migrations getting skipped in a zero-downtime upgrade path
1488
+ # (upgrade mirror, promote mirror).
1489
+ await self._checkLayerModels()
1460
1490
 
1461
- for layer in self.layers.values():
1462
- await layer.initLayerActive()
1491
+ # Once migrations are complete, start the view and layer tasks.
1492
+ for view in self.views.values():
1493
+ await view.initTrigTask()
1494
+ await view.initMergeTask()
1495
+
1496
+ for layer in self.layers.values():
1497
+ await layer.initLayerActive()
1498
+
1499
+ self.runActiveTask(_runMigrations())
1463
1500
 
1464
1501
  await self.initStormPool()
1465
1502
 
@@ -3571,6 +3608,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3571
3608
  break
3572
3609
 
3573
3610
  yield ioff, layr.iden, SYNC_NODEEDITS, item, meta
3611
+ await asyncio.sleep(0)
3574
3612
 
3575
3613
  if layr.isdeleted:
3576
3614
  yield layr.deloffs, layr.iden, SYNC_LAYR_DEL, (), {}
@@ -4337,7 +4375,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4337
4375
  return ret
4338
4376
 
4339
4377
  async def _checkLayerModels(self):
4340
- with self.enterMigrationMode():
4378
+ async with self.enterMigrationMode():
4341
4379
  mrev = s_modelrev.ModelRev(self)
4342
4380
  await mrev.revCoreLayers()
4343
4381
 
@@ -4458,6 +4496,10 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4458
4496
  if view is None:
4459
4497
  raise s_exc.NoSuchView(mesg=f'No such view {iden=}', iden=iden)
4460
4498
 
4499
+ if view.info.get('protected'):
4500
+ mesg = f'Cannot delete view ({iden}) that has protected set.'
4501
+ raise s_exc.CantDelView(mesg=mesg)
4502
+
4461
4503
  return await self._push('view:del', iden)
4462
4504
 
4463
4505
  @s_nexus.Pusher.onPush('view:del')
@@ -6068,11 +6110,12 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
6068
6110
  appt = await self.agenda.get(iden)
6069
6111
  await appt.edits(edits)
6070
6112
 
6071
- @contextlib.contextmanager
6072
- def enterMigrationMode(self):
6073
- self.migration = True
6074
- yield
6075
- self.migration = False
6113
+ @contextlib.asynccontextmanager
6114
+ async def enterMigrationMode(self):
6115
+ async with self._migration_lock:
6116
+ self.migration = True
6117
+ yield
6118
+ self.migration = False
6076
6119
 
6077
6120
  async def iterFormRows(self, layriden, form, stortype=None, startvalu=None):
6078
6121
  '''
@@ -145,6 +145,7 @@ class CantDelForm(SynErr): pass
145
145
  class CantDelProp(SynErr): pass
146
146
  class CantDelType(SynErr): pass
147
147
  class CantDelUniv(SynErr): pass
148
+ class CantDelView(SynErr): pass
148
149
  class CantMergeView(SynErr): pass
149
150
  class CantRevLayer(SynErr): pass
150
151
  class CliFini(SynErr):
@@ -782,6 +782,8 @@ class AhaCell(s_cell.Cell):
782
782
 
783
783
  svcname, svcnetw, svcfull = self._nameAndNetwork(name, network)
784
784
 
785
+ logger.info(f'Deleting service [{svcfull}].', extra=await self.getLogExtra(name=svcname, netw=svcnetw))
786
+
785
787
  full = ('aha', 'svcfull', svcfull)
786
788
  path = ('aha', 'services', svcnetw, svcname)
787
789
 
@@ -805,7 +807,8 @@ class AhaCell(s_cell.Cell):
805
807
  async def _setAhaSvcDown(self, name, linkiden, network=None):
806
808
  svcname, svcnetw, svcfull = self._nameAndNetwork(name, network)
807
809
  path = ('aha', 'services', svcnetw, svcname)
808
- await self.jsonstor.cmpDelPathObjProp(path, 'svcinfo/online', linkiden)
810
+ if await self.jsonstor.cmpDelPathObjProp(path, 'svcinfo/online', linkiden):
811
+ await self.jsonstor.setPathObjProp(path, 'svcinfo/ready', False)
809
812
 
810
813
  # Check if we have any links which may need to be removed
811
814
  current_sessions = {s_common.guid(iden): sess for iden, sess in self.dmon.sessions.items()}
@@ -143,6 +143,7 @@ class Base:
143
143
  self._fini_atexit = False
144
144
  self._active_tasks = None # the set of free running tasks associated with me
145
145
  self._context_managers = None # the set of context managers i must fini
146
+ self._syn_signal_tasks = None # initialized as a Set when addSignalHandlers is called.
146
147
 
147
148
  async def postAnit(self):
148
149
  '''
@@ -559,14 +560,20 @@ class Base:
559
560
  '''
560
561
  Register SIGTERM/SIGINT signal handlers with the ioloop to fini this object.
561
562
  '''
563
+ if self._syn_signal_tasks is None:
564
+ self._syn_signal_tasks = set()
562
565
 
563
566
  def sigterm():
564
- print('Caught SIGTERM, shutting down.')
565
- asyncio.create_task(self.fini())
567
+ logger.warning('Caught SIGTERM, shutting down.')
568
+ task = asyncio.create_task(self.fini())
569
+ self._syn_signal_tasks.add(task)
570
+ task.add_done_callback(self._syn_signal_tasks.discard)
566
571
 
567
572
  def sigint():
568
- print('Caught SIGINT, shutting down.')
569
- asyncio.create_task(self.fini())
573
+ logger.warning('Caught SIGINT, shutting down.')
574
+ task = asyncio.create_task(self.fini())
575
+ self._syn_signal_tasks.add(task)
576
+ task.add_done_callback(self._syn_signal_tasks.discard)
570
577
 
571
578
  loop = asyncio.get_running_loop()
572
579
  loop.add_signal_handler(signal.SIGINT, sigint)
@@ -668,26 +668,32 @@ class CellApi(s_base.Base):
668
668
 
669
669
  @adminapi()
670
670
  async def listHiveKey(self, path=None):
671
+ s_common.deprecated('CellApi.listHiveKey', curv='2.167.0')
671
672
  return await self.cell.listHiveKey(path=path)
672
673
 
673
674
  @adminapi(log=True)
674
675
  async def getHiveKeys(self, path):
676
+ s_common.deprecated('CellApi.getHiveKeys', curv='2.167.0')
675
677
  return await self.cell.getHiveKeys(path)
676
678
 
677
679
  @adminapi(log=True)
678
680
  async def getHiveKey(self, path):
681
+ s_common.deprecated('CellApi.getHiveKey', curv='2.167.0')
679
682
  return await self.cell.getHiveKey(path)
680
683
 
681
684
  @adminapi(log=True)
682
685
  async def setHiveKey(self, path, valu):
686
+ s_common.deprecated('CellApi.setHiveKey', curv='2.167.0')
683
687
  return await self.cell.setHiveKey(path, valu)
684
688
 
685
689
  @adminapi(log=True)
686
690
  async def popHiveKey(self, path):
691
+ s_common.deprecated('CellApi.popHiveKey', curv='2.167.0')
687
692
  return await self.cell.popHiveKey(path)
688
693
 
689
694
  @adminapi(log=True)
690
695
  async def saveHiveTree(self, path=()):
696
+ s_common.deprecated('CellApi.saveHiveTree', curv='2.167.0')
691
697
  return await self.cell.saveHiveTree(path=path)
692
698
 
693
699
  @adminapi()
@@ -1419,7 +1425,6 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
1419
1425
  if ahaurl is not None:
1420
1426
 
1421
1427
  info = await s_telepath.addAhaUrl(ahaurl)
1422
- self.ahaclient = info.get('client')
1423
1428
  if self.ahaclient is None:
1424
1429
  self.ahaclient = await s_telepath.Client.anit(info.get('url'))
1425
1430
  self.ahaclient._fini_atexit = True
@@ -2895,6 +2900,7 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
2895
2900
  if isnew:
2896
2901
  path = os.path.join(self.dirn, 'hiveboot.yaml')
2897
2902
  if os.path.isfile(path):
2903
+ s_common.deprdate('Initial hive config from hiveboot.yaml', '2024-05-05')
2898
2904
  logger.debug(f'Loading cell hive from {path}')
2899
2905
  tree = s_common.yamlload(path)
2900
2906
  if tree is not None:
@@ -4079,7 +4085,10 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
4079
4085
  await s_base.Base.addSignalHandlers(self)
4080
4086
 
4081
4087
  def sighup():
4082
- asyncio.create_task(self.reload())
4088
+ logger.info('Caught SIGHUP, running reloadable subsystems.')
4089
+ task = asyncio.create_task(self.reload())
4090
+ self._syn_signal_tasks.add(task)
4091
+ task.add_done_callback(self._syn_signal_tasks.discard)
4083
4092
 
4084
4093
  loop = asyncio.get_running_loop()
4085
4094
  loop.add_signal_handler(signal.SIGHUP, sighup)
@@ -473,12 +473,15 @@ class HiveApi(s_base.Base):
473
473
  self.onfini(self._onHapiFini)
474
474
 
475
475
  async def loadHiveTree(self, tree, path=(), trim=False):
476
+ s_common.deprecated('HiveApi.loadHiveTree', curv='2.167.0')
476
477
  return await self.hive.loadHiveTree(tree, path=path, trim=trim)
477
478
 
478
479
  async def saveHiveTree(self, path=()):
480
+ s_common.deprecated('HiveApi.saveHiveTree', curv='2.167.0')
479
481
  return await self.hive.saveHiveTree(path=path)
480
482
 
481
483
  async def treeAndSync(self, path, iden):
484
+ s_common.deprecated('HiveApi.treeAndSync', curv='2.167.0')
482
485
 
483
486
  node = await self.hive.open(path)
484
487
 
@@ -510,16 +513,22 @@ class HiveApi(s_base.Base):
510
513
  return
511
514
 
512
515
  async def setAndSync(self, path, valu, iden, nexs=False):
516
+ s_common.deprecated('HiveApi.setAndSync', curv='2.167.0')
517
+
513
518
  valu = await self.hive.set(path, valu, nexs=nexs)
514
519
  await self.msgq.put(('hive:sync', {'iden': iden}))
515
520
  return valu
516
521
 
517
522
  async def addAndSync(self, path, valu, iden):
523
+ s_common.deprecated('HiveApi.addAndSync', curv='2.167.0')
524
+
518
525
  valu = await self.hive.add(path, valu)
519
526
  await self.msgq.put(('hive:sync', {'iden': iden}))
520
527
  return valu
521
528
 
522
529
  async def popAndSync(self, path, iden, nexs=False):
530
+ s_common.deprecated('HiveApi.popAndSync', curv='2.167.0')
531
+
523
532
  valu = await self.hive.pop(path, nexs=nexs)
524
533
  await self.msgq.put(('hive:sync', {'iden': iden}))
525
534
  return valu
@@ -531,9 +540,11 @@ class HiveApi(s_base.Base):
531
540
  self.msgq.put_nowait(mesg)
532
541
 
533
542
  async def get(self, full):
543
+ s_common.deprecated('HiveApi.get', curv='2.167.0')
534
544
  return await self.hive.get(full)
535
545
 
536
546
  async def edits(self):
547
+ s_common.deprecated('HiveApi.edits', curv='2.167.0')
537
548
 
538
549
  while not self.isfini:
539
550
 
@@ -165,11 +165,13 @@ class LayerApi(s_cell.CellApi):
165
165
  await self._reqUserAllowed(self.liftperm)
166
166
  async for item in self.layr.syncNodeEdits(offs, wait=wait):
167
167
  yield item
168
+ await asyncio.sleep(0)
168
169
 
169
170
  async def syncNodeEdits2(self, offs, wait=True):
170
171
  await self._reqUserAllowed(self.liftperm)
171
172
  async for item in self.layr.syncNodeEdits2(offs, wait=wait):
172
173
  yield item
174
+ await asyncio.sleep(0)
173
175
 
174
176
  async def getEditIndx(self):
175
177
  '''
@@ -768,6 +768,12 @@ class ModelRev:
768
768
  Returns:
769
769
  None
770
770
  '''
771
+ if opts is None:
772
+ opts = {}
773
+
774
+ # Migrations only run on leaders
775
+ opts['mirror'] = False
776
+
771
777
  async def _runStorm():
772
778
  async for mesgtype, mesginfo in self.core.storm(text, opts=opts):
773
779
  if mesgtype == 'print':
@@ -28,4 +28,5 @@ coremods = (
28
28
  'synapse.models.biz.BizModule',
29
29
  'synapse.models.belief.BeliefModule',
30
30
  'synapse.models.science.ScienceModule',
31
+ 'synapse.models.planning.PlanModule',
31
32
  )
@@ -472,10 +472,12 @@ class Node:
472
472
  form=self.form.full, tag=tag)
473
473
 
474
474
  pref = name + '.'
475
+ exists = self.tags.get(name, s_common.novalu) is not s_common.novalu
475
476
 
476
477
  todel = [(len(t), t) for t in self.tags.keys() if t.startswith(pref)]
477
478
 
478
- if len(path) > 1:
479
+ # only prune when we're actually deleting a tag
480
+ if len(path) > 1 and exists:
479
481
 
480
482
  parent = '.'.join(path[:-1])
481
483
 
@@ -511,7 +513,7 @@ class Node:
511
513
  edits.append((s_layer.EDIT_TAG_DEL, (subtag, None), ()))
512
514
 
513
515
  edits.extend(self._getTagPropDel(name))
514
- if self.getTag(name, defval=s_common.novalu) is not s_common.novalu:
516
+ if exists:
515
517
  edits.append((s_layer.EDIT_TAG_DEL, (name, None), ()))
516
518
 
517
519
  return edits
@@ -172,7 +172,7 @@ reqValidView = s_config.getJsValidator({
172
172
  'parent': {'type': ['string', 'null'], 'pattern': s_config.re_iden},
173
173
  'creator': {'type': 'string', 'pattern': s_config.re_iden},
174
174
  'created': {'type': 'integer', 'minimum': 0},
175
- 'nomerge': {'type': 'boolean'},
175
+ 'protected': {'type': 'boolean', 'default': False},
176
176
  'merging': {'type': 'boolean'},
177
177
  'layers': {
178
178
  'type': 'array',