sunuid-sdk 1.0.0
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/LICENSE +21 -0
- package/README.md +301 -0
- package/dist/sunuid-sdk.esm.js +643 -0
- package/dist/sunuid-sdk.esm.js.map +1 -0
- package/dist/sunuid-sdk.js +648 -0
- package/dist/sunuid-sdk.js.map +1 -0
- package/dist/sunuid-sdk.min.js +11 -0
- package/dist/sunuid-sdk.min.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sunuid-sdk.esm.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: 'https://sunuid.fayma.sn/api',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'auth',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'kyc',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n kycType: options.kycType || 'full',\n requiredFields: options.requiredFields || ['identity', 'address', 'phone'],\n apiUrl: this.config.apiUrl,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(qrId) {\n try {\n const response = await this.makeRequest('/auth/qr-status', {\n qr_id: qrId\n });\n\n return response.data;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher le QR code dans le conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n const theme = options.theme || this.config.theme;\n const language = options.language || this.config.language;\n\n container.innerHTML = `\n <div class=\"sunuid-qr-container sunuid-theme-${theme}\">\n <div class=\"sunuid-qr-header\">\n <h3 class=\"sunuid-qr-title\">\n ${type === 'auth' ? '🔐 Authentification' : '📋 Vérification KYC'}\n </h3>\n <p class=\"sunuid-qr-subtitle\">\n ${type === 'auth' ? \n 'Scannez ce QR code avec l\\'application SunuID pour vous connecter' :\n 'Scannez ce QR code avec l\\'application SunuID pour compléter votre profil'\n }\n </p>\n </div>\n <div class=\"sunuid-qr-code\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" class=\"sunuid-qr-image\">\n <div class=\"sunuid-qr-overlay\">\n <div class=\"sunuid-qr-spinner\"></div>\n </div>\n </div>\n <div class=\"sunuid-qr-footer\">\n <p class=\"sunuid-qr-timer\">\n <i class=\"fa-solid fa-clock\"></i>\n <span id=\"sunuid-timer\">30</span> secondes\n </p>\n <button class=\"sunuid-qr-refresh\" onclick=\"sunuidInstance.refreshQR('${containerId}', '${type}', ${JSON.stringify(options)})\">\n <i class=\"fa-solid fa-sync-alt\"></i>\n Actualiser\n </button>\n </div>\n </div>\n `;\n\n this.qrCode = {\n containerId,\n type,\n options,\n qrUrl\n };\n\n this.startTimer();\n }\n\n /**\n * Actualiser le QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n if (type === 'auth') {\n await this.generateAuthQR(containerId, options);\n } else {\n await this.generateKYCQR(containerId, options);\n }\n } catch (error) {\n this.handleError(error);\n }\n }\n\n /**\n * Démarrer le timer de rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n const url = `${this.config.apiUrl}${endpoint}`;\n \n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-SunuID-Client-ID': this.config.clientId,\n 'X-SunuID-Secret-ID': this.config.secretId\n },\n body: JSON.stringify(data)\n });\n\n if (!response.ok) {\n throw new Error(`Erreur HTTP: ${response.status}`);\n }\n\n return await response.json();\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","DEFAULT_CONFIG","apiUrl","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","_objectSpread","qrCode","refreshTimer","isInitialized","init","_createClass","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","testData","qrData","qrUrl","_args","_t","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qr_code_url","startAutoRefresh","a","message","warn","timestamp","Date","now","sessionId","Math","random","toString","substr","JSON","stringify","concat","encodeURIComponent","qr_id","expires_at","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","kycType","requiredFields","generateKYCQR","_x2","_checkQRStatus","_callee3","qrId","_t3","_context3","handleError","checkQRStatus","_x3","container","document","getElementById","innerHTML","startTimer","_refreshQR","_callee4","_args4","_t4","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t5","_context5","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","url","_context6","fetch","method","headers","body","ok","status","json","_x6","_x7","error","destroy","sunuidInstance","initSunuID"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,UAASA,MAAM,EAAE;;AAGd;AACA,EAAA,IAAMC,cAAc,GAAG;AACnBC,IAAAA,MAAM,EAAE,6BAA6B;AACrCC,IAAAA,QAAQ,EAAE,IAAI;AACdC,IAAAA,QAAQ,EAAE,IAAI;AACdC,IAAAA,KAAK,EAAE,OAAO;AACdC,IAAAA,QAAQ,EAAE,IAAI;AACdC,IAAAA,WAAW,EAAE,IAAI;AACjBC,IAAAA,eAAe,EAAE,KAAK;AAAE;AACxBC,IAAAA,SAAS,EAAE,IAAI;AACfC,IAAAA,OAAO,EAAE,IAAI;AACbC,IAAAA,SAAS,EAAE,IAAA;GACd,CAAA;;AAED;AACJ;AACA;AAFI,EAAA,IAGMC,MAAM,gBAAA,YAAA;AACR,IAAA,SAAAA,SAAyB;AAAA,MAAA,IAAbC,MAAM,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAAAG,MAAAA,eAAA,OAAAL,MAAA,CAAA,CAAA;MACnB,IAAI,CAACC,MAAM,GAAAK,cAAA,CAAAA,cAAA,CAAQjB,EAAAA,EAAAA,cAAc,CAAKY,EAAAA,MAAM,CAAE,CAAA;MAC9C,IAAI,CAACM,MAAM,GAAG,IAAI,CAAA;MAClB,IAAI,CAACC,YAAY,GAAG,IAAI,CAAA;MACxB,IAAI,CAACC,aAAa,GAAG,KAAK,CAAA;MAE1B,IAAI,CAACC,IAAI,EAAE,CAAA;AACf,KAAA;;AAEA;AACR;AACA;IAFQ,OAAAC,YAAA,CAAAX,MAAA,EAAA,CAAA;MAAAY,GAAA,EAAA,MAAA;AAAAC,MAAAA,KAAA,EAGA,SAAAH,IAAIA,GAAG;AACH,QAAA,IAAI,CAAC,IAAI,CAACT,MAAM,CAACV,QAAQ,IAAI,CAAC,IAAI,CAACU,MAAM,CAACT,QAAQ,EAAE;AAChD,UAAA,MAAM,IAAIsB,KAAK,CAAC,0CAA0C,CAAC,CAAA;AAC/D,SAAA;QAEA,IAAI,CAACL,aAAa,GAAG,IAAI,CAAA;AACzBM,QAAAA,OAAO,CAACC,GAAG,CAAC,mCAAmC,CAAC,CAAA;AACpD,OAAA;;AAEA;AACR;AACA;AAFQ,KAAA,EAAA;MAAAJ,GAAA,EAAA,gBAAA;MAAAC,KAAA,GAAA,YAAA;QAAA,IAAAI,eAAA,GAAAC,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAGA,SAAAC,OAAAA,CAAqBC,WAAW,EAAA;AAAA,UAAA,IAAAC,OAAA;YAAAC,QAAA;YAAAC,QAAA;YAAAC,MAAA;YAAAC,KAAA;AAAAC,YAAAA,KAAA,GAAA1B,SAAA;YAAA2B,EAAA,CAAA;AAAA,UAAA,OAAAV,YAAA,EAAA,CAAAW,CAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA,GAAAD,QAAA,CAAAE,CAAA;AAAA,cAAA,KAAA,CAAA;AAAEV,gBAAAA,OAAO,GAAAK,KAAA,CAAAzB,MAAA,GAAAyB,CAAAA,IAAAA,KAAA,CAAAxB,CAAAA,CAAAA,KAAAA,SAAA,GAAAwB,KAAA,CAAG,CAAA,CAAA,GAAA,EAAE,CAAA;gBAAA,IACrC,IAAI,CAACnB,aAAa,EAAA;AAAAsB,kBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;AAAA,gBAAA,MACb,IAAInB,KAAK,CAAC,4BAA4B,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAiB,gBAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;AAAAD,gBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OAKtB,IAAI,CAACC,WAAW,CAAC,mBAAmB,EAAA5B,cAAA,CAAA;AACvD6B,kBAAAA,IAAI,EAAE,MAAA;iBACHZ,EAAAA,OAAO,CACb,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBAHIC,QAAQ,GAAAO,QAAA,CAAAK,CAAA,CAAA;gBAAA,IAKVZ,CAAAA,QAAQ,CAACa,OAAO,EAAA;AAAAN,kBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;AAChB,gBAAA,IAAI,CAACK,aAAa,CAAChB,WAAW,EAAEE,QAAQ,CAACe,IAAI,CAACC,WAAW,EAAE,MAAM,EAAEjB,OAAO,CAAC,CAAA;gBAC3E,IAAI,CAACkB,gBAAgB,CAACnB,WAAW,EAAE,MAAM,EAAEC,OAAO,CAAC,CAAA;AAAC,gBAAA,OAAAQ,QAAA,CAAAW,CAAA,CAC7ClB,CAAAA,EAAAA,QAAQ,CAACe,IAAI,CAAA,CAAA;AAAA,cAAA,KAAA,CAAA;AAAA,gBAAA,MAEd,IAAIzB,KAAK,CAACU,QAAQ,CAACmB,OAAO,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAZ,gBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,MAAA;AAAA,cAAA,KAAA,CAAA;AAAAF,gBAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;gBAAAH,EAAA,GAAAE,QAAA,CAAAK,CAAA,CAAA;gBAGrCrB,OAAO,CAAC6B,IAAI,CAAC,+CAA+C,EAAEf,EAAA,CAAMc,OAAO,CAAC,CAAA;;AAE5E;AACMlB,gBAAAA,QAAQ,GAAAnB,cAAA,CAAA;AACV6B,kBAAAA,IAAI,EAAE,MAAM;AACZ5C,kBAAAA,QAAQ,EAAE,IAAI,CAACU,MAAM,CAACV,QAAQ;AAC9BsD,kBAAAA,SAAS,EAAEC,IAAI,CAACC,GAAG,EAAE;AACrBC,kBAAAA,SAAS,EAAE,OAAO,GAAGC,IAAI,CAACC,MAAM,EAAE,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5D9D,kBAAAA,MAAM,EAAE,IAAI,CAACW,MAAM,CAACX,MAAAA;AAAM,iBAAA,EACvBiC,OAAO,CAAA,CAAA;AAGRG,gBAAAA,MAAM,GAAG2B,IAAI,CAACC,SAAS,CAAC7B,QAAQ,CAAC,CAAA;AACjCE,gBAAAA,KAAK,oEAAA4B,MAAA,CAAoEC,kBAAkB,CAAC9B,MAAM,CAAC,CAAA,CAAA;gBAEzG,IAAI,CAACY,aAAa,CAAChB,WAAW,EAAEK,KAAK,EAAE,MAAM,EAAEJ,OAAO,CAAC,CAAA;gBACvD,IAAI,CAACkB,gBAAgB,CAACnB,WAAW,EAAE,MAAM,EAAEC,OAAO,CAAC,CAAA;gBAAC,OAAAQ,QAAA,CAAAW,CAAA,CAE7C,CAAA,EAAA;AACHL,kBAAAA,OAAO,EAAE,IAAI;AACbE,kBAAAA,IAAI,EAAE;AACFC,oBAAAA,WAAW,EAAEb,KAAK;oBAClB8B,KAAK,EAAEhC,QAAQ,CAACuB,SAAS;AACzBU,oBAAAA,UAAU,EAAEZ,IAAI,CAACC,GAAG,EAAE,GAAG,KAAA;AAC7B,mBAAA;iBACH,CAAA,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,OAAAhB,QAAA,CAAAW,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAArB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;SAER,CAAA,CAAA,CAAA;QAAA,SA/CKsC,cAAcA,CAAAC,EAAA,EAAA;AAAA,UAAA,OAAA3C,eAAA,CAAA4C,KAAA,CAAA,IAAA,EAAA3D,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA,QAAA,OAAdyD,cAAc,CAAA;AAAA,OAAA,EAAA;AAiDpB;AACR;AACA;AAFQ,OAAA;AAAA,KAAA,EAAA;MAAA/C,GAAA,EAAA,eAAA;MAAAC,KAAA,GAAA,YAAA;QAAA,IAAAiD,cAAA,GAAA5C,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAGA,SAAA2C,QAAAA,CAAoBzC,WAAW,EAAA;AAAA,UAAA,IAAAC,OAAA;YAAAC,QAAA;YAAAC,QAAA;YAAAC,MAAA;YAAAC,KAAA;AAAAqC,YAAAA,MAAA,GAAA9D,SAAA;YAAA+D,GAAA,CAAA;AAAA,UAAA,OAAA9C,YAAA,EAAA,CAAAW,CAAA,CAAA,UAAAoC,SAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAlC,CAAA,GAAAkC,SAAA,CAAAjC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAEV,gBAAAA,OAAO,GAAAyC,MAAA,CAAA7D,MAAA,GAAA6D,CAAAA,IAAAA,MAAA,CAAA5D,CAAAA,CAAAA,KAAAA,SAAA,GAAA4D,MAAA,CAAG,CAAA,CAAA,GAAA,EAAE,CAAA;gBAAA,IACpC,IAAI,CAACvD,aAAa,EAAA;AAAAyD,kBAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;AAAA,gBAAA,MACb,IAAInB,KAAK,CAAC,4BAA4B,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAoD,gBAAAA,SAAA,CAAAlC,CAAA,GAAA,CAAA,CAAA;AAAAkC,gBAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OAKtB,IAAI,CAACC,WAAW,CAAC,mBAAmB,EAAA5B,cAAA,CAAA;AACvD6B,kBAAAA,IAAI,EAAE,KAAA;iBACHZ,EAAAA,OAAO,CACb,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBAHIC,QAAQ,GAAA0C,SAAA,CAAA9B,CAAA,CAAA;gBAAA,IAKVZ,CAAAA,QAAQ,CAACa,OAAO,EAAA;AAAA6B,kBAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;AAChB,gBAAA,IAAI,CAACK,aAAa,CAAChB,WAAW,EAAEE,QAAQ,CAACe,IAAI,CAACC,WAAW,EAAE,KAAK,EAAEjB,OAAO,CAAC,CAAA;gBAC1E,IAAI,CAACkB,gBAAgB,CAACnB,WAAW,EAAE,KAAK,EAAEC,OAAO,CAAC,CAAA;AAAC,gBAAA,OAAA2C,SAAA,CAAAxB,CAAA,CAC5ClB,CAAAA,EAAAA,QAAQ,CAACe,IAAI,CAAA,CAAA;AAAA,cAAA,KAAA,CAAA;AAAA,gBAAA,MAEd,IAAIzB,KAAK,CAACU,QAAQ,CAACmB,OAAO,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAuB,gBAAAA,SAAA,CAAAjC,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,MAAA;AAAA,cAAA,KAAA,CAAA;AAAAiC,gBAAAA,SAAA,CAAAlC,CAAA,GAAA,CAAA,CAAA;gBAAAiC,GAAA,GAAAC,SAAA,CAAA9B,CAAA,CAAA;gBAGrCrB,OAAO,CAAC6B,IAAI,CAAC,+CAA+C,EAAEqB,GAAA,CAAMtB,OAAO,CAAC,CAAA;;AAE5E;AACMlB,gBAAAA,QAAQ,GAAAnB,cAAA,CAAA;AACV6B,kBAAAA,IAAI,EAAE,KAAK;AACX5C,kBAAAA,QAAQ,EAAE,IAAI,CAACU,MAAM,CAACV,QAAQ;AAC9BsD,kBAAAA,SAAS,EAAEC,IAAI,CAACC,GAAG,EAAE;AACrBC,kBAAAA,SAAS,EAAE,OAAO,GAAGC,IAAI,CAACC,MAAM,EAAE,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5De,kBAAAA,OAAO,EAAE5C,OAAO,CAAC4C,OAAO,IAAI,MAAM;kBAClCC,cAAc,EAAE7C,OAAO,CAAC6C,cAAc,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC;AAC1E9E,kBAAAA,MAAM,EAAE,IAAI,CAACW,MAAM,CAACX,MAAAA;AAAM,iBAAA,EACvBiC,OAAO,CAAA,CAAA;AAGRG,gBAAAA,MAAM,GAAG2B,IAAI,CAACC,SAAS,CAAC7B,QAAQ,CAAC,CAAA;AACjCE,gBAAAA,KAAK,oEAAA4B,MAAA,CAAoEC,kBAAkB,CAAC9B,MAAM,CAAC,CAAA,CAAA;gBAEzG,IAAI,CAACY,aAAa,CAAChB,WAAW,EAAEK,KAAK,EAAE,KAAK,EAAEJ,OAAO,CAAC,CAAA;gBACtD,IAAI,CAACkB,gBAAgB,CAACnB,WAAW,EAAE,KAAK,EAAEC,OAAO,CAAC,CAAA;gBAAC,OAAA2C,SAAA,CAAAxB,CAAA,CAE5C,CAAA,EAAA;AACHL,kBAAAA,OAAO,EAAE,IAAI;AACbE,kBAAAA,IAAI,EAAE;AACFC,oBAAAA,WAAW,EAAEb,KAAK;oBAClB8B,KAAK,EAAEhC,QAAQ,CAACuB,SAAS;AACzBU,oBAAAA,UAAU,EAAEZ,IAAI,CAACC,GAAG,EAAE,GAAG,KAAA;AAC7B,mBAAA;iBACH,CAAA,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,OAAAmB,SAAA,CAAAxB,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAAqB,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;SAER,CAAA,CAAA,CAAA;QAAA,SAjDKM,aAAaA,CAAAC,GAAA,EAAA;AAAA,UAAA,OAAAR,cAAA,CAAAD,KAAA,CAAA,IAAA,EAAA3D,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA,QAAA,OAAbmE,aAAa,CAAA;AAAA,OAAA,EAAA;AAmDnB;AACR;AACA;AAFQ,OAAA;AAAA,KAAA,EAAA;MAAAzD,GAAA,EAAA,eAAA;MAAAC,KAAA,GAAA,YAAA;QAAA,IAAA0D,cAAA,GAAArD,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAGA,SAAAoD,QAAAA,CAAoBC,IAAI,EAAA;UAAA,IAAAjD,QAAA,EAAAkD,GAAA,CAAA;AAAA,UAAA,OAAAvD,YAAA,EAAA,CAAAW,CAAA,CAAA,UAAA6C,SAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA3C,CAAA,GAAA2C,SAAA,CAAA1C,CAAA;AAAA,cAAA,KAAA,CAAA;AAAA0C,gBAAAA,SAAA,CAAA3C,CAAA,GAAA,CAAA,CAAA;AAAA2C,gBAAAA,SAAA,CAAA1C,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OAEO,IAAI,CAACC,WAAW,CAAC,iBAAiB,EAAE;AACvDuB,kBAAAA,KAAK,EAAEgB,IAAAA;AACX,iBAAC,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBAFIjD,QAAQ,GAAAmD,SAAA,CAAAvC,CAAA,CAAA;AAAA,gBAAA,OAAAuC,SAAA,CAAAjC,CAAA,CAIPlB,CAAAA,EAAAA,QAAQ,CAACe,IAAI,CAAA,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAoC,gBAAAA,SAAA,CAAA3C,CAAA,GAAA,CAAA,CAAA;gBAAA0C,GAAA,GAAAC,SAAA,CAAAvC,CAAA,CAAA;AAEpB,gBAAA,IAAI,CAACwC,WAAW,CAAAF,GAAM,CAAC,CAAA;AAAC,gBAAA,MAAAA,GAAA,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,OAAAC,SAAA,CAAAjC,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAA8B,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;SAG/B,CAAA,CAAA,CAAA;QAAA,SAXKK,aAAaA,CAAAC,GAAA,EAAA;AAAA,UAAA,OAAAP,cAAA,CAAAV,KAAA,CAAA,IAAA,EAAA3D,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA,QAAA,OAAb2E,aAAa,CAAA;AAAA,OAAA,EAAA;AAanB;AACR;AACA;AAFQ,OAAA;AAAA,KAAA,EAAA;MAAAjE,GAAA,EAAA,eAAA;MAAAC,KAAA,EAGA,SAAAyB,aAAaA,CAAChB,WAAW,EAAEK,KAAK,EAAEQ,IAAI,EAAgB;AAAA,QAAA,IAAdZ,OAAO,GAAArB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAChD,QAAA,IAAM6E,SAAS,GAAGC,QAAQ,CAACC,cAAc,CAAC3D,WAAW,CAAC,CAAA;QACtD,IAAI,CAACyD,SAAS,EAAE;AACZ,UAAA,MAAM,IAAIjE,KAAK,CAAA,wBAAA,CAAAyC,MAAA,CAAyBjC,WAAW,qBAAc,CAAC,CAAA;AACtE,SAAA;QAEA,IAAM7B,KAAK,GAAG8B,OAAO,CAAC9B,KAAK,IAAI,IAAI,CAACQ,MAAM,CAACR,KAAK,CAAA;QAC/B8B,OAAO,CAAC7B,QAAQ,IAAI,IAAI,CAACO,MAAM,CAACP,SAAQ;QAEzDqF,SAAS,CAACG,SAAS,GAAA3B,kEAAAA,CAAAA,MAAA,CACgC9D,KAAK,EAAA,iJAAA,CAAA,CAAA8D,MAAA,CAGtCpB,IAAI,KAAK,MAAM,GAAG,qBAAqB,GAAG,qBAAqB,6HAAAoB,MAAA,CAG/DpB,IAAI,KAAK,MAAM,GACb,mEAAmE,GACnE,2EAA2E,yJAAAoB,MAAA,CAKvE5B,KAAK,EAAA4B,0mBAAAA,CAAAA,CAAAA,MAAA,CAUsDjC,WAAW,EAAAiC,MAAAA,CAAAA,CAAAA,MAAA,CAAOpB,IAAI,EAAA,KAAA,CAAA,CAAAoB,MAAA,CAAMF,IAAI,CAACC,SAAS,CAAC/B,OAAO,CAAC,EAMrI,uNAAA,CAAA,CAAA;QAED,IAAI,CAAChB,MAAM,GAAG;AACVe,UAAAA,WAAW,EAAXA,WAAW;AACXa,UAAAA,IAAI,EAAJA,IAAI;AACJZ,UAAAA,OAAO,EAAPA,OAAO;AACPI,UAAAA,KAAK,EAALA,KAAAA;SACH,CAAA;QAED,IAAI,CAACwD,UAAU,EAAE,CAAA;AACrB,OAAA;;AAEA;AACR;AACA;AAFQ,KAAA,EAAA;MAAAvE,GAAA,EAAA,WAAA;MAAAC,KAAA,GAAA,YAAA;AAAA,QAAA,IAAAuE,UAAA,GAAAlE,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAGA,SAAAiE,QAAAA,CAAgB/D,WAAW,EAAEa,IAAI,EAAA;AAAA,UAAA,IAAAZ,OAAA;AAAA+D,YAAAA,MAAA,GAAApF,SAAA;YAAAqF,GAAA,CAAA;AAAA,UAAA,OAAApE,YAAA,EAAA,CAAAW,CAAA,CAAA,UAAA0D,SAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAxD,CAAA,GAAAwD,SAAA,CAAAvD,CAAA;AAAA,cAAA,KAAA,CAAA;AAAEV,gBAAAA,OAAO,GAAA+D,MAAA,CAAAnF,MAAA,GAAAmF,CAAAA,IAAAA,MAAA,CAAAlF,CAAAA,CAAAA,KAAAA,SAAA,GAAAkF,MAAA,CAAG,CAAA,CAAA,GAAA,EAAE,CAAA;AAAAE,gBAAAA,SAAA,CAAAxD,CAAA,GAAA,CAAA,CAAA;gBAAA,IAEnCG,EAAAA,IAAI,KAAK,MAAM,CAAA,EAAA;AAAAqD,kBAAAA,SAAA,CAAAvD,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;AAAAuD,gBAAAA,SAAA,CAAAvD,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OACT,IAAI,CAAC0B,cAAc,CAACrC,WAAW,EAAEC,OAAO,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAiE,gBAAAA,SAAA,CAAAvD,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,MAAA;AAAA,cAAA,KAAA,CAAA;AAAAuD,gBAAAA,SAAA,CAAAvD,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OAEzC,IAAI,CAACoC,aAAa,CAAC/C,WAAW,EAAEC,OAAO,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAiE,gBAAAA,SAAA,CAAAvD,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,MAAA;AAAA,cAAA,KAAA,CAAA;AAAAuD,gBAAAA,SAAA,CAAAxD,CAAA,GAAA,CAAA,CAAA;gBAAAuD,GAAA,GAAAC,SAAA,CAAApD,CAAA,CAAA;AAGlD,gBAAA,IAAI,CAACwC,WAAW,CAAAW,GAAM,CAAC,CAAA;AAAC,cAAA,KAAA,CAAA;gBAAA,OAAAC,SAAA,CAAA9C,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAA2C,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;SAE/B,CAAA,CAAA,CAAA;AAAA,QAAA,SAVKI,SAASA,CAAAC,GAAA,EAAAC,GAAA,EAAA;AAAA,UAAA,OAAAP,UAAA,CAAAvB,KAAA,CAAA,IAAA,EAAA3D,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA,QAAA,OAATuF,SAAS,CAAA;AAAA,OAAA,EAAA;AAYf;AACR;AACA;AAFQ,OAAA;AAAA,KAAA,EAAA;MAAA7E,GAAA,EAAA,kBAAA;MAAAC,KAAA,EAGA,SAAA4B,gBAAgBA,CAACnB,WAAW,EAAEa,IAAI,EAAEZ,OAAO,EAAE;AAAA,QAAA,IAAAqE,KAAA,GAAA,IAAA,CAAA;AACzC,QAAA,IAAI,CAAC,IAAI,CAAC3F,MAAM,CAACN,WAAW,EAAE,OAAA;AAE9B,QAAA,IAAI,CAACa,YAAY,GAAGqF,WAAW,cAAA3E,iBAAA,cAAAC,YAAA,EAAAC,CAAAA,CAAA,CAAC,SAAA0E,QAAA,GAAA;AAAA,UAAA,IAAAC,GAAA,CAAA;AAAA,UAAA,OAAA5E,YAAA,EAAA,CAAAW,CAAA,CAAA,UAAAkE,SAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhE,CAAA,GAAAgE,SAAA,CAAA/D,CAAA;AAAA,cAAA,KAAA,CAAA;AAAA+D,gBAAAA,SAAA,CAAAhE,CAAA,GAAA,CAAA,CAAA;AAAAgE,gBAAAA,SAAA,CAAA/D,CAAA,GAAA,CAAA,CAAA;gBAAA,OAElB2D,KAAI,CAACH,SAAS,CAACnE,WAAW,EAAEa,IAAI,EAAEZ,OAAO,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAyE,gBAAAA,SAAA,CAAA/D,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,MAAA;AAAA,cAAA,KAAA,CAAA;AAAA+D,gBAAAA,SAAA,CAAAhE,CAAA,GAAA,CAAA,CAAA;gBAAA+D,GAAA,GAAAC,SAAA,CAAA5D,CAAA,CAAA;AAEhDrB,gBAAAA,OAAO,CAAC6B,IAAI,CAAC,8CAA8C,EAAAmD,GAAO,CAAC,CAAA;AAAC,cAAA,KAAA,CAAA;gBAAA,OAAAC,SAAA,CAAAtD,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAAoD,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,SAE3E,IAAE,IAAI,CAAC7F,MAAM,CAACL,eAAe,CAAC,CAAA;AACnC,OAAA;;AAEA;AACR;AACA;AAFQ,KAAA,EAAA;MAAAgB,GAAA,EAAA,YAAA;AAAAC,MAAAA,KAAA,EAGA,SAAAsE,UAAUA,GAAG;AAAA,QAAA,IAAAc,MAAA,GAAA,IAAA,CAAA;QACT,IAAIC,QAAQ,GAAG,EAAE,CAAA;AACjB,QAAA,IAAMC,YAAY,GAAGnB,QAAQ,CAACC,cAAc,CAAC,cAAc,CAAC,CAAA;AAE5D,QAAA,IAAMmB,KAAK,GAAGP,WAAW,CAAC,YAAM;AAC5BK,UAAAA,QAAQ,EAAE,CAAA;AACV,UAAA,IAAIC,YAAY,EAAE;YACdA,YAAY,CAACE,WAAW,GAAGH,QAAQ,CAAA;AACvC,WAAA;UAEA,IAAIA,QAAQ,IAAI,CAAC,EAAE;YACfI,aAAa,CAACF,KAAK,CAAC,CAAA;AACpB,YAAA,IAAIH,MAAI,CAAChG,MAAM,CAACF,SAAS,EAAE;AACvBkG,cAAAA,MAAI,CAAChG,MAAM,CAACF,SAAS,EAAE,CAAA;AAC3B,aAAA;AACJ,WAAA;SACH,EAAE,IAAI,CAAC,CAAA;AACZ,OAAA;;AAEA;AACR;AACA;AAFQ,KAAA,EAAA;MAAAa,GAAA,EAAA,aAAA;MAAAC,KAAA,GAAA,YAAA;AAAA,QAAA,IAAA0F,YAAA,GAAArF,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAGA,SAAAoF,QAAAA,CAAkBC,QAAQ,EAAElE,IAAI,EAAA;UAAA,IAAAmE,GAAA,EAAAlF,QAAA,CAAA;AAAA,UAAA,OAAAL,YAAA,EAAA,CAAAW,CAAA,CAAA,UAAA6E,SAAA,EAAA;YAAA,OAAAA,CAAAA,EAAAA,QAAAA,SAAA,CAAA1E,CAAA;AAAA,cAAA,KAAA,CAAA;gBACtByE,GAAG,GAAA,EAAA,CAAAnD,MAAA,CAAM,IAAI,CAACtD,MAAM,CAACX,MAAM,CAAA,CAAAiE,MAAA,CAAGkD,QAAQ,CAAA,CAAA;AAAAE,gBAAAA,SAAA,CAAA1E,CAAA,GAAA,CAAA,CAAA;gBAAA,OAErB2E,KAAK,CAACF,GAAG,EAAE;AAC9BG,kBAAAA,MAAM,EAAE,MAAM;AACdC,kBAAAA,OAAO,EAAE;AACL,oBAAA,cAAc,EAAE,kBAAkB;AAClC,oBAAA,oBAAoB,EAAE,IAAI,CAAC7G,MAAM,CAACV,QAAQ;AAC1C,oBAAA,oBAAoB,EAAE,IAAI,CAACU,MAAM,CAACT,QAAAA;mBACrC;AACDuH,kBAAAA,IAAI,EAAE1D,IAAI,CAACC,SAAS,CAACf,IAAI,CAAA;AAC7B,iBAAC,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBARIf,QAAQ,GAAAmF,SAAA,CAAAvE,CAAA,CAAA;gBAAA,IAUTZ,QAAQ,CAACwF,EAAE,EAAA;AAAAL,kBAAAA,SAAA,CAAA1E,CAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;gBAAA,MACN,IAAInB,KAAK,CAAAyC,eAAAA,CAAAA,MAAA,CAAiB/B,QAAQ,CAACyF,MAAM,CAAE,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAN,gBAAAA,SAAA,CAAA1E,CAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OAGzCT,QAAQ,CAAC0F,IAAI,EAAE,CAAA;AAAA,cAAA,KAAA,CAAA;AAAA,gBAAA,OAAAP,SAAA,CAAAjE,CAAA,CAAAiE,CAAAA,EAAAA,SAAA,CAAAvE,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAAoE,QAAA,EAAA,IAAA,CAAA,CAAA;SAC/B,CAAA,CAAA,CAAA;AAAA,QAAA,SAlBKtE,WAAWA,CAAAiF,GAAA,EAAAC,GAAA,EAAA;AAAA,UAAA,OAAAb,YAAA,CAAA1C,KAAA,CAAA,IAAA,EAAA3D,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA,QAAA,OAAXgC,WAAW,CAAA;AAAA,OAAA,EAAA;AAoBjB;AACR;AACA;AAFQ,OAAA;AAAA,KAAA,EAAA;MAAAtB,GAAA,EAAA,aAAA;AAAAC,MAAAA,KAAA,EAGA,SAAA+D,WAAWA,CAACyC,KAAK,EAAE;AACftG,QAAAA,OAAO,CAACsG,KAAK,CAAC,mBAAmB,EAAEA,KAAK,CAAC,CAAA;AAEzC,QAAA,IAAI,IAAI,CAACpH,MAAM,CAACH,OAAO,EAAE;AACrB,UAAA,IAAI,CAACG,MAAM,CAACH,OAAO,CAACuH,KAAK,CAAC,CAAA;AAC9B,SAAA;AACJ,OAAA;;AAEA;AACR;AACA;AAFQ,KAAA,EAAA;MAAAzG,GAAA,EAAA,SAAA;AAAAC,MAAAA,KAAA,EAGA,SAAAyG,OAAOA,GAAG;QACN,IAAI,IAAI,CAAC9G,YAAY,EAAE;AACnB8F,UAAAA,aAAa,CAAC,IAAI,CAAC9F,YAAY,CAAC,CAAA;AACpC,SAAA;QAEA,IAAI,CAACC,aAAa,GAAG,KAAK,CAAA;AAC1BM,QAAAA,OAAO,CAACC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AACrC,OAAA;AAAC,KAAA,CAAA,CAAA,CAAA;GAGL,EAAA,CAAA;EACA5B,MAAM,CAACY,MAAM,GAAGA,MAAM,CAAA;EACtBZ,MAAM,CAACmI,cAAc,GAAG,IAAI,CAAA;;AAE5B;AACAnI,EAAAA,MAAM,CAACoI,UAAU,GAAG,UAASvH,MAAM,EAAE;IACjC,IAAI;AACAb,MAAAA,MAAM,CAACmI,cAAc,GAAG,IAAIvH,MAAM,CAACC,MAAM,CAAC,CAAA;MAC1C,OAAOb,MAAM,CAACmI,cAAc,CAAA;KAC/B,CAAC,OAAOF,KAAK,EAAE;AACZtG,MAAAA,OAAO,CAACsG,KAAK,CAAC,6CAA6C,EAAEA,KAAK,CAAC,CAAA;AACnE,MAAA,MAAMA,KAAK,CAAA;AACf,KAAA;GACH,CAAA;AAEL,CAAC,EAAEjI,MAAM,CAAC"}
|