@designliquido/delegua-entidades 0.0.0 → 0.0.1

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.
Files changed (277) hide show
  1. package/.editorconfig +14 -0
  2. package/.eslintrc.json +15 -0
  3. package/.vscode/launch.json +21 -0
  4. package/.vscode/settings.json +5 -0
  5. package/.vscode/tasks.json +14 -0
  6. package/LICENSE +21 -0
  7. package/analise-lacunas.md +1153 -0
  8. package/babel.config.js +6 -0
  9. package/dados/usuario.delegua +5 -0
  10. package/definicoes/migracao.delegua +70 -0
  11. package/definicoes/modelo.delegua +45 -0
  12. package/delegua-modulo.ts +130 -0
  13. package/fontes/{analisador-dicas.js → analisador-dicas.ts} +177 -145
  14. package/fontes/{cache-consultas.js → cache-consultas.ts} +122 -98
  15. package/fontes/{carregador-lotes.js → carregador-lotes.ts} +178 -148
  16. package/fontes/{carregador-preguicoso.js → carregador-preguicoso.ts} +213 -157
  17. package/fontes/{colecao.js → colecao.ts} +498 -374
  18. package/fontes/{construtor-consulta.js → construtor-consulta.ts} +583 -446
  19. package/fontes/contexto-entidades.ts +399 -0
  20. package/fontes/{detector-n-mais-um.js → detector-n-mais-um.ts} +268 -225
  21. package/fontes/{entidade.js → entidade.ts} +597 -467
  22. package/fontes/erros/erro-concorrencia.ts +15 -0
  23. package/fontes/erros/erro-tabela-nao-encontrada.ts +6 -0
  24. package/fontes/erros/erro-validacao.ts +15 -0
  25. package/fontes/erros/{index.d.ts → index.ts} +3 -4
  26. package/fontes/{gerenciador-cache.js → gerenciador-cache.ts} +194 -147
  27. package/fontes/ilc/README.md +169 -0
  28. package/fontes/ilc/{gerador-definicoes.js → gerador-definicoes.ts} +145 -96
  29. package/fontes/ilc/{gerador-entidades.js → gerador-entidades.ts} +314 -249
  30. package/fontes/ilc/{leitor-configuracao.js → leitor-configuracao.ts} +73 -45
  31. package/fontes/ilc/manifesto-definicoes.json +162 -0
  32. package/fontes/ilc/{migracoes.js → migracoes.ts} +230 -184
  33. package/fontes/ilc/{semeadura.js → semeadura.ts} +63 -50
  34. package/fontes/indicadores-performance/{executor-analise-performance.js → executor-analise-performance.ts} +299 -212
  35. package/fontes/indicadores-performance/index.ts +272 -0
  36. package/fontes/interfaces-tipos/{analise-n1-interface.d.ts → analise-n1-interface.ts} +13 -13
  37. package/fontes/interfaces-tipos/{atributo-interface.d.ts → atributo-interface.ts} +29 -30
  38. package/fontes/interfaces-tipos/{coluna-computada-interface.d.ts → coluna-computada-interface.ts} +15 -16
  39. package/fontes/interfaces-tipos/{configuracao-banco-dados-interface.d.ts → configuracao-banco-dados-interface.ts} +54 -48
  40. package/fontes/interfaces-tipos/{entidade-interface.d.ts → entidade-interface.ts} +36 -37
  41. package/fontes/interfaces-tipos/{ganchos.d.ts → ganchos.ts} +17 -12
  42. package/fontes/interfaces-tipos/{index.d.ts → index.ts} +16 -17
  43. package/fontes/interfaces-tipos/{indice-interface.d.ts → indice-interface.ts} +15 -16
  44. package/fontes/interfaces-tipos/{informacao-consulta-interface.d.ts → informacao-consulta-interface.ts} +11 -12
  45. package/fontes/interfaces-tipos/{muito-para-muitos-interface.d.ts → muito-para-muitos-interface.ts} +38 -33
  46. package/fontes/interfaces-tipos/{opcoes-serializacao-interface.d.ts → opcoes-serializacao-interface.ts} +13 -14
  47. package/fontes/interfaces-tipos/{polimorfico-interface.d.ts → polimorfico-interface.ts} +36 -32
  48. package/fontes/interfaces-tipos/{relacionamento-interface.d.ts → relacionamento-interface.ts} +24 -23
  49. package/fontes/interfaces-tipos/{restricao-interface.d.ts → restricao-interface.ts} +13 -14
  50. package/fontes/interfaces-tipos/{semente-interface.d.ts → semente-interface.ts} +7 -7
  51. package/fontes/interfaces-tipos/{tabela-interface.d.ts → tabela-interface.ts} +12 -12
  52. package/fontes/interfaces-tipos/{transacao-interface.d.ts → transacao-interface.ts} +40 -35
  53. package/fontes/{rastreador-mudancas.js → rastreador-mudancas.ts} +116 -94
  54. package/fontes/relacionamento.ts +26 -0
  55. package/fontes/{roteador-bancos.js → roteador-bancos.ts} +101 -90
  56. package/fontes/{serializador.js → serializador.ts} +109 -79
  57. package/fontes/{taquigrafia.js → taquigrafia.ts} +112 -96
  58. package/fontes/{tipos.d.ts → tipos.ts} +3 -3
  59. package/fontes/{transacao.js → transacao.ts} +287 -243
  60. package/fontes/validacoes/{validador.js → validador.ts} +180 -157
  61. package/{index.d.ts → index.ts} +44 -36
  62. package/jest.config.js +9 -0
  63. package/package.json +1 -1
  64. package/testes/analisador-dicas.test.ts +263 -0
  65. package/testes/atualinsercao.test.ts +78 -0
  66. package/testes/auxiliar/boneco-tecnologia.ts +220 -0
  67. package/testes/cache/cache-consultas.test.ts +140 -0
  68. package/testes/cache/cache.test.ts +377 -0
  69. package/testes/cargas/carregador-lote.test.ts +236 -0
  70. package/testes/cargas/carregamento-antecipado.test.ts +322 -0
  71. package/testes/cargas/carregamento-preguicoso.test.ts +357 -0
  72. package/testes/carimbos-de-tempo.test.ts +144 -0
  73. package/testes/cascata.test.ts +568 -0
  74. package/testes/colecao.test.ts +208 -0
  75. package/testes/colunas-computadas.test.ts +104 -0
  76. package/testes/concorrencia-otimista.test.ts +341 -0
  77. package/testes/construtor-consulta.test.ts +388 -0
  78. package/testes/contexto-entidades.test.ts +140 -0
  79. package/testes/deteccao-n-mais-um.test.ts +269 -0
  80. package/testes/entidade.test.ts +175 -0
  81. package/testes/exclusao-logica.test.ts +581 -0
  82. package/testes/executor-benchmarks.test.ts +343 -0
  83. package/testes/ganchos.test.ts +190 -0
  84. package/testes/indices.test.ts +220 -0
  85. package/testes/migracoes.test.ts +345 -0
  86. package/testes/multiplos-bancos.test.ts +266 -0
  87. package/testes/operacoes-lote.test.ts +405 -0
  88. package/testes/operadores/operador-diferente.test.ts +59 -0
  89. package/testes/operadores/operador-entre.test.ts +70 -0
  90. package/testes/operadores/operador-nao-em.test.ts +59 -0
  91. package/testes/operadores/operadores-combinacoes.test.ts +100 -0
  92. package/testes/operadores/operadores-nulos.test.ts +84 -0
  93. package/testes/operadores/operadores-texto.test.ts +103 -0
  94. package/testes/polimorficos.test.ts +311 -0
  95. package/testes/rastreador-mudancas.test.ts +291 -0
  96. package/testes/relacionamentos/muitos-para-muitos.test.ts +244 -0
  97. package/testes/relacionamentos/relacionamentos.test.ts +282 -0
  98. package/testes/restricoes/chaves-compostas.test.ts +185 -0
  99. package/testes/restricoes/restricoes-checagem.test.ts +296 -0
  100. package/testes/semeador.test.ts +90 -0
  101. package/testes/serializacao.test.ts +606 -0
  102. package/testes/taquigrafia.test.ts +94 -0
  103. package/testes/transacoes/pontos-de-confirmacao.test.ts +398 -0
  104. package/testes/transacoes/transacoes.test.ts +210 -0
  105. package/testes/validacoes/novos-validadores.test.ts +453 -0
  106. package/testes/validacoes/validador-basico.test.ts +228 -0
  107. package/testes/validacoes/validador-customizado.test.ts +121 -0
  108. package/testes/validacoes/validador-erro.test.ts +15 -0
  109. package/testes/validacoes/validador-formato.test.ts +224 -0
  110. package/testes/validacoes/validador-integracao.test.ts +108 -0
  111. package/testes/validacoes/validador-numerico.test.ts +132 -0
  112. package/testes/valores-padrao.test.ts +265 -0
  113. package/tsconfig.json +18 -0
  114. package/fontes/analisador-dicas.d.ts +0 -49
  115. package/fontes/analisador-dicas.d.ts.map +0 -1
  116. package/fontes/analisador-dicas.js.map +0 -1
  117. package/fontes/cache-consultas.d.ts +0 -39
  118. package/fontes/cache-consultas.d.ts.map +0 -1
  119. package/fontes/cache-consultas.js.map +0 -1
  120. package/fontes/carregador-lotes.d.ts +0 -64
  121. package/fontes/carregador-lotes.d.ts.map +0 -1
  122. package/fontes/carregador-lotes.js.map +0 -1
  123. package/fontes/carregador-preguicoso.d.ts +0 -34
  124. package/fontes/carregador-preguicoso.d.ts.map +0 -1
  125. package/fontes/carregador-preguicoso.js.map +0 -1
  126. package/fontes/colecao.d.ts +0 -74
  127. package/fontes/colecao.d.ts.map +0 -1
  128. package/fontes/colecao.js.map +0 -1
  129. package/fontes/construtor-consulta.d.ts +0 -129
  130. package/fontes/construtor-consulta.d.ts.map +0 -1
  131. package/fontes/construtor-consulta.js.map +0 -1
  132. package/fontes/contexto-entidades.d.ts +0 -119
  133. package/fontes/contexto-entidades.d.ts.map +0 -1
  134. package/fontes/contexto-entidades.js +0 -329
  135. package/fontes/contexto-entidades.js.map +0 -1
  136. package/fontes/detector-n-mais-um.d.ts +0 -87
  137. package/fontes/detector-n-mais-um.d.ts.map +0 -1
  138. package/fontes/detector-n-mais-um.js.map +0 -1
  139. package/fontes/entidade.d.ts +0 -82
  140. package/fontes/entidade.d.ts.map +0 -1
  141. package/fontes/entidade.js.map +0 -1
  142. package/fontes/erros/erro-concorrencia.d.ts +0 -11
  143. package/fontes/erros/erro-concorrencia.d.ts.map +0 -1
  144. package/fontes/erros/erro-concorrencia.js +0 -18
  145. package/fontes/erros/erro-concorrencia.js.map +0 -1
  146. package/fontes/erros/erro-tabela-nao-encontrada.d.ts +0 -4
  147. package/fontes/erros/erro-tabela-nao-encontrada.d.ts.map +0 -1
  148. package/fontes/erros/erro-tabela-nao-encontrada.js +0 -11
  149. package/fontes/erros/erro-tabela-nao-encontrada.js.map +0 -1
  150. package/fontes/erros/erro-validacao.d.ts +0 -9
  151. package/fontes/erros/erro-validacao.d.ts.map +0 -1
  152. package/fontes/erros/erro-validacao.js +0 -13
  153. package/fontes/erros/erro-validacao.js.map +0 -1
  154. package/fontes/erros/index.d.ts.map +0 -1
  155. package/fontes/erros/index.js +0 -20
  156. package/fontes/erros/index.js.map +0 -1
  157. package/fontes/gerenciador-cache.d.ts +0 -87
  158. package/fontes/gerenciador-cache.d.ts.map +0 -1
  159. package/fontes/gerenciador-cache.js.map +0 -1
  160. package/fontes/ilc/gerador-definicoes.d.ts +0 -13
  161. package/fontes/ilc/gerador-definicoes.d.ts.map +0 -1
  162. package/fontes/ilc/gerador-definicoes.js.map +0 -1
  163. package/fontes/ilc/gerador-entidades.d.ts +0 -10
  164. package/fontes/ilc/gerador-entidades.d.ts.map +0 -1
  165. package/fontes/ilc/gerador-entidades.js.map +0 -1
  166. package/fontes/ilc/leitor-configuracao.d.ts +0 -32
  167. package/fontes/ilc/leitor-configuracao.d.ts.map +0 -1
  168. package/fontes/ilc/leitor-configuracao.js.map +0 -1
  169. package/fontes/ilc/migracoes.d.ts +0 -3
  170. package/fontes/ilc/migracoes.d.ts.map +0 -1
  171. package/fontes/ilc/migracoes.js.map +0 -1
  172. package/fontes/ilc/semeadura.d.ts +0 -2
  173. package/fontes/ilc/semeadura.d.ts.map +0 -1
  174. package/fontes/ilc/semeadura.js.map +0 -1
  175. package/fontes/indicadores-performance/executor-analise-performance.d.ts +0 -80
  176. package/fontes/indicadores-performance/executor-analise-performance.d.ts.map +0 -1
  177. package/fontes/indicadores-performance/executor-analise-performance.js.map +0 -1
  178. package/fontes/indicadores-performance/index.d.ts +0 -26
  179. package/fontes/indicadores-performance/index.d.ts.map +0 -1
  180. package/fontes/indicadores-performance/index.js +0 -199
  181. package/fontes/indicadores-performance/index.js.map +0 -1
  182. package/fontes/interfaces-tipos/analise-n1-interface.d.ts.map +0 -1
  183. package/fontes/interfaces-tipos/analise-n1-interface.js +0 -3
  184. package/fontes/interfaces-tipos/analise-n1-interface.js.map +0 -1
  185. package/fontes/interfaces-tipos/atributo-interface.d.ts.map +0 -1
  186. package/fontes/interfaces-tipos/atributo-interface.js +0 -3
  187. package/fontes/interfaces-tipos/atributo-interface.js.map +0 -1
  188. package/fontes/interfaces-tipos/coluna-computada-interface.d.ts.map +0 -1
  189. package/fontes/interfaces-tipos/coluna-computada-interface.js +0 -3
  190. package/fontes/interfaces-tipos/coluna-computada-interface.js.map +0 -1
  191. package/fontes/interfaces-tipos/configuracao-banco-dados-interface.d.ts.map +0 -1
  192. package/fontes/interfaces-tipos/configuracao-banco-dados-interface.js +0 -3
  193. package/fontes/interfaces-tipos/configuracao-banco-dados-interface.js.map +0 -1
  194. package/fontes/interfaces-tipos/entidade-interface.d.ts.map +0 -1
  195. package/fontes/interfaces-tipos/entidade-interface.js +0 -3
  196. package/fontes/interfaces-tipos/entidade-interface.js.map +0 -1
  197. package/fontes/interfaces-tipos/ganchos.d.ts.map +0 -1
  198. package/fontes/interfaces-tipos/ganchos.js +0 -3
  199. package/fontes/interfaces-tipos/ganchos.js.map +0 -1
  200. package/fontes/interfaces-tipos/index.d.ts.map +0 -1
  201. package/fontes/interfaces-tipos/index.js +0 -33
  202. package/fontes/interfaces-tipos/index.js.map +0 -1
  203. package/fontes/interfaces-tipos/indice-interface.d.ts.map +0 -1
  204. package/fontes/interfaces-tipos/indice-interface.js +0 -3
  205. package/fontes/interfaces-tipos/indice-interface.js.map +0 -1
  206. package/fontes/interfaces-tipos/informacao-consulta-interface.d.ts.map +0 -1
  207. package/fontes/interfaces-tipos/informacao-consulta-interface.js +0 -3
  208. package/fontes/interfaces-tipos/informacao-consulta-interface.js.map +0 -1
  209. package/fontes/interfaces-tipos/muito-para-muitos-interface.d.ts.map +0 -1
  210. package/fontes/interfaces-tipos/muito-para-muitos-interface.js +0 -3
  211. package/fontes/interfaces-tipos/muito-para-muitos-interface.js.map +0 -1
  212. package/fontes/interfaces-tipos/opcoes-serializacao-interface.d.ts.map +0 -1
  213. package/fontes/interfaces-tipos/opcoes-serializacao-interface.js +0 -3
  214. package/fontes/interfaces-tipos/opcoes-serializacao-interface.js.map +0 -1
  215. package/fontes/interfaces-tipos/polimorfico-interface.d.ts.map +0 -1
  216. package/fontes/interfaces-tipos/polimorfico-interface.js +0 -3
  217. package/fontes/interfaces-tipos/polimorfico-interface.js.map +0 -1
  218. package/fontes/interfaces-tipos/relacionamento-interface.d.ts.map +0 -1
  219. package/fontes/interfaces-tipos/relacionamento-interface.js +0 -3
  220. package/fontes/interfaces-tipos/relacionamento-interface.js.map +0 -1
  221. package/fontes/interfaces-tipos/restricao-interface.d.ts.map +0 -1
  222. package/fontes/interfaces-tipos/restricao-interface.js +0 -3
  223. package/fontes/interfaces-tipos/restricao-interface.js.map +0 -1
  224. package/fontes/interfaces-tipos/semente-interface.d.ts.map +0 -1
  225. package/fontes/interfaces-tipos/semente-interface.js +0 -3
  226. package/fontes/interfaces-tipos/semente-interface.js.map +0 -1
  227. package/fontes/interfaces-tipos/tabela-interface.d.ts.map +0 -1
  228. package/fontes/interfaces-tipos/tabela-interface.js +0 -3
  229. package/fontes/interfaces-tipos/tabela-interface.js.map +0 -1
  230. package/fontes/interfaces-tipos/transacao-interface.d.ts.map +0 -1
  231. package/fontes/interfaces-tipos/transacao-interface.js +0 -3
  232. package/fontes/interfaces-tipos/transacao-interface.js.map +0 -1
  233. package/fontes/migracoes/executor-migracoes.d.ts +0 -14
  234. package/fontes/migracoes/executor-migracoes.d.ts.map +0 -1
  235. package/fontes/migracoes/executor-migracoes.js +0 -177
  236. package/fontes/migracoes/executor-migracoes.js.map +0 -1
  237. package/fontes/migracoes/gerador-migracoes.d.ts +0 -15
  238. package/fontes/migracoes/gerador-migracoes.d.ts.map +0 -1
  239. package/fontes/migracoes/gerador-migracoes.js +0 -108
  240. package/fontes/migracoes/gerador-migracoes.js.map +0 -1
  241. package/fontes/migracoes/migracao.d.ts +0 -35
  242. package/fontes/migracoes/migracao.d.ts.map +0 -1
  243. package/fontes/migracoes/migracao.js +0 -66
  244. package/fontes/migracoes/migracao.js.map +0 -1
  245. package/fontes/migracoes/semeador.d.ts +0 -18
  246. package/fontes/migracoes/semeador.d.ts.map +0 -1
  247. package/fontes/migracoes/semeador.js +0 -109
  248. package/fontes/migracoes/semeador.js.map +0 -1
  249. package/fontes/rastreador-mudancas.d.ts +0 -27
  250. package/fontes/rastreador-mudancas.d.ts.map +0 -1
  251. package/fontes/rastreador-mudancas.js.map +0 -1
  252. package/fontes/relacionamento.d.ts +0 -11
  253. package/fontes/relacionamento.d.ts.map +0 -1
  254. package/fontes/relacionamento.js +0 -15
  255. package/fontes/relacionamento.js.map +0 -1
  256. package/fontes/roteador-bancos.d.ts +0 -50
  257. package/fontes/roteador-bancos.d.ts.map +0 -1
  258. package/fontes/roteador-bancos.js.map +0 -1
  259. package/fontes/serializador.d.ts +0 -46
  260. package/fontes/serializador.d.ts.map +0 -1
  261. package/fontes/serializador.js.map +0 -1
  262. package/fontes/taquigrafia.d.ts +0 -41
  263. package/fontes/taquigrafia.d.ts.map +0 -1
  264. package/fontes/taquigrafia.js.map +0 -1
  265. package/fontes/tipos.d.ts.map +0 -1
  266. package/fontes/tipos.js +0 -3
  267. package/fontes/tipos.js.map +0 -1
  268. package/fontes/transacao.d.ts +0 -81
  269. package/fontes/transacao.d.ts.map +0 -1
  270. package/fontes/transacao.js.map +0 -1
  271. package/fontes/validacoes/validador.d.ts +0 -19
  272. package/fontes/validacoes/validador.d.ts.map +0 -1
  273. package/fontes/validacoes/validador.js.map +0 -1
  274. package/index.d.ts.map +0 -1
  275. package/index.js +0 -59
  276. package/index.js.map +0 -1
  277. /package/{README.md → readme.md} +0 -0
package/.editorconfig ADDED
@@ -0,0 +1,14 @@
1
+ # EditorConfig is awesome: https://EditorConfig.org
2
+
3
+ # top-most EditorConfig file
4
+ root = true
5
+
6
+ [*]
7
+ indent_style = space
8
+ indent_size = 4
9
+ # Não colocar este aqui por enquanto.
10
+ # Isso quebra o importador.
11
+ # end_of_line = lf
12
+ charset = utf-8
13
+ trim_trailing_whitespace = true
14
+ insert_final_newline = false
package/.eslintrc.json ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ "root": true,
3
+ "parser": "@typescript-eslint/parser",
4
+ "plugins": ["@typescript-eslint"],
5
+ "extends": [
6
+ "eslint:recommended",
7
+ "plugin:@typescript-eslint/recommended"
8
+ ],
9
+ "rules": {
10
+ "no-console": "off",
11
+ "no-unused-vars": "off",
12
+ "@typescript-eslint/no-explicit-any": "warn",
13
+ "@typescript-eslint/no-unused-vars": "warn"
14
+ }
15
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ // Use o IntelliSense para saber mais sobre os atributos possíveis.
3
+ // Focalizar para exibir as descrições dos atributos existentes.
4
+ // Para obter mais informações, acesse: https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+ {
8
+ "name": "Testes unitários",
9
+ "type": "node",
10
+ "request": "launch",
11
+ "runtimeArgs": [
12
+ "--inspect-brk",
13
+ "${workspaceRoot}/node_modules/jest/bin/jest.js",
14
+ "--runInBand"
15
+ ],
16
+ "skipFiles": ["<node_internals>/**", "node_modules/**"],
17
+ "console": "integratedTerminal",
18
+ "internalConsoleOptions": "neverOpen"
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "chat.tools.terminal.autoApprove": {
3
+ "yarn tsc": true
4
+ }
5
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "version": "2.0.0",
3
+ "tasks": [
4
+ {
5
+ "type": "typescript",
6
+ "tsconfig": "tsconfig.json",
7
+ "problemMatcher": [
8
+ "$tsc"
9
+ ],
10
+ "group": "build",
11
+ "label": "tsc: build - tsconfig.json"
12
+ }
13
+ ]
14
+ }
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022-2023 ItaloCobains
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.