From 895686e22b561dec1b9c0923fd14f29caf360245 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Wed, 18 Jun 2025 15:18:25 +0530 Subject: [PATCH 01/35] feat(tracking): Add analytics tracking module to Common-UI Implements a flexible tracking system with: - Provider-agnostic tracking interface - Matomo implementation - Google Analytics stub implementation - Automatic page view tracking - Session-based user tracking - Convenience methods for common tracking events --- src/public-api.ts | 1 + src/tracking/index.ts | 5 ++ src/tracking/lib/amrit-tracking.service.ts | 60 +++++++++++++++++++++ src/tracking/lib/ga-tracking.service.ts | 18 +++++++ src/tracking/lib/matomo-tracking.service.ts | 35 ++++++++++++ src/tracking/lib/tracking-provider.ts | 11 ++++ src/tracking/lib/tracking.module.ts | 38 +++++++++++++ src/tracking/lib/tracking.tokens.ts | 7 +++ 8 files changed, 175 insertions(+) create mode 100644 src/public-api.ts create mode 100644 src/tracking/index.ts create mode 100644 src/tracking/lib/amrit-tracking.service.ts create mode 100644 src/tracking/lib/ga-tracking.service.ts create mode 100644 src/tracking/lib/matomo-tracking.service.ts create mode 100644 src/tracking/lib/tracking-provider.ts create mode 100644 src/tracking/lib/tracking.module.ts create mode 100644 src/tracking/lib/tracking.tokens.ts diff --git a/src/public-api.ts b/src/public-api.ts new file mode 100644 index 0000000..87c7030 --- /dev/null +++ b/src/public-api.ts @@ -0,0 +1 @@ +export * from './tracking'; \ No newline at end of file diff --git a/src/tracking/index.ts b/src/tracking/index.ts new file mode 100644 index 0000000..538e54a --- /dev/null +++ b/src/tracking/index.ts @@ -0,0 +1,5 @@ +export * from './lib/tracking-provider'; +export * from './lib/matomo-tracking.service'; +export * from './lib/ga-tracking.service'; +export * from './lib/amrit-tracking.service'; +export * from './lib/tracking.module'; \ No newline at end of file diff --git a/src/tracking/lib/amrit-tracking.service.ts b/src/tracking/lib/amrit-tracking.service.ts new file mode 100644 index 0000000..f870158 --- /dev/null +++ b/src/tracking/lib/amrit-tracking.service.ts @@ -0,0 +1,60 @@ +import { Injectable, Inject } from '@angular/core'; +import { TrackingProvider } from './tracking-provider'; +import { SessionStorageService } from '../../registrar/services/session-storage.service'; +import { Router, NavigationEnd } from '@angular/router'; +import { filter } from 'rxjs/operators'; +import { TRACKING_PROVIDER } from './tracking.tokens'; + +@Injectable({ + providedIn: 'root' +}) +export class AmritTrackingService { + constructor( + @Inject(TRACKING_PROVIDER) private trackingProvider: TrackingProvider, + private sessionStorage: SessionStorageService, + private router: Router + ) { + // Initialize automatic page view tracking + this.setupPageViewTracking(); + + // Set user ID if available + this.setupUserTracking(); + } + + private setupPageViewTracking() { + this.router.events.pipe( + filter(event => event instanceof NavigationEnd) + ).subscribe((event: NavigationEnd) => { + this.trackingProvider.pageView(event.urlAfterRedirects); + }); + } + + private setupUserTracking() { + const userId = this.sessionStorage.getItem('userID'); + if (userId) { + this.trackingProvider.setUserId(userId); + } + } + + // Public methods to track events + trackEvent(category: string, action: string, label?: string, value?: number) { + this.trackingProvider.event(category, action, label, value); + } + + // Specific tracking methods for common actions + trackButtonClick(buttonName: string) { + this.trackEvent('UI', 'ButtonClick', buttonName); + } + + trackFormSubmit(formName: string) { + this.trackEvent('Form', 'Submit', formName); + } + + trackFeatureUsage(featureName: string) { + this.trackEvent('Feature', 'Usage', featureName); + } + + trackError(errorMessage: string, errorSource?: string) { + this.trackEvent('Error', errorMessage, errorSource); + } +} \ No newline at end of file diff --git a/src/tracking/lib/ga-tracking.service.ts b/src/tracking/lib/ga-tracking.service.ts new file mode 100644 index 0000000..7879bf4 --- /dev/null +++ b/src/tracking/lib/ga-tracking.service.ts @@ -0,0 +1,18 @@ +import { Injectable } from '@angular/core'; +import { TrackingProvider } from './tracking-provider'; + +@Injectable() +export class GATrackingService implements TrackingProvider { + init(siteId?: number, trackerUrl?: string) { + console.warn('GA init stub called'); + } + setUserId(userId: string) { + console.warn('GA setUserId stub called'); + } + pageView(path: string) { + console.warn(`GA pageView stub: ${path}`); + } + event(category: string, action: string, label?: string, value?: number) { + console.warn(`GA event stub: ${category}, ${action}, ${label}, ${value}`); + } +} \ No newline at end of file diff --git a/src/tracking/lib/matomo-tracking.service.ts b/src/tracking/lib/matomo-tracking.service.ts new file mode 100644 index 0000000..2bce851 --- /dev/null +++ b/src/tracking/lib/matomo-tracking.service.ts @@ -0,0 +1,35 @@ +import { Injectable, Inject } from '@angular/core'; +import { TrackingProvider } from './tracking-provider'; +import { MATOMO_SITE_ID, MATOMO_URL } from './tracking.tokens'; + +declare const _paq: any[]; + +@Injectable() +export class MatomoTrackingService implements TrackingProvider { + constructor( + @Inject(MATOMO_SITE_ID) private siteId: number, + @Inject(MATOMO_URL) private trackerUrl: string + ) {} + + init(siteId?: number, trackerUrl?: string) { + const finalSiteId = siteId || this.siteId; + const finalTrackerUrl = trackerUrl || this.trackerUrl; + + // Initialize Matomo tracker + _paq.push(['setTrackerUrl', finalTrackerUrl + 'matomo.php']); + _paq.push(['setSiteId', finalSiteId]); + } + + setUserId(userId: string) { + _paq.push(['setUserId', userId]); + } + + pageView(path: string) { + _paq.push(['setCustomUrl', path]); + _paq.push(['trackPageView']); + } + + event(category: string, action: string, label?: string, value?: number) { + _paq.push(['trackEvent', category, action, label || '', value || 0]); + } +} \ No newline at end of file diff --git a/src/tracking/lib/tracking-provider.ts b/src/tracking/lib/tracking-provider.ts new file mode 100644 index 0000000..bff3830 --- /dev/null +++ b/src/tracking/lib/tracking-provider.ts @@ -0,0 +1,11 @@ +export interface TrackingProvider { + init(siteId: number, trackerUrl: string): void; + setUserId(userId: string): void; + pageView(path: string): void; + event( + category: string, + action: string, + label?: string, + value?: number + ): void; + } \ No newline at end of file diff --git a/src/tracking/lib/tracking.module.ts b/src/tracking/lib/tracking.module.ts new file mode 100644 index 0000000..44be7b8 --- /dev/null +++ b/src/tracking/lib/tracking.module.ts @@ -0,0 +1,38 @@ +import { NgModule, ModuleWithProviders } from '@angular/core'; +import { TrackingProvider } from './tracking-provider'; +import { MatomoTrackingService } from './matomo-tracking.service'; +import { GATrackingService } from './ga-tracking.service'; +import { AmritTrackingService } from './amrit-tracking.service'; +import { TRACKING_PLATFORM, MATOMO_SITE_ID, MATOMO_URL, TRACKING_PROVIDER } from './tracking.tokens'; + +export interface TrackingConfig { + platform: 'matomo' | 'ga'; + matomoSiteId: number; + matomoUrl: string; +} + +@NgModule({}) +export class TrackingModule { + static forRoot(config: TrackingConfig): ModuleWithProviders { + return { + ngModule: TrackingModule, + providers: [ + { provide: TRACKING_PLATFORM, useValue: config.platform }, + { provide: MATOMO_SITE_ID, useValue: config.matomoSiteId }, + { provide: MATOMO_URL, useValue: config.matomoUrl }, + { + provide: TRACKING_PROVIDER, + useFactory: (platform: string) => { + return platform === 'matomo' + ? new MatomoTrackingService(config.matomoSiteId, config.matomoUrl) + : new GATrackingService(); + }, + deps: [TRACKING_PLATFORM], + }, + AmritTrackingService, + ], + }; + } +} + +export { TRACKING_PLATFORM, MATOMO_SITE_ID, MATOMO_URL, TRACKING_PROVIDER } from './tracking.tokens'; \ No newline at end of file diff --git a/src/tracking/lib/tracking.tokens.ts b/src/tracking/lib/tracking.tokens.ts new file mode 100644 index 0000000..f168411 --- /dev/null +++ b/src/tracking/lib/tracking.tokens.ts @@ -0,0 +1,7 @@ +import { InjectionToken } from '@angular/core'; +import { TrackingProvider } from './tracking-provider'; + +export const TRACKING_PLATFORM = new InjectionToken('tracking.platform'); +export const MATOMO_SITE_ID = new InjectionToken('matomo.siteId'); +export const MATOMO_URL = new InjectionToken('matomo.url'); +export const TRACKING_PROVIDER = new InjectionToken('tracking.provider'); \ No newline at end of file From 41adfaab70407bc352b5201197d3a8375595a07c Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Wed, 18 Jun 2025 17:53:34 +0530 Subject: [PATCH 02/35] fix(tracking): fixed some issues --- src/tracking/index.ts | 3 ++- src/tracking/lib/amrit-tracking.service.ts | 3 +++ src/tracking/lib/matomo-tracking.service.ts | 10 ++++++++-- src/tracking/lib/tracking-provider.ts | 2 +- src/tracking/lib/tracking.module.ts | 20 +++++++++++--------- 5 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/tracking/index.ts b/src/tracking/index.ts index 538e54a..c192d46 100644 --- a/src/tracking/index.ts +++ b/src/tracking/index.ts @@ -2,4 +2,5 @@ export * from './lib/tracking-provider'; export * from './lib/matomo-tracking.service'; export * from './lib/ga-tracking.service'; export * from './lib/amrit-tracking.service'; -export * from './lib/tracking.module'; \ No newline at end of file +export * from './lib/tracking.module'; +export * from './lib/tracking.tokens'; \ No newline at end of file diff --git a/src/tracking/lib/amrit-tracking.service.ts b/src/tracking/lib/amrit-tracking.service.ts index f870158..e1dfee6 100644 --- a/src/tracking/lib/amrit-tracking.service.ts +++ b/src/tracking/lib/amrit-tracking.service.ts @@ -14,6 +14,9 @@ export class AmritTrackingService { private sessionStorage: SessionStorageService, private router: Router ) { + // Initialise underlying provider + this.trackingProvider.init?.(); + // Initialize automatic page view tracking this.setupPageViewTracking(); diff --git a/src/tracking/lib/matomo-tracking.service.ts b/src/tracking/lib/matomo-tracking.service.ts index 2bce851..843f011 100644 --- a/src/tracking/lib/matomo-tracking.service.ts +++ b/src/tracking/lib/matomo-tracking.service.ts @@ -2,7 +2,10 @@ import { Injectable, Inject } from '@angular/core'; import { TrackingProvider } from './tracking-provider'; import { MATOMO_SITE_ID, MATOMO_URL } from './tracking.tokens'; -declare const _paq: any[]; +// Initialise global queue if Matomo script not yet loaded +const _w = window as any; +_w._paq = _w._paq || []; +const _paq: any[] = _w._paq; @Injectable() export class MatomoTrackingService implements TrackingProvider { @@ -30,6 +33,9 @@ export class MatomoTrackingService implements TrackingProvider { } event(category: string, action: string, label?: string, value?: number) { - _paq.push(['trackEvent', category, action, label || '', value || 0]); + const args: (string | number)[] = ['trackEvent', category, action]; + if (label) { args.push(label); } + if (value !== undefined) { args.push(value); } + _paq.push(args); } } \ No newline at end of file diff --git a/src/tracking/lib/tracking-provider.ts b/src/tracking/lib/tracking-provider.ts index bff3830..6a02ffc 100644 --- a/src/tracking/lib/tracking-provider.ts +++ b/src/tracking/lib/tracking-provider.ts @@ -1,5 +1,5 @@ export interface TrackingProvider { - init(siteId: number, trackerUrl: string): void; + init(siteId?: number, trackerUrl?: string): void; setUserId(userId: string): void; pageView(path: string): void; event( diff --git a/src/tracking/lib/tracking.module.ts b/src/tracking/lib/tracking.module.ts index 44be7b8..7e2fdb0 100644 --- a/src/tracking/lib/tracking.module.ts +++ b/src/tracking/lib/tracking.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders } from '@angular/core'; +import { NgModule, ModuleWithProviders, Injector } from '@angular/core'; import { TrackingProvider } from './tracking-provider'; import { MatomoTrackingService } from './matomo-tracking.service'; import { GATrackingService } from './ga-tracking.service'; @@ -7,8 +7,8 @@ import { TRACKING_PLATFORM, MATOMO_SITE_ID, MATOMO_URL, TRACKING_PROVIDER } from export interface TrackingConfig { platform: 'matomo' | 'ga'; - matomoSiteId: number; - matomoUrl: string; + matomoSiteId?: number; + matomoUrl?: string; } @NgModule({}) @@ -22,17 +22,19 @@ export class TrackingModule { { provide: MATOMO_URL, useValue: config.matomoUrl }, { provide: TRACKING_PROVIDER, - useFactory: (platform: string) => { - return platform === 'matomo' - ? new MatomoTrackingService(config.matomoSiteId, config.matomoUrl) - : new GATrackingService(); - }, - deps: [TRACKING_PLATFORM], + useFactory: (platform: string, injector: Injector) => + platform === 'matomo' + ? injector.get(MatomoTrackingService) + : injector.get(GATrackingService), + deps: [TRACKING_PLATFORM, Injector], }, + MatomoTrackingService, + GATrackingService, AmritTrackingService, ], }; } } +// Re-export the tokens from the module if needed elsewhere export { TRACKING_PLATFORM, MATOMO_SITE_ID, MATOMO_URL, TRACKING_PROVIDER } from './tracking.tokens'; \ No newline at end of file From dfe5e5aa736a98f5cad00f8797be7957bdad09bb Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Thu, 19 Jun 2025 00:40:17 +0530 Subject: [PATCH 03/35] fix: added environment --- src/tracking/lib/tracking.module.ts | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/tracking/lib/tracking.module.ts b/src/tracking/lib/tracking.module.ts index 7e2fdb0..ef8284e 100644 --- a/src/tracking/lib/tracking.module.ts +++ b/src/tracking/lib/tracking.module.ts @@ -4,22 +4,18 @@ import { MatomoTrackingService } from './matomo-tracking.service'; import { GATrackingService } from './ga-tracking.service'; import { AmritTrackingService } from './amrit-tracking.service'; import { TRACKING_PLATFORM, MATOMO_SITE_ID, MATOMO_URL, TRACKING_PROVIDER } from './tracking.tokens'; - -export interface TrackingConfig { - platform: 'matomo' | 'ga'; - matomoSiteId?: number; - matomoUrl?: string; -} +import { environment } from 'src/environments/environment'; @NgModule({}) export class TrackingModule { - static forRoot(config: TrackingConfig): ModuleWithProviders { + static forRoot(): ModuleWithProviders { + // Only use environment values return { ngModule: TrackingModule, providers: [ - { provide: TRACKING_PLATFORM, useValue: config.platform }, - { provide: MATOMO_SITE_ID, useValue: config.matomoSiteId }, - { provide: MATOMO_URL, useValue: config.matomoUrl }, + { provide: TRACKING_PLATFORM, useValue: environment.tracking?.platform || 'matomo' }, + { provide: MATOMO_SITE_ID, useValue: environment.tracking?.matomoSiteId }, + { provide: MATOMO_URL, useValue: environment.tracking?.matomoUrl }, { provide: TRACKING_PROVIDER, useFactory: (platform: string, injector: Injector) => From 1f221725caf663bb161fb7b7f0fc8710ad9a7c8c Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Thu, 19 Jun 2025 00:49:12 +0530 Subject: [PATCH 04/35] fix: fixing memory leak due the subscription to router using rxJs suitable router --- src/tracking/lib/amrit-tracking.service.ts | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/tracking/lib/amrit-tracking.service.ts b/src/tracking/lib/amrit-tracking.service.ts index e1dfee6..680652c 100644 --- a/src/tracking/lib/amrit-tracking.service.ts +++ b/src/tracking/lib/amrit-tracking.service.ts @@ -1,14 +1,17 @@ -import { Injectable, Inject } from '@angular/core'; +import { Injectable, Inject, OnDestroy } from '@angular/core'; import { TrackingProvider } from './tracking-provider'; import { SessionStorageService } from '../../registrar/services/session-storage.service'; import { Router, NavigationEnd } from '@angular/router'; -import { filter } from 'rxjs/operators'; +import { filter, takeUntil } from 'rxjs/operators'; +import { Subject } from 'rxjs'; import { TRACKING_PROVIDER } from './tracking.tokens'; @Injectable({ providedIn: 'root' }) -export class AmritTrackingService { +export class AmritTrackingService implements OnDestroy { + private destroy$ = new Subject(); + constructor( @Inject(TRACKING_PROVIDER) private trackingProvider: TrackingProvider, private sessionStorage: SessionStorageService, @@ -26,7 +29,8 @@ export class AmritTrackingService { private setupPageViewTracking() { this.router.events.pipe( - filter(event => event instanceof NavigationEnd) + filter(event => event instanceof NavigationEnd), + takeUntil(this.destroy$) ).subscribe((event: NavigationEnd) => { this.trackingProvider.pageView(event.urlAfterRedirects); }); @@ -60,4 +64,9 @@ export class AmritTrackingService { trackError(errorMessage: string, errorSource?: string) { this.trackEvent('Error', errorMessage, errorSource); } + + ngOnDestroy() { + this.destroy$.next(); + this.destroy$.complete(); + } } \ No newline at end of file From 366b134836460f4c36707e8d347b6070224bb5c8 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Thu, 19 Jun 2025 00:56:51 +0530 Subject: [PATCH 05/35] fix: added type-check the userId --- src/tracking/lib/amrit-tracking.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tracking/lib/amrit-tracking.service.ts b/src/tracking/lib/amrit-tracking.service.ts index 680652c..649936f 100644 --- a/src/tracking/lib/amrit-tracking.service.ts +++ b/src/tracking/lib/amrit-tracking.service.ts @@ -38,7 +38,7 @@ export class AmritTrackingService implements OnDestroy { private setupUserTracking() { const userId = this.sessionStorage.getItem('userID'); - if (userId) { + if (typeof userId === 'string' && userId !== null && userId !== undefined && userId !== '') { this.trackingProvider.setUserId(userId); } } From f9cd2cc28e3cb6bd61352febbeeffb82357eeb67 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Thu, 19 Jun 2025 01:11:03 +0530 Subject: [PATCH 06/35] fix: added conditions when label and value is undefined --- src/tracking/lib/amrit-tracking.service.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/tracking/lib/amrit-tracking.service.ts b/src/tracking/lib/amrit-tracking.service.ts index 649936f..bc58df9 100644 --- a/src/tracking/lib/amrit-tracking.service.ts +++ b/src/tracking/lib/amrit-tracking.service.ts @@ -45,7 +45,15 @@ export class AmritTrackingService implements OnDestroy { // Public methods to track events trackEvent(category: string, action: string, label?: string, value?: number) { - this.trackingProvider.event(category, action, label, value); + if (label !== undefined && value !== undefined) { + this.trackingProvider.event(category, action, label, value); + } else if (label !== undefined) { + this.trackingProvider.event(category, action, label); + } else if (value !== undefined) { + this.trackingProvider.event(category, action, undefined, value); + } else { + this.trackingProvider.event(category, action); + } } // Specific tracking methods for common actions From e6792abd42125ae8c4664e7a9692070048ac9e74 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Thu, 19 Jun 2025 01:17:54 +0530 Subject: [PATCH 07/35] fix: added error handling and logging menthod --- src/tracking/lib/amrit-tracking.service.ts | 30 ++++++++++++++++------ 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/src/tracking/lib/amrit-tracking.service.ts b/src/tracking/lib/amrit-tracking.service.ts index bc58df9..cc38ee0 100644 --- a/src/tracking/lib/amrit-tracking.service.ts +++ b/src/tracking/lib/amrit-tracking.service.ts @@ -17,14 +17,28 @@ export class AmritTrackingService implements OnDestroy { private sessionStorage: SessionStorageService, private router: Router ) { - // Initialise underlying provider - this.trackingProvider.init?.(); - - // Initialize automatic page view tracking - this.setupPageViewTracking(); - - // Set user ID if available - this.setupUserTracking(); + try { + // Attempt to initialize the tracking provider + this.trackingProvider.init?.(); + + // Initialize automatic page view tracking + this.setupPageViewTracking(); + + // Set user ID if available + this.setupUserTracking(); + } catch (error) { + console.error('Error initializing tracking provider:', error); + + // Fallback handling: Log the error and ensure the application continues to function + this.trackingProvider = { + init: () => console.warn('Fallback: Tracking provider initialization failed'), + setUserId: () => console.warn('Fallback: Tracking provider setUserId failed'), + pageView: () => console.warn('Fallback: Tracking provider pageView failed'), + event: () => console.warn('Fallback: Tracking provider event failed'), + }; + + this.trackingProvider.init(); + } } private setupPageViewTracking() { From 82e90a040ee86029bd25f3d3a55f8c203a338179 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Thu, 19 Jun 2025 01:20:20 +0530 Subject: [PATCH 08/35] fix: checking for undefined parameter --- src/tracking/lib/amrit-tracking.service.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/tracking/lib/amrit-tracking.service.ts b/src/tracking/lib/amrit-tracking.service.ts index cc38ee0..215e23c 100644 --- a/src/tracking/lib/amrit-tracking.service.ts +++ b/src/tracking/lib/amrit-tracking.service.ts @@ -29,7 +29,6 @@ export class AmritTrackingService implements OnDestroy { } catch (error) { console.error('Error initializing tracking provider:', error); - // Fallback handling: Log the error and ensure the application continues to function this.trackingProvider = { init: () => console.warn('Fallback: Tracking provider initialization failed'), setUserId: () => console.warn('Fallback: Tracking provider setUserId failed'), @@ -84,7 +83,11 @@ export class AmritTrackingService implements OnDestroy { } trackError(errorMessage: string, errorSource?: string) { - this.trackEvent('Error', errorMessage, errorSource); + if (errorSource !== undefined) { + this.trackEvent('Error', errorMessage, errorSource); + } else { + this.trackEvent('Error', errorMessage); + } } ngOnDestroy() { From 47b311ba61adeada27fa1555ebcdf0d248fdf0f0 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Thu, 19 Jun 2025 01:27:18 +0530 Subject: [PATCH 09/35] fix: added undefined checking in label and value in ga tracking --- src/tracking/lib/ga-tracking.service.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/tracking/lib/ga-tracking.service.ts b/src/tracking/lib/ga-tracking.service.ts index 7879bf4..18a8737 100644 --- a/src/tracking/lib/ga-tracking.service.ts +++ b/src/tracking/lib/ga-tracking.service.ts @@ -13,6 +13,16 @@ export class GATrackingService implements TrackingProvider { console.warn(`GA pageView stub: ${path}`); } event(category: string, action: string, label?: string, value?: number) { - console.warn(`GA event stub: ${category}, ${action}, ${label}, ${value}`); + const args: (string | number)[] = [category, action]; + + if (label !== undefined) { + args.push(label); + } + + if (value !== undefined) { + args.push(value); + } + + console.warn(`GA event stub: ${args.join(', ')}`); } } \ No newline at end of file From 864bc6f491632a7de8c4772691a5d9f25f66332d Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Thu, 19 Jun 2025 16:36:23 +0530 Subject: [PATCH 10/35] fix: using environment based tokens --- src/tracking/lib/tracking.module.ts | 4 ++-- src/tracking/lib/tracking.tokens.ts | 19 ++++++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/tracking/lib/tracking.module.ts b/src/tracking/lib/tracking.module.ts index ef8284e..46e8a66 100644 --- a/src/tracking/lib/tracking.module.ts +++ b/src/tracking/lib/tracking.module.ts @@ -14,8 +14,8 @@ export class TrackingModule { ngModule: TrackingModule, providers: [ { provide: TRACKING_PLATFORM, useValue: environment.tracking?.platform || 'matomo' }, - { provide: MATOMO_SITE_ID, useValue: environment.tracking?.matomoSiteId }, - { provide: MATOMO_URL, useValue: environment.tracking?.matomoUrl }, + { provide: MATOMO_SITE_ID, useValue: environment.tracking?.siteId }, + { provide: MATOMO_URL, useValue: environment.tracking?.trackerUrl }, { provide: TRACKING_PROVIDER, useFactory: (platform: string, injector: Injector) => diff --git a/src/tracking/lib/tracking.tokens.ts b/src/tracking/lib/tracking.tokens.ts index f168411..19a3d83 100644 --- a/src/tracking/lib/tracking.tokens.ts +++ b/src/tracking/lib/tracking.tokens.ts @@ -1,7 +1,20 @@ import { InjectionToken } from '@angular/core'; +import { environment } from 'src/environments/environment'; import { TrackingProvider } from './tracking-provider'; -export const TRACKING_PLATFORM = new InjectionToken('tracking.platform'); -export const MATOMO_SITE_ID = new InjectionToken('matomo.siteId'); -export const MATOMO_URL = new InjectionToken('matomo.url'); +export const TRACKING_PLATFORM = new InjectionToken('tracking.platform', { + providedIn: 'root', + factory: () => environment.tracking.trackingPlatform, +}); + +export const MATOMO_SITE_ID = new InjectionToken('matomo.siteId', { + providedIn: 'root', + factory: () => environment.tracking.siteId, +}); + +export const MATOMO_URL = new InjectionToken('matomo.url', { + providedIn: 'root', + factory: () => environment.tracking.trackerUrl, +}); + export const TRACKING_PROVIDER = new InjectionToken('tracking.provider'); \ No newline at end of file From 3f5da096080a316c3e18d275abf3257f4f234f6c Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Thu, 19 Jun 2025 16:37:35 +0530 Subject: [PATCH 11/35] fix: added enable flag --- src/tracking/lib/tracking.module.ts | 6 +++--- src/tracking/lib/tracking.tokens.ts | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/tracking/lib/tracking.module.ts b/src/tracking/lib/tracking.module.ts index 46e8a66..a701f81 100644 --- a/src/tracking/lib/tracking.module.ts +++ b/src/tracking/lib/tracking.module.ts @@ -3,17 +3,17 @@ import { TrackingProvider } from './tracking-provider'; import { MatomoTrackingService } from './matomo-tracking.service'; import { GATrackingService } from './ga-tracking.service'; import { AmritTrackingService } from './amrit-tracking.service'; -import { TRACKING_PLATFORM, MATOMO_SITE_ID, MATOMO_URL, TRACKING_PROVIDER } from './tracking.tokens'; +import { TRACKING_PLATFORM, MATOMO_SITE_ID, MATOMO_URL, TRACKING_PROVIDER, TRACKING_ENABLED } from './tracking.tokens'; import { environment } from 'src/environments/environment'; @NgModule({}) export class TrackingModule { static forRoot(): ModuleWithProviders { - // Only use environment values return { ngModule: TrackingModule, providers: [ { provide: TRACKING_PLATFORM, useValue: environment.tracking?.platform || 'matomo' }, + { provide: TRACKING_ENABLED, useValue: environment.tracking?.enabled ?? false }, { provide: MATOMO_SITE_ID, useValue: environment.tracking?.siteId }, { provide: MATOMO_URL, useValue: environment.tracking?.trackerUrl }, { @@ -33,4 +33,4 @@ export class TrackingModule { } // Re-export the tokens from the module if needed elsewhere -export { TRACKING_PLATFORM, MATOMO_SITE_ID, MATOMO_URL, TRACKING_PROVIDER } from './tracking.tokens'; \ No newline at end of file +export { TRACKING_PLATFORM, MATOMO_SITE_ID, MATOMO_URL, TRACKING_PROVIDER, TRACKING_ENABLED} from './tracking.tokens'; \ No newline at end of file diff --git a/src/tracking/lib/tracking.tokens.ts b/src/tracking/lib/tracking.tokens.ts index 19a3d83..35425fb 100644 --- a/src/tracking/lib/tracking.tokens.ts +++ b/src/tracking/lib/tracking.tokens.ts @@ -7,6 +7,11 @@ export const TRACKING_PLATFORM = new InjectionToken('tracking.platform', factory: () => environment.tracking.trackingPlatform, }); +export const TRACKING_ENABLED = new InjectionToken('tracking.enabled', { + providedIn: 'root', + factory: () => environment.tracking.enabled, + }); + export const MATOMO_SITE_ID = new InjectionToken('matomo.siteId', { providedIn: 'root', factory: () => environment.tracking.siteId, From e40ae4786f1df65f7e1ddd1b4ce4f8380f8daad5 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Thu, 19 Jun 2025 16:41:39 +0530 Subject: [PATCH 12/35] fix: added error handling cases --- src/tracking/lib/matomo-tracking.service.ts | 40 +++++++++++++++++++-- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/src/tracking/lib/matomo-tracking.service.ts b/src/tracking/lib/matomo-tracking.service.ts index 843f011..53dc1e9 100644 --- a/src/tracking/lib/matomo-tracking.service.ts +++ b/src/tracking/lib/matomo-tracking.service.ts @@ -17,25 +17,59 @@ export class MatomoTrackingService implements TrackingProvider { init(siteId?: number, trackerUrl?: string) { const finalSiteId = siteId || this.siteId; const finalTrackerUrl = trackerUrl || this.trackerUrl; - + + // Error handling for undefined or invalid values + if (!finalSiteId || typeof finalSiteId !== 'number') { + console.error('MatomoTrackingService: Invalid or undefined siteId'); + return; + } + + if (!finalTrackerUrl || typeof finalTrackerUrl !== 'string') { + console.error('MatomoTrackingService: Invalid or undefined trackerUrl'); + return; + } + // Initialize Matomo tracker _paq.push(['setTrackerUrl', finalTrackerUrl + 'matomo.php']); _paq.push(['setSiteId', finalSiteId]); } setUserId(userId: string) { + if (!userId || userId === '' || userId === 'undefined' || userId === 'null') { + console.error('MatomoTrackingService: Invalid or undefined userId'); + return; + } _paq.push(['setUserId', userId]); } pageView(path: string) { + if (!path || typeof path !== 'string') { + console.error('MatomoTrackingService: Invalid or undefined path'); + return; + } _paq.push(['setCustomUrl', path]); _paq.push(['trackPageView']); } event(category: string, action: string, label?: string, value?: number) { + if (!category || typeof category !== 'string') { + console.error('MatomoTrackingService: Invalid or undefined category'); + return; + } + + if (!action || typeof action !== 'string') { + console.error('MatomoTrackingService: Invalid or undefined action'); + return; + } + const args: (string | number)[] = ['trackEvent', category, action]; - if (label) { args.push(label); } - if (value !== undefined) { args.push(value); } + if (label && typeof label === 'string') { + args.push(label); + } + if (value !== undefined && typeof value === 'number') { + args.push(value); + } + _paq.push(args); } } \ No newline at end of file From 753568905f5c0c10c74dec54a8ec7ef63502020a Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Sat, 28 Jun 2025 12:22:02 +0530 Subject: [PATCH 13/35] fix(tracking): improve type safety in page view tracking --- src/tracking/lib/amrit-tracking.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tracking/lib/amrit-tracking.service.ts b/src/tracking/lib/amrit-tracking.service.ts index 215e23c..8e91e9f 100644 --- a/src/tracking/lib/amrit-tracking.service.ts +++ b/src/tracking/lib/amrit-tracking.service.ts @@ -42,9 +42,9 @@ export class AmritTrackingService implements OnDestroy { private setupPageViewTracking() { this.router.events.pipe( - filter(event => event instanceof NavigationEnd), + filter((event): event is NavigationEnd => event instanceof NavigationEnd), takeUntil(this.destroy$) - ).subscribe((event: NavigationEnd) => { + ).subscribe((event) => { this.trackingProvider.pageView(event.urlAfterRedirects); }); } From cd631ff54dc7c9edfe51c3d99817b44d708acb73 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Wed, 9 Jul 2025 17:45:32 +0530 Subject: [PATCH 14/35] feat: Added Dynamic matomo Script injection in html and added error handeling at amrit tracking service --- src/tracking/lib/amrit-tracking.service.ts | 31 +++--- src/tracking/lib/matomo-tracking.service.ts | 109 ++++++++++++++++---- 2 files changed, 108 insertions(+), 32 deletions(-) diff --git a/src/tracking/lib/amrit-tracking.service.ts b/src/tracking/lib/amrit-tracking.service.ts index 8e91e9f..4b376fa 100644 --- a/src/tracking/lib/amrit-tracking.service.ts +++ b/src/tracking/lib/amrit-tracking.service.ts @@ -17,14 +17,10 @@ export class AmritTrackingService implements OnDestroy { private sessionStorage: SessionStorageService, private router: Router ) { + try { - // Attempt to initialize the tracking provider this.trackingProvider.init?.(); - - // Initialize automatic page view tracking this.setupPageViewTracking(); - - // Set user ID if available this.setupUserTracking(); } catch (error) { console.error('Error initializing tracking provider:', error); @@ -58,18 +54,21 @@ export class AmritTrackingService implements OnDestroy { // Public methods to track events trackEvent(category: string, action: string, label?: string, value?: number) { - if (label !== undefined && value !== undefined) { - this.trackingProvider.event(category, action, label, value); - } else if (label !== undefined) { - this.trackingProvider.event(category, action, label); - } else if (value !== undefined) { - this.trackingProvider.event(category, action, undefined, value); - } else { - this.trackingProvider.event(category, action); + try { + if (label !== undefined && value !== undefined) { + this.trackingProvider.event(category, action, label, value); + } else if (label !== undefined) { + this.trackingProvider.event(category, action, label); + } else if (value !== undefined) { + this.trackingProvider.event(category, action, undefined, value); + } else { + this.trackingProvider.event(category, action); + } + } catch (error) { + console.error(`Error tracking event ${category}:`, error); } } - // Specific tracking methods for common actions trackButtonClick(buttonName: string) { this.trackEvent('UI', 'ButtonClick', buttonName); } @@ -90,6 +89,10 @@ export class AmritTrackingService implements OnDestroy { } } + trackFieldInteraction(fieldName: string, category: string = 'Registration') { + this.trackEvent(category, 'Field Interaction', fieldName); + } + ngOnDestroy() { this.destroy$.next(); this.destroy$.complete(); diff --git a/src/tracking/lib/matomo-tracking.service.ts b/src/tracking/lib/matomo-tracking.service.ts index 53dc1e9..c18f504 100644 --- a/src/tracking/lib/matomo-tracking.service.ts +++ b/src/tracking/lib/matomo-tracking.service.ts @@ -1,64 +1,138 @@ import { Injectable, Inject } from '@angular/core'; import { TrackingProvider } from './tracking-provider'; -import { MATOMO_SITE_ID, MATOMO_URL } from './tracking.tokens'; - -// Initialise global queue if Matomo script not yet loaded -const _w = window as any; -_w._paq = _w._paq || []; -const _paq: any[] = _w._paq; +import { MATOMO_SITE_ID, MATOMO_URL, TRACKING_ENABLED } from './tracking.tokens'; @Injectable() export class MatomoTrackingService implements TrackingProvider { + private isScriptLoaded = false; + private isInitialized = false; + constructor( @Inject(MATOMO_SITE_ID) private siteId: number, - @Inject(MATOMO_URL) private trackerUrl: string - ) {} + @Inject(MATOMO_URL) private trackerUrl: string, + @Inject(TRACKING_ENABLED) private trackingEnabled: boolean + ) { + this.initializePaqQueue(); + } + + private initializePaqQueue() { + const _w = window as any; + if (!_w._paq) { + _w._paq = []; + } + } init(siteId?: number, trackerUrl?: string) { + + if (!this.trackingEnabled) { + return; + } + const finalSiteId = siteId || this.siteId; const finalTrackerUrl = trackerUrl || this.trackerUrl; - // Error handling for undefined or invalid values if (!finalSiteId || typeof finalSiteId !== 'number') { - console.error('MatomoTrackingService: Invalid or undefined siteId'); + console.error('MatomoTrackingService: Invalid siteId:', finalSiteId); return; } if (!finalTrackerUrl || typeof finalTrackerUrl !== 'string') { - console.error('MatomoTrackingService: Invalid or undefined trackerUrl'); + console.error('MatomoTrackingService: Invalid trackerUrl:', finalTrackerUrl); + return; + } + + const _w = window as any; + const _paq = _w._paq; + + if (!_paq) { + console.error('_paq queue is not available!'); return; } - // Initialize Matomo tracker _paq.push(['setTrackerUrl', finalTrackerUrl + 'matomo.php']); _paq.push(['setSiteId', finalSiteId]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + + this.loadMatomoScript(finalTrackerUrl); + this.isInitialized = true; + + } + + private loadMatomoScript(trackerUrl: string) { + if (this.isScriptLoaded) { + return; + } + + const script = document.createElement('script'); + script.async = true; + script.src = trackerUrl + 'matomo.js'; + + script.onload = () => { + this.isScriptLoaded = true; + }; + + script.onerror = (error) => { + console.error('Failed to load Matomo script:', error); + }; + + const firstScript = document.getElementsByTagName('script')[0]; + if (firstScript && firstScript.parentNode) { + firstScript.parentNode.insertBefore(script, firstScript); + } } setUserId(userId: string) { + if (!this.trackingEnabled) return; + if (!userId || userId === '' || userId === 'undefined' || userId === 'null') { - console.error('MatomoTrackingService: Invalid or undefined userId'); + console.error('MatomoTrackingService: Invalid userId:', userId); + return; + } + + const _paq = (window as any)._paq; + if (!_paq) { + console.error('_paq not available for setUserId'); return; } + _paq.push(['setUserId', userId]); } pageView(path: string) { + if (!this.trackingEnabled) return; + if (!path || typeof path !== 'string') { - console.error('MatomoTrackingService: Invalid or undefined path'); + console.error('MatomoTrackingService: Invalid path:', path); return; } + + const _paq = (window as any)._paq; + if (!_paq) { + console.error('_paq not available for pageView'); + return; + } + _paq.push(['setCustomUrl', path]); _paq.push(['trackPageView']); } - event(category: string, action: string, label?: string, value?: number) { + event(category: string, action: string, label?: string, value?: number) { + if (!this.trackingEnabled) { + return; + } + + const _paq = (window as any)._paq; + if (!_paq) { + console.error('_paq not available for event tracking!'); + return; + } + if (!category || typeof category !== 'string') { - console.error('MatomoTrackingService: Invalid or undefined category'); return; } if (!action || typeof action !== 'string') { - console.error('MatomoTrackingService: Invalid or undefined action'); return; } @@ -69,7 +143,6 @@ export class MatomoTrackingService implements TrackingProvider { if (value !== undefined && typeof value === 'number') { args.push(value); } - _paq.push(args); } } \ No newline at end of file From 9232b485599982ee8e046b700360baf5d232ddc6 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Wed, 9 Jul 2025 17:52:12 +0530 Subject: [PATCH 15/35] feat: Added tracking to registraion form --- .../abha-information/abha-information.component.html | 7 ++++--- .../abha-information/abha-information.component.ts | 8 +++++++- .../location-information.component.html | 3 ++- .../location-information.component.ts | 6 ++++++ .../personal-information.component.html | 7 ++++++- .../personal-information.component.ts | 10 ++++++++-- 6 files changed, 33 insertions(+), 8 deletions(-) diff --git a/src/registrar/registration/abha-information/abha-information.component.html b/src/registrar/registration/abha-information/abha-information.component.html index be5bd5c..e26c2ab 100644 --- a/src/registrar/registration/abha-information/abha-information.component.html +++ b/src/registrar/registration/abha-information/abha-information.component.html @@ -5,7 +5,7 @@ class="full-width-login pull-right m-r-5 mat_blue" id="viewHealthID" type="accent" - (click)="viewHealthIdData()" + (click)="viewHealthIdData(); trackFieldInteraction('ABHA Details')" > ABHA Details @@ -16,7 +16,7 @@ mat-raised-button color="primary" class="full-width-login pull-right m-r-5 mat_blue" - (click)="printHealthIDCard()" + (click)="printHealthIDCard(); trackFieldInteraction('Search ABHA')" > Search ABHA @@ -44,6 +44,7 @@ placeholder="{{ item.placeholder }}" [required]="item.isRequired || false" formControlName="{{ item.fieldName }}" + (focus)="trackFieldInteraction('ABHA Number')" /> diff --git a/src/registrar/registration/abha-information/abha-information.component.ts b/src/registrar/registration/abha-information/abha-information.component.ts index 53af336..6858a0a 100644 --- a/src/registrar/registration/abha-information/abha-information.component.ts +++ b/src/registrar/registration/abha-information/abha-information.component.ts @@ -11,6 +11,7 @@ import { Subscription } from 'rxjs'; import { GenerateAbhaComponentComponent } from '../../abha-components/generate-abha-component/generate-abha-component.component'; import { DownloadSearchAbhaComponent } from '../../abha-components/download-search-abha/download-search-abha.component'; import { AbhaConsentFormComponent } from '../../abha-components/abha-consent-form/abha-consent-form.component'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-abha-information', @@ -42,7 +43,8 @@ export class AbhaInformationComponent { private dialog: MatDialog, private confirmationService: ConfirmationService, private httpServiceService: HttpServiceService, - private languageComponent: SetLanguageComponent + private languageComponent: SetLanguageComponent, + private trackingService: AmritTrackingService, ) { this.abhaInfoSubscription = this.registrarService.registrationABHADetails$.subscribe( @@ -227,4 +229,8 @@ export class AbhaInformationComponent { }); } + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Abha Information'); + } + } diff --git a/src/registrar/registration/location-information/location-information.component.html b/src/registrar/registration/location-information/location-information.component.html index cea8abb..da247e3 100644 --- a/src/registrar/registration/location-information/location-information.component.html +++ b/src/registrar/registration/location-information/location-information.component.html @@ -12,6 +12,7 @@ matInput type="input" (input)="onInputChanged($event, item.allowMax, item.fieldName)" + (focus)="trackFieldInteraction(item.fieldTitle)" placeholder="{{ item.placeholder }}" [required]="item.isRequired || false" formControlName="{{ item.fieldName }}" /> @@ -128,7 +129,7 @@ [required]="item.isRequired || false" placeholder="{{ item.placeholder }}" formControlName="{{ item.fieldName }}" - (selectionChange)="onChangeLocation(item.fieldName, $event.value)" + (selectionChange)="onChangeLocation(item.fieldName, $event.value); trackFieldInteraction(item.fieldTitle)" > {{ option }} diff --git a/src/registrar/registration/location-information/location-information.component.ts b/src/registrar/registration/location-information/location-information.component.ts index badd2ad..3fbdc83 100644 --- a/src/registrar/registration/location-information/location-information.component.ts +++ b/src/registrar/registration/location-information/location-information.component.ts @@ -10,6 +10,7 @@ import { import { RegistrarService } from '../../services/registrar.service'; import { Subscription } from 'rxjs'; import { SessionStorageService } from '../../services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking' @Component({ selector: 'app-location-information', @@ -49,6 +50,7 @@ export class LocationInformationComponent { private fb: FormBuilder, private registrarService: RegistrarService, private sessionstorage:SessionStorageService, + private trackingService: AmritTrackingService ) { this.registrationSubscription = this.registrarService.abhaLocationDetails$.subscribe((result: any) => { if(result){ @@ -498,4 +500,8 @@ export class LocationInformationComponent { this.registrationSubscription.unsubscribe(); } } + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Location'); + } } diff --git a/src/registrar/registration/personal-information/personal-information.component.html b/src/registrar/registration/personal-information/personal-information.component.html index 262e3b5..69ef10e 100644 --- a/src/registrar/registration/personal-information/personal-information.component.html +++ b/src/registrar/registration/personal-information/personal-information.component.html @@ -24,7 +24,7 @@ mat-raised-button id="captureButton" class="m-t-10 mat_captureButton" - (click)="captureImage()" + (click)="captureImage(); trackFieldInteraction('Upload Beneficiary Image')" type="button"> Capture Photo @@ -45,6 +45,7 @@ matInput type="input" (input)="onInputChanged($event, item.allowMax, item.fieldName)" + (focus)="trackFieldInteraction(item.fieldTitle || item.fieldName)" placeholder="{{ item.placeholder }}" [required]="item.isRequired || false" (change)="checkFieldValidations(item)" @@ -76,6 +77,7 @@ @@ -124,6 +127,7 @@ }} diff --git a/src/registrar/registration/personal-information/personal-information.component.ts b/src/registrar/registration/personal-information/personal-information.component.ts index b5c88fa..fa9d2ae 100644 --- a/src/registrar/registration/personal-information/personal-information.component.ts +++ b/src/registrar/registration/personal-information/personal-information.component.ts @@ -26,6 +26,7 @@ import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, } from '@angular/material-moment-adapter'; import { HttpServiceService } from 'src/app/app-modules/core/services/http-service.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-personal-information', @@ -88,7 +89,8 @@ export class PersonalInformationComponent { private beneficiaryDetailsService: BeneficiaryDetailsService, private confirmationService: ConfirmationService, private languageComponent: SetLanguageComponent, - private httpServiceService: HttpServiceService + private httpServiceService: HttpServiceService, + private trackingService: AmritTrackingService ) { this.personalInfoSubscription = this.registrarService.registrationABHADetails$.subscribe( @@ -110,7 +112,7 @@ export class PersonalInformationComponent { } ); } - + ngOnInit() { this.fetchLanguageResponse(); this.formData.forEach((item: any) => { @@ -857,6 +859,10 @@ export class PersonalInformationComponent { this.languageComponent.setLanguage(); this.currentLanguageSet = this.languageComponent.currentLanguageObject; } + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Personal Information'); + } } export function maxLengthValidator(maxLength: number): ValidatorFn { From c136ff0f3f453d89e1b7268b23ea11d3703ecce6 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Wed, 9 Jul 2025 17:57:56 +0530 Subject: [PATCH 16/35] feat: added console.error statements at required places --- src/tracking/lib/matomo-tracking.service.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tracking/lib/matomo-tracking.service.ts b/src/tracking/lib/matomo-tracking.service.ts index c18f504..b68b417 100644 --- a/src/tracking/lib/matomo-tracking.service.ts +++ b/src/tracking/lib/matomo-tracking.service.ts @@ -129,10 +129,12 @@ export class MatomoTrackingService implements TrackingProvider { } if (!category || typeof category !== 'string') { + console.error('MatomoTrackingService: Invalid category:', category); return; } if (!action || typeof action !== 'string') { + console.error('MatomoTrackingService: Invalid action:', action); return; } From 48fc2512d5fdfd06b508afe997aaa2eb4be3c382 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Sat, 2 Aug 2025 01:10:45 +0530 Subject: [PATCH 17/35] feat: Added userID function in amrit tracking service --- src/tracking/lib/amrit-tracking.service.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/tracking/lib/amrit-tracking.service.ts b/src/tracking/lib/amrit-tracking.service.ts index 4b376fa..44d3e5a 100644 --- a/src/tracking/lib/amrit-tracking.service.ts +++ b/src/tracking/lib/amrit-tracking.service.ts @@ -93,6 +93,16 @@ export class AmritTrackingService implements OnDestroy { this.trackEvent(category, 'Field Interaction', fieldName); } + setUserId(userId: string | number) { + if (userId && userId !== null && userId !== undefined && userId !== '') { + const userIdString = userId.toString(); + this.trackingProvider.setUserId(userIdString); + console.log('User ID manually set in tracking provider:', userIdString); + } else { + console.warn('Invalid user ID provided to setUserId:', userId); + } + } + ngOnDestroy() { this.destroy$.next(); this.destroy$.complete(); From 460e897d8f8648ae8c0d35808abe166fd3fac565 Mon Sep 17 00:00:00 2001 From: SnehaRH Date: Tue, 12 Aug 2025 16:10:47 +0530 Subject: [PATCH 18/35] fix: amm-1573 search option fix for location feilds in registration module --- .../location-information.component.html | 37 ++++++------- .../location-information.component.ts | 54 ++++++++++++------- 2 files changed, 55 insertions(+), 36 deletions(-) diff --git a/src/registrar/registration/location-information/location-information.component.html b/src/registrar/registration/location-information/location-information.component.html index cea8abb..5814df7 100644 --- a/src/registrar/registration/location-information/location-information.component.html +++ b/src/registrar/registration/location-information/location-information.component.html @@ -114,29 +114,30 @@ -
- - {{ item.fieldTitle }} - + + + {{ item.fieldTitle }} + + - + [formControlName]="item.fieldName" + [matAutocomplete]="auto" + (input)="filterOptions(item)" + (focus)="showAllOptions(item)" + /> + + + {{ option }} - +
- + diff --git a/src/registrar/registration/location-information/location-information.component.ts b/src/registrar/registration/location-information/location-information.component.ts index badd2ad..06ee259 100644 --- a/src/registrar/registration/location-information/location-information.component.ts +++ b/src/registrar/registration/location-information/location-information.component.ts @@ -44,19 +44,20 @@ export class LocationInformationComponent { patchAbhaLocationDetails = false; patchAbhaBenLocationDetails: any; registrationSubscription!: Subscription; + filteredOptions: { [key: string]: string[] } = {}; constructor( private fb: FormBuilder, private registrarService: RegistrarService, - private sessionstorage:SessionStorageService, + private sessionstorage: SessionStorageService, ) { - this.registrationSubscription = this.registrarService.abhaLocationDetails$.subscribe((result: any) => { - if(result){ - this.patchAbhaLocationDetails = true; - this.patchAbhaBenLocationDetails = result; - this.loadLocalMasterForDemographic(); - } - }); + this.registrationSubscription = this.registrarService.abhaLocationDetails$.subscribe((result: any) => { + if (result) { + this.patchAbhaLocationDetails = true; + this.patchAbhaBenLocationDetails = result; + this.loadLocalMasterForDemographic(); + } + }); } ngOnInit() { @@ -75,7 +76,12 @@ export class LocationInformationComponent { item.fieldName, new FormControl(null), ); + // Initialize filtered list with all options + if (item.options) { + this.filteredOptions[item.fieldName] = [...item.options]; + } } + }); this.locationInfoFormGroup.addControl('stateID', new FormControl()); this.locationInfoFormGroup.addControl('districtID', new FormControl()); @@ -100,6 +106,16 @@ export class LocationInformationComponent { console.log('location Form Data', this.formData); } + showAllOptions(item: any) { + item.filteredOptions = [...item.options]; + } + + filterOptions(item: any) { + const inputValue = this.locationInfoFormGroup.get(item.fieldName)?.value?.toLowerCase() || ''; + item.filteredOptions = item.options.filter((opt: string) => + opt.toLowerCase().includes(inputValue) + ); + } loadLocationFromStorage() { const locationData: any = this.sessionstorage.getItem('location'); const location = JSON.parse(locationData); @@ -173,6 +189,7 @@ export class LocationInformationComponent { } onChangeLocation(fieldNamevalue: any, selectedValue: any) { + if (fieldNamevalue === 'stateName') { const stateDetails = this.statesList.find((value: any) => { return value.stateName === selectedValue; @@ -210,6 +227,7 @@ export class LocationInformationComponent { const villageDetails = this.villageList.find((value: any) => { return value.villageName === selectedValue; }); + this.locationInfoFormGroup.patchValue({ districtBranchID: villageDetails?.districtBranchID, districtBranchName: villageDetails?.villageName, @@ -265,15 +283,15 @@ export class LocationInformationComponent { stateID: this.locationPatchDetails.stateID, stateName: this.locationPatchDetails.stateName, }); - } else if(this.patchAbhaLocationDetails){ + } else if (this.patchAbhaLocationDetails) { let localStateId; let localStateName; this.statesList.find((item: any) => { - if(item.govtLGDStateID === parseInt(this.patchAbhaBenLocationDetails.stateID)){ + if (item.govtLGDStateID === parseInt(this.patchAbhaBenLocationDetails.stateID)) { localStateId = item.stateID; localStateName = item.stateName; - } - }); + } + }); this.locationInfoFormGroup.patchValue({ stateID: localStateId, stateName: localStateName, @@ -309,15 +327,15 @@ export class LocationInformationComponent { districtID: this.locationPatchDetails.districtID, districtName: this.locationPatchDetails.districtName, }); - } else if(this.patchAbhaLocationDetails){ + } else if (this.patchAbhaLocationDetails) { let localDistrictId; let localDistrictName; this.districtList.find((item: any) => { - if(item.govtLGDDistrictID === parseInt(this.patchAbhaBenLocationDetails.districtID)){ + if (item.govtLGDDistrictID === parseInt(this.patchAbhaBenLocationDetails.districtID)) { localDistrictId = item.districtID; localDistrictName = item.districtName; - } - }); + } + }); this.locationInfoFormGroup.patchValue({ districtID: localDistrictId, districtName: localDistrictName, @@ -493,8 +511,8 @@ export class LocationInformationComponent { } } - ngOnDestroy(){ - if(this.registrationSubscription){ + ngOnDestroy() { + if (this.registrationSubscription) { this.registrationSubscription.unsubscribe(); } } From 72871ce8790ab62b4ae32dc63c72bf38c9dc9e0b Mon Sep 17 00:00:00 2001 From: SnehaRH Date: Wed, 13 Aug 2025 09:13:48 +0530 Subject: [PATCH 19/35] fix: circular dependency injection issue in ui analytics --- .../abha-information/abha-information.component.ts | 8 +++++--- .../location-information.component.ts | 7 +++++-- .../personal-information.component.ts | 11 +++++++---- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/registrar/registration/abha-information/abha-information.component.ts b/src/registrar/registration/abha-information/abha-information.component.ts index 6858a0a..ffdb365 100644 --- a/src/registrar/registration/abha-information/abha-information.component.ts +++ b/src/registrar/registration/abha-information/abha-information.component.ts @@ -1,4 +1,4 @@ -import { Component, Input } from '@angular/core'; +import { Component, Injector, Input } from '@angular/core'; import { Router } from '@angular/router'; import { RegistrarService } from '../../services/registrar.service'; import { MatDialog } from '@angular/material/dialog'; @@ -44,7 +44,8 @@ export class AbhaInformationComponent { private confirmationService: ConfirmationService, private httpServiceService: HttpServiceService, private languageComponent: SetLanguageComponent, - private trackingService: AmritTrackingService, + private injector: Injector + ) { this.abhaInfoSubscription = this.registrarService.registrationABHADetails$.subscribe( @@ -230,7 +231,8 @@ export class AbhaInformationComponent { } trackFieldInteraction(fieldName: string) { - this.trackingService.trackFieldInteraction(fieldName, 'Abha Information'); + const trackingService = this.injector.get(AmritTrackingService); + trackingService.trackFieldInteraction(fieldName, 'Abha Information'); } } diff --git a/src/registrar/registration/location-information/location-information.component.ts b/src/registrar/registration/location-information/location-information.component.ts index 63e6f1d..d04aa5b 100644 --- a/src/registrar/registration/location-information/location-information.component.ts +++ b/src/registrar/registration/location-information/location-information.component.ts @@ -11,6 +11,7 @@ import { RegistrarService } from '../../services/registrar.service'; import { Subscription } from 'rxjs'; import { SessionStorageService } from '../../services/session-storage.service'; import { AmritTrackingService } from 'Common-UI/src/tracking' +import { Injector } from '@angular/core'; @Component({ selector: 'app-location-information', @@ -51,7 +52,8 @@ export class LocationInformationComponent { private fb: FormBuilder, private registrarService: RegistrarService, private sessionstorage:SessionStorageService, - private trackingService: AmritTrackingService + private injector: Injector + ) { this.registrationSubscription = this.registrarService.abhaLocationDetails$.subscribe((result: any) => { if (result) { @@ -520,6 +522,7 @@ export class LocationInformationComponent { } trackFieldInteraction(fieldName: string) { - this.trackingService.trackFieldInteraction(fieldName, 'Location'); + const trackingService = this.injector.get(AmritTrackingService); + trackingService.trackFieldInteraction(fieldName, 'Location'); } } diff --git a/src/registrar/registration/personal-information/personal-information.component.ts b/src/registrar/registration/personal-information/personal-information.component.ts index fa9d2ae..9f45564 100644 --- a/src/registrar/registration/personal-information/personal-information.component.ts +++ b/src/registrar/registration/personal-information/personal-information.component.ts @@ -27,6 +27,8 @@ import { } from '@angular/material-moment-adapter'; import { HttpServiceService } from 'src/app/app-modules/core/services/http-service.service'; import { AmritTrackingService } from 'Common-UI/src/tracking'; +import { Injector } from '@angular/core'; + @Component({ selector: 'app-personal-information', @@ -90,7 +92,9 @@ export class PersonalInformationComponent { private confirmationService: ConfirmationService, private languageComponent: SetLanguageComponent, private httpServiceService: HttpServiceService, - private trackingService: AmritTrackingService + private injector: Injector + + // private trackingService: AmritTrackingService ) { this.personalInfoSubscription = this.registrarService.registrationABHADetails$.subscribe( @@ -861,7 +865,8 @@ export class PersonalInformationComponent { } trackFieldInteraction(fieldName: string) { - this.trackingService.trackFieldInteraction(fieldName, 'Personal Information'); + const trackingService = this.injector.get(AmritTrackingService); + trackingService.trackFieldInteraction(fieldName, 'Personal Information'); } } @@ -870,8 +875,6 @@ export function maxLengthValidator(maxLength: number): ValidatorFn { const value = control.value; if (value && value.length > maxLength) { - console.log('maxLnegthvalidator', value); - return { maxLengthExceeded: true }; } From 7602023350e6fd2dbb84bdcadbd7fc831f276519 Mon Sep 17 00:00:00 2001 From: SnehaRH Date: Wed, 13 Aug 2025 14:50:19 +0530 Subject: [PATCH 20/35] fix: amm-1572 added the block and village fields --- .../search-dialog.component.html | 214 ++++++++---------- .../search-dialog/search-dialog.component.ts | 185 ++++++++++++--- src/registrar/search/search.component.ts | 4 +- 3 files changed, 251 insertions(+), 152 deletions(-) diff --git a/src/registrar/search-dialog/search-dialog.component.html b/src/registrar/search-dialog/search-dialog.component.html index c6a865b..d870741 100644 --- a/src/registrar/search-dialog/search-dialog.component.html +++ b/src/registrar/search-dialog/search-dialog.component.html @@ -1,11 +1,8 @@

{{ currentLanguageSet?.common?.advanceBeneficiarySearch }}

-
@@ -17,64 +14,38 @@

{{ currentLanguageSet?.common?.advanceBeneficiarySearch }}

{{ currentLanguageSet?.ro?.personalInfo?.firstName - }} - - + }} + + {{ - currentLanguageSet?.benDetailsAlert?.firstNameMandatory - }} - + currentLanguageSet?.benDetailsAlert?.firstNameMandatory + }} + {{ - currentLanguageSet?.benDetailsAlert?.minCharRequired - }} + currentLanguageSet?.benDetailsAlert?.minCharRequired + }}
{{ currentLanguageSet?.ro?.personalInfo?.lastName - }} - + }} +
{{ currentLanguageSet?.ro?.otherInfo?.fatherName - }} - - {{ - currentLanguageSet?.common?.pleaseprovideatleast2character - }} + }} + + {{ + currentLanguageSet?.common?.pleaseprovideatleast2character + }}
@@ -82,18 +53,11 @@

{{ currentLanguageSet?.common?.advanceBeneficiarySearch }}

{{ currentLanguageSet?.ro?.personalInfo?.gender - }} - + - {{ gender.genderName }} + {{ + gender.genderName }} @@ -103,15 +67,9 @@

{{ currentLanguageSet?.common?.advanceBeneficiarySearch }}

{{ currentLanguageSet?.ro?.personalInfo?.dateOfBirth - }} - - + }} + +
@@ -119,78 +77,94 @@

{{ currentLanguageSet?.common?.advanceBeneficiarySearch }}

- - - {{ currentLanguageSet?.travel?.state }} - - - {{ state.stateName | titlecase }} + + + + {{ currentLanguageSet?.travel?.state }} + + + + + {{ state.stateName | titlecase }} - +
- - {{ - currentLanguageSet?.travel?.district - }} - - {{ district.districtName | titlecase }} + + + {{ currentLanguageSet?.travel?.district }} + + + + {{ district.districtName | titlecase }} - + + +
+
+
+
+ +
+
+ + + + {{ block.blockName | titlecase }} + + + {{ currentLanguageSet?.block }} + + + + {{ block.blockName | titlecase }} + + + + +
+
+
+
+ + + {{ currentLanguageSet?.village }} + + + + {{ village.villageName | titlecase }} + + + +
+ - - - -
-
+ \ No newline at end of file diff --git a/src/registrar/search-dialog/search-dialog.component.ts b/src/registrar/search-dialog/search-dialog.component.ts index 106fcf1..29283bb 100644 --- a/src/registrar/search-dialog/search-dialog.component.ts +++ b/src/registrar/search-dialog/search-dialog.component.ts @@ -28,7 +28,7 @@ import { AfterViewChecked, DoCheck, } from '@angular/core'; -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms'; import { MatDialogRef } from '@angular/material/dialog'; import { SetLanguageComponent } from 'src/app/app-modules/core/components/set-language.component'; import { ConfirmationService } from 'src/app/app-modules/core/services'; @@ -46,6 +46,7 @@ import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, } from '@angular/material-moment-adapter'; import { SessionStorageService } from '../services/session-storage.service'; +import { map, Observable, startWith } from 'rxjs'; interface Beneficary { firstName: string; @@ -111,6 +112,21 @@ export class SearchDialogComponent implements OnInit, DoCheck { newSearchForm!: FormGroup; maxDate = new Date(); + blockList: any[] = []; + + blockID: any; + villageID: any; + villageList: any[] = []; + + stateCtrl = new FormControl(); + districtCtrl = new FormControl(); + blockCtrl = new FormControl(); + villageCtrl = new FormControl(); + + filteredStates!: Observable; + filteredDistricts!: Observable; + filteredBlocks!: Observable; + filteredVillages!: Observable; constructor( private confirmationService: ConfirmationService, @@ -119,18 +135,135 @@ export class SearchDialogComponent implements OnInit, DoCheck { private fb: FormBuilder, private httpServiceService: HttpServiceService, private registrarService: RegistrarService, - private sessionstorage:SessionStorageService, + private sessionstorage: SessionStorageService, private changeDetectorRef: ChangeDetectorRef - ) {} + ) { } ngOnInit() { this.fetchLanguageResponse(); this.newSearchForm = this.createBeneficiaryForm(); - // Call For MAster Data which will be loaded in Sub Components this.callMasterDataObservable(); this.getStatesData(); //to be called from masterobservable method layter this.today = new Date(); + + // initialize filtering + this.filteredStates = this.stateCtrl.valueChanges.pipe( + startWith(''), + map(value => this._filter(value, this.states, 'stateName')) + ); + + this.filteredDistricts = this.districtCtrl.valueChanges.pipe( + startWith(''), + map(value => this._filter(value, this.districts, 'districtName')) + ); + + this.filteredBlocks = this.blockCtrl.valueChanges.pipe( + startWith(''), + map(value => this._filter(value, this.blockList, 'blockName')) + ); + + this.filteredVillages = this.villageCtrl.valueChanges.pipe( + startWith(''), + map(value => this._filter(value, this.villageList, 'villageName')) + ); + } + + private _filter(value: any, list: any[], key: string): any[] { + if (!value || !list) return list; + + let filterValue: string; + if (typeof value === 'string') { + filterValue = value.toLowerCase(); + } else if (value && value[key]) { + // If an object was selected, use its label + filterValue = value[key].toLowerCase(); + } else { + return list; + } + + return list.filter(option => + option[key]?.toLowerCase().includes(filterValue) + ); + } + + + onStateSelected(state: any) { + if (!state) return; + this.newSearchForm.get('stateID')?.setValue(state.stateID); + // Call service directly + this.registrarService.getDistrictList(state.stateID).subscribe((res: any) => { + if (res && res.statusCode === 200) { + this.districts = res.data; + this.districtCtrl.setValue(''); // clear district field + this.blockCtrl.setValue(''); // clear block field + this.villageCtrl.setValue(''); // clear village field + this.blockList = []; + this.villageList = []; + } else { + this.confirmationService.alert( + this.currentLanguageSet.alerts.info.issueFetching, + 'error' + ); + } + }); + } + + onDistrictSelected(district: any) { + if (!district) return; + this.newSearchForm.get('districtID')?.setValue(district.districtID); + // Call service directly + this.registrarService.getSubDistrictList(district.districtID).subscribe((res: any) => { + if (res && res.statusCode === 200) { + this.blockList = res.data; + this.blockCtrl.setValue(''); // clear block field + this.villageCtrl.setValue(''); // clear village field + this.villageList = []; + } else { + this.confirmationService.alert( + this.currentLanguageSet.alerts.info.IssuesInFetchingDemographics, + 'error' + ); + } + }); + } + + onBlockSelected(block: any) { + if (!block) return; + this.newSearchForm.get('blockID')?.setValue(block.blockID); + // Call service directly + this.registrarService.getVillageList(block.blockID).subscribe((res: any) => { + if (res && res.statusCode === 200) { + this.villageList = res.data; + this.villageCtrl.setValue(''); // clear village field + } else { + this.confirmationService.alert( + this.currentLanguageSet.alerts.info.IssuesInFetchingLocationDetails, + 'error' + ); + } + }); + } + + onVillageSelected(village: any) { + if (!village) return; + this.newSearchForm.get('villageID')?.setValue(village.districtBranchID); + } + + displayStateFn(state?: any): string { + return state ? state.stateName : ''; + } + + displayDistrictFn(district?: any): string { + return district ? district.districtName : ''; + } + + displayBlockFn(block?: any): string { + return block ? block.blockName : ''; + } + + displayVillageFn(village?: any): string { + return village ? village.villageName : ''; } AfterViewChecked() { @@ -146,14 +279,26 @@ export class SearchDialogComponent implements OnInit, DoCheck { gender: [null, Validators.required], stateID: [null, Validators.required], districtID: [null, Validators.required], + blockID: [null], + villageID: [null], }); } - resetBeneficiaryForm() { this.newSearchForm.reset(); + + // Reset the autocomplete FormControls + this.stateCtrl.setValue(''); + this.districtCtrl.setValue(''); + this.blockCtrl.setValue(''); + this.villageCtrl.setValue(''); + + // Clear the lists so dropdowns are empty + this.districts = []; + this.blockList = []; + this.villageList = []; + this.getStatesData(); } - /** * * Call Master Data Observable @@ -209,7 +354,7 @@ export class SearchDialogComponent implements OnInit, DoCheck { console.log(this.govtIDs, 'idsss'); } - onIDCardSelected() {} + onIDCardSelected() { } /** * get states from localstorage and set default state @@ -225,33 +370,11 @@ export class SearchDialogComponent implements OnInit, DoCheck { this.locations.otherLoc.stateID; this.newSearchForm.controls['districtID'] = this.locations.otherLoc.districtList[0].districtID; - this.onStateChange(); + // this.onStateChange(); } } } - onStateChange() { - const stateIDVal: any = this.newSearchForm.controls['stateID'].value; - if (stateIDVal) { - this.registrarService - .getDistrictList(stateIDVal) - .subscribe((res: any) => { - if (res && res.statusCode === 200) { - this.districts = res.data; - } else { - this.confirmationService.alert( - this.currentLanguageSet.alerts.info.issueFetching, - 'error' - ); - this.matDialogRef.close(false); - } - }); - } - } - // getStates() { - // this.commonService.getStates(this.countryId).subscribe(res => {this.states = res}); - - // } getDistricts(stateID: any) { this.commonService.getDistricts(stateID).subscribe(res => { @@ -271,6 +394,8 @@ export class SearchDialogComponent implements OnInit, DoCheck { i_bendemographics: { stateID: formValues.stateID, districtID: formValues.districtID, + blockID: formValues.blockID, + villageID: formValues.villageID, }, }; //Passing form data to component and closing the dialog diff --git a/src/registrar/search/search.component.ts b/src/registrar/search/search.component.ts index ff18762..814ea12 100644 --- a/src/registrar/search/search.component.ts +++ b/src/registrar/search/search.component.ts @@ -387,8 +387,8 @@ export class SearchComponent implements OnInit, DoCheck, AfterViewChecked { ); mdDialogRef.afterClosed().subscribe((result) => { + if (result) { - console.log('something fishy happening here', result); this.advanceSearchTerm = result; this.registrarService .advanceSearchIdentity(this.advanceSearchTerm) @@ -405,7 +405,7 @@ export class SearchComponent implements OnInit, DoCheck, AfterViewChecked { this.dataSource.paginator = this.paginator; this.quicksearchTerm = null; this.confirmationService.alert( - this.currentLanguageSet.alerts.info.beneficiarynotfound, + this.currentLanguageSet.alerts.info.beneficiaryNotFound, 'info', ); } else { From 20c5ed4d7c3aa5fa2b2d33d118a3f8720c00f70d Mon Sep 17 00:00:00 2001 From: SnehaRH Date: Wed, 13 Aug 2025 15:15:05 +0530 Subject: [PATCH 21/35] fix: removed commented and unused code --- .../personal-information.component.ts | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/src/registrar/registration/personal-information/personal-information.component.ts b/src/registrar/registration/personal-information/personal-information.component.ts index 9f45564..f90d181 100644 --- a/src/registrar/registration/personal-information/personal-information.component.ts +++ b/src/registrar/registration/personal-information/personal-information.component.ts @@ -93,8 +93,6 @@ export class PersonalInformationComponent { private languageComponent: SetLanguageComponent, private httpServiceService: HttpServiceService, private injector: Injector - - // private trackingService: AmritTrackingService ) { this.personalInfoSubscription = this.registrarService.registrationABHADetails$.subscribe( @@ -332,22 +330,7 @@ export class PersonalInformationComponent { } } - changeLiteracyStatus() { - const literacyStatus = this.personalInfoFormGroup.value.literacyStatus; - - if (literacyStatus !== 'Literate') { - console.log(this.personalInfoFormGroup.controls, 'controls'); - // this.personalInfoFormGroup.controls['educationQualification'].clearValidators(); - console.log( - this.personalInfoFormGroup.controls['educationQualification'], - 'controls' - ); - } else { - this.personalInfoFormGroup.controls['educationQualification'].reset(); - } - } - - /** + /** * Phone Number Parent Relations */ getParentDetails() { From c2121ed1408a7ebf08e094b7d2a69ae3e4fe3576 Mon Sep 17 00:00:00 2001 From: SnehaRH Date: Wed, 13 Aug 2025 15:19:08 +0530 Subject: [PATCH 22/35] fix: removed commented code and logs --- src/registrar/search-dialog/search-dialog.component.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/registrar/search-dialog/search-dialog.component.ts b/src/registrar/search-dialog/search-dialog.component.ts index 29283bb..b503ded 100644 --- a/src/registrar/search-dialog/search-dialog.component.ts +++ b/src/registrar/search-dialog/search-dialog.component.ts @@ -335,7 +335,6 @@ export class SearchDialogComponent implements OnInit, DoCheck { this.newSearchForm.controls['genderName'] = element.genderName; } }); - console.log(this.newSearchForm.controls, 'csdvde'); } /** @@ -343,7 +342,6 @@ export class SearchDialogComponent implements OnInit, DoCheck { */ govtIDData() { - console.log(this.masterData, 'govtidddds'); const govID = this.masterData.govIdEntityMaster; const otherGovID = this.masterData.otherGovIdEntityMaster; @@ -351,7 +349,6 @@ export class SearchDialogComponent implements OnInit, DoCheck { govID.push(element); }); this.govtIDs = govID; - console.log(this.govtIDs, 'idsss'); } onIDCardSelected() { } @@ -370,7 +367,6 @@ export class SearchDialogComponent implements OnInit, DoCheck { this.locations.otherLoc.stateID; this.newSearchForm.controls['districtID'] = this.locations.otherLoc.districtList[0].districtID; - // this.onStateChange(); } } } From 85489973e7f6751c471efc9c495d231e0bde5992 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Fri, 22 Aug 2025 18:05:34 +0530 Subject: [PATCH 23/35] feat: Added matomo documentation file --- matomo-documentation.md | 191 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 matomo-documentation.md diff --git a/matomo-documentation.md b/matomo-documentation.md new file mode 100644 index 0000000..d111fdf --- /dev/null +++ b/matomo-documentation.md @@ -0,0 +1,191 @@ +# Matomo on Arch Linux: A Comprehensive Setup Guide + +This document provides a complete, step-by-step guide for installing **Matomo**, a powerful open-source web analytics platform, on an **Arch Linux**. + +This setup utilizes a robust and modern stack: +* **nginx** and **PHP-FPM** run directly on the host for optimal performance. +* **MySQL** is containerized using **Docker** for easy management and isolation. + +--- + +## 📋 1. Prerequisites + +Before you begin, ensure your system meets the following requirements: + +* You have an **Linux** system. +* **Docker** is installed and running. +* You have a user with `sudo` privileges. +* You have a running MySQL container. For this guide, we'll assume its name is `amrit-mysql`. + +--- + +## 🐬 2. Prepare the MySQL Database + +First, we'll create a dedicated database and user for Matomo within your Dockerized MySQL container. This script is idempotent, meaning it will safely `DROP` and recreate the database and user if they already exist, ensuring a clean slate. + +1. **Verify the MySQL container is running:** + ```bash + docker ps + ``` + *You should see your MySQL container in the output list.* + +2. **Execute the database setup script:** + This command logs into your MySQL container and runs a series of SQL commands to prepare the environment. + + ```bash + # Replace 'amrit-mysql' with your container name and 'root123' with your MySQL root password. + docker exec -i amrit-mysql mysql -uroot -proot123 <<'EOF' + DROP DATABASE IF EXISTS matomo_db; + DROP USER IF EXISTS 'matomo_user'@'%'; + CREATE DATABASE matomo_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; + CREATE USER 'matomo_user'@'%' IDENTIFIED BY 'matomo123'; + GRANT ALL PRIVILEGES ON matomo_db.* TO 'matomo_user'@'%'; + FLUSH PRIVILEGES; + EOF + ``` + > **Note:** This creates a user named `matomo_user` with the password `matomo123`. For a production environment, always use a strong, securely generated password. + +--- + +## 📦 3. Install Host Dependencies + +Next, install nginx, PHP, and the necessary PHP extensions on your Arch Linux host. + +1. **Install packages using Pacman:** + ```bash + sudo pacman -Syu nginx php php-fpm unzip wget + ``` + +2. **Enable and start the services:** + The `enable --now` command both starts the services immediately and ensures they launch automatically on system boot. + ```bash + sudo systemctl enable --now php-fpm nginx + ``` + +--- + +## 📂 4. Download Matomo + +Now, we will download the latest version of Matomo and place it in the web server's root directory, setting the correct permissions. + +1. **Create the web directory and set initial ownership:** + ```bash + sudo mkdir -p /srv/http/matomo + sudo chown $USER:$USER /srv/http/matomo + ``` + +2. **Download and extract the Matomo files:** + This sequence downloads the latest release, extracts it to a temporary folder, moves the contents to the final destination, and cleans up the temporary files. + ```bash + cd ~ + wget [https://builds.matomo.org/matomo-latest.zip](https://builds.matomo.org/matomo-latest.zip) + unzip matomo-latest.zip -d matomo-temp + mv matomo-temp/matomo/* /srv/http/matomo/ + rm -rf matomo-temp matomo-latest.zip + ``` + +3. **Set final file permissions:** + It's crucial to set the correct ownership and permissions so that the web server (`http` user) can read, write, and execute files as needed. + ```bash + # Set ownership to the web server user + sudo chown -R http:http /srv/http/matomo + + # Set standard permissions: 775 for directories, 664 for files + sudo find /srv/http/matomo -type d -exec chmod 775 {} \; + sudo find /srv/http/matomo -type f -exec chmod 664 {} \; + ``` + +--- + +## ⚙️ 5. Configure Nginx + +We need to tell nginx how to serve the Matomo application. We'll do this by creating a dedicated virtual host configuration file. + +1. **Create the nginx virtual host file:** + The following command creates the configuration file at `/etc/nginx/sites-available/matomo.conf`. + ```bash + sudo mkdir -p /etc/nginx/sites-available + sudo tee /etc/nginx/sites-available/matomo.conf > /dev/null << 'EOF' + server { + listen 80 default_server; + server_name localhost; # Replace with your domain in production + + root /srv/http/matomo; + index index.php; + + access_log /var/log/nginx/matomo.access.log; + error_log /var/log/nginx/matomo.error.log; + + # Standard file serving + location / { + try_files $uri $uri/ =404; + } + + # Pass PHP scripts to PHP-FPM + location ~ \.php$ { + try_files $uri =404; + include fastcgi_params; + fastcgi_pass unix:/run/php-fpm/php-fpm.sock; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + } + + # Block access to sensitive directories for security + location ~ ^/(config|tmp|core|lang) { + deny all; + return 403; + } + + # Block access to .htaccess files + location ~ /\.ht { + deny all; + } + } + EOF + ``` + +2. **Enable the new site configuration:** + We create a symbolic link from the `sites-available` directory to `sites-enabled`. This is a common practice that makes it easy to enable or disable sites. + ```bash + sudo mkdir -p /etc/nginx/sites-enabled + sudo ln -sf /etc/nginx/sites-available/matomo.conf /etc/nginx/sites-enabled/matomo.conf + ``` + +3. **Ensure the main `nginx.conf` includes virtual hosts:** + Open `/etc/nginx/nginx.conf` and verify that the `http` block contains the following line. It's usually there by default on Arch Linux. + ```nginx + http { + # ... other directives + include /etc/nginx/sites-enabled/*.conf; + # ... other directives + } + ``` + +4. **Test and reload nginx:** + Always test the configuration before applying it. + ```bash + sudo nginx -t && sudo systemctl reload nginx + ``` + +--- + +## 6. Run the Matomo Web Installer + +With the backend configured, you can now complete the installation through the web interface. + +1. Navigate to **`http://localhost` or `http://127.0.0.1/`** (or your server's IP/domain) in your browser. +2. Follow the on-screen instructions: + * **System Check**: Matomo will check if all dependencies are met. Click **Next**. + * **Database Setup**: Enter the credentials we created in Step 2. + * Database Server: `127.0.0.1` + * Login: `matomo_user` + * Password: `matomo123` + * Database Name: `matomo_db` + * Table Prefix: `matomo_` + * Adapter: `PDO\MYSQL` + * **Super User**: Create your primary administrator account. + * **Set up a Website**: Enter the details of the first website you want to track. + * **JavaScript Tracking Code**: Copy the provided snippet. You will add this to the pages of the website you want to track. + * **Done**: The installation is complete! Proceed to your Matomo dashboard. + + From 533dd2f6f5be644e44a3fcbac2cfafbdca0be0a5 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Sat, 23 Aug 2025 10:40:06 +0530 Subject: [PATCH 24/35] Fix: Added documentation for Ubuntu --- matomo-documentation.md | 97 ++++++++++++++++++++++++++--------------- 1 file changed, 63 insertions(+), 34 deletions(-) diff --git a/matomo-documentation.md b/matomo-documentation.md index d111fdf..950b078 100644 --- a/matomo-documentation.md +++ b/matomo-documentation.md @@ -1,6 +1,6 @@ -# Matomo on Arch Linux: A Comprehensive Setup Guide +# Matomo on Ubuntu: A Comprehensive Setup Guide -This document provides a complete, step-by-step guide for installing **Matomo**, a powerful open-source web analytics platform, on an **Arch Linux**. +This document provides a complete, step-by-step guide for installing **Matomo**, a powerful open-source web analytics platform, on an **Ubuntu** system. This setup utilizes a robust and modern stack: * **nginx** and **PHP-FPM** run directly on the host for optimal performance. @@ -12,7 +12,7 @@ This setup utilizes a robust and modern stack: Before you begin, ensure your system meets the following requirements: -* You have an **Linux** system. +* You have an **Ubuntu** system (18.04 LTS or later recommended). * **Docker** is installed and running. * You have a user with `sudo` privileges. * You have a running MySQL container. For this guide, we'll assume its name is `amrit-mysql`. @@ -49,18 +49,20 @@ First, we'll create a dedicated database and user for Matomo within your Dockeri ## 📦 3. Install Host Dependencies -Next, install nginx, PHP, and the necessary PHP extensions on your Arch Linux host. +Next, install nginx, PHP, and the necessary PHP extensions on your Ubuntu host. -1. **Install packages using Pacman:** +1. **Update package list and install packages using APT:** ```bash - sudo pacman -Syu nginx php php-fpm unzip wget + sudo apt update + sudo apt install -y nginx php-fpm php-mysql php-xml php-gd php-mbstring php-curl php-zip unzip wget ``` 2. **Enable and start the services:** - The `enable --now` command both starts the services immediately and ensures they launch automatically on system boot. ```bash - sudo systemctl enable --now php-fpm nginx + sudo systemctl enable nginx php8.1-fpm + sudo systemctl start nginx php8.1-fpm ``` + > **Note:** Replace `php8.1-fpm` with your PHP version if different. You can check with `php --version`. --- @@ -70,29 +72,33 @@ Now, we will download the latest version of Matomo and place it in the web serve 1. **Create the web directory and set initial ownership:** ```bash - sudo mkdir -p /srv/http/matomo - sudo chown $USER:$USER /srv/http/matomo + sudo mkdir -p /var/www/matomo + sudo chown $USER:$USER /var/www/matomo ``` 2. **Download and extract the Matomo files:** This sequence downloads the latest release, extracts it to a temporary folder, moves the contents to the final destination, and cleans up the temporary files. ```bash cd ~ - wget [https://builds.matomo.org/matomo-latest.zip](https://builds.matomo.org/matomo-latest.zip) + wget https://builds.matomo.org/matomo-latest.zip unzip matomo-latest.zip -d matomo-temp - mv matomo-temp/matomo/* /srv/http/matomo/ + mv matomo-temp/matomo/* /var/www/matomo/ rm -rf matomo-temp matomo-latest.zip ``` 3. **Set final file permissions:** - It's crucial to set the correct ownership and permissions so that the web server (`http` user) can read, write, and execute files as needed. + It's crucial to set the correct ownership and permissions so that the web server (`www-data` user) can read, write, and execute files as needed. ```bash # Set ownership to the web server user - sudo chown -R http:http /srv/http/matomo + sudo chown -R www-data:www-data /var/www/matomo - # Set standard permissions: 775 for directories, 664 for files - sudo find /srv/http/matomo -type d -exec chmod 775 {} \; - sudo find /srv/http/matomo -type f -exec chmod 664 {} \; + # Set standard permissions: 755 for directories, 644 for files + sudo find /var/www/matomo -type d -exec chmod 755 {} \; + sudo find /var/www/matomo -type f -exec chmod 644 {} \; + + # Set write permissions for specific directories that Matomo needs to write to + sudo chmod -R 755 /var/www/matomo/tmp + sudo chmod -R 755 /var/www/matomo/config ``` --- @@ -102,19 +108,18 @@ Now, we will download the latest version of Matomo and place it in the web serve We need to tell nginx how to serve the Matomo application. We'll do this by creating a dedicated virtual host configuration file. 1. **Create the nginx virtual host file:** - The following command creates the configuration file at `/etc/nginx/sites-available/matomo.conf`. + The following command creates the configuration file at `/etc/nginx/sites-available/matomo`. ```bash - sudo mkdir -p /etc/nginx/sites-available - sudo tee /etc/nginx/sites-available/matomo.conf > /dev/null << 'EOF' + sudo tee /etc/nginx/sites-available/matomo > /dev/null << 'EOF' server { listen 80 default_server; server_name localhost; # Replace with your domain in production - root /srv/http/matomo; - index index.php; + root /var/www/matomo; + index index.php; - access_log /var/log/nginx/matomo.access.log; - error_log /var/log/nginx/matomo.error.log; + access_log /var/log/nginx/matomo.access.log; + error_log /var/log/nginx/matomo.error.log; # Standard file serving location / { @@ -124,10 +129,8 @@ We need to tell nginx how to serve the Matomo application. We'll do this by crea # Pass PHP scripts to PHP-FPM location ~ \.php$ { try_files $uri =404; - include fastcgi_params; - fastcgi_pass unix:/run/php-fpm/php-fpm.sock; - fastcgi_index index.php; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include snippets/fastcgi-php.conf; + fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; } # Block access to sensitive directories for security @@ -140,26 +143,32 @@ We need to tell nginx how to serve the Matomo application. We'll do this by crea location ~ /\.ht { deny all; } + + # Block access to sensitive files + location ~ \.(ini|log|conf)$ { + deny all; + } } EOF ``` + > **Note:** Replace `php8.1-fpm.sock` with your PHP version if different. -2. **Enable the new site configuration:** - We create a symbolic link from the `sites-available` directory to `sites-enabled`. This is a common practice that makes it easy to enable or disable sites. +2. **Disable the default nginx site and enable Matomo:** ```bash - sudo mkdir -p /etc/nginx/sites-enabled - sudo ln -sf /etc/nginx/sites-available/matomo.conf /etc/nginx/sites-enabled/matomo.conf + sudo unlink /etc/nginx/sites-enabled/default + sudo ln -s /etc/nginx/sites-available/matomo /etc/nginx/sites-enabled/ ``` 3. **Ensure the main `nginx.conf` includes virtual hosts:** - Open `/etc/nginx/nginx.conf` and verify that the `http` block contains the following line. It's usually there by default on Arch Linux. + Open `/etc/nginx/nginx.conf` and verify that the `http` block contains the following line. It's usually there by default on Ubuntu. ```nginx http { # ... other directives - include /etc/nginx/sites-enabled/*.conf; + include /etc/nginx/sites-enabled/*; # ... other directives } ``` + > **Note:** Ubuntu uses `/etc/nginx/sites-enabled/*` (without `.conf` extension) unlike some other distributions. 4. **Test and reload nginx:** Always test the configuration before applying it. @@ -188,4 +197,24 @@ With the backend configured, you can now complete the installation through the w * **JavaScript Tracking Code**: Copy the provided snippet. You will add this to the pages of the website you want to track. * **Done**: The installation is complete! Proceed to your Matomo dashboard. +--- + +## 🔧 7. Additional Ubuntu-Specific Notes + +* **Firewall Configuration**: If you have UFW enabled, allow HTTP traffic: + ```bash + sudo ufw allow 'Nginx HTTP' + ``` + +* **PHP Version Management**: Ubuntu often has multiple PHP versions. Check your active version: + ```bash + php --version + sudo systemctl status php*-fpm + ``` + +* **Troubleshooting**: If you encounter permission issues, ensure the web server user has proper access: + ```bash + sudo usermod -a -G www-data $USER + ``` + From 4f93b9c7c71bb824a5f7f235f4c65611272db365 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Wed, 3 Sep 2025 02:31:45 +0530 Subject: [PATCH 25/35] Added Tracking Service Documentation --- matomo-documentation.md | 467 +++++++++++------- matomo-local-setup.md | 220 +++++++++ .../images/tracking-high-level-diagram.png | Bin 0 -> 155044 bytes 3 files changed, 497 insertions(+), 190 deletions(-) create mode 100644 matomo-local-setup.md create mode 100644 src/assets/images/tracking-high-level-diagram.png diff --git a/matomo-documentation.md b/matomo-documentation.md index 950b078..114fda8 100644 --- a/matomo-documentation.md +++ b/matomo-documentation.md @@ -1,220 +1,307 @@ -# Matomo on Ubuntu: A Comprehensive Setup Guide +# Matomo Tracking System Documentation + +## Table of Contents + +1. [Overview](#overview) +2. [How It Works](#how-it-works) +3. [Setup and Configuration](#setup-and-configuration) +4. [Adding Tracking to Components](#adding-tracking-to-components) +5. [Adding a New Website to Matomo](#adding-a-new-website-to-matomo) +6. [API Reference](#api-reference) +7. [Best Practices](#tips-we-can-use-while-adding-tracking) +8. [Troubleshooting](#troubleshooting) -This document provides a complete, step-by-step guide for installing **Matomo**, a powerful open-source web analytics platform, on an **Ubuntu** system. +## Overview -This setup utilizes a robust and modern stack: -* **nginx** and **PHP-FPM** run directly on the host for optimal performance. -* **MySQL** is containerized using **Docker** for easy management and isolation. +The Amrit tracking system is a flexible analytics solution that supports multiple tracking providers (Matomo, Google Analytics) with a unified interface. It automatically tracks page views, user interactions, and custom events throughout your Angular application. + +### Key Features + +- Multiple provider support (Matomo, Google Analytics) +- Automatic page view tracking +- User identification tracking +- Environment-based configuration +- Built-in error handling and fallbacks +- Rich event tracking capabilities ---- +## How It Works -## 📋 1. Prerequisites +### System Architecture Diagram -Before you begin, ensure your system meets the following requirements: +![Amrit Tracking System Architecture](src/assets/images/tracking-high-level-diagram.png) -* You have an **Ubuntu** system (18.04 LTS or later recommended). -* **Docker** is installed and running. -* You have a user with `sudo` privileges. -* You have a running MySQL container. For this guide, we'll assume its name is `amrit-mysql`. +*High-level architecture showing the complete data flow from Angular components to external analytics platforms* ---- +### Architecture Overview + +The Amrit tracking system follows a layered architecture pattern: -## 🐬 2. Prepare the MySQL Database +#### 1. Configuration Layer +- **TrackingModule**: Provides dependency injection configuration +- **Environment Configuration**: Defines platform-specific settings (Matomo/GA) +- **Injection Tokens**: Enable flexible provider configuration + +#### 2. Platform Services Layer +- **Matomo Tracking Service**: Handles Matomo-specific tracking implementation +- **Google Analytics Tracking Service**: Handles GA-specific tracking implementation +- **Provider Selection**: Dynamically selects the appropriate service based on configuration + +#### 3. Amrit Tracking Interface Layer +- **Router Integration**: Automatic page view tracking via Angular Router events +- **Session Management**: User session and ID management +- **Error Handling**: Graceful fallback mechanisms +- **Method Abstraction**: Unified tracking methods (trackEvent, trackButtonClick, etc.) + +#### 4. Application Components Layer +- **Manual/Automatic Tracking**: Components can trigger tracking events +- **User Session Layer**: Provides user ID for session tracking +- **Enabled/Disable Flag**: Conditional tracking based on environment settings + +#### 5. External Analytics Layer +- **Matomo Server**: Receives HTTP tracking data via matomo.php endpoint +- **Google Analytics**: Receives tracking data via GA tracking endpoints + +``` +┌─────────────────────┐ ┌──────────────────────┐ ┌─────────────────────┐ +│ Angular Component │───▶│ AmritTrackingService │───▶│ TrackingProvider │ +└─────────────────────┘ └──────────────────────┘ │ (Matomo/GA) │ + │ └─────────────────────┘ + ▼ │ + ┌──────────────────────┐ ▼ + │ Router Events │ ┌─────────────────────┐ + │ (Auto Page Tracking)│ │ External Analytics │ + └──────────────────────┘ │ Platform │ + └─────────────────────┘ +``` + +### Component Interaction Flow + +1. **Initialization**: `AmritTrackingService` loads the appropriate tracking provider based on environment configuration +2. **Auto-tracking**: Router events are automatically captured for page view tracking +3. **Manual tracking**: Components can call tracking methods for custom events +4. **Provider delegation**: All tracking calls are forwarded to the configured provider (Matomo/GA) + +## Setup and Configuration + +### 1. Environment Configuration + +Add tracking configuration to your environment files: + +```typescript +// src/environments/environment.ts +export const environment = { + // ... other config + tracking: { + platform: "matomo", // or 'ga' + siteId: 1, + trackerUrl: "https://matomo.piramalswasthya.org/", + trackingPlatform: "platform", + enabled: true, + }, +}; +``` + +### 2. Module Import + +Import the tracking module in your app module: + +```typescript +// app.module.ts +import { TrackingModule } from "Common-UI/src/tracking"; + +@NgModule({ + imports: [ + // ... other imports + TrackingModule.forRoot(), + ], + // ... +}) +export class AppModule {} +``` + +## Adding Tracking to Components + +### Basic Component Integration + +Here's how to add tracking to any Angular component: + +```typescript +import { Component } from "@angular/core"; +import { AmritTrackingService } from "@common-ui/tracking"; + +@Component({ + selector: "app-user-registration", + templateUrl: "./user-registration.component.html", +}) +export class UserRegistrationComponent { + constructor(private trackingService: AmritTrackingService) {} + + // Track button clicks + onSubmitRegistration() { + this.trackingService.trackButtonClick("Submit Registration"); + this.trackingService.trackFormSubmit("User Registration Form"); + } + + // Track field interactions + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, "Facility Selection"); + } +} +``` + +### Template Integration + +Add tracking to template interactions: + +```html + +
+ + + + + -First, we'll create a dedicated database and user for Matomo within your Dockerized MySQL container. This script is idempotent, meaning it will safely `DROP` and recreate the database and user if they already exist, ensuring a clean slate. + +
+``` -1. **Verify the MySQL container is running:** - ```bash - docker ps - ``` - *You should see your MySQL container in the output list.* +## Adding a New Website to Matomo -2. **Execute the database setup script:** - This command logs into your MySQL container and runs a series of SQL commands to prepare the environment. +### Step 1: Access Matomo Admin Panel + +1. Log into your Matomo instance admin panel +2. Navigate to **Administration** → **Websites** → **Manage** + +### Step 2: Add New Website + +1. Click **"Add a new website"** +2. Fill in the website details: + ``` + Website Name: Your Website Name + Website URL: https://yourwebsite.com + Time zone: Select appropriate timezone + Currency: Select currency if e-commerce tracking needed + ``` - ```bash - # Replace 'amrit-mysql' with your container name and 'root123' with your MySQL root password. - docker exec -i amrit-mysql mysql -uroot -proot123 <<'EOF' - DROP DATABASE IF EXISTS matomo_db; - DROP USER IF EXISTS 'matomo_user'@'%'; - CREATE DATABASE matomo_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; - CREATE USER 'matomo_user'@'%' IDENTIFIED BY 'matomo123'; - GRANT ALL PRIVILEGES ON matomo_db.* TO 'matomo_user'@'%'; - FLUSH PRIVILEGES; - EOF - ``` - > **Note:** This creates a user named `matomo_user` with the password `matomo123`. For a production environment, always use a strong, securely generated password. +### Step 3: Get Tracking Information ---- +After creating the website, Matomo will provide: -## 📦 3. Install Host Dependencies +- **Site ID**: A unique number (e.g., 3) +- **Tracking URL**: Your Matomo instance URL -Next, install nginx, PHP, and the necessary PHP extensions on your Ubuntu host. +### Step 4: Configure Your Application -1. **Update package list and install packages using APT:** - ```bash - sudo apt update - sudo apt install -y nginx php-fpm php-mysql php-xml php-gd php-mbstring php-curl php-zip unzip wget - ``` +Update your environment configuration: -2. **Enable and start the services:** - ```bash - sudo systemctl enable nginx php8.1-fpm - sudo systemctl start nginx php8.1-fpm - ``` - > **Note:** Replace `php8.1-fpm` with your PHP version if different. You can check with `php --version`. +```typescript +// src/environments/environment.prod.ts +export const environment = { + tracking: { + enabled: true, + platform: "matomo", + siteId: 3, // The new Site ID from Matomo + trackerUrl: "https://matomo.piramalswasthya.org/", + }, +}; +``` ---- +### Step 5: Verify Tracking -## 📂 4. Download Matomo - -Now, we will download the latest version of Matomo and place it in the web server's root directory, setting the correct permissions. - -1. **Create the web directory and set initial ownership:** - ```bash - sudo mkdir -p /var/www/matomo - sudo chown $USER:$USER /var/www/matomo - ``` - -2. **Download and extract the Matomo files:** - This sequence downloads the latest release, extracts it to a temporary folder, moves the contents to the final destination, and cleans up the temporary files. - ```bash - cd ~ - wget https://builds.matomo.org/matomo-latest.zip - unzip matomo-latest.zip -d matomo-temp - mv matomo-temp/matomo/* /var/www/matomo/ - rm -rf matomo-temp matomo-latest.zip - ``` - -3. **Set final file permissions:** - It's crucial to set the correct ownership and permissions so that the web server (`www-data` user) can read, write, and execute files as needed. - ```bash - # Set ownership to the web server user - sudo chown -R www-data:www-data /var/www/matomo - - # Set standard permissions: 755 for directories, 644 for files - sudo find /var/www/matomo -type d -exec chmod 755 {} \; - sudo find /var/www/matomo -type f -exec chmod 644 {} \; - - # Set write permissions for specific directories that Matomo needs to write to - sudo chmod -R 755 /var/www/matomo/tmp - sudo chmod -R 755 /var/www/matomo/config - ``` +1. Deploy your application with the new configuration +2. Visit your website +3. Check Matomo dashboard for incoming data +4. Navigate to **Visitors** → **Real-time** to see live visitors ---- -## ⚙️ 5. Configure Nginx - -We need to tell nginx how to serve the Matomo application. We'll do this by creating a dedicated virtual host configuration file. - -1. **Create the nginx virtual host file:** - The following command creates the configuration file at `/etc/nginx/sites-available/matomo`. - ```bash - sudo tee /etc/nginx/sites-available/matomo > /dev/null << 'EOF' - server { - listen 80 default_server; - server_name localhost; # Replace with your domain in production - - root /var/www/matomo; - index index.php; - - access_log /var/log/nginx/matomo.access.log; - error_log /var/log/nginx/matomo.error.log; - - # Standard file serving - location / { - try_files $uri $uri/ =404; - } - - # Pass PHP scripts to PHP-FPM - location ~ \.php$ { - try_files $uri =404; - include snippets/fastcgi-php.conf; - fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; - } - - # Block access to sensitive directories for security - location ~ ^/(config|tmp|core|lang) { - deny all; - return 403; - } - - # Block access to .htaccess files - location ~ /\.ht { - deny all; - } - - # Block access to sensitive files - location ~ \.(ini|log|conf)$ { - deny all; - } - } - EOF - ``` - > **Note:** Replace `php8.1-fpm.sock` with your PHP version if different. - -2. **Disable the default nginx site and enable Matomo:** - ```bash - sudo unlink /etc/nginx/sites-enabled/default - sudo ln -s /etc/nginx/sites-available/matomo /etc/nginx/sites-enabled/ - ``` - -3. **Ensure the main `nginx.conf` includes virtual hosts:** - Open `/etc/nginx/nginx.conf` and verify that the `http` block contains the following line. It's usually there by default on Ubuntu. - ```nginx - http { - # ... other directives - include /etc/nginx/sites-enabled/*; - # ... other directives - } - ``` - > **Note:** Ubuntu uses `/etc/nginx/sites-enabled/*` (without `.conf` extension) unlike some other distributions. - -4. **Test and reload nginx:** - Always test the configuration before applying it. - ```bash - sudo nginx -t && sudo systemctl reload nginx - ``` +## API Reference ---- +### AmritTrackingService Methods -## 6. Run the Matomo Web Installer - -With the backend configured, you can now complete the installation through the web interface. - -1. Navigate to **`http://localhost` or `http://127.0.0.1/`** (or your server's IP/domain) in your browser. -2. Follow the on-screen instructions: - * **System Check**: Matomo will check if all dependencies are met. Click **Next**. - * **Database Setup**: Enter the credentials we created in Step 2. - * Database Server: `127.0.0.1` - * Login: `matomo_user` - * Password: `matomo123` - * Database Name: `matomo_db` - * Table Prefix: `matomo_` - * Adapter: `PDO\MYSQL` - * **Super User**: Create your primary administrator account. - * **Set up a Website**: Enter the details of the first website you want to track. - * **JavaScript Tracking Code**: Copy the provided snippet. You will add this to the pages of the website you want to track. - * **Done**: The installation is complete! Proceed to your Matomo dashboard. +| Method | Parameters | Description | +| ------------------------- | ------------------------------------------------------------------ | -------------------------------- | +| `trackEvent()` | `category: string, action: string, label?: string, value?: number` | Track custom events | +| `trackButtonClick()` | `buttonName: string` | Track button interactions | +| `trackFormSubmit()` | `formName: string` | Track form submissions | +| `trackFeatureUsage()` | `featureName: string` | Track feature utilization | +| `trackFieldInteraction()` | `fieldName: string, category?: string` | Track form field interactions | +| `setUserId()` | `userId: string \| number` | Set user identifier for tracking | ---- +### Event Categories + +| Category | Purpose | Example Actions | +| -------------- | ---------------------------- | -------------------------------------------------- | +| `UI` | User interface interactions | `ButtonClick`, `MenuOpen`, `TabSwitch` | +| `Form` | Form-related activities | `Submit`, `Validation Error`, `Field Focus` | +| `Feature` | Feature usage tracking | `Usage`, `Enable`, `Configure` | +| `Registration` | User registration flow | `Field Interaction`, `Step Complete`, `Validation` | +| `Navigation` | Page and route changes | `Page View`, `Route Change`, `Back Button` | + +### Tips we can use while adding tracking +- Inputs: Can use (focus) to call the tracking function so that it calls only once for the input. + +- Dropdowns (mat-select): Can use (selectionChange) to call function to track events. + +- Buttons: Can use (click) to call function to track events. +Use the field label plus 'Button' (e.g., 'Advance Search Button'). -## 🔧 7. Additional Ubuntu-Specific Notes +## Troubleshooting -* **Firewall Configuration**: If you have UFW enabled, allow HTTP traffic: - ```bash - sudo ufw allow 'Nginx HTTP' - ``` +### Common Issues -* **PHP Version Management**: Ubuntu often has multiple PHP versions. Check your active version: - ```bash - php --version - sudo systemctl status php*-fpm - ``` +1. **Events not appearing in Matomo** -* **Troubleshooting**: If you encounter permission issues, ensure the web server user has proper access: - ```bash - sudo usermod -a -G www-data $USER - ``` + ```typescript + // Check if tracking is enabled + console.log("Tracking enabled:", environment.tracking.enabled); + // Verify site ID and URL + console.log("Site ID:", environment.tracking.siteId); + console.log("Tracker URL:", environment.tracking.trackerUrl); + + // Check browser console for errors + ``` + +2. **Script loading failures** + + ```typescript + // Check network connectivity to Matomo instance + // Verify CORS settings on Matomo server + // Check Content Security Policy (CSP) headers + ``` + +3. **User ID not being set** + + ```typescript + // Verify session storage service is working + const userId = this.sessionStorage.getItem("userID"); + console.log("Retrieved User ID:", userId); + +### Support + +For additional support: + +1. Check Matomo documentation: https://matomo.org/docs/ +2. Review browser developer tools for errors +3. Test with Matomo's real-time visitor log +4. Verify network requests to tracking endpoint + +--- +_Last updated: September 2025_ diff --git a/matomo-local-setup.md b/matomo-local-setup.md new file mode 100644 index 0000000..950b078 --- /dev/null +++ b/matomo-local-setup.md @@ -0,0 +1,220 @@ +# Matomo on Ubuntu: A Comprehensive Setup Guide + +This document provides a complete, step-by-step guide for installing **Matomo**, a powerful open-source web analytics platform, on an **Ubuntu** system. + +This setup utilizes a robust and modern stack: +* **nginx** and **PHP-FPM** run directly on the host for optimal performance. +* **MySQL** is containerized using **Docker** for easy management and isolation. + +--- + +## 📋 1. Prerequisites + +Before you begin, ensure your system meets the following requirements: + +* You have an **Ubuntu** system (18.04 LTS or later recommended). +* **Docker** is installed and running. +* You have a user with `sudo` privileges. +* You have a running MySQL container. For this guide, we'll assume its name is `amrit-mysql`. + +--- + +## 🐬 2. Prepare the MySQL Database + +First, we'll create a dedicated database and user for Matomo within your Dockerized MySQL container. This script is idempotent, meaning it will safely `DROP` and recreate the database and user if they already exist, ensuring a clean slate. + +1. **Verify the MySQL container is running:** + ```bash + docker ps + ``` + *You should see your MySQL container in the output list.* + +2. **Execute the database setup script:** + This command logs into your MySQL container and runs a series of SQL commands to prepare the environment. + + ```bash + # Replace 'amrit-mysql' with your container name and 'root123' with your MySQL root password. + docker exec -i amrit-mysql mysql -uroot -proot123 <<'EOF' + DROP DATABASE IF EXISTS matomo_db; + DROP USER IF EXISTS 'matomo_user'@'%'; + CREATE DATABASE matomo_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; + CREATE USER 'matomo_user'@'%' IDENTIFIED BY 'matomo123'; + GRANT ALL PRIVILEGES ON matomo_db.* TO 'matomo_user'@'%'; + FLUSH PRIVILEGES; + EOF + ``` + > **Note:** This creates a user named `matomo_user` with the password `matomo123`. For a production environment, always use a strong, securely generated password. + +--- + +## 📦 3. Install Host Dependencies + +Next, install nginx, PHP, and the necessary PHP extensions on your Ubuntu host. + +1. **Update package list and install packages using APT:** + ```bash + sudo apt update + sudo apt install -y nginx php-fpm php-mysql php-xml php-gd php-mbstring php-curl php-zip unzip wget + ``` + +2. **Enable and start the services:** + ```bash + sudo systemctl enable nginx php8.1-fpm + sudo systemctl start nginx php8.1-fpm + ``` + > **Note:** Replace `php8.1-fpm` with your PHP version if different. You can check with `php --version`. + +--- + +## 📂 4. Download Matomo + +Now, we will download the latest version of Matomo and place it in the web server's root directory, setting the correct permissions. + +1. **Create the web directory and set initial ownership:** + ```bash + sudo mkdir -p /var/www/matomo + sudo chown $USER:$USER /var/www/matomo + ``` + +2. **Download and extract the Matomo files:** + This sequence downloads the latest release, extracts it to a temporary folder, moves the contents to the final destination, and cleans up the temporary files. + ```bash + cd ~ + wget https://builds.matomo.org/matomo-latest.zip + unzip matomo-latest.zip -d matomo-temp + mv matomo-temp/matomo/* /var/www/matomo/ + rm -rf matomo-temp matomo-latest.zip + ``` + +3. **Set final file permissions:** + It's crucial to set the correct ownership and permissions so that the web server (`www-data` user) can read, write, and execute files as needed. + ```bash + # Set ownership to the web server user + sudo chown -R www-data:www-data /var/www/matomo + + # Set standard permissions: 755 for directories, 644 for files + sudo find /var/www/matomo -type d -exec chmod 755 {} \; + sudo find /var/www/matomo -type f -exec chmod 644 {} \; + + # Set write permissions for specific directories that Matomo needs to write to + sudo chmod -R 755 /var/www/matomo/tmp + sudo chmod -R 755 /var/www/matomo/config + ``` + +--- + +## ⚙️ 5. Configure Nginx + +We need to tell nginx how to serve the Matomo application. We'll do this by creating a dedicated virtual host configuration file. + +1. **Create the nginx virtual host file:** + The following command creates the configuration file at `/etc/nginx/sites-available/matomo`. + ```bash + sudo tee /etc/nginx/sites-available/matomo > /dev/null << 'EOF' + server { + listen 80 default_server; + server_name localhost; # Replace with your domain in production + + root /var/www/matomo; + index index.php; + + access_log /var/log/nginx/matomo.access.log; + error_log /var/log/nginx/matomo.error.log; + + # Standard file serving + location / { + try_files $uri $uri/ =404; + } + + # Pass PHP scripts to PHP-FPM + location ~ \.php$ { + try_files $uri =404; + include snippets/fastcgi-php.conf; + fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; + } + + # Block access to sensitive directories for security + location ~ ^/(config|tmp|core|lang) { + deny all; + return 403; + } + + # Block access to .htaccess files + location ~ /\.ht { + deny all; + } + + # Block access to sensitive files + location ~ \.(ini|log|conf)$ { + deny all; + } + } + EOF + ``` + > **Note:** Replace `php8.1-fpm.sock` with your PHP version if different. + +2. **Disable the default nginx site and enable Matomo:** + ```bash + sudo unlink /etc/nginx/sites-enabled/default + sudo ln -s /etc/nginx/sites-available/matomo /etc/nginx/sites-enabled/ + ``` + +3. **Ensure the main `nginx.conf` includes virtual hosts:** + Open `/etc/nginx/nginx.conf` and verify that the `http` block contains the following line. It's usually there by default on Ubuntu. + ```nginx + http { + # ... other directives + include /etc/nginx/sites-enabled/*; + # ... other directives + } + ``` + > **Note:** Ubuntu uses `/etc/nginx/sites-enabled/*` (without `.conf` extension) unlike some other distributions. + +4. **Test and reload nginx:** + Always test the configuration before applying it. + ```bash + sudo nginx -t && sudo systemctl reload nginx + ``` + +--- + +## 6. Run the Matomo Web Installer + +With the backend configured, you can now complete the installation through the web interface. + +1. Navigate to **`http://localhost` or `http://127.0.0.1/`** (or your server's IP/domain) in your browser. +2. Follow the on-screen instructions: + * **System Check**: Matomo will check if all dependencies are met. Click **Next**. + * **Database Setup**: Enter the credentials we created in Step 2. + * Database Server: `127.0.0.1` + * Login: `matomo_user` + * Password: `matomo123` + * Database Name: `matomo_db` + * Table Prefix: `matomo_` + * Adapter: `PDO\MYSQL` + * **Super User**: Create your primary administrator account. + * **Set up a Website**: Enter the details of the first website you want to track. + * **JavaScript Tracking Code**: Copy the provided snippet. You will add this to the pages of the website you want to track. + * **Done**: The installation is complete! Proceed to your Matomo dashboard. + +--- + +## 🔧 7. Additional Ubuntu-Specific Notes + +* **Firewall Configuration**: If you have UFW enabled, allow HTTP traffic: + ```bash + sudo ufw allow 'Nginx HTTP' + ``` + +* **PHP Version Management**: Ubuntu often has multiple PHP versions. Check your active version: + ```bash + php --version + sudo systemctl status php*-fpm + ``` + +* **Troubleshooting**: If you encounter permission issues, ensure the web server user has proper access: + ```bash + sudo usermod -a -G www-data $USER + ``` + + diff --git a/src/assets/images/tracking-high-level-diagram.png b/src/assets/images/tracking-high-level-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..d99c46d2452373f84cb1e98a172fe28152bd2498 GIT binary patch literal 155044 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%0D*{N`2n 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 Date: Wed, 3 Sep 2025 02:34:32 +0530 Subject: [PATCH 26/35] Improved Diagram of Architecture --- .../images/tracking-high-level-diagram.png | Bin 155044 -> 165211 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/assets/images/tracking-high-level-diagram.png b/src/assets/images/tracking-high-level-diagram.png index d99c46d2452373f84cb1e98a172fe28152bd2498..c61bf2bdf1b83103277a132dc65b98be6bd364a3 100644 GIT binary patch literal 165211 zcmeFZ1yq~MwYykju zbpR&-0JsJqxc~r=5Fz5@O3#H0e}^w2!yWz(1Eeod{0B@#C5DR$VStN7A{ioVnn2`2 zd=feQHTW}mfSetCENm=2Et!BOX54>^gIqj4d@bBu9b7z_fK1l*mQGF}7dsGyiJJ-H z3iYrCS$JC7LHfvDL;6g-$x`16=yoBJ^>Aha@)I*1AQli$2Wv3Mg9&JB=>!3BGyUKJvax_TxDa2+ z$r9rEcMJ=Nr5CZ*o*qylmbI&kr=^1nL{V2k=MM}50q0);w^bCC6#>NFAT}!T=X~zM zxU!s_#dB>;(byzU003uVvuZ0neQ0Q8{P60Rzf%0jv$Te|{doS9K;%mp z`)j9-@ca{;f0caQ1_ZGtB77tMGkXvVCsy_@5x#5pSD5_=Z1q=I@(1kg>E=nqdHw_T z(AAbB!Zt*h-R>vY>L=LR&Ep6D8zPRRvlH}3SwF&$VMYdW(bFM5uMz+001$vSKnd{l z$NLlG#Ne6-0Eq1a0GHnWo@SK>0Mv&90QV<;Ph)-$0Ni>F03Zi{Py4-1+$=pT|HAIa z;J#=}oHRQ{006lW06_T}0JvfDmptOnKdIY8Vip~-UarJHJAe}a1b7Hg2DkvM0lY*= z0PqCB4-h%W1LTO^`M(!_F!|r(K%_qZ4RGh$CFGT!OBa{`7w=rSbmzkPM*t(Sxi0}O z{e}DA-uLRY>zA+GAh~#n^aq0XZNLSRix&YGF5S3!gY4S%OH=@o%U7;mymaB(_4@{? zcPQ@OqZTtv!HiK-JrEYv^YnR#K-Q09AMuOpL%qC1lk1p-WVMVue3NP$M!ww;(b2Vx z&mDfuETHZFGNF2wRq&}*;)jkQ7B+dvtD0>NIctZIw7lXuV!^b;*+DGj!ryB3<8k5Q zrOQ`Ht`ak??hsd}OP4NRy>aK-wadi%UHXxEhvf33D-`@%mQ=EO?(s?ADDN@}i|AI@ zjf~wB(ALrSfIz)oCM2iiB8G;Ao+j2HKa66i1?8+kp0(SLt!!*VSwr$>nOPL)!rD8| zCjexZh!wbV=?*{!uqDo%ZzAtEMIM z#)hv4>~1TEwd`_`4F=UK6;HaajL2I`TFc4x_DU=keJp`GRKi#F1~~^+C6A%VDJfjV zaclqGcXq~ha;%^{8x2sNQyK;Lm@h@4M%{#M-}By3IbKu2a-A}Q1D>>XD|Uu%aY>~H zS5}j>rdQ#ScDGSrE{&v^B1D&xwLeS5=@UzLBJY(sXEbdplj+KEZ81%0VuQhmih_D| z`1b&oTsw}lH~l0foMK=Lv4TO#;rVsLb^5k9--l9sPj5*zI^kDADdJAO48C8^f(%>Y zcT zIbfqQYz3!1TWwopuwv39G#8fS(D1^iZdMoG^TjbPh0i8nq2zl#`C*e}wg2NK9?i}M z*Zv_?n#sC1n{>)_5NLbPN6B!Kjw>Lb!)o``_aLl3CoLe5;bwJ%nEv;}u+F6i$-iM3f5P*%A}9?Q=R~{BWaN7b)Q@j!1oAYW z^v*ATgT{PluSfTZ@QL+RTq!>M39pyBM%rWa#3bxwincMi73~38ab8-qU{rcl=5mv& zRob%Jw+rMZtn?Ee!|xrlOzaneL}HGrtBk<+BT0H|H@EWbUGnGwL9Umj(m&ztbgsu` zB4qB(wuvfkf?TU7GmlJs4^z=YU)E?}g}TPQb24{NGbPvh2~X*#juM4%1;&0|8paRy zwMxfb{j+oa?3_Pm&Yv^q&t>gTne(U2`BNeIQz7_MTl-U${!^9ybD!h$r$X?jLhwJL z5U{y|or}zUu!0yPobw?hZfIgX-5mCgRjZOA*iN%%a<;KKADbdwA!#$d9PZU-wzju{ zsi*gU67K34)to#gaeVz*=iPRlD&>8piqd)=!Xc$3n`bn=c>ChFtO20!Tb5syO@&cP zDI%>6QXJ8rMugvYE*P^B`W<$0H7Qf97*MT6y;^jWSyKRtC4I(wI(Dy07M!`uO)zot z%4l6e7}=Vzi8&F(zSJ0V?>h7M)T-sM4oUZO2HKj57!BL?H*M@XyW>Dg($EyFl|HSm z2TR$?NZIFZ#54ul2fNfPks&huNWu4sWRUmC0=gwbJ^6r3RYDK{^XA7(+Q;Ccu;UM_ z;_%T~GG2NeS(^R%X6LcDhpyxHqg1NUnAZ*TLd_)Fl+t5W;Wd0iz3L-l^+le;39c=b zS3i;8T-{98kKykEpMi}eP+|)`QW0;h*Y4Vp@5AwN43F;&ym(-8Uv<0L?yzP-(deyT z?8Ff-Ei8>=?v`N9bMX(2-rcuuRQE7GR_>wYVdR9H>ORup`HYZ8X;_=7C#Yntn}pF0 zC+olFQR1a6p|;bXIK9$nsW~YOOWmAD1kvu#Tb-czEuAJdqE0oWl)M~cCvL8ai1Z^o zUU?Z>H=|tETDe+3(CL%XX(?IPD$!{f*@)%Eia$}f>n{Jrg*`8_Aukd+sZoyf;qgM5 zion&LOqAd5AkXuB(q5#da^EtIBJ6IGt}=6iDoKLsB~o4_!z{GNuC=YXep)Z7UOxv^ za4|?BbsW(?T?^;`W+UY22VMARP=|^$jJMRl7l5Yv1+t^v7aV zk6r3NhFvzCryc0dsII6o%M;$DWHTMNdZ57^AyRA`InNbLWpNqmsnkPeaf4=Cs=Ol3dti&*~ zIx)q7>&}OO)nUisF2Y8X(*w_)Jd2eao1;*TeI7=Qb=Uxy`uj_eEoi(~3#MjqpV7R| zvSVLvbefl4XHwzF474qaTdz2+o4>L80hWw5EE-xUtwG+)AGxitKG|FUYF%hiIbdrCI*gttpo}#F|GEDo36q4nIq^F(FHn&+} zE3eq#y^Y|GNOefc^>ookr*DwzIN=}F>q$Qxq|)!j6(Tp~V2@yF!wSf+F5za;j^$be zVa}lz>Gi4+QRj#+eFNn!eg;aC*<$k3Fp8EN2P+d9USh5m7AJ~F1`m)xDPIlS75?TX zJM%rw5=`{KC&_3VB^uV@Tt5WWdUMo^oyoI-e5omo>BNuMqcsqB*cLQ*V>|V4_W6FA zPhJEjjM`U1fSPZt!oogreX@#vAQNiwqG@MqB9+7W9FQlgHnCGGh)5pwLoJqqrkYxk zSb`P}7^7@9UW@NbUn{2lZ z4%NjO+aZJ49A5p5e+0&t`0L!L%MfmSB3aw|5EnM>Zuoh1;%iP;L@LWneI5o{ALOcG zGpYTAVa7C|9b4r1ZdH?|Zv)i3<6%*r6Vk`l(*0P+n~mMOKoJqf@GqxCWv`Nku5qB#kFG659O9^-&YF(A?67ama(=KAcevJFIiq6VN6d5f_if!^{g#MHryh;2; z=a|tD`y18^Q%0lZou+J19&4{f$zz)J*Ri>JAJ|m;1mLRs|BdN;%G=WGn9!`tiXa1?enO^%-Uj<1phj=QS2iJR$^pKpTp&K@-o_&77>Ve8%zF#> z{@DqpQ6E!psMjev6GPwZw=Eg1vFg(9z4N9)+e2gU_Gr30-FjY0bWFjl(?CsEr&p7EjtE}W!!Ejg{kq9N8cKp( z^hm;omtAQ4K-{>Ofur{u-+JSz+8Ps6#{t1a;iumg(ekxfoG(u7_=Bt?=le2rEFLIl z8^80}H>1;nP4#Nv{L}P1UnHW0i)xccnTDN44~*1`?0F2|=y%#apP1avoxc9)t)r`b zs)&odj{|hHRl52EZx>c^VcfZ!^DEwKYZCR5FaI8FW(q#HA8ec4gGXH^t1x*?PQ`Z1 znSObN%;Mv5c}vJ^aiEJ^e=Fyb%}5fJf>0?{ol!)--+GVibn=_IHkRZ76r|juCF%Li zEanY-XxoIb#^xqfB5%3Gh1)3@14J9A+qzDnLHICB3RR?b&qMc8B>Y`_sf3@}hnr>E zC9#ul?nv8aOv5AUppi4yul`|6@ytJO-Rb9ga2ac{`wCW@4gLsi)~ds zR?pDFwYFegHKY6QV7IiSsMxH$y3-$PhwiWz_eBncn+CJVlWDU(dtHr)#2K4CqsMlB zeTE-pfBtEqTyz5t&*m6}7nD0?LAL=ukT5Cx7&Y4TQt3`H-l%67rTeVc4Vg^2-~m%QM+CsPfLFnY%}lVEv%y_8MJp zSzO@52z>%-Mv>6JHZVls{7s8~Q}G;dN1iJqPozb2wBf76T-AJ@DQxtxe0w!3Eia8F za~*1o?(^blOcqq}#vGf|rg?n}3{QWy<4^r?4R04X5v(b?oy6~GK3)F|{?0!n=+pa@ zNuKKP^jO|{z04E^2f_a7yXf3lL@(j)*3a<&KT= z1p?{(=&-O@LT|QkZj_V_EM0&7+iZ39Y%T`Q?Lm0ldWz35)hfYc$DGxYtoopnuZ{XO zd2Nm4Q*J+LTSkvwIPPm;)QtFwvq|hw$rY2d2_pSO`;Oq!>&yLv(!WGSnew`GA zN%Kc>1dk;{R3Xnm$!*}n&JQuhQ~^vLPb2-zMFTHb$@d7akA#QqR2hN{i`0^>YE;rL zCEulF!4-U{uQ&kj{Pe zC==SQ+1M~2&8dv0b4N44m86U4{Bml0Ni8IIj~S zd+PZ^J}lO(sG*$-73lF?@h#mVRrRv*5~8*1{t(@TYQ&|)(1bL2417Ejs#od zC)o8Y)WLT4X{rj<6hoJ6o|Ai0U|dk5_|rS3E+u7f+Dc))RLD^Orm@uPy^y2^Hjky_ z8wmMt_%39Bw{-$Z6YZT9OrO6AXLDe3zu46ZZA5n}uUbYImZao~ET=BL#s>zQMz`XJ zucSdy;_-{^2?J?#?wu;=yILYMDdGvXN_5>Rs*+m7IQky6lx}&BxbNx@86mrkL9UQJ zX|I#Jp{w+PBUE_6hIeNL(Qn(wl5iPinp3dz&cl}^bOY^OvIpAS(irQhXJbJHy2vQ# zA~ZIRr8K0x1_Cv1UYZQLx^%^C8I!U9-s_7+smXV3>=AAKp|3ISxMy%@Bd3#I=_eE^ z^p_wv&~%JZoAFhbOaFoGQ=ZdYb`IdhooI~){*LlT=0I3mC{J)MDmXRj|6$%&9itVP zp1YV&(%2+$T*}DjU1VO#w2Fz}yY5+T812!SkyQBZSrP{>#3pT7EtRCC`Uv<&cSCQW zZW5+*dOKQ3V6E#8^4x}b^P^(kAtnCuZZpOf&M|AGH|I2@2y8REMUT{8&+3z_%o+yj! zif1agH&Z-gTG`f8`su`hLg<0!go!3$$CFPnzNqFd}ep@%c#QF zT*zrcK~CQ}Ac7{M`AEF)zwkEXTAO^Wihak0qKCBf0u303x#O=+gH6`K@zo;{Z4wpT zGq2Lj2-yl*m&5C*>)WVrMS>m}{d%<-`|E$9kpBi$@rYy6g4`9PbWaA(CAJ4qpp>7L zzBfD2cWUl|Lj|o@4QGkO_$;+(XC2Pw3IzIlZw`_h@Akf_Vb-V{NVKh0Ns}J3&)}7h zq<9f!gBvOAg7qYGnqEf>*nFA`yY?_tEH8?Mi~|{;qLwz6He5#V)nS|9p#*iuv+CYa z%K&Y&mKx#S;@j=qNvj>9w87y5J(@%b5;fqDrrRBqbnkqR zS#?LlkBO28D-Kz8Kenh%l{^OoXZxNeR)#Y%TpfvF#$wJ&Yz{U9}J5Put_2*)KDt(#nY^l3dEpOK!#?aGpbG#+RW@&jR z!|t@Pe$_AHGlj)ZrTE(yc%1{j>{fCMH7p#{6>EZO*r$j-hHz|AAT%ti`KYaW&C4#1 zZhKG$=RR1{%@DE=644NCZrdjl_V1~-IeAjLT&5*=qZ66(`13}bKj)5n%R*YxTgt=H~)5R;CA|D-`^@7-{4m|Cw?iJF(HbHWfO*1E2d(T7}!8}&BQr&h?PhsPNd?! zzGD?BEB!Q!mE-SJ3V)>nkc-3r-SjmH$`ABtJtM#$Zx=i(xm>?0isjnca;%Y|k&n5e zLr59fJn){-7j$*^8Xnx>F=w+E3|Ts6QI<(N2iz9Ef! z6!l+R*b@Ho6O;dW@S^_ft?}Lq^(-6$3liBWhI_IIFUIOdHbJ&*cduD#V*Bj+rz#nl zo7CdN>6|;65Qb}mw=7bbwN=PwEKLl)Pw58dR>ihGGC0diy%+Iy@=(hmnWCKovfjuS zFu}bG>nyxpW7m@^qWj4>*7Vb(*sEmE3!9wcOIshu0F_whd*JfLV|P??Y`gszhwQR= zS>90EXr}TymApmJHCD+AT*(U+CTWsjj;&tz)5iBA`zA+(ikEmJG;DU*%!bZ)&c{}Ptd<%ee}p63922<6uIMELjN=xx;!8*ps= zFVhYYdP5$BftI}Vvit36qk-|x5;!hpuqPv_b|=iFfKurQSsdSr9T1SaDax>s+vuYc?FC75uJ6D|0OoRbh6G;RCc1b5r^WC}g# zs0mN)dTc-E)7oOIS~&qW`q*xuSbnV2C_W7+-yL_&QrV7(_(+uo;|gVNYawAA9?03a z+LT~19dc{MPLmLd5A(eFu8Fa#!f#<_Li$USxp6`46UR<7Rh)6hgPKnT&J*U#?Frs5 zFg#Bpj!O%#P`ehOV47roV1_48C%)_q<+^BaG^K_nDKd&~7CcJv!kaXr6Lec@QXril zZnp;;)V2QR7wxApCy>_1#ePzoCh0}X6U*OgQ0o}oeV1pfdylzHqsL?PrBWP}Cw+ag ztK&pu@Fvoy-WXreyBj!j!l4^DnsByvJ6IJMT*t7g9PD>Z29_l=L9;*ptWskmJ9|0> zW7YYrAH}F82Rv^5iu6NUnCxwtC$?%-rZscG@6#LDC~!{VY&hYzJ}&S_xV+*}g8>1y zy$P$Kb3jpvMZxe*ySyy%qDA`KNameQ&Q7yWZGs8of%n5T++CB#HOjMOj4Djar7WL& z#Bb17MAwa6$$(Ti&I`(O;B}vY>6MMFYx~#qbDdmZwPqRb#)HFfvtwOrCQw|EE9x8& z%3nLB%(o?bb+5MQSa!1@_2B)hBcqYi+?M3JoyvOWnOk0PhLh=Cadbd;_>u7v&yaadbT>D^l`c!+5 z&2;;~bWsidjMB`n*4j(KOi!3?tzZJaO}_Ca*K_#!UgVAh-M85g<)(7-s&&ycoijo} z0e4-J`EDuS#6pdpBzPY|n%o$LQ%iV}FIPMAkKbVt^^ZFN)T}yN=gHUr(LY0Adsa&Y z6b$#n1}eDFS5qBGle7}Pu44F{H=I5F0s<4o8-Rg=8GO%|TI6;M+w8WqLKKYhKgitw z{GlnO-^<0?@{HCl+=RB=84EgW-8#FAAm7Z;UZ6{?v4z3Rr>-%6hJ?h56ocJVD(z@? zHQ+IRjf2aicl;lT^dYQk$;7c?173EOJSaAJXFR8o*CDA(3`YixeY_ykUNe?vWNn81 zg=@TBg0rFDJMaj~YJqMWZZ7FKlHL3b8%uMD4HN!=I^&TKj-F_H(3sM`jE*(VJ=s0> z!D19mgI5k@K#N8EP#X74LmS6$X>juAE z*m)KE@1)J2!t~#@(7(yQ_}upR#zb4!YW^wtYlW}x`w3Kt;24b35$&~g0qQ2klbZ%- zpJu|<6U>lx0rb7MaJ1jb6Mq*>wJrW{hut=l_76J{6864=`ca#j4?~XaR{}fzo_(pq zZ`oHiz$r-v{4a0Jn2n3td$uqg=tl9Po46jiJA6I|WKZqzTlP(uy55i@+C}qLY)j8qog#LWP`d%80UH6)VUG^D^Rres{x*k%*2h%xJ@^`tmE`Azjoqc<_R!|WlF z9Di{7Ir5lJ_3E;JZ5gy57cEM-e9hwdLr6Q!BPxNigX zhK~I&*9Mh0Z@{a(MpY}MK5u~h@?^%idBrKDD~3}^`8?fb=~uKzD)!6#`BNMt@XZM)@l%xFfm~yiQYmBA9!ObB%~r~` zR-XXRNI3!59_#c@Pqb8_zG%285)KG;pRz$}R zGjzQs0<|E7H_-KhS~f!3oQ?Ip-~qumhxF)kY{n09p{I_fpOLpn-AeFa$1}KHfpy>Q z2Fl4-_muALuzA~|*)t3x>Y7SI%=HGLp7hUr08n z0pDZ0TSm9k=S5Z;5E5J@)%`dk56|SRW@5yQ=YM)KOwzD5yD<(tIxHylX84RYp)47i za^&o+&reK6-?uY;Y^LGUP)9hskgXmET!?zK(lobGvF;J-Z2j6PUGex*O$+pmeXx7d z+SIOYmP2(@)*ia5B5>uMXHPTa6?8xZ=cs+;G~nW|Er*M37@4Yrmb`f0v}r`9_b_H; z2zBw|tmh}&d(1%ADU=hHHK!3XQkgo^?lAQ`Le1ha!y|s5si$blq3Ld`NVs(ll9^9a zh%5xH`ytLzv^~?i{mvFdbHeAuy@KBwHk4#-9#)8yrab1eR&4b~$C-VvTsu>&9Ze93Ip6g-?a1CRr|vJor9qF(AL2%J%7tS@We2pCjX!x z&g+PH5vN|up~?qlF3#_EvKPG<0PO`;GbV#$dVMlFKSL$9N?Tr+ANAi{mx`RCH8Xp~ zQD7x1XrtI++r~sSI^D3L0KO904L@S6rNk6}IS9q{-&`{kw!n~p5REN*HfXlj$li4) zPU?uUh;*50jRv5s&#!nhg)EmhH5T4xy(AIPjyl8rvCDLz#)tHQm5r6t52lL2c}86A z40tS(#W`U?a12|tFsw|mVw+k7@~8I>Aa8wm`#aXc*|CD^7oO<8Eys(k?|E93ofS7) zbl+~9IE67=w$l2g6&5L!plXfkKD=#mMr2iR(1@(5=vm>liWA9Fw4>Dm$X4EVe@$2- z*Vt(!{hEc96Y`MA9eBFlveKazM9%<@_-KgW@pul?K-$--$E5JnId!p?5+>)ERNguH<%X{7@s@`7+cA7Z)hC?x^x$}z9a6O@j0H@E}GEhtf?s- zN|nkyyg$&hv#EG?4v&(D~?Jr+6TdIvb<_{-hwexSU>Y1fhu4iH9+F-(fDIF3~v4*XFYTn~uH1`c+FluF9F2Ooa6vnBBc*XSl5 z=4@ZmqRvqg|Mg!L^~bymrBa;-pKv*zUFU$u)`bRtbm^jAg5o5;LAY8+KGnXjB7_hQ z=4Q9K^SPb?4$^V9(Su#fu=~2o9Ty#`=x!^eXKJvK@rqfwwa>Y5 zV-&LPYH63(e+e4_-nV?InE8bDz19a_TN_?B$}nny`q{ABsx4@HPgWI?NLak9sX2j`=4Nkqe~U6=K$}c2hu;>Tc8rAZJ(d**!{DL+-%4= zomsXyl!|@}9o_Ia2gp9|&dIS!YwvMIQUqi>~#EmaW?kw?SKydYv1du~Ta5+EY zS3>d0uhyJtVBX(jf_SSa$+tcC^N8m(EiPB@s$-Dr2fNPouv(k>C|lK;cr;~{Smk7T z6nh@jUDU3J74NDFf&dsf#D9Ep;9rG5n2n;|{y`1?43cqhmfrFXgjtImP&;#<4P)lK zUWxrQ0TV(82`UM}f@cpMnRb_#p8Ttl{+GNz7>#=7f3_%TFr93o*n)0?yeE9`dER6A zY(9NrD$SAvvIQ{gn*T3+{)eM1S6r*g;U_MoGM~rg&HrE+>UiXzdk*+*A(%M-JaH^| zu+oRgs?+$kYmxvL@@L$q&J;1g4m`D3O|D_3OXv4>EtEk8E{A543XJVCavx-y0ls%89&DZiS|BI3m8a)`8A1ROIh&NpQs} zpr^Ag)EJ6VXP_-Q>?%K!{01gYa+lue9Iz&H4!|Ct1Gd&wt*XhSyv3e~TA~>$OI971 z2*Kw7zJqf>*@nwahRTYw-qHCugX6Y(;!;2Lb-6;r;?M#YJOKt444TF*C>*3umk44X zA8G|InVa|0V%J*3K8G{nPs@W(G_nzt(v@Zd?3C80n_?ZK`!XBi23K$CU?Bq*wa3y$ z43!(f+eD^B3kRX;aWt`JsdOOXt8B*pjpKZ&+Wx0AT?^msif#tF-L4jz>U}AT33S{z z@!C1DI)tp?nDGswZGJvhtYhp9%TRP?P(h>*`moJsF(|nZD|ytsdmL~MXgkde-u`;V z;|odU6kp0Y z8qexJ1}9GB?_79O3i>%lFg}iLJKbxLG(Qu)eZUduf0!uElcYeLZCv7R|7JA)H_SFQ zT?C_G3$un(wevc6xjWK1!KiHP#YTC^gR5^=4CC8G8)=b#qb_K3?B!*Xj0~C~@z&-B zxW>z@62G#u@Xj(#jlBd>)LqxaZ1jZx2zXu_E2c^wtdCBC&nq#?Pj)t0Bpu0CSK=gh z+XE}LkOuTk{QJlF1gGBR07!kTju|$vRDwic0~^z7db=;nx@ld=NK;%(A1wy;xVdKUY@XoFfQnDi~^;gL9y)bQ|;@GLAcq>FTT}{6d6$? z4k4yyZ*VETlrK^lE$N=x2@gft9QmWk`z3DHnFp>Ki~11tw|9M))+6#qm(0H$}iWz!{0$!JyCJoCH5#v zlnL#44%o2@qspSzs+j=c%J03)4XYO89$r$+4P(y~uad{m0q7lwAG0Bb|36L{eE_M& z=6^FA|9i486jTF6E2V5o;KywZ<+lheac)&CnOaj%!}~;Jg*nTngg8Eg%&g0wmNOl4 zYg6&!(4=b> zX?5g}X6D!@({6bA4E}N=KJWC&prKT*$lGk1wbH!H1cngsyy=0b=uGL(78YG`>JY-; zYh0*h0h`@(UgCk*&fj{q8p->e%E#;M2LDXz_5N2_neQ@fFtJec%5tL2*h+NBdOyTh z%8dG=H;ezyjt(+q)K&KW4c<}zO)K`KLGZ;sdWUglI1Z%e*V@Y0vg0gRN5ir&pBiwZ zSt9uI{jJ_V@W0~3&~PSqe5AErT4{joJZM!f^h$UoI?4FvNI6c&aMN5do6*oCOx=WS_GW7t`kS-C`i4%B?_?v}tssQT>+Fy7uO&Qs z8FbuW7WcPPhYt6FlaXbj`ygI8!|Z}_U+}l%Yc={uVK%-4r8Ntkbe-f}w6FMu=G2yV z^f}&6Cr(lv6_~tCj%=TQu1!Qd46}hc6pj9bsBWW$%Qcd7OOvmyu2UYxHYksKWEF;T zI?4%Xk#}O)1Y+*6R2EM@pim~%xS>pL6eW?SCpLXe1cwN7JeewzSlCyj4!9m5ehwg6 z-s&x4?w>gnikU5yVpt9i@7+D#O}J+(BI5F1ut`#~8OS*rT3u37P1?0z!K=aLy{s5| zLy9(;OAn>(d4zPvh0$$5@@GQQkA-WRlLIo;^{n<8Puh;=j}WuRISs*o1i30g~I+Z*KR!5u-7cUMPq1!7Eu zT(Du20%-bTo44%m^@RHUXEnduKxtQOKMIft^%<0Efn}Op#aRqWwCUAG*NttH>7Rb7 z94~Ev`qO-Q8om1=tI^fU%2wBh6+T%s{p;x|ZMD3+I!EcjmQ>FyLgJp+}p z9F^mCsHGZMhbUjzc(|EDpdIEZ4mRzMrC`P z=HT|l_JhIafVi`*Q<*w9w|yyZ$%SK?+Ew?}GweBl@pR@W7@Q~8usbO3-eoa!w(>>t zLMJ-gw>MURsG%HaylDxR+)WYNUELkr*!`iixSs>iZ~swZ;>%uM52DlB*9$483q-HA zZdc&^1V~8IOO}2FyIF=GZODK?B$7AAOd}Z-hX|WzP7|0gG+Nmf3xYIT!sT_)4#(AN3J*Grv=IdRge+5mb{dZr^&z z7cTQ9i~i6vP%CuiqQ%YN4?u~XmCP@AsF-k|tL;<-eo=PS06XIALBs!tkqe7Mpa_UY zq+o4q)*iWQ%_FLsHp6)g;j-V}PSd^5@T8UP?ls0-X5~E#>)atUyxpd0-vOQ3(1BUH zM`{E)b%-F^PZ3IAFFja8sHEOhwy4z=O5@#W$PMAFe`Z}f75pf5uP2JijjX1sC_qbREb&1hcN zHuq~I(HqOgDL$@9m@=~&u-z6bLIJuNRle+U4q>~waoTGa865-#Sf{_G=cRpGTq!K? zUxUhiT`^Bwe#6_Fh#E^_M&?yNL>7=^mer%_CqChu%Jx+Du{;Mgh3r{ZD1*ADpN-WqX*}!J)?5t!NKV{9QOn>sl}`r0zbuX(%+LJo9~EQYtYc6YoAMh)J$NjpeYbwy zL9)>$Q*5kyl}k^wBmc=2XvX(_5m!5KVyodm)19Mc`)-V8P5nH|k6D~Kf`wxI;~f%j zxg@yg%&^ID>j8OA~i6OJL2fYpzSIUDEDuDj`@Z*Z_o1zptVP6b@#zh}@O;$%1)hYsv&@7w1l)Ij7^IaCgXcV_*|1fcJdJuqRp_%Wcw&H8V^oTrmbM|mGs#K}t`V1dwRLt;6MkH5$|~c1s6**t2uSM?7B?KWnWE9@&*(drLfK?#550ur00xqu;cGf@#|5jMKqstP6wGmbfa2mO?9 z#@<$`ZD!WlINEWV&Zkmxfnk+2KH&&%>qKe6<~qCd zH#>oEP#`qj76#mUY4+Iid(5brX2pvZUTBy2w9y`Gu$g{~?K9_KEI~4Bqvka=K?7n$l4Ex@y7~kiqmQ*bbw)uiT;oxxG)Wpz_ zEJjrrk;Fhnk%5^_MYTb{ZRInA=V8w$<8$Po4=pUHqwe@z6kymp zclm{ZUg-M-??R^pFy=bT9TT$_cmHP#_k48BrPwkIM#fYx=_cpanj~y!lPe=jHPS?f zKjK*bY46vx|K55YevztJz1{D^q2$wui-nn%kg#$`B&%_eerlM0(E?fT?kuOLh6A$D zUAwQ%d=wbp^d5)OE-Q`Uz8lR0KeVi)boPxKi??ybU zo8Y-uqO%|hO8OE@s)qZ#*vacT&ZNw8m;Ym4#a)7tGi28+@BaH#>0XDL{&*3!5^Yx1 zv|IWy3S`T`V#CQZXX|6dm&{Gw zbLb$047tKSA%?MDsa_~0ZukB4#98PdQ+(l+*it#2-*rHs0ZFA*dE_px_H~TbGf58_ zdMBkyULn|1T)sx;6Kt56`{o3_;6=-qH8zSA5!pOfda z-I<5aW=u6Zu3z}|2E|_*Ch0+IJF;@SsrVcqXGwGj{OMRhf-H11{2Xv8`5aIqIy+*M z>Rirv)uV%;c=B*}3+xH8hPe3KxSJ2`47AYZ%b|=r$v2%{oL7b6zsyaxu=aDlt$YgC zfU%FU;!B=_Xb_ttwdC)tQyBrGR|<}(;JPi^$-PO%#t6rlo-u9%lvT0{h69(fa6`9v zD#gFPcm^d&*qkDo#GP^3MoTG1ph3xlE>MoFjcT}f@YkLE(fQ-)(wN3zLh#ISJgyIH zG*AFU5FJBT11WQk2zG<;!Be{g{HY3I?ZcgU!JH``V(tnU9Mpv`MOT1K~t_6Pp8X(?6k<57uxcX$|95By# zM%*JH>BRel&H>+vUM%UvFJ6Y{^&ZN%5e=Fpcb03;wD^e5!mIKSz$G`A3qRZR|7hWt zN@<<1JO>2w-lA@c`6$(6VSZ*a7!A5(`rFl>0aM}!sv~`>gO+8i+rn~X(wD`v3jY{~ zo|>9ZTdejy4s@3xWA*xb5C5a_|KD)_HY}RsXYf2|u{9Wo>N$OazcXaHe*pb8!{ZY} z%DXdMjXaLK^J#G`DhiSrFA$KC#O#LlBDmaJ#UxNEr?}U0`>Nz?oISzCy!1VQL9cFt zmv-UJB?ocm014w@Hj`j+5&qr2)V-N=KLzS72y#xPNN|}~oATO<4r=5^Awv6L?5I)QyRFg8FUs-~?3l|H``P)19*+{KO`7;F zg|lI!A_hDrq=>DWQG(Rmh)fLWDZuE;ub1}+3%{-ca-Qu4*G0-m}SZ$H@62bFq z?P57E_mG2WK=sxVt0eM3@!3Cz!%I zLmpw_QNH;xKmW*b+$h|HRsS*RaCczTh|@&USMoxBQb+edjndInJr2{U=hd9P3uM}Y zE&VV^(8|{)q0TU6J(-nBZ&4MUW-t0DsSUfRO+N%Ea7tX*gm)2L>nutdmeBYh&F|aD z!*$6-<1&T<_c6tKyHehYcerwVZ4!E+FZr%;hXw}z;#vf4SxZOiK9JtCpmgp@7BaM> zurVRcIl)CBP%>6as#4M0{pG>&H>U-gH@j^wyfiRf7AxUTJ73-l6whdf zNo9s@m2h8~ekaSZx<(R%AY{W~X;1Zy?i~5ndSO<}8%upMP`x1)v^K?cMNVI?w-&9O zbUo%q0HgW0h2HFsb%f}9NyWX;{@h9bHphU6=HRooa*hi;a%4k+&fq%6!9b`S-1I0= z!RU@!`U0n6k}ijhb|V=`-df&fW-RD8DT9q|yVzxzFf3r1cC3U4xNxi?yJpdu=`Gg3X2$R?RJ zWOSb~;N55K>VX<#VeSySU!2xP=sB#Fa>q>lZi&BDeK>_`IkqsKe5+g*m0R=HpvExP zd$gv+@M9C32sq&>gRQ@4sS6}gU@P<`bfqb^vCNGt{kPJS7mTwlda%cOufXbU>c*#E z61%7$CJ2m|BTUE!@(Lb$aM@K1HCP#!Eb{Ztcw^t{-sT~-l9atYm|uI%<6u&%+7f5r zMYh^Dph=!#cR5XY7N@pWbgJESWR_&P0b$kl;m%h~IwD!zqb}>m5U=c!Stdkoi~7M&2UL4%*RYJ^_Qhiz9g7X#-(gD-e78|6}jH!a;Axu-Q$Jl?xsRV9~ z7P!W@w0X^h%N{w6h*l!)GGKw;!?M??>7>TbO?WQyr^0f7Vzo5$HZNh+S2{R_p$nJM zg~Igd&Vkv^iCWfkp&wI)zKBp*X`!s9{8xR26>6$O+q3}#{r0~#`;z5)ZIim+ zaDI6@lIV?|^3E_KrZFZC(agj-%6Yr@<>8StS40TKN@#I&HpJo$WuIj)!sOna!^Ht6n>q+SzuLf=~LbwMR6lo8V^Yogn%(Ze}5Q z<_!a#v>Is|TADGNtWO^8KfQ~zrS+RP42?kQ>4D-K1BIac+?MqV7X@r#VVM)raB&ib zx4Igf-sp@P7XyzjJ^)7{_!IYsyC;$^0GC1G%Uif3)V<4xGdm3i`CoEdd8}P$$wZ`YaRnYjkT#uV0`?^iW)My_e@|LE$p$;TXsai^f6=L7B zrl>RnV_|w-kcF05W1GEnzqLnQ{B<&w6O2#^)=D61Ia$RvxQ%iD@dw}7e$V)4$i7AY zFK0(5)BtN6p6p(0*fAAt37)pfjjAeu z^7l**rQ-KDiZv=nAu5gAF#sn3U`+MVb>S@9`t`H%hgZ7JNndY@RA&6vdX5F}NE1`~ zW8e3Kf6gh+l^yS{Y5i=}qZuT5TfO=h35jE79NkVhLFT73)oD$5_RQbgnU<41_|>cG z&k`7_z0VGgBt?&iJ@=pf{PDXMPFd}56Lm+C!iL5||F({?y4>Kn#*8p0=Y5%%dB3Gg z`(FL-?mF_$`e(G+Ro^U+6IUZ7&fNxn}yGa%~#dAx0t){+0LK*0Hz0Cyn}E z-t?h*6ifd-rinN$f2n>lpcRLN;@oS=9A%Uv%onFFBFi)=?gU6$tCdr%N&1 zMUhX7b&?gyG^um0IzC4PA|t~vyr(j5{;?J;WBE1U9gu|U!>bZ%XK9Xr%%q#@6xPI zG5jJigRZ|IQ1cB{Kfh`L4Tqmzo7xLng%-?;hlSOV!`UiRhqkZO{{0jG?YtHL*=e(3 zorj=J`)zL0$bFc!sM8S_CNXVOPvXh9g@qXL>M$D@lyF^tAJ(y(8%nW*T(Twt-b#H^@2eKhJxx4ieL^(@vE1ws4ND;{22; zXyVG58lxG>yq2cNVKOc?mhM|`!BJ?-!?quL=d@nKuCns)&0O~2_&&C9x?5PFqPV`l za@hHC(9fei5@~M@Vy&6q#asXB?0~eUWmgwEkdT83-E|dS4^;KZsGsKP+vZM5uO~U1 zVVzW!i*J!sr=ziXLSVTg^OP$~L7`#h=uQH7wsZ1B!ts}jXCLYRORv83GIyJgsBB=W zN;(pMNca1)_LJJL78_xEQkLgWLRrMs{bok@{P`7Z-9J;1Foo;i394;L06+lDjGB87U#%^c@tufhL`sLJljpF^UZn^HjUFMe=ii!} zzHsIQDEs}fUoLYxQPHF4Y9w}KvWT}dS)y&%=i?1CL56UITKrp!?`UMpfcxG3YPXL~N*hp>jeOy8Rc*#>qx{EiF{8kQaTRIDV`ph( z*RtibDR#>2+*V?$W~ctD0W;K_eFW9BM z&(z#_HEx@yyt9-$8E>mGWaUCZpIzO8<%dCPCc|ALAV_LU-*jWj)8lmqZDyev;boO| zCYRT%JoWP7HSZnVvIZVcUOvkf%=`Y3u1C^J{G-ODPn&~$?+7bCnG4++Wi*>CC z@>1TF%bwYyOC|kIc;j^-M%jZaIw~4>3^Sg*%uxorg?Vj&jBQw=t)qH^??S8VB-yj$ zaW2TG`d^ZP5BZ!+zfBK!0L(P%e2qG8J@|4~aHmVdL60lSy6)Sg!C>*QCJoA@UAMA| zi8u!6K70i3@gYgm-^qY^F2Z1k+lCuh^{S=K z@@!=yw3(m^N2o+Ah${fAf_DZte0I$&7Hh!+_C2|3c{@oD7up*DA)vHJ@sk1uT&8!8 zY2$jINSWekTGjYI-{S<>X&6o-3Et~7T`IoL`9!4CCCH*<{4d8|CUnn%?z0jThu8QF z8by{Zy4OKVfgA1)giQcaWVh8;qu#07wW+Bh&5jwa#K{yJFdxzqW62cDfGvV%yZtp=*WAf(B*E?JjwEB z^_)$3+Ej79PK>i}r5U6(DnZX7tA`rnJ z*K20N6Vc|Vv4b-iXn_Qea_5>p-wa6>oSR9aU7P!n8hHIfGH%nxuN^TpHyan163;Yy z?2u8)y+4)-QcxU^sVq><*HnBd@2_pEilp#yr&fL`<5aXFKIz&z96u~zfh9P==v${* zVz3xey&GarUg<#97Fq&FF*kIatM9p0LQ%;OOjVYQA=`ty?+Z)LpW$wQ8a2ZEGM*(> zH)@GhE$L5GO}eOi9T$`|fl6u-)*3NMT1}?y^W73@{L$lxMm}sV*uLXI>1YP?fh@j ze}Kr}n!y4gXv?cJGghH6rs&|b4%9_oA#Fc<%byhKdCkPKU^M#{n1Y29Gm4)!!`cRs zclEmyVCZwvn&d$ILlcdX9Y@2JEu!>L6I_#IR4E=T>d2>mO~gPuMXzXaPog$#bl_qzGGBk`)+p9V%>Mpcl@Z&>vmc{ zX|5Je-+uOt2)d^H6Z5d%nNhX12iahK~S;5d|CmuXkg}hdz1Ie z1MRZsi#IJ>I@HH&`pegWLBdl%=CyQ7A7aR8Hu^M_$?7W(sjBTxDN*zeExcRKH`@>z6;=6M7VIWTU*r^eru9Ofy1=Q87n%JE`~ zRr&JEPcDM#H|>%`BYV{?>rP|6)p|-sD9!1{|3^XP<=1Ny1x`p8nVh}tBm{6 z*$e=iE6jVPm(rSk?QAZ*aWxQhry&$f!G5*;mg-z!gLCw>`uUS%;kTJ5cVS@2d5wO< z`+>jh=ZEE-?)xx1)QuShu}Is{a-o!~B>;?Q2lwpLAAIMp=YLf z4>v8LDo%b?FOc#~UUQkDjAv57oUST4Ehb;mz4xipa!H%aDq;mXhHSQc1?kg->sxWV zHSx3v84ipk=pcC0P=x;MBGDB0cxTw)@-_86uZ)6&thljgvGw8m2hZ8n=h|% zpn65eG*8|n(9(QU%G<}L2_WjnBbsbB33+2TP|c|X58=sa`;z;*?HE4}%%X&-%g;O7 zRn)F|m3VXF6F;tie5-ridXJ&?8`F=o27^$nxHN0ZzJApaur4eF9N)`68gCaAT5$Os z(5SOWKbh9V86_SPOpp{@f@tb6Z=wxp$6XYjk0G{%MQ-M;(6W^1%~A*k`||Z2KR*_u zYO~rey)9vlpk|x_HZ2_Vke@Y4?1EaXZ)%P6YeHV3_?}Ca!8IwMHC}p7k<9%-W*!=k z9-ON*O{o#!ET2YK*A8Un@rz`m`OpZWntK*wHou*g>G*Bh&-SF&Fx9Or1Oa8X(!(Mj zgN}QRQhL4Ktd#Y!mFo39*|ie;(b%FY9549@9JT!_qi4EYH9S6a(O9P$Z!URIEZ zJduHu%{zOpMy77xdV`n59ZStX8Zbw^^^Vr>R3*1u)yl@StpK_Pnw9X|0+r7cnQh-m zuc1)3!KNQ#+SnEZAelMx?Zr)vjm}9JapZujxU4e)G@iaIp`{WX)zJt)K0i=Csw<

%dE%F&S_>DvY-1xoUME8$r5y)-|B%o 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


La!cr})C>V!ChiQ_ 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 z

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%0D*{N`2n z?dUZlxV`*Q$V~VGpA}<&;)YEBF;Ikomuj5K2LJf_Y}44R z#`&8!K(mpl<@F_kZW|o7Z#g*jhm&LuO|ZE$kF7TL#*UV{NZ3C-hlU1?#0UUl`|^dW z&bi%AO#*Ix&Npe78&^fMsP;#+j47|j9A;RcUMyU|O>Y`zhCVBPS>^+MsK zf!*&O5si!?2~fRft*!F4<2sAgTAYg;rjxPivIV>XgTkI`bHNb_ufLu5eq)BVMx}JHh6;a#U$J zxk=P^(jOlqYG1f8)K}0M(*fkJriwK`>I^e5!awVdeOymrQba;F8=Lo~63@yE`Bi)t zG@g_bg5~`JPBe_*TPi9EFS%IFc{3AncNk$U(&b7GTaUn8pYI}PHPZEIhu6?Yfev?4 zKf2im<5yOrp#9!ul!Ji5WX1C;4dagl_k0`e;Mr1s0hu@zY_pL)Y9wB9~A)IHa#PdT*q9-kU1PH0i<1Ty(XmE2*LOth?Bd#BwrBZ z`o>xHRRgdJiGU~wD#fo$)+sA|*EXuY(L_}PQV<*As=X{Agsmu_(p34_gmHII_UN0| zWY29mUmmQoB|BZSUDRD@Qee;-HcAJU*~`bGlb9uluTCe#(Y(-b? z((})XGA@eL7(VbEqF8Ib;kN&Ypi-f780H0WuNv$Rvef)RDNcPeDI?&YVi*5pelJTi zGb)$LlE)=)%>k4zmBaukL3OcCT3y&WIhRBu*|_;_*5!Rb$&C7nUFTs%YKpO=7=N+e z#f>IUb~~z`zn`NTBd)g{QEKzGd=GT9`x71hoWom*b82Rw*YeDkz`M9>twP`B<)M`I$saI2b~uXXH(U1j~CR$_|1g8TG- z$YFDbn?b7;0k8~|*X4=X6cJ+5HWr!%Dl6WM1+*Ea1qCVg2OBU`$`n{VbMc`o@KUD~8&;w1zg@hpH@COCWIuprx+YZJ2 z4|ua%%@Bbtjc=^4S_@IFh}?4t-_v6ih?4$XrO2qJev8*^NBCZ#E_lxA z%zgO~r?-)(P?WI@(Cz;fmwVkch?H&wy1+w78nA*Gp{No5;FZ*WSOGeMnc!bf`61 z&L$D~h;+Mgv=Ptt@oQ=kiptBQ6^MN-R}@31yUau8?TXK==jG3~cNFlu^WSDt4Acug zVT}6Dde)@4`(Mc+xYp*&b{aBGSkCZ~mZ`MhQ^}^sIv9ru%bNw2nEP{k((H%Y zQrXIL92;COlmnv3wz`7idz{(k*~7U>J>JfT$Cfs6HeT5@)xvEic&9CXm)GOEg1v=U`)>i#QAF`8F z^?unQTa-CG_ex|?mFQTYEF0hb=%>tXr-hc%Ke0Zc7maw+a_`gSw@y3@&3b^qZ3kS< zq>>r9d0fm3tw-jD*VeQ@N~pxi=Wvr;5?Yql1?@)h7Rq2L?SJxcw^7D6!5z=(&!?nU zU6#73BXS0S_}B!(e>g{9=PEdbdnq`&b{>OnI8k}rj9UyovVyl^X>f|z)9fZ zY?)sJc_PG`%3biJmOxwNgaDa(S zj|*_f9#~X6dqQpoGF4SO-!MX;H4L?J;k~T!CQZ?GBfYIvh{u!`Rwc z=y}SF*ne{Y=!bXy#4AvVb7@j?7%Y&IJ);ymUU0C#%UK3sqmMcV-itjy0vC&QJR9vs ziR`a8K{l&pR%jsG((z$3K4mM;Ddu`du0=EO(gs7{AnIDp`|+1%MFbIjBTs?#{ZNgx zR06hldOW=(69a|~gYsvofN9mf8%g;b%a%BNRuR=tF^G<+OW&RkDpW<(8Td+$jhJMq zKdjB|l(iNswcY3^rB`a!nfS1QqhYWa4^=|JoljeXcqV>81dVdtmWBc$`+~XtjtY&Gt z$26y=CX@J^8#n*^>z~1A;`O$aFvrT&fhVGn{EhcNt~)2_j$2fTcT-4VbdH2*e9e4&34SDdZ90x7pxsY(fpRVaPzqXWEMPDej**+JRcm=L2I z+h5bu-l(&J*D;e<7nsF5>63^mErRYZ|0uyHC9qMazWl37@gejTknfXZWl)}AS1Blg zzXvPF1X7vk1UPM0tzEHA@C~c&7mc>8C!f@nNS3``rBvw&N4Zw0jHZ|Je=CsOx2>i# z2%%yc+wl4cQ~tzzEvGlLV-z(g;e4=$_Y`S~&;7P))&F_^l5Au3_fgu^u4ihD4(dj! zruXH;^2TkcLn9+kzw(a=;zZIaBhtTg1WCRxD?J;=mPQah%H;Aoej<08#5E^8QVScr zwE>-Wx%ArIE9u%z3Y!QUELHkCyxhcL_wW)KO)B~}G`0x45;{{7{iy`q9E;C;OV2)v z=qd~wOQ5JSuLTp<2Fj^bkDM#iD<>N@dB;-~%Om5C21L2P+$vwUs5jp$*URVj*eW*P zrRn1(+p>@#Y8zgt_Ao29bOUfr%X*=L>%*-JJ8&7-fdj&7WGgExEG8W;o!=B}-_X6p z2AC_!0*V1VjDzi|1G;b+K&qE%vZV(!|6&rpA_@Rk<7iZ9BJzMIgwHq?&4gK*n;Qqw zeGv%|JDGBg##a+!1f9V61TRa0s*Hm-*@gM0}F&`+Ua2 zDlTnBwP>uN6#a;6Zsc7>vZ4nz#w*+95CFOWKaFo6h3i8aXeq`+ydJd9lhJMpg*02m zXjNUP(uUPi9y~8z%F34yJeC4yDKf&@^Owb>TwQCXg3YfM{U|NK^Ja- zy@u`qNZ8@-%7%+K?Cf4%G+YC?!;1k8!X@3nkN>S8`VYGzt^2!$6R@u|@FGXWs8)dn zXQ6)w`k>{!gF*!dzj#QXHSHBJWWjj{nC5CX$Xn6ocsPzbSVnV6Rsm>XCLt>GsJe+< zjbaF1!X$7ba|PRy(fyzd$Kr8|1(850i@9W)uI{|SoGS2RzVz9PPE(;5o`^ZBnX}4r z9Rc#69u)qD$Efi;#)NP;g&Zh%M&efa3=X2Fdv(O3^LLRUY*cc+lv7BypA5cOgwa%u z9M+x&?w&q)ZSHl-5=eaNiwN0RKz3nu-V9 z#veD+iWClR+gw#5k{~ z#i&6oEg$#^X{sPP@&WGpFdg7LK>RXv%Hrj6^>r%$WE%|Z( z(W2g`{+ItGZeZejX0LPQq04DzsCAd-;Gs0}-dY?o^d&MQINO%R zF@Cj45YcQ_d~h@Z4eTdNRp~Rio#1SiV6vU=%JS^;tRL@hfUnqBz&azn-Xeu^g795+ zSik*s`TNI*?r-5i02&qvM`U6xNJWN97j@D1$9R_Z0Tt@&{eS9K;XDDS{CAN~7O|Tj z%@zNY3Fk2!mRs~RLr5o;-jf6~kZOe6jaG{zWv$6bD6p2;1`RoyfmN)03;=R;8{n@l zFK5%9M~HJ&^UW~XEY<%3Ci&#frs?CExn%!?AvgdjA2{p;=s}9C{-Huuok0q%0Guxx zQgyH$EsWZC0N(u$pD^fZzUS)RPd?iCeQ# zq8AX?4nq$o&fk!6Hr*s9nE-z9q0Z33tJ;oJz|7m&-R+mIJ&<~K{hb&5A5Y0q6u^Fs zhIo+}4?+7teqDeNbb{_asny&uq^2qn_bM0&=MM=i@`kpMy-iyJFOCdCV1I3M3Y<03RUzd=>5oTX#mGXcuL)9^SwII|{S5m3 zC4Qd6OmZ_F-QexT@#pLCRdqWtAnKX~`ZZ!f-{R|s=D#Iq4OS>!L=*K19TC*B6^S^d zTMN~%aNv^7CavGm(O5hjWV9<2`imK;iMf0ZUjM?OHAw6vhyvugXiChBUM$F1`pc)x zFsgOHP#8F`qcdR`BEd+aq&b5CQHMndy0+?phuIE7lf5J?CFmOgMS#4g?oH{}Rx_nF z!dE*~e@izdFfSMrV@TfMm@#Me4mX5a)exxk)z#Dvl(4n(K9`uk9s}vfM=nJpl@gmM zzsCpaRFAHL&OeNgc2s0ihv`xExO#7rfu8SR=0EHC0uHEw?U}qvr4rHaJ=wv=3Ide9 z$?l#4(h26H`6dFUsJh92iDWKByC+2!0rUVe_+gPKF5YSUhI^d9r!_g;kw~kQZ&^s!?0$m*#5WtDI6CP~UqidGem6P4OSQ4E3PI$(FiAo zEUGYGHwe!vAQz@+LMI%MYYJj@DT4xOwc209y&wz#{Aa^&`7Lm(85w`cPn0hw!xX4s zV;Gm4@=Y7?k#>V5(G=Gj$?<2c{K+2R%O><-+ePAQ`#0S#>We=`R*4JP|1og4{;9IA z4{WXguSQY73kddsSA;5u>av>6WT7s#RLy?(=5zDa5~6XE>s}!H*lcm&$Dg$e&npOx zsOnI`{$#q4$P}pzA6MX<xN&JtvXH4Aq451 zwnd$O=f7Yh)oBW^wM9>P4gQcueQGVo6wX_jWyWmeYsGf6T zJhqzeuT2_xV{`SQ;wdbSSomFyM6A_(RZpcJ(dFemo|9su3SRk@MpWPpGO5L<&r8kl z*F@n1<1vB#i$zYn$AZp6;hz?3EKWiV=GpVJF0>o#WPfTyyF5IEU6e_6D@nESZ%E*67WJ>$w5bq3N+nQDs*`2E&whgq?|nrsci24v7e^S` zpm*e(jtnf99^UT4nL>;|@TgPr;{EX;RoKvXCQ=}-@*sPM?%(R@lzg{w2j^OsUmO+6 z3Cii{0Am}9D^q$;&^G8k0CK0-Fc*}G-+q1&Pb`oAL>^g`w6Rlz39i1}l!wmdtHfE$ zE@Dha?UA9@+%(!~(&r|F5_V*<9bylrD6q1 z*30FP33)wqs?rkfq{xbuZX#)PhTznMjXwI4Ecz%AxD83S(0>sRS@qlRvw-;uffbQ> zZhU$$<__IFhlUx(uFtpodl!w(J`Pd|c6vVq4r9|9?(O_Y<(a{D!W~mT(sD765tT%v zhZ7)|6v!{N9)6+DSe1Ln?4lo9lQ1Bxwr}B`ke`Mn#Nli43-kK~kela+24!I^?5yOz z?R7#W2D*>6e0JMC$cF3@h)0Z=3Xx8kCM$%BLcjiL45G)~>@T_J0`sHMEcJP4XF`YJ zI5jfzKXM_a<`QPLEz#?lB{W%m5-PTM|FZ>`ttMrrmQP+SyPlaxyr7>Nustyr`4+zGm zXLEUF*aPCqO#=MKkNcYR4XszFwoMK0SI}0MOHEgNIv#1hZPzCj6<6u|FH%O;!hBjU z9b1E6LXV4C~1K#XLKM%jFXsDv5QIq1slOR+=Cp=IifvT{((rbi2nB647`i zK$pdJH=;<|^mu#6ynkI3S2QQxO@)HLyv)e6^oE03vnKj|mOvqitU}5n(xL4->Sd-e zYDvY<%f{L30;WJ#_0GKdlQU=-lSe(ny)b`2MD)ZPb^bIIXaqhn|6I@o5()rAUKVe?9go;EC>Ut*ZdGB;*`?X~v%814+f7G}8rsmP^MRC6 z$2JespQQ_~ba@YcW|OcRpE7vCrYzo0!cb>4+0IpUWiu6!9JZBsa>s|Q_`Za-`Ydn%xbD!~~ttwtQ>G1Qo%;fkz z6fzIS)aD@Ku`_0JPoSm|Y7?{`KCnDo9nNdB?Te6^zKRZONHgy&|=Z*U+~ac3ITQIXf7RAnRSlgJi_ zl+19Pne8!N{)&L}W-YQ7b(Mz>2%P2`Q{<0E7un__Ya7O|=vAsdEc4#dn^%nU+RVQF zfTG1=l?N;;EbFn0`)eClqD?C>*y&$fYo85|%-xt~sM#PWt4p$&AKIxs%dTy-^!|=b zMT6W~MlZattIE10-dzQQFnnK{DGLYHg-c5F`woLm7zUjMys&n71X6$heONxc#IfwA zQMh8QlEi(oS5VLhq#IwLE0Kl;m~>UB{rFAF(rm5;tQJ)W-rA^8S@8-xp{kWgn;a(@ zVh<;}*~Y&DXLTAQmK=*?H&2^&dISG9I{hEk`R11e6{^Z4i#ZL}OCl(T-<{y-I4WjM zG+9j>?^x8s)J~4;`iUF!8FsEB$<)nOyZ8+&LUSw!D~Vh)sJhb(D$3JMU^Ob+M_=8d z-ha*Zx|ueqNczxma(bF0v$jG~Vv?{o?ld?mT|J&`HFP&^GLj2=t}IMsxQ?jMR#6BN zA!0Z3o56CIdZOl{MJl9+b}H5m@2l;N~c3l z?qsoPeo=p_meTot#{m)x%??}UPmLXUw=5Is6}b9MYRMIMmSdtpwLdV6EQg~@ZcRsu zB$GEDb4QoFlv09Dvn~fhoR>1Oq;iJ&45YTmb}O~aQQw|+yUj^|{&Jl3Ar^hm+q7|?_xIhI z^ph`7Ob)AXkmL*1K$tlXlMJ`RHj>VH?QiR~P(q_y!re?`B+uCto-*dlYWa)mYZ5XvCMd&M|qO5pXFimw_6q` zHQwVl%N*Ife(!Iha2;b8t!dqNzL1=pp`AXiS#||=>eUSwy0GUd`dN)qp*t>c?`{5B zd&NZv3YV5PGMdtOf9eMT6|){^U*1_Y{XlpTg>|pd3-@9Q^v}F7{k7wHy11WN_89FK$Lz`NBTIsY zG%V|73ah=fk7;%0c6aQwFgll^`Rjw%aU`o#k*-ZyXWDP?KSTJ{m-#aKiul(~P=Tz1 z%q%ma-4l=yD9@FJhk_wy5K{{t(M^d0>))I z3rM2}cZ^og%hKOonD{(u7L@g0`)Yb6txg6mU8}F=GVFfnjyQlF)zH#FfY*0x?XdD- z&NYkz4z;c+?U=2)s^i4ua(MRm1ba-C#!t8`%Zwf2O})!6B5opF;}f$jrEKROpR zm&>f*?xse73(hC-dC{COP%z%_z)DCd?bmoIL^=&N#`vObutf@iqv`J-Unw^#gwycu z_h#3J%6A-fENVYHRcav3?=;hXg-$DHBs9}Bi{q~R;bdAm;otevb}#`A7(*u9UYs0( zU$$Ac;bBFvyk5Z=#Ae#wbaIlQSJaVGj@@S3f3{d>c2ZTaHJr?tVLF~!(zNDDPnTYR z0@MB;4CqMut3TKuu)*)BR4A1DZv%Ry-WUS|DqQrPvR-w+SeQs0i-A6Czib@OeBl3n z6=8e)7|}{j<3%n&jA{?In!&DTrfo|zU(Rec2~-1;DQMViOou<%2)AAPX-^9HishaC zx!KQA{Ves8NYHmhV1hN`5}BIn`?g3o2`mVln$l53D44GZ;EgGff_Vq=0{LS@3(5{{ zSclh3>sk^-nqN7clVi#=;l=GjG!lXG1Zw%E05#x}hlPc;<6R8=JhYna^M37)d;#QD z3n1?rpD0zYs>EY6rExj@KKzj^=%Ha72`^DR3P-M|$MpHFm-<*b$7PC35fF;d_r9nE zvPWryEOl<1rKj;|KKGxwqZ58NyFJ?bU4OQsN)_?~C1UU||9o?Vht^{fQrO#tHF8HF zMdtvsr?@Re|F1Da2F@o7Ub|cGI%H3%$R8cd0zVQr?;5NH@Dp_a-efJ~r#lg!>9?3b zSEcCtF4}(Qb9>s=h~G1xnUWaF$#^?TQpacj)>uvHA0 zo1VK#>fc+O%s4Ej`%d=`XUi-Xs`Eh0zt4d9xB9qPV?2l@=<5yXQpFmORzQMzPsH!3 z0?N;Bs8jWBK&>$tWDgHbj0H{(QUP5GfB!o$&=oT|`Tz3>0klF2IH@kz`>D~|-a%rQ6pWob8ck!n znv04}G69UNrXbe3r7`al^D6VHe0)yZOg*m?4!Jbee%~VJAJa=MPG2Ii>5IU#F6B6o zZH$2_Ueh5O2z>^vNCn1jlE@zXU+c)f`#BiC`*Cyxb2(enRV`IfTxoX5+Ft1JYFetdC;(tUnL$tBIB+41yHk(g zzJ1usuuB9qTr+}Lr-l5(7jNA1?M$PDy1}jmYyBgQ>)$cp@1FsAJ1}yb zwwRZVQMpImwLLrd7~R z7t5g2>D?nSzbB1$qjkEVUuOsF@uRBw9`WGBC>?j5$au|CbnYnH)8^F-?aRa)3&S)V zXoO%$QWEoDn;O_z8o+Z^UKYAsBcms_tY;EGNc!g>&(wsCAX-3PC|<2N(06wlbSnbS|O#!72H z=FLCQFOD8IC>BW2f(LY62SVHiHX62NJ|^AP@26d$L+RmUUXZMTnOaGj4H=O(V>R+p5ASPr@)oxGSE{k_Lp)+I}d?YKMu*2CL(HedY_5|%mv&b@A)?sY-1f0@7j@J{hVqN4kWv2Z}03#GsO=uzY?-qqD za_;|gs-W9ffNxs)SgbyP_i)PjMe^w-DUFvq<5+T-=~3?;B(N6E;vVjQPq_Lgk&7c; zo~`TCtCdfJsNHQ}^}aeRs~WZ*1PBi7sIjk?Y{fHat_i8z-p zj?DYaNv9|aA{hX$@9HWJXhU2o)kd;-n}A%e03^*cK*R?GKA#>^@yax(TyHNdDiiYrGU};YN}CzJQuQX&fovfBO#D={&u?c4)!aI zNspTg<-wXXDiaL4JIH<)6FSJyc;H8;wh9EiYV|zu1G=$EX^>Zz*qmUXrNPmkJ3RK` zrBF8tv?)Ps2B%%n8co zM{BImDc=FC#%>a@>hAL*N69`v6UIAx4jm6}S5fU*9;~1OnAgbsVo?ihHZGtw9QBd^ z7m!&bf*)gsfkuD{1~&mANCzZ;e*#!pjifgZUWRH~Ej%;?>^m}r(phTa$omfCu7EEu zo$)qn)z+=GsgM$|H8NiYpwgfV)p#ad3}0K-<^L=(*qN$jiFfKnlI2_#URxhGgHM= z?8-e&sCY5mYDdho3qD;VQCCb$*V@DjoD+^&?6|S+igpE>H|yEwjyCN%@49UC9q#Q% z6Mk#9@!21kwPn^^sE!qJ$lmvYYi>$BMvZ2dX1>pS$`9zxH84M{?l5iTH5y``&AI(P zjJ9!RGZuO<(^@?Cybr2ks|uKrsih?iO9U>R`}cyBKaU z&`m%s;Q4C9d-FMTgvcp2_30Z}A7xo4;usj`w2tHM9w@QMhA{J%>`khRKq^b`V0RSd zZyYsXf{yDPtoU!2FTpMxM$Upo^R%D+3fNpbQ-_BOD{v=WzfYa(dXJ`8c0MW9Txy$k z$PJ;P5MLogv8Bk<1Krufu7yYYVgaiqL2K=qamkAH#(>onlS%wf_ohB(7%?`m=th-P zx~- z)59*RpXn(-#I^3oO^v#X4dcZMdKqL|pP?PRzR-V|dMiOVC3qrakadJbGbt*SV^+Ah`y_fpeqWkYSD<@;dr4b#co$&<8#nUHpC^H>E7HWa1SmsHz_j`X4fkx zNja#X!qP<4u};heure#0LG_E{$FZ?+_HNWaP=pFT%>9BVnja!f<_BDqFR(u5>g(}2 zR9}dvnr9BeIJRyftdwK9Dcajqd@Dt?`N@@HS}k<){OY8& zTCsBt#5CGlFsMQA-P=|U3Q2s*Zv&6NsyisZVZXk8=heP$g2`p3y-J6vFlbbnBCPS< zR3l%+j67l7be4bNlS8}M;_;>t?_K>?!xDdouD$OGrYt~su86-uV;^LT?4(A`nLHO5 z4Ce$9gzRiC7Jz9cS|koVY(rJj<+D^XZhgd&wXIo?+L!Y*$p}V#hW3$i`)h@F-gmZ( z9a`ww3e^x)v^TO?Me_YxM5jlYC*m3j4pYYC;}I@EL51m(czv(A{RH zJ1ZOP7l+5^?$^Mj=ffibZ|yM_J+j3ntz{?*U-+bks=<>31HJCmW^{+3)J#E z+)Na%@CvVpCc?4>CA=CX%Xt!q#4ZbDj+~qMSqM=o-JaVr-!Sa7=*j#RU&Cm{HApq$ zgSI9fE!6Nq*EckYSA`6$Kh~Gr|@gqe4)2a z!BcRfQs91zK!PS%vn{UeZoGq_Ev_f%iNZLpoYwT#7)2!t-$N@-6b`mFXwoM+i%AX_ znOEB@xmY(rISxCVY~Q#K>GZOr>@rs)|G0U|3v5sK?TKh|ZWH)wP*+$mf7gnEH}`AgO^z8vS?Fgln=hq=X251j8Jl^Q{#>~cJi!Q0T1{1 z{zBEFWN7P<>4B(;q+nxtqT3`@f~ePyU(Vdns&gk1wh>}Av66^0FaRrHzi5#^g@rT3 z{DfyZre*7NIZq;zuX0KEJFm;23L@ATp`-ab3FTn@*8c=)PBKyQpS@A`Oc} zV8q75-4kcBtG5aJbIMJ0r|$1tGpTtqQDSw6^~#}CB9decp+#+1g{%%y1)k{h8>RvdUUyq9 zV=(J?-1#*E@)6^(9b62z-lUOKh)!LeQ82$^2Mb^58NfkZkd62R7Z1_t>_K0xEa>Pv zQ0G&(N+(nA?2~!dpM@-2z@N3TG|VJKX0_!{1$eBAcGZQatJGLZ^Mm@GO&^m57f&0F zLNsR!j$wMMPu{QuyJ4->V!6@5NfT@y2ixh+G+yU9ttp3dgN`l39qCj-Lh-n8$dbl2O=pNA|{AphjN zjz#N?hsVs~fXC+wk)ZytjzU7~t>|&5rTWd-t43?rP>Z&GdjYMamFS?Bn3m6HHN$Oa zORT2P?+(_C?!Wxrkt!tSfaA80cT)4UP&DquT6LX7V>^hRIu^5$(a54Aq!dplvXNe!wm`@J#>N#kmC(f_} z8gg?E+DjP+$%RGgos(*n%?B@8#IC15)xXHldt0iYdL?+c8_*qdrErg{QJHGRJrv+5 zJ|0{?FM;m&8^`n+6en>@K!exBhN;0?Dg`HCrj0m1^-Ab;C8}^O3iiu5(3$JK$%c z5jtFFozj0WlDlya2L))AqHB2|9S2f0KGf$xD>4w4&uM+p?JM6trl!h-4|qZCnKX1U zD=t&yNg6J39^hns--2p$UF zr{`n2P{B?Vt76WscQu{{=qXQVZLfDJiuL=cgMYHtCbak+VnG|)Z6@kEAFN4fb85~S zb$?2^)>G%>Gew1(6z1$woNPhQi?`;QImEM-8aJL4I>Mdv>8y3E2ed57hkXCweZF=! zgX+&zVd(b5y;a5C+!6>ZnZJ8Ty1~L-{2~{`TwA2kW{~@2#R(d|@6Q!Q3mc6a3h#bA z1-_*?Sa7$cw0-xg>NV4EDowIR-iZg5cO9{{-Zj4cH$a0gtO2fc;q{>}#_*Y_24~=` zIt)^pjY`?(AX-E#dV)?^3y+xYxN1SVLfpV0%}E-*mXWWY?8z@{Db4ogIe6QaO7pyq zs*wM3w~d%PnjlsFNG})^HA`=ZW;#-3GM!t33;d4aSwN56SYFGh;+l7l$Ywz~w0S7l zZ4NoKPlMm)Jkka5!?YVuB_Yt^a_rt@?cI;hrePD>b`kAM@3Yr&Fyd*0{YD34(LZY1 z64PN2Pzo_EkpFEtBbvwVBYq9o-ak1ke+O+`l^|Agf6Hww zK1dkEM@m5{ib;WbA1s}P#dtc>CB%ZH=U{j%bHr~6?16yxM^%WhQzVKR733LwVuyrt z@wXCzAr^ZclZxrU#Sqo!@UJ5>aK-tlS0@e%BwATJ=eXn%zlZPusg{r`u#aSbZ9Gft zj?;jKzIFT1FG)T7y2QToPM>d_5ScXaj;B7%vyb(|)*?7(;|YIq{nN6Lx#xSGMt3J% zPhwf-e1hA0%GWfVgL>T*qHV8tm7kDsWrX?A!BSSwh|nTq(o?X^5n*k|OAil6uSnVr zJ%;(Z`oVlDPy3y_4u*nu#Jx@}Uzi%M)@w97wkQ&V9LK%81sp93^t~it4-sdEFXmWe z5fdMx4EhT6J-#UI5TDKW4+#F8q@JawBjY1@hgNGp5KggxQRbvT5}MOI9dS4hYOiH1 zWGfYB?>qI%XE}jKyldIjH-}bL$LO%3ZfxdfWZXJL{NQ%59Jf6Q(Dh!}n|P?n@n*{Q zuMlS&LwFGHR2h7u4~zjfg-d7fvGL1QU~3{POTZDvznA45StpS-GswG0oYxjgQ-26VDq`Chx-J&O}Kyur`Y(Av+w2-W{92sB0(or1Q;lkfX|;G*yuRV72!lTys~gcH31L{o2D7~R*t>(t({$^gs6e`A7ie^k;N86dR+E&bHQl)9!0w8DzvSsnd`Yd zdC#iGtd`v{B^Vm9q$bNr43wEhOCP6yIYm~N>_k%z!2_z>5cF2 zn#XIU2$>{2dGaLrW3MOYo--++^IE7>2BsdPn}sde8(Fv;+hck1bLIz2KRmeWQMY?@ zqUm%8bc@kerYP*R<3~JCEyMvhWq&^$cwt-X^_hH47`UkmoH-7mcWDF>02vo-N#JaT zrj|c|iHUKX=R`B10dyex5kVc&Y$qbC^K%mVi`C~R2NoUKHQZ-(%eO3RwtELt{EOc8 zW*1?4v$-0f|CBRtwqf%D-?v~Mv1DUHWciIiLc#{v$4K78vXzg^I$&LZ5Q)-+NfG{5 zHE?Tt^b-OGUvXDB_cy8UM3A4@5*?>rN%Qw-&vt2NuN5Jc4o5^$CVV-ZBFsok4Q3pD z^sk6g*hQG{-{Cs2D16~tc%P=hCMB^;6>o_tEHU0BPSJQ?QRq=AiKy;Z@FLd}zeKht zZ&~kv6uStqFAo)oM9}a_z@Mv+xUSql2)7g4W8*MW;^?l~NId$f&3!ylBxIWiIg7cE zd#(dWGN8JE>G1~_7%Gxqk!R9UlBqjRgM)kjW8dE>(!c zkVY(@`geW|U+%!fD39(+tfJ&1G@emDH*0xmFM1{JA4Nk3XeE4CNZz${kth2AD?J2O zx?WOF30$nUbP{w!cEH^)kp#y;P#3Hc9cs?J0G$#KptQxt$d*!V~<^sX4gl zp_@HF_BkLNS9%aa(a5*6bRL69IL`*#VJ=9AU{wBk7=s>m?U{(0CtJ9Ymvtm*_-wng z3>5<`6NgUQ`)NL}&3?q#IGvS|sG_9wq^U3S^s=<@63!12>9mFC?xjb_%Y?{iFl?g!6BGO(~E2ri(2+{ zUpx)-eIb9m6EPvHOE`}cL5`ala@--1xziY&cZoa0ymzmkE@G`9|Dv~m!AAq1Yoj)!>GAyzW~-%a zGd*?Tit;M}dN{tb^1fK~iu18Yz8MJT>0|AHhJOeIC3QW-19-(0{_FXl$KiQ_S+~YD ztp@jY$jLm%rKNKjHvX>5yvA>M-iOj?o`~~FH@vm?m2qW6s6|xY141{Kcg8*u>lE83 z4DeW{X|I}CHszX+2z@7EG?qduMm&;mM;!HNia?`tf9H~Zbr}Dqg!|aFBoQa}?>y;D zzm)@B;?3ILR2Y>2j6K~Tp%M@{qv|ZHyWFMLUT9D+G%}&H!@qVAu++&Njq|& zXKiZKXXo8xg8w>UAXYqBqaAE7cG*VDPt-1gJwg}J8YigRF1A@sUHYn2UHIU;HF@jC zW4H!OV>vi&=>C*UP4!AAYb=jNHQW|#WNYiT)yTLp$MpEDX_C6etL{coZe4$_q)X&S z*Cl}!IW7}k1A!Gp_-g$;2j2h29ITJKU)114lWp~pYoOLLqjF<WYHs^n3O2*9d$-5d+=6L^N`uvzr@8gOR90ml*>?#IC6Mb?cba|KzA0ODXWK+5O_KFIe5AIf(vn=^h)Y^pd;45*4bE3*AiUk3qAmn}twLIM zgu0!bU5q(plcAEem~CGF>XgMw%ccM8*On&d+7Ab^=oUS8o*T(xuc?xvPQJO{z@lFr z0iDb9ZM;0LSJL`;E=@!m^xm~h(}LVVcabp-t>C@yeqB~u=3bE;>bGikHajM*bv*<9 zlUqz>-;38E4hm7on;itJ(Ise>qc+gfq|rz2bh8cr3gU!n zZF>`q#L&d68gN60+jlR4;t93Qllp6eXzuLcE!95b9dTkZ=`i&b{%4l!JG|69cRn!6 z2phfAy5PZxCXCwojAyb@cMc+j{);oRpWKpSkKUK6R|Wn_e3oGdy7IAj3HUn?hJ^*W z*hIde|FsyDPM6B60zHVogE^m{d_VjzZQx&5tJn1}vOh65;%g#Vl(__Ktr*OYp{cO7HV%+CFbf&s!sO3);4 ztU%+Pt|BF8F}q>glWJJdSh{G-|E>ACBCRf_3+z|5Y*}qwyeh}%FO)pP$h`(#=9T(H zhleHQlqM-m1eaAoIEk@c?vkum1nSuV;=-+ON?J^ESo%S)*jS)dWOMSo%FNm_w#rREsR z5oz32@=wdE7rT?S8Ozo^e3VQCYdx292X`_UaXcZS+!CGB_?Z-67?F}W0^HIJ3+w3?u2q;zLOU_Oq9@JzV#2|E$&9B4hu;3y zTLmK1mg1vt077m#RwQK;_pE=i!)nv@%J&y6-I;Tx-U>3g%nq#l3EOB;?MdVj(+ppx zfQY>fZl?!9;u&EpvcJ?iVx8IL`ChzVl#4FT4tF})yExUBZE}BLEYa+)KUde*L%+8X zGc^&^+~)BVY`SL`4m{Tz2q0zU22tW-qdY)I&y||Ll-sR6wlPyM=wg$j@m6uYG0CSq z&$f$H0)I0<%4vp{^S@C&t2AAb@l`Kh{65 z2lYkh%EGLRaSZ_6M9x=oS!oM@0nwIxYoRik8Epp}#B^1!>c|ju*x0;*8OtN)%^KB8 z3yJPbsB&@qzGP$>^ZF^>OfyGaE_sfIj%j1-2~C=}yTr;f5m^|ozLQS#T_Sqz7I)tM=@cXepAjLz#tbJu0HnXc0b$QQS!_Ae~o`6Q*DsoX!V3dV#h!5Lp- zB-CTKd`1u(3$#0huas#MKF$k}P7E3e0!YN_Pw8E*T0bn&AODei9jOw?RdApc*hv-2 zpw2FUA}P!1c&SSJ@jzL1_E~tbWg`I@Q}+w1Rm^6Um&It___ZMPhz`}&WKFT*S_fSW zwRg7I!QR{d4^v2x&=#@mQNCcg-m&22(OoEG>T+w<&kM6P=RnS?rxsUgqq68{=;|pv z!s81Jp;pi)Qeri6FZ3+`jNi2oQjtn>KK3XAS`XqmO97jW;7brskfJ*CARLKxn2nv` z!^UEPJxC5P9l&Sa5gqs&3xE>~`;n|3zkUAS{m`vXkm%2rVs+eH&?nDP>KyL!H1k26 zD*r74wPFccOQ8?N2Hfn5#4p_^EWkyo3=E}9AAg@6(T!1bQ6%P9I|NHv{p7Lnzr)NS;=V|%ZHuUWjTHYh%tbtlXZ2tIbt%GE z$iL|LVn(0u$iCCT8#nbF&DBR4J1WoqnCYzzsr2cPqdX{IdN&_REi8!ul55Y3>Bwnb z_V~K7m*U5P7pfHOGOFtLEa0tthBYun#6L{2QaODp!cG6?nJ2_Z+()VK3=1~?LkOK9 zKGDCyp1(b5VdgJk$yUAZsCp^9II>Ye8arc4DHjv1p_884*YP_$O#`Qv8bWClhYaGc z+Lt(PoY$|jhdU#py?#uj|GDW*#r5`?@uK&V3K^2<6$_=RMD}C2S(2f$1_C|*1PUUJ zQA+r(aiBrU)E_JZ1}hcO8)E-E=P>_d6H9bKZY8gU<)PnVcd6ViGaBmdJ5EE6bhz40 z_4Vu5%AF?7Os(oAN~8%QkPD>l4tvJuRq?c7lA|Y2w@hv0IboZ5brMtFv30uSL6?P0 z=eLSZW9=6WTc-#a|8IqsCLSvFSa?Y(uji(p?pB4f38}5ua8Xa?%3`F_n9@7luB^J|Cm+2c({7B5qWxBkq4MJ8M2scce|*uS@)J#%I-qjx-42V<4Yo6 zGF;w=Q!2{k<}q)2)fvuLI=_M}<{O@xh;J8Kb$JZQ(iK)_&}0#APHt!7qk$IP-2Bea z0s0UkpW^}lyM$1=AoK13VN?FzZUK3O`tp~{Z~N9`QZ$q{m?X5L9;188bZxyb76F0b zR9Pwe$5^eic?JqSGAh>=C`9FnN1VW13B0%cRhu~MVLs^+E$D*LEOJJvBUqO2J)j@| z3lp-1AhVNstFi2(57X^w{Fji_fH2c1+j`F78V^m{!Lqf_XTG2Lhf$AU`B2z7De<{~ zxKXpaQN^ND``}=AQLG?c4`UXVV_)fRr_QRTkuZbdy*J041F#@FKS@Ei znU^!XmfvUcQ(t;%L`V@ZhT=dlQQMay(VX#1D%dchI#&ZB=uS#zHk_V1qVQB@T`Z5T z5U&D~82?%{fH|K@&J8B7^t1?IpPVaT!DLT2`0&5sWp^3<_F2cSr?Q7y_+DmJ)n@j= zK$%qr1Q5EuPROa1-lc*%1r=zxRBiD%occI~JR^er+yRt|rlbfs2LY15afpynx9H8z zX;Qb$ypb}5b;XeB(cfAFESV~V6wuq<`5JObYSm@yU+0C&oW{b%hD2KNHYfpT{Qe=G z{-aY&MPi1Bt?uhIf}dC$CO=9XUldaV$bXT`W;x(SW_a>5z&&-lcY|~$F8Q*g-q2%l zW;h)Ke2AT1fPrB)g|XBTzZ*o=5Zu*)Aa75$@=dX`TkM_lOFx_Y_`+KCv=ZoP0iQ%q z(8Ru6>Fu}iI7jRNEZ#bDa^>@~VTpY+{{~u5@0qbvLgCgOJ0I)M)g2jH;E!eN9q(-h zzOT+@IF8hR0Jyk;$RA>3jBvY#to3NA`Zc^wq8I^g<)5~H=)#x$`8oHvsBrd>Qj$fv790q9om0y9L^;iLs;0@F z?zYYF!99kYD+4xmL0zJJXdI8`ZfWaV;hqXhj!;?=NuT}oDPvu$&fLg`@LiR|;cBXx z5x5JOS*}5iMQOzdEn80^xX!VuUV3P9PhHl)u%H;%g!vI0;NbkLd+SUJh%ZUe=JhQC47aqe%KYJ^M+2t|d=6CF zy=zkQmHA7rD@{sURjvrZiPW)PB9p8yKy19qYI(@SEKtU9+oA!61?hZUe*}uhK!W9W zlD29#fYMN{c{22^Ft61+Ew&gj-ND-7mCqEkexLXG7sQr|X>X8UR=a*N*E$D!RBwDP zU8pm9pKUuwVzb>TWt8YtLO&vH=(X+?8h2G+oh7PsqB;6>$JEdyZva zJ|M?l)sc!i@9~7v2&s(DkIq_&`uM#8xJ5Yo!D{%bsmW}b*C;*aXyI-_5U%nimGsUK zj@p-On+fKpI1D^dP4Vht(4UHkvTd+6@6aSj(8Ve*L8w%ubl>z&L$?h5L|?jX@1SYZ zkPlo_FMTa2Tp7j6T;;l)#3|9gyO>d?5m%ELO4BPEvG&$VfbMG4QjhPCZ0X`D*Vj8P ziTx=ldI3%D2ixy-%5R6!#?XrFq&g%6z+RnOdi5I!7)6^KM1FvgrYOglPU3HYRfy)$ z2))ASTTez1!J=<4>9dr;sBF%SX?n&R2cg20xL&wQvFIfxLj^LA7^@zG)yWnmY1W53HluXwi+#-l&V>Oh zQyee9+15_P-%DG$fE4g3BwR5(y0hN>^lgw@rk(P7ajCYT%R;V!_cpoE4U6HTNBi=J zesAZMEI%Z3@YpTgKy$KvLt&Rd58IiB&{++SnmN0fopnp+Dk^T2@?Qy1Hl0dY`|*aZ z8FjcaD3Ur`B`X4Ma?9^`h}JP0QAZmF+v)We*V~B^xQ2S99kDWExWv`NwstCN1~3r|5Uyt=z-$S*HO=oOJ7)v;Y13 z^W55WrwQFxh2DM!A?>$>AHk-1b0V+)vQ$&IPO*EM$*rW^w?V|g$(M!QhsNdL6l&Gj z8fL6vFrq=)0DKdUXuy3$1D<9!cv0fML6^Kft6}-fY2-~uQW(z5qt8Jr9a3=m-KrJV zp69M>nb5+h7j|B>7%hy;_E8xzFz0idIcr_2VWkkqC4uDL0Ml&IhILxExGo2*CxP=%3X zO;6>iSKad3-L2gZ{5;nERcf`wZn>|`!+o8~tbj$g%vnA26N^itr^a`6+4%v_{Bv)m zXH%k z5F9aWji;WOY8NI`g)4K9^MaKPKHGumz*3{RAD_5rK z1o=>k$z7a2VhAYjxg^(#a4=fj9wgiXIQ28w+NTf3uYfA?@>`qc&V>8KH=6Fh51F)_ zjk28+gS_ba{>LjvLHO36;vD<5uNn0?ORdbn7~P{7Mv~zkD%fOfeNC&Z?c&D#q(`yN zm(aT(=NDVOp!sXpcY9U3GcVwh^6NE~E}e?K9JIojimQ9Y?V=e@G-ZSBaq2ZDs2GC2 zv(bznW;$}}YJzhON9kfk9sD|9Dr7+2K&D&me9=v0y-IT+H<2y z<cgYETeqEB??bM)c9 zDM1?_K};JZAFR09b#(fR#LmUG!C~~>3d6Ww~KC8 z0~mg^jOmRT>~S*gv6J8P3>6cOqi(-RxrYj7PIscy1e16@1f%eRAXCtJ!Q2)-fp0(4 zYx&Y~nmc>i)G4n=Jt$Wlt1GYgtjsi2Kea__1&Fbm6l`$iU|_#Ix%^ZzHu4<5zT?=~ z-`shOTEB$Ay+*|Fh0bCa0NCP2POpX09}9wQ|TDr{$A& zvQY2fzLHevEpUFzFDF=`is{H@J%)^7jSrDdlRn37)as%@OPP3}S|g-QP;vd8MPL*e zO`a}dX7aS^Ds>RA%aMoJ?Vf7=o{PfF+O*@=W@@%hWs%RVXWF<(RIolWoVB~|<;t1YFJ_bikMp!1Hkatqv>?D(Ke zwq`WRv%x_g)1x~{d7`B^OfD*~!!&f}^M0IomI;PX&~?f8YolUv>*&G>%z6ry;bqo8 z25V=7lvoFJw5DF5y<4K5Ob(TZ)>H;khY0Ml+SX$Cy4_8~m>!0=)wh+{wlQ$~Xxv7q%P;__S`?bYj~)~Xn0A&x*JZ&3 zf&HAO$b#JR<*)ro``eAUi@4%JmM9Lone8dE zi@lX61{2Dl1?^{1n%2j|xt-iO>n%>L793%y*S#U^9yR9Rv{c{tqH2k{H{Kp=xwt5n zxmZLh$Ymcy85)+tK;ni4F31SL7XHdK8zLs_p9SfE#-<>&Y~TeY$lLQJ?QLyVt5pxIxR;+XHQ-J%;yM^ zaF6(Q(j@{AE=kN}_t#Wlz`=I>E#wXH5Qp>5Pw_YsT5TOxC+V5z28Fq+inc@5%P(86e|PgQ!ne2Q#!f-p|8u`4 z`Tvg1j6g=%K&4zU9W3MRLdQAI3OU1$Kr> z)$_I0NB5WZ88gsx>-?vo=4$=ojs7C<%-3FcEFK3Qy640`qBaeiXAbLAcYU6TF8FLf zmfh2P`)hyZoPR0Fk}j;ij*X4%T0IA1q8H`L|CEaO;XnFilAZw>G0|*z1250_ZpWJn zom#8qqcj_V$#c!G869_8Y^gaNlSQN*45qqzlg{)e`Q#PzRM4?2F&j#Ro)sRd9jhT$ z38=ImfNlVvc2G}t6lg3~%XH~Jey*FM6kO>dRfrS0)-TqQFX6Q#qpj3iE=6YjxunAy zbyo^Km^uA{7@63sOnCwT;=lqznUWl^er;=Q~7_~OUZlEv7hZY7y!+kA2e_!@q!$j-f8i_OKlE-#L; zdVeoZt43u#H~E!QaTJSwMecm5=Yh&P-6u^5&UUUXt2*@)_E22b&fFhe?0Y5<(w(PB zyt{kBfr3S14`(OyhPTJusO_j}-VtGIJbh@YqFSMXie!=#+~qd*YFMEaaE@@-9ZT1y z(n@pYg^-HSOlSUc!U*PEhhDzqAZL2G$aJ+Q$0vz-oimg)LQ3G$iDOSd+8-g0%R2uB z4-7qTrR(WG_U5NQ06D2X$Gn^C&B$xn&2#+yA_T%}@8CxAZ^}>$c{*n1;VLi~V<*vv zAKVq&oUeqo=%`}B%^3@yI`8*7t%lX&;};cQy^X`r^k$jQwu`jVPV8&u>^-6tM_W_2 z3KxI-2)8zHOgDN3t+@?SWNYT+Q*ao*5a{i9oLq%S%M1h^=ImeILd%Aja+D;|eyU3H z-kX+DKnp0?GRftu%V`8I^KBwY+1|_hf-R<(xL+#wtDw3&bcUnO$uLa`DLJu<^;WBPU5?pcya7x1Q?s57_FY8c{oW_gNOP8-_5e_- zluN+b&t=u;*|3Ooazg1GCqANe$7RC2ZrhEQkK%BhYyU30Y(U6XD9KPf(Bi3)BSAa= zs`SNLS&nRg?951EoQMnAZ74go9-vau^KTFg01%nH(S zd{>ov8vmj@^pxsx?YaVG8&#u>(4Hff$6fM)KUcAi#oh<|CS`_bS`zgFP1UN+h2=jm zay$7-rPb~()8>Qk!YK_s$`*>=7Ln)FX=KnPU`+a1Ja~t1vmW6-Np;Vpw$C-1oTs{f< z+GMYfTH*8h6tmq;)N_m2I4rYzEPK|!D6{)zo;YNUiAsXG4RJgHc+gTd+xY!o;K83t zXNeHu^OoLVrn?^##rlpa6qz)=fW|VSe9YWaccCb#*~WM`(02X(7w?^!S#oD_wY1)g z13q7b3OK`?BqEASh2{op!n+#mo#Tw1hBb+z`c1>os}1s>V-EHmn_{>_L>`DhkC-n{ zuVr^-=BwziE~SUX<>u0(`idXrCeOtkLIJc@S<(i5>Fz^v?x>S63iWXYBp1TMrz!;yPtXa;59NPO75-2PibRk+*T~Y7TAv%*_dCrL z?@*kW~sdFp1V|> z`-SEHu=D=Fy4njf`^ZeCrh^fj$6{x9B<=?i7uNA(#Spw{Ssz4?sxiECj%K<`!|C{h zNg*kh(Sw*pJ-uYZ3+@zpr5S^2TTR*bdUXChZ|35W-C3wE-mOJyW=APoG{sFYS|2Qz zKBR1D+p9L*QrXDukEcf!l^Rsvv3`A~hZ35QgmfA(K;i>e1%qbAu7$eX$z9&N$Nr0y z^?;PQ?mtKu)TtUSS^j&1=$$p?)FjHgY>W@VbUg!<<&<$b$yhvq8@>?F#`F~ zdE8}f31U;QhDZ&FRwDf|^6k^q|5HW(Rgg_f^8CV|^&6D1x(fU#6Zp*q z_zk;J+RyRQ9|VmphahZbXz`2THwYjULH<_AMmfW8$dUK_+QsD0-vF@nay=p4k**W} zSo@p~=@09l!+Jz2&apwv4#B+s+5qFvC2r;U=J*#mvkf9Dk;k^fU&&duQK45eN5ib6 z^S!c#`&t#F`{I2y_uag*o*V}k^(=jbu13X^C1n@2ya%+zWx5s07A7; zt4?JLh1$RFBffAU@;cI^L6@dkZ>ldmCroK5cioVLo>4M}#}^LY858&WGBV2@NOR@s ztwpM!WOFp1Gxb0{a2gH2t+crz&*U(+Rn7O|btA_Sz+X)wgMScN|M4>A%U`m=UOUGa zu{QCNMKw(?le9gNOI7TwV5avu|DrvJ_Rkj7yx zvfi!ge$M_*f>67&*Hh`WFZZD!{9T4+5&~V=KE(wYIaw&Mz*4tiLIB`DFVoi&2kA!D zky_B1=4B|=OhL@Ms25FihHCAIYmaEoQK%WF2Q(>=UE!Rk@)Cjna5*2hIY1>jvNu zo)UC6$e+oPUZ);tAFB1z&El@J_1T{*Znv0fux=}5Kc*i+(9AW_G(+vE#KD4MXG1zJXCCs=6aY}XfV(r|&F zwbA2`vgohHgwcwbjJlX@Voh9*(Upj1H=p_Zu_~ogLT?&MLg#P&D@y6 zh@4L{JLBzQJhnS$6NH^q=Bu1bu9Y;f#hSfM4-F<|3=EqSF)N$JpV!klLLGh&tL^_n zY{H^;tL;^x^I*E@ho_giPx}n`XeGEicf3doNf5KuD|p%zeaY0iXDc{3n!_B|wC+PZ zDoPN=Vyd;ip=)b7@n&LUlj$?dZCs)fHkYjeN9fudW+;NcE2;g=J1r z*36j#lEXMj-y~m0<6&R9%{A0EbKJi62PLcdB6auib$&qo?%$Ix@_|bk|2P|d?l!Re zGBpxthrwTcoqi@T=(@lHq@9cEq5$LGzsURaPA(^zEU$Tw{48I-X85gPwF=J*3UR#p zkaq4`@_W1H7Dpj?CqS1bmyPOq?K8DYTrW!}M&u9DHP{TsjyG|AYsrOf!h-6wMw$TI z=zcLh)f*Llfyd#iW5UO<02~2qUh=&h5up+{#@3VG^A7BK&e^Y zGby48c7rD7g{X2W>B)z~fmDiy5F+HV2Yzw8D@=u~@>W+Pp~d~H;oR(`4e zz+ig`bRny__f72)VcL9qk&d4>AkO#u$3(0)DtiRM)Lpv$ zlp*Q61#I$W>Ye^COpnNbC44MRToi3CcM~Bc^ULtyZ^S*jv1x{u^MOuCo{_I$Tbe)L zun%b;*MkC#Kr(`kkzAMEm??w?ul*8H6>yxK(idq0N_^Uuf>XU|bCrsKdIOsujflBP<=^-uL z%3xWr*8blcu1GJ5v9v!prqLNmz0=%vZc^4~u73mSIzQE*ihl;CF#?hIpOU=4PNV+s zY6aGR`mOy5l&#NzXCOISieGooBwf-5(nw;XJ^D}V z_AlzJ_rSSRd&bZ_FtTH0gVkxi<-#J>8Ab_)Q`j7nH_}}!OgkQF#KkM(;o<3;MkIt> zw-ojl|AMUCpcQ=uyB4}SPB!-#&;8e4J{51!=5=&jE314pUP2if3_($Qzq=EoeMD3S zT~O8>Pdr-dbgd71q<;-v#`y_NxAh8GlbA9*J}4de(YMnA56wM8F&BJ zOcTV{Oz$waKD;MbwoI9zvvt2OG#u+337wx>s{^Y^b&R0cig@N=fniOi?x8-hBH7S= z@p?ES+&$JKN3cbq&TUe4;?Ar8dTd$!Dt%4f-SuKi+d=Y5=cpe35q&mkmpbvUmkTbb z7wZX%*p=BN67C-u)a+$|vd5(cw9Yj+ud_FX048C8h!)L3@{ zP-S0?K1qUq$!@C2N5yVS!Dh5F#q#ig>;SKv3=0RUU$_i#{!j8c2shE4CH+pr&Ezvz z5;w-QIoHHV${lv2oS6DA3|Cm=TIvBV#0XRf{_|x-;QUn|juaRFtjxq22!+YG!xA4+ zDRvmYdU2U#cCpo=)?=#lplZ8dJt&W&rsCG))?HXub)EEM=#_hbV5|p!iFo~ZARXC5 z3bt6dVQVo(hZ~Ia4tY?d19oWpI_muh~dQ^L&|LU$@!t*7A2BD zmLNTY{p+;;ndKJ_IL8B(o0ERxw~@${bOQRquV1Y{#JDUt+Vf{Dx=iyhKC`Pr6ZGEt z9%KySzDKaIadgfzFk2E7$B{5Rxgo9;h2P1AgHQ6;XFm@}pctmi_lRFS4h~AdNiOfV z-(s%tP0syxLWK?s`#yZHmgKkJVt67CZ+hG*iGyDvF0RyzeYfm4FBJC`ufoS~8c6Hf zxOv+VM$$6$^Zv+`f1cKlMWm6CL`1$g5zHW-d<#oLJ3%Rs^!E?6hEJ^-8SzP&!(pPr zHA)1(dmK&?B}oKoRFa0_lLodww81WGJ@vciC0D?wlRG*INBl})RFbH{_~)MfIze$= zB3MS{KA$3k5WL@+O_lSvZ*5{_U}m+oRg?CuSHc2w8~3;0!vBMeB;rD92?-W98!Q`h zq@V5A*Zs9apV(na&eJ7cr_RvAsG~!s>UV4K6~6=rm1cJTJU&ULs<@KI#R#MS-eBZE zO1kjr;0G`*n;2oDiX3W^KM3eQ-tISt3k?>^J{`j^iG)4Q8?Y|^?eom?;nRv*jf>(8 zd7vQjGJ5{wL4U6PQ!h-u)TXYL?87Y}8vW+e^1prS3L$<|(;!VGDFde(C>dRe-+c=U z`y(v&BQx7|UvVNBv57kq{f3-?EJI*&`hwO;IMPAB$ySbQ9qhlIof07&=%s;V*p!*m zBoRFXDCl_pyXAIMz^8m%{zv>)fRdZKh$4T-W8w@R@VpJS5-e=%3&55+&V!eK`@C2n z70djB9s-gZFp`@!htS(^CRl<&PGHb>6{iS@2Gz%f`#0DB^5x`e*yEKAX%r6radNQJ zG=4ibUvVy&9G5H+DZ?jh7!f@g{yjI&BN8S0*5F0Ij&lsmG_+nNzu)8tNg$|TK4#by zL7*8YNh;~z9~uTe#e_Zv?iNNSx+ZzycZ((YU;qT-MP%(Ou1f$6mp#lU_q*r$O#-RJ z&RRNQ<8;EP(_JU@w?f654VE#xF(~Xe2c*)Ek$?T$w=x&N9#_{WQ(<9WgL&4H|Mpw| zBl3Pr$NwYpej}6rN96rZnEj8)`;AooACdPP2`~Qtqm`#X+_X?@rSbht7b$!BG`~4( z8TD@k8-B#CFZ69A{Ck78Ob@E)hx-i&p|zH*W`;j#UJ~3`x`_Qv{&}(kZ)e4F$9|%B z1iv|42JzbwL_<3%Xrt}7v}26`UR0LoXSS`JC;gz6JT1|$d*I-*wNN35vwA;!N zz89wcJ1Z6*u0VR#YVyHS|6!%=)(3v)KuW_?5xltlFL3bxAUAVY;!Cr%Dqnma6v$dz zcy6z5s_X*W$erJ7LnS&tfgr`>Q~UcPWBwC9Ip)x&Z0zI3q|1s=Sh&uEiKNL1*8%0k&6C)qaUmIvEE9eXb4|CZdhKI>J!9KyLHDE`c2AAhgpXl@f*U` zITb;BICBYZju@0M>Nwo7cHKj>{jc_}G@Q+J?{`WqwN|IrlFqcY+NZTkVri?UqcLL} zCDc~bS}j3HMky^t=U7`UIz2NQN{D?6gH$nS$F8=ht(HU(i8b%dxvq1a^G-6K-Vg5w z-(0RI&wbzj=f6My=l840#^th?R{{4pbHRdqR*@dVaPTdve!w*%dMDED!36!Qya9?Iyb>!t4n^V6a$aIfs7?p>bS8uzt3Ehy- zQAo`1a01d%dS%>spRl_j4Izeaz6n|^fX4S4hSr_G< zBJ9nFYVNKarR{pqpq}dc+xtGx6KrqiX&Xfrc5iikCEHRX{v)Pdd1pe=<@~Eh&;Bd- z`?vk%2}d)lNt_v!XS=JJjY~p31%H+q4CurHp%saG`&fzV z_FeGttDa1gA}^cMV{KU*b0u52%;qh4{plQ5%SK6fXR_VWFqFe;KN&MxwOnVNKQ&_- z;BAnBQ^|TBZa;1gRd#$5kMC?Y3N1ZCPzH&(P2P-&!vrOHCndGTd>muU6v65$+)JiH zvp=H!w>pzocBoYk;DL0Oy7%X*rY^RtmB>VMH^6CIYZ)(Gmjw(}^50=9 z?l2z#cyQq!qqWDq9z+Kqz8g1NLG$_>fW^MjVNd*KNn0ycsv-aGr=E36vZjwIuIo$l ze+%tD{)ny=d&rWZEVwK$MHO9ty;J{Vn`6j8k)uSV|HlEl>mV03#vDB>okoA)dEwR{ zd;p%d8-XCPHxJFLXL8OtHewo{{J{X(u`2f!Bc;S|Wg9dio&!RGELc>8Bw&3I4@x-4 z)>5Mz`CEJ4Wpw=buv@*kMgborVva=naesRvjqXEgQiUa#mX%$&7ZPHNK|I&fdMvdz zI5%F)R&vHSr;mj$4V~BnDiEvYSQ!hZTyd*tV68_9KL;iq=M(j|%Cj+Xh^dgd{vWdV z-{!LtQ!46%bHCXY{}Q3d%T#dF06HREtX{Hir^oC!s^B97=_KcKugt`v0se zY2QsQBcbHJZp!;%Ed>kDOuq=7ozS+8jvE>|cPxf5O)o75ioAX zr2@W-18qvd?B6^Nl;E!^n$?x)Pm161>#mrvp43q4-wf@-^e3n24OkpB`4I#4YS78J1ph?L&zlpuU)DVEbeZ0)8M>t!@ z|9GKY(Q&{9H9Qj$e>(W8-cm`6DFT5ATfpTv1N>}R9ls%~wY`2W0I6YLL;al>;^d%G zd}1)cSG*>n_EKASclVy-m0o}nZNDcAH=NCKKhFxE=|~SrmscuGY(K+6CdM~WN4@SX zpAtvBczW8WHHILo5&t<;PQswl-`_hBfYb}k{7@i2FJ(S^EX*w*~YqKgRTqDTFlXC~5)e_jERV>G>&0^Rs=W?Tfi zZq)^q4e9%yyxxltp+?Rbw!pTRE_m#KBE1>#Wi?k3=|v?0W3|r~mvNnAs0rC*=*H0A zw$t4%ZSsI)ppeV<$l!Uh>qG^hGU|ULFAQpGk_UJt!#=|;QHj3u@~rA-sAZ@r^_7IR z%URhp%ZMO{tO!O$NT5m%cirTDf#&|YWpmzDp*s!B-1}gl92|+ZH1T}c*XLC8J3=J2#+PXSlHCugo)a+BQIDiQz zY^aldEyPOPj3D`()EmI1VdBu0A;m$BxcUAms)s8x+_7eSp`0O2czcz{(_M$9wLThl zC#!_w6+&Ge@x==P;%q!R(g-Pz@Fz`h;TQ7!>;;HZr|^7^ReSXEj{v0`GEPfI2}(&r z5Rx%vp-{_}4is6e z#Q?c61ba+~eQ5(Eym4s~f;J;qN3;-bIh~bCv)pNKjHS%v7NZ>%bHdzaPW;4$kB4CN zB4;n;@*|9BmmcO9Ol5^l`A(uMiA<74T$r2RWJO(`D(tq_UhCxI7!`w(uTJ>FL9m0z zS?fq*{#!R8T0)9KJ*9S$=LIo=%1EGUE}~fu6Fba@Z2-5q0$amWClnUf7OYmk)l=jN zjLIM68DHyk*$bX2P3FR;kE{O0deUoTpB9TsrMf)V|) z?A0q}nw91X{yR%T|o?3ZShT6x3pL-Jt-G_?wr?l?(O^e(l$Anjd3_@vxhe+iK?8a*u&%8 z&qz@$cVpT`kr**Tf*n&nW!0HPm5O~0Zy}{#H^2oK6u*;KQu*bUFeghCO_qe?f}i<~ zWR+U>O5*a~%oRdJkcHGDv`eD6+VOoK!(t*|%rD3U0p`UxKzz25g2#BchFDbqa=#Uz zD^-+;P~DQP@*(X(r;}4XO^YAQAws|{EwOq;- zA2k*-s6N-0Y6r}a$})o4X~AG6)REpiKj7fW56>pQettR;&IRF@ntxX#2=Z(@@5!bvVL7uzL#q=WQeo3Er!4UTCB>Ra?x& zfuRdKsQ|l>YwzjKE3@!+W<-_{NC>B?@JHxt4ax$tiye>AEivp{hY{4sP7| z%&$!*?us_!mZ3w{-D#b|b#{d@1RQJif#&CEymmbvvO90?3K;!%*K`6#C3OPFofrmM zHw~7{d$-zjrPD~}`fo**;~b*~Kc&Fs0_v74MX_yXiZxmbgtOz&>r+k5pWLNCwG+aA zSg!t*{L$0967XuQ%<4Akw@yUa-v*zCjJYUtaq5sn-{MovVxq`@D)(lWu0PRsluAoN zQzlgM+u!bOJdI;)(DB#?F)=zacYAcM84yKDJLdMU9>SOc%Y_My6b8S+{|T zA0UFbDwM?I*)LE(tBuEvE<&l{2)*eiW;{{#fRQr@JW@JKts*h+&5C`;B~H@1i8%IK zl9YY8?l4vgeg~0R;EPd-A+$48g{&zxMBqMo0eObrb3nqhi{0C(YJ|>DB&m;FwbF5a z`*>wCMkKC*F%bk z)`!GFXS9D79Jr7<;F<*_Tq0>DzOo?uN`DeC88ZJeKF%^*$96Amf1~q@K4P4lR7w6( zq^xW@DpeNl+L5Df%h&;XO~tIxHR;(b8x*pi%h1rU1%Q&m=b@gohMTko_b4iljGiKq zu?R>Tz4I_! zVSx2kmskqlk=D~E%J>5+vR&*!Ox!B&Q@>AWcKQA!N5zAl2y^s8F(G5TOYLGpJ^q)i zbZ)Id&I856qsz%#JlFMr%vw;ywHGG7t&{WDT(*7)n~df?$R?+@8=M)ngAYJZ%V+I6 z)7FR46WilK6HyF$kN-KP#MCKVaae63b)-K0?nA}jr`*ML{f0!{^5_FqMD0Ib7^2?E z1=fE4Er@i=ew_sfp+2Xdysb68P&d_Hof5U=PJX1AGtY7y?G(}-)l@p|RB_vOX3V=Q z_(an4c^GeXsRoM%z}jT8GhhOQZ7m1I$=J^HBVhCtg%N5vQSevp5^ zP$wI5%B?Km}peM3EZda4!p}cXWFWnItK4Af6F@)sh zkERH!&wi|UO&$r=b{($|cLh|)FYD?;UrQoxM=@IO&FK-5HacUX>VH!Ez`*68# z%sevCq2AsIIe;Qz8~5mV$T!sbwQd0r{|aK=DvI~pymxz`sQ0+)1$||Zja3+s?{c#7 zGc`@-3RD@Grcdtl;=qlPVH1bJ9->4oqxtDP2pR@HO=KyAmiixW%->K zjT*r|d(=SWhu2k+Yo(ux#t@i$B}@u_E(fjt23e=mYA&g>mJr=n=u9u@z*UAdl1)pl zP#_cbI)J;V1mx)U<4AF{Qf7C>LTXUb8+|eLetHN1*?0Fkds&9<*vY=Jm**NAS&Adl zE4FUmveMaj;1VBI3_BYut5Fr3{Y%VMK0k|7e2>Pyexr~7TTPwajx$trX?=h$Pq3Fcr{7oR3@vRtqyF))rKcIF2A zNuGmh<_sL{3j?**;^eNtpx*vG(9uiRIB4+x52qDD5sUXaz7OIlMX0FrO!HT+aPBg2RAL!A`_)Zhv!TZg2_r!wmM$;o#Qq5Mc1h zrN@TtWZb_Ne*)$#Gmd-^V_%;h2<}i>*s1T6LuFy7zK6 Date: Wed, 3 Sep 2025 18:49:02 +0530 Subject: [PATCH 27/35] fix(feat): added abha for mmu serviceline too --- src/registrar/registration/registration.component.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/registrar/registration/registration.component.ts b/src/registrar/registration/registration.component.ts index 9f0e845..faf10d9 100644 --- a/src/registrar/registration/registration.component.ts +++ b/src/registrar/registration/registration.component.ts @@ -284,10 +284,11 @@ export class RegistrationComponent { this.otherInfoData = item.fields; } if(item.sectionName.toLowerCase() === "abha information"){ - if(this.serviceLine === 'HWC' || this.serviceLine === 'TM'){ + // commented for current purpose will uncomment or remove later + // if(this.serviceLine === 'HWC' || this.serviceLine === 'TM'){ this.abhaInfoData = item.fields; this.enableAbhaInfo = true; - } + // } } }); } From d6ef38461138fe39666edb6cdf68f7a08ecc55c8 Mon Sep 17 00:00:00 2001 From: 5Amogh Date: Thu, 4 Sep 2025 15:03:22 +0530 Subject: [PATCH 28/35] feat: AMM-1337 work in progress for feedback module --- src/feedback/feedback-routing.module.ts | 16 +++ src/feedback/feedback.module.ts | 27 +++++ .../feedback-public-page-component.ts | 36 ++++++ src/feedback/services/feedback.service.ts | 42 +++++++ .../feedback-dialog.component.html | 79 +++++++++++++ .../feedback-dialog.component.scss | 49 ++++++++ .../feedback-dialog.component.ts | 110 ++++++++++++++++++ 7 files changed, 359 insertions(+) create mode 100644 src/feedback/feedback-routing.module.ts create mode 100644 src/feedback/feedback.module.ts create mode 100644 src/feedback/pages/feedback-public-page/feedback-public-page-component.ts create mode 100644 src/feedback/services/feedback.service.ts create mode 100644 src/feedback/shared/feedback-dialog/feedback-dialog.component.html create mode 100644 src/feedback/shared/feedback-dialog/feedback-dialog.component.scss create mode 100644 src/feedback/shared/feedback-dialog/feedback-dialog.component.ts diff --git a/src/feedback/feedback-routing.module.ts b/src/feedback/feedback-routing.module.ts new file mode 100644 index 0000000..2cc9481 --- /dev/null +++ b/src/feedback/feedback-routing.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from "@angular/core"; +import { RouterModule, Routes } from "@angular/router"; +import { FeedbackPublicPageComponent } from "./pages/feedback-public-page/feedback-public-page-component"; + +const routes: Routes = [ + { + path: "", + component: FeedbackPublicPageComponent, // public post-logout page + }, +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class FeedbackRoutingModule {} diff --git a/src/feedback/feedback.module.ts b/src/feedback/feedback.module.ts new file mode 100644 index 0000000..61d2bb2 --- /dev/null +++ b/src/feedback/feedback.module.ts @@ -0,0 +1,27 @@ +import { NgModule } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { FormsModule, ReactiveFormsModule } from "@angular/forms"; +import { HttpClientModule } from "@angular/common/http"; + +import { FeedbackRoutingModule } from "./feedback-routing.module"; +import { MaterialModule } from "src/app/app-modules/core/material.module"; // your shared material bundle + +import { FeedbackPublicPageComponent } from "./pages/feedback-public-page/feedback-public-page-component"; +import { FeedbackDialogComponent } from "./shared/feedback-dialog/feedback-dialog.component"; + +import { FeedbackService } from "./services/feedback.service"; + +@NgModule({ + declarations: [FeedbackPublicPageComponent, FeedbackDialogComponent], + imports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + HttpClientModule, + MaterialModule, + FeedbackRoutingModule, + ], + exports: [FeedbackDialogComponent], + providers: [FeedbackService], +}) +export class FeedbackModule {} diff --git a/src/feedback/pages/feedback-public-page/feedback-public-page-component.ts b/src/feedback/pages/feedback-public-page/feedback-public-page-component.ts new file mode 100644 index 0000000..256826d --- /dev/null +++ b/src/feedback/pages/feedback-public-page/feedback-public-page-component.ts @@ -0,0 +1,36 @@ +import { Component } from "@angular/core"; +import { ActivatedRoute } from "@angular/router"; +import { map } from "rxjs/operators"; + +type SL = "1097" | "104" | "HWC" | "MMU" | "TM" | "ECD"; + +@Component({ + selector: "app-feedback-public-page", + template: ` +

+ + +
+ `, + styles: [ + ` + .page-wrap { + min-height: 100vh; + background: #f5f7fb; + padding: 24px; + } + `, + ], +}) +export class FeedbackPublicPageComponent { + serviceLine: SL = "TM"; // default fallback + + constructor(private route: ActivatedRoute) { + this.route.queryParamMap + .pipe(map((q) => (q.get("sl") as SL) || this.serviceLine)) + .subscribe((sl) => (this.serviceLine = sl)); + } +} diff --git a/src/feedback/services/feedback.service.ts b/src/feedback/services/feedback.service.ts new file mode 100644 index 0000000..963bf96 --- /dev/null +++ b/src/feedback/services/feedback.service.ts @@ -0,0 +1,42 @@ +import { Injectable } from "@angular/core"; +import { HttpClient, HttpParams } from "@angular/common/http"; +import { Observable } from "rxjs"; + +export type ServiceLine = "1097" | "104" | "HWC" | "MMU" | "TM" | "ECD"; + +export interface CategoryDto { + CategoryID: string; + Slug: string; + Label: string; + Scope: "GLOBAL" | ServiceLine; + Active: boolean; +} + +export interface SubmitFeedbackRequest { + rating: number; + categorySlug: string; // FE sends slug; BE resolves to CategoryID + comment?: string; + isAnonymous: boolean; // true for logout flow + serviceLine: ServiceLine; +} + +@Injectable() +export class FeedbackService { + private readonly apiBase = "/common-api"; // centralize if you want to inject later + + constructor(private http: HttpClient) {} + + listCategories(serviceLine: ServiceLine): Observable { + const params = new HttpParams().set("serviceLine", serviceLine); + return this.http.get(`${this.apiBase}/feedback/categories`, { + params, + }); + } + + submitFeedback(payload: SubmitFeedbackRequest) { + return this.http.post<{ id: string; createdAt?: string }>( + `${this.apiBase}/feedback`, + payload, + ); + } +} diff --git a/src/feedback/shared/feedback-dialog/feedback-dialog.component.html b/src/feedback/shared/feedback-dialog/feedback-dialog.component.html new file mode 100644 index 0000000..3628104 --- /dev/null +++ b/src/feedback/shared/feedback-dialog/feedback-dialog.component.html @@ -0,0 +1,79 @@ +
+ +
diff --git a/src/feedback/shared/feedback-dialog/feedback-dialog.component.scss b/src/feedback/shared/feedback-dialog/feedback-dialog.component.scss new file mode 100644 index 0000000..446865d --- /dev/null +++ b/src/feedback/shared/feedback-dialog/feedback-dialog.component.scss @@ -0,0 +1,49 @@ +.fb-wrap { + min-height: 100vh; + background: #f5f7fb; + display: flex; + align-items: center; + justify-content: center; + padding: 32px; + } + .fb-card { + width: min(720px, 92vw); + background: #fff; + border-radius: 12px; + box-shadow: 0 10px 30px rgba(16,24,40,.08); + padding: 28px 28px 32px; + } + + .fb-title { margin: 0 0 6px; font-size: 24px; line-height: 1.2; font-weight: 600; color: #111827; text-align: center; } + .fb-subtitle { margin: 0 0 18px; color: #6b7280; text-align: center; font-size: 14px; } + + .fb-stars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; justify-items: center; margin: 8px 0 10px; } + .fb-star { display: grid; grid-template-rows: auto auto; gap: 6px; align-items: center; justify-items: center; border: none; background: transparent; cursor: pointer; } + .fb-star-icon { font-size: 40px; color: #dbe4ff; line-height: 1; } + .fb-star--active .fb-star-icon { color: #2563eb; } + .fb-star-text { font-size: 12px; color: #2563eb; } + + .fb-sep { border: 0; border-top: 1px solid #e5e7eb; margin: 16px 0 12px; } + + .fb-row { margin: 14px 0; } + .fb-label { display: block; margin-bottom: 8px; color: #374151; font-weight: 500; } + .fb-select { + width: 100%; padding: 10px 12px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; font-size: 14px; + } + .fb-textarea { + width: 100%; min-height: 110px; border: 1px solid #e5e7eb; border-radius: 8px; + padding: 12px; resize: vertical; font-size: 14px; line-height: 1.4; + overflow-wrap: anywhere; word-break: break-word; /* long text fix */ + } + .fb-textarea:focus, .fb-select:focus { outline: 2px solid #93c5fd; outline-offset: 2px; } + + .fb-hint { margin-top: 6px; font-size: 12px; color: #9ca3af; text-align: right; } + + .fb-actions { display: flex; justify-content: center; margin-top: 18px; } + .fb-btn { min-width: 120px; padding: 10px 16px; border: 0; border-radius: 8px; background: #2563eb; color: #fff; font-weight: 600; cursor: pointer; } + .fb-btn[disabled] { opacity: .6; cursor: not-allowed; } + + .fb-foot { margin-top: 12px; text-align: center; } + .fb-error { color: #b91c1c; } + .fb-success { color: #15803d; } + \ No newline at end of file diff --git a/src/feedback/shared/feedback-dialog/feedback-dialog.component.ts b/src/feedback/shared/feedback-dialog/feedback-dialog.component.ts new file mode 100644 index 0000000..8ca4fc0 --- /dev/null +++ b/src/feedback/shared/feedback-dialog/feedback-dialog.component.ts @@ -0,0 +1,110 @@ +import { Component, Input } from "@angular/core"; +import { FormBuilder, Validators } from "@angular/forms"; +import { + FeedbackService, + ServiceLine, + CategoryDto, +} from "../../services/feedback.service"; + +@Component({ + selector: "app-feedback-dialog", + templateUrl: "./feedback-dialog.component.html", + styleUrls: ["./feedback-dialog.component.scss"], +}) +export class FeedbackDialogComponent { + @Input() serviceLine: ServiceLine = "TM"; + @Input() defaultCategorySlug?: string; + + stars = [1, 2, 3, 4, 5]; + categories: CategoryDto[] = []; + showCategory = true; // <— NEW: hide category row if fetch fails + submitting = false; + error?: string; + successId?: string; + + form = this.fb.nonNullable.group({ + rating: [0, [Validators.min(1), Validators.max(5)]], + categorySlug: ["", Validators.required], // becomes optional if showCategory=false + comment: ["", Validators.maxLength(2000)], + }); + + constructor( + private fb: FormBuilder, + private api: FeedbackService, + ) {} + + ngOnInit() { + this.api.listCategories(this.serviceLine).subscribe({ + next: (list) => { + this.categories = (list || []).filter((c) => (c as any).Active ?? true); + // Set default value only if we have categories + const def = this.defaultCategorySlug || this.categories[0]?.Slug || ""; + if (def) this.form.controls.categorySlug.setValue(def); + this.showCategory = this.categories.length > 0; + if (!this.showCategory) { + // Make category optional if there’s nothing to pick + this.form.controls.categorySlug.clearValidators(); + this.form.controls.categorySlug.updateValueAndValidity(); + } + }, + error: () => { + // Don’t block the user if categories fail; just hide the row + this.showCategory = false; + this.form.controls.categorySlug.clearValidators(); + this.form.controls.categorySlug.updateValueAndValidity(); + // Optional: still keep an error note somewhere if you want + // this.error = "Could not load categories."; + }, + }); + } + + setRating(n: number) { + this.form.controls.rating.setValue(n); + } + + /** disable submit only if rating invalid OR (category required & missing) */ + formInvalidForNow(): boolean { + const r = this.form.value.rating ?? 0; + const ratingInvalid = r < 1 || r > 5; + const categoryInvalid = + this.showCategory && this.form.controls.categorySlug.invalid; + return ratingInvalid || categoryInvalid; + } + + submit() { + this.error = undefined; + this.successId = undefined; + if (this.formInvalidForNow()) { + this.error = this.showCategory + ? "Pick a rating and a category." + : "Pick a rating."; + return; + } + this.submitting = true; + + this.api + .submitFeedback({ + rating: this.form.value.rating!, + categorySlug: this.form.value.categorySlug!, // okay even if empty when showCategory=false + comment: this.form.value.comment || undefined, + isAnonymous: true, + serviceLine: this.serviceLine, + }) + .subscribe({ + next: (res) => { + this.successId = res?.id || "submitted"; + this.form.reset({ + rating: 0, + categorySlug: this.categories[0]?.Slug ?? "", + comment: "", + }); + }, + error: (e) => + (this.error = + e?.status === 429 + ? "Too many attempts. Try later." + : "Submission failed."), + complete: () => (this.submitting = false), + }); + } +} From 300acc347427043d8d377691734fb4b34b070717 Mon Sep 17 00:00:00 2001 From: helenKaryamsetty Date: Thu, 4 Sep 2025 18:08:46 +0530 Subject: [PATCH 29/35] changes mmu abha enabling --- .../abha-generation-success-component.component.html | 2 +- .../abha-verify-success-component.component.html | 2 +- .../download-search-abha/download-search-abha.component.html | 2 +- .../generate-abha-component.component.ts | 2 +- .../health-id-display-modal.component.html | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/registrar/abha-components/abha-generation-success-component/abha-generation-success-component.component.html b/src/registrar/abha-components/abha-generation-success-component/abha-generation-success-component.component.html index 461a730..dbf5dbc 100644 --- a/src/registrar/abha-components/abha-generation-success-component/abha-generation-success-component.component.html +++ b/src/registrar/abha-components/abha-generation-success-component/abha-generation-success-component.component.html @@ -8,7 +8,7 @@

{{ currentLanguageSet?.common?.info }}

{{ currentLanguageSet?.abhaAddress }}: {{ abhaProfileData.ABHAProfile.healthId }}

- {{ currentLanguageSet?.aBHANumber }}: + {{ currentLanguageSet?.abhaNumber }}: {{ abhaProfileData.ABHAProfile.healthIdNumber }}


diff --git a/src/registrar/abha-components/abha-verify-success-component/abha-verify-success-component.component.html b/src/registrar/abha-components/abha-verify-success-component/abha-verify-success-component.component.html index 2f08ef5..e59f951 100644 --- a/src/registrar/abha-components/abha-verify-success-component/abha-verify-success-component.component.html +++ b/src/registrar/abha-components/abha-verify-success-component/abha-verify-success-component.component.html @@ -12,7 +12,7 @@

{{ currentLanguageSet?.common?.info }}

{{ (abhaDetails.preferredAbhaAddress !== undefined && abhaDetails.preferredAbhaAddress !== null) ? abhaDetails.preferredAbhaAddress : abhaDetails?.abhaAddress }}

- {{ currentLanguageSet?.aBHANumber }}: + {{ currentLanguageSet?.abhaNumber }}: {{ (abhaDetails.ABHANumber !== undefined && abhaDetails.ABHANumber !== null) ? abhaDetails.ABHANumber : abhaDetails?.abhaNumber}}

diff --git a/src/registrar/abha-components/download-search-abha/download-search-abha.component.html b/src/registrar/abha-components/download-search-abha/download-search-abha.component.html index 8b9d021..1a4f25b 100644 --- a/src/registrar/abha-components/download-search-abha/download-search-abha.component.html +++ b/src/registrar/abha-components/download-search-abha/download-search-abha.component.html @@ -90,7 +90,7 @@

{{ currentLanguageSet.searchAndDownloadAbha }}

Note*: {{ currentLanguageSet?.aBHA }}- xxx{{ abhaSuffix }}, xxx.xx{{ abhaSuffix }}
- {{ currentLanguageSet?.aBHANumber }} - xx-xxxx-xxxx-xxxx + {{ currentLanguageSet?.abhaNumber }} - xx-xxxx-xxxx-xxxx

diff --git a/src/registrar/abha-components/generate-abha-component/generate-abha-component.component.ts b/src/registrar/abha-components/generate-abha-component/generate-abha-component.component.ts index 6a5e8f8..607ffe3 100644 --- a/src/registrar/abha-components/generate-abha-component/generate-abha-component.component.ts +++ b/src/registrar/abha-components/generate-abha-component/generate-abha-component.component.ts @@ -77,7 +77,7 @@ export class GenerateAbhaComponentComponent { this.dialogRef.close(); this.confirmationService.alert(res.data.message, "success").afterClosed().subscribe(result => { console.log("dialog ref after closed response returning", result) - if (result) { + if (result !== false) { this.routeToOtpPage(txnId); } }) diff --git a/src/registrar/abha-components/health-id-display-modal/health-id-display-modal.component.html b/src/registrar/abha-components/health-id-display-modal/health-id-display-modal.component.html index e5d118d..926d2f3 100644 --- a/src/registrar/abha-components/health-id-display-modal/health-id-display-modal.component.html +++ b/src/registrar/abha-components/health-id-display-modal/health-id-display-modal.component.html @@ -123,7 +123,7 @@

- {{ currentLanguageSet?.aBHANumber }} + {{ currentLanguageSet?.abhaNumber }} {{ element?.healthIdNumber ? element?.healthIdNumber : "" }} @@ -216,7 +216,7 @@

*matHeaderCellDef mat-sort-header > - {{ currentLanguageSet?.aBHANumber }} + {{ currentLanguageSet?.abhaNumber }} {{ element?.healthIdNumber ? element?.healthIdNumber : null }} From 0296793556a1a7ba2fa4cd915ddf0f3946755065 Mon Sep 17 00:00:00 2001 From: helenKaryamsetty Date: Thu, 4 Sep 2025 19:08:16 +0530 Subject: [PATCH 30/35] fix: modified abha check for enabling in mmu --- .../download-search-abha/download-search-abha.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/registrar/abha-components/download-search-abha/download-search-abha.component.ts b/src/registrar/abha-components/download-search-abha/download-search-abha.component.ts index 0c8dab4..662e042 100644 --- a/src/registrar/abha-components/download-search-abha/download-search-abha.component.ts +++ b/src/registrar/abha-components/download-search-abha/download-search-abha.component.ts @@ -194,7 +194,7 @@ export class DownloadSearchAbhaComponent { let message = res.data.message; this.dialogRef.close(); this.confirmationValService.alert(message, 'success').afterClosed().subscribe(result => { - if(result){ + if(result !== false){ this.routeToEnterOtpPage(txnId, loginMethod, loginHint); } }) From 12edaa3946ee1754c6d893c56ef061f413da9952 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Mon, 8 Sep 2025 17:42:13 +0530 Subject: [PATCH 31/35] feat: Added tracking functions to the Google Analytics --- src/tracking/lib/ga-tracking.service.ts | 188 ++++++++++++++++++++++-- src/tracking/lib/tracking-provider.ts | 2 +- src/tracking/lib/tracking.tokens.ts | 2 +- 3 files changed, 178 insertions(+), 14 deletions(-) diff --git a/src/tracking/lib/ga-tracking.service.ts b/src/tracking/lib/ga-tracking.service.ts index 18a8737..ac53b40 100644 --- a/src/tracking/lib/ga-tracking.service.ts +++ b/src/tracking/lib/ga-tracking.service.ts @@ -1,28 +1,192 @@ -import { Injectable } from '@angular/core'; +declare let gtag: ( + command: 'config' | 'set' | 'event' | 'js', + targetId: string | Date, + config?: any +) => void; + +import { Injectable, Inject } from '@angular/core'; import { TrackingProvider } from './tracking-provider'; +import { MATOMO_SITE_ID, TRACKING_ENABLED } from './tracking.tokens'; @Injectable() export class GATrackingService implements TrackingProvider { - init(siteId?: number, trackerUrl?: string) { - console.warn('GA init stub called'); + private isScriptLoaded = false; + private isInitialized = false; + private initQueue: (() => void)[] = []; + + constructor( + @Inject(MATOMO_SITE_ID) private gaTrackingId: string, + @Inject(TRACKING_ENABLED) private trackingEnabled: boolean + ) { + this.initializeDataLayer(); + } + + private initializeDataLayer() { + const _w = window as any; + if (!_w.dataLayer) { + _w.dataLayer = []; + } + if (!_w.gtag) { + _w.gtag = function() { + _w.dataLayer.push(arguments); + }; + } + } + + private executeWhenReady(callback: () => void) { + if (this.isScriptLoaded) { + callback(); + } else { + this.initQueue.push(callback); + } + } + + private processQueue() { + while (this.initQueue.length > 0) { + const callback = this.initQueue.shift(); + if (callback) callback(); + } + } + + init(gaTrackingId?: string | number, trackerUrl?: string) { + if (!this.trackingEnabled) { + console.log('GA Tracking is disabled'); + return; + } + + const finalTrackingId = gaTrackingId?.toString() || this.gaTrackingId?.toString(); + + if (!finalTrackingId || typeof finalTrackingId !== 'string') { + console.error('GATrackingService: Invalid tracking ID:', finalTrackingId); + return; + } + + console.log('Initializing GA with tracking ID:', finalTrackingId); + + this.loadGtagScript(finalTrackingId).then(() => { + const _w = window as any; + _w.gtag('js', new Date()); + _w.gtag('config', finalTrackingId, { + page_title: document.title, + page_location: window.location.href, + send_page_view: true + }); + + this.isInitialized = true; + console.log('GA initialized successfully'); + this.processQueue(); + }); + } + + private loadGtagScript(trackingId: string): Promise { + return new Promise((resolve, reject) => { + if (this.isScriptLoaded) { + resolve(); + return; + } + + const existingScript = document.querySelector(`script[src*="googletagmanager.com/gtag/js?id=${trackingId}"]`); + if (existingScript) { + this.isScriptLoaded = true; + resolve(); + return; + } + + const script = document.createElement('script'); + script.async = true; + script.src = `https://www.googletagmanager.com/gtag/js?id=${trackingId}`; + + script.onload = () => { + this.isScriptLoaded = true; + console.log('GA script loaded successfully'); + resolve(); + }; + + script.onerror = (error) => { + console.error('Failed to load Google Analytics script:', error); + reject(error); + }; + + document.head.appendChild(script); + }); } + setUserId(userId: string) { - console.warn('GA setUserId stub called'); + if (!this.trackingEnabled) return; + + if (!userId || userId === '' || userId === 'undefined' || userId === 'null') { + console.error('GATrackingService: Invalid userId:', userId); + return; + } + + this.executeWhenReady(() => { + if (typeof gtag !== 'undefined') { + gtag('config', this.gaTrackingId, { + user_id: userId + }); + console.log('GA User ID set:', userId); + } else { + console.error('gtag not available for setUserId'); + } + }); } + pageView(path: string) { - console.warn(`GA pageView stub: ${path}`); + if (!this.trackingEnabled) return; + + if (!path || typeof path !== 'string') { + console.error('GATrackingService: Invalid path:', path); + return; + } + + this.executeWhenReady(() => { + if (typeof gtag !== 'undefined') { + gtag('config', this.gaTrackingId, { + page_path: path, + page_title: document.title, + page_location: window.location.origin + path + }); + console.log('GA Page view tracked:', path); + } else { + console.error('gtag not available for pageView'); + } + }); } - event(category: string, action: string, label?: string, value?: number) { - const args: (string | number)[] = [category, action]; - if (label !== undefined) { - args.push(label); + event(category: string, action: string, label?: string, value?: number) { + if (!this.trackingEnabled) { + return; } - if (value !== undefined) { - args.push(value); + if (!category || typeof category !== 'string') { + console.error('GATrackingService: Invalid category:', category); + return; } - console.warn(`GA event stub: ${args.join(', ')}`); + if (!action || typeof action !== 'string') { + console.error('GATrackingService: Invalid action:', action); + return; + } + + this.executeWhenReady(() => { + if (typeof gtag !== 'undefined') { + const eventParams: any = { + event_category: category + }; + + if (label && typeof label === 'string') { + eventParams.event_label = label; + } + + if (value !== undefined && typeof value === 'number') { + eventParams.value = value; + } + + gtag('event', action, eventParams); + console.log('GA Event tracked:', { category, action, label, value }); + } else { + console.error('gtag not available for event tracking!'); + } + }); } } \ No newline at end of file diff --git a/src/tracking/lib/tracking-provider.ts b/src/tracking/lib/tracking-provider.ts index 6a02ffc..1fa15f8 100644 --- a/src/tracking/lib/tracking-provider.ts +++ b/src/tracking/lib/tracking-provider.ts @@ -1,5 +1,5 @@ export interface TrackingProvider { - init(siteId?: number, trackerUrl?: string): void; + init(siteId?: number | string, trackerUrl?: string): void; setUserId(userId: string): void; pageView(path: string): void; event( diff --git a/src/tracking/lib/tracking.tokens.ts b/src/tracking/lib/tracking.tokens.ts index 35425fb..528fa19 100644 --- a/src/tracking/lib/tracking.tokens.ts +++ b/src/tracking/lib/tracking.tokens.ts @@ -12,7 +12,7 @@ export const TRACKING_ENABLED = new InjectionToken('tracking.enabled', factory: () => environment.tracking.enabled, }); -export const MATOMO_SITE_ID = new InjectionToken('matomo.siteId', { +export const MATOMO_SITE_ID = new InjectionToken('tracking.siteId', { providedIn: 'root', factory: () => environment.tracking.siteId, }); From 4235e46491d03a6232ed2b80954abbbc72933ca5 Mon Sep 17 00:00:00 2001 From: 5Amogh Date: Tue, 9 Sep 2025 20:58:30 +0530 Subject: [PATCH 32/35] feat: amm-1337 work-in progress --- .../feedback-public-page-component.ts | 24 +++- src/feedback/services/feedback.service.ts | 22 +-- .../feedback-dialog.component.html | 42 +++++- .../feedback-dialog.component.ts | 127 +++++++++++------- 4 files changed, 148 insertions(+), 67 deletions(-) diff --git a/src/feedback/pages/feedback-public-page/feedback-public-page-component.ts b/src/feedback/pages/feedback-public-page/feedback-public-page-component.ts index 256826d..ce18d69 100644 --- a/src/feedback/pages/feedback-public-page/feedback-public-page-component.ts +++ b/src/feedback/pages/feedback-public-page/feedback-public-page-component.ts @@ -2,7 +2,7 @@ import { Component } from "@angular/core"; import { ActivatedRoute } from "@angular/router"; import { map } from "rxjs/operators"; -type SL = "1097" | "104" | "HWC" | "MMU" | "TM" | "ECD"; +type SL = "1097" | "104" | "AAM" | "MMU" | "TM" | "ECD"; @Component({ selector: "app-feedback-public-page", @@ -20,17 +20,33 @@ type SL = "1097" | "104" | "HWC" | "MMU" | "TM" | "ECD"; .page-wrap { min-height: 100vh; background: #f5f7fb; - padding: 24px; } `, ], }) export class FeedbackPublicPageComponent { - serviceLine: SL = "TM"; // default fallback + serviceLine: SL = "AAM"; // default fallback constructor(private route: ActivatedRoute) { + // Check query param ?sl= this.route.queryParamMap - .pipe(map((q) => (q.get("sl") as SL) || this.serviceLine)) + .pipe(map((q) => (q.get("sl") as SL) || this.detectFromLocation())) .subscribe((sl) => (this.serviceLine = sl)); } + + private detectFromLocation(): SL { + const host = window.location.hostname.toLowerCase(); + const path = window.location.pathname.toLowerCase(); + + // path-based service lines + if (path.includes("/1097")) return "1097"; + if (path.includes("/104")) return "104"; + if (path.includes("/aam")) return "AAM"; + if (path.includes("/mmu")) return "MMU"; + if (path.includes("/tm")) return "TM"; + if (path.includes("/ecd")) return "ECD"; + + // fallback + return "AAM"; + } } diff --git a/src/feedback/services/feedback.service.ts b/src/feedback/services/feedback.service.ts index 963bf96..eb0c718 100644 --- a/src/feedback/services/feedback.service.ts +++ b/src/feedback/services/feedback.service.ts @@ -2,14 +2,14 @@ import { Injectable } from "@angular/core"; import { HttpClient, HttpParams } from "@angular/common/http"; import { Observable } from "rxjs"; -export type ServiceLine = "1097" | "104" | "HWC" | "MMU" | "TM" | "ECD"; +export type ServiceLine = "1097" | "104" | "AAM" | "MMU" | "TM" | "ECD"; export interface CategoryDto { - CategoryID: string; - Slug: string; - Label: string; - Scope: "GLOBAL" | ServiceLine; - Active: boolean; + categoryID: string; + slug: string; + label: string; + scope: "GLOBAL" | ServiceLine; + active: boolean; } export interface SubmitFeedbackRequest { @@ -22,20 +22,20 @@ export interface SubmitFeedbackRequest { @Injectable() export class FeedbackService { - private readonly apiBase = "/common-api"; // centralize if you want to inject later + private readonly apiBase = "http://localhost:8083"; // centralize if you want to inject later constructor(private http: HttpClient) {} listCategories(serviceLine: ServiceLine): Observable { const params = new HttpParams().set("serviceLine", serviceLine); - return this.http.get(`${this.apiBase}/feedback/categories`, { - params, - }); + return this.http.get( + `${this.apiBase}/platform-feedback/categories`, + ); } submitFeedback(payload: SubmitFeedbackRequest) { return this.http.post<{ id: string; createdAt?: string }>( - `${this.apiBase}/feedback`, + `${this.apiBase}/platform-feedback`, payload, ); } diff --git a/src/feedback/shared/feedback-dialog/feedback-dialog.component.html b/src/feedback/shared/feedback-dialog/feedback-dialog.component.html index 3628104..53c7973 100644 --- a/src/feedback/shared/feedback-dialog/feedback-dialog.component.html +++ b/src/feedback/shared/feedback-dialog/feedback-dialog.component.html @@ -5,7 +5,13 @@ aria-labelledby="fb-title" aria-describedby="fb-desc" > -

You have logged out of the session

+

+ {{ + isLoggedIn + ? "We value your feedback" + : "You have logged out of the session" + }} +

We’d love to hear about your experience (optional)

@@ -20,12 +26,10 @@

You have logged out of the session

(click)="setRating(s)" [attr.aria-checked]="s === form.value.rating" role="radio" - [attr.aria-label]="['Terrible', 'Bad', 'Okay', 'Good', 'Great'][s - 1]" + [attr.aria-label]="starLabels[s - 1]" > - {{ - ["Terrible", "Bad", "Okay", "Good", "Great"][s - 1] - }} + {{ starLabels[s - 1] }}

@@ -40,8 +44,8 @@

You have logged out of the session

[formControl]="form.controls['categorySlug']" > - @@ -59,6 +63,30 @@

You have logged out of the session

{{ form.value.comment?.length || 0 }} / 2000
+ + +
- Thanks! Feedback ID: {{ successId }} + Thanks! Your Feedback ID: {{ successId }}
diff --git a/src/feedback/shared/feedback-dialog/feedback-dialog.component.scss b/src/feedback/shared/feedback-dialog/feedback-dialog.component.scss index 446865d..5d49810 100644 --- a/src/feedback/shared/feedback-dialog/feedback-dialog.component.scss +++ b/src/feedback/shared/feedback-dialog/feedback-dialog.component.scss @@ -1,3 +1,24 @@ +/* + * AMRIT – Accessible Medical Records via Integrated Technology + * Integrated EHR (Electronic Health Records) Solution + * + * Copyright (C) "Piramal Swasthya Management and Research Institute" + * + * This file is part of AMRIT. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see https://www.gnu.org/licenses/. + */ .fb-wrap { min-height: 100vh; background: #f5f7fb; diff --git a/src/feedback/shared/feedback-dialog/feedback-dialog.component.ts b/src/feedback/shared/feedback-dialog/feedback-dialog.component.ts index 8ed6097..21df69f 100644 --- a/src/feedback/shared/feedback-dialog/feedback-dialog.component.ts +++ b/src/feedback/shared/feedback-dialog/feedback-dialog.component.ts @@ -1,3 +1,24 @@ +/* + * AMRIT – Accessible Medical Records via Integrated Technology + * Integrated EHR (Electronic Health Records) Solution + * + * Copyright (C) "Piramal Swasthya Management and Research Institute" + * + * This file is part of AMRIT. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see https://www.gnu.org/licenses/. + */ import { Component, Input, OnInit } from "@angular/core"; import { FormBuilder, Validators } from "@angular/forms"; import { @@ -6,6 +27,7 @@ import { CategoryDto, } from "../../services/feedback.service"; import { finalize } from "rxjs/operators"; +import { SessionStorageService } from "Common-UI/src/registrar/services/session-storage.service"; @Component({ selector: "app-feedback-dialog", @@ -40,12 +62,13 @@ export class FeedbackDialogComponent implements OnInit { constructor( private fb: FormBuilder, private api: FeedbackService, + private sessionStorage: SessionStorageService, ) {} ngOnInit() { // sessionStorage check try { - this.storedUserId = sessionStorage.getItem("userID") || undefined; + this.storedUserId = this.sessionStorage.getItem("userID") || undefined; this.isLoggedIn = !!this.storedUserId; } catch (e) { // sessionStorage may be unavailable in some runners; fail safe to anonymous @@ -70,7 +93,7 @@ export class FeedbackDialogComponent implements OnInit { (c: any) => (c as any).active ?? true, ); this.showCategory = this.categories.length > 0; - const def = this.defaultCategorySlug || this.categories[0]?.slug || ""; + const def = this.categories[0]?.slug || this.defaultCategorySlug || ""; if (def) this.form.controls.categorySlug.setValue(def); }, error: () => (this.error = "Could not load categories."), @@ -88,9 +111,7 @@ export class FeedbackDialogComponent implements OnInit { formInvalidForNow(): boolean { // require rating >=1 and category selected - return ( - !this.form.controls.rating.value || !this.form.controls.categorySlug.value - ); + return this.form.invalid; } submit() { From b17be50a62daca0f3972c849777897c64646782e Mon Sep 17 00:00:00 2001 From: 5Amogh Date: Thu, 11 Sep 2025 16:39:11 +0530 Subject: [PATCH 34/35] feat: amm-1337 translation added --- .../feedback-dialog.component.html | 42 ++++++++++++++----- .../feedback-dialog.component.ts | 13 +++++- 2 files changed, 44 insertions(+), 11 deletions(-) diff --git a/src/feedback/shared/feedback-dialog/feedback-dialog.component.html b/src/feedback/shared/feedback-dialog/feedback-dialog.component.html index b4d0bf1..003051a 100644 --- a/src/feedback/shared/feedback-dialog/feedback-dialog.component.html +++ b/src/feedback/shared/feedback-dialog/feedback-dialog.component.html @@ -8,12 +8,17 @@

{{ isLoggedIn - ? "We value your feedback" - : "You have logged out of the session" + ? (current_language_set?.platform_feedback?.weValueYourFeedback ?? + "We value your feedback") + : (current_language_set?.platform_feedback?.youHaveLoggedOut ?? + "You have logged out of the session") }}

- We’d love to hear about your experience (optional) + {{ + current_language_set?.platform_feedback?.subtitle ?? + "We’d love to hear about your experience (optional)" + }}

@@ -37,7 +42,9 @@

- +