@bash-app/bash-common 30.95.0 → 30.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/definitions.d.ts +3 -36
  2. package/dist/definitions.d.ts.map +1 -1
  3. package/dist/definitions.js +1 -45
  4. package/dist/definitions.js.map +1 -1
  5. package/dist/extendedSchemas.d.ts +82 -1
  6. package/dist/extendedSchemas.d.ts.map +1 -1
  7. package/dist/extendedSchemas.js +11 -0
  8. package/dist/extendedSchemas.js.map +1 -1
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/membershipDefinitions.d.ts +138 -0
  14. package/dist/membershipDefinitions.d.ts.map +1 -1
  15. package/dist/membershipDefinitions.js +416 -0
  16. package/dist/membershipDefinitions.js.map +1 -1
  17. package/dist/utils/bashCashPaymentUtils.d.ts +72 -0
  18. package/dist/utils/bashCashPaymentUtils.d.ts.map +1 -0
  19. package/dist/utils/bashCashPaymentUtils.js +115 -0
  20. package/dist/utils/bashCashPaymentUtils.js.map +1 -0
  21. package/dist/utils/paymentUtils.d.ts +6 -2
  22. package/dist/utils/paymentUtils.d.ts.map +1 -1
  23. package/dist/utils/paymentUtils.js +27 -86
  24. package/dist/utils/paymentUtils.js.map +1 -1
  25. package/dist/utils/service/apiServiceBookingApiUtils.d.ts.map +1 -1
  26. package/dist/utils/service/apiServiceBookingApiUtils.js +1 -0
  27. package/dist/utils/service/apiServiceBookingApiUtils.js.map +1 -1
  28. package/dist/utils/service/frontendServiceBookingUtils.d.ts +2 -1
  29. package/dist/utils/service/frontendServiceBookingUtils.d.ts.map +1 -1
  30. package/dist/utils/service/frontendServiceBookingUtils.js +4 -3
  31. package/dist/utils/service/frontendServiceBookingUtils.js.map +1 -1
  32. package/package.json +1 -1
  33. package/prisma/schema.prisma +44 -5
  34. package/src/definitions.ts +3 -54
  35. package/src/extendedSchemas.ts +18 -0
  36. package/src/index.ts +1 -0
  37. package/src/membershipDefinitions.ts +549 -0
  38. package/src/utils/bashCashPaymentUtils.ts +146 -0
  39. package/src/utils/paymentUtils.ts +34 -124
  40. package/src/utils/service/apiServiceBookingApiUtils.ts +1 -0
  41. package/src/utils/service/frontendServiceBookingUtils.ts +5 -3
@@ -90,7 +90,145 @@ export declare const MEMBERSHIP_PRICING: {
90
90
  yearly: number;
91
91
  };
92
92
  };
93
+ export declare const MEMBERSHIP_MONTHLY_PRICE_CENTS: Record<MembershipTier, number>;
93
94
  export declare const MEMBERSHIP_TIER_HIERARCHY: MembershipTier[];
95
+ /**
96
+ * BashCash rewards per membership tier
97
+ * All amounts in CENTS (1 credit = 1 cent = $0.01)
98
+ */
99
+ export declare const BASHCASH_REWARDS: Record<MembershipTier, {
100
+ monthlyCredits: number;
101
+ ticketCashbackRate: number;
102
+ serviceCashbackRate: number;
103
+ }>;
104
+ /**
105
+ * BashCash system rules and limits
106
+ */
107
+ export declare const BASHCASH_CONFIG: {
108
+ readonly referralBonusRate: 0.1;
109
+ readonly maxReferralCredits: 10000;
110
+ readonly creditExpirationMonths: 12;
111
+ readonly minimumRedemption: 100;
112
+ readonly membershipRedemptionCap: 0.5;
113
+ };
114
+ /**
115
+ * Scout program configuration for service provider referrals
116
+ */
117
+ export declare const SCOUT_PROGRAM_CONFIG: {
118
+ readonly creditsPerProfile: 75;
119
+ readonly maxProfilesPerScout: 3;
120
+ readonly scoutCommissionRate: 0.03;
121
+ readonly agentCommissionRate: 0.06;
122
+ readonly agentThreshold: 5;
123
+ };
124
+ /**
125
+ * Security configuration for account protection and rate limiting
126
+ */
127
+ export declare const SECURITY_CONFIG: {
128
+ readonly maxFailedLoginAttempts: 5;
129
+ readonly lockoutDurationMinutes: 30;
130
+ readonly trackingWindowMinutes: 15;
131
+ readonly suspiciousActivityThreshold: 3;
132
+ readonly geofenceDefaultRadiusFeet: 500;
133
+ readonly geofenceCheckIntervalMs: 60000;
134
+ };
135
+ /**
136
+ * Platform fee structure for Bash Events (tickets/donations)
137
+ * All amounts in CENTS to align with Stripe
138
+ */
139
+ export declare const BASH_EVENT_FEES: Record<MembershipTier, {
140
+ percent: number;
141
+ minimumCents: number;
142
+ capCents: number;
143
+ }>;
144
+ /**
145
+ * Platform fee structure for Service Bookings (Allies/Patrons)
146
+ * All amounts in CENTS to align with Stripe
147
+ */
148
+ export declare const SERVICE_BOOKING_FEES: Record<MembershipTier, {
149
+ percent: number;
150
+ capCents: number;
151
+ }>;
152
+ /**
153
+ * Platform fee structure for Partner Payments (Vendors/Exhibitors/Sponsors)
154
+ * All amounts in CENTS to align with Stripe
155
+ */
156
+ export declare const PARTNER_PAYMENT_FEES: Record<MembershipTier, {
157
+ percent: number;
158
+ capCents: number;
159
+ }>;
160
+ /**
161
+ * General platform pricing rules
162
+ */
163
+ export declare const PLATFORM_PRICING_CONFIG: {
164
+ readonly minimumTicketPriceCents: 500;
165
+ readonly minimumPlatformFeeCents: 50;
166
+ readonly creatorTrialDays: 30;
167
+ };
168
+ export declare const CREATOR_TIER_TRIAL_DAYS: 30;
169
+ /**
170
+ * Calculate platform fee for a Bash Event (ticket/donation)
171
+ * @param amountCents - Transaction amount in cents
172
+ * @param membershipTier - User's membership tier
173
+ * @returns Platform fee in cents
174
+ */
175
+ export declare function calculateBashEventFee(amountCents: number, membershipTier: MembershipTier): number;
176
+ /**
177
+ * Calculate platform fee for a Service Booking
178
+ * @param amountCents - Transaction amount in cents
179
+ * @param membershipTier - User's membership tier
180
+ * @returns Platform fee in cents
181
+ */
182
+ export declare function calculateServiceBookingFee(amountCents: number, membershipTier: MembershipTier): number;
183
+ /**
184
+ * Calculate platform fee for a Partner Payment
185
+ * @param amountCents - Transaction amount in cents
186
+ * @param membershipTier - User's membership tier
187
+ * @returns Platform fee in cents
188
+ */
189
+ export declare function calculatePartnerPaymentFee(amountCents: number, membershipTier: MembershipTier): number;
190
+ /**
191
+ * Comprehensive limits and rules per membership tier
192
+ * Defines what each tier can and cannot do on the platform
193
+ */
194
+ export declare const MEMBERSHIP_LIMITS: Record<MembershipTier, {
195
+ canCreateEvents: boolean;
196
+ minimumTicketPriceCents: number | null;
197
+ maxEventsPerMonth: number;
198
+ featuredEventsPerMonth: number;
199
+ analyticsAccess: boolean;
200
+ advancedAnalytics: boolean;
201
+ vendorDirectoryAccess: boolean;
202
+ maxServiceListings: number;
203
+ canCreatePromoCodes: boolean;
204
+ canSetCustomPricing: boolean;
205
+ prioritySearchPlacement: boolean;
206
+ homepageVisibility: boolean;
207
+ tierBadgeDisplay: boolean;
208
+ prioritySupport: boolean;
209
+ conciergeSupport: boolean;
210
+ betaFeatureAccess: boolean;
211
+ accessExclusiveEvents: boolean;
212
+ bashSponsoredInvites: boolean;
213
+ networkingMixers: boolean;
214
+ advancedMonetization: boolean;
215
+ marketingCampaigns: boolean;
216
+ leadGeneration: boolean;
217
+ }>;
218
+ /**
219
+ * Check if a user has access to a specific feature based on their tier
220
+ * @param userTier - User's membership tier
221
+ * @param feature - Feature to check (key from MEMBERSHIP_LIMITS)
222
+ * @returns true if user has access
223
+ */
224
+ export declare function hasFeatureLimit(userTier: MembershipTier, feature: keyof typeof MEMBERSHIP_LIMITS[MembershipTier]): boolean;
225
+ /**
226
+ * Get the limit value for a specific feature
227
+ * @param userTier - User's membership tier
228
+ * @param limit - Limit to check (e.g., 'maxEventsPerMonth')
229
+ * @returns Limit value (-1 = unlimited, 0 = none, positive number = limit)
230
+ */
231
+ export declare function getFeatureLimit(userTier: MembershipTier, limit: keyof typeof MEMBERSHIP_LIMITS[MembershipTier]): number | boolean | null;
94
232
  export declare const MEMBERSHIP_FEATURES: {
95
233
  readonly NO_MINIMUM_TICKET_PRICE: "no_minimum_ticket_price";
96
234
  readonly PROMO_CODES: "promo_codes";
@@ -1 +1 @@
1
- {"version":3,"file":"membershipDefinitions.d.ts","sourceRoot":"","sources":["../src/membershipDefinitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"membershipDefinitions.d.ts","sourceRoot":"","sources":["../src/membershipDefinitions.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,425 @@ export const MEMBERSHIP_PRICING = {
9
9
  Elite: { monthly: 49900, yearly: 500000 }, // $499/month, $5,000/year
10
10
  Legend: { monthly: 99900, yearly: 1000000 }, // $999/month, $10,000/year
11
11
  };
12
+ // Helper: Get monthly price in cents for a tier (for BashCash calculations)
13
+ export const MEMBERSHIP_MONTHLY_PRICE_CENTS = {
14
+ Basic: MEMBERSHIP_PRICING.Basic.monthly,
15
+ Creator: MEMBERSHIP_PRICING.Creator.monthly,
16
+ Pro: MEMBERSHIP_PRICING.Pro.monthly,
17
+ Elite: MEMBERSHIP_PRICING.Elite.monthly,
18
+ Legend: MEMBERSHIP_PRICING.Legend.monthly,
19
+ };
12
20
  export const MEMBERSHIP_TIER_HIERARCHY = [
13
21
  'Basic', 'Creator', 'Pro', 'Elite', 'Legend'
14
22
  ];
23
+ // ============================================================================
24
+ // BASHCASH REWARDS SYSTEM
25
+ // ============================================================================
26
+ /**
27
+ * BashCash rewards per membership tier
28
+ * All amounts in CENTS (1 credit = 1 cent = $0.01)
29
+ */
30
+ export const BASHCASH_REWARDS = {
31
+ Basic: {
32
+ monthlyCredits: 0,
33
+ ticketCashbackRate: 0,
34
+ serviceCashbackRate: 0,
35
+ },
36
+ Creator: {
37
+ monthlyCredits: 10000, // 10,000 credits = $100/month
38
+ ticketCashbackRate: 0.05, // 5% cashback
39
+ serviceCashbackRate: 0.03, // 3% cashback
40
+ },
41
+ Pro: {
42
+ monthlyCredits: 40000, // 40,000 credits = $400/month
43
+ ticketCashbackRate: 0.05, // 5% cashback
44
+ serviceCashbackRate: 0.03, // 3% cashback
45
+ },
46
+ Elite: {
47
+ monthlyCredits: 120000, // 120,000 credits = $1,200/month
48
+ ticketCashbackRate: 0.05, // 5% cashback
49
+ serviceCashbackRate: 0.03, // 3% cashback
50
+ },
51
+ Legend: {
52
+ monthlyCredits: 250000, // 250,000 credits = $2,500/month
53
+ ticketCashbackRate: 0.05, // 5% cashback
54
+ serviceCashbackRate: 0.03, // 3% cashback
55
+ },
56
+ };
57
+ /**
58
+ * BashCash system rules and limits
59
+ */
60
+ export const BASHCASH_CONFIG = {
61
+ // Referral bonuses
62
+ referralBonusRate: 0.10, // 10% of referee's first purchase
63
+ maxReferralCredits: 10000, // $100 cap on referral bonuses
64
+ // Credit lifecycle
65
+ creditExpirationMonths: 12, // Credits expire after 12 months
66
+ // Redemption rules
67
+ minimumRedemption: 100, // $1 minimum redemption (100 credits)
68
+ membershipRedemptionCap: 0.50, // 50% max BashCash for membership fees
69
+ };
70
+ // ============================================================================
71
+ // SCOUT/AGENT REFERRAL PROGRAM
72
+ // ============================================================================
73
+ /**
74
+ * Scout program configuration for service provider referrals
75
+ */
76
+ export const SCOUT_PROGRAM_CONFIG = {
77
+ creditsPerProfile: 75, // 75 credits per service profile created
78
+ maxProfilesPerScout: 3, // Max 3 profiles per scout
79
+ scoutCommissionRate: 0.03, // 3% commission on completed bookings
80
+ agentCommissionRate: 0.06, // 6% commission (upgraded status)
81
+ agentThreshold: 5, // 5+ service profiles = Agent status
82
+ };
83
+ // ============================================================================
84
+ // SECURITY & ACCOUNT PROTECTION
85
+ // ============================================================================
86
+ /**
87
+ * Security configuration for account protection and rate limiting
88
+ */
89
+ export const SECURITY_CONFIG = {
90
+ // Failed login tracking
91
+ maxFailedLoginAttempts: 5, // Lock account after 5 failed attempts
92
+ lockoutDurationMinutes: 30, // Lock account for 30 minutes
93
+ trackingWindowMinutes: 15, // Track attempts within 15-minute window
94
+ suspiciousActivityThreshold: 3, // Alert if 3+ accounts locked from same IP
95
+ // Geofencing
96
+ geofenceDefaultRadiusFeet: 500, // Default geofence radius (feet)
97
+ geofenceCheckIntervalMs: 60000, // Check geofence every 60 seconds
98
+ };
99
+ // ============================================================================
100
+ // PLATFORM FEES & PRICING
101
+ // ============================================================================
102
+ /**
103
+ * Platform fee structure for Bash Events (tickets/donations)
104
+ * All amounts in CENTS to align with Stripe
105
+ */
106
+ export const BASH_EVENT_FEES = {
107
+ Basic: {
108
+ percent: 0.10, // 10%
109
+ minimumCents: 50, // $0.50 minimum
110
+ capCents: 25000, // $250 cap
111
+ },
112
+ Creator: {
113
+ percent: 0.06, // 6% (40% discount)
114
+ minimumCents: 50, // $0.50 minimum
115
+ capCents: 15000, // $150 cap
116
+ },
117
+ Pro: {
118
+ percent: 0.08, // 8% (20% discount)
119
+ minimumCents: 50, // $0.50 minimum
120
+ capCents: 20000, // $200 cap
121
+ },
122
+ Elite: {
123
+ percent: 0.04, // 4% (60% discount)
124
+ minimumCents: 50, // $0.50 minimum
125
+ capCents: 10000, // $100 cap
126
+ },
127
+ Legend: {
128
+ percent: 0.02, // 2% (80% discount)
129
+ minimumCents: 50, // $0.50 minimum
130
+ capCents: 5000, // $50 cap
131
+ },
132
+ };
133
+ /**
134
+ * Platform fee structure for Service Bookings (Allies/Patrons)
135
+ * All amounts in CENTS to align with Stripe
136
+ */
137
+ export const SERVICE_BOOKING_FEES = {
138
+ Basic: {
139
+ percent: 0.15, // 15%
140
+ capCents: 37500, // $375 cap
141
+ },
142
+ Creator: {
143
+ percent: 0.09, // 9% (40% discount)
144
+ capCents: 22500, // $225 cap
145
+ },
146
+ Pro: {
147
+ percent: 0.12, // 12% (20% discount)
148
+ capCents: 30000, // $300 cap
149
+ },
150
+ Elite: {
151
+ percent: 0.06, // 6% (60% discount)
152
+ capCents: 15000, // $150 cap
153
+ },
154
+ Legend: {
155
+ percent: 0.05, // 5% (67% discount, sustainable floor)
156
+ capCents: 7500, // $75 cap
157
+ },
158
+ };
159
+ /**
160
+ * Platform fee structure for Partner Payments (Vendors/Exhibitors/Sponsors)
161
+ * All amounts in CENTS to align with Stripe
162
+ */
163
+ export const PARTNER_PAYMENT_FEES = {
164
+ Basic: {
165
+ percent: 0.08, // 8%
166
+ capCents: 20000, // $200 cap
167
+ },
168
+ Creator: {
169
+ percent: 0.05, // 5% (37.5% discount, sustainable floor)
170
+ capCents: 12500, // $125 cap
171
+ },
172
+ Pro: {
173
+ percent: 0.06, // 6% (25% discount)
174
+ capCents: 15000, // $150 cap
175
+ },
176
+ Elite: {
177
+ percent: 0.05, // 5% (same as Creator, sustainable floor)
178
+ capCents: 7500, // $75 cap
179
+ },
180
+ Legend: {
181
+ percent: 0.05, // 5% (same as Creator/Elite, sustainable floor)
182
+ capCents: 7500, // $75 cap
183
+ },
184
+ };
185
+ /**
186
+ * General platform pricing rules
187
+ */
188
+ export const PLATFORM_PRICING_CONFIG = {
189
+ // Ticket pricing
190
+ minimumTicketPriceCents: 500, // $5 minimum ticket price (quality signal)
191
+ minimumPlatformFeeCents: 50, // $0.50 minimum platform fee (covers Stripe)
192
+ // Membership trial
193
+ creatorTrialDays: 30, // 30-day free trial for Creator tier
194
+ };
195
+ // Legacy export for backward compatibility with existing API code
196
+ export const CREATOR_TIER_TRIAL_DAYS = PLATFORM_PRICING_CONFIG.creatorTrialDays;
197
+ // ============================================================================
198
+ // PLATFORM FEE CALCULATION UTILITIES
199
+ // ============================================================================
200
+ /**
201
+ * Calculate platform fee for a Bash Event (ticket/donation)
202
+ * @param amountCents - Transaction amount in cents
203
+ * @param membershipTier - User's membership tier
204
+ * @returns Platform fee in cents
205
+ */
206
+ export function calculateBashEventFee(amountCents, membershipTier) {
207
+ const config = BASH_EVENT_FEES[membershipTier];
208
+ // Calculate percentage-based fee
209
+ let fee = Math.floor(amountCents * config.percent);
210
+ // Apply minimum fee
211
+ fee = Math.max(fee, config.minimumCents);
212
+ // Apply cap
213
+ fee = Math.min(fee, config.capCents);
214
+ return fee;
215
+ }
216
+ /**
217
+ * Calculate platform fee for a Service Booking
218
+ * @param amountCents - Transaction amount in cents
219
+ * @param membershipTier - User's membership tier
220
+ * @returns Platform fee in cents
221
+ */
222
+ export function calculateServiceBookingFee(amountCents, membershipTier) {
223
+ const config = SERVICE_BOOKING_FEES[membershipTier];
224
+ // Calculate percentage-based fee
225
+ let fee = Math.floor(amountCents * config.percent);
226
+ // Apply cap
227
+ fee = Math.min(fee, config.capCents);
228
+ return fee;
229
+ }
230
+ /**
231
+ * Calculate platform fee for a Partner Payment
232
+ * @param amountCents - Transaction amount in cents
233
+ * @param membershipTier - User's membership tier
234
+ * @returns Platform fee in cents
235
+ */
236
+ export function calculatePartnerPaymentFee(amountCents, membershipTier) {
237
+ const config = PARTNER_PAYMENT_FEES[membershipTier];
238
+ // Calculate percentage-based fee
239
+ let fee = Math.floor(amountCents * config.percent);
240
+ // Apply cap
241
+ fee = Math.min(fee, config.capCents);
242
+ return fee;
243
+ }
244
+ // ============================================================================
245
+ // MEMBERSHIP TIER LIMITS & RULES
246
+ // ============================================================================
247
+ /**
248
+ * Comprehensive limits and rules per membership tier
249
+ * Defines what each tier can and cannot do on the platform
250
+ */
251
+ export const MEMBERSHIP_LIMITS = {
252
+ Basic: {
253
+ // Event Creation
254
+ canCreateEvents: true,
255
+ minimumTicketPriceCents: 500, // $5 minimum
256
+ maxEventsPerMonth: -1, // Unlimited
257
+ featuredEventsPerMonth: 0, // Must pay
258
+ // Analytics & Insights
259
+ analyticsAccess: false,
260
+ advancedAnalytics: false,
261
+ // Service Provider Features
262
+ vendorDirectoryAccess: false,
263
+ maxServiceListings: 0,
264
+ // Monetization Tools
265
+ canCreatePromoCodes: false,
266
+ canSetCustomPricing: false,
267
+ // Platform Perks
268
+ prioritySearchPlacement: false,
269
+ homepageVisibility: false,
270
+ tierBadgeDisplay: false,
271
+ // Support & Access
272
+ prioritySupport: false,
273
+ conciergeSupport: false,
274
+ betaFeatureAccess: false,
275
+ // Exclusive Access
276
+ accessExclusiveEvents: false,
277
+ bashSponsoredInvites: false,
278
+ networkingMixers: false,
279
+ // Business Tools
280
+ advancedMonetization: false,
281
+ marketingCampaigns: false,
282
+ leadGeneration: false,
283
+ },
284
+ Creator: {
285
+ // Event Creation
286
+ canCreateEvents: true,
287
+ minimumTicketPriceCents: null, // No minimum!
288
+ maxEventsPerMonth: -1, // Unlimited
289
+ featuredEventsPerMonth: 0, // Must pay (but eligible)
290
+ // Analytics & Insights
291
+ analyticsAccess: false,
292
+ advancedAnalytics: false,
293
+ // Service Provider Features
294
+ vendorDirectoryAccess: false,
295
+ maxServiceListings: 0,
296
+ // Monetization Tools
297
+ canCreatePromoCodes: true, // ✅
298
+ canSetCustomPricing: true, // ✅
299
+ // Platform Perks
300
+ prioritySearchPlacement: false,
301
+ homepageVisibility: false,
302
+ tierBadgeDisplay: false,
303
+ // Support & Access
304
+ prioritySupport: false,
305
+ conciergeSupport: false,
306
+ betaFeatureAccess: true, // ✅ Early beta access
307
+ // Exclusive Access
308
+ accessExclusiveEvents: true, // ✅ Creator-only events
309
+ bashSponsoredInvites: false,
310
+ networkingMixers: false,
311
+ // Business Tools
312
+ advancedMonetization: false,
313
+ marketingCampaigns: false,
314
+ leadGeneration: false,
315
+ },
316
+ Pro: {
317
+ // Event Creation
318
+ canCreateEvents: true,
319
+ minimumTicketPriceCents: null, // No minimum
320
+ maxEventsPerMonth: -1, // Unlimited
321
+ featuredEventsPerMonth: 1, // ✅ 1 free/month
322
+ // Analytics & Insights
323
+ analyticsAccess: true, // ✅ Basic analytics
324
+ advancedAnalytics: false,
325
+ // Service Provider Features
326
+ vendorDirectoryAccess: true, // ✅ Can list services
327
+ maxServiceListings: 3, // 3 service listings
328
+ // Monetization Tools
329
+ canCreatePromoCodes: true,
330
+ canSetCustomPricing: true,
331
+ // Platform Perks
332
+ prioritySearchPlacement: true, // ✅ Priority placement
333
+ homepageVisibility: false,
334
+ tierBadgeDisplay: true, // ✅ Show Pro badge
335
+ // Support & Access
336
+ prioritySupport: false,
337
+ conciergeSupport: false,
338
+ betaFeatureAccess: true,
339
+ // Exclusive Access
340
+ accessExclusiveEvents: true,
341
+ bashSponsoredInvites: false,
342
+ networkingMixers: false,
343
+ // Business Tools
344
+ advancedMonetization: false,
345
+ marketingCampaigns: false,
346
+ leadGeneration: false,
347
+ },
348
+ Elite: {
349
+ // Event Creation
350
+ canCreateEvents: true,
351
+ minimumTicketPriceCents: null, // No minimum
352
+ maxEventsPerMonth: -1, // Unlimited
353
+ featuredEventsPerMonth: 3, // ✅ 3 free/month
354
+ // Analytics & Insights
355
+ analyticsAccess: true,
356
+ advancedAnalytics: true, // ✅ Advanced analytics
357
+ // Service Provider Features
358
+ vendorDirectoryAccess: true,
359
+ maxServiceListings: 10, // 10 service listings
360
+ // Monetization Tools
361
+ canCreatePromoCodes: true,
362
+ canSetCustomPricing: true,
363
+ // Platform Perks
364
+ prioritySearchPlacement: true,
365
+ homepageVisibility: true, // ✅ Homepage featured
366
+ tierBadgeDisplay: true, // ✅ Gold Elite badge
367
+ // Support & Access
368
+ prioritySupport: true, // ✅ Priority support
369
+ conciergeSupport: true, // ✅ Concierge service
370
+ betaFeatureAccess: true,
371
+ // Exclusive Access
372
+ accessExclusiveEvents: true, // ✅ Elite-only events
373
+ bashSponsoredInvites: true, // ✅ Free Bash invites
374
+ networkingMixers: false,
375
+ // Business Tools
376
+ advancedMonetization: true, // ✅ Revenue tools
377
+ marketingCampaigns: true, // ✅ Email campaigns
378
+ leadGeneration: true, // ✅ Lead capture
379
+ },
380
+ Legend: {
381
+ // Event Creation
382
+ canCreateEvents: true,
383
+ minimumTicketPriceCents: null, // No minimum
384
+ maxEventsPerMonth: -1, // Unlimited
385
+ featuredEventsPerMonth: -1, // ✅ Unlimited featured events!
386
+ // Analytics & Insights
387
+ analyticsAccess: true,
388
+ advancedAnalytics: true,
389
+ // Service Provider Features
390
+ vendorDirectoryAccess: true,
391
+ maxServiceListings: -1, // ✅ Unlimited services
392
+ // Monetization Tools
393
+ canCreatePromoCodes: true,
394
+ canSetCustomPricing: true,
395
+ // Platform Perks
396
+ prioritySearchPlacement: true,
397
+ homepageVisibility: true, // ✅ Homepage rotation
398
+ tierBadgeDisplay: true, // ✅ Platinum Legend badge
399
+ // Support & Access
400
+ prioritySupport: true,
401
+ conciergeSupport: true,
402
+ betaFeatureAccess: true,
403
+ // Exclusive Access
404
+ accessExclusiveEvents: true, // ✅ All exclusive events
405
+ bashSponsoredInvites: true,
406
+ networkingMixers: true, // ✅ Exclusive networking
407
+ // Business Tools
408
+ advancedMonetization: true,
409
+ marketingCampaigns: true,
410
+ leadGeneration: true,
411
+ },
412
+ };
413
+ /**
414
+ * Check if a user has access to a specific feature based on their tier
415
+ * @param userTier - User's membership tier
416
+ * @param feature - Feature to check (key from MEMBERSHIP_LIMITS)
417
+ * @returns true if user has access
418
+ */
419
+ export function hasFeatureLimit(userTier, feature) {
420
+ return Boolean(MEMBERSHIP_LIMITS[userTier][feature]);
421
+ }
422
+ /**
423
+ * Get the limit value for a specific feature
424
+ * @param userTier - User's membership tier
425
+ * @param limit - Limit to check (e.g., 'maxEventsPerMonth')
426
+ * @returns Limit value (-1 = unlimited, 0 = none, positive number = limit)
427
+ */
428
+ export function getFeatureLimit(userTier, limit) {
429
+ return MEMBERSHIP_LIMITS[userTier][limit];
430
+ }
15
431
  export const MEMBERSHIP_FEATURES = {
16
432
  // Core Creator features
17
433
  NO_MINIMUM_TICKET_PRICE: 'no_minimum_ticket_price',
@@ -1 +1 @@
1
- {"version":3,"file":"membershipDefinitions.js","sourceRoot":"","sources":["../src/membershipDefinitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"membershipDefinitions.js","sourceRoot":"","sources":["../src/membershipDefinitions.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAgF/D,gCAAgC;AAChC,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;IAChC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,0BAA0B;IACrE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,yBAAyB;IAChE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,0BAA0B;IACrE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,2BAA2B;CACzE,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,8BAA8B,GAAmC;IAC5E,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,OAAO;IACvC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO;IAC3C,GAAG,EAAE,kBAAkB,CAAC,GAAG,CAAC,OAAO;IACnC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,OAAO;IACvC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,OAAO;CAC1C,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ;CAC7C,CAAC;AAEF,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAIxB;IACH,KAAK,EAAE;QACL,cAAc,EAAE,CAAC;QACjB,kBAAkB,EAAE,CAAC;QACrB,mBAAmB,EAAE,CAAC;KACvB;IACD,OAAO,EAAE;QACP,cAAc,EAAE,KAAK,EAAO,8BAA8B;QAC1D,kBAAkB,EAAE,IAAI,EAAI,cAAc;QAC1C,mBAAmB,EAAE,IAAI,EAAG,cAAc;KAC3C;IACD,GAAG,EAAE;QACH,cAAc,EAAE,KAAK,EAAO,8BAA8B;QAC1D,kBAAkB,EAAE,IAAI,EAAI,cAAc;QAC1C,mBAAmB,EAAE,IAAI,EAAG,cAAc;KAC3C;IACD,KAAK,EAAE;QACL,cAAc,EAAE,MAAM,EAAM,iCAAiC;QAC7D,kBAAkB,EAAE,IAAI,EAAI,cAAc;QAC1C,mBAAmB,EAAE,IAAI,EAAG,cAAc;KAC3C;IACD,MAAM,EAAE;QACN,cAAc,EAAE,MAAM,EAAM,iCAAiC;QAC7D,kBAAkB,EAAE,IAAI,EAAI,cAAc;QAC1C,mBAAmB,EAAE,IAAI,EAAG,cAAc;KAC3C;CACO,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,mBAAmB;IACnB,iBAAiB,EAAE,IAAI,EAAY,kCAAkC;IACrE,kBAAkB,EAAE,KAAK,EAAU,+BAA+B;IAElE,mBAAmB;IACnB,sBAAsB,EAAE,EAAE,EAAS,iCAAiC;IAEpE,mBAAmB;IACnB,iBAAiB,EAAE,GAAG,EAAa,sCAAsC;IACzE,uBAAuB,EAAE,IAAI,EAAM,uCAAuC;CAClE,CAAC;AAEX,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,iBAAiB,EAAE,EAAE,EAAc,yCAAyC;IAC5E,mBAAmB,EAAE,CAAC,EAAa,2BAA2B;IAC9D,mBAAmB,EAAE,IAAI,EAAU,sCAAsC;IACzE,mBAAmB,EAAE,IAAI,EAAU,kCAAkC;IACrE,cAAc,EAAE,CAAC,EAAkB,qCAAqC;CAChE,CAAC;AAEX,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,wBAAwB;IACxB,sBAAsB,EAAE,CAAC,EAAU,uCAAuC;IAC1E,sBAAsB,EAAE,EAAE,EAAS,8BAA8B;IACjE,qBAAqB,EAAE,EAAE,EAAU,yCAAyC;IAC5E,2BAA2B,EAAE,CAAC,EAAK,2CAA2C;IAE9E,aAAa;IACb,yBAAyB,EAAE,GAAG,EAAK,iCAAiC;IACpE,uBAAuB,EAAE,KAAK,EAAK,kCAAkC;CAC7D,CAAC;AAEX,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAIvB;IACH,KAAK,EAAE;QACL,OAAO,EAAE,IAAI,EAAS,MAAM;QAC5B,YAAY,EAAE,EAAE,EAAM,gBAAgB;QACtC,QAAQ,EAAE,KAAK,EAAO,WAAW;KAClC;IACD,OAAO,EAAE;QACP,OAAO,EAAE,IAAI,EAAS,oBAAoB;QAC1C,YAAY,EAAE,EAAE,EAAM,gBAAgB;QACtC,QAAQ,EAAE,KAAK,EAAO,WAAW;KAClC;IACD,GAAG,EAAE;QACH,OAAO,EAAE,IAAI,EAAS,oBAAoB;QAC1C,YAAY,EAAE,EAAE,EAAM,gBAAgB;QACtC,QAAQ,EAAE,KAAK,EAAO,WAAW;KAClC;IACD,KAAK,EAAE;QACL,OAAO,EAAE,IAAI,EAAS,oBAAoB;QAC1C,YAAY,EAAE,EAAE,EAAM,gBAAgB;QACtC,QAAQ,EAAE,KAAK,EAAO,WAAW;KAClC;IACD,MAAM,EAAE;QACN,OAAO,EAAE,IAAI,EAAS,oBAAoB;QAC1C,YAAY,EAAE,EAAE,EAAM,gBAAgB;QACtC,QAAQ,EAAE,IAAI,EAAQ,UAAU;KACjC;CACO,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAG5B;IACH,KAAK,EAAE;QACL,OAAO,EAAE,IAAI,EAAS,MAAM;QAC5B,QAAQ,EAAE,KAAK,EAAO,WAAW;KAClC;IACD,OAAO,EAAE;QACP,OAAO,EAAE,IAAI,EAAS,oBAAoB;QAC1C,QAAQ,EAAE,KAAK,EAAO,WAAW;KAClC;IACD,GAAG,EAAE;QACH,OAAO,EAAE,IAAI,EAAS,qBAAqB;QAC3C,QAAQ,EAAE,KAAK,EAAO,WAAW;KAClC;IACD,KAAK,EAAE;QACL,OAAO,EAAE,IAAI,EAAS,oBAAoB;QAC1C,QAAQ,EAAE,KAAK,EAAO,WAAW;KAClC;IACD,MAAM,EAAE;QACN,OAAO,EAAE,IAAI,EAAS,uCAAuC;QAC7D,QAAQ,EAAE,IAAI,EAAQ,UAAU;KACjC;CACO,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAG5B;IACH,KAAK,EAAE;QACL,OAAO,EAAE,IAAI,EAAS,KAAK;QAC3B,QAAQ,EAAE,KAAK,EAAO,WAAW;KAClC;IACD,OAAO,EAAE;QACP,OAAO,EAAE,IAAI,EAAS,yCAAyC;QAC/D,QAAQ,EAAE,KAAK,EAAO,WAAW;KAClC;IACD,GAAG,EAAE;QACH,OAAO,EAAE,IAAI,EAAS,oBAAoB;QAC1C,QAAQ,EAAE,KAAK,EAAO,WAAW;KAClC;IACD,KAAK,EAAE;QACL,OAAO,EAAE,IAAI,EAAS,0CAA0C;QAChE,QAAQ,EAAE,IAAI,EAAQ,UAAU;KACjC;IACD,MAAM,EAAE;QACN,OAAO,EAAE,IAAI,EAAS,gDAAgD;QACtE,QAAQ,EAAE,IAAI,EAAQ,UAAU;KACjC;CACO,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,iBAAiB;IACjB,uBAAuB,EAAE,GAAG,EAAO,2CAA2C;IAC9E,uBAAuB,EAAE,EAAE,EAAQ,6CAA6C;IAEhF,mBAAmB;IACnB,gBAAgB,EAAE,EAAE,EAAgB,qCAAqC;CACjE,CAAC;AAEX,kEAAkE;AAClE,MAAM,CAAC,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,gBAAgB,CAAC;AAEhF,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,cAA8B;IACvF,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAE/C,iCAAiC;IACjC,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnD,oBAAoB;IACpB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAEzC,YAAY;IACZ,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAErC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,WAAmB,EAAE,cAA8B;IAC5F,MAAM,MAAM,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAEpD,iCAAiC;IACjC,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnD,YAAY;IACZ,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAErC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,WAAmB,EAAE,cAA8B;IAC5F,MAAM,MAAM,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAEpD,iCAAiC;IACjC,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnD,YAAY;IACZ,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAErC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAsCzB;IACH,KAAK,EAAE;QACL,iBAAiB;QACjB,eAAe,EAAE,IAAI;QACrB,uBAAuB,EAAE,GAAG,EAAe,aAAa;QACxD,iBAAiB,EAAE,CAAC,CAAC,EAAsB,YAAY;QACvD,sBAAsB,EAAE,CAAC,EAAkB,WAAW;QAEtD,uBAAuB;QACvB,eAAe,EAAE,KAAK;QACtB,iBAAiB,EAAE,KAAK;QAExB,4BAA4B;QAC5B,qBAAqB,EAAE,KAAK;QAC5B,kBAAkB,EAAE,CAAC;QAErB,qBAAqB;QACrB,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;QAE1B,iBAAiB;QACjB,uBAAuB,EAAE,KAAK;QAC9B,kBAAkB,EAAE,KAAK;QACzB,gBAAgB,EAAE,KAAK;QAEvB,mBAAmB;QACnB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,KAAK;QAExB,mBAAmB;QACnB,qBAAqB,EAAE,KAAK;QAC5B,oBAAoB,EAAE,KAAK;QAC3B,gBAAgB,EAAE,KAAK;QAEvB,iBAAiB;QACjB,oBAAoB,EAAE,KAAK;QAC3B,kBAAkB,EAAE,KAAK;QACzB,cAAc,EAAE,KAAK;KACtB;IAED,OAAO,EAAE;QACP,iBAAiB;QACjB,eAAe,EAAE,IAAI;QACrB,uBAAuB,EAAE,IAAI,EAAc,cAAc;QACzD,iBAAiB,EAAE,CAAC,CAAC,EAAsB,YAAY;QACvD,sBAAsB,EAAE,CAAC,EAAkB,0BAA0B;QAErE,uBAAuB;QACvB,eAAe,EAAE,KAAK;QACtB,iBAAiB,EAAE,KAAK;QAExB,4BAA4B;QAC5B,qBAAqB,EAAE,KAAK;QAC5B,kBAAkB,EAAE,CAAC;QAErB,qBAAqB;QACrB,mBAAmB,EAAE,IAAI,EAAkB,IAAI;QAC/C,mBAAmB,EAAE,IAAI,EAAkB,IAAI;QAE/C,iBAAiB;QACjB,uBAAuB,EAAE,KAAK;QAC9B,kBAAkB,EAAE,KAAK;QACzB,gBAAgB,EAAE,KAAK;QAEvB,mBAAmB;QACnB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,IAAI,EAAoB,sBAAsB;QAEjE,mBAAmB;QACnB,qBAAqB,EAAE,IAAI,EAAgB,wBAAwB;QACnE,oBAAoB,EAAE,KAAK;QAC3B,gBAAgB,EAAE,KAAK;QAEvB,iBAAiB;QACjB,oBAAoB,EAAE,KAAK;QAC3B,kBAAkB,EAAE,KAAK;QACzB,cAAc,EAAE,KAAK;KACtB;IAED,GAAG,EAAE;QACH,iBAAiB;QACjB,eAAe,EAAE,IAAI;QACrB,uBAAuB,EAAE,IAAI,EAAc,aAAa;QACxD,iBAAiB,EAAE,CAAC,CAAC,EAAsB,YAAY;QACvD,sBAAsB,EAAE,CAAC,EAAkB,iBAAiB;QAE5D,uBAAuB;QACvB,eAAe,EAAE,IAAI,EAAsB,oBAAoB;QAC/D,iBAAiB,EAAE,KAAK;QAExB,4BAA4B;QAC5B,qBAAqB,EAAE,IAAI,EAAgB,sBAAsB;QACjE,kBAAkB,EAAE,CAAC,EAAsB,qBAAqB;QAEhE,qBAAqB;QACrB,mBAAmB,EAAE,IAAI;QACzB,mBAAmB,EAAE,IAAI;QAEzB,iBAAiB;QACjB,uBAAuB,EAAE,IAAI,EAAc,uBAAuB;QAClE,kBAAkB,EAAE,KAAK;QACzB,gBAAgB,EAAE,IAAI,EAAqB,mBAAmB;QAE9D,mBAAmB;QACnB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,IAAI;QAEvB,mBAAmB;QACnB,qBAAqB,EAAE,IAAI;QAC3B,oBAAoB,EAAE,KAAK;QAC3B,gBAAgB,EAAE,KAAK;QAEvB,iBAAiB;QACjB,oBAAoB,EAAE,KAAK;QAC3B,kBAAkB,EAAE,KAAK;QACzB,cAAc,EAAE,KAAK;KACtB;IAED,KAAK,EAAE;QACL,iBAAiB;QACjB,eAAe,EAAE,IAAI;QACrB,uBAAuB,EAAE,IAAI,EAAc,aAAa;QACxD,iBAAiB,EAAE,CAAC,CAAC,EAAsB,YAAY;QACvD,sBAAsB,EAAE,CAAC,EAAkB,iBAAiB;QAE5D,uBAAuB;QACvB,eAAe,EAAE,IAAI;QACrB,iBAAiB,EAAE,IAAI,EAAoB,uBAAuB;QAElE,4BAA4B;QAC5B,qBAAqB,EAAE,IAAI;QAC3B,kBAAkB,EAAE,EAAE,EAAqB,sBAAsB;QAEjE,qBAAqB;QACrB,mBAAmB,EAAE,IAAI;QACzB,mBAAmB,EAAE,IAAI;QAEzB,iBAAiB;QACjB,uBAAuB,EAAE,IAAI;QAC7B,kBAAkB,EAAE,IAAI,EAAmB,sBAAsB;QACjE,gBAAgB,EAAE,IAAI,EAAqB,qBAAqB;QAEhE,mBAAmB;QACnB,eAAe,EAAE,IAAI,EAAsB,qBAAqB;QAChE,gBAAgB,EAAE,IAAI,EAAqB,sBAAsB;QACjE,iBAAiB,EAAE,IAAI;QAEvB,mBAAmB;QACnB,qBAAqB,EAAE,IAAI,EAAgB,sBAAsB;QACjE,oBAAoB,EAAE,IAAI,EAAiB,sBAAsB;QACjE,gBAAgB,EAAE,KAAK;QAEvB,iBAAiB;QACjB,oBAAoB,EAAE,IAAI,EAAiB,kBAAkB;QAC7D,kBAAkB,EAAE,IAAI,EAAmB,oBAAoB;QAC/D,cAAc,EAAE,IAAI,EAAuB,iBAAiB;KAC7D;IAED,MAAM,EAAE;QACN,iBAAiB;QACjB,eAAe,EAAE,IAAI;QACrB,uBAAuB,EAAE,IAAI,EAAc,aAAa;QACxD,iBAAiB,EAAE,CAAC,CAAC,EAAsB,YAAY;QACvD,sBAAsB,EAAE,CAAC,CAAC,EAAiB,+BAA+B;QAE1E,uBAAuB;QACvB,eAAe,EAAE,IAAI;QACrB,iBAAiB,EAAE,IAAI;QAEvB,4BAA4B;QAC5B,qBAAqB,EAAE,IAAI;QAC3B,kBAAkB,EAAE,CAAC,CAAC,EAAqB,uBAAuB;QAElE,qBAAqB;QACrB,mBAAmB,EAAE,IAAI;QACzB,mBAAmB,EAAE,IAAI;QAEzB,iBAAiB;QACjB,uBAAuB,EAAE,IAAI;QAC7B,kBAAkB,EAAE,IAAI,EAAmB,sBAAsB;QACjE,gBAAgB,EAAE,IAAI,EAAqB,0BAA0B;QAErE,mBAAmB;QACnB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QAEvB,mBAAmB;QACnB,qBAAqB,EAAE,IAAI,EAAgB,yBAAyB;QACpE,oBAAoB,EAAE,IAAI;QAC1B,gBAAgB,EAAE,IAAI,EAAqB,yBAAyB;QAEpE,iBAAiB;QACjB,oBAAoB,EAAE,IAAI;QAC1B,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,IAAI;KACrB;CACO,CAAC;AAEX;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAwB,EACxB,OAAuD;IAEvD,OAAO,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAwB,EACxB,KAAqD;IAErD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,wBAAwB;IACxB,uBAAuB,EAAE,yBAAyB;IAClD,WAAW,EAAE,aAAa;IAC1B,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAE1C,eAAe;IACf,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,UAAU,EAAE,YAAY;IAExB,iBAAiB;IACjB,YAAY,EAAE,cAAc;IAC5B,sBAAsB,EAAE,wBAAwB;IAChD,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAE1C,kBAAkB;IAClB,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,iBAAiB,EAAE,mBAAmB;IACtC,WAAW,EAAE,aAAa;CAClB,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAwB,EAAE,OAAe;IACxE,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE9D,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,mBAAmB,CAAC,uBAAuB,CAAC;QACjD,KAAK,mBAAmB,CAAC,WAAW,CAAC;QACrC,KAAK,mBAAmB,CAAC,mBAAmB,CAAC;QAC7C,KAAK,mBAAmB,CAAC,oBAAoB,CAAC;QAC9C,KAAK,mBAAmB,CAAC,aAAa,CAAC;QACvC,KAAK,mBAAmB,CAAC,mBAAmB;YAC1C,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,WAAW;QAEpC,KAAK,mBAAmB,CAAC,oBAAoB,CAAC;QAC9C,KAAK,mBAAmB,CAAC,eAAe,CAAC;QACzC,KAAK,mBAAmB,CAAC,eAAe,CAAC;QACzC,KAAK,mBAAmB,CAAC,gBAAgB,CAAC;QAC1C,KAAK,mBAAmB,CAAC,UAAU;YACjC,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO;QAEhC,KAAK,mBAAmB,CAAC,YAAY,CAAC;QACtC,KAAK,mBAAmB,CAAC,sBAAsB,CAAC;QAChD,KAAK,mBAAmB,CAAC,kBAAkB,CAAC;QAC5C,KAAK,mBAAmB,CAAC,iBAAiB,CAAC;QAC3C,KAAK,mBAAmB,CAAC,kBAAkB,CAAC;QAC5C,KAAK,mBAAmB,CAAC,mBAAmB;YAC1C,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS;QAElC,KAAK,mBAAmB,CAAC,aAAa,CAAC;QACvC,KAAK,mBAAmB,CAAC,eAAe,CAAC;QACzC,KAAK,mBAAmB,CAAC,iBAAiB,CAAC;QAC3C,KAAK,mBAAmB,CAAC,gBAAgB,CAAC;QAC1C,KAAK,mBAAmB,CAAC,iBAAiB,CAAC;QAC3C,KAAK,mBAAmB,CAAC,iBAAiB,CAAC;QAC3C,KAAK,mBAAmB,CAAC,WAAW;YAClC,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,cAAc;QAEvC;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,KAAK,MAAM,IAAI,IAAI,yBAAyB,EAAE,CAAC;QAC7C,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAwB,EACxB,OAAyB,EACzB,YAAoB;IAEpB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAEhD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,gBAAgB;YACnB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC;YACrD,OAAO,KAAK,KAAK,SAAS,IAAI,YAAY,IAAI,KAAK,CAAC;QACtD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,MAAM,oBAAoB,GAA+C;IAC9E,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,gDAAgD;QAC7D,YAAY,EAAE,kBAAkB,CAAC,KAAK,CAAC,OAAO;QAC9C,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM;QAC5C,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,OAAO;QACzC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM;QACvC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,OAAO;QACvC,QAAQ,EAAE;YACR,iCAAiC;YACjC,wDAAwD;YACxD,wDAAwD;YACxD,uCAAuC;SACxC;QACD,MAAM,EAAE;YACN,sBAAsB,EAAE,CAAC;YACzB,eAAe,EAAE,KAAK;YACtB,qBAAqB,EAAE,KAAK;YAC5B,eAAe,EAAE,KAAK;SACvB;KACF;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,qDAAqD;QAClE,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO;QAChD,WAAW,EAAE,kBAAkB,CAAC,OAAO,CAAC,MAAM;QAC9C,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO;QAC3C,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,MAAM;QACzC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO;QACzC,QAAQ,EAAE;YACR,wDAAwD;YACxD,kDAAkD;YAClD,gDAAgD;YAChD,wDAAwD;YACxD,yCAAyC;YACzC,sCAAsC;SACvC;QACD,MAAM,EAAE;YACN,sBAAsB,EAAE,CAAC;YACzB,eAAe,EAAE,KAAK;YACtB,qBAAqB,EAAE,KAAK;YAC5B,eAAe,EAAE,KAAK;SACvB;KACF;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,mDAAmD;QAChE,YAAY,EAAE,kBAAkB,CAAC,GAAG,CAAC,OAAO;QAC5C,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM;QAC1C,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,OAAO;QACvC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM;QACrC,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,OAAO;QACrC,QAAQ,EAAE;YACR,sBAAsB;YACtB,6BAA6B;YAC7B,kDAAkD;YAClD,kDAAkD;YAClD,mDAAmD;YACnD,iDAAiD;SAClD;QACD,MAAM,EAAE;YACN,sBAAsB,EAAE,CAAC;YACzB,eAAe,EAAE,IAAI;YACrB,qBAAqB,EAAE,IAAI;YAC3B,eAAe,EAAE,KAAK;SACvB;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,sDAAsD;QACnE,YAAY,EAAE,kBAAkB,CAAC,KAAK,CAAC,OAAO;QAC9C,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM;QAC5C,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,OAAO;QACzC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM;QACvC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,OAAO;QACvC,QAAQ,EAAE;YACR,kBAAkB;YAClB,iDAAiD;YACjD,8CAA8C;YAC9C,wDAAwD;YACxD,2CAA2C;YAC3C,wCAAwC;YACxC,iDAAiD;SAClD;QACD,MAAM,EAAE;YACN,eAAe,EAAE,IAAI;YACrB,qBAAqB,EAAE,IAAI;YAC3B,eAAe,EAAE,IAAI;SACtB;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wDAAwD;QACrE,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC,OAAO;QAC/C,WAAW,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM;QAC7C,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,OAAO;QAC1C,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM;QACxC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,OAAO;QACxC,QAAQ,EAAE;YACR,oBAAoB;YACpB,uDAAuD;YACvD,+CAA+C;YAC/C,sCAAsC;YACtC,8CAA8C;YAC9C,yCAAyC;YACzC,iDAAiD;YACjD,sCAAsC;SACvC;QACD,MAAM,EAAE;YACN,eAAe,EAAE,IAAI;YACrB,qBAAqB,EAAE,IAAI;YAC3B,eAAe,EAAE,IAAI;SACtB;KACF;CACF,CAAC"}