taon-typeorm 18.0.24 → 19.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 (1725) hide show
  1. package/assets/shared/shared_folder_info.txt +3 -3
  2. package/browser/README.md +24 -24
  3. package/client/README.md +24 -24
  4. package/index.js.map +1 -1
  5. package/lib/build-info._auto-generated_.d.ts +1 -0
  6. package/lib/build-info._auto-generated_.js +4 -1
  7. package/lib/build-info._auto-generated_.js.map +1 -1
  8. package/lib/index._auto-generated_.js +2 -2
  9. package/lib/index._auto-generated_.js.map +1 -1
  10. package/lib/index.js.map +1 -1
  11. package/lib/typeorm/cache/DbQueryResultCache.js.map +1 -1
  12. package/lib/typeorm/cache/QueryResultCache.js.map +1 -1
  13. package/lib/typeorm/cache/QueryResultCacheFactory.js.map +1 -1
  14. package/lib/typeorm/cache/QueryResultCacheOptions.js.map +1 -1
  15. package/lib/typeorm/cache/RedisQueryResultCache.js.map +1 -1
  16. package/lib/typeorm/cli-ts-node-commonjs.js.map +1 -1
  17. package/lib/typeorm/cli-ts-node-esm.js.map +1 -1
  18. package/lib/typeorm/cli.js.map +1 -1
  19. package/lib/typeorm/commands/CacheClearCommand.js.map +1 -1
  20. package/lib/typeorm/commands/CommandUtils.js.map +1 -1
  21. package/lib/typeorm/commands/EntityCreateCommand.js.map +1 -1
  22. package/lib/typeorm/commands/InitCommand.js.map +1 -1
  23. package/lib/typeorm/commands/MigrationCreateCommand.js.map +1 -1
  24. package/lib/typeorm/commands/MigrationGenerateCommand.js.map +1 -1
  25. package/lib/typeorm/commands/MigrationRevertCommand.js.map +1 -1
  26. package/lib/typeorm/commands/MigrationRunCommand.js.map +1 -1
  27. package/lib/typeorm/commands/MigrationShowCommand.js.map +1 -1
  28. package/lib/typeorm/commands/QueryCommand.js.map +1 -1
  29. package/lib/typeorm/commands/SchemaDropCommand.js.map +1 -1
  30. package/lib/typeorm/commands/SchemaLogCommand.js.map +1 -1
  31. package/lib/typeorm/commands/SchemaSyncCommand.js.map +1 -1
  32. package/lib/typeorm/commands/SubscriberCreateCommand.js.map +1 -1
  33. package/lib/typeorm/commands/VersionCommand.js.map +1 -1
  34. package/lib/typeorm/common/DeepPartial.js.map +1 -1
  35. package/lib/typeorm/common/EntityTarget.js.map +1 -1
  36. package/lib/typeorm/common/MixedList.js.map +1 -1
  37. package/lib/typeorm/common/NonNever.js.map +1 -1
  38. package/lib/typeorm/common/ObjectLiteral.js.map +1 -1
  39. package/lib/typeorm/common/ObjectType.js.map +1 -1
  40. package/lib/typeorm/common/RelationType.js.map +1 -1
  41. package/lib/typeorm/connection/BaseConnectionOptions.js.map +1 -1
  42. package/lib/typeorm/connection/Connection.js.map +1 -1
  43. package/lib/typeorm/connection/ConnectionManager.js.map +1 -1
  44. package/lib/typeorm/connection/ConnectionMetadataBuilder.js.map +1 -1
  45. package/lib/typeorm/connection/ConnectionOptions.js.map +1 -1
  46. package/lib/typeorm/connection/ConnectionOptionsReader.js.map +1 -1
  47. package/lib/typeorm/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  48. package/lib/typeorm/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  49. package/lib/typeorm/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  50. package/lib/typeorm/constants.js.map +1 -1
  51. package/lib/typeorm/container.js.map +1 -1
  52. package/lib/typeorm/data-source/BaseDataSourceOptions.js.map +1 -1
  53. package/lib/typeorm/data-source/DataSource.js.map +1 -1
  54. package/lib/typeorm/data-source/DataSourceOptions.js.map +1 -1
  55. package/lib/typeorm/data-source/index.js.map +1 -1
  56. package/lib/typeorm/decorator/Check.js.map +1 -1
  57. package/lib/typeorm/decorator/EntityRepository.js.map +1 -1
  58. package/lib/typeorm/decorator/Exclusion.js.map +1 -1
  59. package/lib/typeorm/decorator/Generated.js.map +1 -1
  60. package/lib/typeorm/decorator/Index.js.map +1 -1
  61. package/lib/typeorm/decorator/Unique.js.map +1 -1
  62. package/lib/typeorm/decorator/columns/Column.js.map +1 -1
  63. package/lib/typeorm/decorator/columns/CreateDateColumn.js.map +1 -1
  64. package/lib/typeorm/decorator/columns/DeleteDateColumn.js.map +1 -1
  65. package/lib/typeorm/decorator/columns/ObjectIdColumn.js.map +1 -1
  66. package/lib/typeorm/decorator/columns/PrimaryColumn.js.map +1 -1
  67. package/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  68. package/lib/typeorm/decorator/columns/UpdateDateColumn.js.map +1 -1
  69. package/lib/typeorm/decorator/columns/VersionColumn.js.map +1 -1
  70. package/lib/typeorm/decorator/columns/ViewColumn.js.map +1 -1
  71. package/lib/typeorm/decorator/columns/VirtualColumn.js.map +1 -1
  72. package/lib/typeorm/decorator/entity/ChildEntity.js.map +1 -1
  73. package/lib/typeorm/decorator/entity/Entity.js.map +1 -1
  74. package/lib/typeorm/decorator/entity/TableInheritance.js.map +1 -1
  75. package/lib/typeorm/decorator/entity-view/ViewEntity.js.map +1 -1
  76. package/lib/typeorm/decorator/listeners/AfterInsert.js.map +1 -1
  77. package/lib/typeorm/decorator/listeners/AfterLoad.js.map +1 -1
  78. package/lib/typeorm/decorator/listeners/AfterRecover.js.map +1 -1
  79. package/lib/typeorm/decorator/listeners/AfterRemove.js.map +1 -1
  80. package/lib/typeorm/decorator/listeners/AfterSoftRemove.js.map +1 -1
  81. package/lib/typeorm/decorator/listeners/AfterUpdate.js.map +1 -1
  82. package/lib/typeorm/decorator/listeners/BeforeInsert.js.map +1 -1
  83. package/lib/typeorm/decorator/listeners/BeforeRecover.js.map +1 -1
  84. package/lib/typeorm/decorator/listeners/BeforeRemove.js.map +1 -1
  85. package/lib/typeorm/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  86. package/lib/typeorm/decorator/listeners/BeforeUpdate.js.map +1 -1
  87. package/lib/typeorm/decorator/listeners/EventSubscriber.js.map +1 -1
  88. package/lib/typeorm/decorator/options/ColumnCommonOptions.js.map +1 -1
  89. package/lib/typeorm/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  90. package/lib/typeorm/decorator/options/ColumnEnumOptions.js.map +1 -1
  91. package/lib/typeorm/decorator/options/ColumnHstoreOptions.js.map +1 -1
  92. package/lib/typeorm/decorator/options/ColumnNumericOptions.js.map +1 -1
  93. package/lib/typeorm/decorator/options/ColumnOptions.js.map +1 -1
  94. package/lib/typeorm/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  95. package/lib/typeorm/decorator/options/ColumnWithWidthOptions.js.map +1 -1
  96. package/lib/typeorm/decorator/options/EntityOptions.js.map +1 -1
  97. package/lib/typeorm/decorator/options/IndexOptions.js.map +1 -1
  98. package/lib/typeorm/decorator/options/JoinColumnOptions.js.map +1 -1
  99. package/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  100. package/lib/typeorm/decorator/options/JoinTableOptions.js.map +1 -1
  101. package/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  102. package/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  103. package/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  104. package/lib/typeorm/decorator/options/RelationOptions.js.map +1 -1
  105. package/lib/typeorm/decorator/options/SpatialColumnOptions.js.map +1 -1
  106. package/lib/typeorm/decorator/options/TransactionOptions.js.map +1 -1
  107. package/lib/typeorm/decorator/options/UniqueOptions.js.map +1 -1
  108. package/lib/typeorm/decorator/options/ValueTransformer.js.map +1 -1
  109. package/lib/typeorm/decorator/options/ViewColumnOptions.js.map +1 -1
  110. package/lib/typeorm/decorator/options/ViewEntityOptions.js.map +1 -1
  111. package/lib/typeorm/decorator/options/VirtualColumnOptions.js.map +1 -1
  112. package/lib/typeorm/decorator/relations/JoinColumn.js.map +1 -1
  113. package/lib/typeorm/decorator/relations/JoinTable.js.map +1 -1
  114. package/lib/typeorm/decorator/relations/ManyToMany.js.map +1 -1
  115. package/lib/typeorm/decorator/relations/ManyToOne.js.map +1 -1
  116. package/lib/typeorm/decorator/relations/OneToMany.js.map +1 -1
  117. package/lib/typeorm/decorator/relations/OneToOne.js.map +1 -1
  118. package/lib/typeorm/decorator/relations/RelationCount.js.map +1 -1
  119. package/lib/typeorm/decorator/relations/RelationId.js.map +1 -1
  120. package/lib/typeorm/decorator/tree/Tree.js.map +1 -1
  121. package/lib/typeorm/decorator/tree/TreeChildren.js.map +1 -1
  122. package/lib/typeorm/decorator/tree/TreeLevelColumn.js.map +1 -1
  123. package/lib/typeorm/decorator/tree/TreeParent.js.map +1 -1
  124. package/lib/typeorm/driver/Driver.js.map +1 -1
  125. package/lib/typeorm/driver/DriverFactory.js.map +1 -1
  126. package/lib/typeorm/driver/DriverUtils.js.map +1 -1
  127. package/lib/typeorm/driver/Query.js.map +1 -1
  128. package/lib/typeorm/driver/SqlInMemory.js.map +1 -1
  129. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  130. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  131. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  132. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  133. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  134. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  135. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  136. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  137. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  138. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  139. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  140. package/lib/typeorm/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  141. package/lib/typeorm/driver/capacitor/CapacitorDriver.js.map +1 -1
  142. package/lib/typeorm/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  143. package/lib/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  144. package/lib/typeorm/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  145. package/lib/typeorm/driver/cockroachdb/CockroachDriver.js.map +1 -1
  146. package/lib/typeorm/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  147. package/lib/typeorm/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  148. package/lib/typeorm/driver/cordova/CordovaDriver.js.map +1 -1
  149. package/lib/typeorm/driver/cordova/CordovaQueryRunner.js.map +1 -1
  150. package/lib/typeorm/driver/expo/ExpoConnectionOptions.js.map +1 -1
  151. package/lib/typeorm/driver/expo/ExpoDriver.js.map +1 -1
  152. package/lib/typeorm/driver/expo/ExpoQueryRunner.js.map +1 -1
  153. package/lib/typeorm/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  154. package/lib/typeorm/driver/mongodb/MongoDriver.js.map +1 -1
  155. package/lib/typeorm/driver/mongodb/MongoQueryRunner.js.map +1 -1
  156. package/lib/typeorm/driver/mongodb/typings.js.map +1 -1
  157. package/lib/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  158. package/lib/typeorm/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  159. package/lib/typeorm/driver/mysql/MysqlDriver.js.map +1 -1
  160. package/lib/typeorm/driver/mysql/MysqlQueryRunner.js.map +1 -1
  161. package/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  162. package/lib/typeorm/driver/nativescript/NativescriptDriver.js.map +1 -1
  163. package/lib/typeorm/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  164. package/lib/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  165. package/lib/typeorm/driver/oracle/OracleConnectionOptions.js.map +1 -1
  166. package/lib/typeorm/driver/oracle/OracleDriver.js.map +1 -1
  167. package/lib/typeorm/driver/oracle/OracleQueryRunner.js.map +1 -1
  168. package/lib/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  169. package/lib/typeorm/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  170. package/lib/typeorm/driver/postgres/PostgresDriver.js.map +1 -1
  171. package/lib/typeorm/driver/postgres/PostgresQueryRunner.js.map +1 -1
  172. package/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  173. package/lib/typeorm/driver/react-native/ReactNativeDriver.js.map +1 -1
  174. package/lib/typeorm/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  175. package/lib/typeorm/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  176. package/lib/typeorm/driver/sap/SapConnectionOptions.js.map +1 -1
  177. package/lib/typeorm/driver/sap/SapDriver.js.map +1 -1
  178. package/lib/typeorm/driver/sap/SapQueryRunner.js.map +1 -1
  179. package/lib/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
  180. package/lib/typeorm/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  181. package/lib/typeorm/driver/spanner/SpannerDriver.js.map +1 -1
  182. package/lib/typeorm/driver/spanner/SpannerQueryRunner.js.map +1 -1
  183. package/lib/typeorm/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  184. package/lib/typeorm/driver/sqlite/SqliteDriver.js.map +1 -1
  185. package/lib/typeorm/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  186. package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  187. package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  188. package/lib/typeorm/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  189. package/lib/typeorm/driver/sqljs/SqljsDriver.js.map +1 -1
  190. package/lib/typeorm/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  191. package/lib/typeorm/driver/sqlserver/MssqlParameter.js.map +1 -1
  192. package/lib/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  193. package/lib/typeorm/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  194. package/lib/typeorm/driver/sqlserver/SqlServerDriver.js.map +1 -1
  195. package/lib/typeorm/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  196. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  197. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  198. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  199. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  200. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
  201. package/lib/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
  202. package/lib/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
  203. package/lib/typeorm/driver/types/ColumnTypes.js.map +1 -1
  204. package/lib/typeorm/driver/types/CteCapabilities.js.map +1 -1
  205. package/lib/typeorm/driver/types/DataTypeDefaults.js.map +1 -1
  206. package/lib/typeorm/driver/types/DatabaseType.js.map +1 -1
  207. package/lib/typeorm/driver/types/IsolationLevel.js.map +1 -1
  208. package/lib/typeorm/driver/types/MappedColumnTypes.js.map +1 -1
  209. package/lib/typeorm/driver/types/MetadataTableType.js.map +1 -1
  210. package/lib/typeorm/driver/types/ReplicationMode.js.map +1 -1
  211. package/lib/typeorm/driver/types/UpsertType.js.map +1 -1
  212. package/lib/typeorm/entity-manager/EntityManager.js.map +1 -1
  213. package/lib/typeorm/entity-manager/EntityManagerFactory.js.map +1 -1
  214. package/lib/typeorm/entity-manager/MongoEntityManager.js.map +1 -1
  215. package/lib/typeorm/entity-manager/SqljsEntityManager.js.map +1 -1
  216. package/lib/typeorm/entity-schema/EntitySchema.js.map +1 -1
  217. package/lib/typeorm/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  218. package/lib/typeorm/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  219. package/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  220. package/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  221. package/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  222. package/lib/typeorm/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  223. package/lib/typeorm/entity-schema/EntitySchemaOptions.js.map +1 -1
  224. package/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  225. package/lib/typeorm/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  226. package/lib/typeorm/entity-schema/EntitySchemaTransformer.js.map +1 -1
  227. package/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  228. package/lib/typeorm/error/AlreadyHasActiveConnectionError.js.map +1 -1
  229. package/lib/typeorm/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  230. package/lib/typeorm/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  231. package/lib/typeorm/error/CannotCreateEntityIdMapError.js.map +1 -1
  232. package/lib/typeorm/error/CannotDetermineEntityError.js.map +1 -1
  233. package/lib/typeorm/error/CannotExecuteNotConnectedError.js.map +1 -1
  234. package/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  235. package/lib/typeorm/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  236. package/lib/typeorm/error/CircularRelationsError.js.map +1 -1
  237. package/lib/typeorm/error/ColumnTypeUndefinedError.js.map +1 -1
  238. package/lib/typeorm/error/ConnectionIsNotSetError.js.map +1 -1
  239. package/lib/typeorm/error/ConnectionNotFoundError.js.map +1 -1
  240. package/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  241. package/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  242. package/lib/typeorm/error/CustomRepositoryNotFoundError.js.map +1 -1
  243. package/lib/typeorm/error/DataTypeNotSupportedError.js.map +1 -1
  244. package/lib/typeorm/error/DriverOptionNotSetError.js.map +1 -1
  245. package/lib/typeorm/error/DriverPackageNotInstalledError.js.map +1 -1
  246. package/lib/typeorm/error/EntityMetadataNotFoundError.js.map +1 -1
  247. package/lib/typeorm/error/EntityNotFoundError.js.map +1 -1
  248. package/lib/typeorm/error/EntityPropertyNotFoundError.js.map +1 -1
  249. package/lib/typeorm/error/FindRelationsNotFoundError.js.map +1 -1
  250. package/lib/typeorm/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  251. package/lib/typeorm/error/InitializedRelationError.js.map +1 -1
  252. package/lib/typeorm/error/InsertValuesMissingError.js.map +1 -1
  253. package/lib/typeorm/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  254. package/lib/typeorm/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  255. package/lib/typeorm/error/MetadataAlreadyExistsError.js.map +1 -1
  256. package/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  257. package/lib/typeorm/error/MissingDeleteDateColumnError.js.map +1 -1
  258. package/lib/typeorm/error/MissingDriverError.js.map +1 -1
  259. package/lib/typeorm/error/MissingJoinColumnError.js.map +1 -1
  260. package/lib/typeorm/error/MissingJoinTableError.js.map +1 -1
  261. package/lib/typeorm/error/MissingPrimaryColumnError.js.map +1 -1
  262. package/lib/typeorm/error/MustBeEntityError.js.map +1 -1
  263. package/lib/typeorm/error/NamingStrategyNotFoundError.js.map +1 -1
  264. package/lib/typeorm/error/NestedSetMultipleRootError.js.map +1 -1
  265. package/lib/typeorm/error/NoConnectionForRepositoryError.js.map +1 -1
  266. package/lib/typeorm/error/NoConnectionOptionError.js.map +1 -1
  267. package/lib/typeorm/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  268. package/lib/typeorm/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  269. package/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  270. package/lib/typeorm/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  271. package/lib/typeorm/error/OptimisticLockVersionMismatchError.js.map +1 -1
  272. package/lib/typeorm/error/PersistedEntityNotFoundError.js.map +1 -1
  273. package/lib/typeorm/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  274. package/lib/typeorm/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  275. package/lib/typeorm/error/QueryFailedError.js.map +1 -1
  276. package/lib/typeorm/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  277. package/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  278. package/lib/typeorm/error/RepositoryNotTreeError.js.map +1 -1
  279. package/lib/typeorm/error/ReturningStatementNotSupportedError.js.map +1 -1
  280. package/lib/typeorm/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  281. package/lib/typeorm/error/SubjectWithoutIdentifierError.js.map +1 -1
  282. package/lib/typeorm/error/TransactionAlreadyStartedError.js.map +1 -1
  283. package/lib/typeorm/error/TransactionNotStartedError.js.map +1 -1
  284. package/lib/typeorm/error/TreeRepositoryNotSupportedError.js.map +1 -1
  285. package/lib/typeorm/error/TypeORMError.js.map +1 -1
  286. package/lib/typeorm/error/UpdateValuesMissingError.js.map +1 -1
  287. package/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  288. package/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  289. package/lib/typeorm/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  290. package/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  291. package/lib/typeorm/error/index.js.map +1 -1
  292. package/lib/typeorm/find-options/EqualOperator.js.map +1 -1
  293. package/lib/typeorm/find-options/FindManyOptions.js.map +1 -1
  294. package/lib/typeorm/find-options/FindOneOptions.js.map +1 -1
  295. package/lib/typeorm/find-options/FindOperator.js.map +1 -1
  296. package/lib/typeorm/find-options/FindOperatorType.js.map +1 -1
  297. package/lib/typeorm/find-options/FindOptionsOrder.js.map +1 -1
  298. package/lib/typeorm/find-options/FindOptionsRelations.js.map +1 -1
  299. package/lib/typeorm/find-options/FindOptionsSelect.js.map +1 -1
  300. package/lib/typeorm/find-options/FindOptionsUtils.js.map +1 -1
  301. package/lib/typeorm/find-options/FindOptionsWhere.js.map +1 -1
  302. package/lib/typeorm/find-options/FindTreeOptions.js.map +1 -1
  303. package/lib/typeorm/find-options/JoinOptions.js.map +1 -1
  304. package/lib/typeorm/find-options/OrderByCondition.js.map +1 -1
  305. package/lib/typeorm/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  306. package/lib/typeorm/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  307. package/lib/typeorm/find-options/operator/And.js.map +1 -1
  308. package/lib/typeorm/find-options/operator/Any.js.map +1 -1
  309. package/lib/typeorm/find-options/operator/ArrayContainedBy.js.map +1 -1
  310. package/lib/typeorm/find-options/operator/ArrayContains.js.map +1 -1
  311. package/lib/typeorm/find-options/operator/ArrayOverlap.js.map +1 -1
  312. package/lib/typeorm/find-options/operator/Between.js.map +1 -1
  313. package/lib/typeorm/find-options/operator/Equal.js.map +1 -1
  314. package/lib/typeorm/find-options/operator/ILike.js.map +1 -1
  315. package/lib/typeorm/find-options/operator/In.js.map +1 -1
  316. package/lib/typeorm/find-options/operator/IsNull.js.map +1 -1
  317. package/lib/typeorm/find-options/operator/LessThan.js.map +1 -1
  318. package/lib/typeorm/find-options/operator/LessThanOrEqual.js.map +1 -1
  319. package/lib/typeorm/find-options/operator/Like.js.map +1 -1
  320. package/lib/typeorm/find-options/operator/MoreThan.js.map +1 -1
  321. package/lib/typeorm/find-options/operator/MoreThanOrEqual.js.map +1 -1
  322. package/lib/typeorm/find-options/operator/Not.js.map +1 -1
  323. package/lib/typeorm/find-options/operator/Raw.js.map +1 -1
  324. package/lib/typeorm/globals.js.map +1 -1
  325. package/lib/typeorm/index.js.map +1 -1
  326. package/lib/typeorm/logger/AdvancedConsoleLogger.js.map +1 -1
  327. package/lib/typeorm/logger/DebugLogger.js.map +1 -1
  328. package/lib/typeorm/logger/FileLogger.js.map +1 -1
  329. package/lib/typeorm/logger/Logger.js.map +1 -1
  330. package/lib/typeorm/logger/LoggerFactory.js.map +1 -1
  331. package/lib/typeorm/logger/LoggerOptions.js.map +1 -1
  332. package/lib/typeorm/logger/SimpleConsoleLogger.js.map +1 -1
  333. package/lib/typeorm/metadata/CheckMetadata.js.map +1 -1
  334. package/lib/typeorm/metadata/ColumnMetadata.js.map +1 -1
  335. package/lib/typeorm/metadata/EmbeddedMetadata.js.map +1 -1
  336. package/lib/typeorm/metadata/EntityListenerMetadata.js.map +1 -1
  337. package/lib/typeorm/metadata/EntityMetadata.js.map +1 -1
  338. package/lib/typeorm/metadata/ExclusionMetadata.js.map +1 -1
  339. package/lib/typeorm/metadata/ForeignKeyMetadata.js.map +1 -1
  340. package/lib/typeorm/metadata/IndexMetadata.js.map +1 -1
  341. package/lib/typeorm/metadata/RelationCountMetadata.js.map +1 -1
  342. package/lib/typeorm/metadata/RelationIdMetadata.js.map +1 -1
  343. package/lib/typeorm/metadata/RelationMetadata.js.map +1 -1
  344. package/lib/typeorm/metadata/UniqueMetadata.js.map +1 -1
  345. package/lib/typeorm/metadata/types/ClosureTreeOptions.js.map +1 -1
  346. package/lib/typeorm/metadata/types/DeferrableType.js.map +1 -1
  347. package/lib/typeorm/metadata/types/EventListenerTypes.js.map +1 -1
  348. package/lib/typeorm/metadata/types/OnDeleteType.js.map +1 -1
  349. package/lib/typeorm/metadata/types/OnUpdateType.js.map +1 -1
  350. package/lib/typeorm/metadata/types/PropertyTypeInFunction.js.map +1 -1
  351. package/lib/typeorm/metadata/types/RelationTypeInFunction.js.map +1 -1
  352. package/lib/typeorm/metadata/types/RelationTypes.js.map +1 -1
  353. package/lib/typeorm/metadata/types/TableTypes.js.map +1 -1
  354. package/lib/typeorm/metadata/types/TreeTypes.js.map +1 -1
  355. package/lib/typeorm/metadata-args/CheckMetadataArgs.js.map +1 -1
  356. package/lib/typeorm/metadata-args/ColumnMetadataArgs.js.map +1 -1
  357. package/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  358. package/lib/typeorm/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  359. package/lib/typeorm/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  360. package/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  361. package/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  362. package/lib/typeorm/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  363. package/lib/typeorm/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  364. package/lib/typeorm/metadata-args/IndexMetadataArgs.js.map +1 -1
  365. package/lib/typeorm/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  366. package/lib/typeorm/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  367. package/lib/typeorm/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  368. package/lib/typeorm/metadata-args/MetadataArgsStorage.js.map +1 -1
  369. package/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  370. package/lib/typeorm/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  371. package/lib/typeorm/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  372. package/lib/typeorm/metadata-args/RelationMetadataArgs.js.map +1 -1
  373. package/lib/typeorm/metadata-args/TableMetadataArgs.js.map +1 -1
  374. package/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  375. package/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  376. package/lib/typeorm/metadata-args/TreeMetadataArgs.js.map +1 -1
  377. package/lib/typeorm/metadata-args/UniqueMetadataArgs.js.map +1 -1
  378. package/lib/typeorm/metadata-args/types/ColumnMode.js.map +1 -1
  379. package/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  380. package/lib/typeorm/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  381. package/lib/typeorm/metadata-builder/EntityMetadataValidator.js.map +1 -1
  382. package/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  383. package/lib/typeorm/metadata-builder/MetadataUtils.js.map +1 -1
  384. package/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  385. package/lib/typeorm/migration/Migration.js.map +1 -1
  386. package/lib/typeorm/migration/MigrationExecutor.js.map +1 -1
  387. package/lib/typeorm/migration/MigrationInterface.js.map +1 -1
  388. package/lib/typeorm/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  389. package/lib/typeorm/naming-strategy/NamingStrategyInterface.js.map +1 -1
  390. package/lib/typeorm/persistence/EntityPersistExecutor.js.map +1 -1
  391. package/lib/typeorm/persistence/Subject.js.map +1 -1
  392. package/lib/typeorm/persistence/SubjectChangeMap.js.map +1 -1
  393. package/lib/typeorm/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  394. package/lib/typeorm/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  395. package/lib/typeorm/persistence/SubjectExecutor.js.map +1 -1
  396. package/lib/typeorm/persistence/SubjectTopoligicalSorter.js.map +1 -1
  397. package/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  398. package/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  399. package/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  400. package/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  401. package/lib/typeorm/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  402. package/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  403. package/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  404. package/lib/typeorm/platform/PlatformTools.js.map +1 -1
  405. package/lib/typeorm/query-builder/Alias.js.map +1 -1
  406. package/lib/typeorm/query-builder/Brackets.js.map +1 -1
  407. package/lib/typeorm/query-builder/DeleteQueryBuilder.js.map +1 -1
  408. package/lib/typeorm/query-builder/InsertOrUpdateOptions.js.map +1 -1
  409. package/lib/typeorm/query-builder/InsertQueryBuilder.js.map +1 -1
  410. package/lib/typeorm/query-builder/JoinAttribute.js.map +1 -1
  411. package/lib/typeorm/query-builder/JoinOptions.js.map +1 -1
  412. package/lib/typeorm/query-builder/NotBrackets.js.map +1 -1
  413. package/lib/typeorm/query-builder/QueryBuilder.js.map +1 -1
  414. package/lib/typeorm/query-builder/QueryBuilderCte.js.map +1 -1
  415. package/lib/typeorm/query-builder/QueryBuilderUtils.js.map +1 -1
  416. package/lib/typeorm/query-builder/QueryExpressionMap.js.map +1 -1
  417. package/lib/typeorm/query-builder/QueryPartialEntity.js.map +1 -1
  418. package/lib/typeorm/query-builder/RelationIdLoader.js.map +1 -1
  419. package/lib/typeorm/query-builder/RelationLoader.js.map +1 -1
  420. package/lib/typeorm/query-builder/RelationQueryBuilder.js.map +1 -1
  421. package/lib/typeorm/query-builder/RelationRemover.js.map +1 -1
  422. package/lib/typeorm/query-builder/RelationUpdater.js.map +1 -1
  423. package/lib/typeorm/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  424. package/lib/typeorm/query-builder/SelectQuery.js.map +1 -1
  425. package/lib/typeorm/query-builder/SelectQueryBuilder.js.map +1 -1
  426. package/lib/typeorm/query-builder/SelectQueryBuilderOption.js.map +1 -1
  427. package/lib/typeorm/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  428. package/lib/typeorm/query-builder/UpdateQueryBuilder.js.map +1 -1
  429. package/lib/typeorm/query-builder/WhereClause.js.map +1 -1
  430. package/lib/typeorm/query-builder/WhereExpressionBuilder.js.map +1 -1
  431. package/lib/typeorm/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  432. package/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  433. package/lib/typeorm/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  434. package/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  435. package/lib/typeorm/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  436. package/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  437. package/lib/typeorm/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  438. package/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  439. package/lib/typeorm/query-builder/result/DeleteResult.js.map +1 -1
  440. package/lib/typeorm/query-builder/result/InsertResult.js.map +1 -1
  441. package/lib/typeorm/query-builder/result/UpdateResult.js.map +1 -1
  442. package/lib/typeorm/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  443. package/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  444. package/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  445. package/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  446. package/lib/typeorm/query-runner/BaseQueryRunner.js.map +1 -1
  447. package/lib/typeorm/query-runner/QueryLock.js.map +1 -1
  448. package/lib/typeorm/query-runner/QueryResult.js.map +1 -1
  449. package/lib/typeorm/query-runner/QueryRunner.js.map +1 -1
  450. package/lib/typeorm/repository/AbstractRepository.js.map +1 -1
  451. package/lib/typeorm/repository/BaseEntity.js.map +1 -1
  452. package/lib/typeorm/repository/EntityId.js.map +1 -1
  453. package/lib/typeorm/repository/FindTreesOptions.js.map +1 -1
  454. package/lib/typeorm/repository/MongoRepository.js.map +1 -1
  455. package/lib/typeorm/repository/RemoveOptions.js.map +1 -1
  456. package/lib/typeorm/repository/Repository.js.map +1 -1
  457. package/lib/typeorm/repository/SaveOptions.js.map +1 -1
  458. package/lib/typeorm/repository/TreeRepository.js.map +1 -1
  459. package/lib/typeorm/repository/UpsertOptions.js.map +1 -1
  460. package/lib/typeorm/schema-builder/MongoSchemaBuilder.js.map +1 -1
  461. package/lib/typeorm/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  462. package/lib/typeorm/schema-builder/SchemaBuilder.js.map +1 -1
  463. package/lib/typeorm/schema-builder/options/TableCheckOptions.js.map +1 -1
  464. package/lib/typeorm/schema-builder/options/TableColumnOptions.js.map +1 -1
  465. package/lib/typeorm/schema-builder/options/TableExclusionOptions.js.map +1 -1
  466. package/lib/typeorm/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  467. package/lib/typeorm/schema-builder/options/TableIndexOptions.js.map +1 -1
  468. package/lib/typeorm/schema-builder/options/TableOptions.js.map +1 -1
  469. package/lib/typeorm/schema-builder/options/TableUniqueOptions.js.map +1 -1
  470. package/lib/typeorm/schema-builder/options/ViewOptions.js.map +1 -1
  471. package/lib/typeorm/schema-builder/table/Table.js.map +1 -1
  472. package/lib/typeorm/schema-builder/table/TableCheck.js.map +1 -1
  473. package/lib/typeorm/schema-builder/table/TableColumn.js.map +1 -1
  474. package/lib/typeorm/schema-builder/table/TableExclusion.js.map +1 -1
  475. package/lib/typeorm/schema-builder/table/TableForeignKey.js.map +1 -1
  476. package/lib/typeorm/schema-builder/table/TableIndex.js.map +1 -1
  477. package/lib/typeorm/schema-builder/table/TableUnique.js.map +1 -1
  478. package/lib/typeorm/schema-builder/util/TableUtils.js.map +1 -1
  479. package/lib/typeorm/schema-builder/util/ViewUtils.js.map +1 -1
  480. package/lib/typeorm/schema-builder/view/View.js.map +1 -1
  481. package/lib/typeorm/subscriber/Broadcaster.js.map +1 -1
  482. package/lib/typeorm/subscriber/BroadcasterResult.js.map +1 -1
  483. package/lib/typeorm/subscriber/EntitySubscriberInterface.js.map +1 -1
  484. package/lib/typeorm/subscriber/event/InsertEvent.js.map +1 -1
  485. package/lib/typeorm/subscriber/event/LoadEvent.js.map +1 -1
  486. package/lib/typeorm/subscriber/event/RecoverEvent.js.map +1 -1
  487. package/lib/typeorm/subscriber/event/RemoveEvent.js.map +1 -1
  488. package/lib/typeorm/subscriber/event/SoftRemoveEvent.js.map +1 -1
  489. package/lib/typeorm/subscriber/event/TransactionCommitEvent.js.map +1 -1
  490. package/lib/typeorm/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  491. package/lib/typeorm/subscriber/event/TransactionStartEvent.js.map +1 -1
  492. package/lib/typeorm/subscriber/event/UpdateEvent.js.map +1 -1
  493. package/lib/typeorm/util/ApplyValueTransformers.js.map +1 -1
  494. package/lib/typeorm/util/DateUtils.js.map +1 -1
  495. package/lib/typeorm/util/DepGraph.js.map +1 -1
  496. package/lib/typeorm/util/DirectoryExportedClassesLoader.js.map +1 -1
  497. package/lib/typeorm/util/ImportUtils.js.map +1 -1
  498. package/lib/typeorm/util/InstanceChecker.js.map +1 -1
  499. package/lib/typeorm/util/ObjectUtils.js.map +1 -1
  500. package/lib/typeorm/util/OrmUtils.js.map +1 -1
  501. package/lib/typeorm/util/PathUtils.js.map +1 -1
  502. package/lib/typeorm/util/RandomGenerator.js.map +1 -1
  503. package/lib/typeorm/util/StringUtils.js.map +1 -1
  504. package/lib/typeorm/util/TreeRepositoryUtils.js.map +1 -1
  505. package/lib/typeorm/util/VersionUtils.js.map +1 -1
  506. package/lib/typeorm/util/escapeRegExp.js.map +1 -1
  507. package/migrations/index.js.map +1 -1
  508. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  509. package/package.json +2 -2
  510. package/src.d.ts +3 -3
  511. package/taon.jsonc +7 -9
  512. package/tmp-environment.json +4 -3
  513. package/websql/README.md +24 -24
  514. package/browser/esm2022/lib/index.mjs +0 -4
  515. package/browser/esm2022/lib/typeorm/cache/DbQueryResultCache.mjs +0 -251
  516. package/browser/esm2022/lib/typeorm/cache/QueryResultCache.mjs +0 -4
  517. package/browser/esm2022/lib/typeorm/cache/QueryResultCacheFactory.mjs +0 -33
  518. package/browser/esm2022/lib/typeorm/cache/QueryResultCacheOptions.mjs +0 -4
  519. package/browser/esm2022/lib/typeorm/cache/RedisQueryResultCache.mjs +0 -185
  520. package/browser/esm2022/lib/typeorm/common/DeepPartial.mjs +0 -3
  521. package/browser/esm2022/lib/typeorm/common/EntityTarget.mjs +0 -3
  522. package/browser/esm2022/lib/typeorm/common/MixedList.mjs +0 -3
  523. package/browser/esm2022/lib/typeorm/common/ObjectLiteral.mjs +0 -4
  524. package/browser/esm2022/lib/typeorm/common/ObjectType.mjs +0 -3
  525. package/browser/esm2022/lib/typeorm/common/RelationType.mjs +0 -3
  526. package/browser/esm2022/lib/typeorm/connection/Connection.mjs +0 -13
  527. package/browser/esm2022/lib/typeorm/connection/ConnectionManager.mjs +0 -57
  528. package/browser/esm2022/lib/typeorm/connection/ConnectionMetadataBuilder.mjs +0 -63
  529. package/browser/esm2022/lib/typeorm/connection/ConnectionOptions.mjs +0 -3
  530. package/browser/esm2022/lib/typeorm/connection/ConnectionOptionsReader.mjs +0 -237
  531. package/browser/esm2022/lib/typeorm/constants.mjs +0 -4
  532. package/browser/esm2022/lib/typeorm/container.mjs +0 -57
  533. package/browser/esm2022/lib/typeorm/data-source/BaseDataSourceOptions.mjs +0 -4
  534. package/browser/esm2022/lib/typeorm/data-source/DataSource.mjs +0 -458
  535. package/browser/esm2022/lib/typeorm/data-source/DataSourceOptions.mjs +0 -11
  536. package/browser/esm2022/lib/typeorm/data-source/index.mjs +0 -4
  537. package/browser/esm2022/lib/typeorm/decorator/Check.mjs +0 -25
  538. package/browser/esm2022/lib/typeorm/decorator/EntityRepository.mjs +0 -19
  539. package/browser/esm2022/lib/typeorm/decorator/Exclusion.mjs +0 -25
  540. package/browser/esm2022/lib/typeorm/decorator/Generated.mjs +0 -22
  541. package/browser/esm2022/lib/typeorm/decorator/Index.mjs +0 -52
  542. package/browser/esm2022/lib/typeorm/decorator/Unique.mjs +0 -48
  543. package/browser/esm2022/lib/typeorm/decorator/columns/Column.mjs +0 -67
  544. package/browser/esm2022/lib/typeorm/decorator/columns/CreateDateColumn.mjs +0 -19
  545. package/browser/esm2022/lib/typeorm/decorator/columns/DeleteDateColumn.mjs +0 -18
  546. package/browser/esm2022/lib/typeorm/decorator/columns/ObjectIdColumn.mjs +0 -23
  547. package/browser/esm2022/lib/typeorm/decorator/columns/PrimaryColumn.mjs +0 -54
  548. package/browser/esm2022/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.mjs +0 -52
  549. package/browser/esm2022/lib/typeorm/decorator/columns/UpdateDateColumn.mjs +0 -18
  550. package/browser/esm2022/lib/typeorm/decorator/columns/VersionColumn.mjs +0 -19
  551. package/browser/esm2022/lib/typeorm/decorator/columns/ViewColumn.mjs +0 -17
  552. package/browser/esm2022/lib/typeorm/decorator/columns/VirtualColumn.mjs +0 -41
  553. package/browser/esm2022/lib/typeorm/decorator/entity/ChildEntity.mjs +0 -21
  554. package/browser/esm2022/lib/typeorm/decorator/entity/Entity.mjs +0 -28
  555. package/browser/esm2022/lib/typeorm/decorator/entity/TableInheritance.mjs +0 -20
  556. package/browser/esm2022/lib/typeorm/decorator/entity-view/ViewEntity.mjs +0 -30
  557. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterInsert.mjs +0 -17
  558. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterLoad.mjs +0 -17
  559. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterRecover.mjs +0 -17
  560. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterRemove.mjs +0 -17
  561. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterSoftRemove.mjs +0 -17
  562. package/browser/esm2022/lib/typeorm/decorator/listeners/AfterUpdate.mjs +0 -17
  563. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeInsert.mjs +0 -17
  564. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeRecover.mjs +0 -17
  565. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeRemove.mjs +0 -17
  566. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeSoftRemove.mjs +0 -17
  567. package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeUpdate.mjs +0 -17
  568. package/browser/esm2022/lib/typeorm/decorator/listeners/EventSubscriber.mjs +0 -15
  569. package/browser/esm2022/lib/typeorm/decorator/options/ColumnCommonOptions.mjs +0 -4
  570. package/browser/esm2022/lib/typeorm/decorator/options/ColumnEmbeddedOptions.mjs +0 -4
  571. package/browser/esm2022/lib/typeorm/decorator/options/ColumnEnumOptions.mjs +0 -4
  572. package/browser/esm2022/lib/typeorm/decorator/options/ColumnHstoreOptions.mjs +0 -4
  573. package/browser/esm2022/lib/typeorm/decorator/options/ColumnNumericOptions.mjs +0 -4
  574. package/browser/esm2022/lib/typeorm/decorator/options/ColumnOptions.mjs +0 -4
  575. package/browser/esm2022/lib/typeorm/decorator/options/ColumnWithLengthOptions.mjs +0 -4
  576. package/browser/esm2022/lib/typeorm/decorator/options/ColumnWithWidthOptions.mjs +0 -4
  577. package/browser/esm2022/lib/typeorm/decorator/options/EntityOptions.mjs +0 -4
  578. package/browser/esm2022/lib/typeorm/decorator/options/IndexOptions.mjs +0 -4
  579. package/browser/esm2022/lib/typeorm/decorator/options/JoinColumnOptions.mjs +0 -4
  580. package/browser/esm2022/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.mjs +0 -4
  581. package/browser/esm2022/lib/typeorm/decorator/options/JoinTableOptions.mjs +0 -4
  582. package/browser/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.mjs +0 -4
  583. package/browser/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.mjs +0 -4
  584. package/browser/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.mjs +0 -4
  585. package/browser/esm2022/lib/typeorm/decorator/options/RelationOptions.mjs +0 -4
  586. package/browser/esm2022/lib/typeorm/decorator/options/SpatialColumnOptions.mjs +0 -4
  587. package/browser/esm2022/lib/typeorm/decorator/options/UniqueOptions.mjs +0 -4
  588. package/browser/esm2022/lib/typeorm/decorator/options/ValueTransformer.mjs +0 -4
  589. package/browser/esm2022/lib/typeorm/decorator/options/ViewColumnOptions.mjs +0 -4
  590. package/browser/esm2022/lib/typeorm/decorator/options/ViewEntityOptions.mjs +0 -4
  591. package/browser/esm2022/lib/typeorm/decorator/options/VirtualColumnOptions.mjs +0 -4
  592. package/browser/esm2022/lib/typeorm/decorator/relations/JoinColumn.mjs +0 -25
  593. package/browser/esm2022/lib/typeorm/decorator/relations/JoinTable.mjs +0 -31
  594. package/browser/esm2022/lib/typeorm/decorator/relations/ManyToMany.mjs +0 -40
  595. package/browser/esm2022/lib/typeorm/decorator/relations/ManyToOne.mjs +0 -40
  596. package/browser/esm2022/lib/typeorm/decorator/relations/OneToMany.mjs +0 -32
  597. package/browser/esm2022/lib/typeorm/decorator/relations/OneToOne.mjs +0 -39
  598. package/browser/esm2022/lib/typeorm/decorator/relations/RelationCount.mjs +0 -20
  599. package/browser/esm2022/lib/typeorm/decorator/relations/RelationId.mjs +0 -20
  600. package/browser/esm2022/lib/typeorm/decorator/tree/Tree.mjs +0 -19
  601. package/browser/esm2022/lib/typeorm/decorator/tree/TreeChildren.mjs +0 -34
  602. package/browser/esm2022/lib/typeorm/decorator/tree/TreeLevelColumn.mjs +0 -17
  603. package/browser/esm2022/lib/typeorm/decorator/tree/TreeParent.mjs +0 -34
  604. package/browser/esm2022/lib/typeorm/driver/Driver.mjs +0 -4
  605. package/browser/esm2022/lib/typeorm/driver/DriverFactory.mjs +0 -99
  606. package/browser/esm2022/lib/typeorm/driver/DriverUtils.mjs +0 -213
  607. package/browser/esm2022/lib/typeorm/driver/Query.mjs +0 -13
  608. package/browser/esm2022/lib/typeorm/driver/SqlInMemory.mjs +0 -12
  609. package/browser/esm2022/lib/typeorm/driver/cordova/CordovaConnectionOptions.mjs +0 -4
  610. package/browser/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +0 -63
  611. package/browser/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +0 -152
  612. package/browser/esm2022/lib/typeorm/driver/mongodb/typings.mjs +0 -6516
  613. package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.mjs +0 -4
  614. package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +0 -82
  615. package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +0 -82
  616. package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.mjs +0 -4
  617. package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +0 -69
  618. package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +0 -81
  619. package/browser/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.mjs +0 -582
  620. package/browser/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.mjs +0 -1421
  621. package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsConnectionOptions.mjs +0 -4
  622. package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +0 -249
  623. package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +0 -107
  624. package/browser/esm2022/lib/typeorm/driver/types/ColumnTypes.mjs +0 -3
  625. package/browser/esm2022/lib/typeorm/driver/types/CteCapabilities.mjs +0 -4
  626. package/browser/esm2022/lib/typeorm/driver/types/DataTypeDefaults.mjs +0 -4
  627. package/browser/esm2022/lib/typeorm/driver/types/DatabaseType.mjs +0 -3
  628. package/browser/esm2022/lib/typeorm/driver/types/IsolationLevel.mjs +0 -3
  629. package/browser/esm2022/lib/typeorm/driver/types/MappedColumnTypes.mjs +0 -4
  630. package/browser/esm2022/lib/typeorm/driver/types/MetadataTableType.mjs +0 -9
  631. package/browser/esm2022/lib/typeorm/driver/types/ReplicationMode.mjs +0 -3
  632. package/browser/esm2022/lib/typeorm/driver/types/UpsertType.mjs +0 -3
  633. package/browser/esm2022/lib/typeorm/entity-manager/EntityManager.mjs +0 -743
  634. package/browser/esm2022/lib/typeorm/entity-manager/EntityManagerFactory.mjs +0 -23
  635. package/browser/esm2022/lib/typeorm/entity-manager/SqljsEntityManager.mjs +0 -35
  636. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchema.mjs +0 -12
  637. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaCheckOptions.mjs +0 -4
  638. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaColumnOptions.mjs +0 -4
  639. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.mjs +0 -5
  640. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.mjs +0 -15
  641. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.mjs +0 -4
  642. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaIndexOptions.mjs +0 -4
  643. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaOptions.mjs +0 -8
  644. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.mjs +0 -4
  645. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationOptions.mjs +0 -4
  646. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaTransformer.mjs +0 -268
  647. package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.mjs +0 -4
  648. package/browser/esm2022/lib/typeorm/error/AlreadyHasActiveConnectionError.mjs +0 -13
  649. package/browser/esm2022/lib/typeorm/error/CannotAttachTreeChildrenEntityError.mjs +0 -13
  650. package/browser/esm2022/lib/typeorm/error/CannotConnectAlreadyConnectedError.mjs +0 -12
  651. package/browser/esm2022/lib/typeorm/error/CannotCreateEntityIdMapError.mjs +0 -18
  652. package/browser/esm2022/lib/typeorm/error/CannotDetermineEntityError.mjs +0 -13
  653. package/browser/esm2022/lib/typeorm/error/CannotExecuteNotConnectedError.mjs +0 -12
  654. package/browser/esm2022/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.mjs +0 -12
  655. package/browser/esm2022/lib/typeorm/error/CannotReflectMethodParameterTypeError.mjs +0 -15
  656. package/browser/esm2022/lib/typeorm/error/CircularRelationsError.mjs +0 -13
  657. package/browser/esm2022/lib/typeorm/error/ColumnTypeUndefinedError.mjs +0 -16
  658. package/browser/esm2022/lib/typeorm/error/ConnectionIsNotSetError.mjs +0 -12
  659. package/browser/esm2022/lib/typeorm/error/ConnectionNotFoundError.mjs +0 -12
  660. package/browser/esm2022/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.mjs +0 -15
  661. package/browser/esm2022/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.mjs +0 -15
  662. package/browser/esm2022/lib/typeorm/error/CustomRepositoryNotFoundError.mjs +0 -15
  663. package/browser/esm2022/lib/typeorm/error/DataTypeNotSupportedError.mjs +0 -11
  664. package/browser/esm2022/lib/typeorm/error/DriverOptionNotSetError.mjs +0 -13
  665. package/browser/esm2022/lib/typeorm/error/DriverPackageNotInstalledError.mjs +0 -13
  666. package/browser/esm2022/lib/typeorm/error/EntityMetadataNotFoundError.mjs +0 -26
  667. package/browser/esm2022/lib/typeorm/error/EntityNotFoundError.mjs +0 -37
  668. package/browser/esm2022/lib/typeorm/error/EntityPropertyNotFoundError.mjs +0 -14
  669. package/browser/esm2022/lib/typeorm/error/FindRelationsNotFoundError.mjs +0 -20
  670. package/browser/esm2022/lib/typeorm/error/InitializedRelationError.mjs +0 -17
  671. package/browser/esm2022/lib/typeorm/error/InsertValuesMissingError.mjs +0 -13
  672. package/browser/esm2022/lib/typeorm/error/LimitOnUpdateNotSupportedError.mjs +0 -12
  673. package/browser/esm2022/lib/typeorm/error/LockNotSupportedOnGivenDriverError.mjs +0 -12
  674. package/browser/esm2022/lib/typeorm/error/MetadataAlreadyExistsError.mjs +0 -15
  675. package/browser/esm2022/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.mjs +0 -13
  676. package/browser/esm2022/lib/typeorm/error/MissingDeleteDateColumnError.mjs +0 -9
  677. package/browser/esm2022/lib/typeorm/error/MissingDriverError.mjs +0 -13
  678. package/browser/esm2022/lib/typeorm/error/MissingJoinColumnError.mjs +0 -20
  679. package/browser/esm2022/lib/typeorm/error/MissingJoinTableError.mjs +0 -20
  680. package/browser/esm2022/lib/typeorm/error/MissingPrimaryColumnError.mjs +0 -10
  681. package/browser/esm2022/lib/typeorm/error/MustBeEntityError.mjs +0 -12
  682. package/browser/esm2022/lib/typeorm/error/NamingStrategyNotFoundError.mjs +0 -18
  683. package/browser/esm2022/lib/typeorm/error/NestedSetMultipleRootError.mjs +0 -9
  684. package/browser/esm2022/lib/typeorm/error/NoConnectionForRepositoryError.mjs +0 -13
  685. package/browser/esm2022/lib/typeorm/error/NoConnectionOptionError.mjs +0 -13
  686. package/browser/esm2022/lib/typeorm/error/NoNeedToReleaseEntityManagerError.mjs +0 -14
  687. package/browser/esm2022/lib/typeorm/error/NoVersionOrUpdateDateColumnError.mjs +0 -12
  688. package/browser/esm2022/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.mjs +0 -14
  689. package/browser/esm2022/lib/typeorm/error/OptimisticLockCanNotBeUsedError.mjs +0 -12
  690. package/browser/esm2022/lib/typeorm/error/OptimisticLockVersionMismatchError.mjs +0 -12
  691. package/browser/esm2022/lib/typeorm/error/PersistedEntityNotFoundError.mjs +0 -12
  692. package/browser/esm2022/lib/typeorm/error/PessimisticLockTransactionRequiredError.mjs +0 -12
  693. package/browser/esm2022/lib/typeorm/error/PrimaryColumnCannotBeNullableError.mjs +0 -10
  694. package/browser/esm2022/lib/typeorm/error/QueryFailedError.mjs +0 -27
  695. package/browser/esm2022/lib/typeorm/error/QueryRunnerAlreadyReleasedError.mjs +0 -9
  696. package/browser/esm2022/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.mjs +0 -13
  697. package/browser/esm2022/lib/typeorm/error/RepositoryNotTreeError.mjs +0 -29
  698. package/browser/esm2022/lib/typeorm/error/ReturningStatementNotSupportedError.mjs +0 -13
  699. package/browser/esm2022/lib/typeorm/error/SubjectRemovedAndUpdatedError.mjs +0 -13
  700. package/browser/esm2022/lib/typeorm/error/SubjectWithoutIdentifierError.mjs +0 -14
  701. package/browser/esm2022/lib/typeorm/error/TransactionAlreadyStartedError.mjs +0 -12
  702. package/browser/esm2022/lib/typeorm/error/TransactionNotStartedError.mjs +0 -12
  703. package/browser/esm2022/lib/typeorm/error/TreeRepositoryNotSupportedError.mjs +0 -9
  704. package/browser/esm2022/lib/typeorm/error/TypeORMError.mjs +0 -18
  705. package/browser/esm2022/lib/typeorm/error/UpdateValuesMissingError.mjs +0 -9
  706. package/browser/esm2022/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.mjs +0 -10
  707. package/browser/esm2022/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.mjs +0 -11
  708. package/browser/esm2022/lib/typeorm/error/UsingJoinTableIsNotAllowedError.mjs +0 -11
  709. package/browser/esm2022/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.mjs +0 -11
  710. package/browser/esm2022/lib/typeorm/error/index.mjs +0 -63
  711. package/browser/esm2022/lib/typeorm/find-options/EqualOperator.mjs +0 -10
  712. package/browser/esm2022/lib/typeorm/find-options/FindManyOptions.mjs +0 -4
  713. package/browser/esm2022/lib/typeorm/find-options/FindOneOptions.mjs +0 -4
  714. package/browser/esm2022/lib/typeorm/find-options/FindOperator.mjs +0 -74
  715. package/browser/esm2022/lib/typeorm/find-options/FindOperatorType.mjs +0 -3
  716. package/browser/esm2022/lib/typeorm/find-options/FindOptionsOrder.mjs +0 -3
  717. package/browser/esm2022/lib/typeorm/find-options/FindOptionsRelations.mjs +0 -3
  718. package/browser/esm2022/lib/typeorm/find-options/FindOptionsSelect.mjs +0 -5
  719. package/browser/esm2022/lib/typeorm/find-options/FindOptionsUtils.mjs +0 -293
  720. package/browser/esm2022/lib/typeorm/find-options/FindOptionsWhere.mjs +0 -3
  721. package/browser/esm2022/lib/typeorm/find-options/FindTreeOptions.mjs +0 -4
  722. package/browser/esm2022/lib/typeorm/find-options/JoinOptions.mjs +0 -4
  723. package/browser/esm2022/lib/typeorm/find-options/OrderByCondition.mjs +0 -3
  724. package/browser/esm2022/lib/typeorm/find-options/operator/Any.mjs +0 -11
  725. package/browser/esm2022/lib/typeorm/find-options/operator/ArrayContainedBy.mjs +0 -11
  726. package/browser/esm2022/lib/typeorm/find-options/operator/ArrayContains.mjs +0 -11
  727. package/browser/esm2022/lib/typeorm/find-options/operator/ArrayOverlap.mjs +0 -11
  728. package/browser/esm2022/lib/typeorm/find-options/operator/Between.mjs +0 -11
  729. package/browser/esm2022/lib/typeorm/find-options/operator/Equal.mjs +0 -15
  730. package/browser/esm2022/lib/typeorm/find-options/operator/ILike.mjs +0 -11
  731. package/browser/esm2022/lib/typeorm/find-options/operator/In.mjs +0 -11
  732. package/browser/esm2022/lib/typeorm/find-options/operator/IsNull.mjs +0 -11
  733. package/browser/esm2022/lib/typeorm/find-options/operator/LessThan.mjs +0 -11
  734. package/browser/esm2022/lib/typeorm/find-options/operator/LessThanOrEqual.mjs +0 -11
  735. package/browser/esm2022/lib/typeorm/find-options/operator/Like.mjs +0 -11
  736. package/browser/esm2022/lib/typeorm/find-options/operator/MoreThan.mjs +0 -11
  737. package/browser/esm2022/lib/typeorm/find-options/operator/MoreThanOrEqual.mjs +0 -11
  738. package/browser/esm2022/lib/typeorm/find-options/operator/Not.mjs +0 -12
  739. package/browser/esm2022/lib/typeorm/find-options/operator/Raw.mjs +0 -10
  740. package/browser/esm2022/lib/typeorm/globals.mjs +0 -165
  741. package/browser/esm2022/lib/typeorm/index.mjs +0 -157
  742. package/browser/esm2022/lib/typeorm/logger/AdvancedConsoleLogger.mjs +0 -109
  743. package/browser/esm2022/lib/typeorm/logger/DebugLogger.mjs +0 -94
  744. package/browser/esm2022/lib/typeorm/logger/Logger.mjs +0 -4
  745. package/browser/esm2022/lib/typeorm/logger/LoggerFactory.mjs +0 -36
  746. package/browser/esm2022/lib/typeorm/logger/LoggerOptions.mjs +0 -3
  747. package/browser/esm2022/lib/typeorm/logger/SimpleConsoleLogger.mjs +0 -108
  748. package/browser/esm2022/lib/typeorm/metadata/CheckMetadata.mjs +0 -26
  749. package/browser/esm2022/lib/typeorm/metadata/ColumnMetadata.mjs +0 -553
  750. package/browser/esm2022/lib/typeorm/metadata/EmbeddedMetadata.mjs +0 -206
  751. package/browser/esm2022/lib/typeorm/metadata/EntityListenerMetadata.mjs +0 -52
  752. package/browser/esm2022/lib/typeorm/metadata/EntityMetadata.mjs +0 -636
  753. package/browser/esm2022/lib/typeorm/metadata/ExclusionMetadata.mjs +0 -26
  754. package/browser/esm2022/lib/typeorm/metadata/ForeignKeyMetadata.mjs +0 -48
  755. package/browser/esm2022/lib/typeorm/metadata/IndexMetadata.mjs +0 -131
  756. package/browser/esm2022/lib/typeorm/metadata/RelationCountMetadata.mjs +0 -30
  757. package/browser/esm2022/lib/typeorm/metadata/RelationIdMetadata.mjs +0 -50
  758. package/browser/esm2022/lib/typeorm/metadata/RelationMetadata.mjs +0 -398
  759. package/browser/esm2022/lib/typeorm/metadata/UniqueMetadata.mjs +0 -90
  760. package/browser/esm2022/lib/typeorm/metadata/types/ClosureTreeOptions.mjs +0 -4
  761. package/browser/esm2022/lib/typeorm/metadata/types/DeferrableType.mjs +0 -3
  762. package/browser/esm2022/lib/typeorm/metadata/types/EventListenerTypes.mjs +0 -19
  763. package/browser/esm2022/lib/typeorm/metadata/types/OnDeleteType.mjs +0 -3
  764. package/browser/esm2022/lib/typeorm/metadata/types/OnUpdateType.mjs +0 -3
  765. package/browser/esm2022/lib/typeorm/metadata/types/PropertyTypeInFunction.mjs +0 -3
  766. package/browser/esm2022/lib/typeorm/metadata/types/RelationTypeInFunction.mjs +0 -3
  767. package/browser/esm2022/lib/typeorm/metadata/types/RelationTypes.mjs +0 -3
  768. package/browser/esm2022/lib/typeorm/metadata/types/TableTypes.mjs +0 -3
  769. package/browser/esm2022/lib/typeorm/metadata/types/TreeTypes.mjs +0 -3
  770. package/browser/esm2022/lib/typeorm/metadata-args/CheckMetadataArgs.mjs +0 -4
  771. package/browser/esm2022/lib/typeorm/metadata-args/ColumnMetadataArgs.mjs +0 -4
  772. package/browser/esm2022/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.mjs +0 -4
  773. package/browser/esm2022/lib/typeorm/metadata-args/EmbeddedMetadataArgs.mjs +0 -4
  774. package/browser/esm2022/lib/typeorm/metadata-args/EntityListenerMetadataArgs.mjs +0 -4
  775. package/browser/esm2022/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.mjs +0 -4
  776. package/browser/esm2022/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.mjs +0 -4
  777. package/browser/esm2022/lib/typeorm/metadata-args/ExclusionMetadataArgs.mjs +0 -4
  778. package/browser/esm2022/lib/typeorm/metadata-args/GeneratedMetadataArgs.mjs +0 -4
  779. package/browser/esm2022/lib/typeorm/metadata-args/IndexMetadataArgs.mjs +0 -4
  780. package/browser/esm2022/lib/typeorm/metadata-args/InheritanceMetadataArgs.mjs +0 -4
  781. package/browser/esm2022/lib/typeorm/metadata-args/JoinColumnMetadataArgs.mjs +0 -4
  782. package/browser/esm2022/lib/typeorm/metadata-args/JoinTableMetadataArgs.mjs +0 -4
  783. package/browser/esm2022/lib/typeorm/metadata-args/MetadataArgsStorage.mjs +0 -217
  784. package/browser/esm2022/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.mjs +0 -4
  785. package/browser/esm2022/lib/typeorm/metadata-args/RelationCountMetadataArgs.mjs +0 -4
  786. package/browser/esm2022/lib/typeorm/metadata-args/RelationIdMetadataArgs.mjs +0 -4
  787. package/browser/esm2022/lib/typeorm/metadata-args/RelationMetadataArgs.mjs +0 -4
  788. package/browser/esm2022/lib/typeorm/metadata-args/TableMetadataArgs.mjs +0 -4
  789. package/browser/esm2022/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.mjs +0 -4
  790. package/browser/esm2022/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.mjs +0 -4
  791. package/browser/esm2022/lib/typeorm/metadata-args/TreeMetadataArgs.mjs +0 -4
  792. package/browser/esm2022/lib/typeorm/metadata-args/UniqueMetadataArgs.mjs +0 -4
  793. package/browser/esm2022/lib/typeorm/metadata-args/types/ColumnMode.mjs +0 -3
  794. package/browser/esm2022/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.mjs +0 -131
  795. package/browser/esm2022/lib/typeorm/metadata-builder/EntityMetadataBuilder.mjs +0 -678
  796. package/browser/esm2022/lib/typeorm/metadata-builder/EntityMetadataValidator.mjs +0 -183
  797. package/browser/esm2022/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.mjs +0 -262
  798. package/browser/esm2022/lib/typeorm/metadata-builder/MetadataUtils.mjs +0 -41
  799. package/browser/esm2022/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.mjs +0 -167
  800. package/browser/esm2022/lib/typeorm/migration/Migration.mjs +0 -14
  801. package/browser/esm2022/lib/typeorm/migration/MigrationExecutor.mjs +0 -454
  802. package/browser/esm2022/lib/typeorm/migration/MigrationInterface.mjs +0 -4
  803. package/browser/esm2022/lib/typeorm/naming-strategy/DefaultNamingStrategy.mjs +0 -140
  804. package/browser/esm2022/lib/typeorm/naming-strategy/NamingStrategyInterface.mjs +0 -4
  805. package/browser/esm2022/lib/typeorm/persistence/EntityPersistExecutor.mjs +0 -125
  806. package/browser/esm2022/lib/typeorm/persistence/Subject.mjs +0 -212
  807. package/browser/esm2022/lib/typeorm/persistence/SubjectChangeMap.mjs +0 -4
  808. package/browser/esm2022/lib/typeorm/persistence/SubjectChangedColumnsComputer.mjs +0 -164
  809. package/browser/esm2022/lib/typeorm/persistence/SubjectDatabaseEntityLoader.mjs +0 -125
  810. package/browser/esm2022/lib/typeorm/persistence/SubjectExecutor.mjs +0 -721
  811. package/browser/esm2022/lib/typeorm/persistence/SubjectTopoligicalSorter.mjs +0 -151
  812. package/browser/esm2022/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.mjs +0 -84
  813. package/browser/esm2022/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.mjs +0 -153
  814. package/browser/esm2022/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.mjs +0 -117
  815. package/browser/esm2022/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.mjs +0 -95
  816. package/browser/esm2022/lib/typeorm/persistence/tree/ClosureSubjectExecutor.mjs +0 -220
  817. package/browser/esm2022/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.mjs +0 -97
  818. package/browser/esm2022/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.mjs +0 -250
  819. package/browser/esm2022/lib/typeorm/platform/PlatformTools.mjs +0 -346
  820. package/browser/esm2022/lib/typeorm/query-builder/Alias.mjs +0 -26
  821. package/browser/esm2022/lib/typeorm/query-builder/Brackets.mjs +0 -16
  822. package/browser/esm2022/lib/typeorm/query-builder/DeleteQueryBuilder.mjs +0 -181
  823. package/browser/esm2022/lib/typeorm/query-builder/InsertOrUpdateOptions.mjs +0 -3
  824. package/browser/esm2022/lib/typeorm/query-builder/InsertQueryBuilder.mjs +0 -651
  825. package/browser/esm2022/lib/typeorm/query-builder/JoinAttribute.mjs +0 -153
  826. package/browser/esm2022/lib/typeorm/query-builder/NotBrackets.mjs +0 -14
  827. package/browser/esm2022/lib/typeorm/query-builder/QueryBuilder.mjs +0 -967
  828. package/browser/esm2022/lib/typeorm/query-builder/QueryBuilderCte.mjs +0 -4
  829. package/browser/esm2022/lib/typeorm/query-builder/QueryBuilderUtils.mjs +0 -22
  830. package/browser/esm2022/lib/typeorm/query-builder/QueryExpressionMap.mjs +0 -309
  831. package/browser/esm2022/lib/typeorm/query-builder/QueryPartialEntity.mjs +0 -3
  832. package/browser/esm2022/lib/typeorm/query-builder/RelationIdLoader.mjs +0 -452
  833. package/browser/esm2022/lib/typeorm/query-builder/RelationLoader.mjs +0 -262
  834. package/browser/esm2022/lib/typeorm/query-builder/RelationQueryBuilder.mjs +0 -147
  835. package/browser/esm2022/lib/typeorm/query-builder/RelationRemover.mjs +0 -130
  836. package/browser/esm2022/lib/typeorm/query-builder/RelationUpdater.mjs +0 -141
  837. package/browser/esm2022/lib/typeorm/query-builder/ReturningResultsEntityUpdator.mjs +0 -141
  838. package/browser/esm2022/lib/typeorm/query-builder/SelectQuery.mjs +0 -4
  839. package/browser/esm2022/lib/typeorm/query-builder/SelectQueryBuilder.mjs +0 -2278
  840. package/browser/esm2022/lib/typeorm/query-builder/SelectQueryBuilderOption.mjs +0 -3
  841. package/browser/esm2022/lib/typeorm/query-builder/SoftDeleteQueryBuilder.mjs +0 -348
  842. package/browser/esm2022/lib/typeorm/query-builder/UpdateQueryBuilder.mjs +0 -510
  843. package/browser/esm2022/lib/typeorm/query-builder/WhereClause.mjs +0 -3
  844. package/browser/esm2022/lib/typeorm/query-builder/WhereExpressionBuilder.mjs +0 -4
  845. package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountAttribute.mjs +0 -71
  846. package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.mjs +0 -4
  847. package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoader.mjs +0 -142
  848. package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.mjs +0 -33
  849. package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdAttribute.mjs +0 -79
  850. package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.mjs +0 -4
  851. package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoader.mjs +0 -247
  852. package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.mjs +0 -33
  853. package/browser/esm2022/lib/typeorm/query-builder/result/DeleteResult.mjs +0 -14
  854. package/browser/esm2022/lib/typeorm/query-builder/result/InsertResult.mjs +0 -25
  855. package/browser/esm2022/lib/typeorm/query-builder/result/UpdateResult.mjs +0 -25
  856. package/browser/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.mjs +0 -101
  857. package/browser/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.mjs +0 -67
  858. package/browser/esm2022/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.mjs +0 -366
  859. package/browser/esm2022/lib/typeorm/query-runner/BaseQueryRunner.mjs +0 -392
  860. package/browser/esm2022/lib/typeorm/query-runner/QueryResult.mjs +0 -14
  861. package/browser/esm2022/lib/typeorm/query-runner/QueryRunner.mjs +0 -4
  862. package/browser/esm2022/lib/typeorm/repository/AbstractRepository.mjs +0 -80
  863. package/browser/esm2022/lib/typeorm/repository/BaseEntity.mjs +0 -283
  864. package/browser/esm2022/lib/typeorm/repository/FindTreesOptions.mjs +0 -4
  865. package/browser/esm2022/lib/typeorm/repository/RemoveOptions.mjs +0 -4
  866. package/browser/esm2022/lib/typeorm/repository/Repository.mjs +0 -275
  867. package/browser/esm2022/lib/typeorm/repository/SaveOptions.mjs +0 -4
  868. package/browser/esm2022/lib/typeorm/repository/TreeRepository.mjs +0 -254
  869. package/browser/esm2022/lib/typeorm/repository/UpsertOptions.mjs +0 -7
  870. package/browser/esm2022/lib/typeorm/schema-builder/RdbmsSchemaBuilder.mjs +0 -770
  871. package/browser/esm2022/lib/typeorm/schema-builder/SchemaBuilder.mjs +0 -4
  872. package/browser/esm2022/lib/typeorm/schema-builder/options/TableCheckOptions.mjs +0 -4
  873. package/browser/esm2022/lib/typeorm/schema-builder/options/TableColumnOptions.mjs +0 -4
  874. package/browser/esm2022/lib/typeorm/schema-builder/options/TableExclusionOptions.mjs +0 -4
  875. package/browser/esm2022/lib/typeorm/schema-builder/options/TableForeignKeyOptions.mjs +0 -4
  876. package/browser/esm2022/lib/typeorm/schema-builder/options/TableIndexOptions.mjs +0 -4
  877. package/browser/esm2022/lib/typeorm/schema-builder/options/TableOptions.mjs +0 -4
  878. package/browser/esm2022/lib/typeorm/schema-builder/options/TableUniqueOptions.mjs +0 -4
  879. package/browser/esm2022/lib/typeorm/schema-builder/options/ViewOptions.mjs +0 -4
  880. package/browser/esm2022/lib/typeorm/schema-builder/table/Table.mjs +0 -274
  881. package/browser/esm2022/lib/typeorm/schema-builder/table/TableCheck.mjs +0 -37
  882. package/browser/esm2022/lib/typeorm/schema-builder/table/TableColumn.mjs +0 -108
  883. package/browser/esm2022/lib/typeorm/schema-builder/table/TableExclusion.mjs +0 -31
  884. package/browser/esm2022/lib/typeorm/schema-builder/table/TableForeignKey.mjs +0 -60
  885. package/browser/esm2022/lib/typeorm/schema-builder/table/TableIndex.mjs +0 -53
  886. package/browser/esm2022/lib/typeorm/schema-builder/table/TableUnique.mjs +0 -38
  887. package/browser/esm2022/lib/typeorm/schema-builder/util/TableUtils.mjs +0 -38
  888. package/browser/esm2022/lib/typeorm/schema-builder/util/ViewUtils.mjs +0 -24
  889. package/browser/esm2022/lib/typeorm/schema-builder/view/View.mjs +0 -43
  890. package/browser/esm2022/lib/typeorm/subscriber/Broadcaster.mjs +0 -596
  891. package/browser/esm2022/lib/typeorm/subscriber/BroadcasterResult.mjs +0 -27
  892. package/browser/esm2022/lib/typeorm/subscriber/EntitySubscriberInterface.mjs +0 -4
  893. package/browser/esm2022/lib/typeorm/subscriber/event/InsertEvent.mjs +0 -4
  894. package/browser/esm2022/lib/typeorm/subscriber/event/LoadEvent.mjs +0 -4
  895. package/browser/esm2022/lib/typeorm/subscriber/event/RecoverEvent.mjs +0 -4
  896. package/browser/esm2022/lib/typeorm/subscriber/event/RemoveEvent.mjs +0 -4
  897. package/browser/esm2022/lib/typeorm/subscriber/event/SoftRemoveEvent.mjs +0 -4
  898. package/browser/esm2022/lib/typeorm/subscriber/event/TransactionCommitEvent.mjs +0 -4
  899. package/browser/esm2022/lib/typeorm/subscriber/event/TransactionRollbackEvent.mjs +0 -4
  900. package/browser/esm2022/lib/typeorm/subscriber/event/TransactionStartEvent.mjs +0 -4
  901. package/browser/esm2022/lib/typeorm/subscriber/event/UpdateEvent.mjs +0 -4
  902. package/browser/esm2022/lib/typeorm/util/ApplyValueTransformers.mjs +0 -22
  903. package/browser/esm2022/lib/typeorm/util/DateUtils.mjs +0 -216
  904. package/browser/esm2022/lib/typeorm/util/DepGraph.mjs +0 -222
  905. package/browser/esm2022/lib/typeorm/util/DirectoryExportedClassesLoader.mjs +0 -76
  906. package/browser/esm2022/lib/typeorm/util/ImportUtils.mjs +0 -86
  907. package/browser/esm2022/lib/typeorm/util/InstanceChecker.mjs +0 -114
  908. package/browser/esm2022/lib/typeorm/util/ObjectUtils.mjs +0 -38
  909. package/browser/esm2022/lib/typeorm/util/OrmUtils.mjs +0 -310
  910. package/browser/esm2022/lib/typeorm/util/PathUtils.mjs +0 -38
  911. package/browser/esm2022/lib/typeorm/util/RandomGenerator.mjs +0 -150
  912. package/browser/esm2022/lib/typeorm/util/StringUtils.mjs +0 -108
  913. package/browser/esm2022/lib/typeorm/util/TreeRepositoryUtils.mjs +0 -53
  914. package/browser/esm2022/lib/typeorm/util/VersionUtils.mjs +0 -17
  915. package/browser/esm2022/lib/typeorm/util/escapeRegExp.mjs +0 -4
  916. package/browser/esm2022/public-api.mjs +0 -2
  917. package/browser/esm2022/taon-typeorm.mjs +0 -5
  918. package/client/esm2022/lib/index.mjs +0 -4
  919. package/client/esm2022/lib/typeorm/cache/DbQueryResultCache.mjs +0 -251
  920. package/client/esm2022/lib/typeorm/cache/QueryResultCache.mjs +0 -4
  921. package/client/esm2022/lib/typeorm/cache/QueryResultCacheFactory.mjs +0 -33
  922. package/client/esm2022/lib/typeorm/cache/QueryResultCacheOptions.mjs +0 -4
  923. package/client/esm2022/lib/typeorm/cache/RedisQueryResultCache.mjs +0 -185
  924. package/client/esm2022/lib/typeorm/common/DeepPartial.mjs +0 -3
  925. package/client/esm2022/lib/typeorm/common/EntityTarget.mjs +0 -3
  926. package/client/esm2022/lib/typeorm/common/MixedList.mjs +0 -3
  927. package/client/esm2022/lib/typeorm/common/ObjectLiteral.mjs +0 -4
  928. package/client/esm2022/lib/typeorm/common/ObjectType.mjs +0 -3
  929. package/client/esm2022/lib/typeorm/common/RelationType.mjs +0 -3
  930. package/client/esm2022/lib/typeorm/connection/Connection.mjs +0 -13
  931. package/client/esm2022/lib/typeorm/connection/ConnectionManager.mjs +0 -57
  932. package/client/esm2022/lib/typeorm/connection/ConnectionMetadataBuilder.mjs +0 -63
  933. package/client/esm2022/lib/typeorm/connection/ConnectionOptions.mjs +0 -3
  934. package/client/esm2022/lib/typeorm/connection/ConnectionOptionsReader.mjs +0 -237
  935. package/client/esm2022/lib/typeorm/constants.mjs +0 -4
  936. package/client/esm2022/lib/typeorm/container.mjs +0 -57
  937. package/client/esm2022/lib/typeorm/data-source/BaseDataSourceOptions.mjs +0 -4
  938. package/client/esm2022/lib/typeorm/data-source/DataSource.mjs +0 -458
  939. package/client/esm2022/lib/typeorm/data-source/DataSourceOptions.mjs +0 -11
  940. package/client/esm2022/lib/typeorm/data-source/index.mjs +0 -4
  941. package/client/esm2022/lib/typeorm/decorator/Check.mjs +0 -25
  942. package/client/esm2022/lib/typeorm/decorator/EntityRepository.mjs +0 -19
  943. package/client/esm2022/lib/typeorm/decorator/Exclusion.mjs +0 -25
  944. package/client/esm2022/lib/typeorm/decorator/Generated.mjs +0 -22
  945. package/client/esm2022/lib/typeorm/decorator/Index.mjs +0 -52
  946. package/client/esm2022/lib/typeorm/decorator/Unique.mjs +0 -48
  947. package/client/esm2022/lib/typeorm/decorator/columns/Column.mjs +0 -67
  948. package/client/esm2022/lib/typeorm/decorator/columns/CreateDateColumn.mjs +0 -19
  949. package/client/esm2022/lib/typeorm/decorator/columns/DeleteDateColumn.mjs +0 -18
  950. package/client/esm2022/lib/typeorm/decorator/columns/ObjectIdColumn.mjs +0 -23
  951. package/client/esm2022/lib/typeorm/decorator/columns/PrimaryColumn.mjs +0 -54
  952. package/client/esm2022/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.mjs +0 -52
  953. package/client/esm2022/lib/typeorm/decorator/columns/UpdateDateColumn.mjs +0 -18
  954. package/client/esm2022/lib/typeorm/decorator/columns/VersionColumn.mjs +0 -19
  955. package/client/esm2022/lib/typeorm/decorator/columns/ViewColumn.mjs +0 -17
  956. package/client/esm2022/lib/typeorm/decorator/columns/VirtualColumn.mjs +0 -41
  957. package/client/esm2022/lib/typeorm/decorator/entity/ChildEntity.mjs +0 -21
  958. package/client/esm2022/lib/typeorm/decorator/entity/Entity.mjs +0 -28
  959. package/client/esm2022/lib/typeorm/decorator/entity/TableInheritance.mjs +0 -20
  960. package/client/esm2022/lib/typeorm/decorator/entity-view/ViewEntity.mjs +0 -30
  961. package/client/esm2022/lib/typeorm/decorator/listeners/AfterInsert.mjs +0 -17
  962. package/client/esm2022/lib/typeorm/decorator/listeners/AfterLoad.mjs +0 -17
  963. package/client/esm2022/lib/typeorm/decorator/listeners/AfterRecover.mjs +0 -17
  964. package/client/esm2022/lib/typeorm/decorator/listeners/AfterRemove.mjs +0 -17
  965. package/client/esm2022/lib/typeorm/decorator/listeners/AfterSoftRemove.mjs +0 -17
  966. package/client/esm2022/lib/typeorm/decorator/listeners/AfterUpdate.mjs +0 -17
  967. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeInsert.mjs +0 -17
  968. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeRecover.mjs +0 -17
  969. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeRemove.mjs +0 -17
  970. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeSoftRemove.mjs +0 -17
  971. package/client/esm2022/lib/typeorm/decorator/listeners/BeforeUpdate.mjs +0 -17
  972. package/client/esm2022/lib/typeorm/decorator/listeners/EventSubscriber.mjs +0 -15
  973. package/client/esm2022/lib/typeorm/decorator/options/ColumnCommonOptions.mjs +0 -4
  974. package/client/esm2022/lib/typeorm/decorator/options/ColumnEmbeddedOptions.mjs +0 -4
  975. package/client/esm2022/lib/typeorm/decorator/options/ColumnEnumOptions.mjs +0 -4
  976. package/client/esm2022/lib/typeorm/decorator/options/ColumnHstoreOptions.mjs +0 -4
  977. package/client/esm2022/lib/typeorm/decorator/options/ColumnNumericOptions.mjs +0 -4
  978. package/client/esm2022/lib/typeorm/decorator/options/ColumnOptions.mjs +0 -4
  979. package/client/esm2022/lib/typeorm/decorator/options/ColumnWithLengthOptions.mjs +0 -4
  980. package/client/esm2022/lib/typeorm/decorator/options/ColumnWithWidthOptions.mjs +0 -4
  981. package/client/esm2022/lib/typeorm/decorator/options/EntityOptions.mjs +0 -4
  982. package/client/esm2022/lib/typeorm/decorator/options/IndexOptions.mjs +0 -4
  983. package/client/esm2022/lib/typeorm/decorator/options/JoinColumnOptions.mjs +0 -4
  984. package/client/esm2022/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.mjs +0 -4
  985. package/client/esm2022/lib/typeorm/decorator/options/JoinTableOptions.mjs +0 -4
  986. package/client/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.mjs +0 -4
  987. package/client/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.mjs +0 -4
  988. package/client/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.mjs +0 -4
  989. package/client/esm2022/lib/typeorm/decorator/options/RelationOptions.mjs +0 -4
  990. package/client/esm2022/lib/typeorm/decorator/options/SpatialColumnOptions.mjs +0 -4
  991. package/client/esm2022/lib/typeorm/decorator/options/UniqueOptions.mjs +0 -4
  992. package/client/esm2022/lib/typeorm/decorator/options/ValueTransformer.mjs +0 -4
  993. package/client/esm2022/lib/typeorm/decorator/options/ViewColumnOptions.mjs +0 -4
  994. package/client/esm2022/lib/typeorm/decorator/options/ViewEntityOptions.mjs +0 -4
  995. package/client/esm2022/lib/typeorm/decorator/options/VirtualColumnOptions.mjs +0 -4
  996. package/client/esm2022/lib/typeorm/decorator/relations/JoinColumn.mjs +0 -25
  997. package/client/esm2022/lib/typeorm/decorator/relations/JoinTable.mjs +0 -31
  998. package/client/esm2022/lib/typeorm/decorator/relations/ManyToMany.mjs +0 -40
  999. package/client/esm2022/lib/typeorm/decorator/relations/ManyToOne.mjs +0 -40
  1000. package/client/esm2022/lib/typeorm/decorator/relations/OneToMany.mjs +0 -32
  1001. package/client/esm2022/lib/typeorm/decorator/relations/OneToOne.mjs +0 -39
  1002. package/client/esm2022/lib/typeorm/decorator/relations/RelationCount.mjs +0 -20
  1003. package/client/esm2022/lib/typeorm/decorator/relations/RelationId.mjs +0 -20
  1004. package/client/esm2022/lib/typeorm/decorator/tree/Tree.mjs +0 -19
  1005. package/client/esm2022/lib/typeorm/decorator/tree/TreeChildren.mjs +0 -34
  1006. package/client/esm2022/lib/typeorm/decorator/tree/TreeLevelColumn.mjs +0 -17
  1007. package/client/esm2022/lib/typeorm/decorator/tree/TreeParent.mjs +0 -34
  1008. package/client/esm2022/lib/typeorm/driver/Driver.mjs +0 -4
  1009. package/client/esm2022/lib/typeorm/driver/DriverFactory.mjs +0 -99
  1010. package/client/esm2022/lib/typeorm/driver/DriverUtils.mjs +0 -213
  1011. package/client/esm2022/lib/typeorm/driver/Query.mjs +0 -13
  1012. package/client/esm2022/lib/typeorm/driver/SqlInMemory.mjs +0 -12
  1013. package/client/esm2022/lib/typeorm/driver/cordova/CordovaConnectionOptions.mjs +0 -4
  1014. package/client/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +0 -63
  1015. package/client/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +0 -152
  1016. package/client/esm2022/lib/typeorm/driver/mongodb/typings.mjs +0 -6516
  1017. package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.mjs +0 -4
  1018. package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +0 -82
  1019. package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +0 -82
  1020. package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.mjs +0 -4
  1021. package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +0 -69
  1022. package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +0 -81
  1023. package/client/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.mjs +0 -582
  1024. package/client/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.mjs +0 -1421
  1025. package/client/esm2022/lib/typeorm/driver/sqljs/SqljsConnectionOptions.mjs +0 -4
  1026. package/client/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +0 -249
  1027. package/client/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +0 -107
  1028. package/client/esm2022/lib/typeorm/driver/types/ColumnTypes.mjs +0 -3
  1029. package/client/esm2022/lib/typeorm/driver/types/CteCapabilities.mjs +0 -4
  1030. package/client/esm2022/lib/typeorm/driver/types/DataTypeDefaults.mjs +0 -4
  1031. package/client/esm2022/lib/typeorm/driver/types/DatabaseType.mjs +0 -3
  1032. package/client/esm2022/lib/typeorm/driver/types/IsolationLevel.mjs +0 -3
  1033. package/client/esm2022/lib/typeorm/driver/types/MappedColumnTypes.mjs +0 -4
  1034. package/client/esm2022/lib/typeorm/driver/types/MetadataTableType.mjs +0 -9
  1035. package/client/esm2022/lib/typeorm/driver/types/ReplicationMode.mjs +0 -3
  1036. package/client/esm2022/lib/typeorm/driver/types/UpsertType.mjs +0 -3
  1037. package/client/esm2022/lib/typeorm/entity-manager/EntityManager.mjs +0 -743
  1038. package/client/esm2022/lib/typeorm/entity-manager/EntityManagerFactory.mjs +0 -23
  1039. package/client/esm2022/lib/typeorm/entity-manager/SqljsEntityManager.mjs +0 -35
  1040. package/client/esm2022/lib/typeorm/entity-schema/EntitySchema.mjs +0 -12
  1041. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaCheckOptions.mjs +0 -4
  1042. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaColumnOptions.mjs +0 -4
  1043. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.mjs +0 -5
  1044. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.mjs +0 -15
  1045. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.mjs +0 -4
  1046. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaIndexOptions.mjs +0 -4
  1047. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaOptions.mjs +0 -8
  1048. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.mjs +0 -4
  1049. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationOptions.mjs +0 -4
  1050. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaTransformer.mjs +0 -268
  1051. package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.mjs +0 -4
  1052. package/client/esm2022/lib/typeorm/error/AlreadyHasActiveConnectionError.mjs +0 -13
  1053. package/client/esm2022/lib/typeorm/error/CannotAttachTreeChildrenEntityError.mjs +0 -13
  1054. package/client/esm2022/lib/typeorm/error/CannotConnectAlreadyConnectedError.mjs +0 -12
  1055. package/client/esm2022/lib/typeorm/error/CannotCreateEntityIdMapError.mjs +0 -18
  1056. package/client/esm2022/lib/typeorm/error/CannotDetermineEntityError.mjs +0 -13
  1057. package/client/esm2022/lib/typeorm/error/CannotExecuteNotConnectedError.mjs +0 -12
  1058. package/client/esm2022/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.mjs +0 -12
  1059. package/client/esm2022/lib/typeorm/error/CannotReflectMethodParameterTypeError.mjs +0 -15
  1060. package/client/esm2022/lib/typeorm/error/CircularRelationsError.mjs +0 -13
  1061. package/client/esm2022/lib/typeorm/error/ColumnTypeUndefinedError.mjs +0 -16
  1062. package/client/esm2022/lib/typeorm/error/ConnectionIsNotSetError.mjs +0 -12
  1063. package/client/esm2022/lib/typeorm/error/ConnectionNotFoundError.mjs +0 -12
  1064. package/client/esm2022/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.mjs +0 -15
  1065. package/client/esm2022/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.mjs +0 -15
  1066. package/client/esm2022/lib/typeorm/error/CustomRepositoryNotFoundError.mjs +0 -15
  1067. package/client/esm2022/lib/typeorm/error/DataTypeNotSupportedError.mjs +0 -11
  1068. package/client/esm2022/lib/typeorm/error/DriverOptionNotSetError.mjs +0 -13
  1069. package/client/esm2022/lib/typeorm/error/DriverPackageNotInstalledError.mjs +0 -13
  1070. package/client/esm2022/lib/typeorm/error/EntityMetadataNotFoundError.mjs +0 -26
  1071. package/client/esm2022/lib/typeorm/error/EntityNotFoundError.mjs +0 -37
  1072. package/client/esm2022/lib/typeorm/error/EntityPropertyNotFoundError.mjs +0 -14
  1073. package/client/esm2022/lib/typeorm/error/FindRelationsNotFoundError.mjs +0 -20
  1074. package/client/esm2022/lib/typeorm/error/InitializedRelationError.mjs +0 -17
  1075. package/client/esm2022/lib/typeorm/error/InsertValuesMissingError.mjs +0 -13
  1076. package/client/esm2022/lib/typeorm/error/LimitOnUpdateNotSupportedError.mjs +0 -12
  1077. package/client/esm2022/lib/typeorm/error/LockNotSupportedOnGivenDriverError.mjs +0 -12
  1078. package/client/esm2022/lib/typeorm/error/MetadataAlreadyExistsError.mjs +0 -15
  1079. package/client/esm2022/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.mjs +0 -13
  1080. package/client/esm2022/lib/typeorm/error/MissingDeleteDateColumnError.mjs +0 -9
  1081. package/client/esm2022/lib/typeorm/error/MissingDriverError.mjs +0 -13
  1082. package/client/esm2022/lib/typeorm/error/MissingJoinColumnError.mjs +0 -20
  1083. package/client/esm2022/lib/typeorm/error/MissingJoinTableError.mjs +0 -20
  1084. package/client/esm2022/lib/typeorm/error/MissingPrimaryColumnError.mjs +0 -10
  1085. package/client/esm2022/lib/typeorm/error/MustBeEntityError.mjs +0 -12
  1086. package/client/esm2022/lib/typeorm/error/NamingStrategyNotFoundError.mjs +0 -18
  1087. package/client/esm2022/lib/typeorm/error/NestedSetMultipleRootError.mjs +0 -9
  1088. package/client/esm2022/lib/typeorm/error/NoConnectionForRepositoryError.mjs +0 -13
  1089. package/client/esm2022/lib/typeorm/error/NoConnectionOptionError.mjs +0 -13
  1090. package/client/esm2022/lib/typeorm/error/NoNeedToReleaseEntityManagerError.mjs +0 -14
  1091. package/client/esm2022/lib/typeorm/error/NoVersionOrUpdateDateColumnError.mjs +0 -12
  1092. package/client/esm2022/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.mjs +0 -14
  1093. package/client/esm2022/lib/typeorm/error/OptimisticLockCanNotBeUsedError.mjs +0 -12
  1094. package/client/esm2022/lib/typeorm/error/OptimisticLockVersionMismatchError.mjs +0 -12
  1095. package/client/esm2022/lib/typeorm/error/PersistedEntityNotFoundError.mjs +0 -12
  1096. package/client/esm2022/lib/typeorm/error/PessimisticLockTransactionRequiredError.mjs +0 -12
  1097. package/client/esm2022/lib/typeorm/error/PrimaryColumnCannotBeNullableError.mjs +0 -10
  1098. package/client/esm2022/lib/typeorm/error/QueryFailedError.mjs +0 -27
  1099. package/client/esm2022/lib/typeorm/error/QueryRunnerAlreadyReleasedError.mjs +0 -9
  1100. package/client/esm2022/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.mjs +0 -13
  1101. package/client/esm2022/lib/typeorm/error/RepositoryNotTreeError.mjs +0 -29
  1102. package/client/esm2022/lib/typeorm/error/ReturningStatementNotSupportedError.mjs +0 -13
  1103. package/client/esm2022/lib/typeorm/error/SubjectRemovedAndUpdatedError.mjs +0 -13
  1104. package/client/esm2022/lib/typeorm/error/SubjectWithoutIdentifierError.mjs +0 -14
  1105. package/client/esm2022/lib/typeorm/error/TransactionAlreadyStartedError.mjs +0 -12
  1106. package/client/esm2022/lib/typeorm/error/TransactionNotStartedError.mjs +0 -12
  1107. package/client/esm2022/lib/typeorm/error/TreeRepositoryNotSupportedError.mjs +0 -9
  1108. package/client/esm2022/lib/typeorm/error/TypeORMError.mjs +0 -18
  1109. package/client/esm2022/lib/typeorm/error/UpdateValuesMissingError.mjs +0 -9
  1110. package/client/esm2022/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.mjs +0 -10
  1111. package/client/esm2022/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.mjs +0 -11
  1112. package/client/esm2022/lib/typeorm/error/UsingJoinTableIsNotAllowedError.mjs +0 -11
  1113. package/client/esm2022/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.mjs +0 -11
  1114. package/client/esm2022/lib/typeorm/error/index.mjs +0 -63
  1115. package/client/esm2022/lib/typeorm/find-options/EqualOperator.mjs +0 -10
  1116. package/client/esm2022/lib/typeorm/find-options/FindManyOptions.mjs +0 -4
  1117. package/client/esm2022/lib/typeorm/find-options/FindOneOptions.mjs +0 -4
  1118. package/client/esm2022/lib/typeorm/find-options/FindOperator.mjs +0 -74
  1119. package/client/esm2022/lib/typeorm/find-options/FindOperatorType.mjs +0 -3
  1120. package/client/esm2022/lib/typeorm/find-options/FindOptionsOrder.mjs +0 -3
  1121. package/client/esm2022/lib/typeorm/find-options/FindOptionsRelations.mjs +0 -3
  1122. package/client/esm2022/lib/typeorm/find-options/FindOptionsSelect.mjs +0 -5
  1123. package/client/esm2022/lib/typeorm/find-options/FindOptionsUtils.mjs +0 -293
  1124. package/client/esm2022/lib/typeorm/find-options/FindOptionsWhere.mjs +0 -3
  1125. package/client/esm2022/lib/typeorm/find-options/FindTreeOptions.mjs +0 -4
  1126. package/client/esm2022/lib/typeorm/find-options/JoinOptions.mjs +0 -4
  1127. package/client/esm2022/lib/typeorm/find-options/OrderByCondition.mjs +0 -3
  1128. package/client/esm2022/lib/typeorm/find-options/operator/Any.mjs +0 -11
  1129. package/client/esm2022/lib/typeorm/find-options/operator/ArrayContainedBy.mjs +0 -11
  1130. package/client/esm2022/lib/typeorm/find-options/operator/ArrayContains.mjs +0 -11
  1131. package/client/esm2022/lib/typeorm/find-options/operator/ArrayOverlap.mjs +0 -11
  1132. package/client/esm2022/lib/typeorm/find-options/operator/Between.mjs +0 -11
  1133. package/client/esm2022/lib/typeorm/find-options/operator/Equal.mjs +0 -15
  1134. package/client/esm2022/lib/typeorm/find-options/operator/ILike.mjs +0 -11
  1135. package/client/esm2022/lib/typeorm/find-options/operator/In.mjs +0 -11
  1136. package/client/esm2022/lib/typeorm/find-options/operator/IsNull.mjs +0 -11
  1137. package/client/esm2022/lib/typeorm/find-options/operator/LessThan.mjs +0 -11
  1138. package/client/esm2022/lib/typeorm/find-options/operator/LessThanOrEqual.mjs +0 -11
  1139. package/client/esm2022/lib/typeorm/find-options/operator/Like.mjs +0 -11
  1140. package/client/esm2022/lib/typeorm/find-options/operator/MoreThan.mjs +0 -11
  1141. package/client/esm2022/lib/typeorm/find-options/operator/MoreThanOrEqual.mjs +0 -11
  1142. package/client/esm2022/lib/typeorm/find-options/operator/Not.mjs +0 -12
  1143. package/client/esm2022/lib/typeorm/find-options/operator/Raw.mjs +0 -10
  1144. package/client/esm2022/lib/typeorm/globals.mjs +0 -165
  1145. package/client/esm2022/lib/typeorm/index.mjs +0 -157
  1146. package/client/esm2022/lib/typeorm/logger/AdvancedConsoleLogger.mjs +0 -109
  1147. package/client/esm2022/lib/typeorm/logger/DebugLogger.mjs +0 -94
  1148. package/client/esm2022/lib/typeorm/logger/Logger.mjs +0 -4
  1149. package/client/esm2022/lib/typeorm/logger/LoggerFactory.mjs +0 -36
  1150. package/client/esm2022/lib/typeorm/logger/LoggerOptions.mjs +0 -3
  1151. package/client/esm2022/lib/typeorm/logger/SimpleConsoleLogger.mjs +0 -108
  1152. package/client/esm2022/lib/typeorm/metadata/CheckMetadata.mjs +0 -26
  1153. package/client/esm2022/lib/typeorm/metadata/ColumnMetadata.mjs +0 -553
  1154. package/client/esm2022/lib/typeorm/metadata/EmbeddedMetadata.mjs +0 -206
  1155. package/client/esm2022/lib/typeorm/metadata/EntityListenerMetadata.mjs +0 -52
  1156. package/client/esm2022/lib/typeorm/metadata/EntityMetadata.mjs +0 -636
  1157. package/client/esm2022/lib/typeorm/metadata/ExclusionMetadata.mjs +0 -26
  1158. package/client/esm2022/lib/typeorm/metadata/ForeignKeyMetadata.mjs +0 -48
  1159. package/client/esm2022/lib/typeorm/metadata/IndexMetadata.mjs +0 -131
  1160. package/client/esm2022/lib/typeorm/metadata/RelationCountMetadata.mjs +0 -30
  1161. package/client/esm2022/lib/typeorm/metadata/RelationIdMetadata.mjs +0 -50
  1162. package/client/esm2022/lib/typeorm/metadata/RelationMetadata.mjs +0 -398
  1163. package/client/esm2022/lib/typeorm/metadata/UniqueMetadata.mjs +0 -90
  1164. package/client/esm2022/lib/typeorm/metadata/types/ClosureTreeOptions.mjs +0 -4
  1165. package/client/esm2022/lib/typeorm/metadata/types/DeferrableType.mjs +0 -3
  1166. package/client/esm2022/lib/typeorm/metadata/types/EventListenerTypes.mjs +0 -19
  1167. package/client/esm2022/lib/typeorm/metadata/types/OnDeleteType.mjs +0 -3
  1168. package/client/esm2022/lib/typeorm/metadata/types/OnUpdateType.mjs +0 -3
  1169. package/client/esm2022/lib/typeorm/metadata/types/PropertyTypeInFunction.mjs +0 -3
  1170. package/client/esm2022/lib/typeorm/metadata/types/RelationTypeInFunction.mjs +0 -3
  1171. package/client/esm2022/lib/typeorm/metadata/types/RelationTypes.mjs +0 -3
  1172. package/client/esm2022/lib/typeorm/metadata/types/TableTypes.mjs +0 -3
  1173. package/client/esm2022/lib/typeorm/metadata/types/TreeTypes.mjs +0 -3
  1174. package/client/esm2022/lib/typeorm/metadata-args/CheckMetadataArgs.mjs +0 -4
  1175. package/client/esm2022/lib/typeorm/metadata-args/ColumnMetadataArgs.mjs +0 -4
  1176. package/client/esm2022/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.mjs +0 -4
  1177. package/client/esm2022/lib/typeorm/metadata-args/EmbeddedMetadataArgs.mjs +0 -4
  1178. package/client/esm2022/lib/typeorm/metadata-args/EntityListenerMetadataArgs.mjs +0 -4
  1179. package/client/esm2022/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.mjs +0 -4
  1180. package/client/esm2022/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.mjs +0 -4
  1181. package/client/esm2022/lib/typeorm/metadata-args/ExclusionMetadataArgs.mjs +0 -4
  1182. package/client/esm2022/lib/typeorm/metadata-args/GeneratedMetadataArgs.mjs +0 -4
  1183. package/client/esm2022/lib/typeorm/metadata-args/IndexMetadataArgs.mjs +0 -4
  1184. package/client/esm2022/lib/typeorm/metadata-args/InheritanceMetadataArgs.mjs +0 -4
  1185. package/client/esm2022/lib/typeorm/metadata-args/JoinColumnMetadataArgs.mjs +0 -4
  1186. package/client/esm2022/lib/typeorm/metadata-args/JoinTableMetadataArgs.mjs +0 -4
  1187. package/client/esm2022/lib/typeorm/metadata-args/MetadataArgsStorage.mjs +0 -217
  1188. package/client/esm2022/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.mjs +0 -4
  1189. package/client/esm2022/lib/typeorm/metadata-args/RelationCountMetadataArgs.mjs +0 -4
  1190. package/client/esm2022/lib/typeorm/metadata-args/RelationIdMetadataArgs.mjs +0 -4
  1191. package/client/esm2022/lib/typeorm/metadata-args/RelationMetadataArgs.mjs +0 -4
  1192. package/client/esm2022/lib/typeorm/metadata-args/TableMetadataArgs.mjs +0 -4
  1193. package/client/esm2022/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.mjs +0 -4
  1194. package/client/esm2022/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.mjs +0 -4
  1195. package/client/esm2022/lib/typeorm/metadata-args/TreeMetadataArgs.mjs +0 -4
  1196. package/client/esm2022/lib/typeorm/metadata-args/UniqueMetadataArgs.mjs +0 -4
  1197. package/client/esm2022/lib/typeorm/metadata-args/types/ColumnMode.mjs +0 -3
  1198. package/client/esm2022/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.mjs +0 -131
  1199. package/client/esm2022/lib/typeorm/metadata-builder/EntityMetadataBuilder.mjs +0 -678
  1200. package/client/esm2022/lib/typeorm/metadata-builder/EntityMetadataValidator.mjs +0 -183
  1201. package/client/esm2022/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.mjs +0 -262
  1202. package/client/esm2022/lib/typeorm/metadata-builder/MetadataUtils.mjs +0 -41
  1203. package/client/esm2022/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.mjs +0 -167
  1204. package/client/esm2022/lib/typeorm/migration/Migration.mjs +0 -14
  1205. package/client/esm2022/lib/typeorm/migration/MigrationExecutor.mjs +0 -454
  1206. package/client/esm2022/lib/typeorm/migration/MigrationInterface.mjs +0 -4
  1207. package/client/esm2022/lib/typeorm/naming-strategy/DefaultNamingStrategy.mjs +0 -140
  1208. package/client/esm2022/lib/typeorm/naming-strategy/NamingStrategyInterface.mjs +0 -4
  1209. package/client/esm2022/lib/typeorm/persistence/EntityPersistExecutor.mjs +0 -125
  1210. package/client/esm2022/lib/typeorm/persistence/Subject.mjs +0 -212
  1211. package/client/esm2022/lib/typeorm/persistence/SubjectChangeMap.mjs +0 -4
  1212. package/client/esm2022/lib/typeorm/persistence/SubjectChangedColumnsComputer.mjs +0 -164
  1213. package/client/esm2022/lib/typeorm/persistence/SubjectDatabaseEntityLoader.mjs +0 -125
  1214. package/client/esm2022/lib/typeorm/persistence/SubjectExecutor.mjs +0 -721
  1215. package/client/esm2022/lib/typeorm/persistence/SubjectTopoligicalSorter.mjs +0 -151
  1216. package/client/esm2022/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.mjs +0 -84
  1217. package/client/esm2022/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.mjs +0 -153
  1218. package/client/esm2022/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.mjs +0 -117
  1219. package/client/esm2022/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.mjs +0 -95
  1220. package/client/esm2022/lib/typeorm/persistence/tree/ClosureSubjectExecutor.mjs +0 -220
  1221. package/client/esm2022/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.mjs +0 -97
  1222. package/client/esm2022/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.mjs +0 -250
  1223. package/client/esm2022/lib/typeorm/platform/PlatformTools.mjs +0 -346
  1224. package/client/esm2022/lib/typeorm/query-builder/Alias.mjs +0 -26
  1225. package/client/esm2022/lib/typeorm/query-builder/Brackets.mjs +0 -16
  1226. package/client/esm2022/lib/typeorm/query-builder/DeleteQueryBuilder.mjs +0 -181
  1227. package/client/esm2022/lib/typeorm/query-builder/InsertOrUpdateOptions.mjs +0 -3
  1228. package/client/esm2022/lib/typeorm/query-builder/InsertQueryBuilder.mjs +0 -651
  1229. package/client/esm2022/lib/typeorm/query-builder/JoinAttribute.mjs +0 -153
  1230. package/client/esm2022/lib/typeorm/query-builder/NotBrackets.mjs +0 -14
  1231. package/client/esm2022/lib/typeorm/query-builder/QueryBuilder.mjs +0 -967
  1232. package/client/esm2022/lib/typeorm/query-builder/QueryBuilderCte.mjs +0 -4
  1233. package/client/esm2022/lib/typeorm/query-builder/QueryBuilderUtils.mjs +0 -22
  1234. package/client/esm2022/lib/typeorm/query-builder/QueryExpressionMap.mjs +0 -309
  1235. package/client/esm2022/lib/typeorm/query-builder/QueryPartialEntity.mjs +0 -3
  1236. package/client/esm2022/lib/typeorm/query-builder/RelationIdLoader.mjs +0 -452
  1237. package/client/esm2022/lib/typeorm/query-builder/RelationLoader.mjs +0 -262
  1238. package/client/esm2022/lib/typeorm/query-builder/RelationQueryBuilder.mjs +0 -147
  1239. package/client/esm2022/lib/typeorm/query-builder/RelationRemover.mjs +0 -130
  1240. package/client/esm2022/lib/typeorm/query-builder/RelationUpdater.mjs +0 -141
  1241. package/client/esm2022/lib/typeorm/query-builder/ReturningResultsEntityUpdator.mjs +0 -141
  1242. package/client/esm2022/lib/typeorm/query-builder/SelectQuery.mjs +0 -4
  1243. package/client/esm2022/lib/typeorm/query-builder/SelectQueryBuilder.mjs +0 -2278
  1244. package/client/esm2022/lib/typeorm/query-builder/SelectQueryBuilderOption.mjs +0 -3
  1245. package/client/esm2022/lib/typeorm/query-builder/SoftDeleteQueryBuilder.mjs +0 -348
  1246. package/client/esm2022/lib/typeorm/query-builder/UpdateQueryBuilder.mjs +0 -510
  1247. package/client/esm2022/lib/typeorm/query-builder/WhereClause.mjs +0 -3
  1248. package/client/esm2022/lib/typeorm/query-builder/WhereExpressionBuilder.mjs +0 -4
  1249. package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountAttribute.mjs +0 -71
  1250. package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.mjs +0 -4
  1251. package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoader.mjs +0 -142
  1252. package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.mjs +0 -33
  1253. package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdAttribute.mjs +0 -79
  1254. package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.mjs +0 -4
  1255. package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoader.mjs +0 -247
  1256. package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.mjs +0 -33
  1257. package/client/esm2022/lib/typeorm/query-builder/result/DeleteResult.mjs +0 -14
  1258. package/client/esm2022/lib/typeorm/query-builder/result/InsertResult.mjs +0 -25
  1259. package/client/esm2022/lib/typeorm/query-builder/result/UpdateResult.mjs +0 -25
  1260. package/client/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.mjs +0 -101
  1261. package/client/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.mjs +0 -67
  1262. package/client/esm2022/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.mjs +0 -366
  1263. package/client/esm2022/lib/typeorm/query-runner/BaseQueryRunner.mjs +0 -392
  1264. package/client/esm2022/lib/typeorm/query-runner/QueryResult.mjs +0 -14
  1265. package/client/esm2022/lib/typeorm/query-runner/QueryRunner.mjs +0 -4
  1266. package/client/esm2022/lib/typeorm/repository/AbstractRepository.mjs +0 -80
  1267. package/client/esm2022/lib/typeorm/repository/BaseEntity.mjs +0 -283
  1268. package/client/esm2022/lib/typeorm/repository/FindTreesOptions.mjs +0 -4
  1269. package/client/esm2022/lib/typeorm/repository/RemoveOptions.mjs +0 -4
  1270. package/client/esm2022/lib/typeorm/repository/Repository.mjs +0 -275
  1271. package/client/esm2022/lib/typeorm/repository/SaveOptions.mjs +0 -4
  1272. package/client/esm2022/lib/typeorm/repository/TreeRepository.mjs +0 -254
  1273. package/client/esm2022/lib/typeorm/repository/UpsertOptions.mjs +0 -7
  1274. package/client/esm2022/lib/typeorm/schema-builder/RdbmsSchemaBuilder.mjs +0 -770
  1275. package/client/esm2022/lib/typeorm/schema-builder/SchemaBuilder.mjs +0 -4
  1276. package/client/esm2022/lib/typeorm/schema-builder/options/TableCheckOptions.mjs +0 -4
  1277. package/client/esm2022/lib/typeorm/schema-builder/options/TableColumnOptions.mjs +0 -4
  1278. package/client/esm2022/lib/typeorm/schema-builder/options/TableExclusionOptions.mjs +0 -4
  1279. package/client/esm2022/lib/typeorm/schema-builder/options/TableForeignKeyOptions.mjs +0 -4
  1280. package/client/esm2022/lib/typeorm/schema-builder/options/TableIndexOptions.mjs +0 -4
  1281. package/client/esm2022/lib/typeorm/schema-builder/options/TableOptions.mjs +0 -4
  1282. package/client/esm2022/lib/typeorm/schema-builder/options/TableUniqueOptions.mjs +0 -4
  1283. package/client/esm2022/lib/typeorm/schema-builder/options/ViewOptions.mjs +0 -4
  1284. package/client/esm2022/lib/typeorm/schema-builder/table/Table.mjs +0 -274
  1285. package/client/esm2022/lib/typeorm/schema-builder/table/TableCheck.mjs +0 -37
  1286. package/client/esm2022/lib/typeorm/schema-builder/table/TableColumn.mjs +0 -108
  1287. package/client/esm2022/lib/typeorm/schema-builder/table/TableExclusion.mjs +0 -31
  1288. package/client/esm2022/lib/typeorm/schema-builder/table/TableForeignKey.mjs +0 -60
  1289. package/client/esm2022/lib/typeorm/schema-builder/table/TableIndex.mjs +0 -53
  1290. package/client/esm2022/lib/typeorm/schema-builder/table/TableUnique.mjs +0 -38
  1291. package/client/esm2022/lib/typeorm/schema-builder/util/TableUtils.mjs +0 -38
  1292. package/client/esm2022/lib/typeorm/schema-builder/util/ViewUtils.mjs +0 -24
  1293. package/client/esm2022/lib/typeorm/schema-builder/view/View.mjs +0 -43
  1294. package/client/esm2022/lib/typeorm/subscriber/Broadcaster.mjs +0 -596
  1295. package/client/esm2022/lib/typeorm/subscriber/BroadcasterResult.mjs +0 -27
  1296. package/client/esm2022/lib/typeorm/subscriber/EntitySubscriberInterface.mjs +0 -4
  1297. package/client/esm2022/lib/typeorm/subscriber/event/InsertEvent.mjs +0 -4
  1298. package/client/esm2022/lib/typeorm/subscriber/event/LoadEvent.mjs +0 -4
  1299. package/client/esm2022/lib/typeorm/subscriber/event/RecoverEvent.mjs +0 -4
  1300. package/client/esm2022/lib/typeorm/subscriber/event/RemoveEvent.mjs +0 -4
  1301. package/client/esm2022/lib/typeorm/subscriber/event/SoftRemoveEvent.mjs +0 -4
  1302. package/client/esm2022/lib/typeorm/subscriber/event/TransactionCommitEvent.mjs +0 -4
  1303. package/client/esm2022/lib/typeorm/subscriber/event/TransactionRollbackEvent.mjs +0 -4
  1304. package/client/esm2022/lib/typeorm/subscriber/event/TransactionStartEvent.mjs +0 -4
  1305. package/client/esm2022/lib/typeorm/subscriber/event/UpdateEvent.mjs +0 -4
  1306. package/client/esm2022/lib/typeorm/util/ApplyValueTransformers.mjs +0 -22
  1307. package/client/esm2022/lib/typeorm/util/DateUtils.mjs +0 -216
  1308. package/client/esm2022/lib/typeorm/util/DepGraph.mjs +0 -222
  1309. package/client/esm2022/lib/typeorm/util/DirectoryExportedClassesLoader.mjs +0 -76
  1310. package/client/esm2022/lib/typeorm/util/ImportUtils.mjs +0 -86
  1311. package/client/esm2022/lib/typeorm/util/InstanceChecker.mjs +0 -114
  1312. package/client/esm2022/lib/typeorm/util/ObjectUtils.mjs +0 -38
  1313. package/client/esm2022/lib/typeorm/util/OrmUtils.mjs +0 -310
  1314. package/client/esm2022/lib/typeorm/util/PathUtils.mjs +0 -38
  1315. package/client/esm2022/lib/typeorm/util/RandomGenerator.mjs +0 -150
  1316. package/client/esm2022/lib/typeorm/util/StringUtils.mjs +0 -108
  1317. package/client/esm2022/lib/typeorm/util/TreeRepositoryUtils.mjs +0 -53
  1318. package/client/esm2022/lib/typeorm/util/VersionUtils.mjs +0 -17
  1319. package/client/esm2022/lib/typeorm/util/escapeRegExp.mjs +0 -4
  1320. package/client/esm2022/public-api.mjs +0 -2
  1321. package/client/esm2022/taon-typeorm.mjs +0 -5
  1322. package/websql/esm2022/lib/index.mjs +0 -4
  1323. package/websql/esm2022/lib/typeorm/cache/DbQueryResultCache.mjs +0 -251
  1324. package/websql/esm2022/lib/typeorm/cache/QueryResultCache.mjs +0 -4
  1325. package/websql/esm2022/lib/typeorm/cache/QueryResultCacheFactory.mjs +0 -33
  1326. package/websql/esm2022/lib/typeorm/cache/QueryResultCacheOptions.mjs +0 -4
  1327. package/websql/esm2022/lib/typeorm/cache/RedisQueryResultCache.mjs +0 -185
  1328. package/websql/esm2022/lib/typeorm/common/DeepPartial.mjs +0 -3
  1329. package/websql/esm2022/lib/typeorm/common/EntityTarget.mjs +0 -3
  1330. package/websql/esm2022/lib/typeorm/common/MixedList.mjs +0 -3
  1331. package/websql/esm2022/lib/typeorm/common/ObjectLiteral.mjs +0 -4
  1332. package/websql/esm2022/lib/typeorm/common/ObjectType.mjs +0 -3
  1333. package/websql/esm2022/lib/typeorm/common/RelationType.mjs +0 -3
  1334. package/websql/esm2022/lib/typeorm/connection/Connection.mjs +0 -13
  1335. package/websql/esm2022/lib/typeorm/connection/ConnectionManager.mjs +0 -57
  1336. package/websql/esm2022/lib/typeorm/connection/ConnectionMetadataBuilder.mjs +0 -63
  1337. package/websql/esm2022/lib/typeorm/connection/ConnectionOptions.mjs +0 -3
  1338. package/websql/esm2022/lib/typeorm/connection/ConnectionOptionsReader.mjs +0 -237
  1339. package/websql/esm2022/lib/typeorm/constants.mjs +0 -4
  1340. package/websql/esm2022/lib/typeorm/container.mjs +0 -57
  1341. package/websql/esm2022/lib/typeorm/data-source/BaseDataSourceOptions.mjs +0 -4
  1342. package/websql/esm2022/lib/typeorm/data-source/DataSource.mjs +0 -458
  1343. package/websql/esm2022/lib/typeorm/data-source/DataSourceOptions.mjs +0 -11
  1344. package/websql/esm2022/lib/typeorm/data-source/index.mjs +0 -4
  1345. package/websql/esm2022/lib/typeorm/decorator/Check.mjs +0 -25
  1346. package/websql/esm2022/lib/typeorm/decorator/EntityRepository.mjs +0 -19
  1347. package/websql/esm2022/lib/typeorm/decorator/Exclusion.mjs +0 -25
  1348. package/websql/esm2022/lib/typeorm/decorator/Generated.mjs +0 -22
  1349. package/websql/esm2022/lib/typeorm/decorator/Index.mjs +0 -52
  1350. package/websql/esm2022/lib/typeorm/decorator/Unique.mjs +0 -48
  1351. package/websql/esm2022/lib/typeorm/decorator/columns/Column.mjs +0 -67
  1352. package/websql/esm2022/lib/typeorm/decorator/columns/CreateDateColumn.mjs +0 -19
  1353. package/websql/esm2022/lib/typeorm/decorator/columns/DeleteDateColumn.mjs +0 -18
  1354. package/websql/esm2022/lib/typeorm/decorator/columns/ObjectIdColumn.mjs +0 -23
  1355. package/websql/esm2022/lib/typeorm/decorator/columns/PrimaryColumn.mjs +0 -54
  1356. package/websql/esm2022/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.mjs +0 -52
  1357. package/websql/esm2022/lib/typeorm/decorator/columns/UpdateDateColumn.mjs +0 -18
  1358. package/websql/esm2022/lib/typeorm/decorator/columns/VersionColumn.mjs +0 -19
  1359. package/websql/esm2022/lib/typeorm/decorator/columns/ViewColumn.mjs +0 -17
  1360. package/websql/esm2022/lib/typeorm/decorator/columns/VirtualColumn.mjs +0 -41
  1361. package/websql/esm2022/lib/typeorm/decorator/entity/ChildEntity.mjs +0 -21
  1362. package/websql/esm2022/lib/typeorm/decorator/entity/Entity.mjs +0 -28
  1363. package/websql/esm2022/lib/typeorm/decorator/entity/TableInheritance.mjs +0 -20
  1364. package/websql/esm2022/lib/typeorm/decorator/entity-view/ViewEntity.mjs +0 -30
  1365. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterInsert.mjs +0 -17
  1366. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterLoad.mjs +0 -17
  1367. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterRecover.mjs +0 -17
  1368. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterRemove.mjs +0 -17
  1369. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterSoftRemove.mjs +0 -17
  1370. package/websql/esm2022/lib/typeorm/decorator/listeners/AfterUpdate.mjs +0 -17
  1371. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeInsert.mjs +0 -17
  1372. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeRecover.mjs +0 -17
  1373. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeRemove.mjs +0 -17
  1374. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeSoftRemove.mjs +0 -17
  1375. package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeUpdate.mjs +0 -17
  1376. package/websql/esm2022/lib/typeorm/decorator/listeners/EventSubscriber.mjs +0 -15
  1377. package/websql/esm2022/lib/typeorm/decorator/options/ColumnCommonOptions.mjs +0 -4
  1378. package/websql/esm2022/lib/typeorm/decorator/options/ColumnEmbeddedOptions.mjs +0 -4
  1379. package/websql/esm2022/lib/typeorm/decorator/options/ColumnEnumOptions.mjs +0 -4
  1380. package/websql/esm2022/lib/typeorm/decorator/options/ColumnHstoreOptions.mjs +0 -4
  1381. package/websql/esm2022/lib/typeorm/decorator/options/ColumnNumericOptions.mjs +0 -4
  1382. package/websql/esm2022/lib/typeorm/decorator/options/ColumnOptions.mjs +0 -4
  1383. package/websql/esm2022/lib/typeorm/decorator/options/ColumnWithLengthOptions.mjs +0 -4
  1384. package/websql/esm2022/lib/typeorm/decorator/options/ColumnWithWidthOptions.mjs +0 -4
  1385. package/websql/esm2022/lib/typeorm/decorator/options/EntityOptions.mjs +0 -4
  1386. package/websql/esm2022/lib/typeorm/decorator/options/IndexOptions.mjs +0 -4
  1387. package/websql/esm2022/lib/typeorm/decorator/options/JoinColumnOptions.mjs +0 -4
  1388. package/websql/esm2022/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.mjs +0 -4
  1389. package/websql/esm2022/lib/typeorm/decorator/options/JoinTableOptions.mjs +0 -4
  1390. package/websql/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.mjs +0 -4
  1391. package/websql/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.mjs +0 -4
  1392. package/websql/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.mjs +0 -4
  1393. package/websql/esm2022/lib/typeorm/decorator/options/RelationOptions.mjs +0 -4
  1394. package/websql/esm2022/lib/typeorm/decorator/options/SpatialColumnOptions.mjs +0 -4
  1395. package/websql/esm2022/lib/typeorm/decorator/options/UniqueOptions.mjs +0 -4
  1396. package/websql/esm2022/lib/typeorm/decorator/options/ValueTransformer.mjs +0 -4
  1397. package/websql/esm2022/lib/typeorm/decorator/options/ViewColumnOptions.mjs +0 -4
  1398. package/websql/esm2022/lib/typeorm/decorator/options/ViewEntityOptions.mjs +0 -4
  1399. package/websql/esm2022/lib/typeorm/decorator/options/VirtualColumnOptions.mjs +0 -4
  1400. package/websql/esm2022/lib/typeorm/decorator/relations/JoinColumn.mjs +0 -25
  1401. package/websql/esm2022/lib/typeorm/decorator/relations/JoinTable.mjs +0 -31
  1402. package/websql/esm2022/lib/typeorm/decorator/relations/ManyToMany.mjs +0 -40
  1403. package/websql/esm2022/lib/typeorm/decorator/relations/ManyToOne.mjs +0 -40
  1404. package/websql/esm2022/lib/typeorm/decorator/relations/OneToMany.mjs +0 -32
  1405. package/websql/esm2022/lib/typeorm/decorator/relations/OneToOne.mjs +0 -39
  1406. package/websql/esm2022/lib/typeorm/decorator/relations/RelationCount.mjs +0 -20
  1407. package/websql/esm2022/lib/typeorm/decorator/relations/RelationId.mjs +0 -20
  1408. package/websql/esm2022/lib/typeorm/decorator/tree/Tree.mjs +0 -19
  1409. package/websql/esm2022/lib/typeorm/decorator/tree/TreeChildren.mjs +0 -34
  1410. package/websql/esm2022/lib/typeorm/decorator/tree/TreeLevelColumn.mjs +0 -17
  1411. package/websql/esm2022/lib/typeorm/decorator/tree/TreeParent.mjs +0 -34
  1412. package/websql/esm2022/lib/typeorm/driver/Driver.mjs +0 -4
  1413. package/websql/esm2022/lib/typeorm/driver/DriverFactory.mjs +0 -99
  1414. package/websql/esm2022/lib/typeorm/driver/DriverUtils.mjs +0 -213
  1415. package/websql/esm2022/lib/typeorm/driver/Query.mjs +0 -13
  1416. package/websql/esm2022/lib/typeorm/driver/SqlInMemory.mjs +0 -12
  1417. package/websql/esm2022/lib/typeorm/driver/cordova/CordovaConnectionOptions.mjs +0 -4
  1418. package/websql/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +0 -63
  1419. package/websql/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +0 -152
  1420. package/websql/esm2022/lib/typeorm/driver/mongodb/typings.mjs +0 -6516
  1421. package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.mjs +0 -4
  1422. package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +0 -82
  1423. package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +0 -82
  1424. package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.mjs +0 -4
  1425. package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +0 -69
  1426. package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +0 -81
  1427. package/websql/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.mjs +0 -582
  1428. package/websql/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.mjs +0 -1421
  1429. package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsConnectionOptions.mjs +0 -4
  1430. package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +0 -249
  1431. package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +0 -107
  1432. package/websql/esm2022/lib/typeorm/driver/types/ColumnTypes.mjs +0 -3
  1433. package/websql/esm2022/lib/typeorm/driver/types/CteCapabilities.mjs +0 -4
  1434. package/websql/esm2022/lib/typeorm/driver/types/DataTypeDefaults.mjs +0 -4
  1435. package/websql/esm2022/lib/typeorm/driver/types/DatabaseType.mjs +0 -3
  1436. package/websql/esm2022/lib/typeorm/driver/types/IsolationLevel.mjs +0 -3
  1437. package/websql/esm2022/lib/typeorm/driver/types/MappedColumnTypes.mjs +0 -4
  1438. package/websql/esm2022/lib/typeorm/driver/types/MetadataTableType.mjs +0 -9
  1439. package/websql/esm2022/lib/typeorm/driver/types/ReplicationMode.mjs +0 -3
  1440. package/websql/esm2022/lib/typeorm/driver/types/UpsertType.mjs +0 -3
  1441. package/websql/esm2022/lib/typeorm/entity-manager/EntityManager.mjs +0 -743
  1442. package/websql/esm2022/lib/typeorm/entity-manager/EntityManagerFactory.mjs +0 -23
  1443. package/websql/esm2022/lib/typeorm/entity-manager/SqljsEntityManager.mjs +0 -35
  1444. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchema.mjs +0 -12
  1445. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaCheckOptions.mjs +0 -4
  1446. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaColumnOptions.mjs +0 -4
  1447. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.mjs +0 -5
  1448. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.mjs +0 -15
  1449. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.mjs +0 -4
  1450. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaIndexOptions.mjs +0 -4
  1451. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaOptions.mjs +0 -8
  1452. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.mjs +0 -4
  1453. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationOptions.mjs +0 -4
  1454. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaTransformer.mjs +0 -268
  1455. package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.mjs +0 -4
  1456. package/websql/esm2022/lib/typeorm/error/AlreadyHasActiveConnectionError.mjs +0 -13
  1457. package/websql/esm2022/lib/typeorm/error/CannotAttachTreeChildrenEntityError.mjs +0 -13
  1458. package/websql/esm2022/lib/typeorm/error/CannotConnectAlreadyConnectedError.mjs +0 -12
  1459. package/websql/esm2022/lib/typeorm/error/CannotCreateEntityIdMapError.mjs +0 -18
  1460. package/websql/esm2022/lib/typeorm/error/CannotDetermineEntityError.mjs +0 -13
  1461. package/websql/esm2022/lib/typeorm/error/CannotExecuteNotConnectedError.mjs +0 -12
  1462. package/websql/esm2022/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.mjs +0 -12
  1463. package/websql/esm2022/lib/typeorm/error/CannotReflectMethodParameterTypeError.mjs +0 -15
  1464. package/websql/esm2022/lib/typeorm/error/CircularRelationsError.mjs +0 -13
  1465. package/websql/esm2022/lib/typeorm/error/ColumnTypeUndefinedError.mjs +0 -16
  1466. package/websql/esm2022/lib/typeorm/error/ConnectionIsNotSetError.mjs +0 -12
  1467. package/websql/esm2022/lib/typeorm/error/ConnectionNotFoundError.mjs +0 -12
  1468. package/websql/esm2022/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.mjs +0 -15
  1469. package/websql/esm2022/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.mjs +0 -15
  1470. package/websql/esm2022/lib/typeorm/error/CustomRepositoryNotFoundError.mjs +0 -15
  1471. package/websql/esm2022/lib/typeorm/error/DataTypeNotSupportedError.mjs +0 -11
  1472. package/websql/esm2022/lib/typeorm/error/DriverOptionNotSetError.mjs +0 -13
  1473. package/websql/esm2022/lib/typeorm/error/DriverPackageNotInstalledError.mjs +0 -13
  1474. package/websql/esm2022/lib/typeorm/error/EntityMetadataNotFoundError.mjs +0 -26
  1475. package/websql/esm2022/lib/typeorm/error/EntityNotFoundError.mjs +0 -37
  1476. package/websql/esm2022/lib/typeorm/error/EntityPropertyNotFoundError.mjs +0 -14
  1477. package/websql/esm2022/lib/typeorm/error/FindRelationsNotFoundError.mjs +0 -20
  1478. package/websql/esm2022/lib/typeorm/error/InitializedRelationError.mjs +0 -17
  1479. package/websql/esm2022/lib/typeorm/error/InsertValuesMissingError.mjs +0 -13
  1480. package/websql/esm2022/lib/typeorm/error/LimitOnUpdateNotSupportedError.mjs +0 -12
  1481. package/websql/esm2022/lib/typeorm/error/LockNotSupportedOnGivenDriverError.mjs +0 -12
  1482. package/websql/esm2022/lib/typeorm/error/MetadataAlreadyExistsError.mjs +0 -15
  1483. package/websql/esm2022/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.mjs +0 -13
  1484. package/websql/esm2022/lib/typeorm/error/MissingDeleteDateColumnError.mjs +0 -9
  1485. package/websql/esm2022/lib/typeorm/error/MissingDriverError.mjs +0 -13
  1486. package/websql/esm2022/lib/typeorm/error/MissingJoinColumnError.mjs +0 -20
  1487. package/websql/esm2022/lib/typeorm/error/MissingJoinTableError.mjs +0 -20
  1488. package/websql/esm2022/lib/typeorm/error/MissingPrimaryColumnError.mjs +0 -10
  1489. package/websql/esm2022/lib/typeorm/error/MustBeEntityError.mjs +0 -12
  1490. package/websql/esm2022/lib/typeorm/error/NamingStrategyNotFoundError.mjs +0 -18
  1491. package/websql/esm2022/lib/typeorm/error/NestedSetMultipleRootError.mjs +0 -9
  1492. package/websql/esm2022/lib/typeorm/error/NoConnectionForRepositoryError.mjs +0 -13
  1493. package/websql/esm2022/lib/typeorm/error/NoConnectionOptionError.mjs +0 -13
  1494. package/websql/esm2022/lib/typeorm/error/NoNeedToReleaseEntityManagerError.mjs +0 -14
  1495. package/websql/esm2022/lib/typeorm/error/NoVersionOrUpdateDateColumnError.mjs +0 -12
  1496. package/websql/esm2022/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.mjs +0 -14
  1497. package/websql/esm2022/lib/typeorm/error/OptimisticLockCanNotBeUsedError.mjs +0 -12
  1498. package/websql/esm2022/lib/typeorm/error/OptimisticLockVersionMismatchError.mjs +0 -12
  1499. package/websql/esm2022/lib/typeorm/error/PersistedEntityNotFoundError.mjs +0 -12
  1500. package/websql/esm2022/lib/typeorm/error/PessimisticLockTransactionRequiredError.mjs +0 -12
  1501. package/websql/esm2022/lib/typeorm/error/PrimaryColumnCannotBeNullableError.mjs +0 -10
  1502. package/websql/esm2022/lib/typeorm/error/QueryFailedError.mjs +0 -27
  1503. package/websql/esm2022/lib/typeorm/error/QueryRunnerAlreadyReleasedError.mjs +0 -9
  1504. package/websql/esm2022/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.mjs +0 -13
  1505. package/websql/esm2022/lib/typeorm/error/RepositoryNotTreeError.mjs +0 -29
  1506. package/websql/esm2022/lib/typeorm/error/ReturningStatementNotSupportedError.mjs +0 -13
  1507. package/websql/esm2022/lib/typeorm/error/SubjectRemovedAndUpdatedError.mjs +0 -13
  1508. package/websql/esm2022/lib/typeorm/error/SubjectWithoutIdentifierError.mjs +0 -14
  1509. package/websql/esm2022/lib/typeorm/error/TransactionAlreadyStartedError.mjs +0 -12
  1510. package/websql/esm2022/lib/typeorm/error/TransactionNotStartedError.mjs +0 -12
  1511. package/websql/esm2022/lib/typeorm/error/TreeRepositoryNotSupportedError.mjs +0 -9
  1512. package/websql/esm2022/lib/typeorm/error/TypeORMError.mjs +0 -18
  1513. package/websql/esm2022/lib/typeorm/error/UpdateValuesMissingError.mjs +0 -9
  1514. package/websql/esm2022/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.mjs +0 -10
  1515. package/websql/esm2022/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.mjs +0 -11
  1516. package/websql/esm2022/lib/typeorm/error/UsingJoinTableIsNotAllowedError.mjs +0 -11
  1517. package/websql/esm2022/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.mjs +0 -11
  1518. package/websql/esm2022/lib/typeorm/error/index.mjs +0 -63
  1519. package/websql/esm2022/lib/typeorm/find-options/EqualOperator.mjs +0 -10
  1520. package/websql/esm2022/lib/typeorm/find-options/FindManyOptions.mjs +0 -4
  1521. package/websql/esm2022/lib/typeorm/find-options/FindOneOptions.mjs +0 -4
  1522. package/websql/esm2022/lib/typeorm/find-options/FindOperator.mjs +0 -74
  1523. package/websql/esm2022/lib/typeorm/find-options/FindOperatorType.mjs +0 -3
  1524. package/websql/esm2022/lib/typeorm/find-options/FindOptionsOrder.mjs +0 -3
  1525. package/websql/esm2022/lib/typeorm/find-options/FindOptionsRelations.mjs +0 -3
  1526. package/websql/esm2022/lib/typeorm/find-options/FindOptionsSelect.mjs +0 -5
  1527. package/websql/esm2022/lib/typeorm/find-options/FindOptionsUtils.mjs +0 -293
  1528. package/websql/esm2022/lib/typeorm/find-options/FindOptionsWhere.mjs +0 -3
  1529. package/websql/esm2022/lib/typeorm/find-options/FindTreeOptions.mjs +0 -4
  1530. package/websql/esm2022/lib/typeorm/find-options/JoinOptions.mjs +0 -4
  1531. package/websql/esm2022/lib/typeorm/find-options/OrderByCondition.mjs +0 -3
  1532. package/websql/esm2022/lib/typeorm/find-options/operator/Any.mjs +0 -11
  1533. package/websql/esm2022/lib/typeorm/find-options/operator/ArrayContainedBy.mjs +0 -11
  1534. package/websql/esm2022/lib/typeorm/find-options/operator/ArrayContains.mjs +0 -11
  1535. package/websql/esm2022/lib/typeorm/find-options/operator/ArrayOverlap.mjs +0 -11
  1536. package/websql/esm2022/lib/typeorm/find-options/operator/Between.mjs +0 -11
  1537. package/websql/esm2022/lib/typeorm/find-options/operator/Equal.mjs +0 -15
  1538. package/websql/esm2022/lib/typeorm/find-options/operator/ILike.mjs +0 -11
  1539. package/websql/esm2022/lib/typeorm/find-options/operator/In.mjs +0 -11
  1540. package/websql/esm2022/lib/typeorm/find-options/operator/IsNull.mjs +0 -11
  1541. package/websql/esm2022/lib/typeorm/find-options/operator/LessThan.mjs +0 -11
  1542. package/websql/esm2022/lib/typeorm/find-options/operator/LessThanOrEqual.mjs +0 -11
  1543. package/websql/esm2022/lib/typeorm/find-options/operator/Like.mjs +0 -11
  1544. package/websql/esm2022/lib/typeorm/find-options/operator/MoreThan.mjs +0 -11
  1545. package/websql/esm2022/lib/typeorm/find-options/operator/MoreThanOrEqual.mjs +0 -11
  1546. package/websql/esm2022/lib/typeorm/find-options/operator/Not.mjs +0 -12
  1547. package/websql/esm2022/lib/typeorm/find-options/operator/Raw.mjs +0 -10
  1548. package/websql/esm2022/lib/typeorm/globals.mjs +0 -165
  1549. package/websql/esm2022/lib/typeorm/index.mjs +0 -157
  1550. package/websql/esm2022/lib/typeorm/logger/AdvancedConsoleLogger.mjs +0 -109
  1551. package/websql/esm2022/lib/typeorm/logger/DebugLogger.mjs +0 -94
  1552. package/websql/esm2022/lib/typeorm/logger/Logger.mjs +0 -4
  1553. package/websql/esm2022/lib/typeorm/logger/LoggerFactory.mjs +0 -36
  1554. package/websql/esm2022/lib/typeorm/logger/LoggerOptions.mjs +0 -3
  1555. package/websql/esm2022/lib/typeorm/logger/SimpleConsoleLogger.mjs +0 -108
  1556. package/websql/esm2022/lib/typeorm/metadata/CheckMetadata.mjs +0 -26
  1557. package/websql/esm2022/lib/typeorm/metadata/ColumnMetadata.mjs +0 -553
  1558. package/websql/esm2022/lib/typeorm/metadata/EmbeddedMetadata.mjs +0 -206
  1559. package/websql/esm2022/lib/typeorm/metadata/EntityListenerMetadata.mjs +0 -52
  1560. package/websql/esm2022/lib/typeorm/metadata/EntityMetadata.mjs +0 -636
  1561. package/websql/esm2022/lib/typeorm/metadata/ExclusionMetadata.mjs +0 -26
  1562. package/websql/esm2022/lib/typeorm/metadata/ForeignKeyMetadata.mjs +0 -48
  1563. package/websql/esm2022/lib/typeorm/metadata/IndexMetadata.mjs +0 -131
  1564. package/websql/esm2022/lib/typeorm/metadata/RelationCountMetadata.mjs +0 -30
  1565. package/websql/esm2022/lib/typeorm/metadata/RelationIdMetadata.mjs +0 -50
  1566. package/websql/esm2022/lib/typeorm/metadata/RelationMetadata.mjs +0 -398
  1567. package/websql/esm2022/lib/typeorm/metadata/UniqueMetadata.mjs +0 -90
  1568. package/websql/esm2022/lib/typeorm/metadata/types/ClosureTreeOptions.mjs +0 -4
  1569. package/websql/esm2022/lib/typeorm/metadata/types/DeferrableType.mjs +0 -3
  1570. package/websql/esm2022/lib/typeorm/metadata/types/EventListenerTypes.mjs +0 -19
  1571. package/websql/esm2022/lib/typeorm/metadata/types/OnDeleteType.mjs +0 -3
  1572. package/websql/esm2022/lib/typeorm/metadata/types/OnUpdateType.mjs +0 -3
  1573. package/websql/esm2022/lib/typeorm/metadata/types/PropertyTypeInFunction.mjs +0 -3
  1574. package/websql/esm2022/lib/typeorm/metadata/types/RelationTypeInFunction.mjs +0 -3
  1575. package/websql/esm2022/lib/typeorm/metadata/types/RelationTypes.mjs +0 -3
  1576. package/websql/esm2022/lib/typeorm/metadata/types/TableTypes.mjs +0 -3
  1577. package/websql/esm2022/lib/typeorm/metadata/types/TreeTypes.mjs +0 -3
  1578. package/websql/esm2022/lib/typeorm/metadata-args/CheckMetadataArgs.mjs +0 -4
  1579. package/websql/esm2022/lib/typeorm/metadata-args/ColumnMetadataArgs.mjs +0 -4
  1580. package/websql/esm2022/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.mjs +0 -4
  1581. package/websql/esm2022/lib/typeorm/metadata-args/EmbeddedMetadataArgs.mjs +0 -4
  1582. package/websql/esm2022/lib/typeorm/metadata-args/EntityListenerMetadataArgs.mjs +0 -4
  1583. package/websql/esm2022/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.mjs +0 -4
  1584. package/websql/esm2022/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.mjs +0 -4
  1585. package/websql/esm2022/lib/typeorm/metadata-args/ExclusionMetadataArgs.mjs +0 -4
  1586. package/websql/esm2022/lib/typeorm/metadata-args/GeneratedMetadataArgs.mjs +0 -4
  1587. package/websql/esm2022/lib/typeorm/metadata-args/IndexMetadataArgs.mjs +0 -4
  1588. package/websql/esm2022/lib/typeorm/metadata-args/InheritanceMetadataArgs.mjs +0 -4
  1589. package/websql/esm2022/lib/typeorm/metadata-args/JoinColumnMetadataArgs.mjs +0 -4
  1590. package/websql/esm2022/lib/typeorm/metadata-args/JoinTableMetadataArgs.mjs +0 -4
  1591. package/websql/esm2022/lib/typeorm/metadata-args/MetadataArgsStorage.mjs +0 -217
  1592. package/websql/esm2022/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.mjs +0 -4
  1593. package/websql/esm2022/lib/typeorm/metadata-args/RelationCountMetadataArgs.mjs +0 -4
  1594. package/websql/esm2022/lib/typeorm/metadata-args/RelationIdMetadataArgs.mjs +0 -4
  1595. package/websql/esm2022/lib/typeorm/metadata-args/RelationMetadataArgs.mjs +0 -4
  1596. package/websql/esm2022/lib/typeorm/metadata-args/TableMetadataArgs.mjs +0 -4
  1597. package/websql/esm2022/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.mjs +0 -4
  1598. package/websql/esm2022/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.mjs +0 -4
  1599. package/websql/esm2022/lib/typeorm/metadata-args/TreeMetadataArgs.mjs +0 -4
  1600. package/websql/esm2022/lib/typeorm/metadata-args/UniqueMetadataArgs.mjs +0 -4
  1601. package/websql/esm2022/lib/typeorm/metadata-args/types/ColumnMode.mjs +0 -3
  1602. package/websql/esm2022/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.mjs +0 -131
  1603. package/websql/esm2022/lib/typeorm/metadata-builder/EntityMetadataBuilder.mjs +0 -678
  1604. package/websql/esm2022/lib/typeorm/metadata-builder/EntityMetadataValidator.mjs +0 -183
  1605. package/websql/esm2022/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.mjs +0 -262
  1606. package/websql/esm2022/lib/typeorm/metadata-builder/MetadataUtils.mjs +0 -41
  1607. package/websql/esm2022/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.mjs +0 -167
  1608. package/websql/esm2022/lib/typeorm/migration/Migration.mjs +0 -14
  1609. package/websql/esm2022/lib/typeorm/migration/MigrationExecutor.mjs +0 -454
  1610. package/websql/esm2022/lib/typeorm/migration/MigrationInterface.mjs +0 -4
  1611. package/websql/esm2022/lib/typeorm/naming-strategy/DefaultNamingStrategy.mjs +0 -140
  1612. package/websql/esm2022/lib/typeorm/naming-strategy/NamingStrategyInterface.mjs +0 -4
  1613. package/websql/esm2022/lib/typeorm/persistence/EntityPersistExecutor.mjs +0 -125
  1614. package/websql/esm2022/lib/typeorm/persistence/Subject.mjs +0 -212
  1615. package/websql/esm2022/lib/typeorm/persistence/SubjectChangeMap.mjs +0 -4
  1616. package/websql/esm2022/lib/typeorm/persistence/SubjectChangedColumnsComputer.mjs +0 -164
  1617. package/websql/esm2022/lib/typeorm/persistence/SubjectDatabaseEntityLoader.mjs +0 -125
  1618. package/websql/esm2022/lib/typeorm/persistence/SubjectExecutor.mjs +0 -721
  1619. package/websql/esm2022/lib/typeorm/persistence/SubjectTopoligicalSorter.mjs +0 -151
  1620. package/websql/esm2022/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.mjs +0 -84
  1621. package/websql/esm2022/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.mjs +0 -153
  1622. package/websql/esm2022/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.mjs +0 -117
  1623. package/websql/esm2022/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.mjs +0 -95
  1624. package/websql/esm2022/lib/typeorm/persistence/tree/ClosureSubjectExecutor.mjs +0 -220
  1625. package/websql/esm2022/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.mjs +0 -97
  1626. package/websql/esm2022/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.mjs +0 -250
  1627. package/websql/esm2022/lib/typeorm/platform/PlatformTools.mjs +0 -331
  1628. package/websql/esm2022/lib/typeorm/query-builder/Alias.mjs +0 -26
  1629. package/websql/esm2022/lib/typeorm/query-builder/Brackets.mjs +0 -16
  1630. package/websql/esm2022/lib/typeorm/query-builder/DeleteQueryBuilder.mjs +0 -181
  1631. package/websql/esm2022/lib/typeorm/query-builder/InsertOrUpdateOptions.mjs +0 -3
  1632. package/websql/esm2022/lib/typeorm/query-builder/InsertQueryBuilder.mjs +0 -651
  1633. package/websql/esm2022/lib/typeorm/query-builder/JoinAttribute.mjs +0 -153
  1634. package/websql/esm2022/lib/typeorm/query-builder/NotBrackets.mjs +0 -14
  1635. package/websql/esm2022/lib/typeorm/query-builder/QueryBuilder.mjs +0 -967
  1636. package/websql/esm2022/lib/typeorm/query-builder/QueryBuilderCte.mjs +0 -4
  1637. package/websql/esm2022/lib/typeorm/query-builder/QueryBuilderUtils.mjs +0 -22
  1638. package/websql/esm2022/lib/typeorm/query-builder/QueryExpressionMap.mjs +0 -309
  1639. package/websql/esm2022/lib/typeorm/query-builder/QueryPartialEntity.mjs +0 -3
  1640. package/websql/esm2022/lib/typeorm/query-builder/RelationIdLoader.mjs +0 -452
  1641. package/websql/esm2022/lib/typeorm/query-builder/RelationLoader.mjs +0 -262
  1642. package/websql/esm2022/lib/typeorm/query-builder/RelationQueryBuilder.mjs +0 -147
  1643. package/websql/esm2022/lib/typeorm/query-builder/RelationRemover.mjs +0 -130
  1644. package/websql/esm2022/lib/typeorm/query-builder/RelationUpdater.mjs +0 -141
  1645. package/websql/esm2022/lib/typeorm/query-builder/ReturningResultsEntityUpdator.mjs +0 -141
  1646. package/websql/esm2022/lib/typeorm/query-builder/SelectQuery.mjs +0 -4
  1647. package/websql/esm2022/lib/typeorm/query-builder/SelectQueryBuilder.mjs +0 -2278
  1648. package/websql/esm2022/lib/typeorm/query-builder/SelectQueryBuilderOption.mjs +0 -3
  1649. package/websql/esm2022/lib/typeorm/query-builder/SoftDeleteQueryBuilder.mjs +0 -348
  1650. package/websql/esm2022/lib/typeorm/query-builder/UpdateQueryBuilder.mjs +0 -510
  1651. package/websql/esm2022/lib/typeorm/query-builder/WhereClause.mjs +0 -3
  1652. package/websql/esm2022/lib/typeorm/query-builder/WhereExpressionBuilder.mjs +0 -4
  1653. package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountAttribute.mjs +0 -71
  1654. package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.mjs +0 -4
  1655. package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoader.mjs +0 -142
  1656. package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.mjs +0 -33
  1657. package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdAttribute.mjs +0 -79
  1658. package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.mjs +0 -4
  1659. package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoader.mjs +0 -247
  1660. package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.mjs +0 -33
  1661. package/websql/esm2022/lib/typeorm/query-builder/result/DeleteResult.mjs +0 -14
  1662. package/websql/esm2022/lib/typeorm/query-builder/result/InsertResult.mjs +0 -25
  1663. package/websql/esm2022/lib/typeorm/query-builder/result/UpdateResult.mjs +0 -25
  1664. package/websql/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.mjs +0 -101
  1665. package/websql/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.mjs +0 -67
  1666. package/websql/esm2022/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.mjs +0 -366
  1667. package/websql/esm2022/lib/typeorm/query-runner/BaseQueryRunner.mjs +0 -392
  1668. package/websql/esm2022/lib/typeorm/query-runner/QueryResult.mjs +0 -14
  1669. package/websql/esm2022/lib/typeorm/query-runner/QueryRunner.mjs +0 -4
  1670. package/websql/esm2022/lib/typeorm/repository/AbstractRepository.mjs +0 -80
  1671. package/websql/esm2022/lib/typeorm/repository/BaseEntity.mjs +0 -283
  1672. package/websql/esm2022/lib/typeorm/repository/FindTreesOptions.mjs +0 -4
  1673. package/websql/esm2022/lib/typeorm/repository/RemoveOptions.mjs +0 -4
  1674. package/websql/esm2022/lib/typeorm/repository/Repository.mjs +0 -275
  1675. package/websql/esm2022/lib/typeorm/repository/SaveOptions.mjs +0 -4
  1676. package/websql/esm2022/lib/typeorm/repository/TreeRepository.mjs +0 -254
  1677. package/websql/esm2022/lib/typeorm/repository/UpsertOptions.mjs +0 -7
  1678. package/websql/esm2022/lib/typeorm/schema-builder/RdbmsSchemaBuilder.mjs +0 -770
  1679. package/websql/esm2022/lib/typeorm/schema-builder/SchemaBuilder.mjs +0 -4
  1680. package/websql/esm2022/lib/typeorm/schema-builder/options/TableCheckOptions.mjs +0 -4
  1681. package/websql/esm2022/lib/typeorm/schema-builder/options/TableColumnOptions.mjs +0 -4
  1682. package/websql/esm2022/lib/typeorm/schema-builder/options/TableExclusionOptions.mjs +0 -4
  1683. package/websql/esm2022/lib/typeorm/schema-builder/options/TableForeignKeyOptions.mjs +0 -4
  1684. package/websql/esm2022/lib/typeorm/schema-builder/options/TableIndexOptions.mjs +0 -4
  1685. package/websql/esm2022/lib/typeorm/schema-builder/options/TableOptions.mjs +0 -4
  1686. package/websql/esm2022/lib/typeorm/schema-builder/options/TableUniqueOptions.mjs +0 -4
  1687. package/websql/esm2022/lib/typeorm/schema-builder/options/ViewOptions.mjs +0 -4
  1688. package/websql/esm2022/lib/typeorm/schema-builder/table/Table.mjs +0 -274
  1689. package/websql/esm2022/lib/typeorm/schema-builder/table/TableCheck.mjs +0 -37
  1690. package/websql/esm2022/lib/typeorm/schema-builder/table/TableColumn.mjs +0 -108
  1691. package/websql/esm2022/lib/typeorm/schema-builder/table/TableExclusion.mjs +0 -31
  1692. package/websql/esm2022/lib/typeorm/schema-builder/table/TableForeignKey.mjs +0 -60
  1693. package/websql/esm2022/lib/typeorm/schema-builder/table/TableIndex.mjs +0 -53
  1694. package/websql/esm2022/lib/typeorm/schema-builder/table/TableUnique.mjs +0 -38
  1695. package/websql/esm2022/lib/typeorm/schema-builder/util/TableUtils.mjs +0 -38
  1696. package/websql/esm2022/lib/typeorm/schema-builder/util/ViewUtils.mjs +0 -24
  1697. package/websql/esm2022/lib/typeorm/schema-builder/view/View.mjs +0 -43
  1698. package/websql/esm2022/lib/typeorm/subscriber/Broadcaster.mjs +0 -596
  1699. package/websql/esm2022/lib/typeorm/subscriber/BroadcasterResult.mjs +0 -27
  1700. package/websql/esm2022/lib/typeorm/subscriber/EntitySubscriberInterface.mjs +0 -4
  1701. package/websql/esm2022/lib/typeorm/subscriber/event/InsertEvent.mjs +0 -4
  1702. package/websql/esm2022/lib/typeorm/subscriber/event/LoadEvent.mjs +0 -4
  1703. package/websql/esm2022/lib/typeorm/subscriber/event/RecoverEvent.mjs +0 -4
  1704. package/websql/esm2022/lib/typeorm/subscriber/event/RemoveEvent.mjs +0 -4
  1705. package/websql/esm2022/lib/typeorm/subscriber/event/SoftRemoveEvent.mjs +0 -4
  1706. package/websql/esm2022/lib/typeorm/subscriber/event/TransactionCommitEvent.mjs +0 -4
  1707. package/websql/esm2022/lib/typeorm/subscriber/event/TransactionRollbackEvent.mjs +0 -4
  1708. package/websql/esm2022/lib/typeorm/subscriber/event/TransactionStartEvent.mjs +0 -4
  1709. package/websql/esm2022/lib/typeorm/subscriber/event/UpdateEvent.mjs +0 -4
  1710. package/websql/esm2022/lib/typeorm/util/ApplyValueTransformers.mjs +0 -22
  1711. package/websql/esm2022/lib/typeorm/util/DateUtils.mjs +0 -216
  1712. package/websql/esm2022/lib/typeorm/util/DepGraph.mjs +0 -222
  1713. package/websql/esm2022/lib/typeorm/util/DirectoryExportedClassesLoader.mjs +0 -76
  1714. package/websql/esm2022/lib/typeorm/util/ImportUtils.mjs +0 -86
  1715. package/websql/esm2022/lib/typeorm/util/InstanceChecker.mjs +0 -114
  1716. package/websql/esm2022/lib/typeorm/util/ObjectUtils.mjs +0 -38
  1717. package/websql/esm2022/lib/typeorm/util/OrmUtils.mjs +0 -310
  1718. package/websql/esm2022/lib/typeorm/util/PathUtils.mjs +0 -38
  1719. package/websql/esm2022/lib/typeorm/util/RandomGenerator.mjs +0 -150
  1720. package/websql/esm2022/lib/typeorm/util/StringUtils.mjs +0 -108
  1721. package/websql/esm2022/lib/typeorm/util/TreeRepositoryUtils.mjs +0 -53
  1722. package/websql/esm2022/lib/typeorm/util/VersionUtils.mjs +0 -17
  1723. package/websql/esm2022/lib/typeorm/util/escapeRegExp.mjs +0 -4
  1724. package/websql/esm2022/public-api.mjs +0 -2
  1725. package/websql/esm2022/taon-typeorm.mjs +0 -5
@@ -1,743 +0,0 @@
1
- import { EntityNotFoundError } from "../error/EntityNotFoundError";
2
- import { QueryRunnerProviderAlreadyReleasedError } from "../error/QueryRunnerProviderAlreadyReleasedError";
3
- import { NoNeedToReleaseEntityManagerError } from "../error/NoNeedToReleaseEntityManagerError";
4
- /* */
5
- /* */
6
- import { TreeRepository } from "../repository/TreeRepository";
7
- import { Repository } from "../repository/Repository";
8
- import { FindOptionsUtils } from "../find-options/FindOptionsUtils";
9
- import { PlainObjectToNewEntityTransformer } from "../query-builder/transformer/PlainObjectToNewEntityTransformer";
10
- import { PlainObjectToDatabaseEntityTransformer } from "../query-builder/transformer/PlainObjectToDatabaseEntityTransformer";
11
- import { CustomRepositoryCannotInheritRepositoryError, CustomRepositoryNotFoundError, TreeRepositoryNotSupportedError, TypeORMError, } from "../error"; /* */
12
- /* */
13
- /* */
14
- /* */
15
- /* */
16
- import { AbstractRepository } from "../repository/AbstractRepository";
17
- import { EntityPersistExecutor } from "../persistence/EntityPersistExecutor";
18
- import { ObjectUtils } from "../util/ObjectUtils";
19
- import { getMetadataArgsStorage } from "../globals";
20
- import { InstanceChecker } from "../util/InstanceChecker";
21
- /**
22
- * Entity manager supposed to work with any entity, automatically find its repository and call its methods,
23
- * whatever entity type are you passing.
24
- */
25
- export class EntityManager {
26
- constructor(connection, queryRunner) {
27
- this["@instanceof"] = Symbol.for("EntityManager");
28
- /**
29
- * Once created and then reused by repositories.
30
- */
31
- this.repositories = [];
32
- /**
33
- * Once created and then reused by repositories.
34
- */
35
- this.treeRepositories = [];
36
- /**
37
- * Plain to object transformer used in create and merge operations.
38
- */
39
- this.plainObjectToEntityTransformer = new PlainObjectToNewEntityTransformer();
40
- this.connection = connection;
41
- if (queryRunner) {
42
- this.queryRunner = queryRunner;
43
- ObjectUtils.assign(this.queryRunner, { manager: this });
44
- }
45
- }
46
- /**
47
- * Wraps given function execution (and all operations made there) in a transaction.
48
- * All database operations must be executed using provided entity manager.
49
- */
50
- async transaction(isolationOrRunInTransaction, runInTransactionParam) {
51
- const isolation = typeof isolationOrRunInTransaction === "string"
52
- ? isolationOrRunInTransaction
53
- : undefined;
54
- const runInTransaction = typeof isolationOrRunInTransaction === "function"
55
- ? isolationOrRunInTransaction
56
- : runInTransactionParam;
57
- if (!runInTransaction) {
58
- throw new TypeORMError(`Transaction method requires callback in second parameter if isolation level is supplied.`);
59
- }
60
- if (this.queryRunner && this.queryRunner.isReleased)
61
- throw new QueryRunnerProviderAlreadyReleasedError();
62
- const queryRunner = this.queryRunner || this.connection.createQueryRunner();
63
- try {
64
- await queryRunner.startTransaction(isolation);
65
- const result = await runInTransaction(queryRunner.manager);
66
- await queryRunner.commitTransaction();
67
- return result;
68
- }
69
- catch (err) {
70
- try {
71
- await queryRunner.rollbackTransaction();
72
- }
73
- catch (rollbackError) { }
74
- throw err;
75
- }
76
- finally {
77
- if (!this.queryRunner)
78
- await queryRunner.release();
79
- }
80
- }
81
- /**
82
- * Executes raw SQL query and returns raw database results.
83
- */
84
- async query(query, parameters) {
85
- return this.connection.query(query, parameters, this.queryRunner);
86
- }
87
- /**
88
- * Creates a new query builder that can be used to build a SQL query.
89
- */
90
- createQueryBuilder(entityClass, alias, queryRunner) {
91
- if (alias) {
92
- return this.connection.createQueryBuilder(entityClass, alias, queryRunner || this.queryRunner);
93
- }
94
- else {
95
- return this.connection.createQueryBuilder(entityClass ||
96
- queryRunner ||
97
- this.queryRunner);
98
- }
99
- }
100
- /**
101
- * Checks if entity has an id by its Function type or schema name.
102
- */
103
- hasId(targetOrEntity, maybeEntity) {
104
- const target = arguments.length === 2 ? targetOrEntity : targetOrEntity.constructor;
105
- const entity = arguments.length === 2 ? maybeEntity : targetOrEntity;
106
- const metadata = this.connection.getMetadata(target);
107
- return metadata.hasId(entity);
108
- }
109
- /**
110
- * Gets entity mixed id.
111
- */
112
- getId(targetOrEntity, maybeEntity) {
113
- const target = arguments.length === 2 ? targetOrEntity : targetOrEntity.constructor;
114
- const entity = arguments.length === 2 ? maybeEntity : targetOrEntity;
115
- const metadata = this.connection.getMetadata(target);
116
- return metadata.getEntityIdMixedMap(entity);
117
- }
118
- /**
119
- * Creates a new entity instance or instances.
120
- * Can copy properties from the given object into new entities.
121
- */
122
- create(entityClass, plainObjectOrObjects) {
123
- const metadata = this.connection.getMetadata(entityClass);
124
- if (!plainObjectOrObjects)
125
- return metadata.create(this.queryRunner);
126
- if (Array.isArray(plainObjectOrObjects))
127
- return plainObjectOrObjects.map((plainEntityLike) => this.create(entityClass, plainEntityLike));
128
- const mergeIntoEntity = metadata.create(this.queryRunner);
129
- this.plainObjectToEntityTransformer.transform(mergeIntoEntity, plainObjectOrObjects, metadata, true);
130
- return mergeIntoEntity;
131
- }
132
- /**
133
- * Merges two entities into one new entity.
134
- */
135
- merge(entityClass, mergeIntoEntity, ...entityLikes) {
136
- const metadata = this.connection.getMetadata(entityClass);
137
- entityLikes.forEach((object) => this.plainObjectToEntityTransformer.transform(mergeIntoEntity, object, metadata));
138
- return mergeIntoEntity;
139
- }
140
- /**
141
- * Creates a new entity from the given plain javascript object. If entity already exist in the database, then
142
- * it loads it (and everything related to it), replaces all values with the new ones from the given object
143
- * and returns this new entity. This new entity is actually a loaded from the db entity with all properties
144
- * replaced from the new object.
145
- */
146
- async preload(entityClass, entityLike) {
147
- const metadata = this.connection.getMetadata(entityClass);
148
- const plainObjectToDatabaseEntityTransformer = new PlainObjectToDatabaseEntityTransformer(this.connection.manager);
149
- const transformedEntity = await plainObjectToDatabaseEntityTransformer.transform(entityLike, metadata);
150
- if (transformedEntity)
151
- return this.merge(entityClass, transformedEntity, entityLike);
152
- return undefined;
153
- }
154
- /**
155
- * Saves a given entity in the database.
156
- */
157
- save(targetOrEntity, maybeEntityOrOptions, maybeOptions) {
158
- let target = arguments.length > 1 &&
159
- (typeof targetOrEntity === "function" ||
160
- InstanceChecker.isEntitySchema(targetOrEntity) ||
161
- typeof targetOrEntity === "string")
162
- ? targetOrEntity
163
- : undefined;
164
- const entity = target
165
- ? maybeEntityOrOptions
166
- : targetOrEntity;
167
- const options = target
168
- ? maybeOptions
169
- : maybeEntityOrOptions;
170
- if (InstanceChecker.isEntitySchema(target))
171
- target = target.options.name;
172
- if (Array.isArray(entity) && entity.length === 0)
173
- return Promise.resolve(entity);
174
- return new EntityPersistExecutor(this.connection, this.queryRunner, "save", target, entity, options)
175
- .execute()
176
- .then(() => entity);
177
- }
178
- /**
179
- * Removes a given entity from the database.
180
- */
181
- remove(targetOrEntity, maybeEntityOrOptions, maybeOptions) {
182
- const target = arguments.length > 1 &&
183
- (typeof targetOrEntity === "function" ||
184
- InstanceChecker.isEntitySchema(targetOrEntity) ||
185
- typeof targetOrEntity === "string")
186
- ? targetOrEntity
187
- : undefined;
188
- const entity = target
189
- ? maybeEntityOrOptions
190
- : targetOrEntity;
191
- const options = target
192
- ? maybeOptions
193
- : maybeEntityOrOptions;
194
- if (Array.isArray(entity) && entity.length === 0)
195
- return Promise.resolve(entity);
196
- return new EntityPersistExecutor(this.connection, this.queryRunner, "remove", target, entity, options)
197
- .execute()
198
- .then(() => entity);
199
- }
200
- /**
201
- * Records the delete date of one or many given entities.
202
- */
203
- softRemove(targetOrEntity, maybeEntityOrOptions, maybeOptions) {
204
- let target = arguments.length > 1 &&
205
- (typeof targetOrEntity === "function" ||
206
- InstanceChecker.isEntitySchema(targetOrEntity) ||
207
- typeof targetOrEntity === "string")
208
- ? targetOrEntity
209
- : undefined;
210
- const entity = target
211
- ? maybeEntityOrOptions
212
- : targetOrEntity;
213
- const options = target
214
- ? maybeOptions
215
- : maybeEntityOrOptions;
216
- if (InstanceChecker.isEntitySchema(target))
217
- target = target.options.name;
218
- if (Array.isArray(entity) && entity.length === 0)
219
- return Promise.resolve(entity);
220
- return new EntityPersistExecutor(this.connection, this.queryRunner, "soft-remove", target, entity, options)
221
- .execute()
222
- .then(() => entity);
223
- }
224
- /**
225
- * Recovers one or many given entities.
226
- */
227
- recover(targetOrEntity, maybeEntityOrOptions, maybeOptions) {
228
- let target = arguments.length > 1 &&
229
- (typeof targetOrEntity === "function" ||
230
- InstanceChecker.isEntitySchema(targetOrEntity) ||
231
- typeof targetOrEntity === "string")
232
- ? targetOrEntity
233
- : undefined;
234
- const entity = target
235
- ? maybeEntityOrOptions
236
- : targetOrEntity;
237
- const options = target
238
- ? maybeOptions
239
- : maybeEntityOrOptions;
240
- if (InstanceChecker.isEntitySchema(target))
241
- target = target.options.name;
242
- if (Array.isArray(entity) && entity.length === 0)
243
- return Promise.resolve(entity);
244
- return new EntityPersistExecutor(this.connection, this.queryRunner, "recover", target, entity, options)
245
- .execute()
246
- .then(() => entity);
247
- }
248
- /**
249
- * Inserts a given entity into the database.
250
- * Unlike save method executes a primitive operation without cascades, relations and other operations included.
251
- * Executes fast and efficient INSERT query.
252
- * Does not check if entity exist in the database, so query will fail if duplicate entity is being inserted.
253
- * You can execute bulk inserts using this method.
254
- */
255
- async insert(target, entity) {
256
- return this.createQueryBuilder()
257
- .insert()
258
- .into(target)
259
- .values(entity)
260
- .execute();
261
- }
262
- async upsert(target, entityOrEntities, conflictPathsOrOptions) {
263
- const metadata = this.connection.getMetadata(target);
264
- let options;
265
- if (Array.isArray(conflictPathsOrOptions)) {
266
- options = {
267
- conflictPaths: conflictPathsOrOptions,
268
- };
269
- }
270
- else {
271
- options = conflictPathsOrOptions;
272
- }
273
- let entities;
274
- if (!Array.isArray(entityOrEntities)) {
275
- entities = [entityOrEntities];
276
- }
277
- else {
278
- entities = entityOrEntities;
279
- }
280
- const conflictColumns = metadata.mapPropertyPathsToColumns(options.conflictPaths);
281
- const overwriteColumns = metadata.columns.filter((col) => !conflictColumns.includes(col) &&
282
- entities.some((entity) => typeof col.getEntityValue(entity) !== "undefined"));
283
- return this.createQueryBuilder()
284
- .insert()
285
- .into(target)
286
- .values(entities)
287
- .orUpdate([...conflictColumns, ...overwriteColumns].map((col) => col.databaseName), conflictColumns.map((col) => col.databaseName), {
288
- skipUpdateIfNoValuesChanged: options.skipUpdateIfNoValuesChanged,
289
- })
290
- .execute();
291
- }
292
- /**
293
- * Updates entity partially. Entity can be found by a given condition(s).
294
- * Unlike save method executes a primitive operation without cascades, relations and other operations included.
295
- * Executes fast and efficient UPDATE query.
296
- * Does not check if entity exist in the database.
297
- * Condition(s) cannot be empty.
298
- */
299
- update(target, criteria, partialEntity) {
300
- if (criteria === undefined ||
301
- criteria === null ||
302
- criteria === "" ||
303
- (Array.isArray(criteria) && criteria.length === 0)) {
304
- return Promise.reject(new TypeORMError(`Empty criteria(s) are not allowed for the update method.`));
305
- }
306
- if (typeof criteria === "string" ||
307
- typeof criteria === "number" ||
308
- criteria instanceof Date ||
309
- Array.isArray(criteria)) {
310
- return this.createQueryBuilder()
311
- .update(target)
312
- .set(partialEntity)
313
- .whereInIds(criteria)
314
- .execute();
315
- }
316
- else {
317
- return this.createQueryBuilder()
318
- .update(target)
319
- .set(partialEntity)
320
- .where(criteria)
321
- .execute();
322
- }
323
- }
324
- /**
325
- * Deletes entities by a given condition(s).
326
- * Unlike save method executes a primitive operation without cascades, relations and other operations included.
327
- * Executes fast and efficient DELETE query.
328
- * Does not check if entity exist in the database.
329
- * Condition(s) cannot be empty.
330
- */
331
- delete(targetOrEntity, criteria) {
332
- if (criteria === undefined ||
333
- criteria === null ||
334
- criteria === "" ||
335
- (Array.isArray(criteria) && criteria.length === 0)) {
336
- return Promise.reject(new TypeORMError(`Empty criteria(s) are not allowed for the delete method.`));
337
- }
338
- if (typeof criteria === "string" ||
339
- typeof criteria === "number" ||
340
- criteria instanceof Date ||
341
- Array.isArray(criteria)) {
342
- return this.createQueryBuilder()
343
- .delete()
344
- .from(targetOrEntity)
345
- .whereInIds(criteria)
346
- .execute();
347
- }
348
- else {
349
- return this.createQueryBuilder()
350
- .delete()
351
- .from(targetOrEntity)
352
- .where(criteria)
353
- .execute();
354
- }
355
- }
356
- /**
357
- * Records the delete date of entities by a given condition(s).
358
- * Unlike save method executes a primitive operation without cascades, relations and other operations included.
359
- * Executes fast and efficient DELETE query.
360
- * Does not check if entity exist in the database.
361
- * Condition(s) cannot be empty.
362
- */
363
- softDelete(targetOrEntity, criteria) {
364
- if (criteria === undefined ||
365
- criteria === null ||
366
- criteria === "" ||
367
- (Array.isArray(criteria) && criteria.length === 0)) {
368
- return Promise.reject(new TypeORMError(`Empty criteria(s) are not allowed for the delete method.`));
369
- }
370
- if (typeof criteria === "string" ||
371
- typeof criteria === "number" ||
372
- criteria instanceof Date ||
373
- Array.isArray(criteria)) {
374
- return this.createQueryBuilder()
375
- .softDelete()
376
- .from(targetOrEntity)
377
- .whereInIds(criteria)
378
- .execute();
379
- }
380
- else {
381
- return this.createQueryBuilder()
382
- .softDelete()
383
- .from(targetOrEntity)
384
- .where(criteria)
385
- .execute();
386
- }
387
- }
388
- /**
389
- * Restores entities by a given condition(s).
390
- * Unlike save method executes a primitive operation without cascades, relations and other operations included.
391
- * Executes fast and efficient DELETE query.
392
- * Does not check if entity exist in the database.
393
- * Condition(s) cannot be empty.
394
- */
395
- restore(targetOrEntity, criteria) {
396
- if (criteria === undefined ||
397
- criteria === null ||
398
- criteria === "" ||
399
- (Array.isArray(criteria) && criteria.length === 0)) {
400
- return Promise.reject(new TypeORMError(`Empty criteria(s) are not allowed for the delete method.`));
401
- }
402
- if (typeof criteria === "string" ||
403
- typeof criteria === "number" ||
404
- criteria instanceof Date ||
405
- Array.isArray(criteria)) {
406
- return this.createQueryBuilder()
407
- .restore()
408
- .from(targetOrEntity)
409
- .whereInIds(criteria)
410
- .execute();
411
- }
412
- else {
413
- return this.createQueryBuilder()
414
- .restore()
415
- .from(targetOrEntity)
416
- .where(criteria)
417
- .execute();
418
- }
419
- }
420
- /**
421
- * Counts entities that match given options.
422
- * Useful for pagination.
423
- */
424
- count(entityClass, options) {
425
- const metadata = this.connection.getMetadata(entityClass);
426
- return this.createQueryBuilder(entityClass, FindOptionsUtils.extractFindManyOptionsAlias(options) ||
427
- metadata.name)
428
- .setFindOptions(options || {})
429
- .getCount();
430
- }
431
- /**
432
- * Counts entities that match given conditions.
433
- * Useful for pagination.
434
- */
435
- countBy(entityClass, where) {
436
- const metadata = this.connection.getMetadata(entityClass);
437
- return this.createQueryBuilder(entityClass, metadata.name)
438
- .setFindOptions({ where })
439
- .getCount();
440
- }
441
- /**
442
- * Finds entities that match given find options.
443
- */
444
- async find(entityClass, options) {
445
- const metadata = this.connection.getMetadata(entityClass);
446
- return this.createQueryBuilder(entityClass, FindOptionsUtils.extractFindManyOptionsAlias(options) ||
447
- metadata.name)
448
- .setFindOptions(options || {})
449
- .getMany();
450
- }
451
- /**
452
- * Finds entities that match given find options.
453
- */
454
- async findBy(entityClass, where) {
455
- const metadata = this.connection.getMetadata(entityClass);
456
- return this.createQueryBuilder(entityClass, metadata.name)
457
- .setFindOptions({ where: where })
458
- .getMany();
459
- }
460
- /**
461
- * Finds entities that match given find options.
462
- * Also counts all entities that match given conditions,
463
- * but ignores pagination settings (from and take options).
464
- */
465
- findAndCount(entityClass, options) {
466
- const metadata = this.connection.getMetadata(entityClass);
467
- return this.createQueryBuilder(entityClass, FindOptionsUtils.extractFindManyOptionsAlias(options) ||
468
- metadata.name)
469
- .setFindOptions(options || {})
470
- .getManyAndCount();
471
- }
472
- /**
473
- * Finds entities that match given WHERE conditions.
474
- * Also counts all entities that match given conditions,
475
- * but ignores pagination settings (from and take options).
476
- */
477
- findAndCountBy(entityClass, where) {
478
- const metadata = this.connection.getMetadata(entityClass);
479
- return this.createQueryBuilder(entityClass, metadata.name)
480
- .setFindOptions({ where })
481
- .getManyAndCount();
482
- }
483
- /**
484
- * Finds entities with ids.
485
- * Optionally find options or conditions can be applied.
486
- *
487
- * @deprecated use `findBy` method instead in conjunction with `In` operator, for example:
488
- *
489
- * .findBy({
490
- * id: In([1, 2, 3])
491
- * })
492
- */
493
- async findByIds(entityClass, ids) {
494
- if (!ids.length)
495
- return Promise.resolve([]);
496
- const metadata = this.connection.getMetadata(entityClass);
497
- return this.createQueryBuilder(entityClass, metadata.name)
498
- .andWhereInIds(ids)
499
- .getMany();
500
- }
501
- /**
502
- * Finds first entity by a given find options.
503
- * If entity was not found in the database - returns null.
504
- */
505
- async findOne(entityClass, options) {
506
- const metadata = this.connection.getMetadata(entityClass);
507
- let alias = metadata.name;
508
- if (options && options.join) {
509
- alias = options.join.alias;
510
- }
511
- if (!options.where) {
512
- throw new Error(`You must provide selection conditions in order to find a single row.`);
513
- }
514
- return this.createQueryBuilder(entityClass, alias)
515
- .setFindOptions({
516
- ...options,
517
- take: 1,
518
- })
519
- .getOne();
520
- }
521
- /**
522
- * Finds first entity that matches given where condition.
523
- * If entity was not found in the database - returns null.
524
- */
525
- async findOneBy(entityClass, where) {
526
- const metadata = this.connection.getMetadata(entityClass);
527
- return this.createQueryBuilder(entityClass, metadata.name)
528
- .setFindOptions({
529
- where,
530
- take: 1,
531
- })
532
- .getOne();
533
- }
534
- /**
535
- * Finds first entity that matches given id.
536
- * If entity was not found in the database - returns null.
537
- *
538
- * @deprecated use `findOneBy` method instead in conjunction with `In` operator, for example:
539
- *
540
- * .findOneBy({
541
- * id: 1 // where "id" is your primary column name
542
- * })
543
- */
544
- async findOneById(entityClass, id) {
545
- const metadata = this.connection.getMetadata(entityClass);
546
- return this.createQueryBuilder(entityClass, metadata.name)
547
- .setFindOptions({
548
- take: 1,
549
- })
550
- .whereInIds(metadata.ensureEntityIdMap(id))
551
- .getOne();
552
- }
553
- /**
554
- * Finds first entity by a given find options.
555
- * If entity was not found in the database - rejects with error.
556
- */
557
- async findOneOrFail(entityClass, options) {
558
- return this.findOne(entityClass, options).then((value) => {
559
- if (value === null) {
560
- return Promise.reject(new EntityNotFoundError(entityClass, options));
561
- }
562
- return Promise.resolve(value);
563
- });
564
- }
565
- /**
566
- * Finds first entity that matches given where condition.
567
- * If entity was not found in the database - rejects with error.
568
- */
569
- async findOneByOrFail(entityClass, where) {
570
- return this.findOneBy(entityClass, where).then((value) => {
571
- if (value === null) {
572
- return Promise.reject(new EntityNotFoundError(entityClass, where));
573
- }
574
- return Promise.resolve(value);
575
- });
576
- }
577
- /**
578
- * Clears all the data from the given table (truncates/drops it).
579
- *
580
- * Note: this method uses TRUNCATE and may not work as you expect in transactions on some platforms.
581
- * @see https://stackoverflow.com/a/5972738/925151
582
- */
583
- async clear(entityClass) {
584
- const metadata = this.connection.getMetadata(entityClass);
585
- const queryRunner = this.queryRunner || this.connection.createQueryRunner();
586
- try {
587
- return await queryRunner.clearTable(metadata.tablePath); // await is needed here because we are using finally
588
- }
589
- finally {
590
- if (!this.queryRunner)
591
- await queryRunner.release();
592
- }
593
- }
594
- /**
595
- * Increments some column by provided value of the entities matched given conditions.
596
- */
597
- async increment(entityClass, conditions, propertyPath, value) {
598
- const metadata = this.connection.getMetadata(entityClass);
599
- const column = metadata.findColumnWithPropertyPath(propertyPath);
600
- if (!column)
601
- throw new TypeORMError(`Column ${propertyPath} was not found in ${metadata.targetName} entity.`);
602
- if (isNaN(Number(value)))
603
- throw new TypeORMError(`Value "${value}" is not a number.`);
604
- const values = propertyPath
605
- .split(".")
606
- .reduceRight((value, key) => ({ [key]: value }), () => this.connection.driver.escape(column.databaseName) +
607
- " + " +
608
- value);
609
- return this.createQueryBuilder(entityClass, "entity")
610
- .update(entityClass)
611
- .set(values)
612
- .where(conditions)
613
- .execute();
614
- }
615
- /**
616
- * Decrements some column by provided value of the entities matched given conditions.
617
- */
618
- async decrement(entityClass, conditions, propertyPath, value) {
619
- const metadata = this.connection.getMetadata(entityClass);
620
- const column = metadata.findColumnWithPropertyPath(propertyPath);
621
- if (!column)
622
- throw new TypeORMError(`Column ${propertyPath} was not found in ${metadata.targetName} entity.`);
623
- if (isNaN(Number(value)))
624
- throw new TypeORMError(`Value "${value}" is not a number.`);
625
- const values = propertyPath
626
- .split(".")
627
- .reduceRight((value, key) => ({ [key]: value }), () => this.connection.driver.escape(column.databaseName) +
628
- " - " +
629
- value);
630
- return this.createQueryBuilder(entityClass, "entity")
631
- .update(entityClass)
632
- .set(values)
633
- .where(conditions)
634
- .execute();
635
- }
636
- /**
637
- * Gets repository for the given entity class or name.
638
- * If single database connection mode is used, then repository is obtained from the
639
- * repository aggregator, where each repository is individually created for this entity manager.
640
- * When single database connection is not used, repository is being obtained from the connection.
641
- */
642
- getRepository(target) {
643
- const repository = this.repositories.find((repository) => repository.target === target);
644
- if (repository)
645
- return repository;
646
- if (this.connection.driver.options.type === "mongodb") {
647
- /* */
648
- /* */
649
- /* */
650
- /* */
651
- /* */
652
- /* */
653
- /* */
654
- /* */
655
- return (void 0);
656
- }
657
- else {
658
- const newRepository = new Repository(target, this, this.queryRunner);
659
- this.repositories.push(newRepository);
660
- return newRepository;
661
- }
662
- }
663
- /**
664
- * Gets tree repository for the given entity class or name.
665
- * If single database connection mode is used, then repository is obtained from the
666
- * repository aggregator, where each repository is individually created for this entity manager.
667
- * When single database connection is not used, repository is being obtained from the connection.
668
- */
669
- getTreeRepository(target) {
670
- if (this.connection.driver.treeSupport === false)
671
- throw new TreeRepositoryNotSupportedError(this.connection.driver);
672
- const repository = this.treeRepositories.find((repository) => repository.target === target);
673
- if (repository)
674
- return repository;
675
- const newRepository = new TreeRepository(target, this, this.queryRunner);
676
- this.treeRepositories.push(newRepository);
677
- return newRepository;
678
- }
679
- /* */
680
- /* */
681
- /* */
682
- /* */
683
- /* */
684
- /* */
685
- /* */
686
- /* */
687
- /* */
688
- /**
689
- * Creates a new repository instance out of a given Repository and
690
- * sets current EntityManager instance to it. Used to work with custom repositories
691
- * in transactions.
692
- */
693
- withRepository(repository) {
694
- const repositoryConstructor = repository.constructor;
695
- const { target, manager, queryRunner, ...otherRepositoryProperties } = repository;
696
- return Object.assign(new repositoryConstructor(repository.target, this), {
697
- ...otherRepositoryProperties,
698
- });
699
- }
700
- /**
701
- * Gets custom entity repository marked with @EntityRepository decorator.
702
- *
703
- * @deprecated use Repository.extend to create custom repositories
704
- */
705
- getCustomRepository(customRepository) {
706
- const entityRepositoryMetadataArgs = getMetadataArgsStorage().entityRepositories.find((repository) => {
707
- return (repository.target ===
708
- (typeof customRepository === "function"
709
- ? customRepository
710
- : customRepository.constructor));
711
- });
712
- if (!entityRepositoryMetadataArgs)
713
- throw new CustomRepositoryNotFoundError(customRepository);
714
- const entityMetadata = entityRepositoryMetadataArgs.entity
715
- ? this.connection.getMetadata(entityRepositoryMetadataArgs.entity)
716
- : undefined;
717
- const entityRepositoryInstance = new entityRepositoryMetadataArgs.target(this, entityMetadata);
718
- if (entityRepositoryInstance instanceof AbstractRepository) {
719
- if (!entityRepositoryInstance["manager"])
720
- entityRepositoryInstance["manager"] = this;
721
- }
722
- else {
723
- if (!entityMetadata)
724
- throw new CustomRepositoryCannotInheritRepositoryError(customRepository);
725
- entityRepositoryInstance["manager"] = this;
726
- entityRepositoryInstance["metadata"] = entityMetadata;
727
- }
728
- return entityRepositoryInstance;
729
- }
730
- /**
731
- * Releases all resources used by entity manager.
732
- * This is used when entity manager is created with a single query runner,
733
- * and this single query runner needs to be released after job with entity manager is done.
734
- */
735
- async release() {
736
- if (!this.queryRunner)
737
- throw new NoNeedToReleaseEntityManagerError();
738
- return this.queryRunner.release();
739
- }
740
- }
741
- ;
742
- ({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/entity-manager/EntityManager.ts
743
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW50aXR5TWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24tdHlwZW9ybS9wcm9qZWN0cy90YW9uLXR5cGVvcm0vc3JjL2xpYi90eXBlb3JtL2VudGl0eS1tYW5hZ2VyL0VudGl0eU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDbEUsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sa0RBQWtELENBQUE7QUFLMUcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFDOUYsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGdFQUFnRSxDQUFBO0FBQ2xILE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLHFFQUFxRSxDQUFBO0FBQzVILE9BQU8sRUFBTSw0Q0FBNEMsRUFBTSw2QkFBNkIsRUFBTSwrQkFBK0IsRUFBTSxZQUFZLEdBQUcsTUFBTSxVQUFVLENBQUEsQ0FBQSxLQUFLO0FBQzNLLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUlyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQU81RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRW5ELE9BQU8s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QUE0QyxDQUNsRCxnQkFBZ0IsQ0FDbkIsQ0FDSjtZQUFDLHdCQUFnQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FDbkQ7WUFBQyx3QkFBZ0MsQ0FBQyxVQUFVLENBQUMsR0FBRyxjQUFjLENBQUE7UUFDbkUsQ0FBQztRQUVELE9BQU8sd0JBQXdCLENBQUE7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztZQUFFLE1BQU0sSUFBSSxpQ0FBaUMsRUFBRSxDQUFBO1FBRXBFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUNyQyxDQUFDO0NBQ0o7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFGQUFxRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSBcIi4uL2RhdGEtc291cmNlL0RhdGFTb3VyY2VcIlxuaW1wb3J0IHsgRmluZE1hbnlPcHRpb25zIH0gZnJvbSBcIi4uL2ZpbmQtb3B0aW9ucy9GaW5kTWFueU9wdGlvbnNcIlxuaW1wb3J0IHsgRW50aXR5VGFyZ2V0IH0gZnJvbSBcIi4uL2NvbW1vbi9FbnRpdHlUYXJnZXRcIlxuaW1wb3J0IHsgT2JqZWN0VHlwZSB9IGZyb20gXCIuLi9jb21tb24vT2JqZWN0VHlwZVwiXG5pbXBvcnQgeyBFbnRpdHlOb3RGb3VuZEVycm9yIH0gZnJvbSBcIi4uL2Vycm9yL0VudGl0eU5vdEZvdW5kRXJyb3JcIlxuaW1wb3J0IHsgUXVlcnlSdW5uZXJQcm92aWRlckFscmVhZHlSZWxlYXNlZEVycm9yIH0gZnJvbSBcIi4uL2Vycm9yL1F1ZXJ5UnVubmVyUHJvdmlkZXJBbHJlYWR5UmVsZWFzZWRFcnJvclwiXG5pbXBvcnQgeyBGaW5kT25lT3B0aW9ucyB9IGZyb20gXCIuLi9maW5kLW9wdGlvbnMvRmluZE9uZU9wdGlvbnNcIlxuaW1wb3J0IHsgRGVlcFBhcnRpYWwgfSBmcm9tIFwiLi4vY29tbW9uL0RlZXBQYXJ0aWFsXCJcbmltcG9ydCB7IFJlbW92ZU9wdGlvbnMgfSBmcm9tIFwiLi4vcmVwb3NpdG9yeS9SZW1vdmVPcHRpb25zXCJcbmltcG9ydCB7IFNhdmVPcHRpb25zIH0gZnJvbSBcIi4uL3JlcG9zaXRvcnkvU2F2ZU9wdGlvbnNcIlxuaW1wb3J0IHsgTm9OZWVkVG9SZWxlYXNlRW50aXR5TWFuYWdlckVycm9yIH0gZnJvbSBcIi4uL2Vycm9yL05vTmVlZFRvUmVsZWFzZUVudGl0eU1hbmFnZXJFcnJvclwiXG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBUcmVlUmVwb3NpdG9yeSB9IGZyb20gXCIuLi9yZXBvc2l0b3J5L1RyZWVSZXBvc2l0b3J5XCJcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiLi4vcmVwb3NpdG9yeS9SZXBvc2l0b3J5XCJcbmltcG9ydCB7IEZpbmRPcHRpb25zVXRpbHMgfSBmcm9tIFwiLi4vZmluZC1vcHRpb25zL0ZpbmRPcHRpb25zVXRpbHNcIlxuaW1wb3J0IHsgUGxhaW5PYmplY3RUb05ld0VudGl0eVRyYW5zZm9ybWVyIH0gZnJvbSBcIi4uL3F1ZXJ5LWJ1aWxkZXIvdHJhbnNmb3JtZXIvUGxhaW5PYmplY3RUb05ld0VudGl0eVRyYW5zZm9ybWVyXCJcbmltcG9ydCB7IFBsYWluT2JqZWN0VG9EYXRhYmFzZUVudGl0eVRyYW5zZm9ybWVyIH0gZnJvbSBcIi4uL3F1ZXJ5LWJ1aWxkZXIvdHJhbnNmb3JtZXIvUGxhaW5PYmplY3RUb0RhdGFiYXNlRW50aXR5VHJhbnNmb3JtZXJcIlxuaW1wb3J0IHsgICAgIEN1c3RvbVJlcG9zaXRvcnlDYW5ub3RJbmhlcml0UmVwb3NpdG9yeUVycm9yLCAgICAgQ3VzdG9tUmVwb3NpdG9yeU5vdEZvdW5kRXJyb3IsICAgICBUcmVlUmVwb3NpdG9yeU5vdFN1cHBvcnRlZEVycm9yLCAgICAgVHlwZU9STUVycm9yLCB9IGZyb20gXCIuLi9lcnJvclwiLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cbmltcG9ydCB7IEFic3RyYWN0UmVwb3NpdG9yeSB9IGZyb20gXCIuLi9yZXBvc2l0b3J5L0Fic3RyYWN0UmVwb3NpdG9yeVwiXG5pbXBvcnQgeyBRdWVyeVJ1bm5lciB9IGZyb20gXCIuLi9xdWVyeS1ydW5uZXIvUXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgU2VsZWN0UXVlcnlCdWlsZGVyIH0gZnJvbSBcIi4uL3F1ZXJ5LWJ1aWxkZXIvU2VsZWN0UXVlcnlCdWlsZGVyXCJcbmltcG9ydCB7IFF1ZXJ5RGVlcFBhcnRpYWxFbnRpdHkgfSBmcm9tIFwiLi4vcXVlcnktYnVpbGRlci9RdWVyeVBhcnRpYWxFbnRpdHlcIlxuaW1wb3J0IHsgRW50aXR5UGVyc2lzdEV4ZWN1dG9yIH0gZnJvbSBcIi4uL3BlcnNpc3RlbmNlL0VudGl0eVBlcnNpc3RFeGVjdXRvclwiXG5pbXBvcnQgeyBPYmplY3RJRCB9IGZyb20gXCIuLi9kcml2ZXIvbW9uZ29kYi90eXBpbmdzXCJcbmltcG9ydCB7IEluc2VydFJlc3VsdCB9IGZyb20gXCIuLi9xdWVyeS1idWlsZGVyL3Jlc3VsdC9JbnNlcnRSZXN1bHRcIlxuaW1wb3J0IHsgVXBkYXRlUmVzdWx0IH0gZnJvbSBcIi4uL3F1ZXJ5LWJ1aWxkZXIvcmVzdWx0L1VwZGF0ZVJlc3VsdFwiXG5pbXBvcnQgeyBEZWxldGVSZXN1bHQgfSBmcm9tIFwiLi4vcXVlcnktYnVpbGRlci9yZXN1bHQvRGVsZXRlUmVzdWx0XCJcbmltcG9ydCB7IEZpbmRPcHRpb25zV2hlcmUgfSBmcm9tIFwiLi4vZmluZC1vcHRpb25zL0ZpbmRPcHRpb25zV2hlcmVcIlxuaW1wb3J0IHsgSXNvbGF0aW9uTGV2ZWwgfSBmcm9tIFwiLi4vZHJpdmVyL3R5cGVzL0lzb2xhdGlvbkxldmVsXCJcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSBcIi4uL3V0aWwvT2JqZWN0VXRpbHNcIlxuaW1wb3J0IHsgZ2V0TWV0YWRhdGFBcmdzU3RvcmFnZSB9IGZyb20gXCIuLi9nbG9iYWxzXCJcbmltcG9ydCB7IFVwc2VydE9wdGlvbnMgfSBmcm9tIFwiLi4vcmVwb3NpdG9yeS9VcHNlcnRPcHRpb25zXCJcbmltcG9ydCB7IEluc3RhbmNlQ2hlY2tlciB9IGZyb20gXCIuLi91dGlsL0luc3RhbmNlQ2hlY2tlclwiXG5pbXBvcnQgeyBPYmplY3RMaXRlcmFsIH0gZnJvbSBcIi4uL2NvbW1vbi9PYmplY3RMaXRlcmFsXCJcblxuLyoqXG4gKiBFbnRpdHkgbWFuYWdlciBzdXBwb3NlZCB0byB3b3JrIHdpdGggYW55IGVudGl0eSwgYXV0b21hdGljYWxseSBmaW5kIGl0cyByZXBvc2l0b3J5IGFuZCBjYWxsIGl0cyBtZXRob2RzLFxuICogd2hhdGV2ZXIgZW50aXR5IHR5cGUgYXJlIHlvdSBwYXNzaW5nLlxuICovXG5leHBvcnQgY2xhc3MgRW50aXR5TWFuYWdlciB7XG4gICAgcmVhZG9ubHkgXCJAaW5zdGFuY2VvZlwiID0gU3ltYm9sLmZvcihcIkVudGl0eU1hbmFnZXJcIilcblxuXG5cblxuXG4gICAgLyoqXG4gICAgICogQ29ubmVjdGlvbiB1c2VkIGJ5IHRoaXMgZW50aXR5IG1hbmFnZXIuXG4gICAgICovXG4gICAgcmVhZG9ubHkgY29ubmVjdGlvbjogRGF0YVNvdXJjZVxuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHF1ZXJ5IHJ1bm5lciB0byBiZSB1c2VkIGZvciBvcGVyYXRpb25zIGluIHRoaXMgZW50aXR5IG1hbmFnZXIuXG4gICAgICogVXNlZCBvbmx5IGluIG5vbi1nbG9iYWwgZW50aXR5IG1hbmFnZXIuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcXVlcnlSdW5uZXI/OiBRdWVyeVJ1bm5lclxuXG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBPbmNlIGNyZWF0ZWQgYW5kIHRoZW4gcmV1c2VkIGJ5IHJlcG9zaXRvcmllcy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVwb3NpdG9yaWVzOiBSZXBvc2l0b3J5PGFueT5bXSA9IFtdXG5cbiAgICAvKipcbiAgICAgKiBPbmNlIGNyZWF0ZWQgYW5kIHRoZW4gcmV1c2VkIGJ5IHJlcG9zaXRvcmllcy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdHJlZVJlcG9zaXRvcmllczogVHJlZVJlcG9zaXRvcnk8YW55PltdID0gW11cblxuICAgIC8qKlxuICAgICAqIFBsYWluIHRvIG9iamVjdCB0cmFuc2Zvcm1lciB1c2VkIGluIGNyZWF0ZSBhbmQgbWVyZ2Ugb3BlcmF0aW9ucy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGxhaW5PYmplY3RUb0VudGl0eVRyYW5zZm9ybWVyID1cbiAgICAgICAgbmV3IFBsYWluT2JqZWN0VG9OZXdFbnRpdHlUcmFuc2Zvcm1lcigpXG5cblxuXG5cblxuICAgIGNvbnN0cnVjdG9yKGNvbm5lY3Rpb246IERhdGFTb3VyY2UsIHF1ZXJ5UnVubmVyPzogUXVlcnlSdW5uZXIpIHtcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uID0gY29ubmVjdGlvblxuICAgICAgICBpZiAocXVlcnlSdW5uZXIpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIgPSBxdWVyeVJ1bm5lclxuXG4gICAgICAgICAgICBPYmplY3RVdGlscy5hc3NpZ24odGhpcy5xdWVyeVJ1bm5lciwgeyBtYW5hZ2VyOiB0aGlzIH0pXG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIFdyYXBzIGdpdmVuIGZ1bmN0aW9uIGV4ZWN1dGlvbiAoYW5kIGFsbCBvcGVyYXRpb25zIG1hZGUgdGhlcmUpIGluIGEgdHJhbnNhY3Rpb24uXG4gICAgICogQWxsIGRhdGFiYXNlIG9wZXJhdGlvbnMgbXVzdCBiZSBleGVjdXRlZCB1c2luZyBwcm92aWRlZCBlbnRpdHkgbWFuYWdlci5cbiAgICAgKi9cbiAgICBhc3luYyB0cmFuc2FjdGlvbjxUPihcbiAgICAgICAgcnVuSW5UcmFuc2FjdGlvbjogKGVudGl0eU1hbmFnZXI6IEVudGl0eU1hbmFnZXIpID0+IFByb21pc2U8VD4sXG4gICAgKTogUHJvbWlzZTxUPlxuXG4gICAgLyoqXG4gICAgICogV3JhcHMgZ2l2ZW4gZnVuY3Rpb24gZXhlY3V0aW9uIChhbmQgYWxsIG9wZXJhdGlvbnMgbWFkZSB0aGVyZSkgaW4gYSB0cmFuc2FjdGlvbi5cbiAgICAgKiBBbGwgZGF0YWJhc2Ugb3BlcmF0aW9ucyBtdXN0IGJlIGV4ZWN1dGVkIHVzaW5nIHByb3ZpZGVkIGVudGl0eSBtYW5hZ2VyLlxuICAgICAqL1xuICAgIGFzeW5jIHRyYW5zYWN0aW9uPFQ+KFxuICAgICAgICBpc29sYXRpb25MZXZlbDogSXNvbGF0aW9uTGV2ZWwsXG4gICAgICAgIHJ1bkluVHJhbnNhY3Rpb246IChlbnRpdHlNYW5hZ2VyOiBFbnRpdHlNYW5hZ2VyKSA9PiBQcm9taXNlPFQ+LFxuICAgICk6IFByb21pc2U8VD5cblxuICAgIC8qKlxuICAgICAqIFdyYXBzIGdpdmVuIGZ1bmN0aW9uIGV4ZWN1dGlvbiAoYW5kIGFsbCBvcGVyYXRpb25zIG1hZGUgdGhlcmUpIGluIGEgdHJhbnNhY3Rpb24uXG4gICAgICogQWxsIGRhdGFiYXNlIG9wZXJhdGlvbnMgbXVzdCBiZSBleGVjdXRlZCB1c2luZyBwcm92aWRlZCBlbnRpdHkgbWFuYWdlci5cbiAgICAgKi9cbiAgICBhc3luYyB0cmFuc2FjdGlvbjxUPihcbiAgICAgICAgaXNvbGF0aW9uT3JSdW5JblRyYW5zYWN0aW9uOlxuICAgICAgICAgICAgfCBJc29sYXRpb25MZXZlbFxuICAgICAgICAgICAgfCAoKGVudGl0eU1hbmFnZXI6IEVudGl0eU1hbmFnZXIpID0+IFByb21pc2U8VD4pLFxuICAgICAgICBydW5JblRyYW5zYWN0aW9uUGFyYW0/OiAoZW50aXR5TWFuYWdlcjogRW50aXR5TWFuYWdlcikgPT4gUHJvbWlzZTxUPixcbiAgICApOiBQcm9taXNlPFQ+IHtcbiAgICAgICAgY29uc3QgaXNvbGF0aW9uID1cbiAgICAgICAgICAgIHR5cGVvZiBpc29sYXRpb25PclJ1bkluVHJhbnNhY3Rpb24gPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgICAgICA/IGlzb2xhdGlvbk9yUnVuSW5UcmFuc2FjdGlvblxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgIGNvbnN0IHJ1bkluVHJhbnNhY3Rpb24gPVxuICAgICAgICAgICAgdHlwZW9mIGlzb2xhdGlvbk9yUnVuSW5UcmFuc2FjdGlvbiA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgICAgICAgPyBpc29sYXRpb25PclJ1bkluVHJhbnNhY3Rpb25cbiAgICAgICAgICAgICAgICA6IHJ1bkluVHJhbnNhY3Rpb25QYXJhbVxuXG4gICAgICAgIGlmICghcnVuSW5UcmFuc2FjdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVPUk1FcnJvcihcbiAgICAgICAgICAgICAgICBgVHJhbnNhY3Rpb24gbWV0aG9kIHJlcXVpcmVzIGNhbGxiYWNrIGluIHNlY29uZCBwYXJhbWV0ZXIgaWYgaXNvbGF0aW9uIGxldmVsIGlzIHN1cHBsaWVkLmAsXG4gICAgICAgICAgICApXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5xdWVyeVJ1bm5lciAmJiB0aGlzLnF1ZXJ5UnVubmVyLmlzUmVsZWFzZWQpXG4gICAgICAgICAgICB0aHJvdyBuZXcgUXVlcnlSdW5uZXJQcm92aWRlckFscmVhZHlSZWxlYXNlZEVycm9yKClcblxuXG5cbiAgICAgICAgY29uc3QgcXVlcnlSdW5uZXIgPVxuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lciB8fCB0aGlzLmNvbm5lY3Rpb24uY3JlYXRlUXVlcnlSdW5uZXIoKVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBxdWVyeVJ1bm5lci5zdGFydFRyYW5zYWN0aW9uKGlzb2xhdGlvbilcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJ1bkluVHJhbnNhY3Rpb24ocXVlcnlSdW5uZXIubWFuYWdlcilcbiAgICAgICAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbW1pdFRyYW5zYWN0aW9uKClcbiAgICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucm9sbGJhY2tUcmFuc2FjdGlvbigpXG4gICAgICAgICAgICB9IGNhdGNoIChyb2xsYmFja0Vycm9yKSB7fVxuICAgICAgICAgICAgdGhyb3cgZXJyXG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucXVlcnlSdW5uZXIpXG5cbiAgICAgICAgICAgICAgICBhd2FpdCBxdWVyeVJ1bm5lci5yZWxlYXNlKClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIHJhdyBTUUwgcXVlcnkgYW5kIHJldHVybnMgcmF3IGRhdGFiYXNlIHJlc3VsdHMuXG4gICAgICovXG4gICAgYXN5bmMgcXVlcnkocXVlcnk6IHN0cmluZywgcGFyYW1ldGVycz86IGFueVtdKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbi5xdWVyeShxdWVyeSwgcGFyYW1ldGVycywgdGhpcy5xdWVyeVJ1bm5lcilcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IHF1ZXJ5IGJ1aWxkZXIgdGhhdCBjYW4gYmUgdXNlZCB0byBidWlsZCBhIFNRTCBxdWVyeS5cbiAgICAgKi9cbiAgICBjcmVhdGVRdWVyeUJ1aWxkZXI8RW50aXR5IGV4dGVuZHMgT2JqZWN0TGl0ZXJhbD4oXG4gICAgICAgIGVudGl0eUNsYXNzOiBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICAgICAgYWxpYXM6IHN0cmluZyxcbiAgICAgICAgcXVlcnlSdW5uZXI/OiBRdWVyeVJ1bm5lcixcbiAgICApOiBTZWxlY3RRdWVyeUJ1aWxkZXI8RW50aXR5PlxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBxdWVyeSBidWlsZGVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gYnVpbGQgYSBTUUwgcXVlcnkuXG4gICAgICovXG4gICAgY3JlYXRlUXVlcnlCdWlsZGVyKHF1ZXJ5UnVubmVyPzogUXVlcnlSdW5uZXIpOiBTZWxlY3RRdWVyeUJ1aWxkZXI8YW55PlxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBxdWVyeSBidWlsZGVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gYnVpbGQgYSBTUUwgcXVlcnkuXG4gICAgICovXG4gICAgY3JlYXRlUXVlcnlCdWlsZGVyPEVudGl0eSBleHRlbmRzIE9iamVjdExpdGVyYWw+KFxuICAgICAgICBlbnRpdHlDbGFzcz86IEVudGl0eVRhcmdldDxFbnRpdHk+IHwgUXVlcnlSdW5uZXIsXG4gICAgICAgIGFsaWFzPzogc3RyaW5nLFxuICAgICAgICBxdWVyeVJ1bm5lcj86IFF1ZXJ5UnVubmVyLFxuICAgICk6IFNlbGVjdFF1ZXJ5QnVpbGRlcjxFbnRpdHk+IHtcbiAgICAgICAgaWYgKGFsaWFzKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uLmNyZWF0ZVF1ZXJ5QnVpbGRlcihcbiAgICAgICAgICAgICAgICBlbnRpdHlDbGFzcyBhcyBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICAgICAgICAgICAgICBhbGlhcyxcbiAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lciB8fCB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbi5jcmVhdGVRdWVyeUJ1aWxkZXIoXG4gICAgICAgICAgICAgICAgKGVudGl0eUNsYXNzIGFzIFF1ZXJ5UnVubmVyIHwgdW5kZWZpbmVkKSB8fFxuICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lciB8fFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGVudGl0eSBoYXMgYW4gaWQuXG4gICAgICovXG4gICAgaGFzSWQoZW50aXR5OiBhbnkpOiBib29sZWFuXG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgZW50aXR5IG9mIGdpdmVuIHNjaGVtYSBuYW1lIGhhcyBhbiBpZC5cbiAgICAgKi9cbiAgICBoYXNJZCh0YXJnZXQ6IEZ1bmN0aW9uIHwgc3RyaW5nLCBlbnRpdHk6IGFueSk6IGJvb2xlYW5cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBlbnRpdHkgaGFzIGFuIGlkIGJ5IGl0cyBGdW5jdGlvbiB0eXBlIG9yIHNjaGVtYSBuYW1lLlxuICAgICAqL1xuICAgIGhhc0lkKHRhcmdldE9yRW50aXR5OiBhbnkgfCBGdW5jdGlvbiB8IHN0cmluZywgbWF5YmVFbnRpdHk/OiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID1cbiAgICAgICAgICAgIGFyZ3VtZW50cy5sZW5ndGggPT09IDIgPyB0YXJnZXRPckVudGl0eSA6IHRhcmdldE9yRW50aXR5LmNvbnN0cnVjdG9yXG4gICAgICAgIGNvbnN0IGVudGl0eSA9IGFyZ3VtZW50cy5sZW5ndGggPT09IDIgPyBtYXliZUVudGl0eSA6IHRhcmdldE9yRW50aXR5XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jb25uZWN0aW9uLmdldE1ldGFkYXRhKHRhcmdldClcbiAgICAgICAgcmV0dXJuIG1ldGFkYXRhLmhhc0lkKGVudGl0eSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGVudGl0eSBtaXhlZCBpZC5cbiAgICAgKi9cbiAgICBnZXRJZChlbnRpdHk6IGFueSk6IGFueVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBlbnRpdHkgbWl4ZWQgaWQuXG4gICAgICovXG4gICAgZ2V0SWQodGFyZ2V0OiBFbnRpdHlUYXJnZXQ8YW55PiwgZW50aXR5OiBhbnkpOiBhbnlcblxuICAgIC8qKlxuICAgICAqIEdldHMgZW50aXR5IG1peGVkIGlkLlxuICAgICAqL1xuICAgIGdldElkKHRhcmdldE9yRW50aXR5OiBhbnkgfCBFbnRpdHlUYXJnZXQ8YW55PiwgbWF5YmVFbnRpdHk/OiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCB0YXJnZXQgPVxuICAgICAgICAgICAgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiA/IHRhcmdldE9yRW50aXR5IDogdGFyZ2V0T3JFbnRpdHkuY29uc3RydWN0b3JcbiAgICAgICAgY29uc3QgZW50aXR5ID0gYXJndW1lbnRzLmxlbmd0aCA9PT0gMiA/IG1heWJlRW50aXR5IDogdGFyZ2V0T3JFbnRpdHlcbiAgICAgICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmNvbm5lY3Rpb24uZ2V0TWV0YWRhdGEodGFyZ2V0KVxuICAgICAgICByZXR1cm4gbWV0YWRhdGEuZ2V0RW50aXR5SWRNaXhlZE1hcChlbnRpdHkpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBlbnRpdHkgaW5zdGFuY2UgYW5kIGNvcGllcyBhbGwgZW50aXR5IHByb3BlcnRpZXMgZnJvbSB0aGlzIG9iamVjdCBpbnRvIGEgbmV3IGVudGl0eS5cbiAgICAgKiBOb3RlIHRoYXQgaXQgY29waWVzIG9ubHkgcHJvcGVydGllcyB0aGF0IHByZXNlbnQgaW4gZW50aXR5IHNjaGVtYS5cbiAgICAgKi9cbiAgICBjcmVhdGU8RW50aXR5PihcbiAgICAgICAgZW50aXR5Q2xhc3M6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBwbGFpbk9iamVjdD86IERlZXBQYXJ0aWFsPEVudGl0eT4sXG4gICAgKTogRW50aXR5XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IGVudGl0aWVzIGFuZCBjb3BpZXMgYWxsIGVudGl0eSBwcm9wZXJ0aWVzIGZyb20gZ2l2ZW4gb2JqZWN0cyBpbnRvIHRoZWlyIG5ldyBlbnRpdGllcy5cbiAgICAgKiBOb3RlIHRoYXQgaXQgY29waWVzIG9ubHkgcHJvcGVydGllcyB0aGF0IHByZXNlbnQgaW4gZW50aXR5IHNjaGVtYS5cbiAgICAgKi9cbiAgICBjcmVhdGU8RW50aXR5PihcbiAgICAgICAgZW50aXR5Q2xhc3M6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBwbGFpbk9iamVjdHM/OiBEZWVwUGFydGlhbDxFbnRpdHk+W10sXG4gICAgKTogRW50aXR5W11cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgZW50aXR5IGluc3RhbmNlIG9yIGluc3RhbmNlcy5cbiAgICAgKiBDYW4gY29weSBwcm9wZXJ0aWVzIGZyb20gdGhlIGdpdmVuIG9iamVjdCBpbnRvIG5ldyBlbnRpdGllcy5cbiAgICAgKi9cbiAgICBjcmVhdGU8RW50aXR5PihcbiAgICAgICAgZW50aXR5Q2xhc3M6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBwbGFpbk9iamVjdE9yT2JqZWN0cz86IERlZXBQYXJ0aWFsPEVudGl0eT4gfCBEZWVwUGFydGlhbDxFbnRpdHk+W10sXG4gICAgKTogRW50aXR5IHwgRW50aXR5W10ge1xuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY29ubmVjdGlvbi5nZXRNZXRhZGF0YShlbnRpdHlDbGFzcylcblxuICAgICAgICBpZiAoIXBsYWluT2JqZWN0T3JPYmplY3RzKSByZXR1cm4gbWV0YWRhdGEuY3JlYXRlKHRoaXMucXVlcnlSdW5uZXIpXG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGxhaW5PYmplY3RPck9iamVjdHMpKVxuICAgICAgICAgICAgcmV0dXJuIChwbGFpbk9iamVjdE9yT2JqZWN0cyBhcyBEZWVwUGFydGlhbDxFbnRpdHk+W10pLm1hcChcbiAgICAgICAgICAgICAgICAocGxhaW5FbnRpdHlMaWtlKSA9PiB0aGlzLmNyZWF0ZShlbnRpdHlDbGFzcywgcGxhaW5FbnRpdHlMaWtlKSxcbiAgICAgICAgICAgIClcblxuICAgICAgICBjb25zdCBtZXJnZUludG9FbnRpdHkgPSBtZXRhZGF0YS5jcmVhdGUodGhpcy5xdWVyeVJ1bm5lcilcbiAgICAgICAgdGhpcy5wbGFpbk9iamVjdFRvRW50aXR5VHJhbnNmb3JtZXIudHJhbnNmb3JtKFxuICAgICAgICAgICAgbWVyZ2VJbnRvRW50aXR5LFxuICAgICAgICAgICAgcGxhaW5PYmplY3RPck9iamVjdHMsXG4gICAgICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgIClcbiAgICAgICAgcmV0dXJuIG1lcmdlSW50b0VudGl0eVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1lcmdlcyB0d28gZW50aXRpZXMgaW50byBvbmUgbmV3IGVudGl0eS5cbiAgICAgKi9cbiAgICBtZXJnZTxFbnRpdHkgZXh0ZW5kcyBPYmplY3RMaXRlcmFsPihcbiAgICAgICAgZW50aXR5Q2xhc3M6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBtZXJnZUludG9FbnRpdHk6IEVudGl0eSxcbiAgICAgICAgLi4uZW50aXR5TGlrZXM6IERlZXBQYXJ0aWFsPEVudGl0eT5bXVxuICAgICk6IEVudGl0eSB7XG5cbiAgICAgICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmNvbm5lY3Rpb24uZ2V0TWV0YWRhdGEoZW50aXR5Q2xhc3MpXG4gICAgICAgIGVudGl0eUxpa2VzLmZvckVhY2goKG9iamVjdCkgPT5cbiAgICAgICAgICAgIHRoaXMucGxhaW5PYmplY3RUb0VudGl0eVRyYW5zZm9ybWVyLnRyYW5zZm9ybShcbiAgICAgICAgICAgICAgICBtZXJnZUludG9FbnRpdHksXG4gICAgICAgICAgICAgICAgb2JqZWN0LFxuICAgICAgICAgICAgICAgIG1ldGFkYXRhLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKVxuICAgICAgICByZXR1cm4gbWVyZ2VJbnRvRW50aXR5XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBlbnRpdHkgZnJvbSB0aGUgZ2l2ZW4gcGxhaW4gamF2YXNjcmlwdCBvYmplY3QuIElmIGVudGl0eSBhbHJlYWR5IGV4aXN0IGluIHRoZSBkYXRhYmFzZSwgdGhlblxuICAgICAqIGl0IGxvYWRzIGl0IChhbmQgZXZlcnl0aGluZyByZWxhdGVkIHRvIGl0KSwgcmVwbGFjZXMgYWxsIHZhbHVlcyB3aXRoIHRoZSBuZXcgb25lcyBmcm9tIHRoZSBnaXZlbiBvYmplY3RcbiAgICAgKiBhbmQgcmV0dXJucyB0aGlzIG5ldyBlbnRpdHkuIFRoaXMgbmV3IGVudGl0eSBpcyBhY3R1YWxseSBhIGxvYWRlZCBmcm9tIHRoZSBkYiBlbnRpdHkgd2l0aCBhbGwgcHJvcGVydGllc1xuICAgICAqIHJlcGxhY2VkIGZyb20gdGhlIG5ldyBvYmplY3QuXG4gICAgICovXG4gICAgYXN5bmMgcHJlbG9hZDxFbnRpdHkgZXh0ZW5kcyBPYmplY3RMaXRlcmFsPihcbiAgICAgICAgZW50aXR5Q2xhc3M6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBlbnRpdHlMaWtlOiBEZWVwUGFydGlhbDxFbnRpdHk+LFxuICAgICk6IFByb21pc2U8RW50aXR5IHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jb25uZWN0aW9uLmdldE1ldGFkYXRhKGVudGl0eUNsYXNzKVxuICAgICAgICBjb25zdCBwbGFpbk9iamVjdFRvRGF0YWJhc2VFbnRpdHlUcmFuc2Zvcm1lciA9XG4gICAgICAgICAgICBuZXcgUGxhaW5PYmplY3RUb0RhdGFiYXNlRW50aXR5VHJhbnNmb3JtZXIodGhpcy5jb25uZWN0aW9uLm1hbmFnZXIpXG4gICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkRW50aXR5ID1cbiAgICAgICAgICAgIGF3YWl0IHBsYWluT2JqZWN0VG9EYXRhYmFzZUVudGl0eVRyYW5zZm9ybWVyLnRyYW5zZm9ybShcbiAgICAgICAgICAgICAgICBlbnRpdHlMaWtlLFxuICAgICAgICAgICAgICAgIG1ldGFkYXRhLFxuICAgICAgICAgICAgKVxuICAgICAgICBpZiAodHJhbnNmb3JtZWRFbnRpdHkpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tZXJnZShcbiAgICAgICAgICAgICAgICBlbnRpdHlDbGFzcyBhcyBhbnksXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtZWRFbnRpdHkgYXMgRW50aXR5LFxuICAgICAgICAgICAgICAgIGVudGl0eUxpa2UsXG4gICAgICAgICAgICApXG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNhdmVzIGFsbCBnaXZlbiBlbnRpdGllcyBpbiB0aGUgZGF0YWJhc2UuXG4gICAgICogSWYgZW50aXRpZXMgZG8gbm90IGV4aXN0IGluIHRoZSBkYXRhYmFzZSB0aGVuIGluc2VydHMsIG90aGVyd2lzZSB1cGRhdGVzLlxuICAgICAqL1xuICAgIHNhdmU8RW50aXR5PihlbnRpdGllczogRW50aXR5W10sIG9wdGlvbnM/OiBTYXZlT3B0aW9ucyk6IFByb21pc2U8RW50aXR5W10+XG5cbiAgICAvKipcbiAgICAgKiBTYXZlcyBhbGwgZ2l2ZW4gZW50aXRpZXMgaW4gdGhlIGRhdGFiYXNlLlxuICAgICAqIElmIGVudGl0aWVzIGRvIG5vdCBleGlzdCBpbiB0aGUgZGF0YWJhc2UgdGhlbiBpbnNlcnRzLCBvdGhlcndpc2UgdXBkYXRlcy5cbiAgICAgKi9cbiAgICBzYXZlPEVudGl0eT4oZW50aXR5OiBFbnRpdHksIG9wdGlvbnM/OiBTYXZlT3B0aW9ucyk6IFByb21pc2U8RW50aXR5PlxuXG4gICAgLyoqXG4gICAgICogU2F2ZXMgYWxsIGdpdmVuIGVudGl0aWVzIGluIHRoZSBkYXRhYmFzZS5cbiAgICAgKiBJZiBlbnRpdGllcyBkbyBub3QgZXhpc3QgaW4gdGhlIGRhdGFiYXNlIHRoZW4gaW5zZXJ0cywgb3RoZXJ3aXNlIHVwZGF0ZXMuXG4gICAgICovXG4gICAgc2F2ZTxFbnRpdHksIFQgZXh0ZW5kcyBEZWVwUGFydGlhbDxFbnRpdHk+PihcbiAgICAgICAgdGFyZ2V0T3JFbnRpdHk6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBlbnRpdGllczogVFtdLFxuICAgICAgICBvcHRpb25zOiBTYXZlT3B0aW9ucyAmIHsgcmVsb2FkOiBmYWxzZSB9LFxuICAgICk6IFByb21pc2U8VFtdPlxuXG4gICAgLyoqXG4gICAgICogU2F2ZXMgYWxsIGdpdmVuIGVudGl0aWVzIGluIHRoZSBkYXRhYmFzZS5cbiAgICAgKiBJZiBlbnRpdGllcyBkbyBub3QgZXhpc3QgaW4gdGhlIGRhdGFiYXNlIHRoZW4gaW5zZXJ0cywgb3RoZXJ3aXNlIHVwZGF0ZXMuXG4gICAgICovXG4gICAgc2F2ZTxFbnRpdHksIFQgZXh0ZW5kcyBEZWVwUGFydGlhbDxFbnRpdHk+PihcbiAgICAgICAgdGFyZ2V0T3JFbnRpdHk6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBlbnRpdGllczogVFtdLFxuICAgICAgICBvcHRpb25zPzogU2F2ZU9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTwoVCAmIEVudGl0eSlbXT5cblxuICAgIC8qKlxuICAgICAqIFNhdmVzIGEgZ2l2ZW4gZW50aXR5IGluIHRoZSBkYXRhYmFzZS5cbiAgICAgKiBJZiBlbnRpdHkgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGRhdGFiYXNlIHRoZW4gaW5zZXJ0cywgb3RoZXJ3aXNlIHVwZGF0ZXMuXG4gICAgICovXG4gICAgc2F2ZTxFbnRpdHksIFQgZXh0ZW5kcyBEZWVwUGFydGlhbDxFbnRpdHk+PihcbiAgICAgICAgdGFyZ2V0T3JFbnRpdHk6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBlbnRpdHk6IFQsXG4gICAgICAgIG9wdGlvbnM6IFNhdmVPcHRpb25zICYgeyByZWxvYWQ6IGZhbHNlIH0sXG4gICAgKTogUHJvbWlzZTxUPlxuXG4gICAgLyoqXG4gICAgICogU2F2ZXMgYSBnaXZlbiBlbnRpdHkgaW4gdGhlIGRhdGFiYXNlLlxuICAgICAqIElmIGVudGl0eSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgZGF0YWJhc2UgdGhlbiBpbnNlcnRzLCBvdGhlcndpc2UgdXBkYXRlcy5cbiAgICAgKi9cbiAgICBzYXZlPEVudGl0eSwgVCBleHRlbmRzIERlZXBQYXJ0aWFsPEVudGl0eT4+KFxuICAgICAgICB0YXJnZXRPckVudGl0eTogRW50aXR5VGFyZ2V0PEVudGl0eT4sXG4gICAgICAgIGVudGl0eTogVCxcbiAgICAgICAgb3B0aW9ucz86IFNhdmVPcHRpb25zLFxuICAgICk6IFByb21pc2U8VCAmIEVudGl0eT5cblxuICAgIC8qKlxuICAgICAqIFNhdmVzIGEgZ2l2ZW4gZW50aXR5IGluIHRoZSBkYXRhYmFzZS5cbiAgICAgKi9cbiAgICBzYXZlPEVudGl0eSBleHRlbmRzIE9iamVjdExpdGVyYWwsIFQgZXh0ZW5kcyBEZWVwUGFydGlhbDxFbnRpdHk+PihcbiAgICAgICAgdGFyZ2V0T3JFbnRpdHk6IChUIHwgVFtdKSB8IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBtYXliZUVudGl0eU9yT3B0aW9ucz86IFQgfCBUW10sXG4gICAgICAgIG1heWJlT3B0aW9ucz86IFNhdmVPcHRpb25zLFxuICAgICk6IFByb21pc2U8VCB8IFRbXT4ge1xuXG4gICAgICAgIGxldCB0YXJnZXQgPVxuICAgICAgICAgICAgYXJndW1lbnRzLmxlbmd0aCA+IDEgJiZcbiAgICAgICAgICAgICh0eXBlb2YgdGFyZ2V0T3JFbnRpdHkgPT09IFwiZnVuY3Rpb25cIiB8fFxuICAgICAgICAgICAgICAgIEluc3RhbmNlQ2hlY2tlci5pc0VudGl0eVNjaGVtYSh0YXJnZXRPckVudGl0eSkgfHxcbiAgICAgICAgICAgICAgICB0eXBlb2YgdGFyZ2V0T3JFbnRpdHkgPT09IFwic3RyaW5nXCIpXG4gICAgICAgICAgICAgICAgPyAodGFyZ2V0T3JFbnRpdHkgYXMgRnVuY3Rpb24gfCBzdHJpbmcpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgY29uc3QgZW50aXR5OiBUIHwgVFtdID0gdGFyZ2V0XG4gICAgICAgICAgICA/IChtYXliZUVudGl0eU9yT3B0aW9ucyBhcyBUIHwgVFtdKVxuICAgICAgICAgICAgOiAodGFyZ2V0T3JFbnRpdHkgYXMgVCB8IFRbXSlcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRhcmdldFxuICAgICAgICAgICAgPyBtYXliZU9wdGlvbnNcbiAgICAgICAgICAgIDogKG1heWJlRW50aXR5T3JPcHRpb25zIGFzIFNhdmVPcHRpb25zKVxuXG4gICAgICAgIGlmIChJbnN0YW5jZUNoZWNrZXIuaXNFbnRpdHlTY2hlbWEodGFyZ2V0KSkgdGFyZ2V0ID0gdGFyZ2V0Lm9wdGlvbnMubmFtZVxuXG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZW50aXR5KSAmJiBlbnRpdHkubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShlbnRpdHkpXG5cblxuICAgICAgICByZXR1cm4gbmV3IEVudGl0eVBlcnNpc3RFeGVjdXRvcihcbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbixcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIsXG4gICAgICAgICAgICBcInNhdmVcIixcbiAgICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICAgIGVudGl0eSxcbiAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgIClcbiAgICAgICAgICAgIC5leGVjdXRlKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IGVudGl0eSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgZ2l2ZW4gZW50aXR5IGZyb20gdGhlIGRhdGFiYXNlLlxuICAgICAqL1xuICAgIHJlbW92ZTxFbnRpdHk+KGVudGl0eTogRW50aXR5LCBvcHRpb25zPzogUmVtb3ZlT3B0aW9ucyk6IFByb21pc2U8RW50aXR5PlxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhIGdpdmVuIGVudGl0eSBmcm9tIHRoZSBkYXRhYmFzZS5cbiAgICAgKi9cbiAgICByZW1vdmU8RW50aXR5PihcbiAgICAgICAgdGFyZ2V0T3JFbnRpdHk6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBlbnRpdHk6IEVudGl0eSxcbiAgICAgICAgb3B0aW9ucz86IFJlbW92ZU9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxFbnRpdHk+XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgZ2l2ZW4gZW50aXR5IGZyb20gdGhlIGRhdGFiYXNlLlxuICAgICAqL1xuICAgIHJlbW92ZTxFbnRpdHk+KGVudGl0eTogRW50aXR5W10sIG9wdGlvbnM/OiBSZW1vdmVPcHRpb25zKTogUHJvbWlzZTxFbnRpdHk+XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgZ2l2ZW4gZW50aXR5IGZyb20gdGhlIGRhdGFiYXNlLlxuICAgICAqL1xuICAgIHJlbW92ZTxFbnRpdHk+KFxuICAgICAgICB0YXJnZXRPckVudGl0eTogRW50aXR5VGFyZ2V0PEVudGl0eT4sXG4gICAgICAgIGVudGl0eTogRW50aXR5W10sXG4gICAgICAgIG9wdGlvbnM/OiBSZW1vdmVPcHRpb25zLFxuICAgICk6IFByb21pc2U8RW50aXR5W10+XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgZ2l2ZW4gZW50aXR5IGZyb20gdGhlIGRhdGFiYXNlLlxuICAgICAqL1xuICAgIHJlbW92ZTxFbnRpdHkgZXh0ZW5kcyBPYmplY3RMaXRlcmFsPihcbiAgICAgICAgdGFyZ2V0T3JFbnRpdHk6IChFbnRpdHkgfCBFbnRpdHlbXSkgfCBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICAgICAgbWF5YmVFbnRpdHlPck9wdGlvbnM/OiBFbnRpdHkgfCBFbnRpdHlbXSxcbiAgICAgICAgbWF5YmVPcHRpb25zPzogUmVtb3ZlT3B0aW9ucyxcbiAgICApOiBQcm9taXNlPEVudGl0eSB8IEVudGl0eVtdPiB7XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0ID1cbiAgICAgICAgICAgIGFyZ3VtZW50cy5sZW5ndGggPiAxICYmXG4gICAgICAgICAgICAodHlwZW9mIHRhcmdldE9yRW50aXR5ID09PSBcImZ1bmN0aW9uXCIgfHxcbiAgICAgICAgICAgICAgICBJbnN0YW5jZUNoZWNrZXIuaXNFbnRpdHlTY2hlbWEodGFyZ2V0T3JFbnRpdHkpIHx8XG4gICAgICAgICAgICAgICAgdHlwZW9mIHRhcmdldE9yRW50aXR5ID09PSBcInN0cmluZ1wiKVxuICAgICAgICAgICAgICAgID8gKHRhcmdldE9yRW50aXR5IGFzIEZ1bmN0aW9uIHwgc3RyaW5nKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgIGNvbnN0IGVudGl0eTogRW50aXR5IHwgRW50aXR5W10gPSB0YXJnZXRcbiAgICAgICAgICAgID8gKG1heWJlRW50aXR5T3JPcHRpb25zIGFzIEVudGl0eSB8IEVudGl0eVtdKVxuICAgICAgICAgICAgOiAodGFyZ2V0T3JFbnRpdHkgYXMgRW50aXR5IHwgRW50aXR5W10pXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0YXJnZXRcbiAgICAgICAgICAgID8gbWF5YmVPcHRpb25zXG4gICAgICAgICAgICA6IChtYXliZUVudGl0eU9yT3B0aW9ucyBhcyBTYXZlT3B0aW9ucylcblxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGVudGl0eSkgJiYgZW50aXR5Lmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZW50aXR5KVxuXG5cbiAgICAgICAgcmV0dXJuIG5ldyBFbnRpdHlQZXJzaXN0RXhlY3V0b3IoXG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgXCJyZW1vdmVcIixcbiAgICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICAgIGVudGl0eSxcbiAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgIClcbiAgICAgICAgICAgIC5leGVjdXRlKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IGVudGl0eSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWNvcmRzIHRoZSBkZWxldGUgZGF0ZSBvZiBhbGwgZ2l2ZW4gZW50aXRpZXMuXG4gICAgICovXG4gICAgc29mdFJlbW92ZTxFbnRpdHk+KFxuICAgICAgICBlbnRpdGllczogRW50aXR5W10sXG4gICAgICAgIG9wdGlvbnM/OiBTYXZlT3B0aW9ucyxcbiAgICApOiBQcm9taXNlPEVudGl0eVtdPlxuXG4gICAgLyoqXG4gICAgICogUmVjb3JkcyB0aGUgZGVsZXRlIGRhdGUgb2YgYSBnaXZlbiBlbnRpdHkuXG4gICAgICovXG4gICAgc29mdFJlbW92ZTxFbnRpdHk+KGVudGl0eTogRW50aXR5LCBvcHRpb25zPzogU2F2ZU9wdGlvbnMpOiBQcm9taXNlPEVudGl0eT5cblxuICAgIC8qKlxuICAgICAqIFJlY29yZHMgdGhlIGRlbGV0ZSBkYXRlIG9mIGFsbCBnaXZlbiBlbnRpdGllcy5cbiAgICAgKi9cbiAgICBzb2Z0UmVtb3ZlPEVudGl0eSwgVCBleHRlbmRzIERlZXBQYXJ0aWFsPEVudGl0eT4+KFxuICAgICAgICB0YXJnZXRPckVudGl0eTogRW50aXR5VGFyZ2V0PEVudGl0eT4sXG4gICAgICAgIGVudGl0aWVzOiBUW10sXG4gICAgICAgIG9wdGlvbnM/OiBTYXZlT3B0aW9ucyxcbiAgICApOiBQcm9taXNlPFRbXT5cblxuICAgIC8qKlxuICAgICAqIFJlY29yZHMgdGhlIGRlbGV0ZSBkYXRlIG9mIGEgZ2l2ZW4gZW50aXR5LlxuICAgICAqL1xuICAgIHNvZnRSZW1vdmU8RW50aXR5LCBUIGV4dGVuZHMgRGVlcFBhcnRpYWw8RW50aXR5Pj4oXG4gICAgICAgIHRhcmdldE9yRW50aXR5OiBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICAgICAgZW50aXR5OiBULFxuICAgICAgICBvcHRpb25zPzogU2F2ZU9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxUPlxuXG4gICAgLyoqXG4gICAgICogUmVjb3JkcyB0aGUgZGVsZXRlIGRhdGUgb2Ygb25lIG9yIG1hbnkgZ2l2ZW4gZW50aXRpZXMuXG4gICAgICovXG4gICAgc29mdFJlbW92ZTxFbnRpdHkgZXh0ZW5kcyBPYmplY3RMaXRlcmFsLCBUIGV4dGVuZHMgRGVlcFBhcnRpYWw8RW50aXR5Pj4oXG4gICAgICAgIHRhcmdldE9yRW50aXR5OiAoVCB8IFRbXSkgfCBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICAgICAgbWF5YmVFbnRpdHlPck9wdGlvbnM/OiBUIHwgVFtdLFxuICAgICAgICBtYXliZU9wdGlvbnM/OiBTYXZlT3B0aW9ucyxcbiAgICApOiBQcm9taXNlPFQgfCBUW10+IHtcblxuICAgICAgICBsZXQgdGFyZ2V0ID1cbiAgICAgICAgICAgIGFyZ3VtZW50cy5sZW5ndGggPiAxICYmXG4gICAgICAgICAgICAodHlwZW9mIHRhcmdldE9yRW50aXR5ID09PSBcImZ1bmN0aW9uXCIgfHxcbiAgICAgICAgICAgICAgICBJbnN0YW5jZUNoZWNrZXIuaXNFbnRpdHlTY2hlbWEodGFyZ2V0T3JFbnRpdHkpIHx8XG4gICAgICAgICAgICAgICAgdHlwZW9mIHRhcmdldE9yRW50aXR5ID09PSBcInN0cmluZ1wiKVxuICAgICAgICAgICAgICAgID8gKHRhcmdldE9yRW50aXR5IGFzIEZ1bmN0aW9uIHwgc3RyaW5nKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgIGNvbnN0IGVudGl0eTogVCB8IFRbXSA9IHRhcmdldFxuICAgICAgICAgICAgPyAobWF5YmVFbnRpdHlPck9wdGlvbnMgYXMgVCB8IFRbXSlcbiAgICAgICAgICAgIDogKHRhcmdldE9yRW50aXR5IGFzIFQgfCBUW10pXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0YXJnZXRcbiAgICAgICAgICAgID8gbWF5YmVPcHRpb25zXG4gICAgICAgICAgICA6IChtYXliZUVudGl0eU9yT3B0aW9ucyBhcyBTYXZlT3B0aW9ucylcblxuICAgICAgICBpZiAoSW5zdGFuY2VDaGVja2VyLmlzRW50aXR5U2NoZW1hKHRhcmdldCkpIHRhcmdldCA9IHRhcmdldC5vcHRpb25zLm5hbWVcblxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGVudGl0eSkgJiYgZW50aXR5Lmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZW50aXR5KVxuXG5cbiAgICAgICAgcmV0dXJuIG5ldyBFbnRpdHlQZXJzaXN0RXhlY3V0b3IoXG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgXCJzb2Z0LXJlbW92ZVwiLFxuICAgICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICAgZW50aXR5LFxuICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgKVxuICAgICAgICAgICAgLmV4ZWN1dGUoKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gZW50aXR5KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlY292ZXJzIGFsbCBnaXZlbiBlbnRpdGllcy5cbiAgICAgKi9cbiAgICByZWNvdmVyPEVudGl0eT4oXG4gICAgICAgIGVudGl0aWVzOiBFbnRpdHlbXSxcbiAgICAgICAgb3B0aW9ucz86IFNhdmVPcHRpb25zLFxuICAgICk6IFByb21pc2U8RW50aXR5W10+XG5cbiAgICAvKipcbiAgICAgKiBSZWNvdmVycyBhIGdpdmVuIGVudGl0eS5cbiAgICAgKi9cbiAgICByZWNvdmVyPEVudGl0eT4oZW50aXR5OiBFbnRpdHksIG9wdGlvbnM/OiBTYXZlT3B0aW9ucyk6IFByb21pc2U8RW50aXR5PlxuXG4gICAgLyoqXG4gICAgICogUmVjb3ZlcnMgYWxsIGdpdmVuIGVudGl0aWVzLlxuICAgICAqL1xuICAgIHJlY292ZXI8RW50aXR5LCBUIGV4dGVuZHMgRGVlcFBhcnRpYWw8RW50aXR5Pj4oXG4gICAgICAgIHRhcmdldE9yRW50aXR5OiBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICAgICAgZW50aXRpZXM6IFRbXSxcbiAgICAgICAgb3B0aW9ucz86IFNhdmVPcHRpb25zLFxuICAgICk6IFByb21pc2U8VFtdPlxuXG4gICAgLyoqXG4gICAgICogUmVjb3ZlcnMgYSBnaXZlbiBlbnRpdHkuXG4gICAgICovXG4gICAgcmVjb3ZlcjxFbnRpdHksIFQgZXh0ZW5kcyBEZWVwUGFydGlhbDxFbnRpdHk+PihcbiAgICAgICAgdGFyZ2V0T3JFbnRpdHk6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBlbnRpdHk6IFQsXG4gICAgICAgIG9wdGlvbnM/OiBTYXZlT3B0aW9ucyxcbiAgICApOiBQcm9taXNlPFQ+XG5cbiAgICAvKipcbiAgICAgKiBSZWNvdmVycyBvbmUgb3IgbWFueSBnaXZlbiBlbnRpdGllcy5cbiAgICAgKi9cbiAgICByZWNvdmVyPEVudGl0eSBleHRlbmRzIE9iamVjdExpdGVyYWwsIFQgZXh0ZW5kcyBEZWVwUGFydGlhbDxFbnRpdHk+PihcbiAgICAgICAgdGFyZ2V0T3JFbnRpdHk6IChUIHwgVFtdKSB8IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBtYXliZUVudGl0eU9yT3B0aW9ucz86IFQgfCBUW10sXG4gICAgICAgIG1heWJlT3B0aW9ucz86IFNhdmVPcHRpb25zLFxuICAgICk6IFByb21pc2U8VCB8IFRbXT4ge1xuXG4gICAgICAgIGxldCB0YXJnZXQgPVxuICAgICAgICAgICAgYXJndW1lbnRzLmxlbmd0aCA+IDEgJiZcbiAgICAgICAgICAgICh0eXBlb2YgdGFyZ2V0T3JFbnRpdHkgPT09IFwiZnVuY3Rpb25cIiB8fFxuICAgICAgICAgICAgICAgIEluc3RhbmNlQ2hlY2tlci5pc0VudGl0eVNjaGVtYSh0YXJnZXRPckVudGl0eSkgfHxcbiAgICAgICAgICAgICAgICB0eXBlb2YgdGFyZ2V0T3JFbnRpdHkgPT09IFwic3RyaW5nXCIpXG4gICAgICAgICAgICAgICAgPyAodGFyZ2V0T3JFbnRpdHkgYXMgRnVuY3Rpb24gfCBzdHJpbmcpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgY29uc3QgZW50aXR5OiBUIHwgVFtdID0gdGFyZ2V0XG4gICAgICAgICAgICA/IChtYXliZUVudGl0eU9yT3B0aW9ucyBhcyBUIHwgVFtdKVxuICAgICAgICAgICAgOiAodGFyZ2V0T3JFbnRpdHkgYXMgVCB8IFRbXSlcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRhcmdldFxuICAgICAgICAgICAgPyBtYXliZU9wdGlvbnNcbiAgICAgICAgICAgIDogKG1heWJlRW50aXR5T3JPcHRpb25zIGFzIFNhdmVPcHRpb25zKVxuXG4gICAgICAgIGlmIChJbnN0YW5jZUNoZWNrZXIuaXNFbnRpdHlTY2hlbWEodGFyZ2V0KSkgdGFyZ2V0ID0gdGFyZ2V0Lm9wdGlvbnMubmFtZVxuXG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZW50aXR5KSAmJiBlbnRpdHkubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShlbnRpdHkpXG5cblxuICAgICAgICByZXR1cm4gbmV3IEVudGl0eVBlcnNpc3RFeGVjdXRvcihcbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbixcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIsXG4gICAgICAgICAgICBcInJlY292ZXJcIixcbiAgICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICAgIGVudGl0eSxcbiAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgIClcbiAgICAgICAgICAgIC5leGVjdXRlKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IGVudGl0eSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnNlcnRzIGEgZ2l2ZW4gZW50aXR5IGludG8gdGhlIGRhdGFiYXNlLlxuICAgICAqIFVubGlrZSBzYXZlIG1ldGhvZCBleGVjdXRlcyBhIHByaW1pdGl2ZSBvcGVyYXRpb24gd2l0aG91dCBjYXNjYWRlcywgcmVsYXRpb25zIGFuZCBvdGhlciBvcGVyYXRpb25zIGluY2x1ZGVkLlxuICAgICAqIEV4ZWN1dGVzIGZhc3QgYW5kIGVmZmljaWVudCBJTlNFUlQgcXVlcnkuXG4gICAgICogRG9lcyBub3QgY2hlY2sgaWYgZW50aXR5IGV4aXN0IGluIHRoZSBkYXRhYmFzZSwgc28gcXVlcnkgd2lsbCBmYWlsIGlmIGR1cGxpY2F0ZSBlbnRpdHkgaXMgYmVpbmcgaW5zZXJ0ZWQuXG4gICAgICogWW91IGNhbiBleGVjdXRlIGJ1bGsgaW5zZXJ0cyB1c2luZyB0aGlzIG1ldGhvZC5cbiAgICAgKi9cbiAgICBhc3luYyBpbnNlcnQ8RW50aXR5IGV4dGVuZHMgT2JqZWN0TGl0ZXJhbD4oXG4gICAgICAgIHRhcmdldDogRW50aXR5VGFyZ2V0PEVudGl0eT4sXG4gICAgICAgIGVudGl0eTpcbiAgICAgICAgICAgIHwgUXVlcnlEZWVwUGFydGlhbEVudGl0eTxFbnRpdHk+XG4gICAgICAgICAgICB8IFF1ZXJ5RGVlcFBhcnRpYWxFbnRpdHk8RW50aXR5PltdLFxuICAgICk6IFByb21pc2U8SW5zZXJ0UmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAgICAgICAuaW5zZXJ0KClcbiAgICAgICAgICAgIC5pbnRvKHRhcmdldClcbiAgICAgICAgICAgIC52YWx1ZXMoZW50aXR5KVxuICAgICAgICAgICAgLmV4ZWN1dGUoKVxuICAgIH1cblxuICAgIGFzeW5jIHVwc2VydDxFbnRpdHkgZXh0ZW5kcyBPYmplY3RMaXRlcmFsPihcbiAgICAgICAgdGFyZ2V0OiBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICAgICAgZW50aXR5T3JFbnRpdGllczpcbiAgICAgICAgICAgIHwgUXVlcnlEZWVwUGFydGlhbEVudGl0eTxFbnRpdHk+XG4gICAgICAgICAgICB8IFF1ZXJ5RGVlcFBhcnRpYWxFbnRpdHk8RW50aXR5PltdLFxuICAgICAgICBjb25mbGljdFBhdGhzT3JPcHRpb25zOiBzdHJpbmdbXSB8IFVwc2VydE9wdGlvbnM8RW50aXR5PixcbiAgICApOiBQcm9taXNlPEluc2VydFJlc3VsdD4ge1xuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY29ubmVjdGlvbi5nZXRNZXRhZGF0YSh0YXJnZXQpXG5cbiAgICAgICAgbGV0IG9wdGlvbnM6IFVwc2VydE9wdGlvbnM8RW50aXR5PlxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbmZsaWN0UGF0aHNPck9wdGlvbnMpKSB7XG4gICAgICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIGNvbmZsaWN0UGF0aHM6IGNvbmZsaWN0UGF0aHNPck9wdGlvbnMsXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvcHRpb25zID0gY29uZmxpY3RQYXRoc09yT3B0aW9uc1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGVudGl0aWVzOiBRdWVyeURlZXBQYXJ0aWFsRW50aXR5PEVudGl0eT5bXVxuXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShlbnRpdHlPckVudGl0aWVzKSkge1xuICAgICAgICAgICAgZW50aXRpZXMgPSBbZW50aXR5T3JFbnRpdGllc11cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVudGl0aWVzID0gZW50aXR5T3JFbnRpdGllc1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29uZmxpY3RDb2x1bW5zID0gbWV0YWRhdGEubWFwUHJvcGVydHlQYXRoc1RvQ29sdW1ucyhcbiAgICAgICAgICAgIG9wdGlvbnMuY29uZmxpY3RQYXRocyxcbiAgICAgICAgKVxuXG4gICAgICAgIGNvbnN0IG92ZXJ3cml0ZUNvbHVtbnMgPSBtZXRhZGF0YS5jb2x1bW5zLmZpbHRlcihcbiAgICAgICAgICAgIChjb2wpID0+XG4gICAgICAgICAgICAgICAgIWNvbmZsaWN0Q29sdW1ucy5pbmNsdWRlcyhjb2wpICYmXG4gICAgICAgICAgICAgICAgZW50aXRpZXMuc29tZShcbiAgICAgICAgICAgICAgICAgICAgKGVudGl0eSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBjb2wuZ2V0RW50aXR5VmFsdWUoZW50aXR5KSAhPT0gXCJ1bmRlZmluZWRcIixcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgICAgICAgIC5pbnNlcnQoKVxuICAgICAgICAgICAgLmludG8odGFyZ2V0KVxuICAgICAgICAgICAgLnZhbHVlcyhlbnRpdGllcylcbiAgICAgICAgICAgIC5vclVwZGF0ZShcbiAgICAgICAgICAgICAgICBbLi4uY29uZmxpY3RDb2x1bW5zLCAuLi5vdmVyd3JpdGVDb2x1bW5zXS5tYXAoXG4gICAgICAgICAgICAgICAgICAgIChjb2wpID0+IGNvbC5kYXRhYmFzZU5hbWUsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjb25mbGljdENvbHVtbnMubWFwKChjb2wpID0+IGNvbC5kYXRhYmFzZU5hbWUpLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc2tpcFVwZGF0ZUlmTm9WYWx1ZXNDaGFuZ2VkOlxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5za2lwVXBkYXRlSWZOb1ZhbHVlc0NoYW5nZWQsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5leGVjdXRlKClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGVudGl0eSBwYXJ0aWFsbHkuIEVudGl0eSBjYW4gYmUgZm91bmQgYnkgYSBnaXZlbiBjb25kaXRpb24ocykuXG4gICAgICogVW5saWtlIHNhdmUgbWV0aG9kIGV4ZWN1dGVzIGEgcHJpbWl0aXZlIG9wZXJhdGlvbiB3aXRob3V0IGNhc2NhZGVzLCByZWxhdGlvbnMgYW5kIG90aGVyIG9wZXJhdGlvbnMgaW5jbHVkZWQuXG4gICAgICogRXhlY3V0ZXMgZmFzdCBhbmQgZWZmaWNpZW50IFVQREFURSBxdWVyeS5cbiAgICAgKiBEb2VzIG5vdCBjaGVjayBpZiBlbnRpdHkgZXhpc3QgaW4gdGhlIGRhdGFiYXNlLlxuICAgICAqIENvbmRpdGlvbihzKSBjYW5ub3QgYmUgZW1wdHkuXG4gICAgICovXG4gICAgdXBkYXRlPEVudGl0eSBleHRlbmRzIE9iamVjdExpdGVyYWw+KFxuICAgICAgICB0YXJnZXQ6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBjcml0ZXJpYTpcbiAgICAgICAgICAgIHwgc3RyaW5nXG4gICAgICAgICAgICB8IHN0cmluZ1tdXG4gICAgICAgICAgICB8IG51bWJlclxuICAgICAgICAgICAgfCBudW1iZXJbXVxuICAgICAgICAgICAgfCBEYXRlXG4gICAgICAgICAgICB8IERhdGVbXVxuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICAgICAgICAgIHwgYW55LFxuICAgICAgICBwYXJ0aWFsRW50aXR5OiBRdWVyeURlZXBQYXJ0aWFsRW50aXR5PEVudGl0eT4sXG4gICAgKTogUHJvbWlzZTxVcGRhdGVSZXN1bHQ+IHtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBjcml0ZXJpYSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICBjcml0ZXJpYSA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgY3JpdGVyaWEgPT09IFwiXCIgfHxcbiAgICAgICAgICAgIChBcnJheS5pc0FycmF5KGNyaXRlcmlhKSAmJiBjcml0ZXJpYS5sZW5ndGggPT09IDApXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxuICAgICAgICAgICAgICAgIG5ldyBUeXBlT1JNRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgIGBFbXB0eSBjcml0ZXJpYShzKSBhcmUgbm90IGFsbG93ZWQgZm9yIHRoZSB1cGRhdGUgbWV0aG9kLmAsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHR5cGVvZiBjcml0ZXJpYSA9PT0gXCJzdHJpbmdcIiB8fFxuICAgICAgICAgICAgdHlwZW9mIGNyaXRlcmlhID09PSBcIm51bWJlclwiIHx8XG4gICAgICAgICAgICBjcml0ZXJpYSBpbnN0YW5jZW9mIERhdGUgfHxcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoY3JpdGVyaWEpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgICAgICAgICAgICAudXBkYXRlKHRhcmdldClcbiAgICAgICAgICAgICAgICAuc2V0KHBhcnRpYWxFbnRpdHkpXG4gICAgICAgICAgICAgICAgLndoZXJlSW5JZHMoY3JpdGVyaWEpXG4gICAgICAgICAgICAgICAgLmV4ZWN1dGUoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgICAgICAgICAgICAudXBkYXRlKHRhcmdldClcbiAgICAgICAgICAgICAgICAuc2V0KHBhcnRpYWxFbnRpdHkpXG4gICAgICAgICAgICAgICAgLndoZXJlKGNyaXRlcmlhKVxuICAgICAgICAgICAgICAgIC5leGVjdXRlKClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlbGV0ZXMgZW50aXRpZXMgYnkgYSBnaXZlbiBjb25kaXRpb24ocykuXG4gICAgICogVW5saWtlIHNhdmUgbWV0aG9kIGV4ZWN1dGVzIGEgcHJpbWl0aXZlIG9wZXJhdGlvbiB3aXRob3V0IGNhc2NhZGVzLCByZWxhdGlvbnMgYW5kIG90aGVyIG9wZXJhdGlvbnMgaW5jbHVkZWQuXG4gICAgICogRXhlY3V0ZXMgZmFzdCBhbmQgZWZmaWNpZW50IERFTEVURSBxdWVyeS5cbiAgICAgKiBEb2VzIG5vdCBjaGVjayBpZiBlbnRpdHkgZXhpc3QgaW4gdGhlIGRhdGFiYXNlLlxuICAgICAqIENvbmRpdGlvbihzKSBjYW5ub3QgYmUgZW1wdHkuXG4gICAgICovXG4gICAgZGVsZXRlPEVudGl0eSBleHRlbmRzIE9iamVjdExpdGVyYWw+KFxuICAgICAgICB0YXJnZXRPckVudGl0eTogRW50aXR5VGFyZ2V0PEVudGl0eT4sXG4gICAgICAgIGNyaXRlcmlhOlxuICAgICAgICAgICAgfCBzdHJpbmdcbiAgICAgICAgICAgIHwgc3RyaW5nW11cbiAgICAgICAgICAgIHwgbnVtYmVyXG4gICAgICAgICAgICB8IG51bWJlcltdXG4gICAgICAgICAgICB8IERhdGVcbiAgICAgICAgICAgIHwgRGF0ZVtdXG4gICAgICAgICAgICB8IE9iamVjdElEXG4gICAgICAgICAgICB8IE9iamVjdElEW11cbiAgICAgICAgICAgIHwgYW55LFxuICAgICk6IFByb21pc2U8RGVsZXRlUmVzdWx0PiB7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY3JpdGVyaWEgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgY3JpdGVyaWEgPT09IG51bGwgfHxcbiAgICAgICAgICAgIGNyaXRlcmlhID09PSBcIlwiIHx8XG4gICAgICAgICAgICAoQXJyYXkuaXNBcnJheShjcml0ZXJpYSkgJiYgY3JpdGVyaWEubGVuZ3RoID09PSAwKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcbiAgICAgICAgICAgICAgICBuZXcgVHlwZU9STUVycm9yKFxuICAgICAgICAgICAgICAgICAgICBgRW1wdHkgY3JpdGVyaWEocykgYXJlIG5vdCBhbGxvd2VkIGZvciB0aGUgZGVsZXRlIG1ldGhvZC5gLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0eXBlb2YgY3JpdGVyaWEgPT09IFwic3RyaW5nXCIgfHxcbiAgICAgICAgICAgIHR5cGVvZiBjcml0ZXJpYSA9PT0gXCJudW1iZXJcIiB8fFxuICAgICAgICAgICAgY3JpdGVyaWEgaW5zdGFuY2VvZiBEYXRlIHx8XG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KGNyaXRlcmlhKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAgICAgICAgICAgLmRlbGV0ZSgpXG4gICAgICAgICAgICAgICAgLmZyb20odGFyZ2V0T3JFbnRpdHkpXG4gICAgICAgICAgICAgICAgLndoZXJlSW5JZHMoY3JpdGVyaWEpXG4gICAgICAgICAgICAgICAgLmV4ZWN1dGUoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgICAgICAgICAgICAuZGVsZXRlKClcbiAgICAgICAgICAgICAgICAuZnJvbSh0YXJnZXRPckVudGl0eSlcbiAgICAgICAgICAgICAgICAud2hlcmUoY3JpdGVyaWEpXG4gICAgICAgICAgICAgICAgLmV4ZWN1dGUoKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVjb3JkcyB0aGUgZGVsZXRlIGRhdGUgb2YgZW50aXRpZXMgYnkgYSBnaXZlbiBjb25kaXRpb24ocykuXG4gICAgICogVW5saWtlIHNhdmUgbWV0aG9kIGV4ZWN1dGVzIGEgcHJpbWl0aXZlIG9wZXJhdGlvbiB3aXRob3V0IGNhc2NhZGVzLCByZWxhdGlvbnMgYW5kIG90aGVyIG9wZXJhdGlvbnMgaW5jbHVkZWQuXG4gICAgICogRXhlY3V0ZXMgZmFzdCBhbmQgZWZmaWNpZW50IERFTEVURSBxdWVyeS5cbiAgICAgKiBEb2VzIG5vdCBjaGVjayBpZiBlbnRpdHkgZXhpc3QgaW4gdGhlIGRhdGFiYXNlLlxuICAgICAqIENvbmRpdGlvbihzKSBjYW5ub3QgYmUgZW1wdHkuXG4gICAgICovXG4gICAgc29mdERlbGV0ZTxFbnRpdHkgZXh0ZW5kcyBPYmplY3RMaXRlcmFsPihcbiAgICAgICAgdGFyZ2V0T3JFbnRpdHk6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBjcml0ZXJpYTpcbiAgICAgICAgICAgIHwgc3RyaW5nXG4gICAgICAgICAgICB8IHN0cmluZ1tdXG4gICAgICAgICAgICB8IG51bWJlclxuICAgICAgICAgICAgfCBudW1iZXJbXVxuICAgICAgICAgICAgfCBEYXRlXG4gICAgICAgICAgICB8IERhdGVbXVxuICAgICAgICAgICAgfCBPYmplY3RJRFxuICAgICAgICAgICAgfCBPYmplY3RJRFtdXG4gICAgICAgICAgICB8IGFueSxcbiAgICApOiBQcm9taXNlPFVwZGF0ZVJlc3VsdD4ge1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGNyaXRlcmlhID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIGNyaXRlcmlhID09PSBudWxsIHx8XG4gICAgICAgICAgICBjcml0ZXJpYSA9PT0gXCJcIiB8fFxuICAgICAgICAgICAgKEFycmF5LmlzQXJyYXkoY3JpdGVyaWEpICYmIGNyaXRlcmlhLmxlbmd0aCA9PT0gMClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgICAgICAgICAgbmV3IFR5cGVPUk1FcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYEVtcHR5IGNyaXRlcmlhKHMpIGFyZSBub3QgYWxsb3dlZCBmb3IgdGhlIGRlbGV0ZSBtZXRob2QuYCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZW9mIGNyaXRlcmlhID09PSBcInN0cmluZ1wiIHx8XG4gICAgICAgICAgICB0eXBlb2YgY3JpdGVyaWEgPT09IFwibnVtYmVyXCIgfHxcbiAgICAgICAgICAgIGNyaXRlcmlhIGluc3RhbmNlb2YgRGF0ZSB8fFxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheShjcml0ZXJpYSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgICAgICAgICAgIC5zb2Z0RGVsZXRlKClcbiAgICAgICAgICAgICAgICAuZnJvbSh0YXJnZXRPckVudGl0eSlcbiAgICAgICAgICAgICAgICAud2hlcmVJbklkcyhjcml0ZXJpYSlcbiAgICAgICAgICAgICAgICAuZXhlY3V0ZSgpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgICAgICAgICAgIC5zb2Z0RGVsZXRlKClcbiAgICAgICAgICAgICAgICAuZnJvbSh0YXJnZXRPckVudGl0eSlcbiAgICAgICAgICAgICAgICAud2hlcmUoY3JpdGVyaWEpXG4gICAgICAgICAgICAgICAgLmV4ZWN1dGUoKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVzdG9yZXMgZW50aXRpZXMgYnkgYSBnaXZlbiBjb25kaXRpb24ocykuXG4gICAgICogVW5saWtlIHNhdmUgbWV0aG9kIGV4ZWN1dGVzIGEgcHJpbWl0aXZlIG9wZXJhdGlvbiB3aXRob3V0IGNhc2NhZGVzLCByZWxhdGlvbnMgYW5kIG90aGVyIG9wZXJhdGlvbnMgaW5jbHVkZWQuXG4gICAgICogRXhlY3V0ZXMgZmFzdCBhbmQgZWZmaWNpZW50IERFTEVURSBxdWVyeS5cbiAgICAgKiBEb2VzIG5vdCBjaGVjayBpZiBlbnRpdHkgZXhpc3QgaW4gdGhlIGRhdGFiYXNlLlxuICAgICAqIENvbmRpdGlvbihzKSBjYW5ub3QgYmUgZW1wdHkuXG4gICAgICovXG4gICAgcmVzdG9yZTxFbnRpdHkgZXh0ZW5kcyBPYmplY3RMaXRlcmFsPihcbiAgICAgICAgdGFyZ2V0T3JFbnRpdHk6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBjcml0ZXJpYTpcbiAgICAgICAgICAgIHwgc3RyaW5nXG4gICAgICAgICAgICB8IHN0cmluZ1tdXG4gICAgICAgICAgICB8IG51bWJlclxuICAgICAgICAgICAgfCBudW1iZXJbXVxuICAgICAgICAgICAgfCBEYXRlXG4gICAgICAgICAgICB8IERhdGVbXVxuICAgICAgICAgICAgfCBPYmplY3RJRFxuICAgICAgICAgICAgfCBPYmplY3RJRFtdXG4gICAgICAgICAgICB8IGFueSxcbiAgICApOiBQcm9taXNlPFVwZGF0ZVJlc3VsdD4ge1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGNyaXRlcmlhID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIGNyaXRlcmlhID09PSBudWxsIHx8XG4gICAgICAgICAgICBjcml0ZXJpYSA9PT0gXCJcIiB8fFxuICAgICAgICAgICAgKEFycmF5LmlzQXJyYXkoY3JpdGVyaWEpICYmIGNyaXRlcmlhLmxlbmd0aCA9PT0gMClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgICAgICAgICAgbmV3IFR5cGVPUk1FcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYEVtcHR5IGNyaXRlcmlhKHMpIGFyZSBub3QgYWxsb3dlZCBmb3IgdGhlIGRlbGV0ZSBtZXRob2QuYCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZW9mIGNyaXRlcmlhID09PSBcInN0cmluZ1wiIHx8XG4gICAgICAgICAgICB0eXBlb2YgY3JpdGVyaWEgPT09IFwibnVtYmVyXCIgfHxcbiAgICAgICAgICAgIGNyaXRlcmlhIGluc3RhbmNlb2YgRGF0ZSB8fFxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheShjcml0ZXJpYSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgICAgICAgICAgIC5yZXN0b3JlKClcbiAgICAgICAgICAgICAgICAuZnJvbSh0YXJnZXRPckVudGl0eSlcbiAgICAgICAgICAgICAgICAud2hlcmVJbklkcyhjcml0ZXJpYSlcbiAgICAgICAgICAgICAgICAuZXhlY3V0ZSgpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgICAgICAgICAgIC5yZXN0b3JlKClcbiAgICAgICAgICAgICAgICAuZnJvbSh0YXJnZXRPckVudGl0eSlcbiAgICAgICAgICAgICAgICAud2hlcmUoY3JpdGVyaWEpXG4gICAgICAgICAgICAgICAgLmV4ZWN1dGUoKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ291bnRzIGVudGl0aWVzIHRoYXQgbWF0Y2ggZ2l2ZW4gb3B0aW9ucy5cbiAgICAgKiBVc2VmdWwgZm9yIHBhZ2luYXRpb24uXG4gICAgICovXG4gICAgY291bnQ8RW50aXR5IGV4dGVuZHMgT2JqZWN0TGl0ZXJhbD4oXG4gICAgICAgIGVudGl0eUNsYXNzOiBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICAgICAgb3B0aW9ucz86IEZpbmRNYW55T3B0aW9uczxFbnRpdHk+LFxuICAgICk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jb25uZWN0aW9uLmdldE1ldGFkYXRhKGVudGl0eUNsYXNzKVxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVRdWVyeUJ1aWxkZXIoXG4gICAgICAgICAgICBlbnRpdHlDbGFzcyxcbiAgICAgICAgICAgIEZpbmRPcHRpb25zVXRpbHMuZXh0cmFjdEZpbmRNYW55T3B0aW9uc0FsaWFzKG9wdGlvbnMpIHx8XG4gICAgICAgICAgICAgICAgbWV0YWRhdGEubmFtZSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnNldEZpbmRPcHRpb25zKG9wdGlvbnMgfHwge30pXG4gICAgICAgICAgICAuZ2V0Q291bnQoKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvdW50cyBlbnRpdGllcyB0aGF0IG1hdGNoIGdpdmVuIGNvbmRpdGlvbnMuXG4gICAgICogVXNlZnVsIGZvciBwYWdpbmF0aW9uLlxuICAgICAqL1xuICAgIGNvdW50Qnk8RW50aXR5IGV4dGVuZHMgT2JqZWN0TGl0ZXJhbD4oXG4gICAgICAgIGVudGl0eUNsYXNzOiBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICAgICAgd2hlcmU6IEZpbmRPcHRpb25zV2hlcmU8RW50aXR5PiB8IEZpbmRPcHRpb25zV2hlcmU8RW50aXR5PltdLFxuICAgICk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jb25uZWN0aW9uLmdldE1ldGFkYXRhKGVudGl0eUNsYXNzKVxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVRdWVyeUJ1aWxkZXIoZW50aXR5Q2xhc3MsIG1ldGFkYXRhLm5hbWUpXG4gICAgICAgICAgICAuc2V0RmluZE9wdGlvbnMoeyB3aGVyZSB9KVxuICAgICAgICAgICAgLmdldENvdW50KClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyBlbnRpdGllcyB0aGF0IG1hdGNoIGdpdmVuIGZpbmQgb3B0aW9ucy5cbiAgICAgKi9cbiAgICBhc3luYyBmaW5kPEVudGl0eSBleHRlbmRzIE9iamVjdExpdGVyYWw+KFxuICAgICAgICBlbnRpdHlDbGFzczogRW50aXR5VGFyZ2V0PEVudGl0eT4sXG4gICAgICAgIG9wdGlvbnM/OiBGaW5kTWFueU9wdGlvbnM8RW50aXR5PixcbiAgICApOiBQcm9taXNlPEVudGl0eVtdPiB7XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jb25uZWN0aW9uLmdldE1ldGFkYXRhKGVudGl0eUNsYXNzKVxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVRdWVyeUJ1aWxkZXI8RW50aXR5PihcbiAgICAgICAgICAgIGVudGl0eUNsYXNzIGFzIGFueSxcbiAgICAgICAgICAgIEZpbmRPcHRpb25zVXRpbHMuZXh0cmFjdEZpbmRNYW55T3B0aW9uc0FsaWFzKG9wdGlvbnMpIHx8XG4gICAgICAgICAgICAgICAgbWV0YWRhdGEubmFtZSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnNldEZpbmRPcHRpb25zKG9wdGlvbnMgfHwge30pXG4gICAgICAgICAgICAuZ2V0TWFueSgpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZHMgZW50aXRpZXMgdGhhdCBtYXRjaCBnaXZlbiBmaW5kIG9wdGlvbnMuXG4gICAgICovXG4gICAgYXN5bmMgZmluZEJ5PEVudGl0eSBleHRlbmRzIE9iamVjdExpdGVyYWw+KFxuICAgICAgICBlbnRpdHlDbGFzczogRW50aXR5VGFyZ2V0PEVudGl0eT4sXG4gICAgICAgIHdoZXJlOiBGaW5kT3B0aW9uc1doZXJlPEVudGl0eT4gfCBGaW5kT3B0aW9uc1doZXJlPEVudGl0eT5bXSxcbiAgICApOiBQcm9taXNlPEVudGl0eVtdPiB7XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jb25uZWN0aW9uLmdldE1ldGFkYXRhKGVudGl0eUNsYXNzKVxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVRdWVyeUJ1aWxkZXI8RW50aXR5PihcbiAgICAgICAgICAgIGVudGl0eUNsYXNzIGFzIGFueSxcbiAgICAgICAgICAgIG1ldGFkYXRhLm5hbWUsXG4gICAgICAgIClcbiAgICAgICAgICAgIC5zZXRGaW5kT3B0aW9ucyh7IHdoZXJlOiB3aGVyZSB9KVxuICAgICAgICAgICAgLmdldE1hbnkoKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpbmRzIGVudGl0aWVzIHRoYXQgbWF0Y2ggZ2l2ZW4gZmluZCBvcHRpb25zLlxuICAgICAqIEFsc28gY291bnRzIGFsbCBlbnRpdGllcyB0aGF0IG1hdGNoIGdpdmVuIGNvbmRpdGlvbnMsXG4gICAgICogYnV0IGlnbm9yZXMgcGFnaW5hdGlvbiBzZXR0aW5ncyAoZnJvbSBhbmQgdGFrZSBvcHRpb25zKS5cbiAgICAgKi9cbiAgICBmaW5kQW5kQ291bnQ8RW50aXR5IGV4dGVuZHMgT2JqZWN0TGl0ZXJhbD4oXG4gICAgICAgIGVudGl0eUNsYXNzOiBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICAgICAgb3B0aW9ucz86IEZpbmRNYW55T3B0aW9uczxFbnRpdHk+LFxuICAgICk6IFByb21pc2U8W0VudGl0eVtdLCBudW1iZXJdPiB7XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jb25uZWN0aW9uLmdldE1ldGFkYXRhKGVudGl0eUNsYXNzKVxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVRdWVyeUJ1aWxkZXI8RW50aXR5PihcbiAgICAgICAgICAgIGVudGl0eUNsYXNzIGFzIGFueSxcbiAgICAgICAgICAgIEZpbmRPcHRpb25zVXRpbHMuZXh0cmFjdEZpbmRNYW55T3B0aW9uc0FsaWFzKG9wdGlvbnMpIHx8XG4gICAgICAgICAgICAgICAgbWV0YWRhdGEubmFtZSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnNldEZpbmRPcHRpb25zKG9wdGlvbnMgfHwge30pXG4gICAgICAgICAgICAuZ2V0TWFueUFuZENvdW50KClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyBlbnRpdGllcyB0aGF0IG1hdGNoIGdpdmVuIFdIRVJFIGNvbmRpdGlvbnMuXG4gICAgICogQWxzbyBjb3VudHMgYWxsIGVudGl0aWVzIHRoYXQgbWF0Y2ggZ2l2ZW4gY29uZGl0aW9ucyxcbiAgICAgKiBidXQgaWdub3JlcyBwYWdpbmF0aW9uIHNldHRpbmdzIChmcm9tIGFuZCB0YWtlIG9wdGlvbnMpLlxuICAgICAqL1xuICAgIGZpbmRBbmRDb3VudEJ5PEVudGl0eSBleHRlbmRzIE9iamVjdExpdGVyYWw+KFxuICAgICAgICBlbnRpdHlDbGFzczogRW50aXR5VGFyZ2V0PEVudGl0eT4sXG4gICAgICAgIHdoZXJlOiBGaW5kT3B0aW9uc1doZXJlPEVudGl0eT4gfCBGaW5kT3B0aW9uc1doZXJlPEVudGl0eT5bXSxcbiAgICApOiBQcm9taXNlPFtFbnRpdHlbXSwgbnVtYmVyXT4ge1xuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY29ubmVjdGlvbi5nZXRNZXRhZGF0YShlbnRpdHlDbGFzcylcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUXVlcnlCdWlsZGVyPEVudGl0eT4oXG4gICAgICAgICAgICBlbnRpdHlDbGFzcyBhcyBhbnksXG4gICAgICAgICAgICBtZXRhZGF0YS5uYW1lLFxuICAgICAgICApXG4gICAgICAgICAgICAuc2V0RmluZE9wdGlvbnMoeyB3aGVyZSB9KVxuICAgICAgICAgICAgLmdldE1hbnlBbmRDb3VudCgpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZHMgZW50aXRpZXMgd2l0aCBpZHMuXG4gICAgICogT3B0aW9uYWxseSBmaW5kIG9wdGlvbnMgb3IgY29uZGl0aW9ucyBjYW4gYmUgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBgZmluZEJ5YCBtZXRob2QgaW5zdGVhZCBpbiBjb25qdW5jdGlvbiB3aXRoIGBJbmAgb3BlcmF0b3IsIGZvciBleGFtcGxlOlxuICAgICAqXG4gICAgICogLmZpbmRCeSh7XG4gICAgICogICAgIGlkOiBJbihbMSwgMiwgM10pXG4gICAgICogfSlcbiAgICAgKi9cbiAgICBhc3luYyBmaW5kQnlJZHM8RW50aXR5IGV4dGVuZHMgT2JqZWN0TGl0ZXJhbD4oXG4gICAgICAgIGVudGl0eUNsYXNzOiBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICAgICAgaWRzOiBhbnlbXSxcbiAgICApOiBQcm9taXNlPEVudGl0eVtdPiB7XG5cbiAgICAgICAgaWYgKCFpZHMubGVuZ3RoKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKVxuXG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jb25uZWN0aW9uLmdldE1ldGFkYXRhKGVudGl0eUNsYXNzKVxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVRdWVyeUJ1aWxkZXI8RW50aXR5PihcbiAgICAgICAgICAgIGVudGl0eUNsYXNzIGFzIGFueSxcbiAgICAgICAgICAgIG1ldGFkYXRhLm5hbWUsXG4gICAgICAgIClcbiAgICAgICAgICAgIC5hbmRXaGVyZUluSWRzKGlkcylcbiAgICAgICAgICAgIC5nZXRNYW55KClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyBmaXJzdCBlbnRpdHkgYnkgYSBnaXZlbiBmaW5kIG9wdGlvbnMuXG4gICAgICogSWYgZW50aXR5IHdhcyBub3QgZm91bmQgaW4gdGhlIGRhdGFiYXNlIC0gcmV0dXJucyBudWxsLlxuICAgICAqL1xuICAgIGFzeW5jIGZpbmRPbmU8RW50aXR5IGV4dGVuZHMgT2JqZWN0TGl0ZXJhbD4oXG4gICAgICAgIGVudGl0eUNsYXNzOiBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICAgICAgb3B0aW9uczogRmluZE9uZU9wdGlvbnM8RW50aXR5PixcbiAgICApOiBQcm9taXNlPEVudGl0eSB8IG51bGw+IHtcbiAgICAgICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmNvbm5lY3Rpb24uZ2V0TWV0YWRhdGEoZW50aXR5Q2xhc3MpXG5cblxuICAgICAgICBsZXQgYWxpYXM6IHN0cmluZyA9IG1ldGFkYXRhLm5hbWVcbiAgICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5qb2luKSB7XG4gICAgICAgICAgICBhbGlhcyA9IG9wdGlvbnMuam9pbi5hbGlhc1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFvcHRpb25zLndoZXJlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgYFlvdSBtdXN0IHByb3ZpZGUgc2VsZWN0aW9uIGNvbmRpdGlvbnMgaW4gb3JkZXIgdG8gZmluZCBhIHNpbmdsZSByb3cuYCxcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUXVlcnlCdWlsZGVyPEVudGl0eT4oZW50aXR5Q2xhc3MsIGFsaWFzKVxuICAgICAgICAgICAgLnNldEZpbmRPcHRpb25zKHtcbiAgICAgICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgICAgIHRha2U6IDEsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmdldE9uZSgpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZHMgZmlyc3QgZW50aXR5IHRoYXQgbWF0Y2hlcyBnaXZlbiB3aGVyZSBjb25kaXRpb24uXG4gICAgICogSWYgZW50aXR5IHdhcyBub3QgZm91bmQgaW4gdGhlIGRhdGFiYXNlIC0gcmV0dXJucyBudWxsLlxuICAgICAqL1xuICAgIGFzeW5jIGZpbmRPbmVCeTxFbnRpdHkgZXh0ZW5kcyBPYmplY3RMaXRlcmFsPihcbiAgICAgICAgZW50aXR5Q2xhc3M6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICB3aGVyZTogRmluZE9wdGlvbnNXaGVyZTxFbnRpdHk+IHwgRmluZE9wdGlvbnNXaGVyZTxFbnRpdHk+W10sXG4gICAgKTogUHJvbWlzZTxFbnRpdHkgfCBudWxsPiB7XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jb25uZWN0aW9uLmdldE1ldGFkYXRhKGVudGl0eUNsYXNzKVxuXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUXVlcnlCdWlsZGVyPEVudGl0eT4oZW50aXR5Q2xhc3MsIG1ldGFkYXRhLm5hbWUpXG4gICAgICAgICAgICAuc2V0RmluZE9wdGlvbnMoe1xuICAgICAgICAgICAgICAgIHdoZXJlLFxuICAgICAgICAgICAgICAgIHRha2U6IDEsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmdldE9uZSgpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZHMgZmlyc3QgZW50aXR5IHRoYXQgbWF0Y2hlcyBnaXZlbiBpZC5cbiAgICAgKiBJZiBlbnRpdHkgd2FzIG5vdCBmb3VuZCBpbiB0aGUgZGF0YWJhc2UgLSByZXR1cm5zIG51bGwuXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgYGZpbmRPbmVCeWAgbWV0aG9kIGluc3RlYWQgaW4gY29uanVuY3Rpb24gd2l0aCBgSW5gIG9wZXJhdG9yLCBmb3IgZXhhbXBsZTpcbiAgICAgKlxuICAgICAqIC5maW5kT25lQnkoe1xuICAgICAqICAgICBpZDogMSAvLyB3aGVyZSBcImlkXCIgaXMgeW91ciBwcmltYXJ5IGNvbHVtbiBuYW1lXG4gICAgICogfSlcbiAgICAgKi9cbiAgICBhc3luYyBmaW5kT25lQnlJZDxFbnRpdHkgZXh0ZW5kcyBPYmplY3RMaXRlcmFsPihcbiAgICAgICAgZW50aXR5Q2xhc3M6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBpZDogbnVtYmVyIHwgc3RyaW5nIHwgRGF0ZSB8IE9iamVjdElELFxuICAgICk6IFByb21pc2U8RW50aXR5IHwgbnVsbD4ge1xuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY29ubmVjdGlvbi5nZXRNZXRhZGF0YShlbnRpdHlDbGFzcylcblxuXG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVF1ZXJ5QnVpbGRlcjxFbnRpdHk+KGVudGl0eUNsYXNzLCBtZXRhZGF0YS5uYW1lKVxuICAgICAgICAgICAgLnNldEZpbmRPcHRpb25zKHtcbiAgICAgICAgICAgICAgICB0YWtlOiAxLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC53aGVyZUluSWRzKG1ldGFkYXRhLmVuc3VyZUVudGl0eUlkTWFwKGlkKSlcbiAgICAgICAgICAgIC5nZXRPbmUoKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpbmRzIGZpcnN0IGVudGl0eSBieSBhIGdpdmVuIGZpbmQgb3B0aW9ucy5cbiAgICAgKiBJZiBlbnRpdHkgd2FzIG5vdCBmb3VuZCBpbiB0aGUgZGF0YWJhc2UgLSByZWplY3RzIHdpdGggZXJyb3IuXG4gICAgICovXG4gICAgYXN5bmMgZmluZE9uZU9yRmFpbDxFbnRpdHkgZXh0ZW5kcyBPYmplY3RMaXRlcmFsPihcbiAgICAgICAgZW50aXR5Q2xhc3M6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICBvcHRpb25zOiBGaW5kT25lT3B0aW9uczxFbnRpdHk+LFxuICAgICk6IFByb21pc2U8RW50aXR5PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmRPbmU8RW50aXR5PihlbnRpdHlDbGFzcyBhcyBhbnksIG9wdGlvbnMpLnRoZW4oXG4gICAgICAgICAgICAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEVudGl0eU5vdEZvdW5kRXJyb3IoZW50aXR5Q2xhc3MsIG9wdGlvbnMpLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodmFsdWUpXG4gICAgICAgICAgICB9LFxuICAgICAgICApXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZHMgZmlyc3QgZW50aXR5IHRoYXQgbWF0Y2hlcyBnaXZlbiB3aGVyZSBjb25kaXRpb24uXG4gICAgICogSWYgZW50aXR5IHdhcyBub3QgZm91bmQgaW4gdGhlIGRhdGFiYXNlIC0gcmVqZWN0cyB3aXRoIGVycm9yLlxuICAgICAqL1xuICAgIGFzeW5jIGZpbmRPbmVCeU9yRmFpbDxFbnRpdHkgZXh0ZW5kcyBPYmplY3RMaXRlcmFsPihcbiAgICAgICAgZW50aXR5Q2xhc3M6IEVudGl0eVRhcmdldDxFbnRpdHk+LFxuICAgICAgICB3aGVyZTogRmluZE9wdGlvbnNXaGVyZTxFbnRpdHk+IHwgRmluZE9wdGlvbnNXaGVyZTxFbnRpdHk+W10sXG4gICAgKTogUHJvbWlzZTxFbnRpdHk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZE9uZUJ5PEVudGl0eT4oZW50aXR5Q2xhc3MgYXMgYW55LCB3aGVyZSkudGhlbihcbiAgICAgICAgICAgICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgRW50aXR5Tm90Rm91bmRFcnJvcihlbnRpdHlDbGFzcywgd2hlcmUpLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodmFsdWUpXG4gICAgICAgICAgICB9LFxuICAgICAgICApXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIGFsbCB0aGUgZGF0YSBmcm9tIHRoZSBnaXZlbiB0YWJsZSAodHJ1bmNhdGVzL2Ryb3BzIGl0KS5cbiAgICAgKlxuICAgICAqIE5vdGU6IHRoaXMgbWV0aG9kIHVzZXMgVFJVTkNBVEUgYW5kIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IGluIHRyYW5zYWN0aW9ucyBvbiBzb21lIHBsYXRmb3Jtcy5cbiAgICAgKiBAc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS81OTcyNzM4LzkyNTE1MVxuICAgICAqL1xuICAgIGFzeW5jIGNsZWFyPEVudGl0eT4oZW50aXR5Q2xhc3M6IEVudGl0eVRhcmdldDxFbnRpdHk+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jb25uZWN0aW9uLmdldE1ldGFkYXRhKGVudGl0eUNsYXNzKVxuICAgICAgICBjb25zdCBxdWVyeVJ1bm5lciA9XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyIHx8IHRoaXMuY29ubmVjdGlvbi5jcmVhdGVRdWVyeVJ1bm5lcigpXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgcXVlcnlSdW5uZXIuY2xlYXJUYWJsZShtZXRhZGF0YS50YWJsZVBhdGgpIC8vIGF3YWl0IGlzIG5lZWRlZCBoZXJlIGJlY2F1c2Ugd2UgYXJlIHVzaW5nIGZpbmFsbHlcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5xdWVyeVJ1bm5lcikgYXdhaXQgcXVlcnlSdW5uZXIucmVsZWFzZSgpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbmNyZW1lbnRzIHNvbWUgY29sdW1uIGJ5IHByb3ZpZGVkIHZhbHVlIG9mIHRoZSBlbnRpdGllcyBtYXRjaGVkIGdpdmVuIGNvbmRpdGlvbnMuXG4gICAgICovXG4gICAgYXN5bmMgaW5jcmVtZW50PEVudGl0eSBleHRlbmRzIE9iamVjdExpdGVyYWw+KFxuICAgICAgICBlbnRpdHlDbGFzczogRW50aXR5VGFyZ2V0PEVudGl0eT4sXG4gICAgICAgIGNvbmRpdGlvbnM6IGFueSxcbiAgICAgICAgcHJvcGVydHlQYXRoOiBzdHJpbmcsXG4gICAgICAgIHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsXG4gICAgKTogUHJvbWlzZTxVcGRhdGVSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmNvbm5lY3Rpb24uZ2V0TWV0YWRhdGEoZW50aXR5Q2xhc3MpXG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IG1ldGFkYXRhLmZpbmRDb2x1bW5XaXRoUHJvcGVydHlQYXRoKHByb3BlcnR5UGF0aClcbiAgICAgICAgaWYgKCFjb2x1bW4pXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZU9STUVycm9yKFxuICAgICAgICAgICAgICAgIGBDb2x1bW4gJHtwcm9wZXJ0eVBhdGh9IHdhcyBub3QgZm91bmQgaW4gJHttZXRhZGF0YS50YXJnZXROYW1lfSBlbnRpdHkuYCxcbiAgICAgICAgICAgIClcblxuICAgICAgICBpZiAoaXNOYU4oTnVtYmVyKHZhbHVlKSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZU9STUVycm9yKGBWYWx1ZSBcIiR7dmFsdWV9XCIgaXMgbm90IGEgbnVtYmVyLmApXG5cblxuICAgICAgICBjb25zdCB2YWx1ZXM6IFF1ZXJ5RGVlcFBhcnRpYWxFbnRpdHk8RW50aXR5PiA9IHByb3BlcnR5UGF0aFxuICAgICAgICAgICAgLnNwbGl0KFwiLlwiKVxuICAgICAgICAgICAgLnJlZHVjZVJpZ2h0KFxuICAgICAgICAgICAgICAgICh2YWx1ZSwga2V5KSA9PiAoeyBba2V5XTogdmFsdWUgfSBhcyBhbnkpLFxuICAgICAgICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIuZXNjYXBlKGNvbHVtbi5kYXRhYmFzZU5hbWUpICtcbiAgICAgICAgICAgICAgICAgICAgXCIgKyBcIiArXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVF1ZXJ5QnVpbGRlcjxFbnRpdHk+KGVudGl0eUNsYXNzIGFzIGFueSwgXCJlbnRpdHlcIilcbiAgICAgICAgICAgIC51cGRhdGUoZW50aXR5Q2xhc3MpXG4gICAgICAgICAgICAuc2V0KHZhbHVlcylcbiAgICAgICAgICAgIC53aGVyZShjb25kaXRpb25zKVxuICAgICAgICAgICAgLmV4ZWN1dGUoKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlY3JlbWVudHMgc29tZSBjb2x1bW4gYnkgcHJvdmlkZWQgdmFsdWUgb2YgdGhlIGVudGl0aWVzIG1hdGNoZWQgZ2l2ZW4gY29uZGl0aW9ucy5cbiAgICAgKi9cbiAgICBhc3luYyBkZWNyZW1lbnQ8RW50aXR5IGV4dGVuZHMgT2JqZWN0TGl0ZXJhbD4oXG4gICAgICAgIGVudGl0eUNsYXNzOiBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICAgICAgY29uZGl0aW9uczogYW55LFxuICAgICAgICBwcm9wZXJ0eVBhdGg6IHN0cmluZyxcbiAgICAgICAgdmFsdWU6IG51bWJlciB8IHN0cmluZyxcbiAgICApOiBQcm9taXNlPFVwZGF0ZVJlc3VsdD4ge1xuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY29ubmVjdGlvbi5nZXRNZXRhZGF0YShlbnRpdHlDbGFzcylcbiAgICAgICAgY29uc3QgY29sdW1uID0gbWV0YWRhdGEuZmluZENvbHVtbldpdGhQcm9wZXJ0eVBhdGgocHJvcGVydHlQYXRoKVxuICAgICAgICBpZiAoIWNvbHVtbilcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlT1JNRXJyb3IoXG4gICAgICAgICAgICAgICAgYENvbHVtbiAke3Byb3BlcnR5UGF0aH0gd2FzIG5vdCBmb3VuZCBpbiAke21ldGFkYXRhLnRhcmdldE5hbWV9IGVudGl0eS5gLFxuICAgICAgICAgICAgKVxuXG4gICAgICAgIGlmIChpc05hTihOdW1iZXIodmFsdWUpKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlT1JNRXJyb3IoYFZhbHVlIFwiJHt2YWx1ZX1cIiBpcyBub3QgYSBudW1iZXIuYClcblxuXG4gICAgICAgIGNvbnN0IHZhbHVlczogUXVlcnlEZWVwUGFydGlhbEVudGl0eTxFbnRpdHk+ID0gcHJvcGVydHlQYXRoXG4gICAgICAgICAgICAuc3BsaXQoXCIuXCIpXG4gICAgICAgICAgICAucmVkdWNlUmlnaHQoXG4gICAgICAgICAgICAgICAgKHZhbHVlLCBrZXkpID0+ICh7IFtrZXldOiB2YWx1ZSB9IGFzIGFueSksXG4gICAgICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmRyaXZlci5lc2NhcGUoY29sdW1uLmRhdGFiYXNlTmFtZSkgK1xuICAgICAgICAgICAgICAgICAgICBcIiAtIFwiICtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUXVlcnlCdWlsZGVyPEVudGl0eT4oZW50aXR5Q2xhc3MgYXMgYW55LCBcImVudGl0eVwiKVxuICAgICAgICAgICAgLnVwZGF0ZShlbnRpdHlDbGFzcylcbiAgICAgICAgICAgIC5zZXQodmFsdWVzKVxuICAgICAgICAgICAgLndoZXJlKGNvbmRpdGlvbnMpXG4gICAgICAgICAgICAuZXhlY3V0ZSgpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyByZXBvc2l0b3J5IGZvciB0aGUgZ2l2ZW4gZW50aXR5IGNsYXNzIG9yIG5hbWUuXG4gICAgICogSWYgc2luZ2xlIGRhdGFiYXNlIGNvbm5lY3Rpb24gbW9kZSBpcyB1c2VkLCB0aGVuIHJlcG9zaXRvcnkgaXMgb2J0YWluZWQgZnJvbSB0aGVcbiAgICAgKiByZXBvc2l0b3J5IGFnZ3JlZ2F0b3IsIHdoZXJlIGVhY2ggcmVwb3NpdG9yeSBpcyBpbmRpdmlkdWFsbHkgY3JlYXRlZCBmb3IgdGhpcyBlbnRpdHkgbWFuYWdlci5cbiAgICAgKiBXaGVuIHNpbmdsZSBkYXRhYmFzZSBjb25uZWN0aW9uIGlzIG5vdCB1c2VkLCByZXBvc2l0b3J5IGlzIGJlaW5nIG9idGFpbmVkIGZyb20gdGhlIGNvbm5lY3Rpb24uXG4gICAgICovXG4gICAgZ2V0UmVwb3NpdG9yeTxFbnRpdHkgZXh0ZW5kcyBPYmplY3RMaXRlcmFsPihcbiAgICAgICAgdGFyZ2V0OiBFbnRpdHlUYXJnZXQ8RW50aXR5PixcbiAgICApOiBSZXBvc2l0b3J5PEVudGl0eT4ge1xuXG4gICAgICAgIGNvbnN0IHJlcG9zaXRvcnkgPSB0aGlzLnJlcG9zaXRvcmllcy5maW5kKFxuICAgICAgICAgICAgKHJlcG9zaXRvcnkpID0+IHJlcG9zaXRvcnkudGFyZ2V0ID09PSB0YXJnZXQsXG4gICAgICAgIClcbiAgICAgICAgaWYgKHJlcG9zaXRvcnkpIHJldHVybiByZXBvc2l0b3J5XG5cblxuICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uLmRyaXZlci5vcHRpb25zLnR5cGUgPT09IFwibW9uZ29kYlwiKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICAgICAgICByZXR1cm4gKHZvaWQgMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBuZXdSZXBvc2l0b3J5ID0gbmV3IFJlcG9zaXRvcnk8YW55PihcbiAgICAgICAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgdGhpcy5yZXBvc2l0b3JpZXMucHVzaChuZXdSZXBvc2l0b3J5KVxuICAgICAgICAgICAgcmV0dXJuIG5ld1JlcG9zaXRvcnlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdHJlZSByZXBvc2l0b3J5IGZvciB0aGUgZ2l2ZW4gZW50aXR5IGNsYXNzIG9yIG5hbWUuXG4gICAgICogSWYgc2luZ2xlIGRhdGFiYXNlIGNvbm5lY3Rpb24gbW9kZSBpcyB1c2VkLCB0aGVuIHJlcG9zaXRvcnkgaXMgb2J0YWluZWQgZnJvbSB0aGVcbiAgICAgKiByZXBvc2l0b3J5IGFnZ3JlZ2F0b3IsIHdoZXJlIGVhY2ggcmVwb3NpdG9yeSBpcyBpbmRpdmlkdWFsbHkgY3JlYXRlZCBmb3IgdGhpcyBlbnRpdHkgbWFuYWdlci5cbiAgICAgKiBXaGVuIHNpbmdsZSBkYXRhYmFzZSBjb25uZWN0aW9uIGlzIG5vdCB1c2VkLCByZXBvc2l0b3J5IGlzIGJlaW5nIG9idGFpbmVkIGZyb20gdGhlIGNvbm5lY3Rpb24uXG4gICAgICovXG4gICAgZ2V0VHJlZVJlcG9zaXRvcnk8RW50aXR5IGV4dGVuZHMgT2JqZWN0TGl0ZXJhbD4oXG4gICAgICAgIHRhcmdldDogRW50aXR5VGFyZ2V0PEVudGl0eT4sXG4gICAgKTogVHJlZVJlcG9zaXRvcnk8RW50aXR5PiB7XG5cbiAgICAgICAgaWYgKHRoaXMuY29ubmVjdGlvbi5kcml2ZXIudHJlZVN1cHBvcnQgPT09IGZhbHNlKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFRyZWVSZXBvc2l0b3J5Tm90U3VwcG9ydGVkRXJyb3IodGhpcy5jb25uZWN0aW9uLmRyaXZlcilcblxuXG4gICAgICAgIGNvbnN0IHJlcG9zaXRvcnkgPSB0aGlzLnRyZWVSZXBvc2l0b3JpZXMuZmluZChcbiAgICAgICAgICAgIChyZXBvc2l0b3J5KSA9PiByZXBvc2l0b3J5LnRhcmdldCA9PT0gdGFyZ2V0LFxuICAgICAgICApXG4gICAgICAgIGlmIChyZXBvc2l0b3J5KSByZXR1cm4gcmVwb3NpdG9yeVxuXG5cbiAgICAgICAgY29uc3QgbmV3UmVwb3NpdG9yeSA9IG5ldyBUcmVlUmVwb3NpdG9yeSh0YXJnZXQsIHRoaXMsIHRoaXMucXVlcnlSdW5uZXIpXG4gICAgICAgIHRoaXMudHJlZVJlcG9zaXRvcmllcy5wdXNoKG5ld1JlcG9zaXRvcnkpXG4gICAgICAgIHJldHVybiBuZXdSZXBvc2l0b3J5XG4gICAgfVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyByZXBvc2l0b3J5IGluc3RhbmNlIG91dCBvZiBhIGdpdmVuIFJlcG9zaXRvcnkgYW5kXG4gICAgICogc2V0cyBjdXJyZW50IEVudGl0eU1hbmFnZXIgaW5zdGFuY2UgdG8gaXQuIFVzZWQgdG8gd29yayB3aXRoIGN1c3RvbSByZXBvc2l0b3JpZXNcbiAgICAgKiBpbiB0cmFuc2FjdGlvbnMuXG4gICAgICovXG4gICAgd2l0aFJlcG9zaXRvcnk8RW50aXR5IGV4dGVuZHMgT2JqZWN0TGl0ZXJhbCwgUiBleHRlbmRzIFJlcG9zaXRvcnk8YW55Pj4oXG4gICAgICAgIHJlcG9zaXRvcnk6IFIgJiBSZXBvc2l0b3J5PEVudGl0eT4sXG4gICAgKTogUiB7XG4gICAgICAgIGNvbnN0IHJlcG9zaXRvcnlDb25zdHJ1Y3RvciA9XG4gICAgICAgICAgICByZXBvc2l0b3J5LmNvbnN0cnVjdG9yIGFzIHR5cGVvZiBSZXBvc2l0b3J5XG4gICAgICAgIGNvbnN0IHsgdGFyZ2V0LCBtYW5hZ2VyLCBxdWVyeVJ1bm5lciwgLi4ub3RoZXJSZXBvc2l0b3J5UHJvcGVydGllcyB9ID1cbiAgICAgICAgICAgIHJlcG9zaXRvcnlcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICBuZXcgcmVwb3NpdG9yeUNvbnN0cnVjdG9yKHJlcG9zaXRvcnkudGFyZ2V0LCB0aGlzKSBhcyBSLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLm90aGVyUmVwb3NpdG9yeVByb3BlcnRpZXMsXG4gICAgICAgICAgICB9LFxuICAgICAgICApXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBjdXN0b20gZW50aXR5IHJlcG9zaXRvcnkgbWFya2VkIHdpdGggQEVudGl0eVJlcG9zaXRvcnkgZGVjb3JhdG9yLlxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIFJlcG9zaXRvcnkuZXh0ZW5kIHRvIGNyZWF0ZSBjdXN0b20gcmVwb3NpdG9yaWVzXG4gICAgICovXG4gICAgZ2V0Q3VzdG9tUmVwb3NpdG9yeTxUPihjdXN0b21SZXBvc2l0b3J5OiBPYmplY3RUeXBlPFQ+KTogVCB7XG4gICAgICAgIGNvbnN0IGVudGl0eVJlcG9zaXRvcnlNZXRhZGF0YUFyZ3MgPVxuICAgICAgICAgICAgZ2V0TWV0YWRhdGFBcmdzU3RvcmFnZSgpLmVudGl0eVJlcG9zaXRvcmllcy5maW5kKChyZXBvc2l0b3J5KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgcmVwb3NpdG9yeS50YXJnZXQgPT09XG4gICAgICAgICAgICAgICAgICAgICh0eXBlb2YgY3VzdG9tUmVwb3NpdG9yeSA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGN1c3RvbVJlcG9zaXRvcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogKGN1c3RvbVJlcG9zaXRvcnkgYXMgYW55KS5jb25zdHJ1Y3RvcilcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KVxuICAgICAgICBpZiAoIWVudGl0eVJlcG9zaXRvcnlNZXRhZGF0YUFyZ3MpXG4gICAgICAgICAgICB0aHJvdyBuZXcgQ3VzdG9tUmVwb3NpdG9yeU5vdEZvdW5kRXJyb3IoY3VzdG9tUmVwb3NpdG9yeSlcblxuICAgICAgICBjb25zdCBlbnRpdHlNZXRhZGF0YSA9IGVudGl0eVJlcG9zaXRvcnlNZXRhZGF0YUFyZ3MuZW50aXR5XG4gICAgICAgICAgICA/IHRoaXMuY29ubmVjdGlvbi5nZXRNZXRhZGF0YShlbnRpdHlSZXBvc2l0b3J5TWV0YWRhdGFBcmdzLmVudGl0eSlcbiAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgIGNvbnN0IGVudGl0eVJlcG9zaXRvcnlJbnN0YW5jZSA9XG4gICAgICAgICAgICBuZXcgKGVudGl0eVJlcG9zaXRvcnlNZXRhZGF0YUFyZ3MudGFyZ2V0IGFzIGFueSkoXG4gICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICBlbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgICAgIClcblxuXG5cbiAgICAgICAgaWYgKGVudGl0eVJlcG9zaXRvcnlJbnN0YW5jZSBpbnN0YW5jZW9mIEFic3RyYWN0UmVwb3NpdG9yeSkge1xuICAgICAgICAgICAgaWYgKCEoZW50aXR5UmVwb3NpdG9yeUluc3RhbmNlIGFzIGFueSlbXCJtYW5hZ2VyXCJdKVxuICAgICAgICAgICAgICAgIChlbnRpdHlSZXBvc2l0b3J5SW5zdGFuY2UgYXMgYW55KVtcIm1hbmFnZXJcIl0gPSB0aGlzXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIWVudGl0eU1ldGFkYXRhKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBDdXN0b21SZXBvc2l0b3J5Q2Fubm90SW5oZXJpdFJlcG9zaXRvcnlFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUmVwb3NpdG9yeSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICA7KGVudGl0eVJlcG9zaXRvcnlJbnN0YW5jZSBhcyBhbnkpW1wibWFuYWdlclwiXSA9IHRoaXNcbiAgICAgICAgICAgIDsoZW50aXR5UmVwb3NpdG9yeUluc3RhbmNlIGFzIGFueSlbXCJtZXRhZGF0YVwiXSA9IGVudGl0eU1ldGFkYXRhXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZW50aXR5UmVwb3NpdG9yeUluc3RhbmNlXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVsZWFzZXMgYWxsIHJlc291cmNlcyB1c2VkIGJ5IGVudGl0eSBtYW5hZ2VyLlxuICAgICAqIFRoaXMgaXMgdXNlZCB3aGVuIGVudGl0eSBtYW5hZ2VyIGlzIGNyZWF0ZWQgd2l0aCBhIHNpbmdsZSBxdWVyeSBydW5uZXIsXG4gICAgICogYW5kIHRoaXMgc2luZ2xlIHF1ZXJ5IHJ1bm5lciBuZWVkcyB0byBiZSByZWxlYXNlZCBhZnRlciBqb2Igd2l0aCBlbnRpdHkgbWFuYWdlciBpcyBkb25lLlxuICAgICAqL1xuICAgIGFzeW5jIHJlbGVhc2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5xdWVyeVJ1bm5lcikgdGhyb3cgbmV3IE5vTmVlZFRvUmVsZWFzZUVudGl0eU1hbmFnZXJFcnJvcigpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucXVlcnlSdW5uZXIucmVsZWFzZSgpXG4gICAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbi10eXBlb3JtIGxpYi90eXBlb3JtL2VudGl0eS1tYW5hZ2VyL0VudGl0eU1hbmFnZXIudHMiXX0=