@inversifyjs/core 1.3.4 → 1.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/lib/cjs/binding/calculations/stringifyBinding.d.ts +3 -0
- package/lib/cjs/binding/calculations/stringifyBinding.d.ts.map +1 -0
- package/lib/cjs/binding/calculations/stringifyBinding.js +16 -0
- package/lib/cjs/binding/calculations/stringifyBinding.js.map +1 -0
- package/lib/cjs/binding/calculations/stringifyBinding.spec.d.ts +2 -0
- package/lib/cjs/binding/calculations/stringifyBinding.spec.d.ts.map +1 -0
- package/lib/cjs/binding/models/BaseBinding.d.ts +11 -0
- package/lib/cjs/binding/models/BaseBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/BaseBinding.js +3 -0
- package/lib/cjs/binding/models/BaseBinding.js.map +1 -0
- package/lib/cjs/binding/models/Binding.d.ts +8 -0
- package/lib/cjs/binding/models/Binding.d.ts.map +1 -0
- package/lib/cjs/binding/models/Binding.js +3 -0
- package/lib/cjs/binding/models/Binding.js.map +1 -0
- package/lib/cjs/binding/models/BindingActivation.d.ts +2 -0
- package/lib/cjs/binding/models/BindingActivation.d.ts.map +1 -0
- package/lib/cjs/binding/models/BindingActivation.js +3 -0
- package/lib/cjs/binding/models/BindingActivation.js.map +1 -0
- package/lib/cjs/binding/models/BindingDeactivation.d.ts +2 -0
- package/lib/cjs/binding/models/BindingDeactivation.d.ts.map +1 -0
- package/lib/cjs/binding/models/BindingDeactivation.js +3 -0
- package/lib/cjs/binding/models/BindingDeactivation.js.map +1 -0
- package/lib/cjs/binding/models/BindingMetadata.d.ts +7 -0
- package/lib/cjs/binding/models/BindingMetadata.d.ts.map +1 -0
- package/lib/cjs/binding/models/BindingMetadata.js +3 -0
- package/lib/cjs/binding/models/BindingMetadata.js.map +1 -0
- package/lib/cjs/binding/models/BindingScope.d.ts +5 -0
- package/lib/cjs/binding/models/BindingScope.d.ts.map +1 -0
- package/lib/cjs/binding/models/BindingScope.js +9 -0
- package/lib/cjs/binding/models/BindingScope.js.map +1 -0
- package/lib/cjs/binding/models/BindingType.d.ts +5 -0
- package/lib/cjs/binding/models/BindingType.d.ts.map +1 -0
- package/lib/cjs/binding/models/BindingType.js +13 -0
- package/lib/cjs/binding/models/BindingType.js.map +1 -0
- package/lib/cjs/binding/models/ConstantValueBinding.d.ts +5 -0
- package/lib/cjs/binding/models/ConstantValueBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/ConstantValueBinding.js +3 -0
- package/lib/cjs/binding/models/ConstantValueBinding.js.map +1 -0
- package/lib/cjs/binding/models/DynamicValue.d.ts +2 -0
- package/lib/cjs/binding/models/DynamicValue.d.ts.map +1 -0
- package/lib/cjs/binding/models/DynamicValue.js +3 -0
- package/lib/cjs/binding/models/DynamicValue.js.map +1 -0
- package/lib/cjs/binding/models/DynamicValueBinding.d.ts +8 -0
- package/lib/cjs/binding/models/DynamicValueBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/DynamicValueBinding.js +3 -0
- package/lib/cjs/binding/models/DynamicValueBinding.js.map +1 -0
- package/lib/cjs/binding/models/Factory.d.ts +2 -0
- package/lib/cjs/binding/models/Factory.d.ts.map +1 -0
- package/lib/cjs/binding/models/Factory.js +3 -0
- package/lib/cjs/binding/models/Factory.js.map +1 -0
- package/lib/cjs/binding/models/FactoryBinding.d.ts +8 -0
- package/lib/cjs/binding/models/FactoryBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/FactoryBinding.js +3 -0
- package/lib/cjs/binding/models/FactoryBinding.js.map +1 -0
- package/lib/cjs/binding/models/InstanceBinding.d.ts +8 -0
- package/lib/cjs/binding/models/InstanceBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/InstanceBinding.js +3 -0
- package/lib/cjs/binding/models/InstanceBinding.js.map +1 -0
- package/lib/cjs/binding/models/Provider.d.ts +2 -0
- package/lib/cjs/binding/models/Provider.d.ts.map +1 -0
- package/lib/cjs/binding/models/Provider.js +3 -0
- package/lib/cjs/binding/models/Provider.js.map +1 -0
- package/lib/cjs/binding/models/ProviderBinding.d.ts +8 -0
- package/lib/cjs/binding/models/ProviderBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/ProviderBinding.js +3 -0
- package/lib/cjs/binding/models/ProviderBinding.js.map +1 -0
- package/lib/cjs/binding/models/ScopedBinding.d.ts +13 -0
- package/lib/cjs/binding/models/ScopedBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/ScopedBinding.js +3 -0
- package/lib/cjs/binding/models/ScopedBinding.js.map +1 -0
- package/lib/cjs/binding/models/ServiceRedirectionBinding.d.ts +7 -0
- package/lib/cjs/binding/models/ServiceRedirectionBinding.d.ts.map +1 -0
- package/lib/cjs/binding/models/ServiceRedirectionBinding.js +3 -0
- package/lib/cjs/binding/models/ServiceRedirectionBinding.js.map +1 -0
- package/lib/cjs/binding/services/BindingService.d.ts +9 -0
- package/lib/cjs/binding/services/BindingService.d.ts.map +1 -0
- package/lib/cjs/binding/services/BindingService.js +3 -0
- package/lib/cjs/binding/services/BindingService.js.map +1 -0
- package/lib/cjs/binding/services/BindingServiceImplementation.d.ts +12 -0
- package/lib/cjs/binding/services/BindingServiceImplementation.d.ts.map +1 -0
- package/lib/cjs/binding/services/BindingServiceImplementation.js +81 -0
- package/lib/cjs/binding/services/BindingServiceImplementation.js.map +1 -0
- package/lib/cjs/binding/services/BindingServiceImplementation.spec.d.ts +2 -0
- package/lib/cjs/binding/services/BindingServiceImplementation.spec.d.ts.map +1 -0
- package/lib/cjs/common/models/Writable.d.ts +4 -0
- package/lib/cjs/common/models/Writable.d.ts.map +1 -0
- package/lib/cjs/common/models/Writable.js +3 -0
- package/lib/cjs/common/models/Writable.js.map +1 -0
- package/lib/cjs/decorator/calculations/getDecoratorInfo.d.ts +5 -0
- package/lib/cjs/decorator/calculations/getDecoratorInfo.d.ts.map +1 -0
- package/lib/cjs/decorator/calculations/getDecoratorInfo.js +25 -0
- package/lib/cjs/decorator/calculations/getDecoratorInfo.js.map +1 -0
- package/lib/cjs/decorator/calculations/getDecoratorInfo.spec.d.ts +2 -0
- package/lib/cjs/decorator/calculations/getDecoratorInfo.spec.d.ts.map +1 -0
- package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.d.ts +3 -0
- package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.d.ts.map +1 -0
- package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.js +13 -0
- package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.js.map +1 -0
- package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.spec.d.ts +2 -0
- package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.spec.d.ts.map +1 -0
- package/lib/cjs/decorator/models/BaseDecoratorInfo.d.ts +5 -0
- package/lib/cjs/decorator/models/BaseDecoratorInfo.d.ts.map +1 -0
- package/lib/cjs/decorator/models/BaseDecoratorInfo.js +3 -0
- package/lib/cjs/decorator/models/BaseDecoratorInfo.js.map +1 -0
- package/lib/cjs/decorator/models/DecoratorInfo.d.ts +4 -0
- package/lib/cjs/decorator/models/DecoratorInfo.d.ts.map +1 -0
- package/lib/cjs/decorator/models/DecoratorInfo.js +3 -0
- package/lib/cjs/decorator/models/DecoratorInfo.js.map +1 -0
- package/lib/cjs/decorator/models/DecoratorInfoKind.d.ts +5 -0
- package/lib/cjs/decorator/models/DecoratorInfoKind.d.ts.map +1 -0
- package/lib/cjs/decorator/models/DecoratorInfoKind.js +9 -0
- package/lib/cjs/decorator/models/DecoratorInfoKind.js.map +1 -0
- package/lib/cjs/decorator/models/ParameterDecoratorInfo.d.ts +6 -0
- package/lib/cjs/decorator/models/ParameterDecoratorInfo.d.ts.map +1 -0
- package/lib/cjs/decorator/models/ParameterDecoratorInfo.js +3 -0
- package/lib/cjs/decorator/models/ParameterDecoratorInfo.js.map +1 -0
- package/lib/cjs/decorator/models/PropertyDecoratorInfo.d.ts +6 -0
- package/lib/cjs/decorator/models/PropertyDecoratorInfo.d.ts.map +1 -0
- package/lib/cjs/decorator/models/PropertyDecoratorInfo.js +3 -0
- package/lib/cjs/decorator/models/PropertyDecoratorInfo.js.map +1 -0
- package/lib/cjs/error/models/InversifyCoreErrorKind.d.ts +4 -2
- package/lib/cjs/error/models/InversifyCoreErrorKind.d.ts.map +1 -1
- package/lib/cjs/error/models/InversifyCoreErrorKind.js +4 -2
- package/lib/cjs/error/models/InversifyCoreErrorKind.js.map +1 -1
- package/lib/cjs/legacyTarget/calculations/getTargetId.spec.d.ts +2 -0
- package/lib/cjs/legacyTarget/calculations/getTargets.spec.d.ts +2 -0
- package/lib/cjs/legacyTarget/calculations/getTargetsFromMetadataProviders.spec.d.ts +2 -0
- package/lib/cjs/legacyTarget/models/LegacyTargetImpl.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataConstructorArgument.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.d.ts +3 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.js +15 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.js.map +1 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.d.ts +3 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.js +15 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.js.map +1 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataProperty.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMetadataName.d.ts +5 -0
- package/lib/cjs/metadata/actions/updateMetadataName.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataName.js +15 -0
- package/lib/cjs/metadata/actions/updateMetadataName.js.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataName.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMetadataName.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataOptional.d.ts +4 -0
- package/lib/cjs/metadata/actions/updateMetadataOptional.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataOptional.js +13 -0
- package/lib/cjs/metadata/actions/updateMetadataOptional.js.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataOptional.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMetadataOptional.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataTag.d.ts +5 -0
- package/lib/cjs/metadata/actions/updateMetadataTag.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataTag.js +15 -0
- package/lib/cjs/metadata/actions/updateMetadataTag.js.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataTag.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMetadataTag.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataTargetName.d.ts +5 -0
- package/lib/cjs/metadata/actions/updateMetadataTargetName.d.ts.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataTargetName.js +15 -0
- package/lib/cjs/metadata/actions/updateMetadataTargetName.js.map +1 -0
- package/lib/cjs/metadata/actions/updateMetadataTargetName.spec.d.ts +2 -0
- package/lib/cjs/metadata/actions/updateMetadataTargetName.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/assertConstructorMetadataArrayFilled.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.d.ts +5 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.js +20 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.d.ts +5 -0
- package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.js +14 -0
- package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.d.ts +3 -0
- package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.js +14 -0
- package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.d.ts +3 -0
- package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.js +10 -0
- package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.d.ts +6 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.js +8 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.d.ts +6 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.js +11 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.d.ts +5 -0
- package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.js +19 -0
- package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.d.ts +4 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.js +8 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.d.ts +4 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.js +19 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.js.map +1 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/getClassElementMetadataFromLegacyMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getClassElementMetadataFromNewable.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getClassMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getClassMetadataConstructorArguments.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getClassMetadataFromMetadataReader.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getClassMetadataProperties.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getDefaultClassMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getLegacyMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getPropertyMetadataFromLegacyMetadata.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/handleInjectionError.d.ts +2 -0
- package/lib/cjs/metadata/calculations/handleInjectionError.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/handleInjectionError.js +23 -0
- package/lib/cjs/metadata/calculations/handleInjectionError.js.map +1 -0
- package/lib/cjs/metadata/calculations/handleInjectionError.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/handleInjectionError.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/inject.d.ts +3 -0
- package/lib/cjs/metadata/decorators/inject.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/inject.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/inject.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/inject.js +24 -0
- package/lib/cjs/metadata/decorators/inject.js.map +1 -0
- package/lib/cjs/metadata/decorators/inject.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/inject.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/injectBase.d.ts +1 -2
- package/lib/cjs/metadata/decorators/injectBase.d.ts.map +1 -1
- package/lib/cjs/metadata/decorators/injectBase.js.map +1 -1
- package/lib/cjs/metadata/decorators/injectBase.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/multiInject.d.ts +3 -0
- package/lib/cjs/metadata/decorators/multiInject.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/multiInject.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/multiInject.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/multiInject.js +24 -0
- package/lib/cjs/metadata/decorators/multiInject.js.map +1 -0
- package/lib/cjs/metadata/decorators/multiInject.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/multiInject.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/named.d.ts +3 -0
- package/lib/cjs/metadata/decorators/named.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/named.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/named.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/named.js +24 -0
- package/lib/cjs/metadata/decorators/named.js.map +1 -0
- package/lib/cjs/metadata/decorators/named.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/named.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/optional.d.ts +2 -0
- package/lib/cjs/metadata/decorators/optional.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/optional.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/optional.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/optional.js +24 -0
- package/lib/cjs/metadata/decorators/optional.js.map +1 -0
- package/lib/cjs/metadata/decorators/optional.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/optional.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/postConstruct.d.ts +2 -0
- package/lib/cjs/metadata/decorators/postConstruct.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/postConstruct.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/postConstruct.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/postConstruct.js +19 -0
- package/lib/cjs/metadata/decorators/postConstruct.js.map +1 -0
- package/lib/cjs/metadata/decorators/postConstruct.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/postConstruct.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/preDestroy.d.ts +2 -0
- package/lib/cjs/metadata/decorators/preDestroy.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/preDestroy.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/preDestroy.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/preDestroy.js +19 -0
- package/lib/cjs/metadata/decorators/preDestroy.js.map +1 -0
- package/lib/cjs/metadata/decorators/preDestroy.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/preDestroy.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/tagged.d.ts +3 -0
- package/lib/cjs/metadata/decorators/tagged.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/tagged.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/tagged.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/tagged.js +24 -0
- package/lib/cjs/metadata/decorators/tagged.js.map +1 -0
- package/lib/cjs/metadata/decorators/tagged.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/tagged.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/targetName.d.ts +3 -0
- package/lib/cjs/metadata/decorators/targetName.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/targetName.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/targetName.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/targetName.js +24 -0
- package/lib/cjs/metadata/decorators/targetName.js.map +1 -0
- package/lib/cjs/metadata/decorators/targetName.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/targetName.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/unmanaged.d.ts +2 -0
- package/lib/cjs/metadata/decorators/unmanaged.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/unmanaged.int.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/unmanaged.int.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/unmanaged.js +23 -0
- package/lib/cjs/metadata/decorators/unmanaged.js.map +1 -0
- package/lib/cjs/metadata/decorators/unmanaged.spec.d.ts +2 -0
- package/lib/cjs/metadata/decorators/unmanaged.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/models/ClassMetadataLifecycle.d.ts +2 -2
- package/lib/cjs/metadata/models/ClassMetadataLifecycle.d.ts.map +1 -1
- package/lib/cjs/metadata/models/MaybeManagedClassElementMetadata.d.ts +1 -3
- package/lib/cjs/metadata/models/MaybeManagedClassElementMetadata.d.ts.map +1 -1
- package/lib/cjs/planning/actions/addBranchService.d.ts +4 -0
- package/lib/cjs/planning/actions/addBranchService.d.ts.map +1 -0
- package/lib/cjs/planning/actions/addBranchService.js +23 -0
- package/lib/cjs/planning/actions/addBranchService.js.map +1 -0
- package/lib/cjs/planning/actions/addBranchService.spec.d.ts +2 -0
- package/lib/cjs/planning/actions/addBranchService.spec.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.d.ts +3 -0
- package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.js +18 -0
- package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.js.map +1 -0
- package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.spec.d.ts +2 -0
- package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.spec.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.d.ts +3 -0
- package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.js +20 -0
- package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.js.map +1 -0
- package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.spec.d.ts +2 -0
- package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.spec.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.d.ts +5 -0
- package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.js +8 -0
- package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.js.map +1 -0
- package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.spec.d.ts +2 -0
- package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.spec.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/plan.d.ts +4 -0
- package/lib/cjs/planning/calculations/plan.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/plan.int.spec.d.ts +2 -0
- package/lib/cjs/planning/calculations/plan.int.spec.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/plan.js +135 -0
- package/lib/cjs/planning/calculations/plan.js.map +1 -0
- package/lib/cjs/planning/calculations/plan.spec.d.ts +2 -0
- package/lib/cjs/planning/calculations/plan.spec.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.d.ts +4 -0
- package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.d.ts.map +1 -0
- package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.js +63 -0
- package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.js.map +1 -0
- package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.spec.d.ts +2 -0
- package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.spec.d.ts.map +1 -0
- package/lib/cjs/planning/models/BaseBindingNode.d.ts +7 -0
- package/lib/cjs/planning/models/BaseBindingNode.d.ts.map +1 -0
- package/lib/cjs/planning/models/BaseBindingNode.js +3 -0
- package/lib/cjs/planning/models/BaseBindingNode.js.map +1 -0
- package/lib/cjs/planning/models/BasePlanParams.d.ts +9 -0
- package/lib/cjs/planning/models/BasePlanParams.d.ts.map +1 -0
- package/lib/cjs/planning/models/BasePlanParams.js +3 -0
- package/lib/cjs/planning/models/BasePlanParams.js.map +1 -0
- package/lib/cjs/planning/models/BindingNodeParent.d.ts +4 -0
- package/lib/cjs/planning/models/BindingNodeParent.d.ts.map +1 -0
- package/lib/cjs/planning/models/BindingNodeParent.js +3 -0
- package/lib/cjs/planning/models/BindingNodeParent.js.map +1 -0
- package/lib/cjs/planning/models/InstanceBindingNode.d.ts +10 -0
- package/lib/cjs/planning/models/InstanceBindingNode.d.ts.map +1 -0
- package/lib/cjs/planning/models/InstanceBindingNode.js +3 -0
- package/lib/cjs/planning/models/InstanceBindingNode.js.map +1 -0
- package/lib/cjs/planning/models/LeafBindingNode.d.ts +7 -0
- package/lib/cjs/planning/models/LeafBindingNode.d.ts.map +1 -0
- package/lib/cjs/planning/models/LeafBindingNode.js +3 -0
- package/lib/cjs/planning/models/LeafBindingNode.js.map +1 -0
- package/lib/cjs/planning/models/PlanBindingNode.d.ts +5 -0
- package/lib/cjs/planning/models/PlanBindingNode.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanBindingNode.js +3 -0
- package/lib/cjs/planning/models/PlanBindingNode.js.map +1 -0
- package/lib/cjs/planning/models/PlanParams.d.ts +6 -0
- package/lib/cjs/planning/models/PlanParams.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanParams.js +3 -0
- package/lib/cjs/planning/models/PlanParams.js.map +1 -0
- package/lib/cjs/planning/models/PlanParamsConstraint.d.ts +10 -0
- package/lib/cjs/planning/models/PlanParamsConstraint.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanParamsConstraint.js +3 -0
- package/lib/cjs/planning/models/PlanParamsConstraint.js.map +1 -0
- package/lib/cjs/planning/models/PlanParamsTagConstraint.d.ts +6 -0
- package/lib/cjs/planning/models/PlanParamsTagConstraint.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanParamsTagConstraint.js +3 -0
- package/lib/cjs/planning/models/PlanParamsTagConstraint.js.map +1 -0
- package/lib/cjs/planning/models/PlanResult.d.ts +5 -0
- package/lib/cjs/planning/models/PlanResult.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanResult.js +3 -0
- package/lib/cjs/planning/models/PlanResult.js.map +1 -0
- package/lib/cjs/planning/models/PlanServiceNode.d.ts +9 -0
- package/lib/cjs/planning/models/PlanServiceNode.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanServiceNode.js +3 -0
- package/lib/cjs/planning/models/PlanServiceNode.js.map +1 -0
- package/lib/cjs/planning/models/PlanServiceNodeParent.d.ts +3 -0
- package/lib/cjs/planning/models/PlanServiceNodeParent.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanServiceNodeParent.js +3 -0
- package/lib/cjs/planning/models/PlanServiceNodeParent.js.map +1 -0
- package/lib/cjs/planning/models/PlanServiceRedirectionBindingNode.d.ts +7 -0
- package/lib/cjs/planning/models/PlanServiceRedirectionBindingNode.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanServiceRedirectionBindingNode.js +3 -0
- package/lib/cjs/planning/models/PlanServiceRedirectionBindingNode.js.map +1 -0
- package/lib/cjs/planning/models/PlanTree.d.ts +5 -0
- package/lib/cjs/planning/models/PlanTree.d.ts.map +1 -0
- package/lib/cjs/planning/models/PlanTree.js +3 -0
- package/lib/cjs/planning/models/PlanTree.js.map +1 -0
- package/lib/cjs/planning/models/SubplanParams.d.ts +6 -0
- package/lib/cjs/planning/models/SubplanParams.d.ts.map +1 -0
- package/lib/cjs/planning/models/SubplanParams.js +3 -0
- package/lib/cjs/planning/models/SubplanParams.js.map +1 -0
- package/lib/cjs/prototype/calculations/getBaseType.spec.d.ts +2 -0
- package/lib/cjs/string/models/LegacyQueryableStringImpl.spec.d.ts +2 -0
- package/lib/cjs/symbol/calculations/getDescription.spec.d.ts +2 -0
- package/lib/esm/index.d.ts +122 -23
- package/lib/esm/index.js +2 -2
- package/lib/esm/index.js.map +1 -0
- package/package.json +14 -13
- package/.turbo/turbo-build.log +0 -313
- package/lib/esm/error/models/InversifyCoreError.d.ts +0 -10
- package/lib/esm/error/models/InversifyCoreError.d.ts.map +0 -1
- package/lib/esm/error/models/InversifyCoreErrorKind.d.ts +0 -5
- package/lib/esm/error/models/InversifyCoreErrorKind.d.ts.map +0 -1
- package/lib/esm/legacyTarget/calculations/getTargetId.d.ts +0 -2
- package/lib/esm/legacyTarget/calculations/getTargetId.d.ts.map +0 -1
- package/lib/esm/legacyTarget/calculations/getTargetId.spec.d.ts.map +0 -1
- package/lib/esm/legacyTarget/calculations/getTargets.d.ts +0 -5
- package/lib/esm/legacyTarget/calculations/getTargets.d.ts.map +0 -1
- package/lib/esm/legacyTarget/calculations/getTargets.spec.d.ts.map +0 -1
- package/lib/esm/legacyTarget/calculations/getTargetsFromMetadataProviders.d.ts +0 -6
- package/lib/esm/legacyTarget/calculations/getTargetsFromMetadataProviders.d.ts.map +0 -1
- package/lib/esm/legacyTarget/calculations/getTargetsFromMetadataProviders.spec.d.ts.map +0 -1
- package/lib/esm/legacyTarget/models/LegacyTarget.d.ts +0 -25
- package/lib/esm/legacyTarget/models/LegacyTarget.d.ts.map +0 -1
- package/lib/esm/legacyTarget/models/LegacyTargetImpl.d.ts +0 -32
- package/lib/esm/legacyTarget/models/LegacyTargetImpl.d.ts.map +0 -1
- package/lib/esm/legacyTarget/models/LegacyTargetImpl.spec.d.ts.map +0 -1
- package/lib/esm/legacyTarget/models/LegacyTargetType.d.ts +0 -2
- package/lib/esm/legacyTarget/models/LegacyTargetType.d.ts.map +0 -1
- package/lib/esm/metadata/actions/updateMaybeClassMetadataConstructorArgument.d.ts +0 -4
- package/lib/esm/metadata/actions/updateMaybeClassMetadataConstructorArgument.d.ts.map +0 -1
- package/lib/esm/metadata/actions/updateMaybeClassMetadataConstructorArgument.spec.d.ts.map +0 -1
- package/lib/esm/metadata/actions/updateMaybeClassMetadataProperty.d.ts +0 -4
- package/lib/esm/metadata/actions/updateMaybeClassMetadataProperty.d.ts.map +0 -1
- package/lib/esm/metadata/actions/updateMaybeClassMetadataProperty.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/assertConstructorMetadataArrayFilled.d.ts +0 -4
- package/lib/esm/metadata/calculations/assertConstructorMetadataArrayFilled.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/assertConstructorMetadataArrayFilled.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassElementMetadataFromLegacyMetadata.d.ts +0 -4
- package/lib/esm/metadata/calculations/getClassElementMetadataFromLegacyMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassElementMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassElementMetadataFromNewable.d.ts +0 -4
- package/lib/esm/metadata/calculations/getClassElementMetadataFromNewable.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassElementMetadataFromNewable.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadata.d.ts +0 -4
- package/lib/esm/metadata/calculations/getClassMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadata.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataConstructorArguments.d.ts +0 -4
- package/lib/esm/metadata/calculations/getClassMetadataConstructorArguments.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataConstructorArguments.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.d.ts +0 -5
- package/lib/esm/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataFromMetadataReader.d.ts +0 -5
- package/lib/esm/metadata/calculations/getClassMetadataFromMetadataReader.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataFromMetadataReader.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataProperties.d.ts +0 -4
- package/lib/esm/metadata/calculations/getClassMetadataProperties.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataProperties.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.d.ts +0 -5
- package/lib/esm/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.d.ts +0 -5
- package/lib/esm/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getDefaultClassMetadata.d.ts +0 -3
- package/lib/esm/metadata/calculations/getDefaultClassMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getDefaultClassMetadata.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getLegacyMetadata.d.ts +0 -4
- package/lib/esm/metadata/calculations/getLegacyMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getLegacyMetadata.spec.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getPropertyMetadataFromLegacyMetadata.d.ts +0 -5
- package/lib/esm/metadata/calculations/getPropertyMetadataFromLegacyMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/calculations/getPropertyMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
- package/lib/esm/metadata/decorators/injectBase.d.ts +0 -4
- package/lib/esm/metadata/decorators/injectBase.d.ts.map +0 -1
- package/lib/esm/metadata/decorators/injectBase.spec.d.ts.map +0 -1
- package/lib/esm/metadata/models/BaseClassElementMetadata.d.ts +0 -4
- package/lib/esm/metadata/models/BaseClassElementMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/ClassElementMetadata.d.ts +0 -4
- package/lib/esm/metadata/models/ClassElementMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/ClassElementMetadataKind.d.ts +0 -6
- package/lib/esm/metadata/models/ClassElementMetadataKind.d.ts.map +0 -1
- package/lib/esm/metadata/models/ClassMetadata.d.ts +0 -8
- package/lib/esm/metadata/models/ClassMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/ClassMetadataLifecycle.d.ts +0 -5
- package/lib/esm/metadata/models/ClassMetadataLifecycle.d.ts.map +0 -1
- package/lib/esm/metadata/models/LegacyConstructorMetadata.d.ts +0 -6
- package/lib/esm/metadata/models/LegacyConstructorMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/LegacyMetadata.d.ts +0 -5
- package/lib/esm/metadata/models/LegacyMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/LegacyMetadataMap.d.ts +0 -5
- package/lib/esm/metadata/models/LegacyMetadataMap.d.ts.map +0 -1
- package/lib/esm/metadata/models/LegacyMetadataReader.d.ts +0 -7
- package/lib/esm/metadata/models/LegacyMetadataReader.d.ts.map +0 -1
- package/lib/esm/metadata/models/ManagedClassElementMetadata.d.ts +0 -14
- package/lib/esm/metadata/models/ManagedClassElementMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/MaybeClassElementMetadata.d.ts +0 -5
- package/lib/esm/metadata/models/MaybeClassElementMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/MaybeClassElementMetadataKind.d.ts +0 -4
- package/lib/esm/metadata/models/MaybeClassElementMetadataKind.d.ts.map +0 -1
- package/lib/esm/metadata/models/MaybeClassMetadata.d.ts +0 -8
- package/lib/esm/metadata/models/MaybeClassMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/MaybeManagedClassElementMetadata.d.ts +0 -14
- package/lib/esm/metadata/models/MaybeManagedClassElementMetadata.d.ts.map +0 -1
- package/lib/esm/metadata/models/MetadataName.d.ts +0 -2
- package/lib/esm/metadata/models/MetadataName.d.ts.map +0 -1
- package/lib/esm/metadata/models/MetadataTag.d.ts +0 -2
- package/lib/esm/metadata/models/MetadataTag.d.ts.map +0 -1
- package/lib/esm/metadata/models/MetadataTargetName.d.ts +0 -2
- package/lib/esm/metadata/models/MetadataTargetName.d.ts.map +0 -1
- package/lib/esm/metadata/models/UnmanagedClassElementMetadata.d.ts +0 -4
- package/lib/esm/metadata/models/UnmanagedClassElementMetadata.d.ts.map +0 -1
- package/lib/esm/prototype/calculations/getBaseType.d.ts +0 -3
- package/lib/esm/prototype/calculations/getBaseType.d.ts.map +0 -1
- package/lib/esm/prototype/calculations/getBaseType.spec.d.ts.map +0 -1
- package/lib/esm/prototype/models/Prototype.d.ts +0 -5
- package/lib/esm/prototype/models/Prototype.d.ts.map +0 -1
- package/lib/esm/reflectMetadata/data/classMetadataReflectKey.d.ts +0 -2
- package/lib/esm/reflectMetadata/data/classMetadataReflectKey.d.ts.map +0 -1
- package/lib/esm/reflectMetadata/data/keys.d.ts +0 -14
- package/lib/esm/reflectMetadata/data/keys.d.ts.map +0 -1
- package/lib/esm/string/models/LegacyQueryableString.d.ts +0 -8
- package/lib/esm/string/models/LegacyQueryableString.d.ts.map +0 -1
- package/lib/esm/string/models/LegacyQueryableStringImpl.d.ts +0 -11
- package/lib/esm/string/models/LegacyQueryableStringImpl.d.ts.map +0 -1
- package/lib/esm/string/models/LegacyQueryableStringImpl.spec.d.ts.map +0 -1
- package/lib/esm/symbol/calculations/getDescription.d.ts +0 -2
- package/lib/esm/symbol/calculations/getDescription.d.ts.map +0 -1
- package/lib/esm/symbol/calculations/getDescription.spec.d.ts.map +0 -1
- package/tsconfig.cjs.tsbuildinfo +0 -1
- package/webpack.config.mjs +0 -13
package/lib/esm/index.d.ts
CHANGED
|
@@ -1,23 +1,122 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
import { ServiceIdentifier, Newable, LazyServiceIdentifier } from '@inversifyjs/common';
|
|
2
|
+
|
|
3
|
+
interface LegacyMetadata<TValue = unknown> {
|
|
4
|
+
key: string | number | symbol;
|
|
5
|
+
value: TValue;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
interface LegacyMetadataMap {
|
|
9
|
+
[propertyNameOrArgumentIndex: string | symbol]: LegacyMetadata[];
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface LegacyConstructorMetadata {
|
|
13
|
+
compilerGeneratedMetadata: NewableFunction[] | undefined;
|
|
14
|
+
userGeneratedMetadata: LegacyMetadataMap;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
interface LegacyMetadataReader {
|
|
18
|
+
getConstructorMetadata(constructorFunc: NewableFunction): LegacyConstructorMetadata;
|
|
19
|
+
getPropertiesMetadata(constructorFunc: NewableFunction): LegacyMetadataMap;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
type MetadataName = number | string | symbol;
|
|
23
|
+
|
|
24
|
+
type MetadataTag = number | string | symbol;
|
|
25
|
+
|
|
26
|
+
interface LegacyQueryableString {
|
|
27
|
+
startsWith(searchString: string): boolean;
|
|
28
|
+
endsWith(searchString: string): boolean;
|
|
29
|
+
contains(searchString: string): boolean;
|
|
30
|
+
equals(compareString: string): boolean;
|
|
31
|
+
value(): string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
type LegacyTargetType = 'ConstructorArgument' | 'ClassProperty' | 'Variable';
|
|
35
|
+
|
|
36
|
+
interface LegacyTarget {
|
|
37
|
+
id: number;
|
|
38
|
+
serviceIdentifier: ServiceIdentifier;
|
|
39
|
+
type: LegacyTargetType;
|
|
40
|
+
name: LegacyQueryableString;
|
|
41
|
+
identifier: string | symbol;
|
|
42
|
+
metadata: LegacyMetadata[];
|
|
43
|
+
getNamedTag(): LegacyMetadata<MetadataName> | null;
|
|
44
|
+
getCustomTags(): LegacyMetadata[] | null;
|
|
45
|
+
hasTag(key: MetadataTag): boolean;
|
|
46
|
+
isArray(): boolean;
|
|
47
|
+
matchesArray(name: ServiceIdentifier): boolean;
|
|
48
|
+
isNamed(): boolean;
|
|
49
|
+
isTagged(): boolean;
|
|
50
|
+
isOptional(): boolean;
|
|
51
|
+
matchesNamedTag(name: MetadataName): boolean;
|
|
52
|
+
matchesTag(key: MetadataTag): (value: unknown) => boolean;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
declare const getTargets: (metadataReader?: LegacyMetadataReader) => (type: Newable) => LegacyTarget[];
|
|
56
|
+
|
|
57
|
+
interface BaseClassElementMetadata<TKind> {
|
|
58
|
+
kind: TKind;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
declare enum ClassElementMetadataKind {
|
|
62
|
+
multipleInjection = 0,
|
|
63
|
+
singleInjection = 1,
|
|
64
|
+
unmanaged = 2
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
type MetadataTargetName = string;
|
|
68
|
+
|
|
69
|
+
interface ManagedClassElementMetadata extends BaseClassElementMetadata<ClassElementMetadataKind.singleInjection | ClassElementMetadataKind.multipleInjection> {
|
|
70
|
+
name: MetadataName | undefined;
|
|
71
|
+
optional: boolean;
|
|
72
|
+
tags: Map<MetadataTag, unknown>;
|
|
73
|
+
targetName: MetadataTargetName | undefined;
|
|
74
|
+
value: ServiceIdentifier | LazyServiceIdentifier;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
declare class LegacyTargetImpl implements LegacyTarget {
|
|
78
|
+
#private;
|
|
79
|
+
constructor(identifier: string | symbol, metadata: ManagedClassElementMetadata, type: LegacyTargetType);
|
|
80
|
+
get id(): number;
|
|
81
|
+
/**
|
|
82
|
+
* If this is a class property target, this is the name of the property to be injected
|
|
83
|
+
*/
|
|
84
|
+
get identifier(): string | symbol;
|
|
85
|
+
get metadata(): LegacyMetadata[];
|
|
86
|
+
get name(): LegacyQueryableString;
|
|
87
|
+
get type(): LegacyTargetType;
|
|
88
|
+
get serviceIdentifier(): ServiceIdentifier;
|
|
89
|
+
getCustomTags(): LegacyMetadata[] | null;
|
|
90
|
+
getNamedTag(): LegacyMetadata<MetadataName> | null;
|
|
91
|
+
hasTag(key: MetadataTag): boolean;
|
|
92
|
+
isArray(): boolean;
|
|
93
|
+
isNamed(): boolean;
|
|
94
|
+
isOptional(): boolean;
|
|
95
|
+
isTagged(): boolean;
|
|
96
|
+
matchesArray(name: ServiceIdentifier): boolean;
|
|
97
|
+
matchesNamedTag(name: MetadataName): boolean;
|
|
98
|
+
matchesTag(key: MetadataTag): (value: unknown) => boolean;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
type UnmanagedClassElementMetadata = BaseClassElementMetadata<ClassElementMetadataKind.unmanaged>;
|
|
102
|
+
|
|
103
|
+
type ClassElementMetadata = ManagedClassElementMetadata | UnmanagedClassElementMetadata;
|
|
104
|
+
|
|
105
|
+
declare function getClassElementMetadataFromLegacyMetadata(metadataList: LegacyMetadata[]): ClassElementMetadata;
|
|
106
|
+
|
|
107
|
+
interface ClassMetadataLifecycle {
|
|
108
|
+
postConstructMethodName: string | symbol | undefined;
|
|
109
|
+
preDestroyMethodName: string | symbol | undefined;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
interface ClassMetadata {
|
|
113
|
+
constructorArguments: ClassElementMetadata[];
|
|
114
|
+
lifecycle: ClassMetadataLifecycle;
|
|
115
|
+
properties: Map<string | symbol, ClassElementMetadata>;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
declare function getClassMetadata(type: Newable): ClassMetadata;
|
|
119
|
+
|
|
120
|
+
declare function getClassMetadataFromMetadataReader(type: Newable, metadataReader: LegacyMetadataReader): ClassMetadata;
|
|
121
|
+
|
|
122
|
+
export { type ClassElementMetadata, ClassElementMetadataKind, type ClassMetadata, type ClassMetadataLifecycle, type LegacyMetadata, type LegacyMetadataMap, type LegacyMetadataReader, type LegacyQueryableString, type LegacyTarget, LegacyTargetImpl, type LegacyTargetType, type ManagedClassElementMetadata, type MetadataName, type MetadataTag, type MetadataTargetName, type UnmanagedClassElementMetadata, getClassElementMetadataFromLegacyMetadata, getClassMetadata, getClassMetadataFromMetadataReader, getTargets };
|
package/lib/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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SyxNQUFNMEgsRUFHWHRELEdDTkssU0FDTFQsRUFDQVIsR0FJQSxPQUFPLFNBQW1COUMsR0FDeEIsTUFBTXNILEVBQStCaEUsRUFBaUJ0RCxHQUV0RCxJQUFJeUUsRUFBZ0NGLEVBQVl2RSxHQUVoRCxVQUFvQkksSUFBYnFFLEdBQTBCQSxJQUFhbkgsUUFBUSxDQUNwRCxNQUFNaUssRUFHRnpFLEVBQTJCMkIsR0FFL0IsSUFBSyxNQUFPK0MsRUFBYUMsS0FBa0JGLEVBQ3BDRCxFQUFjekQsV0FBVzZELElBQUlGLElBQ2hDRixFQUFjekQsV0FBV1IsSUFBSW1FLEVBQWFDLEdBSTlDaEQsRUFBV0YsRUFBWUUsRUFDekIsQ0FFQSxNQUFNa0QsRUFBMEIsR0FFaEMsSUFBSyxNQUFNQyxLQUF1Qk4sRUFBYzdELHFCQUM5QyxHQUFJbUUsRUFBb0J4SSxPQUFTVSxFQUF5QnVCLFVBQVcsQ0FDbkUsTUFBTVAsRUFBcUI4RyxFQUFvQjlHLFlBQWMsR0FFN0Q2RyxFQUFRdEgsS0FDTixJQUFJbUYsRUFDRjFFLEVBQ0E4RyxFQUNBLHVCQUdOLENBR0YsSUFBSyxNQUFPM0UsRUFBVTlCLEtBQWFtRyxFQUFjekQsV0FDL0MsR0FBSTFDLEVBQVMvQixPQUFTVSxFQUF5QnVCLFVBQVcsQ0FDeEQsTUFBTVAsRUFBOEJLLEVBQVNMLFlBQWNtQyxFQUUzRDBFLEVBQVF0SCxLQUNOLElBQUltRixFQUFpQjFFLEVBQVlLLEVBQVUsaUJBRS9DLENBR0YsT0FBT3dHLENBQ1QsQ0FDRixDRGpDU0UsTUFaY3pILElBQW5CMkQsRUFDSVQsRUFDQ3RELEdBQ0NzRSxFQUFtQ3RFLEVBQU0rRCxRQUk1QjNELElBQW5CMkQsRUFDSWpCLEVBQ0M5QyxHQUNDb0UsRUFBNkNwRSxFQUFNK0QsSSIsInNvdXJjZXMiOlsid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlL2V4dGVybmFsIG1vZHVsZSBcIkBpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzXCIiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvcmVmbGVjdE1ldGFkYXRhL2RhdGEva2V5cy50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9lcnJvci9tb2RlbHMvSW52ZXJzaWZ5Q29yZUVycm9yLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL2Vycm9yL21vZGVscy9JbnZlcnNpZnlDb3JlRXJyb3JLaW5kLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL21ldGFkYXRhL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQudHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvbWV0YWRhdGEvY2FsY3VsYXRpb25zL2Fzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZC50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTmV3YWJsZS50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEudHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvbWV0YWRhdGEvY2FsY3VsYXRpb25zL2dldENvbnN0cnVjdG9yQXJndW1lbnRNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YS50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRQcm9wZXJ0eU1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcy50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YS50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzRnJvbU1ldGFkYXRhUmVhZGVyLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhUHJvcGVydGllc0Zyb21NZXRhZGF0YVJlYWRlci50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YUZyb21NZXRhZGF0YVJlYWRlci50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9wcm90b3R5cGUvY2FsY3VsYXRpb25zL2dldEJhc2VUeXBlLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlL2V4dGVybmFsIG1vZHVsZSBcIkBpbnZlcnNpZnlqcy9jb21tb25cIiIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0TGVnYWN5TWV0YWRhdGEudHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvc3RyaW5nL21vZGVscy9MZWdhY3lRdWVyeWFibGVTdHJpbmdJbXBsLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL2xlZ2FjeVRhcmdldC9jYWxjdWxhdGlvbnMvZ2V0VGFyZ2V0SWQudHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvbGVnYWN5VGFyZ2V0L21vZGVscy9MZWdhY3lUYXJnZXRJbXBsLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL3N5bWJvbC9jYWxjdWxhdGlvbnMvZ2V0RGVzY3JpcHRpb24udHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvbGVnYWN5VGFyZ2V0L2NhbGN1bGF0aW9ucy9nZXRUYXJnZXRzLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL2xlZ2FjeVRhcmdldC9jYWxjdWxhdGlvbnMvZ2V0VGFyZ2V0c0Zyb21NZXRhZGF0YVByb3ZpZGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGUgcmVxdWlyZSBzY29wZVxudmFyIF9fd2VicGFja19yZXF1aXJlX18gPSB7fTtcblxuIiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsInZhciB4ID0gKHkpID0+IHtcblx0dmFyIHggPSB7fTsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKHgsIHkpOyByZXR1cm4geFxufSBcbnZhciB5ID0gKHgpID0+ICgoKSA9PiAoeCkpXG5jb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0geCh7IFtcImdldFJlZmxlY3RNZXRhZGF0YVwiXTogKCkgPT4gKF9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfX2ludmVyc2lmeWpzX3JlZmxlY3RfbWV0YWRhdGFfdXRpbHNfOGVjYzRjMTZfXy5nZXRSZWZsZWN0TWV0YWRhdGEpLCBbXCJ1cGRhdGVSZWZsZWN0TWV0YWRhdGFcIl06ICgpID0+IChfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX19pbnZlcnNpZnlqc19yZWZsZWN0X21ldGFkYXRhX3V0aWxzXzhlY2M0YzE2X18udXBkYXRlUmVmbGVjdE1ldGFkYXRhKSB9KTsiLCIvLyBVc2VkIGZvciBuYW1lZCBiaW5kaW5nc1xuZXhwb3J0IGNvbnN0IE5BTUVEX1RBRzogc3RyaW5nID0gJ25hbWVkJztcblxuZXhwb3J0IGNvbnN0IE5BTUVfVEFHOiBzdHJpbmcgPSAnbmFtZSc7XG5cbi8vIFRoZSBmb3IgdW5tYW5hZ2VkIGluamVjdGlvbnMgKGluIGJhc2UgY2xhc3NlcyB3aGVuIHVzaW5nIGluaGVyaXRhbmNlKVxuZXhwb3J0IGNvbnN0IFVOTUFOQUdFRF9UQUc6IHN0cmluZyA9ICd1bm1hbmFnZWQnO1xuXG4vLyBUaGUgZm9yIG9wdGlvbmFsIGluamVjdGlvbnNcbmV4cG9ydCBjb25zdCBPUFRJT05BTF9UQUc6IHN0cmluZyA9ICdvcHRpb25hbCc7XG5cbi8vIFRoZSB0eXBlIG9mIHRoZSBiaW5kaW5nIGF0IGRlc2lnbiB0aW1lXG5leHBvcnQgY29uc3QgSU5KRUNUX1RBRzogc3RyaW5nID0gJ2luamVjdCc7XG5cbi8vIFRoZSB0eXBlIG9mIHRoZSBiaW5kaW5nIGF0IGRlc2lnbiB0eXBlIGZvciBtdWx0aS1pbmplY3Rpb25zXG5leHBvcnQgY29uc3QgTVVMVElfSU5KRUNUX1RBRzogc3RyaW5nID0gJ211bHRpX2luamVjdCc7XG5cbi8vIHVzZWQgdG8gc3RvcmUgY29uc3RydWN0b3IgYXJndW1lbnRzIHRhZ3NcbmV4cG9ydCBjb25zdCBUQUdHRUQ6IHN0cmluZyA9ICdpbnZlcnNpZnk6dGFnZ2VkJztcblxuLy8gdXNlZCB0byBzdG9yZSBjbGFzcyBwcm9wZXJ0aWVzIHRhZ3NcbmV4cG9ydCBjb25zdCBUQUdHRURfUFJPUDogc3RyaW5nID0gJ2ludmVyc2lmeTp0YWdnZWRfcHJvcHMnO1xuXG4vLyB1c2VkIHRvIHN0b3JlIHR5cGVzIHRvIGJlIGluamVjdGVkXG5leHBvcnQgY29uc3QgUEFSQU1fVFlQRVM6IHN0cmluZyA9ICdpbnZlcnNpZnk6cGFyYW10eXBlcyc7XG5cbi8vIHVzZWQgdG8gYWNjZXNzIGRlc2lnbiB0aW1lIHR5cGVzXG5leHBvcnQgY29uc3QgREVTSUdOX1BBUkFNX1RZUEVTOiBzdHJpbmcgPSAnZGVzaWduOnBhcmFtdHlwZXMnO1xuXG4vLyB1c2VkIHRvIGlkZW50aWZ5IHBvc3RDb25zdHJ1Y3QgZnVuY3Rpb25zXG5leHBvcnQgY29uc3QgUE9TVF9DT05TVFJVQ1Q6IHN0cmluZyA9ICdwb3N0X2NvbnN0cnVjdCc7XG5cbi8vIHVzZWQgdG8gaWRlbnRpZnkgcHJlRGVzdHJveSBmdW5jdGlvbnNcbmV4cG9ydCBjb25zdCBQUkVfREVTVFJPWTogc3RyaW5nID0gJ3ByZV9kZXN0cm95JztcblxuZnVuY3Rpb24gZ2V0Tm9uQ3VzdG9tVGFnS2V5cygpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBbXG4gICAgSU5KRUNUX1RBRyxcbiAgICBNVUxUSV9JTkpFQ1RfVEFHLFxuICAgIE5BTUVfVEFHLFxuICAgIFVOTUFOQUdFRF9UQUcsXG4gICAgTkFNRURfVEFHLFxuICAgIE9QVElPTkFMX1RBRyxcbiAgXTtcbn1cblxuZXhwb3J0IGNvbnN0IE5PTl9DVVNUT01fVEFHX0tFWVM6IHN0cmluZ1tdID0gZ2V0Tm9uQ3VzdG9tVGFnS2V5cygpO1xuIiwiaW1wb3J0IHsgSW52ZXJzaWZ5Q29yZUVycm9yS2luZCB9IGZyb20gJy4vSW52ZXJzaWZ5Q29yZUVycm9yS2luZCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwcEVycm9yU3ltYm9sOiB1bmlxdWUgc3ltYm9sID0gU3ltYm9sLmZvcihcbiAgJ0BpbnZlcnNpZnlqcy9jb3JlL0ludmVyc2lmeUNvcmVFcnJvcicsXG4pO1xuXG5leHBvcnQgY2xhc3MgSW52ZXJzaWZ5Q29yZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgW2lzQXBwRXJyb3JTeW1ib2xdOiB0cnVlO1xuXG4gIHB1YmxpYyBraW5kOiBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGtpbmQ6IEludmVyc2lmeUNvcmVFcnJvcktpbmQsXG4gICAgbWVzc2FnZT86IHN0cmluZyxcbiAgICBvcHRpb25zPzogRXJyb3JPcHRpb25zLFxuICApIHtcbiAgICBzdXBlcihtZXNzYWdlLCBvcHRpb25zKTtcblxuICAgIHRoaXNbaXNBcHBFcnJvclN5bWJvbF0gPSB0cnVlO1xuICAgIHRoaXMua2luZCA9IGtpbmQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgSW52ZXJzaWZ5Q29yZUVycm9yIHtcbiAgICByZXR1cm4gKFxuICAgICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nIHwgc3ltYm9sLCB1bmtub3duPilbaXNBcHBFcnJvclN5bWJvbF0gPT09IHRydWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc0Vycm9yT2ZLaW5kKFxuICAgIHZhbHVlOiB1bmtub3duLFxuICAgIGtpbmQ6IEludmVyc2lmeUNvcmVFcnJvcktpbmQsXG4gICk6IHZhbHVlIGlzIEludmVyc2lmeUNvcmVFcnJvciB7XG4gICAgcmV0dXJuIEludmVyc2lmeUNvcmVFcnJvci5pcyh2YWx1ZSkgJiYgdmFsdWUua2luZCA9PT0ga2luZDtcbiAgfVxufVxuIiwiZXhwb3J0IGVudW0gSW52ZXJzaWZ5Q29yZUVycm9yS2luZCB7XG4gIG1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gIHVua25vd24sXG59XG4iLCJleHBvcnQgZW51bSBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQge1xuICBtdWx0aXBsZUluamVjdGlvbixcbiAgc2luZ2xlSW5qZWN0aW9uLFxuICB1bm1hbmFnZWQsXG59XG4iLCJpbXBvcnQgeyBOZXdhYmxlIH0gZnJvbSAnQGludmVyc2lmeWpzL2NvbW1vbic7XG5cbmltcG9ydCB7IEludmVyc2lmeUNvcmVFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9yL21vZGVscy9JbnZlcnNpZnlDb3JlRXJyb3InO1xuaW1wb3J0IHsgSW52ZXJzaWZ5Q29yZUVycm9yS2luZCB9IGZyb20gJy4uLy4uL2Vycm9yL21vZGVscy9JbnZlcnNpZnlDb3JlRXJyb3JLaW5kJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZChcbiAgdHlwZTogTmV3YWJsZSxcbiAgdmFsdWU6IChDbGFzc0VsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZClbXSxcbik6IGFzc2VydHMgdmFsdWUgaXMgQ2xhc3NFbGVtZW50TWV0YWRhdGFbXSB7XG4gIGNvbnN0IHVuZGVmaW5lZEluZGV4ZXM6IG51bWJlcltdID0gW107XG5cbiAgLy8gVXNpbmcgYSBmb3IgbG9vcCB0byBlbnN1cmUgZW1wdHkgdmFsdWVzIGFyZSB0cmF2ZXJzZWQgYXMgd2VsbFxuICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyArK2kpIHtcbiAgICBjb25zdCBlbGVtZW50OiBDbGFzc0VsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZCA9IHZhbHVlW2ldO1xuXG4gICAgaWYgKGVsZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdW5kZWZpbmVkSW5kZXhlcy5wdXNoKGkpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh1bmRlZmluZWRJbmRleGVzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yS2luZC5taXNzaW5nSW5qZWN0aW9uRGVjb3JhdG9yLFxuICAgICAgYEZvdW5kIHVuZXhwZWN0ZWQgbWlzc2luZyBtZXRhZGF0YSBvbiB0eXBlIFwiJHt0eXBlLm5hbWV9XCIgYXQgY29uc3RydWN0b3IgaW5kZXhlcyBcIiR7dW5kZWZpbmVkSW5kZXhlcy5qb2luKCdcIiwgXCInKX1cIi5cblxuQXJlIHlvdSB1c2luZyBAaW5qZWN0LCBAbXVsdGlJbmplY3Qgb3IgQHVubWFuYWdlZCBkZWNvcmF0b3JzIGF0IHRob3NlIGluZGV4ZXM/XG5cbklmIHlvdSdyZSB1c2luZyB0eXBlc2NyaXB0IGFuZCB3YW50IHRvIHJlbHkgb24gYXV0byBpbmplY3Rpb24sIHNldCBcImVtaXREZWNvcmF0b3JNZXRhZGF0YVwiIGNvbXBpbGVyIG9wdGlvbiB0byB0cnVlYCxcbiAgICApO1xuICB9XG59XG4iLCJpbXBvcnQgeyBOZXdhYmxlIH0gZnJvbSAnQGludmVyc2lmeWpzL2NvbW1vbic7XG5cbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZCB9IGZyb20gJy4uL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTmV3YWJsZShcbiAgdHlwZTogTmV3YWJsZSxcbik6IENsYXNzRWxlbWVudE1ldGFkYXRhIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQuc2luZ2xlSW5qZWN0aW9uLFxuICAgIG5hbWU6IHVuZGVmaW5lZCxcbiAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgdGFnczogbmV3IE1hcCgpLFxuICAgIHRhcmdldE5hbWU6IHVuZGVmaW5lZCxcbiAgICB2YWx1ZTogdHlwZSxcbiAgfTtcbn1cbiIsImltcG9ydCB7IExhenlTZXJ2aWNlSWRlbnRpZmllciwgU2VydmljZUlkZW50aWZpZXIgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgSW52ZXJzaWZ5Q29yZUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3IvbW9kZWxzL0ludmVyc2lmeUNvcmVFcnJvcic7XG5pbXBvcnQgeyBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kIH0gZnJvbSAnLi4vLi4vZXJyb3IvbW9kZWxzL0ludmVyc2lmeUNvcmVFcnJvcktpbmQnO1xuaW1wb3J0IHtcbiAgSU5KRUNUX1RBRyxcbiAgTVVMVElfSU5KRUNUX1RBRyxcbiAgTkFNRV9UQUcsXG4gIE5BTUVEX1RBRyxcbiAgTk9OX0NVU1RPTV9UQUdfS0VZUyxcbiAgT1BUSU9OQUxfVEFHLFxuICBVTk1BTkFHRURfVEFHLFxufSBmcm9tICcuLi8uLi9yZWZsZWN0TWV0YWRhdGEvZGF0YS9rZXlzJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZCB9IGZyb20gJy4uL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5TWV0YWRhdGEnO1xuaW1wb3J0IHsgTWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL01hbmFnZWRDbGFzc0VsZW1lbnRNZXRhZGF0YSc7XG5pbXBvcnQgeyBNZXRhZGF0YU5hbWUgfSBmcm9tICcuLi9tb2RlbHMvTWV0YWRhdGFOYW1lJztcbmltcG9ydCB7IE1ldGFkYXRhVGFnIH0gZnJvbSAnLi4vbW9kZWxzL01ldGFkYXRhVGFnJztcbmltcG9ydCB7IE1ldGFkYXRhVGFyZ2V0TmFtZSB9IGZyb20gJy4uL21vZGVscy9NZXRhZGF0YVRhcmdldE5hbWUnO1xuaW1wb3J0IHsgVW5tYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvVW5tYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEoXG4gIG1ldGFkYXRhTGlzdDogTGVnYWN5TWV0YWRhdGFbXSxcbik6IENsYXNzRWxlbWVudE1ldGFkYXRhIHtcbiAgY29uc3QgaW5qZWN0TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID0gbWV0YWRhdGFMaXN0LmZpbmQoXG4gICAgKG1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSk6IGJvb2xlYW4gPT4gbWV0YWRhdGEua2V5ID09PSBJTkpFQ1RfVEFHLFxuICApO1xuICBjb25zdCBtdWx0aUluamVjdE1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSB8IHVuZGVmaW5lZCA9IG1ldGFkYXRhTGlzdC5maW5kKFxuICAgIChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+IG1ldGFkYXRhLmtleSA9PT0gTVVMVElfSU5KRUNUX1RBRyxcbiAgKTtcbiAgY29uc3QgdW5tYW5hZ2VkTWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID0gbWV0YWRhdGFMaXN0LmZpbmQoXG4gICAgKG1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSk6IGJvb2xlYW4gPT4gbWV0YWRhdGEua2V5ID09PSBVTk1BTkFHRURfVEFHLFxuICApO1xuXG4gIGlmICh1bm1hbmFnZWRNZXRhZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGdldFVubWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhKFxuICAgICAgaW5qZWN0TWV0YWRhdGEsXG4gICAgICBtdWx0aUluamVjdE1ldGFkYXRhLFxuICAgICk7XG4gIH1cblxuICBpZiAobXVsdGlJbmplY3RNZXRhZGF0YSA9PT0gdW5kZWZpbmVkICYmIGluamVjdE1ldGFkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yS2luZC5taXNzaW5nSW5qZWN0aW9uRGVjb3JhdG9yLFxuICAgICAgJ0V4cGVjdGVkIEBpbmplY3QsIEBtdWx0aUluamVjdCBvciBAdW5tYW5hZ2VkIG1ldGFkYXRhJyxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgbmFtZU1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSB8IHVuZGVmaW5lZCA9IG1ldGFkYXRhTGlzdC5maW5kKFxuICAgIChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+IG1ldGFkYXRhLmtleSA9PT0gTkFNRURfVEFHLFxuICApO1xuXG4gIGNvbnN0IG9wdGlvbmFsTWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID0gbWV0YWRhdGFMaXN0LmZpbmQoXG4gICAgKG1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSk6IGJvb2xlYW4gPT4gbWV0YWRhdGEua2V5ID09PSBPUFRJT05BTF9UQUcsXG4gICk7XG5cbiAgY29uc3QgdGFyZ2V0TmFtZU1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSB8IHVuZGVmaW5lZCA9IG1ldGFkYXRhTGlzdC5maW5kKFxuICAgIChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+IG1ldGFkYXRhLmtleSA9PT0gTkFNRV9UQUcsXG4gICk7XG5cbiAgY29uc3QgbWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhOiBNYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEgPSB7XG4gICAga2luZDpcbiAgICAgIGluamVjdE1ldGFkYXRhID09PSB1bmRlZmluZWRcbiAgICAgICAgPyBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQubXVsdGlwbGVJbmplY3Rpb25cbiAgICAgICAgOiBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQuc2luZ2xlSW5qZWN0aW9uLFxuICAgIG5hbWU6IG5hbWVNZXRhZGF0YT8udmFsdWUgYXMgTWV0YWRhdGFOYW1lIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbmFsOiBvcHRpb25hbE1ldGFkYXRhICE9PSB1bmRlZmluZWQsXG4gICAgdGFnczogbmV3IE1hcChcbiAgICAgIG1ldGFkYXRhTGlzdFxuICAgICAgICAuZmlsdGVyKChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+XG4gICAgICAgICAgTk9OX0NVU1RPTV9UQUdfS0VZUy5ldmVyeShcbiAgICAgICAgICAgIChjdXN0b21UYWdLZXk6IHN0cmluZyk6IGJvb2xlYW4gPT4gbWV0YWRhdGEua2V5ICE9PSBjdXN0b21UYWdLZXksXG4gICAgICAgICAgKSxcbiAgICAgICAgKVxuICAgICAgICAubWFwKChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBbTWV0YWRhdGFUYWcsIHVua25vd25dID0+IFtcbiAgICAgICAgICBtZXRhZGF0YS5rZXksXG4gICAgICAgICAgbWV0YWRhdGEudmFsdWUsXG4gICAgICAgIF0pLFxuICAgICksXG4gICAgdGFyZ2V0TmFtZTogdGFyZ2V0TmFtZU1ldGFkYXRhPy52YWx1ZSBhcyBNZXRhZGF0YVRhcmdldE5hbWUgfCB1bmRlZmluZWQsXG4gICAgdmFsdWU6XG4gICAgICBpbmplY3RNZXRhZGF0YSA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gKG11bHRpSW5qZWN0TWV0YWRhdGE/LnZhbHVlIGFzXG4gICAgICAgICAgICB8IFNlcnZpY2VJZGVudGlmaWVyXG4gICAgICAgICAgICB8IExhenlTZXJ2aWNlSWRlbnRpZmllcilcbiAgICAgICAgOiAoaW5qZWN0TWV0YWRhdGEudmFsdWUgYXMgU2VydmljZUlkZW50aWZpZXIgfCBMYXp5U2VydmljZUlkZW50aWZpZXIpLFxuICB9O1xuXG4gIHJldHVybiBtYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGE7XG59XG5cbmZ1bmN0aW9uIGdldFVubWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhKFxuICBpbmplY3RNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEgfCB1bmRlZmluZWQsXG4gIG11bHRpSW5qZWN0TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkLFxuKTogVW5tYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEge1xuICBpZiAobXVsdGlJbmplY3RNZXRhZGF0YSAhPT0gdW5kZWZpbmVkIHx8IGluamVjdE1ldGFkYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yS2luZC5taXNzaW5nSW5qZWN0aW9uRGVjb3JhdG9yLFxuICAgICAgJ0V4cGVjdGVkIGEgc2luZ2xlIEBpbmplY3QsIEBtdWx0aUluamVjdCBvciBAdW5tYW5hZ2VkIG1ldGFkYXRhJyxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBraW5kOiBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQudW5tYW5hZ2VkLFxuICB9O1xufVxuIiwiaW1wb3J0IHsgTmV3YWJsZSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9jb21tb24nO1xuXG5pbXBvcnQgeyBJbnZlcnNpZnlDb3JlRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvci9tb2RlbHMvSW52ZXJzaWZ5Q29yZUVycm9yJztcbmltcG9ydCB7IEludmVyc2lmeUNvcmVFcnJvcktpbmQgfSBmcm9tICcuLi8uLi9lcnJvci9tb2RlbHMvSW52ZXJzaWZ5Q29yZUVycm9yS2luZCc7XG5pbXBvcnQgeyBDbGFzc0VsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YSc7XG5pbXBvcnQgeyBMZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9MZWdhY3lNZXRhZGF0YSc7XG5pbXBvcnQgeyBnZXRDbGFzc0VsZW1lbnRNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4vZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uc3RydWN0b3JBcmd1bWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhKFxuICB0eXBlOiBOZXdhYmxlLFxuICBpbmRleDogbnVtYmVyLFxuICBtZXRhZGF0YUxpc3Q6IExlZ2FjeU1ldGFkYXRhW10sXG4pOiBDbGFzc0VsZW1lbnRNZXRhZGF0YSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhKG1ldGFkYXRhTGlzdCk7XG4gIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgaWYgKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yLmlzRXJyb3JPZktpbmQoXG4gICAgICAgIGVycm9yLFxuICAgICAgICBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kLm1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgICBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kLm1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gICAgICAgIGBFeHBlY3RlZCBhIHNpbmdsZSBAaW5qZWN0LCBAbXVsdGlJbmplY3Qgb3IgQHVubWFuYWdlZCBkZWNvcmF0b3IgYXQgdHlwZSBcIiR7dHlwZS5uYW1lfVwiIGF0IGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhdCBpbmRleCBcIiR7aW5kZXgudG9TdHJpbmcoKX1cImAsXG4gICAgICAgIHsgY2F1c2U6IGVycm9yIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcbmltcG9ydCB7IGdldFJlZmxlY3RNZXRhZGF0YSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzJztcblxuaW1wb3J0IHsgREVTSUdOX1BBUkFNX1RZUEVTLCBUQUdHRUQgfSBmcm9tICcuLi8uLi9yZWZsZWN0TWV0YWRhdGEvZGF0YS9rZXlzJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhTWFwIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhTWFwJztcbmltcG9ydCB7IGFzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZCB9IGZyb20gJy4vYXNzZXJ0Q29uc3RydWN0b3JNZXRhZGF0YUFycmF5RmlsbGVkJztcbmltcG9ydCB7IGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUgfSBmcm9tICcuL2dldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUnO1xuaW1wb3J0IHsgZ2V0Q29uc3RydWN0b3JBcmd1bWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhIH0gZnJvbSAnLi9nZXRDb25zdHJ1Y3RvckFyZ3VtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzKFxuICB0eXBlOiBOZXdhYmxlLFxuKTogQ2xhc3NFbGVtZW50TWV0YWRhdGFbXSB7XG4gIGNvbnN0IHR5cGVzY3JpcHRNZXRhZGF0YUxpc3Q6IE5ld2FibGVbXSB8IHVuZGVmaW5lZCA9IGdldFJlZmxlY3RNZXRhZGF0YShcbiAgICB0eXBlLFxuICAgIERFU0lHTl9QQVJBTV9UWVBFUyxcbiAgKTtcblxuICBjb25zdCBjb25zdHJ1Y3RvclBhcmFtZXRlcnNMZWdhY3lNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGFNYXAgfCB1bmRlZmluZWQgPVxuICAgIGdldFJlZmxlY3RNZXRhZGF0YSh0eXBlLCBUQUdHRUQpO1xuXG4gIGNvbnN0IGNvbnN0cnVjdG9yQXJndW1lbnRzTWV0YWRhdGE6IChDbGFzc0VsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZClbXSA9IFtdO1xuXG4gIGlmIChjb25zdHJ1Y3RvclBhcmFtZXRlcnNMZWdhY3lNZXRhZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZm9yIChjb25zdCBbc3RyaW5naWZpZWRJbmRleCwgbWV0YWRhdGFMaXN0XSBvZiBPYmplY3QuZW50cmllcyhcbiAgICAgIGNvbnN0cnVjdG9yUGFyYW1ldGVyc0xlZ2FjeU1ldGFkYXRhLFxuICAgICkpIHtcbiAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBwYXJzZUludChzdHJpbmdpZmllZEluZGV4KTtcblxuICAgICAgY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpbmRleF0gPVxuICAgICAgICBnZXRDb25zdHJ1Y3RvckFyZ3VtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEoXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICBpbmRleCxcbiAgICAgICAgICBtZXRhZGF0YUxpc3QsXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVzY3JpcHRNZXRhZGF0YUxpc3QgIT09IHVuZGVmaW5lZCkge1xuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCB0eXBlc2NyaXB0TWV0YWRhdGFMaXN0Lmxlbmd0aDsgKytpKSB7XG4gICAgICBpZiAoY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IHR5cGVzY3JpcHRNZXRhZGF0YTogTmV3YWJsZSA9IHR5cGVzY3JpcHRNZXRhZGF0YUxpc3RbXG4gICAgICAgICAgaVxuICAgICAgICBdIGFzIE5ld2FibGU7XG5cbiAgICAgICAgY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpXSA9XG4gICAgICAgICAgZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTmV3YWJsZSh0eXBlc2NyaXB0TWV0YWRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZCh0eXBlLCBjb25zdHJ1Y3RvckFyZ3VtZW50c01ldGFkYXRhKTtcblxuICByZXR1cm4gY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgSW52ZXJzaWZ5Q29yZUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3IvbW9kZWxzL0ludmVyc2lmeUNvcmVFcnJvcic7XG5pbXBvcnQgeyBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kIH0gZnJvbSAnLi4vLi4vZXJyb3IvbW9kZWxzL0ludmVyc2lmeUNvcmVFcnJvcktpbmQnO1xuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvQ2xhc3NFbGVtZW50TWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5TWV0YWRhdGEnO1xuaW1wb3J0IHsgZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuL2dldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEoXG4gIHR5cGU6IE5ld2FibGUsXG4gIGtleTogc3RyaW5nIHwgc3ltYm9sLFxuICBtZXRhZGF0YUxpc3Q6IExlZ2FjeU1ldGFkYXRhW10sXG4pOiBDbGFzc0VsZW1lbnRNZXRhZGF0YSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhKG1ldGFkYXRhTGlzdCk7XG4gIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgaWYgKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yLmlzRXJyb3JPZktpbmQoXG4gICAgICAgIGVycm9yLFxuICAgICAgICBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kLm1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgICBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kLm1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gICAgICAgIGBFeHBlY3RlZCBhIHNpbmdsZSBAaW5qZWN0LCBAbXVsdGlJbmplY3Qgb3IgQHVubWFuYWdlZCBkZWNvcmF0b3IgYXQgdHlwZSBcIiR7dHlwZS5uYW1lfVwiIGF0IHByb3BlcnR5IFwiJHtrZXkudG9TdHJpbmcoKX1cImAsXG4gICAgICAgIHsgY2F1c2U6IGVycm9yIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcbmltcG9ydCB7IGdldFJlZmxlY3RNZXRhZGF0YSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzJztcblxuaW1wb3J0IHsgVEFHR0VEX1BST1AgfSBmcm9tICcuLi8uLi9yZWZsZWN0TWV0YWRhdGEvZGF0YS9rZXlzJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhTWFwIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhTWFwJztcbmltcG9ydCB7IGdldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuL2dldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXMoXG4gIHR5cGU6IE5ld2FibGUsXG4pOiBNYXA8c3RyaW5nIHwgc3ltYm9sLCBDbGFzc0VsZW1lbnRNZXRhZGF0YT4ge1xuICBjb25zdCBwcm9wZXJ0aWVzTGVnYWN5TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhTWFwIHwgdW5kZWZpbmVkID1cbiAgICBnZXRSZWZsZWN0TWV0YWRhdGEodHlwZSwgVEFHR0VEX1BST1ApO1xuXG4gIGNvbnN0IHByb3BlcnRpZXNNZXRhZGF0YTogTWFwPHN0cmluZyB8IHN5bWJvbCwgQ2xhc3NFbGVtZW50TWV0YWRhdGE+ID1cbiAgICBuZXcgTWFwKCk7XG5cbiAgaWYgKHByb3BlcnRpZXNMZWdhY3lNZXRhZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBSZWZsZWN0Lm93bktleXMocHJvcGVydGllc0xlZ2FjeU1ldGFkYXRhKSkge1xuICAgICAgY29uc3QgbGVnYWN5TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhW10gPSBwcm9wZXJ0aWVzTGVnYWN5TWV0YWRhdGFbXG4gICAgICAgIHByb3BlcnR5XG4gICAgICBdIGFzIExlZ2FjeU1ldGFkYXRhW107XG4gICAgICBwcm9wZXJ0aWVzTWV0YWRhdGEuc2V0KFxuICAgICAgICBwcm9wZXJ0eSxcbiAgICAgICAgZ2V0UHJvcGVydHlNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YSh0eXBlLCBwcm9wZXJ0eSwgbGVnYWN5TWV0YWRhdGEpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJvcGVydGllc01ldGFkYXRhO1xufVxuIiwiaW1wb3J0IHsgTmV3YWJsZSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9jb21tb24nO1xuaW1wb3J0IHsgZ2V0UmVmbGVjdE1ldGFkYXRhIH0gZnJvbSAnQGludmVyc2lmeWpzL3JlZmxlY3QtbWV0YWRhdGEtdXRpbHMnO1xuXG5pbXBvcnQgeyBQT1NUX0NPTlNUUlVDVCwgUFJFX0RFU1RST1kgfSBmcm9tICcuLi8uLi9yZWZsZWN0TWV0YWRhdGEvZGF0YS9rZXlzJztcbmltcG9ydCB7IENsYXNzTWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvQ2xhc3NNZXRhZGF0YSc7XG5pbXBvcnQgeyBMZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9MZWdhY3lNZXRhZGF0YSc7XG5pbXBvcnQgeyBnZXRDbGFzc01ldGFkYXRhQ29uc3RydWN0b3JBcmd1bWVudHMgfSBmcm9tICcuL2dldENsYXNzTWV0YWRhdGFDb25zdHJ1Y3RvckFyZ3VtZW50cyc7XG5pbXBvcnQgeyBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcyB9IGZyb20gJy4vZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YSh0eXBlOiBOZXdhYmxlKTogQ2xhc3NNZXRhZGF0YSB7XG4gIGNvbnN0IHBvc3RDb25zdHJ1Y3RNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEgfCB1bmRlZmluZWQgPVxuICAgIGdldFJlZmxlY3RNZXRhZGF0YTxMZWdhY3lNZXRhZGF0YT4odHlwZSwgUE9TVF9DT05TVFJVQ1QpO1xuICBjb25zdCBwcmVEZXN0cm95TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID1cbiAgICBnZXRSZWZsZWN0TWV0YWRhdGE8TGVnYWN5TWV0YWRhdGE+KHR5cGUsIFBSRV9ERVNUUk9ZKTtcblxuICBjb25zdCBjbGFzc01ldGFkYXRhOiBDbGFzc01ldGFkYXRhID0ge1xuICAgIGNvbnN0cnVjdG9yQXJndW1lbnRzOiBnZXRDbGFzc01ldGFkYXRhQ29uc3RydWN0b3JBcmd1bWVudHModHlwZSksXG4gICAgbGlmZWN5Y2xlOiB7XG4gICAgICBwb3N0Q29uc3RydWN0TWV0aG9kTmFtZTogcG9zdENvbnN0cnVjdE1ldGFkYXRhPy52YWx1ZSBhcyBzdHJpbmcsXG4gICAgICBwcmVEZXN0cm95TWV0aG9kTmFtZTogcHJlRGVzdHJveU1ldGFkYXRhPy52YWx1ZSBhcyBzdHJpbmcsXG4gICAgfSxcbiAgICBwcm9wZXJ0aWVzOiBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcyh0eXBlKSxcbiAgfTtcblxuICByZXR1cm4gY2xhc3NNZXRhZGF0YTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvQ2xhc3NFbGVtZW50TWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5Q29uc3RydWN0b3JNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9MZWdhY3lDb25zdHJ1Y3Rvck1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhUmVhZGVyIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhUmVhZGVyJztcbmltcG9ydCB7IGFzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZCB9IGZyb20gJy4vYXNzZXJ0Q29uc3RydWN0b3JNZXRhZGF0YUFycmF5RmlsbGVkJztcbmltcG9ydCB7IGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUgfSBmcm9tICcuL2dldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUnO1xuaW1wb3J0IHsgZ2V0Q29uc3RydWN0b3JBcmd1bWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhIH0gZnJvbSAnLi9nZXRDb25zdHJ1Y3RvckFyZ3VtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzRnJvbU1ldGFkYXRhUmVhZGVyKFxuICB0eXBlOiBOZXdhYmxlLFxuICBtZXRhZGF0YVJlYWRlcjogTGVnYWN5TWV0YWRhdGFSZWFkZXIsXG4pOiBDbGFzc0VsZW1lbnRNZXRhZGF0YVtdIHtcbiAgY29uc3QgbGVnYWN5Q29uc3RydWN0b3JNZXRhZGF0YTogTGVnYWN5Q29uc3RydWN0b3JNZXRhZGF0YSA9XG4gICAgbWV0YWRhdGFSZWFkZXIuZ2V0Q29uc3RydWN0b3JNZXRhZGF0YSh0eXBlKTtcblxuICBjb25zdCBjb25zdHJ1Y3RvckFyZ3VtZW50c01ldGFkYXRhOiAoQ2xhc3NFbGVtZW50TWV0YWRhdGEgfCB1bmRlZmluZWQpW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IFtzdHJpbmdpZmllZEluZGV4LCBtZXRhZGF0YUxpc3RdIG9mIE9iamVjdC5lbnRyaWVzKFxuICAgIGxlZ2FjeUNvbnN0cnVjdG9yTWV0YWRhdGEudXNlckdlbmVyYXRlZE1ldGFkYXRhLFxuICApKSB7XG4gICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHBhcnNlSW50KHN0cmluZ2lmaWVkSW5kZXgpO1xuXG4gICAgY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpbmRleF0gPVxuICAgICAgZ2V0Q29uc3RydWN0b3JBcmd1bWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhKFxuICAgICAgICB0eXBlLFxuICAgICAgICBpbmRleCxcbiAgICAgICAgbWV0YWRhdGFMaXN0LFxuICAgICAgKTtcbiAgfVxuXG4gIGlmIChsZWdhY3lDb25zdHJ1Y3Rvck1ldGFkYXRhLmNvbXBpbGVyR2VuZXJhdGVkTWV0YWRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgIGZvciAoXG4gICAgICBsZXQgaTogbnVtYmVyID0gMDtcbiAgICAgIGkgPCBsZWdhY3lDb25zdHJ1Y3Rvck1ldGFkYXRhLmNvbXBpbGVyR2VuZXJhdGVkTWV0YWRhdGEubGVuZ3RoO1xuICAgICAgKytpXG4gICAgKSB7XG4gICAgICBpZiAoY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IHR5cGVzY3JpcHRNZXRhZGF0YTogTmV3YWJsZSA9IGxlZ2FjeUNvbnN0cnVjdG9yTWV0YWRhdGFcbiAgICAgICAgICAuY29tcGlsZXJHZW5lcmF0ZWRNZXRhZGF0YVtpXSBhcyBOZXdhYmxlO1xuXG4gICAgICAgIGNvbnN0cnVjdG9yQXJndW1lbnRzTWV0YWRhdGFbaV0gPVxuICAgICAgICAgIGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUodHlwZXNjcmlwdE1ldGFkYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3NlcnRDb25zdHJ1Y3Rvck1ldGFkYXRhQXJyYXlGaWxsZWQodHlwZSwgY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YSk7XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yQXJndW1lbnRzTWV0YWRhdGE7XG59XG4iLCJpbXBvcnQgeyBOZXdhYmxlIH0gZnJvbSAnQGludmVyc2lmeWpzL2NvbW1vbic7XG5cbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhTWFwIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhTWFwJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhUmVhZGVyIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhUmVhZGVyJztcbmltcG9ydCB7IGdldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuL2dldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXNGcm9tTWV0YWRhdGFSZWFkZXIoXG4gIHR5cGU6IE5ld2FibGUsXG4gIG1ldGFkYXRhUmVhZGVyOiBMZWdhY3lNZXRhZGF0YVJlYWRlcixcbik6IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPiB7XG4gIGNvbnN0IHByb3BlcnRpZXNMZWdhY3lNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGFNYXAgPVxuICAgIG1ldGFkYXRhUmVhZGVyLmdldFByb3BlcnRpZXNNZXRhZGF0YSh0eXBlKTtcblxuICBjb25zdCBwcm9wZXJ0aWVzTWV0YWRhdGE6IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPiA9XG4gICAgbmV3IE1hcCgpO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgb2YgUmVmbGVjdC5vd25LZXlzKHByb3BlcnRpZXNMZWdhY3lNZXRhZGF0YSkpIHtcbiAgICBjb25zdCBsZWdhY3lNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGFbXSA9IHByb3BlcnRpZXNMZWdhY3lNZXRhZGF0YVtcbiAgICAgIHByb3BlcnR5XG4gICAgXSBhcyBMZWdhY3lNZXRhZGF0YVtdO1xuICAgIHByb3BlcnRpZXNNZXRhZGF0YS5zZXQoXG4gICAgICBwcm9wZXJ0eSxcbiAgICAgIGdldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEodHlwZSwgcHJvcGVydHksIGxlZ2FjeU1ldGFkYXRhKSxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHByb3BlcnRpZXNNZXRhZGF0YTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcbmltcG9ydCB7IGdldFJlZmxlY3RNZXRhZGF0YSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzJztcblxuaW1wb3J0IHsgUE9TVF9DT05TVFJVQ1QsIFBSRV9ERVNUUk9ZIH0gZnJvbSAnLi4vLi4vcmVmbGVjdE1ldGFkYXRhL2RhdGEva2V5cyc7XG5pbXBvcnQgeyBDbGFzc01ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzTWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5TWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGFSZWFkZXIgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5TWV0YWRhdGFSZWFkZXInO1xuaW1wb3J0IHsgZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzRnJvbU1ldGFkYXRhUmVhZGVyIH0gZnJvbSAnLi9nZXRDbGFzc01ldGFkYXRhQ29uc3RydWN0b3JBcmd1bWVudHNGcm9tTWV0YWRhdGFSZWFkZXInO1xuaW1wb3J0IHsgZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXNGcm9tTWV0YWRhdGFSZWFkZXIgfSBmcm9tICcuL2dldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzRnJvbU1ldGFkYXRhUmVhZGVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENsYXNzTWV0YWRhdGFGcm9tTWV0YWRhdGFSZWFkZXIoXG4gIHR5cGU6IE5ld2FibGUsXG4gIG1ldGFkYXRhUmVhZGVyOiBMZWdhY3lNZXRhZGF0YVJlYWRlcixcbik6IENsYXNzTWV0YWRhdGEge1xuICBjb25zdCBwb3N0Q29uc3RydWN0TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID1cbiAgICBnZXRSZWZsZWN0TWV0YWRhdGE8TGVnYWN5TWV0YWRhdGE+KHR5cGUsIFBPU1RfQ09OU1RSVUNUKTtcbiAgY29uc3QgcHJlRGVzdHJveU1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSB8IHVuZGVmaW5lZCA9XG4gICAgZ2V0UmVmbGVjdE1ldGFkYXRhPExlZ2FjeU1ldGFkYXRhPih0eXBlLCBQUkVfREVTVFJPWSk7XG5cbiAgY29uc3QgY2xhc3NNZXRhZGF0YTogQ2xhc3NNZXRhZGF0YSA9IHtcbiAgICBjb25zdHJ1Y3RvckFyZ3VtZW50czpcbiAgICAgIGdldENsYXNzTWV0YWRhdGFDb25zdHJ1Y3RvckFyZ3VtZW50c0Zyb21NZXRhZGF0YVJlYWRlcihcbiAgICAgICAgdHlwZSxcbiAgICAgICAgbWV0YWRhdGFSZWFkZXIsXG4gICAgICApLFxuICAgIGxpZmVjeWNsZToge1xuICAgICAgcG9zdENvbnN0cnVjdE1ldGhvZE5hbWU6IHBvc3RDb25zdHJ1Y3RNZXRhZGF0YT8udmFsdWUgYXMgc3RyaW5nLFxuICAgICAgcHJlRGVzdHJveU1ldGhvZE5hbWU6IHByZURlc3Ryb3lNZXRhZGF0YT8udmFsdWUgYXMgc3RyaW5nLFxuICAgIH0sXG4gICAgcHJvcGVydGllczogZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXNGcm9tTWV0YWRhdGFSZWFkZXIoXG4gICAgICB0eXBlLFxuICAgICAgbWV0YWRhdGFSZWFkZXIsXG4gICAgKSxcbiAgfTtcblxuICByZXR1cm4gY2xhc3NNZXRhZGF0YTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgUHJvdG90eXBlIH0gZnJvbSAnLi4vbW9kZWxzL1Byb3RvdHlwZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCYXNlVHlwZTxUSW5zdGFuY2UsIFRBcmdzIGV4dGVuZHMgdW5rbm93bltdPihcbiAgdHlwZTogTmV3YWJsZTxUSW5zdGFuY2UsIFRBcmdzPixcbik6IE5ld2FibGUgfCB1bmRlZmluZWQge1xuICBjb25zdCBwcm90b3R5cGU6IFByb3RvdHlwZSB8IG51bGwgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoXG4gICAgdHlwZS5wcm90b3R5cGUsXG4gICkgYXMgUHJvdG90eXBlIHwgbnVsbDtcblxuICBjb25zdCBiYXNlVHlwZTogTmV3YWJsZSB8IHVuZGVmaW5lZCA9IHByb3RvdHlwZT8uY29uc3RydWN0b3I7XG5cbiAgcmV0dXJuIGJhc2VUeXBlO1xufVxuIiwidmFyIHggPSAoeSkgPT4ge1xuXHR2YXIgeCA9IHt9OyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoeCwgeSk7IHJldHVybiB4XG59IFxudmFyIHkgPSAoeCkgPT4gKCgpID0+ICh4KSlcbmNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSB4KHsgW1wiTGF6eVNlcnZpY2VJZGVudGlmaWVyXCJdOiAoKSA9PiAoX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV9faW52ZXJzaWZ5anNfY29tbW9uXzA4MWQ4YzA3X18uTGF6eVNlcnZpY2VJZGVudGlmaWVyKSB9KTsiLCJpbXBvcnQge1xuICBJTkpFQ1RfVEFHLFxuICBNVUxUSV9JTkpFQ1RfVEFHLFxuICBOQU1FX1RBRyxcbiAgTkFNRURfVEFHLFxuICBPUFRJT05BTF9UQUcsXG4gIFVOTUFOQUdFRF9UQUcsXG59IGZyb20gJy4uLy4uL3JlZmxlY3RNZXRhZGF0YS9kYXRhL2tleXMnO1xuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvQ2xhc3NFbGVtZW50TWV0YWRhdGEnO1xuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGFLaW5kIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhS2luZCc7XG5pbXBvcnQgeyBMZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9MZWdhY3lNZXRhZGF0YSc7XG5pbXBvcnQgeyBNYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvTWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExlZ2FjeU1ldGFkYXRhKFxuICBjbGFzc0VsZW1lbnRNZXRhZGF0YTogQ2xhc3NFbGVtZW50TWV0YWRhdGEsXG4pOiBMZWdhY3lNZXRhZGF0YVtdIHtcbiAgc3dpdGNoIChjbGFzc0VsZW1lbnRNZXRhZGF0YS5raW5kKSB7XG4gICAgY2FzZSBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQudW5tYW5hZ2VkOlxuICAgICAgcmV0dXJuIGdldFVubWFuYWdlZExlZ2FjeU1ldGFkYXRhKCk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBnZXRNYW5hZ2VkTGVnYWN5TWV0YWRhdGEoY2xhc3NFbGVtZW50TWV0YWRhdGEpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE1hbmFnZWRMZWdhY3lNZXRhZGF0YShcbiAgY2xhc3NFbGVtZW50TWV0YWRhdGE6IE1hbmFnZWRDbGFzc0VsZW1lbnRNZXRhZGF0YSxcbik6IExlZ2FjeU1ldGFkYXRhW10ge1xuICBjb25zdCBsZWdhY3lNZXRhZGF0YUxpc3Q6IExlZ2FjeU1ldGFkYXRhW10gPSBbXG4gICAgZ2V0TWFuYWdlZEtpbmRMZWdhY3lNZXRhZGF0YShjbGFzc0VsZW1lbnRNZXRhZGF0YSksXG4gIF07XG5cbiAgaWYgKGNsYXNzRWxlbWVudE1ldGFkYXRhLm5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGxlZ2FjeU1ldGFkYXRhTGlzdC5wdXNoKHtcbiAgICAgIGtleTogTkFNRURfVEFHLFxuICAgICAgdmFsdWU6IGNsYXNzRWxlbWVudE1ldGFkYXRhLm5hbWUsXG4gICAgfSk7XG4gIH1cblxuICBpZiAoY2xhc3NFbGVtZW50TWV0YWRhdGEub3B0aW9uYWwpIHtcbiAgICBsZWdhY3lNZXRhZGF0YUxpc3QucHVzaCh7XG4gICAgICBrZXk6IE9QVElPTkFMX1RBRyxcbiAgICAgIHZhbHVlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgZm9yIChjb25zdCBbdGFnS2V5LCB0YWdWYWx1ZV0gb2YgY2xhc3NFbGVtZW50TWV0YWRhdGEudGFncykge1xuICAgIGxlZ2FjeU1ldGFkYXRhTGlzdC5wdXNoKHtcbiAgICAgIGtleTogdGFnS2V5LFxuICAgICAgdmFsdWU6IHRhZ1ZhbHVlLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKGNsYXNzRWxlbWVudE1ldGFkYXRhLnRhcmdldE5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGxlZ2FjeU1ldGFkYXRhTGlzdC5wdXNoKHtcbiAgICAgIGtleTogTkFNRV9UQUcsXG4gICAgICB2YWx1ZTogY2xhc3NFbGVtZW50TWV0YWRhdGEudGFyZ2V0TmFtZSxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBsZWdhY3lNZXRhZGF0YUxpc3Q7XG59XG5cbmZ1bmN0aW9uIGdldE1hbmFnZWRLaW5kTGVnYWN5TWV0YWRhdGEoXG4gIGNsYXNzRWxlbWVudE1ldGFkYXRhOiBNYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEsXG4pOiBMZWdhY3lNZXRhZGF0YSB7XG4gIGxldCBraW5kTGVnYWN5TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhO1xuXG4gIHN3aXRjaCAoY2xhc3NFbGVtZW50TWV0YWRhdGEua2luZCkge1xuICAgIGNhc2UgQ2xhc3NFbGVtZW50TWV0YWRhdGFLaW5kLm11bHRpcGxlSW5qZWN0aW9uOlxuICAgICAga2luZExlZ2FjeU1ldGFkYXRhID0ge1xuICAgICAgICBrZXk6IE1VTFRJX0lOSkVDVF9UQUcsXG4gICAgICAgIHZhbHVlOiBjbGFzc0VsZW1lbnRNZXRhZGF0YS52YWx1ZSxcbiAgICAgIH07XG4gICAgICBicmVhaztcbiAgICBjYXNlIENsYXNzRWxlbWVudE1ldGFkYXRhS2luZC5zaW5nbGVJbmplY3Rpb246XG4gICAgICBraW5kTGVnYWN5TWV0YWRhdGEgPSB7XG4gICAgICAgIGtleTogSU5KRUNUX1RBRyxcbiAgICAgICAgdmFsdWU6IGNsYXNzRWxlbWVudE1ldGFkYXRhLnZhbHVlLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGtpbmRMZWdhY3lNZXRhZGF0YTtcbn1cblxuZnVuY3Rpb24gZ2V0VW5tYW5hZ2VkTGVnYWN5TWV0YWRhdGEoKTogTGVnYWN5TWV0YWRhdGFbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAga2V5OiBVTk1BTkFHRURfVEFHLFxuICAgICAgdmFsdWU6IHRydWUsXG4gICAgfSxcbiAgXTtcbn1cbiIsImltcG9ydCB7IExlZ2FjeVF1ZXJ5YWJsZVN0cmluZyB9IGZyb20gJy4vTGVnYWN5UXVlcnlhYmxlU3RyaW5nJztcblxuZXhwb3J0IGNsYXNzIExlZ2FjeVF1ZXJ5YWJsZVN0cmluZ0ltcGwgaW1wbGVtZW50cyBMZWdhY3lRdWVyeWFibGVTdHJpbmcge1xuICByZWFkb25seSAjc3RyOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc3RyOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNzdHIgPSBzdHI7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRzV2l0aChzZWFyY2hTdHJpbmc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNzdHIuc3RhcnRzV2l0aChzZWFyY2hTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIGVuZHNXaXRoKHNlYXJjaFN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI3N0ci5lbmRzV2l0aChzZWFyY2hTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIGNvbnRhaW5zKHNlYXJjaFN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI3N0ci5pbmNsdWRlcyhzZWFyY2hTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIGVxdWFscyhjb21wYXJlU3RyaW5nOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jc3RyID09PSBjb21wYXJlU3RyaW5nO1xuICB9XG5cbiAgcHVibGljIHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI3N0cjtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgZ2V0UmVmbGVjdE1ldGFkYXRhLFxuICB1cGRhdGVSZWZsZWN0TWV0YWRhdGEsXG59IGZyb20gJ0BpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzJztcblxuY29uc3QgSURfTUVUQURBVEE6IHN0cmluZyA9ICdAaW52ZXJzaWZ5anMvY29yZS90YXJnZXRJZCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYXJnZXRJZCgpOiBudW1iZXIge1xuICBjb25zdCB0YXJnZXRJZDogbnVtYmVyID0gZ2V0UmVmbGVjdE1ldGFkYXRhPG51bWJlcj4oT2JqZWN0LCBJRF9NRVRBREFUQSkgPz8gMDtcblxuICBpZiAodGFyZ2V0SWQgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgdXBkYXRlUmVmbGVjdE1ldGFkYXRhKFxuICAgICAgT2JqZWN0LFxuICAgICAgSURfTUVUQURBVEEsXG4gICAgICB0YXJnZXRJZCxcbiAgICAgICgpID0+IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgdXBkYXRlUmVmbGVjdE1ldGFkYXRhKFxuICAgICAgT2JqZWN0LFxuICAgICAgSURfTUVUQURBVEEsXG4gICAgICB0YXJnZXRJZCxcbiAgICAgIChpZDogbnVtYmVyKSA9PiBpZCArIDEsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXRJZDtcbn1cbiIsImltcG9ydCB7IExhenlTZXJ2aWNlSWRlbnRpZmllciwgU2VydmljZUlkZW50aWZpZXIgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgZ2V0TGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0TGVnYWN5TWV0YWRhdGEnO1xuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGFLaW5kIH0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhS2luZCc7XG5pbXBvcnQgeyBMZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9MZWdhY3lNZXRhZGF0YSc7XG5pbXBvcnQgeyBNYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9tb2RlbHMvTWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IE1ldGFkYXRhTmFtZSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9NZXRhZGF0YU5hbWUnO1xuaW1wb3J0IHsgTWV0YWRhdGFUYWcgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9tb2RlbHMvTWV0YWRhdGFUYWcnO1xuaW1wb3J0IHsgTkFNRURfVEFHIH0gZnJvbSAnLi4vLi4vcmVmbGVjdE1ldGFkYXRhL2RhdGEva2V5cyc7XG5pbXBvcnQgeyBMZWdhY3lRdWVyeWFibGVTdHJpbmcgfSBmcm9tICcuLi8uLi9zdHJpbmcvbW9kZWxzL0xlZ2FjeVF1ZXJ5YWJsZVN0cmluZyc7XG5pbXBvcnQgeyBMZWdhY3lRdWVyeWFibGVTdHJpbmdJbXBsIH0gZnJvbSAnLi4vLi4vc3RyaW5nL21vZGVscy9MZWdhY3lRdWVyeWFibGVTdHJpbmdJbXBsJztcbmltcG9ydCB7IGdldERlc2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vc3ltYm9sL2NhbGN1bGF0aW9ucy9nZXREZXNjcmlwdGlvbic7XG5pbXBvcnQgeyBnZXRUYXJnZXRJZCB9IGZyb20gJy4uL2NhbGN1bGF0aW9ucy9nZXRUYXJnZXRJZCc7XG5pbXBvcnQgeyBMZWdhY3lUYXJnZXQgfSBmcm9tICcuL0xlZ2FjeVRhcmdldCc7XG5pbXBvcnQgeyBMZWdhY3lUYXJnZXRUeXBlIH0gZnJvbSAnLi9MZWdhY3lUYXJnZXRUeXBlJztcblxuZXhwb3J0IGNsYXNzIExlZ2FjeVRhcmdldEltcGwgaW1wbGVtZW50cyBMZWdhY3lUYXJnZXQge1xuICByZWFkb25seSAjbWV0YWRhdGE6IE1hbmFnZWRDbGFzc0VsZW1lbnRNZXRhZGF0YTtcbiAgcmVhZG9ubHkgI2lkOiBudW1iZXI7XG4gIHJlYWRvbmx5ICNpZGVudGlmaWVyOiBzdHJpbmcgfCBzeW1ib2w7XG4gICNsYXp5TGVnYWN5TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhW10gfCB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5ICNuYW1lOiBMZWdhY3lRdWVyeWFibGVTdHJpbmc7XG4gIHJlYWRvbmx5ICN0eXBlOiBMZWdhY3lUYXJnZXRUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGlkZW50aWZpZXI6IHN0cmluZyB8IHN5bWJvbCxcbiAgICBtZXRhZGF0YTogTWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhLFxuICAgIHR5cGU6IExlZ2FjeVRhcmdldFR5cGUsXG4gICkge1xuICAgIHRoaXMuI2lkID0gZ2V0VGFyZ2V0SWQoKTtcbiAgICB0aGlzLiNpZGVudGlmaWVyID0gaWRlbnRpZmllcjtcbiAgICB0aGlzLiNsYXp5TGVnYWN5TWV0YWRhdGEgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy4jbWV0YWRhdGEgPSBtZXRhZGF0YTtcbiAgICB0aGlzLiNuYW1lID0gbmV3IExlZ2FjeVF1ZXJ5YWJsZVN0cmluZ0ltcGwoXG4gICAgICB0eXBlb2YgaWRlbnRpZmllciA9PT0gJ3N0cmluZycgPyBpZGVudGlmaWVyIDogZ2V0RGVzY3JpcHRpb24oaWRlbnRpZmllciksXG4gICAgKTtcbiAgICB0aGlzLiN0eXBlID0gdHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jaWQ7XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhpcyBpcyBhIGNsYXNzIHByb3BlcnR5IHRhcmdldCwgdGhpcyBpcyB0aGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gYmUgaW5qZWN0ZWRcbiAgICovXG4gIHB1YmxpYyBnZXQgaWRlbnRpZmllcigpOiBzdHJpbmcgfCBzeW1ib2wge1xuICAgIHJldHVybiB0aGlzLiNpZGVudGlmaWVyO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXRhZGF0YSgpOiBMZWdhY3lNZXRhZGF0YVtdIHtcbiAgICBpZiAodGhpcy4jbGF6eUxlZ2FjeU1ldGFkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuI2xhenlMZWdhY3lNZXRhZGF0YSA9IGdldExlZ2FjeU1ldGFkYXRhKHRoaXMuI21ldGFkYXRhKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jbGF6eUxlZ2FjeU1ldGFkYXRhO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IExlZ2FjeVF1ZXJ5YWJsZVN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI25hbWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHR5cGUoKTogTGVnYWN5VGFyZ2V0VHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuI3R5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlcnZpY2VJZGVudGlmaWVyKCk6IFNlcnZpY2VJZGVudGlmaWVyIHtcbiAgICBpZiAoTGF6eVNlcnZpY2VJZGVudGlmaWVyLmlzKHRoaXMuI21ldGFkYXRhLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuI21ldGFkYXRhLnZhbHVlLnVud3JhcCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy4jbWV0YWRhdGEudmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEN1c3RvbVRhZ3MoKTogTGVnYWN5TWV0YWRhdGFbXSB8IG51bGwge1xuICAgIHJldHVybiBbLi4udGhpcy4jbWV0YWRhdGEudGFncy5lbnRyaWVzKCldLm1hcChcbiAgICAgIChba2V5LCB2YWx1ZV06IFtNZXRhZGF0YVRhZywgdW5rbm93bl0pOiBMZWdhY3lNZXRhZGF0YSA9PiAoe1xuICAgICAgICBrZXksXG4gICAgICAgIHZhbHVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROYW1lZFRhZygpOiBMZWdhY3lNZXRhZGF0YTxNZXRhZGF0YU5hbWU+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuI21ldGFkYXRhLm5hbWUgPT09IHVuZGVmaW5lZFxuICAgICAgPyBudWxsXG4gICAgICA6IHtcbiAgICAgICAgICBrZXk6IE5BTUVEX1RBRyxcbiAgICAgICAgICB2YWx1ZTogdGhpcy4jbWV0YWRhdGEubmFtZSxcbiAgICAgICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNUYWcoa2V5OiBNZXRhZGF0YVRhZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1ldGFkYXRhLnNvbWUoXG4gICAgICAobWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhKTogYm9vbGVhbiA9PiBtZXRhZGF0YS5rZXkgPT09IGtleSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGlzQXJyYXkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI21ldGFkYXRhLmtpbmQgPT09IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZC5tdWx0aXBsZUluamVjdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBpc05hbWVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNtZXRhZGF0YS5uYW1lICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgaXNPcHRpb25hbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jbWV0YWRhdGEub3B0aW9uYWw7XG4gIH1cblxuICBwdWJsaWMgaXNUYWdnZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI21ldGFkYXRhLnRhZ3Muc2l6ZSA+IDA7XG4gIH1cblxuICBwdWJsaWMgbWF0Y2hlc0FycmF5KG5hbWU6IFNlcnZpY2VJZGVudGlmaWVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBcnJheSgpICYmIHRoaXMuI21ldGFkYXRhLnZhbHVlID09PSBuYW1lO1xuICB9XG5cbiAgcHVibGljIG1hdGNoZXNOYW1lZFRhZyhuYW1lOiBNZXRhZGF0YU5hbWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jbWV0YWRhdGEubmFtZSA9PT0gbmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBtYXRjaGVzVGFnKGtleTogTWV0YWRhdGFUYWcpOiAodmFsdWU6IHVua25vd24pID0+IGJvb2xlYW4ge1xuICAgIHJldHVybiAodmFsdWU6IHVua25vd24pOiBib29sZWFuID0+XG4gICAgICB0aGlzLm1ldGFkYXRhLnNvbWUoXG4gICAgICAgIChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+XG4gICAgICAgICAgbWV0YWRhdGEua2V5ID09PSBrZXkgJiYgbWV0YWRhdGEudmFsdWUgPT09IHZhbHVlLFxuICAgICAgKTtcbiAgfVxufVxuIiwiY29uc3QgU1lNQk9MX0lOREVYX1NUQVJUOiBudW1iZXIgPSA3O1xuY29uc3QgU1lNQk9MX0lOREVYX0VORDogbnVtYmVyID0gLTE7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXNjcmlwdGlvbihzeW1ib2w6IHN5bWJvbCkge1xuICByZXR1cm4gc3ltYm9sLnRvU3RyaW5nKCkuc2xpY2UoU1lNQk9MX0lOREVYX1NUQVJULCBTWU1CT0xfSU5ERVhfRU5EKTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgZ2V0Q2xhc3NNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhJztcbmltcG9ydCB7IGdldENsYXNzTWV0YWRhdGFGcm9tTWV0YWRhdGFSZWFkZXIgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YUZyb21NZXRhZGF0YVJlYWRlcic7XG5pbXBvcnQgeyBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcyB9IGZyb20gJy4uLy4uL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcyc7XG5pbXBvcnQgeyBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllc0Zyb21NZXRhZGF0YVJlYWRlciB9IGZyb20gJy4uLy4uL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhUHJvcGVydGllc0Zyb21NZXRhZGF0YVJlYWRlcic7XG5pbXBvcnQgeyBDbGFzc0VsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YSc7XG5pbXBvcnQgeyBDbGFzc01ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvbW9kZWxzL0NsYXNzTWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGFSZWFkZXIgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9tb2RlbHMvTGVnYWN5TWV0YWRhdGFSZWFkZXInO1xuaW1wb3J0IHsgTGVnYWN5VGFyZ2V0IH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeVRhcmdldCc7XG5pbXBvcnQgeyBnZXRUYXJnZXRzRnJvbU1ldGFkYXRhUHJvdmlkZXJzIH0gZnJvbSAnLi9nZXRUYXJnZXRzRnJvbU1ldGFkYXRhUHJvdmlkZXJzJztcblxuZXhwb3J0IGNvbnN0IGdldFRhcmdldHM6IChcbiAgbWV0YWRhdGFSZWFkZXI/OiBMZWdhY3lNZXRhZGF0YVJlYWRlcixcbikgPT4gKHR5cGU6IE5ld2FibGUpID0+IExlZ2FjeVRhcmdldFtdID0gKFxuICBtZXRhZGF0YVJlYWRlcj86IExlZ2FjeU1ldGFkYXRhUmVhZGVyLFxuKTogKCh0eXBlOiBOZXdhYmxlKSA9PiBMZWdhY3lUYXJnZXRbXSkgPT4ge1xuICBjb25zdCBnZXRDbGFzc01ldGFkYXRhRm46ICh0eXBlOiBOZXdhYmxlKSA9PiBDbGFzc01ldGFkYXRhID1cbiAgICBtZXRhZGF0YVJlYWRlciA9PT0gdW5kZWZpbmVkXG4gICAgICA/IGdldENsYXNzTWV0YWRhdGFcbiAgICAgIDogKHR5cGU6IE5ld2FibGUpOiBDbGFzc01ldGFkYXRhID0+XG4gICAgICAgICAgZ2V0Q2xhc3NNZXRhZGF0YUZyb21NZXRhZGF0YVJlYWRlcih0eXBlLCBtZXRhZGF0YVJlYWRlcik7XG4gIGNvbnN0IGdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzRm46IChcbiAgICB0eXBlOiBOZXdhYmxlLFxuICApID0+IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPiA9XG4gICAgbWV0YWRhdGFSZWFkZXIgPT09IHVuZGVmaW5lZFxuICAgICAgPyBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllc1xuICAgICAgOiAodHlwZTogTmV3YWJsZSk6IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPiA9PlxuICAgICAgICAgIGdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzRnJvbU1ldGFkYXRhUmVhZGVyKHR5cGUsIG1ldGFkYXRhUmVhZGVyKTtcblxuICByZXR1cm4gZ2V0VGFyZ2V0c0Zyb21NZXRhZGF0YVByb3ZpZGVycyhcbiAgICBnZXRDbGFzc01ldGFkYXRhRm4sXG4gICAgZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXNGbixcbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBOZXdhYmxlIH0gZnJvbSAnQGludmVyc2lmeWpzL2NvbW1vbic7XG5cbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZCB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQnO1xuaW1wb3J0IHsgQ2xhc3NNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9DbGFzc01ldGFkYXRhJztcbmltcG9ydCB7IGdldEJhc2VUeXBlIH0gZnJvbSAnLi4vLi4vcHJvdG90eXBlL2NhbGN1bGF0aW9ucy9nZXRCYXNlVHlwZSc7XG5pbXBvcnQgeyBMZWdhY3lUYXJnZXQgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5VGFyZ2V0JztcbmltcG9ydCB7IExlZ2FjeVRhcmdldEltcGwgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5VGFyZ2V0SW1wbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYXJnZXRzRnJvbU1ldGFkYXRhUHJvdmlkZXJzKFxuICBnZXRDbGFzc01ldGFkYXRhOiAodHlwZTogTmV3YWJsZSkgPT4gQ2xhc3NNZXRhZGF0YSxcbiAgZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXM6IChcbiAgICB0eXBlOiBOZXdhYmxlLFxuICApID0+IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPixcbik6ICh0eXBlOiBOZXdhYmxlKSA9PiBMZWdhY3lUYXJnZXRbXSB7XG4gIHJldHVybiBmdW5jdGlvbiBnZXRUYWdldHModHlwZTogTmV3YWJsZSk6IExlZ2FjeVRhcmdldFtdIHtcbiAgICBjb25zdCBjbGFzc01ldGFkYXRhOiBDbGFzc01ldGFkYXRhID0gZ2V0Q2xhc3NNZXRhZGF0YSh0eXBlKTtcblxuICAgIGxldCBiYXNlVHlwZTogTmV3YWJsZSB8IHVuZGVmaW5lZCA9IGdldEJhc2VUeXBlKHR5cGUpO1xuXG4gICAgd2hpbGUgKGJhc2VUeXBlICE9PSB1bmRlZmluZWQgJiYgYmFzZVR5cGUgIT09IE9iamVjdCkge1xuICAgICAgY29uc3QgY2xhc3NNZXRhZGF0YVByb3BlcnRpZXM6IE1hcDxcbiAgICAgICAgc3RyaW5nIHwgc3ltYm9sLFxuICAgICAgICBDbGFzc0VsZW1lbnRNZXRhZGF0YVxuICAgICAgPiA9IGdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzKGJhc2VUeXBlKTtcblxuICAgICAgZm9yIChjb25zdCBbcHJvcGVydHlLZXksIHByb3BlcnR5VmFsdWVdIG9mIGNsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzKSB7XG4gICAgICAgIGlmICghY2xhc3NNZXRhZGF0YS5wcm9wZXJ0aWVzLmhhcyhwcm9wZXJ0eUtleSkpIHtcbiAgICAgICAgICBjbGFzc01ldGFkYXRhLnByb3BlcnRpZXMuc2V0KHByb3BlcnR5S2V5LCBwcm9wZXJ0eVZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBiYXNlVHlwZSA9IGdldEJhc2VUeXBlKGJhc2VUeXBlKTtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRzOiBMZWdhY3lUYXJnZXRbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBjb25zdHJ1Y3RvckFyZ3VtZW50IG9mIGNsYXNzTWV0YWRhdGEuY29uc3RydWN0b3JBcmd1bWVudHMpIHtcbiAgICAgIGlmIChjb25zdHJ1Y3RvckFyZ3VtZW50LmtpbmQgIT09IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZC51bm1hbmFnZWQpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0TmFtZTogc3RyaW5nID0gY29uc3RydWN0b3JBcmd1bWVudC50YXJnZXROYW1lID8/ICcnO1xuXG4gICAgICAgIHRhcmdldHMucHVzaChcbiAgICAgICAgICBuZXcgTGVnYWN5VGFyZ2V0SW1wbChcbiAgICAgICAgICAgIHRhcmdldE5hbWUsXG4gICAgICAgICAgICBjb25zdHJ1Y3RvckFyZ3VtZW50LFxuICAgICAgICAgICAgJ0NvbnN0cnVjdG9yQXJndW1lbnQnLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbcHJvcGVydHksIG1ldGFkYXRhXSBvZiBjbGFzc01ldGFkYXRhLnByb3BlcnRpZXMpIHtcbiAgICAgIGlmIChtZXRhZGF0YS5raW5kICE9PSBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQudW5tYW5hZ2VkKSB7XG4gICAgICAgIGNvbnN0IHRhcmdldE5hbWU6IHN0cmluZyB8IHN5bWJvbCA9IG1ldGFkYXRhLnRhcmdldE5hbWUgPz8gcHJvcGVydHk7XG5cbiAgICAgICAgdGFyZ2V0cy5wdXNoKFxuICAgICAgICAgIG5ldyBMZWdhY3lUYXJnZXRJbXBsKHRhcmdldE5hbWUsIG1ldGFkYXRhLCAnQ2xhc3NQcm9wZXJ0eScpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXRzO1xuICB9O1xufVxuIl0sIm5hbWVzIjpbIl9fd2VicGFja19yZXF1aXJlX18iLCJleHBvcnRzIiwiZGVmaW5pdGlvbiIsImtleSIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJvYmoiLCJwcm9wIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwieSIsIl9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfX2ludmVyc2lmeWpzX3JlZmxlY3RfbWV0YWRhdGFfdXRpbHNfOGVjYzRjMTZfXyIsIngiLCJkIiwiTkFNRURfVEFHIiwiTkFNRV9UQUciLCJVTk1BTkFHRURfVEFHIiwiT1BUSU9OQUxfVEFHIiwiSU5KRUNUX1RBRyIsIk1VTFRJX0lOSkVDVF9UQUciLCJUQUdHRUQiLCJUQUdHRURfUFJPUCIsIkRFU0lHTl9QQVJBTV9UWVBFUyIsIlBPU1RfQ09OU1RSVUNUIiwiUFJFX0RFU1RST1kiLCJOT05fQ1VTVE9NX1RBR19LRVlTIiwiaXNBcHBFcnJvclN5bWJvbCIsIlN5bWJvbCIsImZvciIsIkludmVyc2lmeUNvcmVFcnJvciIsIkVycm9yIiwia2luZCIsImNvbnN0cnVjdG9yIiwibWVzc2FnZSIsIm9wdGlvbnMiLCJzdXBlciIsInRoaXMiLCJpcyIsInZhbHVlIiwiaXNFcnJvck9mS2luZCIsIkludmVyc2lmeUNvcmVFcnJvcktpbmQiLCJDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQiLCJhc3NlcnRDb25zdHJ1Y3Rvck1ldGFkYXRhQXJyYXlGaWxsZWQiLCJ0eXBlIiwidW5kZWZpbmVkSW5kZXhlcyIsImkiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJwdXNoIiwibWlzc2luZ0luamVjdGlvbkRlY29yYXRvciIsIm5hbWUiLCJqb2luIiwiZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTmV3YWJsZSIsInNpbmdsZUluamVjdGlvbiIsIm9wdGlvbmFsIiwidGFncyIsIk1hcCIsInRhcmdldE5hbWUiLCJnZXRDbGFzc0VsZW1lbnRNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YSIsIm1ldGFkYXRhTGlzdCIsImluamVjdE1ldGFkYXRhIiwiZmluZCIsIm1ldGFkYXRhIiwibXVsdGlJbmplY3RNZXRhZGF0YSIsInVubWFuYWdlZCIsImdldFVubWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhIiwibmFtZU1ldGFkYXRhIiwib3B0aW9uYWxNZXRhZGF0YSIsInRhcmdldE5hbWVNZXRhZGF0YSIsIm11bHRpcGxlSW5qZWN0aW9uIiwiZmlsdGVyIiwiZXZlcnkiLCJjdXN0b21UYWdLZXkiLCJtYXAiLCJnZXRDb25zdHJ1Y3RvckFyZ3VtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEiLCJpbmRleCIsImVycm9yIiwidG9TdHJpbmciLCJjYXVzZSIsImdldENsYXNzTWV0YWRhdGFDb25zdHJ1Y3RvckFyZ3VtZW50cyIsInR5cGVzY3JpcHRNZXRhZGF0YUxpc3QiLCJnZXRSZWZsZWN0TWV0YWRhdGEiLCJjb25zdHJ1Y3RvclBhcmFtZXRlcnNMZWdhY3lNZXRhZGF0YSIsImNvbnN0cnVjdG9yQXJndW1lbnRzTWV0YWRhdGEiLCJzdHJpbmdpZmllZEluZGV4IiwiZW50cmllcyIsInBhcnNlSW50IiwidHlwZXNjcmlwdE1ldGFkYXRhIiwiZ2V0UHJvcGVydHlNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YSIsImdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzIiwicHJvcGVydGllc0xlZ2FjeU1ldGFkYXRhIiwicHJvcGVydGllc01ldGFkYXRhIiwicHJvcGVydHkiLCJSZWZsZWN0Iiwib3duS2V5cyIsImxlZ2FjeU1ldGFkYXRhIiwic2V0IiwiZ2V0Q2xhc3NNZXRhZGF0YSIsInBvc3RDb25zdHJ1Y3RNZXRhZGF0YSIsInByZURlc3Ryb3lNZXRhZGF0YSIsImNvbnN0cnVjdG9yQXJndW1lbnRzIiwibGlmZWN5Y2xlIiwicG9zdENvbnN0cnVjdE1ldGhvZE5hbWUiLCJwcmVEZXN0cm95TWV0aG9kTmFtZSIsInByb3BlcnRpZXMiLCJnZXRDbGFzc01ldGFkYXRhQ29uc3RydWN0b3JBcmd1bWVudHNGcm9tTWV0YWRhdGFSZWFkZXIiLCJtZXRhZGF0YVJlYWRlciIsImxlZ2FjeUNvbnN0cnVjdG9yTWV0YWRhdGEiLCJnZXRDb25zdHJ1Y3Rvck1ldGFkYXRhIiwidXNlckdlbmVyYXRlZE1ldGFkYXRhIiwiY29tcGlsZXJHZW5lcmF0ZWRNZXRhZGF0YSIsImdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzRnJvbU1ldGFkYXRhUmVhZGVyIiwiZ2V0UHJvcGVydGllc01ldGFkYXRhIiwiZ2V0Q2xhc3NNZXRhZGF0YUZyb21NZXRhZGF0YVJlYWRlciIsImdldEJhc2VUeXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJiYXNlVHlwZSIsIl9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfX2ludmVyc2lmeWpzX2NvbW1vbl8wODFkOGMwN19fIiwiZ2V0TWFuYWdlZEtpbmRMZWdhY3lNZXRhZGF0YSIsImNsYXNzRWxlbWVudE1ldGFkYXRhIiwia2luZExlZ2FjeU1ldGFkYXRhIiwiTGVnYWN5UXVlcnlhYmxlU3RyaW5nSW1wbCIsInN0ciIsInN0YXJ0c1dpdGgiLCJzZWFyY2hTdHJpbmciLCJlbmRzV2l0aCIsImNvbnRhaW5zIiwiaW5jbHVkZXMiLCJlcXVhbHMiLCJjb21wYXJlU3RyaW5nIiwiSURfTUVUQURBVEEiLCJMZWdhY3lUYXJnZXRJbXBsIiwiaWRlbnRpZmllciIsInRhcmdldElkIiwiTnVtYmVyIiwiTUFYX1NBRkVfSU5URUdFUiIsInVwZGF0ZVJlZmxlY3RNZXRhZGF0YSIsIk1JTl9TQUZFX0lOVEVHRVIiLCJpZCIsImdldFRhcmdldElkIiwic2xpY2UiLCJsZWdhY3lNZXRhZGF0YUxpc3QiLCJ0YWdLZXkiLCJ0YWdWYWx1ZSIsImdldE1hbmFnZWRMZWdhY3lNZXRhZGF0YSIsInNlcnZpY2VJZGVudGlmaWVyIiwiTGF6eVNlcnZpY2VJZGVudGlmaWVyIiwidW53cmFwIiwiZ2V0Q3VzdG9tVGFncyIsImdldE5hbWVkVGFnIiwiaGFzVGFnIiwic29tZSIsImlzQXJyYXkiLCJpc05hbWVkIiwiaXNPcHRpb25hbCIsImlzVGFnZ2VkIiwic2l6ZSIsIm1hdGNoZXNBcnJheSIsIm1hdGNoZXNOYW1lZFRhZyIsIm1hdGNoZXNUYWciLCJnZXRUYXJnZXRzIiwiY2xhc3NNZXRhZGF0YSIsImNsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzIiwicHJvcGVydHlLZXkiLCJwcm9wZXJ0eVZhbHVlIiwiaGFzIiwidGFyZ2V0cyIsImNvbnN0cnVjdG9yQXJndW1lbnQiLCJnZXRUYXJnZXRzRnJvbU1ldGFkYXRhUHJvdmlkZXJzIl0sInNvdXJjZVJvb3QiOiIifQ==
|
|
1
|
+
import{getReflectMetadata as t,updateReflectMetadata as e}from"@inversifyjs/reflect-metadata-utils";import{LazyServiceIdentifier as n}from"@inversifyjs/common";const a="named",r="name",i="unmanaged",o="optional",s="inject",c="multi_inject",u="post_construct",d="pre_destroy";const m=[s,c,r,i,a,o],l=Symbol.for("@inversifyjs/core/InversifyCoreError");class f extends Error{[l];kind;constructor(t,e,n){super(e,n),this[l]=!0,this.kind=t}static is(t){return"object"==typeof t&&null!==t&&!0===t[l]}static isErrorOfKind(t,e){return f.is(t)&&t.kind===e}}var g,p;function h(t,e){const n=[];for(let t=0;t<e.length;++t){void 0===e[t]&&n.push(t)}if(n.length>0)throw new f(g.missingInjectionDecorator,`Found unexpected missing metadata on type "${t.name}" at constructor indexes "${n.join('", "')}".\n\nAre you using @inject, @multiInject or @unmanaged decorators at those indexes?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`)}function y(t){return{kind:p.singleInjection,name:void 0,optional:!1,tags:new Map,targetName:void 0,value:t}}function v(t){const e=t.find((t=>t.key===s)),n=t.find((t=>t.key===c));if(void 0!==t.find((t=>t.key===i)))return function(t,e){if(void 0!==e||void 0!==t)throw new f(g.missingInjectionDecorator,"Expected a single @inject, @multiInject or @unmanaged metadata");return{kind:p.unmanaged}}(e,n);if(void 0===n&&void 0===e)throw new f(g.missingInjectionDecorator,"Expected @inject, @multiInject or @unmanaged metadata");const u=t.find((t=>t.key===a)),d=t.find((t=>t.key===o)),l=t.find((t=>t.key===r));return{kind:void 0===e?p.multipleInjection:p.singleInjection,name:u?.value,optional:void 0!==d,tags:new Map(t.filter((t=>m.every((e=>t.key!==e)))).map((t=>[t.key,t.value]))),targetName:l?.value,value:void 0===e?n?.value:e.value}}function j(t,e,n){try{return v(n)}catch(n){throw f.isErrorOfKind(n,g.missingInjectionDecorator)?new f(g.missingInjectionDecorator,`Expected a single @inject, @multiInject or @unmanaged decorator at type "${t.name}" at constructor arguments at index "${e.toString()}"`,{cause:n}):n}}function k(e){const n=t(e,"design:paramtypes"),a=t(e,"inversify:tagged"),r=[];if(void 0!==a)for(const[t,n]of Object.entries(a)){const a=parseInt(t);r[a]=j(e,a,n)}if(void 0!==n)for(let t=0;t<n.length;++t)if(void 0===r[t]){const e=n[t];r[t]=y(e)}return h(e,r),r}function I(t,e,n){try{return v(n)}catch(n){throw f.isErrorOfKind(n,g.missingInjectionDecorator)?new f(g.missingInjectionDecorator,`Expected a single @inject, @multiInject or @unmanaged decorator at type "${t.name}" at property "${e.toString()}"`,{cause:n}):n}}function w(e){const n=t(e,"inversify:tagged_props"),a=new Map;if(void 0!==n)for(const t of Reflect.ownKeys(n)){const r=n[t];a.set(t,I(e,t,r))}return a}function M(e){const n=t(e,u),a=t(e,d);return{constructorArguments:k(e),lifecycle:{postConstructMethodName:n?.value,preDestroyMethodName:a?.value},properties:w(e)}}function N(t,e){const n=e.getConstructorMetadata(t),a=[];for(const[e,r]of Object.entries(n.userGeneratedMetadata)){const n=parseInt(e);a[n]=j(t,n,r)}if(void 0!==n.compilerGeneratedMetadata)for(let t=0;t<n.compilerGeneratedMetadata.length;++t)if(void 0===a[t]){const e=n.compilerGeneratedMetadata[t];a[t]=y(e)}return h(t,a),a}function E(t,e){const n=e.getPropertiesMetadata(t),a=new Map;for(const e of Reflect.ownKeys(n)){const r=n[e];a.set(e,I(t,e,r))}return a}function D(e,n){const a=t(e,u),r=t(e,d);return{constructorArguments:N(e,n),lifecycle:{postConstructMethodName:a?.value,preDestroyMethodName:r?.value},properties:E(e,n)}}function b(t){const e=Object.getPrototypeOf(t.prototype),n=e?.constructor;return n}function O(t){return t.kind===p.unmanaged?[{key:i,value:!0}]:function(t){const e=[A(t)];void 0!==t.name&&e.push({key:a,value:t.name});t.optional&&e.push({key:o,value:!0});for(const[n,a]of t.tags)e.push({key:n,value:a});void 0!==t.targetName&&e.push({key:r,value:t.targetName});return e}(t)}function A(t){let e;switch(t.kind){case p.multipleInjection:e={key:c,value:t.value};break;case p.singleInjection:e={key:s,value:t.value}}return e}!function(t){t[t.injectionDecoratorConflict=0]="injectionDecoratorConflict",t[t.missingInjectionDecorator=1]="missingInjectionDecorator",t[t.planning=2]="planning",t[t.unknown=3]="unknown"}(g||(g={})),function(t){t[t.multipleInjection=0]="multipleInjection",t[t.singleInjection=1]="singleInjection",t[t.unmanaged=2]="unmanaged"}(p||(p={}));class x{#t;constructor(t){this.#t=t}startsWith(t){return this.#t.startsWith(t)}endsWith(t){return this.#t.endsWith(t)}contains(t){return this.#t.includes(t)}equals(t){return this.#t===t}value(){return this.#t}}const C="@inversifyjs/core/targetId";class T{#e;#n;#a;#r;#i;#o;constructor(n,a,r){this.#n=function(){const n=t(Object,C)??0;return n===Number.MAX_SAFE_INTEGER?e(Object,C,n,(()=>Number.MIN_SAFE_INTEGER)):e(Object,C,n,(t=>t+1)),n}(),this.#a=n,this.#r=void 0,this.#e=a,this.#i=new x("string"==typeof n?n:n.toString().slice(7,-1)),this.#o=r}get id(){return this.#n}get identifier(){return this.#a}get metadata(){return void 0===this.#r&&(this.#r=O(this.#e)),this.#r}get name(){return this.#i}get type(){return this.#o}get serviceIdentifier(){return n.is(this.#e.value)?this.#e.value.unwrap():this.#e.value}getCustomTags(){return[...this.#e.tags.entries()].map((([t,e])=>({key:t,value:e})))}getNamedTag(){return void 0===this.#e.name?null:{key:a,value:this.#e.name}}hasTag(t){return this.metadata.some((e=>e.key===t))}isArray(){return this.#e.kind===p.multipleInjection}isNamed(){return void 0!==this.#e.name}isOptional(){return this.#e.optional}isTagged(){return this.#e.tags.size>0}matchesArray(t){return this.isArray()&&this.#e.value===t}matchesNamedTag(t){return this.#e.name===t}matchesTag(t){return e=>this.metadata.some((n=>n.key===t&&n.value===e))}}const _=t=>function(t,e){return function(n){const a=t(n);let r=b(n);for(;void 0!==r&&r!==Object;){const t=e(r);for(const[e,n]of t)a.properties.has(e)||a.properties.set(e,n);r=b(r)}const i=[];for(const t of a.constructorArguments)if(t.kind!==p.unmanaged){const e=t.targetName??"";i.push(new T(e,t,"ConstructorArgument"))}for(const[t,e]of a.properties)if(e.kind!==p.unmanaged){const n=e.targetName??t;i.push(new T(n,e,"ClassProperty"))}return i}}(void 0===t?M:e=>D(e,t),void 0===t?w:e=>E(e,t));export{p as ClassElementMetadataKind,T as LegacyTargetImpl,v as getClassElementMetadataFromLegacyMetadata,M as getClassMetadata,D as getClassMetadataFromMetadataReader,_ as getTargets};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/reflectMetadata/data/keys.ts","../../../src/error/models/InversifyCoreError.ts","../../../src/error/models/InversifyCoreErrorKind.ts","../../../src/metadata/models/ClassElementMetadataKind.ts","../../../src/metadata/calculations/assertConstructorMetadataArrayFilled.ts","../../../src/metadata/calculations/getClassElementMetadataFromNewable.ts","../../../src/metadata/calculations/getClassElementMetadataFromLegacyMetadata.ts","../../../src/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.ts","../../../src/metadata/calculations/getClassMetadataConstructorArguments.ts","../../../src/metadata/calculations/getPropertyMetadataFromLegacyMetadata.ts","../../../src/metadata/calculations/getClassMetadataProperties.ts","../../../src/metadata/calculations/getClassMetadata.ts","../../../src/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.ts","../../../src/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.ts","../../../src/metadata/calculations/getClassMetadataFromMetadataReader.ts","../../../src/prototype/calculations/getBaseType.ts","../../../src/metadata/calculations/getLegacyMetadata.ts","../../../src/string/models/LegacyQueryableStringImpl.ts","../../../src/legacyTarget/calculations/getTargetId.ts","../../../src/legacyTarget/models/LegacyTargetImpl.ts","../../../src/symbol/calculations/getDescription.ts","../../../src/legacyTarget/calculations/getTargets.ts","../../../src/legacyTarget/calculations/getTargetsFromMetadataProviders.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["NAMED_TAG","NAME_TAG","UNMANAGED_TAG","OPTIONAL_TAG","INJECT_TAG","MULTI_INJECT_TAG","POST_CONSTRUCT","PRE_DESTROY","NON_CUSTOM_TAG_KEYS","isAppErrorSymbol","Symbol","for","InversifyCoreError","Error","kind","constructor","message","options","super","this","is","value","isErrorOfKind","InversifyCoreErrorKind","ClassElementMetadataKind","assertConstructorMetadataArrayFilled","type","undefinedIndexes","i","length","undefined","push","missingInjectionDecorator","name","join","getClassElementMetadataFromNewable","singleInjection","optional","tags","Map","targetName","getClassElementMetadataFromLegacyMetadata","metadataList","injectMetadata","find","metadata","key","multiInjectMetadata","unmanaged","getUnmanagedClassElementMetadata","nameMetadata","optionalMetadata","targetNameMetadata","multipleInjection","filter","every","customTagKey","map","getConstructorArgumentMetadataFromLegacyMetadata","index","error","toString","cause","getClassMetadataConstructorArguments","typescriptMetadataList","getReflectMetadata","constructorParametersLegacyMetadata","constructorArgumentsMetadata","stringifiedIndex","Object","entries","parseInt","typescriptMetadata","getPropertyMetadataFromLegacyMetadata","getClassMetadataProperties","propertiesLegacyMetadata","propertiesMetadata","property","Reflect","ownKeys","legacyMetadata","set","getClassMetadata","postConstructMetadata","preDestroyMetadata","constructorArguments","lifecycle","postConstructMethodName","preDestroyMethodName","properties","getClassMetadataConstructorArgumentsFromMetadataReader","metadataReader","legacyConstructorMetadata","getConstructorMetadata","userGeneratedMetadata","compilerGeneratedMetadata","getClassMetadataPropertiesFromMetadataReader","getPropertiesMetadata","getClassMetadataFromMetadataReader","getBaseType","prototype","getPrototypeOf","baseType","getLegacyMetadata","classElementMetadata","legacyMetadataList","getManagedKindLegacyMetadata","tagKey","tagValue","getManagedLegacyMetadata","kindLegacyMetadata","LegacyQueryableStringImpl","str","startsWith","searchString","endsWith","contains","includes","equals","compareString","ID_METADATA","LegacyTargetImpl","id","identifier","lazyLegacyMetadata","targetId","Number","MAX_SAFE_INTEGER","updateReflectMetadata","MIN_SAFE_INTEGER","getTargetId","slice","serviceIdentifier","LazyServiceIdentifier","unwrap","getCustomTags","getNamedTag","hasTag","some","isArray","isNamed","isOptional","isTagged","size","matchesArray","matchesNamedTag","matchesTag","getTargets","classMetadata","classMetadataProperties","propertyKey","propertyValue","has","targets","constructorArgument","getTargetsFromMetadataProviders"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -5,28 +5,29 @@
|
|
|
5
5
|
},
|
|
6
6
|
"description": "InversifyJs core package",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@inversifyjs/common": "1.
|
|
9
|
-
"@inversifyjs/reflect-metadata-utils": "0.2.
|
|
8
|
+
"@inversifyjs/common": "1.4.0",
|
|
9
|
+
"@inversifyjs/reflect-metadata-utils": "0.2.4"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"@eslint/js": "9.
|
|
12
|
+
"@eslint/js": "9.15.0",
|
|
13
13
|
"@jest/globals": "29.7.0",
|
|
14
14
|
"@stryker-mutator/core": "8.6.0",
|
|
15
15
|
"@stryker-mutator/jest-runner": "8.6.0",
|
|
16
16
|
"@stryker-mutator/typescript-checker": "8.6.0",
|
|
17
|
-
"@types/node": "22.
|
|
18
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
19
|
-
"@typescript-eslint/parser": "8.
|
|
20
|
-
"eslint": "9.
|
|
17
|
+
"@types/node": "22.10.1",
|
|
18
|
+
"@typescript-eslint/eslint-plugin": "8.16.0",
|
|
19
|
+
"@typescript-eslint/parser": "8.16.0",
|
|
20
|
+
"eslint": "9.15.0",
|
|
21
21
|
"jest": "29.7.0",
|
|
22
|
-
"prettier": "3.
|
|
22
|
+
"prettier": "3.4.1",
|
|
23
|
+
"reflect-metadata": "0.2.2",
|
|
23
24
|
"rimraf": "6.0.1",
|
|
25
|
+
"rollup": "4.27.4",
|
|
24
26
|
"ts-loader": "9.5.1",
|
|
25
27
|
"ts-jest": "29.2.5",
|
|
26
28
|
"ts-node": "10.9.2",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"webpack-cli": "5.1.4"
|
|
29
|
+
"tslib": "2.8.1",
|
|
30
|
+
"typescript": "5.7.2"
|
|
30
31
|
},
|
|
31
32
|
"homepage": "https://inversify.io",
|
|
32
33
|
"keywords": [
|
|
@@ -61,11 +62,11 @@
|
|
|
61
62
|
"url": "git+https://github.com/inversify/monorepo.git"
|
|
62
63
|
},
|
|
63
64
|
"sideEffects": false,
|
|
64
|
-
"version": "1.3.
|
|
65
|
+
"version": "1.3.5",
|
|
65
66
|
"scripts": {
|
|
66
67
|
"build": "pnpm run build:cjs && pnpm run build:esm",
|
|
67
68
|
"build:cjs": "tsc --build tsconfig.cjs.json && pnpm exec foundation-ts-package-cjs ./lib/cjs",
|
|
68
|
-
"build:esm": "
|
|
69
|
+
"build:esm": "rollup -c ./rollup.config.mjs && pnpm exec foundation-ts-package-esm ./lib/esm",
|
|
69
70
|
"build:clean": "rimraf lib",
|
|
70
71
|
"format": "prettier --write ./src/**/*.ts",
|
|
71
72
|
"lint": "eslint ./src",
|