lakutata 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/codeStyles/Project.xml +18 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/lakutata.iml +13 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/build/Application-78a416de.d.ts +387 -0
- package/build/Application-b5e19e08.d.ts +387 -0
- package/build/Components.cjs +55 -0
- package/build/Components.d.cts +9 -0
- package/build/Components.d.ts +9 -0
- package/build/Components.js +44 -0
- package/build/Core.cjs +148 -0
- package/build/Core.d.cts +33 -0
- package/build/Core.d.ts +33 -0
- package/build/Core.js +71 -0
- package/build/Crypto.cjs +96 -0
- package/build/Crypto.d.cts +19 -0
- package/build/Crypto.d.ts +19 -0
- package/build/Crypto.js +41 -0
- package/build/Decorators.cjs +100 -0
- package/build/Decorators.d.cts +23 -0
- package/build/Decorators.d.ts +23 -0
- package/build/Decorators.js +45 -0
- package/build/DependencyInjectionContainer-871a6c03.d.ts +340 -0
- package/build/DependencyInjectionContainer-f037ac36.d.ts +340 -0
- package/build/Exceptions.cjs +144 -0
- package/build/Exceptions.d.cts +28 -0
- package/build/Exceptions.d.ts +28 -0
- package/build/Exceptions.js +37 -0
- package/build/Hash.cjs +223 -0
- package/build/Hash.d.cts +535 -0
- package/build/Hash.d.ts +535 -0
- package/build/Hash.js +10 -0
- package/build/Time.cjs +14 -0
- package/build/Time.d.cts +5 -0
- package/build/Time.d.ts +5 -0
- package/build/Time.js +5 -0
- package/build/TimeInput-24fced42.d.ts +243 -0
- package/build/TimeInput-4401fc58.d.ts +243 -0
- package/build/Utilities.cjs +100 -0
- package/build/Utilities.d.cts +212 -0
- package/build/Utilities.d.ts +212 -0
- package/build/Utilities.js +7 -0
- package/build/Validator.cjs +24 -0
- package/build/Validator.d.cts +1851 -0
- package/build/Validator.d.ts +1851 -0
- package/build/Validator.js +11 -0
- package/build/chunk-26TQI22I.js +196 -0
- package/build/chunk-27OFA7C3.js +16 -0
- package/build/chunk-2C2UILFN.js +23 -0
- package/build/chunk-2CHYQHWR.cjs +16 -0
- package/build/chunk-2DN35UQB.cjs +10947 -0
- package/build/chunk-2E4TF6LU.cjs +16 -0
- package/build/chunk-2PLJEW2R.js +14 -0
- package/build/chunk-2RW3VMNS.js +45 -0
- package/build/chunk-2T6JU2UH.js +14 -0
- package/build/chunk-3CX3GCQF.js +32 -0
- package/build/chunk-3JIQCDQG.cjs +25 -0
- package/build/chunk-3KLEN3PR.js +14 -0
- package/build/chunk-3LZRQPJ5.js +14 -0
- package/build/chunk-3NHHHZFR.cjs +870 -0
- package/build/chunk-4332C5BW.js +30 -0
- package/build/chunk-46V7GHKE.cjs +25 -0
- package/build/chunk-4EPPSZ7L.js +14 -0
- package/build/chunk-4FEEQIQ4.js +23 -0
- package/build/chunk-4G2ZCUBN.js +5570 -0
- package/build/chunk-4KTVY73U.js +15 -0
- package/build/chunk-4MQXSUTL.cjs +14 -0
- package/build/chunk-4OHSPWRQ.js +34 -0
- package/build/chunk-4PK4TGU4.cjs +16 -0
- package/build/chunk-4YXUEJSO.js +23 -0
- package/build/chunk-5475IFR4.cjs +16 -0
- package/build/chunk-5B5Z4GCR.cjs +17 -0
- package/build/chunk-5FPTDIKI.cjs +16 -0
- package/build/chunk-5NK7E2HA.js +69 -0
- package/build/chunk-67F5WP5Z.cjs +8 -0
- package/build/chunk-6BJTKEXZ.cjs +25 -0
- package/build/chunk-6WNLPTDY.cjs +8 -0
- package/build/chunk-7G7FCNEG.cjs +8 -0
- package/build/chunk-7IVNTVYK.cjs +16 -0
- package/build/chunk-7MJAWOWL.js +22896 -0
- package/build/chunk-7MTOK62N.js +767 -0
- package/build/chunk-7PADGZPI.cjs +129 -0
- package/build/chunk-7ZUM53G6.js +14 -0
- package/build/chunk-A4BYNKYF.js +42 -0
- package/build/chunk-A7F6LCRA.cjs +16 -0
- package/build/chunk-AFV3VN3X.cjs +8 -0
- package/build/chunk-AGHMOCC3.cjs +16 -0
- package/build/chunk-AHUH4FWQ.cjs +29 -0
- package/build/chunk-AM4YMG2S.js +6 -0
- package/build/chunk-ANDEVIKJ.cjs +16 -0
- package/build/chunk-APETX7ZT.cjs +16 -0
- package/build/chunk-ASMC7EUP.js +6 -0
- package/build/chunk-BDCRHGKN.js +6 -0
- package/build/chunk-BDJXMO44.js +2920 -0
- package/build/chunk-BE7ICF5R.js +32 -0
- package/build/chunk-BEDKPRVX.cjs +17 -0
- package/build/chunk-BFE66ADZ.cjs +34 -0
- package/build/chunk-BKCT2HSQ.js +178 -0
- package/build/chunk-BMNC4W46.js +20 -0
- package/build/chunk-BO7Y6HNS.cjs +176 -0
- package/build/chunk-D4H35ART.cjs +53 -0
- package/build/chunk-D5DE7Z4J.js +29 -0
- package/build/chunk-DHSSJJMD.cjs +25 -0
- package/build/chunk-DIMOR6NE.cjs +8 -0
- package/build/chunk-DN5TSX6S.cjs +244 -0
- package/build/chunk-EEH5LCBP.cjs +16 -0
- package/build/chunk-EFYDUUXT.cjs +92 -0
- package/build/chunk-ENJSEFE4.js +14 -0
- package/build/chunk-EPYJVQHQ.js +6 -0
- package/build/chunk-EUVLTNDV.js +32 -0
- package/build/chunk-EXQVCESB.cjs +20 -0
- package/build/chunk-EYPPC6HP.js +18 -0
- package/build/chunk-F5NKGQDL.cjs +16 -0
- package/build/chunk-F7RNH2H2.js +266 -0
- package/build/chunk-FCTV4OB7.cjs +50 -0
- package/build/chunk-FHEXUE67.js +29 -0
- package/build/chunk-FJP3KNXK.js +23 -0
- package/build/chunk-FJQSLRIP.js +14 -0
- package/build/chunk-FSFWPTIC.js +6 -0
- package/build/chunk-FTKFMQHJ.cjs +16 -0
- package/build/chunk-FW26MPE4.js +69 -0
- package/build/chunk-FZNRGZGE.js +6372 -0
- package/build/chunk-G7EDOLQ7.cjs +100 -0
- package/build/chunk-GGY7LCMQ.cjs +73 -0
- package/build/chunk-GLWUJIMW.cjs +8 -0
- package/build/chunk-GZ5KN2PE.js +6 -0
- package/build/chunk-HBPRX3WA.cjs +202 -0
- package/build/chunk-HJAQ6WJM.cjs +288 -0
- package/build/chunk-HJSJA5CF.js +14 -0
- package/build/chunk-HKAY7FWM.js +28 -0
- package/build/chunk-HMKTNRQF.js +14 -0
- package/build/chunk-HODDA5D5.js +199 -0
- package/build/chunk-HPKJUFTM.js +14 -0
- package/build/chunk-HWCTWIVZ.cjs +30 -0
- package/build/chunk-HXWC4YN6.cjs +22908 -0
- package/build/chunk-HZJ7XFHQ.cjs +8 -0
- package/build/chunk-I5TGKTX6.js +18 -0
- package/build/chunk-I7J6V3EU.cjs +34 -0
- package/build/chunk-IKWXYUGY.js +14 -0
- package/build/chunk-IYGGR65W.cjs +16 -0
- package/build/chunk-J6RXNX2K.js +174 -0
- package/build/chunk-JAEEMFEZ.cjs +24 -0
- package/build/chunk-JFOMNL5I.cjs +22 -0
- package/build/chunk-JPV2PUHF.cjs +8 -0
- package/build/chunk-JR726PDZ.cjs +70 -0
- package/build/chunk-JTKOYDJB.js +5914 -0
- package/build/chunk-JU53NOVA.cjs +31 -0
- package/build/chunk-JVSBYHUY.js +10944 -0
- package/build/chunk-JYBISTRN.cjs +25 -0
- package/build/chunk-K2ALA7QI.js +12 -0
- package/build/chunk-KG6DPM4B.js +14 -0
- package/build/chunk-KNSBLLL2.cjs +32 -0
- package/build/chunk-KNTGBUSY.js +6 -0
- package/build/chunk-KWOHVRRL.js +6 -0
- package/build/chunk-L3IVYIVA.js +23 -0
- package/build/chunk-LBL5XNWX.js +221 -0
- package/build/chunk-LBOBUFWZ.js +6 -0
- package/build/chunk-LEJXJUBE.js +6 -0
- package/build/chunk-LJTCXKC4.js +242 -0
- package/build/chunk-MBKTJ3KM.cjs +118 -0
- package/build/chunk-MDE5SRLT.cjs +16 -0
- package/build/chunk-MEKICSEL.js +22 -0
- package/build/chunk-MNDBRDT2.cjs +608 -0
- package/build/chunk-MSWZLYS7.cjs +5916 -0
- package/build/chunk-MT2OB376.js +14 -0
- package/build/chunk-MVWB4XDJ.js +14 -0
- package/build/chunk-MXAAAL2S.js +53 -0
- package/build/chunk-N37KV2VV.cjs +199 -0
- package/build/chunk-NZ5IZMM5.cjs +2922 -0
- package/build/chunk-O2NOYN65.js +54 -0
- package/build/chunk-OAD22QZQ.js +6 -0
- package/build/chunk-OIFILR4I.js +125 -0
- package/build/chunk-OJGBPS2B.cjs +16 -0
- package/build/chunk-OMPATIMZ.cjs +71 -0
- package/build/chunk-P3Z7ZEGJ.cjs +18 -0
- package/build/chunk-P6BBXCBD.cjs +6425 -0
- package/build/chunk-PE4C2TIO.cjs +16 -0
- package/build/chunk-PF2WAZLH.cjs +52 -0
- package/build/chunk-PFFTGOAR.cjs +25 -0
- package/build/chunk-PFUZLHWJ.cjs +25 -0
- package/build/chunk-POE7A7NF.cjs +180 -0
- package/build/chunk-PQSDA5BN.js +50 -0
- package/build/chunk-PR5TPAGH.js +14 -0
- package/build/chunk-PXMWVOKK.cjs +16 -0
- package/build/chunk-PZ5OJC4I.cjs +16 -0
- package/build/chunk-Q4LNTPEI.cjs +34 -0
- package/build/chunk-QCA5YGYV.js +14 -0
- package/build/chunk-QGGML4PP.js +17 -0
- package/build/chunk-QHW273SN.js +32 -0
- package/build/chunk-QJJRQMA6.cjs +8 -0
- package/build/chunk-QKB76MIV.cjs +769 -0
- package/build/chunk-QKVPGRI5.cjs +8 -0
- package/build/chunk-QME47CJL.cjs +8 -0
- package/build/chunk-QNJ6XBYQ.js +14 -0
- package/build/chunk-QWYKUNU5.js +14 -0
- package/build/chunk-QXTBP6TW.js +116 -0
- package/build/chunk-RH3LAIQS.js +32 -0
- package/build/chunk-RMAXG5F7.js +118 -0
- package/build/chunk-RUHAPGDE.js +14 -0
- package/build/chunk-S4KA3ZGO.js +6 -0
- package/build/chunk-SAGMV3YX.cjs +16 -0
- package/build/chunk-SCWEQ5JA.cjs +34 -0
- package/build/chunk-SEKBDIJH.cjs +16 -0
- package/build/chunk-SGWWTKLW.cjs +16 -0
- package/build/chunk-SWCU6OID.cjs +61 -0
- package/build/chunk-T4C7UJEZ.js +29 -0
- package/build/chunk-TBWIKIS3.cjs +8 -0
- package/build/chunk-TS74DN3N.cjs +229 -0
- package/build/chunk-TXTNUC7S.cjs +16 -0
- package/build/chunk-UEGDBJEG.cjs +127 -0
- package/build/chunk-UR2ZK7MI.cjs +16 -0
- package/build/chunk-VAOR6JOP.js +14 -0
- package/build/chunk-VELZ3KJY.cjs +45 -0
- package/build/chunk-VHTAHAD6.cjs +34 -0
- package/build/chunk-VISA22LF.js +14 -0
- package/build/chunk-VOFRWVGM.js +23 -0
- package/build/chunk-VPRNM6FU.cjs +118 -0
- package/build/chunk-VTFNEUOF.js +14 -0
- package/build/chunk-VVNU27G2.js +868 -0
- package/build/chunk-W3TQER3B.cjs +31 -0
- package/build/chunk-WINISBV4.js +70 -0
- package/build/chunk-WSEZ7DZV.js +14 -0
- package/build/chunk-WW57G6RG.js +124 -0
- package/build/chunk-WYJCE3KY.cjs +5593 -0
- package/build/chunk-WZI5UPER.cjs +61 -0
- package/build/chunk-WZZF2IEV.js +14 -0
- package/build/chunk-X4AIZSIY.cjs +47 -0
- package/build/chunk-XO6M5AYN.js +585 -0
- package/build/chunk-XWP76C6E.js +25 -0
- package/build/chunk-Y7O5SCF6.cjs +16 -0
- package/build/chunk-YEBPQG7X.js +96 -0
- package/build/chunk-YT4CYDJ3.js +14 -0
- package/build/chunk-ZG3PHRVQ.cjs +20 -0
- package/build/chunk-ZG7QF5S2.cjs +16 -0
- package/build/chunk-ZJYLWSBE.js +90 -0
- package/build/chunk-ZYBMNLGI.js +48 -0
- package/build/constants/DefaultValue.cjs +14 -0
- package/build/constants/DefaultValue.d.cts +9 -0
- package/build/constants/DefaultValue.d.ts +9 -0
- package/build/constants/DefaultValue.js +5 -0
- package/build/constants/MetadataKey.cjs +114 -0
- package/build/constants/MetadataKey.d.cts +30 -0
- package/build/constants/MetadataKey.d.ts +30 -0
- package/build/constants/MetadataKey.js +5 -0
- package/build/decorators/ControllerDecorators.cjs +21 -0
- package/build/decorators/ControllerDecorators.d.cts +32 -0
- package/build/decorators/ControllerDecorators.d.ts +32 -0
- package/build/decorators/ControllerDecorators.js +12 -0
- package/build/decorators/DependencyInjectionDecorators.cjs +78 -0
- package/build/decorators/DependencyInjectionDecorators.d.cts +75 -0
- package/build/decorators/DependencyInjectionDecorators.d.ts +75 -0
- package/build/decorators/DependencyInjectionDecorators.js +41 -0
- package/build/decorators/ValidationDecorators.cjs +35 -0
- package/build/decorators/ValidationDecorators.d.cts +36 -0
- package/build/decorators/ValidationDecorators.d.ts +36 -0
- package/build/decorators/ValidationDecorators.js +14 -0
- package/build/exceptions/DependencyInjectionException.cjs +18 -0
- package/build/exceptions/DependencyInjectionException.d.cts +8 -0
- package/build/exceptions/DependencyInjectionException.d.ts +8 -0
- package/build/exceptions/DependencyInjectionException.js +9 -0
- package/build/exceptions/InvalidConfigurableValueException.cjs +18 -0
- package/build/exceptions/InvalidConfigurableValueException.d.cts +8 -0
- package/build/exceptions/InvalidConfigurableValueException.d.ts +8 -0
- package/build/exceptions/InvalidConfigurableValueException.js +9 -0
- package/build/exceptions/InvalidDTOValueException.cjs +18 -0
- package/build/exceptions/InvalidDTOValueException.d.cts +8 -0
- package/build/exceptions/InvalidDTOValueException.d.ts +8 -0
- package/build/exceptions/InvalidDTOValueException.js +9 -0
- package/build/exceptions/InvalidGlobStringException.cjs +18 -0
- package/build/exceptions/InvalidGlobStringException.d.cts +8 -0
- package/build/exceptions/InvalidGlobStringException.d.ts +8 -0
- package/build/exceptions/InvalidGlobStringException.js +9 -0
- package/build/exceptions/MethodNotFoundException.cjs +18 -0
- package/build/exceptions/MethodNotFoundException.d.cts +8 -0
- package/build/exceptions/MethodNotFoundException.d.ts +8 -0
- package/build/exceptions/MethodNotFoundException.js +9 -0
- package/build/exceptions/NotSupportHashException.cjs +18 -0
- package/build/exceptions/NotSupportHashException.d.cts +8 -0
- package/build/exceptions/NotSupportHashException.d.ts +8 -0
- package/build/exceptions/NotSupportHashException.js +9 -0
- package/build/exceptions/controller/DuplicateControllerActionPatternException.cjs +18 -0
- package/build/exceptions/controller/DuplicateControllerActionPatternException.d.cts +8 -0
- package/build/exceptions/controller/DuplicateControllerActionPatternException.d.ts +8 -0
- package/build/exceptions/controller/DuplicateControllerActionPatternException.js +9 -0
- package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.cjs +18 -0
- package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.d.cts +8 -0
- package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.d.ts +8 -0
- package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.js +9 -0
- package/build/exceptions/controller/NoMatchedControllerActionPatternException.cjs +18 -0
- package/build/exceptions/controller/NoMatchedControllerActionPatternException.d.cts +8 -0
- package/build/exceptions/controller/NoMatchedControllerActionPatternException.d.ts +8 -0
- package/build/exceptions/controller/NoMatchedControllerActionPatternException.js +9 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.js +9 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.js +9 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricSignException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricSignException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricSignException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricSignException.js +9 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.js +9 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.js +9 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.js +9 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.js +9 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.js +9 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.js +9 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.js +9 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.js +9 -0
- package/build/exceptions/crypto/symmetric/NotSupportCipherException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/NotSupportCipherException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/NotSupportCipherException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/NotSupportCipherException.js +9 -0
- package/build/exceptions/crypto/symmetric/SymmetricDecryptException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/SymmetricDecryptException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/SymmetricDecryptException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/SymmetricDecryptException.js +9 -0
- package/build/exceptions/crypto/symmetric/SymmetricEncryptException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/SymmetricEncryptException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/SymmetricEncryptException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/SymmetricEncryptException.js +9 -0
- package/build/exceptions/validation/InvalidMethodAcceptException.cjs +18 -0
- package/build/exceptions/validation/InvalidMethodAcceptException.d.cts +8 -0
- package/build/exceptions/validation/InvalidMethodAcceptException.d.ts +8 -0
- package/build/exceptions/validation/InvalidMethodAcceptException.js +9 -0
- package/build/exceptions/validation/InvalidMethodReturnException.cjs +18 -0
- package/build/exceptions/validation/InvalidMethodReturnException.d.cts +8 -0
- package/build/exceptions/validation/InvalidMethodReturnException.d.ts +8 -0
- package/build/exceptions/validation/InvalidMethodReturnException.js +9 -0
- package/build/exceptions/validation/InvalidValueException.cjs +18 -0
- package/build/exceptions/validation/InvalidValueException.d.cts +8 -0
- package/build/exceptions/validation/InvalidValueException.d.ts +8 -0
- package/build/exceptions/validation/InvalidValueException.js +9 -0
- package/build/index.d-e5279fea.d.ts +872 -0
- package/build/interfaces/IConstructor.cjs +7 -0
- package/build/interfaces/IConstructor.d.cts +6 -0
- package/build/interfaces/IConstructor.d.ts +6 -0
- package/build/interfaces/IConstructor.js +4 -0
- package/build/interfaces/ILogger.cjs +7 -0
- package/build/interfaces/ILogger.d.cts +22 -0
- package/build/interfaces/ILogger.d.ts +22 -0
- package/build/interfaces/ILogger.js +4 -0
- package/build/interfaces/IPatRun.cjs +7 -0
- package/build/interfaces/IPatRun.d.cts +12 -0
- package/build/interfaces/IPatRun.d.ts +12 -0
- package/build/interfaces/IPatRun.js +4 -0
- package/build/interfaces/ISortArrayOptions.cjs +7 -0
- package/build/interfaces/ISortArrayOptions.d.cts +12 -0
- package/build/interfaces/ISortArrayOptions.d.ts +12 -0
- package/build/interfaces/ISortArrayOptions.js +4 -0
- package/build/interfaces/ISortObjectOptions.cjs +7 -0
- package/build/interfaces/ISortObjectOptions.d.cts +6 -0
- package/build/interfaces/ISortObjectOptions.d.ts +6 -0
- package/build/interfaces/ISortObjectOptions.js +4 -0
- package/build/lib/Application.cjs +50 -0
- package/build/lib/Application.d.cts +20 -0
- package/build/lib/Application.d.ts +20 -0
- package/build/lib/Application.js +41 -0
- package/build/lib/base/BaseObject.cjs +50 -0
- package/build/lib/base/BaseObject.d.cts +112 -0
- package/build/lib/base/BaseObject.d.ts +112 -0
- package/build/lib/base/BaseObject.js +41 -0
- package/build/lib/base/Component.cjs +50 -0
- package/build/lib/base/Component.d.cts +116 -0
- package/build/lib/base/Component.d.ts +116 -0
- package/build/lib/base/Component.js +41 -0
- package/build/lib/base/Container.cjs +50 -0
- package/build/lib/base/Container.d.cts +20 -0
- package/build/lib/base/Container.d.ts +20 -0
- package/build/lib/base/Container.js +41 -0
- package/build/lib/base/Controller.cjs +50 -0
- package/build/lib/base/Controller.d.cts +20 -0
- package/build/lib/base/Controller.d.ts +20 -0
- package/build/lib/base/Controller.js +41 -0
- package/build/lib/base/DTO.cjs +23 -0
- package/build/lib/base/DTO.d.cts +59 -0
- package/build/lib/base/DTO.d.ts +59 -0
- package/build/lib/base/DTO.js +14 -0
- package/build/lib/base/Model.cjs +51 -0
- package/build/lib/base/Model.d.cts +30 -0
- package/build/lib/base/Model.d.ts +30 -0
- package/build/lib/base/Model.js +42 -0
- package/build/lib/base/Module.cjs +50 -0
- package/build/lib/base/Module.d.cts +20 -0
- package/build/lib/base/Module.d.ts +20 -0
- package/build/lib/base/Module.js +41 -0
- package/build/lib/base/abstracts/AsymmetricEncryption.cjs +27 -0
- package/build/lib/base/abstracts/AsymmetricEncryption.d.cts +172 -0
- package/build/lib/base/abstracts/AsymmetricEncryption.d.ts +172 -0
- package/build/lib/base/abstracts/AsymmetricEncryption.js +18 -0
- package/build/lib/base/abstracts/Exception.cjs +17 -0
- package/build/lib/base/abstracts/Exception.d.cts +23 -0
- package/build/lib/base/abstracts/Exception.d.ts +23 -0
- package/build/lib/base/abstracts/Exception.js +8 -0
- package/build/lib/base/abstracts/Interval.cjs +51 -0
- package/build/lib/base/abstracts/Interval.d.cts +76 -0
- package/build/lib/base/abstracts/Interval.d.ts +76 -0
- package/build/lib/base/abstracts/Interval.js +42 -0
- package/build/lib/base/abstracts/SymmetricEncryption.cjs +23 -0
- package/build/lib/base/abstracts/SymmetricEncryption.d.cts +149 -0
- package/build/lib/base/abstracts/SymmetricEncryption.d.ts +149 -0
- package/build/lib/base/abstracts/SymmetricEncryption.js +14 -0
- package/build/lib/base/async-constructor/Append.cjs +14 -0
- package/build/lib/base/async-constructor/Append.d.cts +5 -0
- package/build/lib/base/async-constructor/Append.d.ts +5 -0
- package/build/lib/base/async-constructor/Append.js +5 -0
- package/build/lib/base/async-constructor/AsyncConstructor.cjs +15 -0
- package/build/lib/base/async-constructor/AsyncConstructor.d.cts +7 -0
- package/build/lib/base/async-constructor/AsyncConstructor.d.ts +7 -0
- package/build/lib/base/async-constructor/AsyncConstructor.js +6 -0
- package/build/lib/components/Formatter.cjs +50 -0
- package/build/lib/components/Formatter.d.cts +203 -0
- package/build/lib/components/Formatter.d.ts +203 -0
- package/build/lib/components/Formatter.js +41 -0
- package/build/lib/components/Logger.cjs +50 -0
- package/build/lib/components/Logger.d.cts +61 -0
- package/build/lib/components/Logger.d.ts +61 -0
- package/build/lib/components/Logger.js +41 -0
- package/build/lib/crypto/RSA.cjs +28 -0
- package/build/lib/crypto/RSA.d.cts +61 -0
- package/build/lib/crypto/RSA.d.ts +61 -0
- package/build/lib/crypto/RSA.js +19 -0
- package/build/lib/crypto/SM2.cjs +28 -0
- package/build/lib/crypto/SM2.d.cts +47 -0
- package/build/lib/crypto/SM2.d.ts +47 -0
- package/build/lib/crypto/SM2.js +19 -0
- package/build/lib/crypto/aes/AES128.cjs +25 -0
- package/build/lib/crypto/aes/AES128.d.cts +14 -0
- package/build/lib/crypto/aes/AES128.d.ts +14 -0
- package/build/lib/crypto/aes/AES128.js +16 -0
- package/build/lib/crypto/aes/AES192.cjs +25 -0
- package/build/lib/crypto/aes/AES192.d.cts +14 -0
- package/build/lib/crypto/aes/AES192.d.ts +14 -0
- package/build/lib/crypto/aes/AES192.js +16 -0
- package/build/lib/crypto/aes/AES256.cjs +25 -0
- package/build/lib/crypto/aes/AES256.d.cts +14 -0
- package/build/lib/crypto/aes/AES256.d.ts +14 -0
- package/build/lib/crypto/aes/AES256.js +16 -0
- package/build/lib/crypto/aria/ARIA128.cjs +24 -0
- package/build/lib/crypto/aria/ARIA128.d.cts +13 -0
- package/build/lib/crypto/aria/ARIA128.d.ts +13 -0
- package/build/lib/crypto/aria/ARIA128.js +15 -0
- package/build/lib/crypto/aria/ARIA192.cjs +24 -0
- package/build/lib/crypto/aria/ARIA192.d.cts +13 -0
- package/build/lib/crypto/aria/ARIA192.d.ts +13 -0
- package/build/lib/crypto/aria/ARIA192.js +15 -0
- package/build/lib/crypto/aria/ARIA256.cjs +24 -0
- package/build/lib/crypto/aria/ARIA256.d.cts +13 -0
- package/build/lib/crypto/aria/ARIA256.d.ts +13 -0
- package/build/lib/crypto/aria/ARIA256.js +15 -0
- package/build/lib/crypto/camellia/CAMELLIA128.cjs +24 -0
- package/build/lib/crypto/camellia/CAMELLIA128.d.cts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA128.d.ts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA128.js +15 -0
- package/build/lib/crypto/camellia/CAMELLIA192.cjs +24 -0
- package/build/lib/crypto/camellia/CAMELLIA192.d.cts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA192.d.ts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA192.js +15 -0
- package/build/lib/crypto/camellia/CAMELLIA256.cjs +24 -0
- package/build/lib/crypto/camellia/CAMELLIA256.d.cts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA256.d.ts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA256.js +15 -0
- package/build/lib/crypto/des/DES.cjs +25 -0
- package/build/lib/crypto/des/DES.d.cts +14 -0
- package/build/lib/crypto/des/DES.d.ts +14 -0
- package/build/lib/crypto/des/DES.js +16 -0
- package/build/lib/crypto/des/TripleDES.cjs +25 -0
- package/build/lib/crypto/des/TripleDES.d.cts +14 -0
- package/build/lib/crypto/des/TripleDES.d.ts +14 -0
- package/build/lib/crypto/des/TripleDES.js +16 -0
- package/build/lib/ioc/DependencyInjectionContainer.cjs +29 -0
- package/build/lib/ioc/DependencyInjectionContainer.d.cts +4 -0
- package/build/lib/ioc/DependencyInjectionContainer.d.ts +4 -0
- package/build/lib/ioc/DependencyInjectionContainer.js +20 -0
- package/build/lib/ioc/Errors.cjs +27 -0
- package/build/lib/ioc/Errors.d.cts +53 -0
- package/build/lib/ioc/Errors.d.ts +53 -0
- package/build/lib/ioc/Errors.js +10 -0
- package/build/lib/ioc/FunctionTokenizer.cjs +18 -0
- package/build/lib/ioc/FunctionTokenizer.d.cts +33 -0
- package/build/lib/ioc/FunctionTokenizer.d.ts +33 -0
- package/build/lib/ioc/FunctionTokenizer.js +5 -0
- package/build/lib/ioc/InjectionMode.cjs +14 -0
- package/build/lib/ioc/InjectionMode.d.cts +12 -0
- package/build/lib/ioc/InjectionMode.d.ts +12 -0
- package/build/lib/ioc/InjectionMode.js +5 -0
- package/build/lib/ioc/Lifetime.cjs +14 -0
- package/build/lib/ioc/Lifetime.d.cts +12 -0
- package/build/lib/ioc/Lifetime.d.ts +12 -0
- package/build/lib/ioc/Lifetime.js +5 -0
- package/build/lib/ioc/ListModules.cjs +17 -0
- package/build/lib/ioc/ListModules.d.cts +4 -0
- package/build/lib/ioc/ListModules.d.ts +4 -0
- package/build/lib/ioc/ListModules.js +8 -0
- package/build/lib/ioc/LoadModuleNative.cjs +14 -0
- package/build/lib/ioc/LoadModuleNative.d.cts +9 -0
- package/build/lib/ioc/LoadModuleNative.d.ts +9 -0
- package/build/lib/ioc/LoadModuleNative.js +5 -0
- package/build/lib/ioc/LoadModules.cjs +26 -0
- package/build/lib/ioc/LoadModules.d.cts +4 -0
- package/build/lib/ioc/LoadModules.d.ts +4 -0
- package/build/lib/ioc/LoadModules.js +17 -0
- package/build/lib/ioc/ParamParser.cjs +15 -0
- package/build/lib/ioc/ParamParser.d.cts +25 -0
- package/build/lib/ioc/ParamParser.d.ts +25 -0
- package/build/lib/ioc/ParamParser.js +6 -0
- package/build/lib/ioc/Resolvers.cjs +49 -0
- package/build/lib/ioc/Resolvers.d.cts +4 -0
- package/build/lib/ioc/Resolvers.d.ts +4 -0
- package/build/lib/ioc/Resolvers.js +16 -0
- package/build/lib/ioc/Utils.cjs +35 -0
- package/build/lib/ioc/Utils.d.cts +38 -0
- package/build/lib/ioc/Utils.d.ts +38 -0
- package/build/lib/ioc/Utils.js +6 -0
- package/build/options/ApplicationOptions.cjs +50 -0
- package/build/options/ApplicationOptions.d.cts +20 -0
- package/build/options/ApplicationOptions.d.ts +20 -0
- package/build/options/ApplicationOptions.js +41 -0
- package/build/options/LoadComponentOptions.cjs +50 -0
- package/build/options/LoadComponentOptions.d.cts +22 -0
- package/build/options/LoadComponentOptions.d.ts +22 -0
- package/build/options/LoadComponentOptions.js +41 -0
- package/build/options/LoadEntryClassOptions.cjs +50 -0
- package/build/options/LoadEntryClassOptions.d.cts +16 -0
- package/build/options/LoadEntryClassOptions.d.ts +16 -0
- package/build/options/LoadEntryClassOptions.js +41 -0
- package/build/options/LoadEntryCommonOptions.cjs +27 -0
- package/build/options/LoadEntryCommonOptions.d.cts +13 -0
- package/build/options/LoadEntryCommonOptions.d.ts +13 -0
- package/build/options/LoadEntryCommonOptions.js +18 -0
- package/build/options/LoadModuleOptions.cjs +50 -0
- package/build/options/LoadModuleOptions.d.cts +20 -0
- package/build/options/LoadModuleOptions.d.ts +20 -0
- package/build/options/LoadModuleOptions.js +41 -0
- package/build/options/ModuleOptions.cjs +50 -0
- package/build/options/ModuleOptions.d.cts +20 -0
- package/build/options/ModuleOptions.d.ts +20 -0
- package/build/options/ModuleOptions.js +41 -0
- package/build/types/AsyncFunction.cjs +7 -0
- package/build/types/AsyncFunction.d.cts +3 -0
- package/build/types/AsyncFunction.d.ts +3 -0
- package/build/types/AsyncFunction.js +4 -0
- package/build/types/ControllerActionMapItem.cjs +7 -0
- package/build/types/ControllerActionMapItem.d.cts +20 -0
- package/build/types/ControllerActionMapItem.d.ts +20 -0
- package/build/types/ControllerActionMapItem.js +4 -0
- package/build/types/InjectionProperties.cjs +7 -0
- package/build/types/InjectionProperties.d.cts +3 -0
- package/build/types/InjectionProperties.d.ts +3 -0
- package/build/types/InjectionProperties.js +4 -0
- package/build/types/TimeInput.cjs +7 -0
- package/build/types/TimeInput.d.cts +5 -0
- package/build/types/TimeInput.d.ts +5 -0
- package/build/types/TimeInput.js +4 -0
- package/build/types/TimeObject.cjs +7 -0
- package/build/types/TimeObject.d.cts +11 -0
- package/build/types/TimeObject.d.ts +11 -0
- package/build/types/TimeObject.js +4 -0
- package/build/types/UnitOfTime.cjs +7 -0
- package/build/types/UnitOfTime.d.cts +14 -0
- package/build/types/UnitOfTime.d.ts +14 -0
- package/build/types/UnitOfTime.js +4 -0
- package/package.json +145 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { As } from './chunk-XO6M5AYN.js';
|
|
2
|
+
import { init_esm_shims, __name } from './chunk-5NK7E2HA.js';
|
|
3
|
+
|
|
4
|
+
// src/lib/base/abstracts/Exception.ts
|
|
5
|
+
init_esm_shims();
|
|
6
|
+
|
|
7
|
+
// node_modules/pupa/index.js
|
|
8
|
+
init_esm_shims();
|
|
9
|
+
|
|
10
|
+
// node_modules/escape-goat/index.js
|
|
11
|
+
init_esm_shims();
|
|
12
|
+
var _htmlEscape = /* @__PURE__ */ __name((string) => string.replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">"), "_htmlEscape");
|
|
13
|
+
function htmlEscape(strings, ...values) {
|
|
14
|
+
if (typeof strings === "string") {
|
|
15
|
+
return _htmlEscape(strings);
|
|
16
|
+
}
|
|
17
|
+
let output = strings[0];
|
|
18
|
+
for (const [index, value] of values.entries()) {
|
|
19
|
+
output = output + _htmlEscape(String(value)) + strings[index + 1];
|
|
20
|
+
}
|
|
21
|
+
return output;
|
|
22
|
+
}
|
|
23
|
+
__name(htmlEscape, "htmlEscape");
|
|
24
|
+
|
|
25
|
+
// node_modules/pupa/index.js
|
|
26
|
+
var _MissingValueError = class _MissingValueError extends Error {
|
|
27
|
+
constructor(key) {
|
|
28
|
+
super(`Missing a value for ${key ? `the placeholder: ${key}` : "a placeholder"}`, key);
|
|
29
|
+
this.name = "MissingValueError";
|
|
30
|
+
this.key = key;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
__name(_MissingValueError, "MissingValueError");
|
|
34
|
+
var MissingValueError = _MissingValueError;
|
|
35
|
+
function pupa(template, data, { ignoreMissing = false, transform = /* @__PURE__ */ __name(({ value }) => value, "transform") } = {}) {
|
|
36
|
+
if (typeof template !== "string") {
|
|
37
|
+
throw new TypeError(`Expected a \`string\` in the first argument, got \`${typeof template}\``);
|
|
38
|
+
}
|
|
39
|
+
if (typeof data !== "object") {
|
|
40
|
+
throw new TypeError(`Expected an \`object\` or \`Array\` in the second argument, got \`${typeof data}\``);
|
|
41
|
+
}
|
|
42
|
+
const replace2 = /* @__PURE__ */ __name((placeholder, key) => {
|
|
43
|
+
let value = data;
|
|
44
|
+
for (const property of key.split(".")) {
|
|
45
|
+
value = value ? value[property] : void 0;
|
|
46
|
+
}
|
|
47
|
+
const transformedValue = transform({ value, key });
|
|
48
|
+
if (transformedValue === void 0) {
|
|
49
|
+
if (ignoreMissing) {
|
|
50
|
+
return placeholder;
|
|
51
|
+
}
|
|
52
|
+
throw new MissingValueError(key);
|
|
53
|
+
}
|
|
54
|
+
return String(transformedValue);
|
|
55
|
+
}, "replace");
|
|
56
|
+
const composeHtmlEscape = /* @__PURE__ */ __name((replacer) => (...args) => htmlEscape(replacer(...args)), "composeHtmlEscape");
|
|
57
|
+
const doubleBraceRegex = /{{(\d+|[a-z$_][\w\-$]*?(?:\.[\w\-$]*?)*?)}}/gi;
|
|
58
|
+
if (doubleBraceRegex.test(template)) {
|
|
59
|
+
template = template.replace(doubleBraceRegex, composeHtmlEscape(replace2));
|
|
60
|
+
}
|
|
61
|
+
const braceRegex = /{(\d+|[a-z$_][\w\-$]*?(?:\.[\w\-$]*?)*?)}/gi;
|
|
62
|
+
return template.replace(braceRegex, replace2);
|
|
63
|
+
}
|
|
64
|
+
__name(pupa, "pupa");
|
|
65
|
+
|
|
66
|
+
// node_modules/camel-case/dist.es2015/index.js
|
|
67
|
+
init_esm_shims();
|
|
68
|
+
|
|
69
|
+
// node_modules/tslib/tslib.es6.mjs
|
|
70
|
+
init_esm_shims();
|
|
71
|
+
var __assign = /* @__PURE__ */ __name(function() {
|
|
72
|
+
__assign = Object.assign || /* @__PURE__ */ __name(function __assign2(t) {
|
|
73
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
74
|
+
s = arguments[i];
|
|
75
|
+
for (var p in s)
|
|
76
|
+
if (Object.prototype.hasOwnProperty.call(s, p))
|
|
77
|
+
t[p] = s[p];
|
|
78
|
+
}
|
|
79
|
+
return t;
|
|
80
|
+
}, "__assign");
|
|
81
|
+
return __assign.apply(this, arguments);
|
|
82
|
+
}, "__assign");
|
|
83
|
+
|
|
84
|
+
// node_modules/pascal-case/dist.es2015/index.js
|
|
85
|
+
init_esm_shims();
|
|
86
|
+
|
|
87
|
+
// node_modules/no-case/dist.es2015/index.js
|
|
88
|
+
init_esm_shims();
|
|
89
|
+
|
|
90
|
+
// node_modules/lower-case/dist.es2015/index.js
|
|
91
|
+
init_esm_shims();
|
|
92
|
+
function lowerCase(str) {
|
|
93
|
+
return str.toLowerCase();
|
|
94
|
+
}
|
|
95
|
+
__name(lowerCase, "lowerCase");
|
|
96
|
+
|
|
97
|
+
// node_modules/no-case/dist.es2015/index.js
|
|
98
|
+
var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];
|
|
99
|
+
var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;
|
|
100
|
+
function noCase(input, options) {
|
|
101
|
+
if (options === void 0) {
|
|
102
|
+
options = {};
|
|
103
|
+
}
|
|
104
|
+
var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? " " : _d;
|
|
105
|
+
var result = replace(replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0");
|
|
106
|
+
var start = 0;
|
|
107
|
+
var end = result.length;
|
|
108
|
+
while (result.charAt(start) === "\0")
|
|
109
|
+
start++;
|
|
110
|
+
while (result.charAt(end - 1) === "\0")
|
|
111
|
+
end--;
|
|
112
|
+
return result.slice(start, end).split("\0").map(transform).join(delimiter);
|
|
113
|
+
}
|
|
114
|
+
__name(noCase, "noCase");
|
|
115
|
+
function replace(input, re, value) {
|
|
116
|
+
if (re instanceof RegExp)
|
|
117
|
+
return input.replace(re, value);
|
|
118
|
+
return re.reduce(function(input2, re2) {
|
|
119
|
+
return input2.replace(re2, value);
|
|
120
|
+
}, input);
|
|
121
|
+
}
|
|
122
|
+
__name(replace, "replace");
|
|
123
|
+
|
|
124
|
+
// node_modules/pascal-case/dist.es2015/index.js
|
|
125
|
+
function pascalCaseTransform(input, index) {
|
|
126
|
+
var firstChar = input.charAt(0);
|
|
127
|
+
var lowerChars = input.substr(1).toLowerCase();
|
|
128
|
+
if (index > 0 && firstChar >= "0" && firstChar <= "9") {
|
|
129
|
+
return "_" + firstChar + lowerChars;
|
|
130
|
+
}
|
|
131
|
+
return "" + firstChar.toUpperCase() + lowerChars;
|
|
132
|
+
}
|
|
133
|
+
__name(pascalCaseTransform, "pascalCaseTransform");
|
|
134
|
+
function pascalCase(input, options) {
|
|
135
|
+
if (options === void 0) {
|
|
136
|
+
options = {};
|
|
137
|
+
}
|
|
138
|
+
return noCase(input, __assign({ delimiter: "", transform: pascalCaseTransform }, options));
|
|
139
|
+
}
|
|
140
|
+
__name(pascalCase, "pascalCase");
|
|
141
|
+
|
|
142
|
+
// node_modules/camel-case/dist.es2015/index.js
|
|
143
|
+
function camelCaseTransform(input, index) {
|
|
144
|
+
if (index === 0)
|
|
145
|
+
return input.toLowerCase();
|
|
146
|
+
return pascalCaseTransform(input, index);
|
|
147
|
+
}
|
|
148
|
+
__name(camelCaseTransform, "camelCaseTransform");
|
|
149
|
+
function camelCase(input, options) {
|
|
150
|
+
if (options === void 0) {
|
|
151
|
+
options = {};
|
|
152
|
+
}
|
|
153
|
+
return pascalCase(input, __assign({ transform: camelCaseTransform }, options));
|
|
154
|
+
}
|
|
155
|
+
__name(camelCase, "camelCase");
|
|
156
|
+
|
|
157
|
+
// src/lib/base/abstracts/Exception.ts
|
|
158
|
+
var _Exception = class _Exception extends Error {
|
|
159
|
+
appId = process.env.appId ? process.env.appId : "Unknown";
|
|
160
|
+
appName = process.env.appName ? process.env.appName : "Unknown";
|
|
161
|
+
errMsg;
|
|
162
|
+
err;
|
|
163
|
+
constructor(a, b) {
|
|
164
|
+
super();
|
|
165
|
+
if (b) {
|
|
166
|
+
const template = a;
|
|
167
|
+
const data = b;
|
|
168
|
+
try {
|
|
169
|
+
this.message = pupa(template, data, { ignoreMissing: true });
|
|
170
|
+
} catch (e) {
|
|
171
|
+
this.message = "Unknown (broken exception template or data)";
|
|
172
|
+
}
|
|
173
|
+
} else if (a) {
|
|
174
|
+
if (typeof a === "string") {
|
|
175
|
+
this.message = a;
|
|
176
|
+
} else {
|
|
177
|
+
this.message = As(a).message;
|
|
178
|
+
}
|
|
179
|
+
} else {
|
|
180
|
+
const message = camelCase(this.name, { delimiter: " " }).toLowerCase();
|
|
181
|
+
this.message = `${message.charAt(0).toUpperCase()}${message.slice(1)}`;
|
|
182
|
+
}
|
|
183
|
+
this.errMsg = this.message;
|
|
184
|
+
this.err = this.name;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* 获取错误名称
|
|
188
|
+
* @returns {string}
|
|
189
|
+
*/
|
|
190
|
+
get name() {
|
|
191
|
+
return this.constructor.name;
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
__name(_Exception, "Exception");
|
|
195
|
+
var Exception = _Exception;
|
|
196
|
+
|
|
197
|
+
export { Exception, camelCase };
|
|
198
|
+
//# sourceMappingURL=out.js.map
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9saWIvYmFzZS9hYnN0cmFjdHMvRXhjZXB0aW9uLnRzIiwiLi4vbm9kZV9tb2R1bGVzL3B1cGEvaW5kZXguanMiLCIuLi9ub2RlX21vZHVsZXMvZXNjYXBlLWdvYXQvaW5kZXguanMiLCIuLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2Lm1qcyIsIi4uL25vZGVfbW9kdWxlcy9uby1jYXNlL3NyYy9pbmRleC50cyIsIi4uL25vZGVfbW9kdWxlcy9sb3dlci1jYXNlL3NyYy9pbmRleC50cyIsIi4uL25vZGVfbW9kdWxlcy9wYXNjYWwtY2FzZS9zcmMvaW5kZXgudHMiLCIuLi9ub2RlX21vZHVsZXMvY2FtZWwtY2FzZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOlsicmVwbGFjZSIsIl9fYXNzaWduIiwiaW5wdXQiLCJyZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7OztBQ0FBOzs7QUNBQTtBQUFBLElBQU0sY0FBYyxtQ0FBVSxPQUM1QixRQUFRLE1BQU0sT0FBTyxFQUNyQixRQUFRLE1BQU0sUUFBUSxFQUN0QixRQUFRLE1BQU0sT0FBTyxFQUNyQixRQUFRLE1BQU0sTUFBTSxFQUNwQixRQUFRLE1BQU0sTUFBTSxHQUxGO0FBY2IsU0FBUyxXQUFXLFlBQVksUUFBUTtBQUM5QyxNQUFJLE9BQU8sWUFBWSxVQUFVO0FBQ2hDLFdBQU8sWUFBWSxPQUFPO0FBQUEsRUFDM0I7QUFFQSxNQUFJLFNBQVMsUUFBUSxDQUFDO0FBQ3RCLGFBQVcsQ0FBQyxPQUFPLEtBQUssS0FBSyxPQUFPLFFBQVEsR0FBRztBQUM5QyxhQUFTLFNBQVMsWUFBWSxPQUFPLEtBQUssQ0FBQyxJQUFJLFFBQVEsUUFBUSxDQUFDO0FBQUEsRUFDakU7QUFFQSxTQUFPO0FBQ1I7QUFYZ0I7OztBRFpULElBQU0scUJBQU4sTUFBTSwyQkFBMEIsTUFBTTtBQUFBLEVBQzVDLFlBQVksS0FBSztBQUNoQixVQUFNLHVCQUF1QixNQUFNLG9CQUFvQixHQUFHLEtBQUssZUFBZSxJQUFJLEdBQUc7QUFDckYsU0FBSyxPQUFPO0FBQ1osU0FBSyxNQUFNO0FBQUEsRUFDWjtBQUNEO0FBTjZDO0FBQXRDLElBQU0sb0JBQU47QUFRUSxTQUFSLEtBQXNCLFVBQVUsTUFBTSxFQUFDLGdCQUFnQixPQUFPLFlBQVksd0JBQUMsRUFBQyxNQUFLLE1BQU0sT0FBYixhQUFrQixJQUFJLENBQUMsR0FBRztBQUMxRyxNQUFJLE9BQU8sYUFBYSxVQUFVO0FBQ2pDLFVBQU0sSUFBSSxVQUFVLHNEQUFzRCxPQUFPLFFBQVEsSUFBSTtBQUFBLEVBQzlGO0FBRUEsTUFBSSxPQUFPLFNBQVMsVUFBVTtBQUM3QixVQUFNLElBQUksVUFBVSxxRUFBcUUsT0FBTyxJQUFJLElBQUk7QUFBQSxFQUN6RztBQUVBLFFBQU1BLFdBQVUsd0JBQUMsYUFBYSxRQUFRO0FBQ3JDLFFBQUksUUFBUTtBQUNaLGVBQVcsWUFBWSxJQUFJLE1BQU0sR0FBRyxHQUFHO0FBQ3RDLGNBQVEsUUFBUSxNQUFNLFFBQVEsSUFBSTtBQUFBLElBQ25DO0FBRUEsVUFBTSxtQkFBbUIsVUFBVSxFQUFDLE9BQU8sSUFBRyxDQUFDO0FBQy9DLFFBQUkscUJBQXFCLFFBQVc7QUFDbkMsVUFBSSxlQUFlO0FBQ2xCLGVBQU87QUFBQSxNQUNSO0FBRUEsWUFBTSxJQUFJLGtCQUFrQixHQUFHO0FBQUEsSUFDaEM7QUFFQSxXQUFPLE9BQU8sZ0JBQWdCO0FBQUEsRUFDL0IsR0FoQmdCO0FBa0JoQixRQUFNLG9CQUFvQixxQ0FBWSxJQUFJLFNBQVMsV0FBVyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQXJEO0FBRzFCLFFBQU0sbUJBQW1CO0FBRXpCLE1BQUksaUJBQWlCLEtBQUssUUFBUSxHQUFHO0FBQ3BDLGVBQVcsU0FBUyxRQUFRLGtCQUFrQixrQkFBa0JBLFFBQU8sQ0FBQztBQUFBLEVBQ3pFO0FBRUEsUUFBTSxhQUFhO0FBRW5CLFNBQU8sU0FBUyxRQUFRLFlBQVlBLFFBQU87QUFDNUM7QUF2Q3dCOzs7Ozs7QUVWeEI7QUErQk8sSUFBSSxXQUFXLGtDQUFXO0FBQy9CLGFBQVcsT0FBTyxVQUFVLGdDQUFTQyxVQUFTLEdBQUc7QUFDN0MsYUFBUyxHQUFHLElBQUksR0FBRyxJQUFJLFVBQVUsUUFBUSxJQUFJLEdBQUcsS0FBSztBQUNqRCxVQUFJLFVBQVUsQ0FBQztBQUNmLGVBQVMsS0FBSztBQUFHLFlBQUksT0FBTyxVQUFVLGVBQWUsS0FBSyxHQUFHLENBQUM7QUFBRyxZQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7QUFBQSxJQUMvRTtBQUNBLFdBQU87QUFBQSxFQUNYLEdBTjRCO0FBTzVCLFNBQU8sU0FBUyxNQUFNLE1BQU0sU0FBUztBQUN2QyxHQVRzQjs7Ozs7O0FDL0J0Qjs7O0FDUUE7QUE2Q00sU0FBVSxVQUFVLEtBQVc7QUFDbkMsU0FBTyxJQUFJLFlBQVc7QUFDeEI7QUFGZ0I7OztBRDNDaEIsSUFBTSx1QkFBdUIsQ0FBQyxzQkFBc0Isc0JBQXNCO0FBRzFFLElBQU0sdUJBQXVCO0FBS3ZCLFNBQVUsT0FBTyxPQUFlLFNBQXFCO0FBQXJCLE1BQUEsWUFBQSxRQUFBO0FBQUEsY0FBQSxDQUFBO0VBQXFCO0FBRXZELE1BQUEsS0FJRSxRQUFPLGFBSlQsY0FBVyxPQUFBLFNBQUcsdUJBQW9CLElBQ2xDLEtBR0UsUUFBTyxhQUhULGNBQVcsT0FBQSxTQUFHLHVCQUFvQixJQUNsQyxLQUVFLFFBQU8sV0FGVCxZQUFTLE9BQUEsU0FBRyxZQUFTLElBQ3JCLEtBQ0UsUUFBTyxXQURULFlBQVMsT0FBQSxTQUFHLE1BQUc7QUFHakIsTUFBSSxTQUFTLFFBQ1gsUUFBUSxPQUFPLGFBQWEsUUFBUSxHQUNwQyxhQUNBLElBQUk7QUFFTixNQUFJLFFBQVE7QUFDWixNQUFJLE1BQU0sT0FBTztBQUdqQixTQUFPLE9BQU8sT0FBTyxLQUFLLE1BQU07QUFBTTtBQUN0QyxTQUFPLE9BQU8sT0FBTyxNQUFNLENBQUMsTUFBTTtBQUFNO0FBR3hDLFNBQU8sT0FBTyxNQUFNLE9BQU8sR0FBRyxFQUFFLE1BQU0sSUFBSSxFQUFFLElBQUksU0FBUyxFQUFFLEtBQUssU0FBUztBQUMzRTtBQXRCZ0I7QUEyQmhCLFNBQVMsUUFBUSxPQUFlLElBQXVCLE9BQWE7QUFDbEUsTUFBSSxjQUFjO0FBQVEsV0FBTyxNQUFNLFFBQVEsSUFBSSxLQUFLO0FBQ3hELFNBQU8sR0FBRyxPQUFPLFNBQUNDLFFBQU9DLEtBQUU7QUFBSyxXQUFBRCxPQUFNLFFBQVFDLEtBQUksS0FBSztFQUF2QixHQUEwQixLQUFLO0FBQ2pFO0FBSFM7OztBRXpDSCxTQUFVLG9CQUFvQixPQUFlLE9BQWE7QUFDOUQsTUFBTSxZQUFZLE1BQU0sT0FBTyxDQUFDO0FBQ2hDLE1BQU0sYUFBYSxNQUFNLE9BQU8sQ0FBQyxFQUFFLFlBQVc7QUFDOUMsTUFBSSxRQUFRLEtBQUssYUFBYSxPQUFPLGFBQWEsS0FBSztBQUNyRCxXQUFPLE1BQUksWUFBWTs7QUFFekIsU0FBTyxLQUFHLFVBQVUsWUFBVyxJQUFLO0FBQ3RDO0FBUGdCO0FBYVYsU0FBVSxXQUFXLE9BQWUsU0FBcUI7QUFBckIsTUFBQSxZQUFBLFFBQUE7QUFBQSxjQUFBLENBQUE7RUFBcUI7QUFDN0QsU0FBTyxPQUFPLE9BQUssU0FBQSxFQUNqQixXQUFXLElBQ1gsV0FBVyxvQkFBbUIsR0FDM0IsT0FBTyxDQUFBO0FBRWQ7QUFOZ0I7OztBQ1JWLFNBQVUsbUJBQW1CLE9BQWUsT0FBYTtBQUM3RCxNQUFJLFVBQVU7QUFBRyxXQUFPLE1BQU0sWUFBVztBQUN6QyxTQUFPLG9CQUFvQixPQUFPLEtBQUs7QUFDekM7QUFIZ0I7QUFVVixTQUFVLFVBQVUsT0FBZSxTQUFxQjtBQUFyQixNQUFBLFlBQUEsUUFBQTtBQUFBLGNBQUEsQ0FBQTtFQUFxQjtBQUM1RCxTQUFPLFdBQVcsT0FBSyxTQUFBLEVBQ3JCLFdBQVcsbUJBQWtCLEdBQzFCLE9BQU8sQ0FBQTtBQUVkO0FBTGdCOzs7QVBYVCxJQUFlLGFBQWYsTUFBZSxtQkFBa0IsTUFBTTtBQUFBLEVBRTFCLFFBQWdCLFFBQVEsSUFBSSxRQUFRLFFBQVEsSUFBSSxRQUFRO0FBQUEsRUFDeEQsVUFBa0IsUUFBUSxJQUFJLFVBQVUsUUFBUSxJQUFJLFVBQVU7QUFBQSxFQUM5RDtBQUFBLEVBQ0E7QUFBQSxFQU1oQixZQUFZLEdBQW9CLEdBQXFDO0FBQ2pFLFVBQU07QUFDTixRQUFJLEdBQUc7QUFDSCxZQUFNLFdBQW1CO0FBQ3pCLFlBQU0sT0FBd0M7QUFFOUMsVUFBSTtBQUNBLGFBQUssVUFBVSxLQUFLLFVBQVUsTUFBTSxFQUFDLGVBQWUsS0FBSSxDQUFDO0FBQUEsTUFDN0QsU0FBUyxHQUFHO0FBQ1IsYUFBSyxVQUFVO0FBQUEsTUFDbkI7QUFBQSxJQUNKLFdBQVcsR0FBRztBQUNWLFVBQUksT0FBUSxNQUFPLFVBQVU7QUFFekIsYUFBSyxVQUFVO0FBQUEsTUFDbkIsT0FBTztBQUVILGFBQUssVUFBVSxHQUFVLENBQUMsRUFBRTtBQUFBLE1BQ2hDO0FBQUEsSUFDSixPQUFPO0FBRUgsWUFBTSxVQUFrQixVQUFVLEtBQUssTUFBTSxFQUFDLFdBQVcsSUFBRyxDQUFDLEVBQUUsWUFBWTtBQUMzRSxXQUFLLFVBQVUsR0FBRyxRQUFRLE9BQU8sQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLFFBQVEsTUFBTSxDQUFDLENBQUM7QUFBQSxJQUN4RTtBQUNBLFNBQUssU0FBUyxLQUFLO0FBQ25CLFNBQUssTUFBTSxLQUFLO0FBQUEsRUFDcEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsSUFBVyxPQUFlO0FBQ3RCLFdBQU8sS0FBSyxZQUFZO0FBQUEsRUFDNUI7QUFDSjtBQTlDOEM7QUFBdkMsSUFBZSxZQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJ1xuaW1wb3J0IHB1cGEgZnJvbSAncHVwYSdcbmltcG9ydCB7Y2FtZWxDYXNlfSBmcm9tICdjYW1lbC1jYXNlJ1xuaW1wb3J0IHtBc30gZnJvbSAnLi4vLi4vLi4vVXRpbGl0aWVzLmpzJ1xuXG4vKipcbiAqIOW8guW4uOaKveixoeexu1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRXhjZXB0aW9uIGV4dGVuZHMgRXJyb3Ige1xuICAgIHB1YmxpYyBhYnN0cmFjdCBlcnJubzogbnVtYmVyIHwgc3RyaW5nXG4gICAgcHVibGljIHJlYWRvbmx5IGFwcElkOiBzdHJpbmcgPSBwcm9jZXNzLmVudi5hcHBJZCA/IHByb2Nlc3MuZW52LmFwcElkIDogJ1Vua25vd24nXG4gICAgcHVibGljIHJlYWRvbmx5IGFwcE5hbWU6IHN0cmluZyA9IHByb2Nlc3MuZW52LmFwcE5hbWUgPyBwcm9jZXNzLmVudi5hcHBOYW1lIDogJ1Vua25vd24nXG4gICAgcHVibGljIHJlYWRvbmx5IGVyck1zZzogc3RyaW5nXG4gICAgcHVibGljIHJlYWRvbmx5IGVycjogc3RyaW5nXG5cbiAgICBjb25zdHJ1Y3Rvcih0ZW1wbGF0ZTogc3RyaW5nLCBkYXRhOiB1bmtub3duW10gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+KVxuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZylcbiAgICBjb25zdHJ1Y3RvcihlcnJvcjogRXJyb3IpXG4gICAgY29uc3RydWN0b3IoKVxuICAgIGNvbnN0cnVjdG9yKGE/OiBzdHJpbmcgfCBFcnJvciwgYj86IHVua25vd25bXSB8IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICAgICAgc3VwZXIoKVxuICAgICAgICBpZiAoYikge1xuICAgICAgICAgICAgY29uc3QgdGVtcGxhdGU6IHN0cmluZyA9IGEgYXMgc3RyaW5nXG4gICAgICAgICAgICBjb25zdCBkYXRhOiB1bmtub3duW10gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gYlxuICAgICAgICAgICAgLy9FcnJvciB0ZW1wbGF0ZVxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBwdXBhKHRlbXBsYXRlLCBkYXRhLCB7aWdub3JlTWlzc2luZzogdHJ1ZX0pXG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gJ1Vua25vd24gKGJyb2tlbiBleGNlcHRpb24gdGVtcGxhdGUgb3IgZGF0YSknXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoYSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiAoYSkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgLy9FcnJvciBtZXNzYWdlXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gYSBhcyBzdHJpbmdcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy9FcnJvciBpbnN0YW5jZVxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZSA9IEFzPEVycm9yPihhKS5tZXNzYWdlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvL0VtcHR5IG1lc3NhZ2VcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2U6IHN0cmluZyA9IGNhbWVsQ2FzZSh0aGlzLm5hbWUsIHtkZWxpbWl0ZXI6ICcgJ30pLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZSA9IGAke21lc3NhZ2UuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHttZXNzYWdlLnNsaWNlKDEpfWBcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVyck1zZyA9IHRoaXMubWVzc2FnZVxuICAgICAgICB0aGlzLmVyciA9IHRoaXMubmFtZVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiOt+WPlumUmeivr+WQjeensFxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAgICovXG4gICAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnN0cnVjdG9yLm5hbWVcbiAgICB9XG59XG4iLCJpbXBvcnQge2h0bWxFc2NhcGV9IGZyb20gJ2VzY2FwZS1nb2F0JztcblxuZXhwb3J0IGNsYXNzIE1pc3NpbmdWYWx1ZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuXHRjb25zdHJ1Y3RvcihrZXkpIHtcblx0XHRzdXBlcihgTWlzc2luZyBhIHZhbHVlIGZvciAke2tleSA/IGB0aGUgcGxhY2Vob2xkZXI6ICR7a2V5fWAgOiAnYSBwbGFjZWhvbGRlcid9YCwga2V5KTtcblx0XHR0aGlzLm5hbWUgPSAnTWlzc2luZ1ZhbHVlRXJyb3InO1xuXHRcdHRoaXMua2V5ID0ga2V5O1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHB1cGEodGVtcGxhdGUsIGRhdGEsIHtpZ25vcmVNaXNzaW5nID0gZmFsc2UsIHRyYW5zZm9ybSA9ICh7dmFsdWV9KSA9PiB2YWx1ZX0gPSB7fSkge1xuXHRpZiAodHlwZW9mIHRlbXBsYXRlICE9PSAnc3RyaW5nJykge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIGEgXFxgc3RyaW5nXFxgIGluIHRoZSBmaXJzdCBhcmd1bWVudCwgZ290IFxcYCR7dHlwZW9mIHRlbXBsYXRlfVxcYGApO1xuXHR9XG5cblx0aWYgKHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0Jykge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIGFuIFxcYG9iamVjdFxcYCBvciBcXGBBcnJheVxcYCBpbiB0aGUgc2Vjb25kIGFyZ3VtZW50LCBnb3QgXFxgJHt0eXBlb2YgZGF0YX1cXGBgKTtcblx0fVxuXG5cdGNvbnN0IHJlcGxhY2UgPSAocGxhY2Vob2xkZXIsIGtleSkgPT4ge1xuXHRcdGxldCB2YWx1ZSA9IGRhdGE7XG5cdFx0Zm9yIChjb25zdCBwcm9wZXJ0eSBvZiBrZXkuc3BsaXQoJy4nKSkge1xuXHRcdFx0dmFsdWUgPSB2YWx1ZSA/IHZhbHVlW3Byb3BlcnR5XSA6IHVuZGVmaW5lZDtcblx0XHR9XG5cblx0XHRjb25zdCB0cmFuc2Zvcm1lZFZhbHVlID0gdHJhbnNmb3JtKHt2YWx1ZSwga2V5fSk7XG5cdFx0aWYgKHRyYW5zZm9ybWVkVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0aWYgKGlnbm9yZU1pc3NpbmcpIHtcblx0XHRcdFx0cmV0dXJuIHBsYWNlaG9sZGVyO1xuXHRcdFx0fVxuXG5cdFx0XHR0aHJvdyBuZXcgTWlzc2luZ1ZhbHVlRXJyb3Ioa2V5KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gU3RyaW5nKHRyYW5zZm9ybWVkVmFsdWUpO1xuXHR9O1xuXG5cdGNvbnN0IGNvbXBvc2VIdG1sRXNjYXBlID0gcmVwbGFjZXIgPT4gKC4uLmFyZ3MpID0+IGh0bWxFc2NhcGUocmVwbGFjZXIoLi4uYXJncykpO1xuXG5cdC8vIFRoZSByZWdleCB0cmllcyB0byBtYXRjaCBlaXRoZXIgYSBudW1iZXIgaW5zaWRlIGB7eyB9fWAgb3IgYSB2YWxpZCBKUyBpZGVudGlmaWVyIG9yIGtleSBwYXRoLlxuXHRjb25zdCBkb3VibGVCcmFjZVJlZ2V4ID0gL3t7KFxcZCt8W2EteiRfXVtcXHdcXC0kXSo/KD86XFwuW1xcd1xcLSRdKj8pKj8pfX0vZ2k7XG5cblx0aWYgKGRvdWJsZUJyYWNlUmVnZXgudGVzdCh0ZW1wbGF0ZSkpIHtcblx0XHR0ZW1wbGF0ZSA9IHRlbXBsYXRlLnJlcGxhY2UoZG91YmxlQnJhY2VSZWdleCwgY29tcG9zZUh0bWxFc2NhcGUocmVwbGFjZSkpO1xuXHR9XG5cblx0Y29uc3QgYnJhY2VSZWdleCA9IC97KFxcZCt8W2EteiRfXVtcXHdcXC0kXSo/KD86XFwuW1xcd1xcLSRdKj8pKj8pfS9naTtcblxuXHRyZXR1cm4gdGVtcGxhdGUucmVwbGFjZShicmFjZVJlZ2V4LCByZXBsYWNlKTtcbn1cbiIsImNvbnN0IF9odG1sRXNjYXBlID0gc3RyaW5nID0+IHN0cmluZ1xuXHQucmVwbGFjZSgvJi9nLCAnJmFtcDsnKVxuXHQucmVwbGFjZSgvXCIvZywgJyZxdW90OycpXG5cdC5yZXBsYWNlKC8nL2csICcmIzM5OycpXG5cdC5yZXBsYWNlKC88L2csICcmbHQ7Jylcblx0LnJlcGxhY2UoLz4vZywgJyZndDsnKTtcblxuY29uc3QgX2h0bWxVbmVzY2FwZSA9IGh0bWxTdHJpbmcgPT4gaHRtbFN0cmluZ1xuXHQucmVwbGFjZSgvJmd0Oy9nLCAnPicpXG5cdC5yZXBsYWNlKC8mbHQ7L2csICc8Jylcblx0LnJlcGxhY2UoLyYjMD8zOTsvZywgJ1xcJycpXG5cdC5yZXBsYWNlKC8mcXVvdDsvZywgJ1wiJylcblx0LnJlcGxhY2UoLyZhbXA7L2csICcmJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBodG1sRXNjYXBlKHN0cmluZ3MsIC4uLnZhbHVlcykge1xuXHRpZiAodHlwZW9mIHN0cmluZ3MgPT09ICdzdHJpbmcnKSB7XG5cdFx0cmV0dXJuIF9odG1sRXNjYXBlKHN0cmluZ3MpO1xuXHR9XG5cblx0bGV0IG91dHB1dCA9IHN0cmluZ3NbMF07XG5cdGZvciAoY29uc3QgW2luZGV4LCB2YWx1ZV0gb2YgdmFsdWVzLmVudHJpZXMoKSkge1xuXHRcdG91dHB1dCA9IG91dHB1dCArIF9odG1sRXNjYXBlKFN0cmluZyh2YWx1ZSkpICsgc3RyaW5nc1tpbmRleCArIDFdO1xuXHR9XG5cblx0cmV0dXJuIG91dHB1dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh0bWxVbmVzY2FwZShzdHJpbmdzLCAuLi52YWx1ZXMpIHtcblx0aWYgKHR5cGVvZiBzdHJpbmdzID09PSAnc3RyaW5nJykge1xuXHRcdHJldHVybiBfaHRtbFVuZXNjYXBlKHN0cmluZ3MpO1xuXHR9XG5cblx0bGV0IG91dHB1dCA9IHN0cmluZ3NbMF07XG5cdGZvciAoY29uc3QgW2luZGV4LCB2YWx1ZV0gb2YgdmFsdWVzLmVudHJpZXMoKSkge1xuXHRcdG91dHB1dCA9IG91dHB1dCArIF9odG1sVW5lc2NhcGUoU3RyaW5nKHZhbHVlKSkgKyBzdHJpbmdzW2luZGV4ICsgMV07XG5cdH1cblxuXHRyZXR1cm4gb3V0cHV0O1xufVxuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXG5cblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxuXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXG5SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxuTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1Jcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sICovXG5cbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xuICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XG4gICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XG4gICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYiwgcCkpIGRbcF0gPSBiW3BdOyB9O1xuICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xuICBpZiAodHlwZW9mIGIgIT09IFwiZnVuY3Rpb25cIiAmJiBiICE9PSBudWxsKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNsYXNzIGV4dGVuZHMgdmFsdWUgXCIgKyBTdHJpbmcoYikgKyBcIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsXCIpO1xuICBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cbiAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xufVxuXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XG4gIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XG4gICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xuICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XG4gICAgICB9XG4gICAgICByZXR1cm4gdDtcbiAgfVxuICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XG4gIHZhciB0ID0ge307XG4gIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgdFtwXSA9IHNbcF07XG4gIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgfVxuICByZXR1cm4gdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XG4gIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gX19lc0RlY29yYXRlKGN0b3IsIGRlc2NyaXB0b3JJbiwgZGVjb3JhdG9ycywgY29udGV4dEluLCBpbml0aWFsaXplcnMsIGV4dHJhSW5pdGlhbGl6ZXJzKSB7XG4gIGZ1bmN0aW9uIGFjY2VwdChmKSB7IGlmIChmICE9PSB2b2lkIDAgJiYgdHlwZW9mIGYgIT09IFwiZnVuY3Rpb25cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkZ1bmN0aW9uIGV4cGVjdGVkXCIpOyByZXR1cm4gZjsgfVxuICB2YXIga2luZCA9IGNvbnRleHRJbi5raW5kLCBrZXkgPSBraW5kID09PSBcImdldHRlclwiID8gXCJnZXRcIiA6IGtpbmQgPT09IFwic2V0dGVyXCIgPyBcInNldFwiIDogXCJ2YWx1ZVwiO1xuICB2YXIgdGFyZ2V0ID0gIWRlc2NyaXB0b3JJbiAmJiBjdG9yID8gY29udGV4dEluW1wic3RhdGljXCJdID8gY3RvciA6IGN0b3IucHJvdG90eXBlIDogbnVsbDtcbiAgdmFyIGRlc2NyaXB0b3IgPSBkZXNjcmlwdG9ySW4gfHwgKHRhcmdldCA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSkgOiB7fSk7XG4gIHZhciBfLCBkb25lID0gZmFsc2U7XG4gIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICB2YXIgY29udGV4dCA9IHt9O1xuICAgICAgZm9yICh2YXIgcCBpbiBjb250ZXh0SW4pIGNvbnRleHRbcF0gPSBwID09PSBcImFjY2Vzc1wiID8ge30gOiBjb250ZXh0SW5bcF07XG4gICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbi5hY2Nlc3MpIGNvbnRleHQuYWNjZXNzW3BdID0gY29udGV4dEluLmFjY2Vzc1twXTtcbiAgICAgIGNvbnRleHQuYWRkSW5pdGlhbGl6ZXIgPSBmdW5jdGlvbiAoZikgeyBpZiAoZG9uZSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZFwiKTsgZXh0cmFJbml0aWFsaXplcnMucHVzaChhY2NlcHQoZiB8fCBudWxsKSk7IH07XG4gICAgICB2YXIgcmVzdWx0ID0gKDAsIGRlY29yYXRvcnNbaV0pKGtpbmQgPT09IFwiYWNjZXNzb3JcIiA/IHsgZ2V0OiBkZXNjcmlwdG9yLmdldCwgc2V0OiBkZXNjcmlwdG9yLnNldCB9IDogZGVzY3JpcHRvcltrZXldLCBjb250ZXh0KTtcbiAgICAgIGlmIChraW5kID09PSBcImFjY2Vzc29yXCIpIHtcbiAgICAgICAgICBpZiAocmVzdWx0ID09PSB2b2lkIDApIGNvbnRpbnVlO1xuICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwgfHwgdHlwZW9mIHJlc3VsdCAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk9iamVjdCBleHBlY3RlZFwiKTtcbiAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuZ2V0KSkgZGVzY3JpcHRvci5nZXQgPSBfO1xuICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5zZXQpKSBkZXNjcmlwdG9yLnNldCA9IF87XG4gICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmluaXQpKSBpbml0aWFsaXplcnMudW5zaGlmdChfKTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKF8gPSBhY2NlcHQocmVzdWx0KSkge1xuICAgICAgICAgIGlmIChraW5kID09PSBcImZpZWxkXCIpIGluaXRpYWxpemVycy51bnNoaWZ0KF8pO1xuICAgICAgICAgIGVsc2UgZGVzY3JpcHRvcltrZXldID0gXztcbiAgICAgIH1cbiAgfVxuICBpZiAodGFyZ2V0KSBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSwgZGVzY3JpcHRvcik7XG4gIGRvbmUgPSB0cnVlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXNBcmcsIGluaXRpYWxpemVycywgdmFsdWUpIHtcbiAgdmFyIHVzZVZhbHVlID0gYXJndW1lbnRzLmxlbmd0aCA+IDI7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgaW5pdGlhbGl6ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YWx1ZSA9IHVzZVZhbHVlID8gaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZywgdmFsdWUpIDogaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZyk7XG4gIH1cbiAgcmV0dXJuIHVzZVZhbHVlID8gdmFsdWUgOiB2b2lkIDA7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gX19wcm9wS2V5KHgpIHtcbiAgcmV0dXJuIHR5cGVvZiB4ID09PSBcInN5bWJvbFwiID8geCA6IFwiXCIuY29uY2F0KHgpO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9fc2V0RnVuY3Rpb25OYW1lKGYsIG5hbWUsIHByZWZpeCkge1xuICBpZiAodHlwZW9mIG5hbWUgPT09IFwic3ltYm9sXCIpIG5hbWUgPSBuYW1lLmRlc2NyaXB0aW9uID8gXCJbXCIuY29uY2F0KG5hbWUuZGVzY3JpcHRpb24sIFwiXVwiKSA6IFwiXCI7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwgXCJuYW1lXCIsIHsgY29uZmlndXJhYmxlOiB0cnVlLCB2YWx1ZTogcHJlZml4ID8gXCJcIi5jb25jYXQocHJlZml4LCBcIiBcIiwgbmFtZSkgOiBuYW1lIH0pO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcbiAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcbiAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcbiAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XG4gIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxuICBmdW5jdGlvbiBzdGVwKG9wKSB7XG4gICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XG4gICAgICB3aGlsZSAoZyAmJiAoZyA9IDAsIG9wWzBdICYmIChfID0gMCkpLCBfKSB0cnkge1xuICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcbiAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XG4gICAgICAgICAgc3dpdGNoIChvcFswXSkge1xuICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcbiAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xuICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cbiAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XG4gICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cbiAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cbiAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xuICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxuICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XG4gIH1cbn1cblxuZXhwb3J0IHZhciBfX2NyZWF0ZUJpbmRpbmcgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XG4gIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihtLCBrKTtcbiAgaWYgKCFkZXNjIHx8IChcImdldFwiIGluIGRlc2MgPyAhbS5fX2VzTW9kdWxlIDogZGVzYy53cml0YWJsZSB8fCBkZXNjLmNvbmZpZ3VyYWJsZSkpIHtcbiAgICAgIGRlc2MgPSB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBtW2tdOyB9IH07XG4gIH1cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIGsyLCBkZXNjKTtcbn0pIDogKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XG4gIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gIG9bazJdID0gbVtrXTtcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gX19leHBvcnRTdGFyKG0sIG8pIHtcbiAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLCBwKSkgX19jcmVhdGVCaW5kaW5nKG8sIG0sIHApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xuICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xuICBpZiAobSkgcmV0dXJuIG0uY2FsbChvKTtcbiAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xuICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XG4gICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xuICAgICAgfVxuICB9O1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xuICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XG4gIGlmICghbSkgcmV0dXJuIG87XG4gIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xuICB0cnkge1xuICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XG4gIH1cbiAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XG4gIGZpbmFsbHkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcbiAgICAgIH1cbiAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxuICB9XG4gIHJldHVybiBhcjtcbn1cblxuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XG4gIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxuICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xuICByZXR1cm4gYXI7XG59XG5cbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xuICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcbiAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxuICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXG4gICAgICAgICAgcltrXSA9IGFbal07XG4gIHJldHVybiByO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheSh0bywgZnJvbSwgcGFjaykge1xuICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKGFyIHx8ICEoaSBpbiBmcm9tKSkge1xuICAgICAgICAgIGlmICghYXIpIGFyID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSwgMCwgaSk7XG4gICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xuICAgICAgfVxuICB9XG4gIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XG4gIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcbiAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcbiAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcbiAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xuICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cbiAgZnVuY3Rpb24gcmVzdW1lKG4sIHYpIHsgdHJ5IHsgc3RlcChnW25dKHYpKTsgfSBjYXRjaCAoZSkgeyBzZXR0bGUocVswXVszXSwgZSk7IH0gfVxuICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cbiAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxuICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XG4gIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xuICB2YXIgaSwgcDtcbiAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcbiAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogZmFsc2UgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNWYWx1ZXMobykge1xuICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xuICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xuICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpLCBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaSk7XG4gIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cbiAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcbiAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cbiAgcmV0dXJuIGNvb2tlZDtcbn07XG5cbnZhciBfX3NldE1vZHVsZURlZmF1bHQgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIHYpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIFwiZGVmYXVsdFwiLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2IH0pO1xufSkgOiBmdW5jdGlvbihvLCB2KSB7XG4gIG9bXCJkZWZhdWx0XCJdID0gdjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XG4gIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XG4gIHZhciByZXN1bHQgPSB7fTtcbiAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKGsgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSBfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LCBtb2QsIGspO1xuICBfX3NldE1vZHVsZURlZmF1bHQocmVzdWx0LCBtb2QpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xuICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHtcbiAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgZ2V0dGVyXCIpO1xuICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCByZWFkIHByaXZhdGUgbWVtYmVyIGZyb20gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcbiAgcmV0dXJuIGtpbmQgPT09IFwibVwiID8gZiA6IGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRTZXQocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikge1xuICBpZiAoa2luZCA9PT0gXCJtXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGVcIik7XG4gIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIHNldHRlclwiKTtcbiAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcbiAgcmV0dXJuIChraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4oc3RhdGUsIHJlY2VpdmVyKSB7XG4gIGlmIChyZWNlaXZlciA9PT0gbnVsbCB8fCAodHlwZW9mIHJlY2VpdmVyICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiByZWNlaXZlciAhPT0gXCJmdW5jdGlvblwiKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0XCIpO1xuICByZXR1cm4gdHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciA9PT0gc3RhdGUgOiBzdGF0ZS5oYXMocmVjZWl2ZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hZGREaXNwb3NhYmxlUmVzb3VyY2UoZW52LCB2YWx1ZSwgYXN5bmMpIHtcbiAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB2b2lkIDApIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiB2YWx1ZSAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiT2JqZWN0IGV4cGVjdGVkLlwiKTtcbiAgICB2YXIgZGlzcG9zZTtcbiAgICBpZiAoYXN5bmMpIHtcbiAgICAgICAgaWYgKCFTeW1ib2wuYXN5bmNEaXNwb3NlKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jRGlzcG9zZSBpcyBub3QgZGVmaW5lZC5cIik7XG4gICAgICAgIGRpc3Bvc2UgPSB2YWx1ZVtTeW1ib2wuYXN5bmNEaXNwb3NlXTtcbiAgICB9XG4gICAgaWYgKGRpc3Bvc2UgPT09IHZvaWQgMCkge1xuICAgICAgICBpZiAoIVN5bWJvbC5kaXNwb3NlKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmRpc3Bvc2UgaXMgbm90IGRlZmluZWQuXCIpO1xuICAgICAgICBkaXNwb3NlID0gdmFsdWVbU3ltYm9sLmRpc3Bvc2VdO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGRpc3Bvc2UgIT09IFwiZnVuY3Rpb25cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk9iamVjdCBub3QgZGlzcG9zYWJsZS5cIik7XG4gICAgZW52LnN0YWNrLnB1c2goeyB2YWx1ZTogdmFsdWUsIGRpc3Bvc2U6IGRpc3Bvc2UsIGFzeW5jOiBhc3luYyB9KTtcbiAgfVxuICBlbHNlIGlmIChhc3luYykge1xuICAgIGVudi5zdGFjay5wdXNoKHsgYXN5bmM6IHRydWUgfSk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG52YXIgX1N1cHByZXNzZWRFcnJvciA9IHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09IFwiZnVuY3Rpb25cIiA/IFN1cHByZXNzZWRFcnJvciA6IGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCwgbWVzc2FnZSkge1xuICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2Rpc3Bvc2VSZXNvdXJjZXMoZW52KSB7XG4gIGZ1bmN0aW9uIGZhaWwoZSkge1xuICAgIGVudi5lcnJvciA9IGVudi5oYXNFcnJvciA/IG5ldyBfU3VwcHJlc3NlZEVycm9yKGUsIGVudi5lcnJvciwgXCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuXCIpIDogZTtcbiAgICBlbnYuaGFzRXJyb3IgPSB0cnVlO1xuICB9XG4gIGZ1bmN0aW9uIG5leHQoKSB7XG4gICAgd2hpbGUgKGVudi5zdGFjay5sZW5ndGgpIHtcbiAgICAgIHZhciByZWMgPSBlbnYuc3RhY2sucG9wKCk7XG4gICAgICB0cnkge1xuICAgICAgICB2YXIgcmVzdWx0ID0gcmVjLmRpc3Bvc2UgJiYgcmVjLmRpc3Bvc2UuY2FsbChyZWMudmFsdWUpO1xuICAgICAgICBpZiAocmVjLmFzeW5jKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCkudGhlbihuZXh0LCBmdW5jdGlvbihlKSB7IGZhaWwoZSk7IHJldHVybiBuZXh0KCk7IH0pO1xuICAgICAgfVxuICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICBmYWlsKGUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZW52Lmhhc0Vycm9yKSB0aHJvdyBlbnYuZXJyb3I7XG4gIH1cbiAgcmV0dXJuIG5leHQoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBfX2V4dGVuZHMsXG4gIF9fYXNzaWduLFxuICBfX3Jlc3QsXG4gIF9fZGVjb3JhdGUsXG4gIF9fcGFyYW0sXG4gIF9fbWV0YWRhdGEsXG4gIF9fYXdhaXRlcixcbiAgX19nZW5lcmF0b3IsXG4gIF9fY3JlYXRlQmluZGluZyxcbiAgX19leHBvcnRTdGFyLFxuICBfX3ZhbHVlcyxcbiAgX19yZWFkLFxuICBfX3NwcmVhZCxcbiAgX19zcHJlYWRBcnJheXMsXG4gIF9fc3ByZWFkQXJyYXksXG4gIF9fYXdhaXQsXG4gIF9fYXN5bmNHZW5lcmF0b3IsXG4gIF9fYXN5bmNEZWxlZ2F0b3IsXG4gIF9fYXN5bmNWYWx1ZXMsXG4gIF9fbWFrZVRlbXBsYXRlT2JqZWN0LFxuICBfX2ltcG9ydFN0YXIsXG4gIF9faW1wb3J0RGVmYXVsdCxcbiAgX19jbGFzc1ByaXZhdGVGaWVsZEdldCxcbiAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCxcbiAgX19jbGFzc1ByaXZhdGVGaWVsZEluLFxuICBfX2FkZERpc3Bvc2FibGVSZXNvdXJjZSxcbiAgX19kaXNwb3NlUmVzb3VyY2VzLFxufTtcbiIsImltcG9ydCB7IGxvd2VyQ2FzZSB9IGZyb20gXCJsb3dlci1jYXNlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gIHNwbGl0UmVnZXhwPzogUmVnRXhwIHwgUmVnRXhwW107XG4gIHN0cmlwUmVnZXhwPzogUmVnRXhwIHwgUmVnRXhwW107XG4gIGRlbGltaXRlcj86IHN0cmluZztcbiAgdHJhbnNmb3JtPzogKHBhcnQ6IHN0cmluZywgaW5kZXg6IG51bWJlciwgcGFydHM6IHN0cmluZ1tdKSA9PiBzdHJpbmc7XG59XG5cbi8vIFN1cHBvcnQgY2FtZWwgY2FzZSAoXCJjYW1lbENhc2VcIiAtPiBcImNhbWVsIENhc2VcIiBhbmQgXCJDQU1FTENhc2VcIiAtPiBcIkNBTUVMIENhc2VcIikuXG5jb25zdCBERUZBVUxUX1NQTElUX1JFR0VYUCA9IFsvKFthLXowLTldKShbQS1aXSkvZywgLyhbQS1aXSkoW0EtWl1bYS16XSkvZ107XG5cbi8vIFJlbW92ZSBhbGwgbm9uLXdvcmQgY2hhcmFjdGVycy5cbmNvbnN0IERFRkFVTFRfU1RSSVBfUkVHRVhQID0gL1teQS1aMC05XSsvZ2k7XG5cbi8qKlxuICogTm9ybWFsaXplIHRoZSBzdHJpbmcgaW50byBzb21ldGhpbmcgb3RoZXIgbGlicmFyaWVzIGNhbiBtYW5pcHVsYXRlIGVhc2llci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vQ2FzZShpbnB1dDogc3RyaW5nLCBvcHRpb25zOiBPcHRpb25zID0ge30pIHtcbiAgY29uc3Qge1xuICAgIHNwbGl0UmVnZXhwID0gREVGQVVMVF9TUExJVF9SRUdFWFAsXG4gICAgc3RyaXBSZWdleHAgPSBERUZBVUxUX1NUUklQX1JFR0VYUCxcbiAgICB0cmFuc2Zvcm0gPSBsb3dlckNhc2UsXG4gICAgZGVsaW1pdGVyID0gXCIgXCIsXG4gIH0gPSBvcHRpb25zO1xuXG4gIGxldCByZXN1bHQgPSByZXBsYWNlKFxuICAgIHJlcGxhY2UoaW5wdXQsIHNwbGl0UmVnZXhwLCBcIiQxXFwwJDJcIiksXG4gICAgc3RyaXBSZWdleHAsXG4gICAgXCJcXDBcIlxuICApO1xuICBsZXQgc3RhcnQgPSAwO1xuICBsZXQgZW5kID0gcmVzdWx0Lmxlbmd0aDtcblxuICAvLyBUcmltIHRoZSBkZWxpbWl0ZXIgZnJvbSBhcm91bmQgdGhlIG91dHB1dCBzdHJpbmcuXG4gIHdoaWxlIChyZXN1bHQuY2hhckF0KHN0YXJ0KSA9PT0gXCJcXDBcIikgc3RhcnQrKztcbiAgd2hpbGUgKHJlc3VsdC5jaGFyQXQoZW5kIC0gMSkgPT09IFwiXFwwXCIpIGVuZC0tO1xuXG4gIC8vIFRyYW5zZm9ybSBlYWNoIHRva2VuIGluZGVwZW5kZW50bHkuXG4gIHJldHVybiByZXN1bHQuc2xpY2Uoc3RhcnQsIGVuZCkuc3BsaXQoXCJcXDBcIikubWFwKHRyYW5zZm9ybSkuam9pbihkZWxpbWl0ZXIpO1xufVxuXG4vKipcbiAqIFJlcGxhY2UgYHJlYCBpbiB0aGUgaW5wdXQgc3RyaW5nIHdpdGggdGhlIHJlcGxhY2VtZW50IHZhbHVlLlxuICovXG5mdW5jdGlvbiByZXBsYWNlKGlucHV0OiBzdHJpbmcsIHJlOiBSZWdFeHAgfCBSZWdFeHBbXSwgdmFsdWU6IHN0cmluZykge1xuICBpZiAocmUgaW5zdGFuY2VvZiBSZWdFeHApIHJldHVybiBpbnB1dC5yZXBsYWNlKHJlLCB2YWx1ZSk7XG4gIHJldHVybiByZS5yZWR1Y2UoKGlucHV0LCByZSkgPT4gaW5wdXQucmVwbGFjZShyZSwgdmFsdWUpLCBpbnB1dCk7XG59XG4iLCIvKipcbiAqIExvY2FsZSBjaGFyYWN0ZXIgbWFwcGluZyBydWxlcy5cbiAqL1xuaW50ZXJmYWNlIExvY2FsZSB7XG4gIHJlZ2V4cDogUmVnRXhwO1xuICBtYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8qKlxuICogU291cmNlOiBmdHA6Ly9mdHAudW5pY29kZS5vcmcvUHVibGljL1VDRC9sYXRlc3QvdWNkL1NwZWNpYWxDYXNpbmcudHh0XG4gKi9cbmNvbnN0IFNVUFBPUlRFRF9MT0NBTEU6IFJlY29yZDxzdHJpbmcsIExvY2FsZT4gPSB7XG4gIHRyOiB7XG4gICAgcmVnZXhwOiAvXFx1MDEzMHxcXHUwMDQ5fFxcdTAwNDlcXHUwMzA3L2csXG4gICAgbWFwOiB7XG4gICAgICDEsDogXCJcXHUwMDY5XCIsXG4gICAgICBJOiBcIlxcdTAxMzFcIixcbiAgICAgIEnMhzogXCJcXHUwMDY5XCIsXG4gICAgfSxcbiAgfSxcbiAgYXo6IHtcbiAgICByZWdleHA6IC9cXHUwMTMwL2csXG4gICAgbWFwOiB7XG4gICAgICDEsDogXCJcXHUwMDY5XCIsXG4gICAgICBJOiBcIlxcdTAxMzFcIixcbiAgICAgIEnMhzogXCJcXHUwMDY5XCIsXG4gICAgfSxcbiAgfSxcbiAgbHQ6IHtcbiAgICByZWdleHA6IC9cXHUwMDQ5fFxcdTAwNEF8XFx1MDEyRXxcXHUwMENDfFxcdTAwQ0R8XFx1MDEyOC9nLFxuICAgIG1hcDoge1xuICAgICAgSTogXCJcXHUwMDY5XFx1MDMwN1wiLFxuICAgICAgSjogXCJcXHUwMDZBXFx1MDMwN1wiLFxuICAgICAgxK46IFwiXFx1MDEyRlxcdTAzMDdcIixcbiAgICAgIMOMOiBcIlxcdTAwNjlcXHUwMzA3XFx1MDMwMFwiLFxuICAgICAgw406IFwiXFx1MDA2OVxcdTAzMDdcXHUwMzAxXCIsXG4gICAgICDEqDogXCJcXHUwMDY5XFx1MDMwN1xcdTAzMDNcIixcbiAgICB9LFxuICB9LFxufTtcblxuLyoqXG4gKiBMb2NhbGl6ZWQgbG93ZXIgY2FzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvY2FsZUxvd2VyQ2FzZShzdHI6IHN0cmluZywgbG9jYWxlOiBzdHJpbmcpIHtcbiAgY29uc3QgbGFuZyA9IFNVUFBPUlRFRF9MT0NBTEVbbG9jYWxlLnRvTG93ZXJDYXNlKCldO1xuICBpZiAobGFuZykgcmV0dXJuIGxvd2VyQ2FzZShzdHIucmVwbGFjZShsYW5nLnJlZ2V4cCwgKG0pID0+IGxhbmcubWFwW21dKSk7XG4gIHJldHVybiBsb3dlckNhc2Uoc3RyKTtcbn1cblxuLyoqXG4gKiBMb3dlciBjYXNlIGFzIGEgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb3dlckNhc2Uoc3RyOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHN0ci50b0xvd2VyQ2FzZSgpO1xufVxuIiwiaW1wb3J0IHsgbm9DYXNlLCBPcHRpb25zIH0gZnJvbSBcIm5vLWNhc2VcIjtcblxuZXhwb3J0IHsgT3B0aW9ucyB9O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFzY2FsQ2FzZVRyYW5zZm9ybShpbnB1dDogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XG4gIGNvbnN0IGZpcnN0Q2hhciA9IGlucHV0LmNoYXJBdCgwKTtcbiAgY29uc3QgbG93ZXJDaGFycyA9IGlucHV0LnN1YnN0cigxKS50b0xvd2VyQ2FzZSgpO1xuICBpZiAoaW5kZXggPiAwICYmIGZpcnN0Q2hhciA+PSBcIjBcIiAmJiBmaXJzdENoYXIgPD0gXCI5XCIpIHtcbiAgICByZXR1cm4gYF8ke2ZpcnN0Q2hhcn0ke2xvd2VyQ2hhcnN9YDtcbiAgfVxuICByZXR1cm4gYCR7Zmlyc3RDaGFyLnRvVXBwZXJDYXNlKCl9JHtsb3dlckNoYXJzfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXNjYWxDYXNlVHJhbnNmb3JtTWVyZ2UoaW5wdXQ6IHN0cmluZykge1xuICByZXR1cm4gaW5wdXQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBpbnB1dC5zbGljZSgxKS50b0xvd2VyQ2FzZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFzY2FsQ2FzZShpbnB1dDogc3RyaW5nLCBvcHRpb25zOiBPcHRpb25zID0ge30pIHtcbiAgcmV0dXJuIG5vQ2FzZShpbnB1dCwge1xuICAgIGRlbGltaXRlcjogXCJcIixcbiAgICB0cmFuc2Zvcm06IHBhc2NhbENhc2VUcmFuc2Zvcm0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG4iLCJpbXBvcnQge1xuICBwYXNjYWxDYXNlLFxuICBwYXNjYWxDYXNlVHJhbnNmb3JtLFxuICBwYXNjYWxDYXNlVHJhbnNmb3JtTWVyZ2UsXG4gIE9wdGlvbnMsXG59IGZyb20gXCJwYXNjYWwtY2FzZVwiO1xuXG5leHBvcnQgeyBPcHRpb25zIH07XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW1lbENhc2VUcmFuc2Zvcm0oaW5wdXQ6IHN0cmluZywgaW5kZXg6IG51bWJlcikge1xuICBpZiAoaW5kZXggPT09IDApIHJldHVybiBpbnB1dC50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gcGFzY2FsQ2FzZVRyYW5zZm9ybShpbnB1dCwgaW5kZXgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FtZWxDYXNlVHJhbnNmb3JtTWVyZ2UoaW5wdXQ6IHN0cmluZywgaW5kZXg6IG51bWJlcikge1xuICBpZiAoaW5kZXggPT09IDApIHJldHVybiBpbnB1dC50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gcGFzY2FsQ2FzZVRyYW5zZm9ybU1lcmdlKGlucHV0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbWVsQ2FzZShpbnB1dDogc3RyaW5nLCBvcHRpb25zOiBPcHRpb25zID0ge30pIHtcbiAgcmV0dXJuIHBhc2NhbENhc2UoaW5wdXQsIHtcbiAgICB0cmFuc2Zvcm06IGNhbWVsQ2FzZVRyYW5zZm9ybSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Exception } from './chunk-HODDA5D5.js';
|
|
2
|
+
import { init_esm_shims, __name } from './chunk-5NK7E2HA.js';
|
|
3
|
+
|
|
4
|
+
// src/exceptions/validation/InvalidMethodAcceptException.ts
|
|
5
|
+
init_esm_shims();
|
|
6
|
+
var _InvalidMethodAcceptException = class _InvalidMethodAcceptException extends Exception {
|
|
7
|
+
errno = "E_INVALID_METHOD_ACCEPT";
|
|
8
|
+
};
|
|
9
|
+
__name(_InvalidMethodAcceptException, "InvalidMethodAcceptException");
|
|
10
|
+
var InvalidMethodAcceptException = _InvalidMethodAcceptException;
|
|
11
|
+
|
|
12
|
+
export { InvalidMethodAcceptException };
|
|
13
|
+
//# sourceMappingURL=out.js.map
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGNlcHRpb25zL3ZhbGlkYXRpb24vSW52YWxpZE1ldGhvZEFjY2VwdEV4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUVPLElBQU0sZ0NBQU4sTUFBTSxzQ0FBcUMsVUFBVTtBQUFBLEVBQ2pELFFBQXlCO0FBQ3BDO0FBRjREO0FBQXJELElBQU0sK0JBQU4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0V4Y2VwdGlvbn0gZnJvbSAnLi4vLi4vbGliL2Jhc2UvYWJzdHJhY3RzL0V4Y2VwdGlvbi5qcydcblxuZXhwb3J0IGNsYXNzIEludmFsaWRNZXRob2RBY2NlcHRFeGNlcHRpb24gZXh0ZW5kcyBFeGNlcHRpb24ge1xuICAgIHB1YmxpYyBlcnJubzogbnVtYmVyIHwgc3RyaW5nID0gJ0VfSU5WQUxJRF9NRVRIT0RfQUNDRVBUJ1xufVxuIl19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkX4AIZSIY_cjs = require('./chunk-X4AIZSIY.cjs');
|
|
4
|
+
var chunkHXWC4YN6_cjs = require('./chunk-HXWC4YN6.cjs');
|
|
5
|
+
var chunkGGY7LCMQ_cjs = require('./chunk-GGY7LCMQ.cjs');
|
|
6
|
+
|
|
7
|
+
// src/tests/controllers/Test2Controller.ts
|
|
8
|
+
chunkGGY7LCMQ_cjs.init_cjs_shims();
|
|
9
|
+
var _Test2Controller = class _Test2Controller extends chunkHXWC4YN6_cjs.Controller {
|
|
10
|
+
async testHello() {
|
|
11
|
+
return `oh! this is test hello from ${this.className}`;
|
|
12
|
+
}
|
|
13
|
+
async beforeAction(subject, actionName) {
|
|
14
|
+
console.log(actionName, subject);
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
async afterAction(subject, actionName, actionResult) {
|
|
18
|
+
console.log(subject, actionName, actionResult);
|
|
19
|
+
return super.afterAction(subject, actionName, actionResult);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
chunkGGY7LCMQ_cjs.__name(_Test2Controller, "Test2Controller");
|
|
23
|
+
chunkGGY7LCMQ_cjs.__decorateClass([
|
|
24
|
+
chunkX4AIZSIY_cjs.Action({ test2: true })
|
|
25
|
+
], _Test2Controller.prototype, "testHello", 1);
|
|
26
|
+
var Test2Controller = _Test2Controller;
|
|
27
|
+
|
|
28
|
+
exports.Test2Controller = Test2Controller;
|
|
29
|
+
//# sourceMappingURL=out.js.map
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXN0cy9jb250cm9sbGVycy9UZXN0MkNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBO0FBR08sSUFBTSxtQkFBTixNQUFNLHlCQUF3QixXQUFXO0FBQUEsRUFHNUMsTUFBYSxZQUFZO0FBQ3JCLFdBQU8sK0JBQStCLEtBQUssU0FBUztBQUFBLEVBQ3hEO0FBQUEsRUFFQSxNQUFNLGFBQWEsU0FBOEIsWUFBd0Q7QUFDckcsWUFBUSxJQUFJLFlBQVksT0FBTztBQUMvQixXQUFPO0FBQUEsRUFDWDtBQUFBLEVBRUEsTUFBTSxZQUFZLFNBQThCLFlBQXNDLGNBQWlDO0FBQ25ILFlBQVEsSUFBSSxTQUFTLFlBQVksWUFBWTtBQUM3QyxXQUFPLE1BQU0sWUFBWSxTQUFTLFlBQVksWUFBWTtBQUFBLEVBQzlEO0FBQ0o7QUFoQmdEO0FBRy9CO0FBQUEsRUFEWixPQUFPLEVBQUMsT0FBTyxLQUFJLENBQUM7QUFBQSxHQUZaLGlCQUdJO0FBSFYsSUFBTSxrQkFBTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29udHJvbGxlcn0gZnJvbSAnLi4vLi4vbGliL2Jhc2UvQ29udHJvbGxlci5qcydcbmltcG9ydCB7QWN0aW9ufSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzL0NvbnRyb2xsZXJEZWNvcmF0b3JzLmpzJ1xuXG5leHBvcnQgY2xhc3MgVGVzdDJDb250cm9sbGVyIGV4dGVuZHMgQ29udHJvbGxlciB7XG5cbiAgICBAQWN0aW9uKHt0ZXN0MjogdHJ1ZX0pXG4gICAgcHVibGljIGFzeW5jIHRlc3RIZWxsbygpIHtcbiAgICAgICAgcmV0dXJuIGBvaCEgdGhpcyBpcyB0ZXN0IGhlbGxvIGZyb20gJHt0aGlzLmNsYXNzTmFtZX1gXG4gICAgfVxuXG4gICAgYXN5bmMgYmVmb3JlQWN0aW9uKHN1YmplY3Q6IFJlY29yZDxzdHJpbmcsIGFueT4sIGFjdGlvbk5hbWU6IHN0cmluZyB8IHN5bWJvbCB8IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBjb25zb2xlLmxvZyhhY3Rpb25OYW1lLCBzdWJqZWN0KVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGFzeW5jIGFmdGVyQWN0aW9uKHN1YmplY3Q6IFJlY29yZDxzdHJpbmcsIGFueT4sIGFjdGlvbk5hbWU6IHN0cmluZyB8IHN5bWJvbCB8IG51bWJlciwgYWN0aW9uUmVzdWx0OiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhzdWJqZWN0LCBhY3Rpb25OYW1lLCBhY3Rpb25SZXN1bHQpXG4gICAgICAgIHJldHVybiBzdXBlci5hZnRlckFjdGlvbihzdWJqZWN0LCBhY3Rpb25OYW1lLCBhY3Rpb25SZXN1bHQpXG4gICAgfVxufVxuIl19
|