1(()=>{var t={34:function(){window.addEventListener("DOMContentLoaded",()=>{var n=document.getElementById("tutor-download-invoice");if(n){n.addEventListener("click",r=>{var o=n.dataset.orderId;n.classList.add("tutor-btn-loading");var a=document.getElementById("tutor-invoice-content");// Fix strikethrough elements before capture 2var i=t(a);setTimeout(()=>{html2canvas(a,{scale:2,backgroundColor:"#ffffff",logging:false,windowWidth:a.scrollWidth,windowHeight:a.scrollHeight}).then(t=>{// Restore original strikethrough styles 3e(i);var r=t.toDataURL("image/jpeg",1);var a=new jspdf.jsPDF({orientation:"p",unit:"mm",format:"a4"});var s=a.internal.pageSize.getWidth();var c=a.internal.pageSize.getHeight();var u=t.width;var d=t.height;var l=u/d;var f=10;var h=s-2*f;var m=c-2*f;var g=h;var w=g/l;if(w>m){w=m;g=w*l}a.addImage(r,"PNG",f,f,g,w);a.save("invoice-".concat(o,".pdf"));n.classList.remove("tutor-btn-loading")}).catch(t=>{e(i);n.classList.remove("tutor-btn-loading")})},0)})}});/** 4 * Finds all elements with line-through and replaces the CSS decoration 5 * with a visible absolutely-positioned <span> line that html2canvas can render. 6 * Returns a list of elements to restore afterward. 7 */function t(t){var e=[];t.querySelectorAll("*").forEach(t=>{var n=window.getComputedStyle(t);var r=n.textDecorationLine||n.textDecoration;if(r.includes("line-through")){// Wrap in a relative container if not already positioned 8var o=window.getComputedStyle(t).position;if(o==="static"){t.style.position="relative";e.push({el:t,resetPosition:true})}else{e.push({el:t,resetPosition:false})}// Remove the CSS strikethrough 9t.style.textDecoration="none";// Add a manual line overlay 10var a=document.createElement("span");a.className="__strikethrough-overlay";a.style.cssText="\n position: absolute;\n left: 0;\n right: 0;\n top: 50%;\n height: 1.5px;\n background-color: ".concat(n.color,";\n pointer-events: none;\n transform: translateY(-50%);\n ");t.appendChild(a)}});return e}/** 11 * Restores original styles and removes injected overlay spans. 12 */function e(t){t.forEach(t=>{var{el:e,resetPosition:n}=t;e.style.textDecoration="";if(n)e.style.position="";e.querySelectorAll(".__strikethrough-overlay").forEach(t=>t.remove())})}}};// The module cache 13var e={};// The require function 14function n(r){// Check if module is in cache 15var o=e[r];if(o!==undefined){return o.exports}// Create a new module (and put it into the cache) 16var a=e[r]={exports:{}};// Execute the module function 17t[r](a,a.exports,n);// Return the exports of the module 18return a.exports}// webpack/runtime/rspack_version 19(()=>{n.rv=()=>"1.6.5"})();// webpack/runtime/rspack_unique_id 20(()=>{n.ruid="[email protected]"})();// This entry needs to be wrapped in an IIFE because it needs to be in strict mode. 21(()=>{"use strict";// CONCATENATED MODULE: ./node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/esm/_async_to_generator.js 22function t(t,e,n,r,o,a,i){try{var s=t[a](i);var c=s.value}catch(t){n(t);return}if(s.done)e(c);else Promise.resolve(c).then(r,o)}function e(e){return function(){var n=this,r=arguments;return new Promise(function(o,a){var i=e.apply(n,r);function s(e){t(i,o,a,s,c,"next",e)}function c(e){t(i,o,a,s,c,"throw",e)}s(undefined)})}};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/constants.js 23/** 24 * @module constants 25 * @summary Useful constants 26 * @description 27 * Collection of useful date constants. 28 * 29 * The constants could be imported from `date-fns/constants`: 30 * 31 * ```ts 32 * import { maxTime, minTime } from "./constants/date-fns/constants"; 33 * 34 * function isAllowedTime(time) { 35 * return time <= maxTime && time >= minTime; 36 * } 37 * ``` 38 *//** 39 * @constant 40 * @name daysInWeek 41 * @summary Days in 1 week. 42 */const r=7;/** 43 * @constant 44 * @name daysInYear 45 * @summary Days in 1 year. 46 * 47 * @description 48 * How many days in a year. 49 * 50 * One years equals 365.2425 days according to the formula: 51 * 52 * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400. 53 * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days 54 */const o=365.2425;
54/** 55 * @constant 56 * @name maxTime 57 * @summary Maximum allowed time. 58 * 59 * @example 60 * import { maxTime } from "./constants/date-fns/constants"; 61 * 62 * const isValid = 8640000000000001 <= maxTime; 63 * //=> false 64 * 65 * new Date(8640000000000001); 66 * //=> Invalid Date 67 */const a=Math.pow(10,8)*24*60*60*1e3;/** 68 * @constant 69 * @name minTime 70 * @summary Minimum allowed time. 71 * 72 * @example 73 * import { minTime } from "./constants/date-fns/constants"; 74 * 75 * const isValid = -8640000000000001 >= minTime; 76 * //=> false 77 * 78 * new Date(-8640000000000001) 79 * //=> Invalid Date 80 */const i=/* unused pure expression or super */null&&-a;/** 81 * @constant 82 * @name millisecondsInWeek 83 * @summary Milliseconds in 1 week. 84 */const s=6048e5;/** 85 * @constant 86 * @name millisecondsInDay 87 * @summary Milliseconds in 1 day. 88 */const c=864e5;/** 89 * @constant 90 * @name millisecondsInMinute 91 * @summary Milliseconds in 1 minute 92 */const u=6e4;/** 93 * @constant 94 * @name millisecondsInHour 95 * @summary Milliseconds in 1 hour 96 */const d=36e5;/** 97 * @constant 98 * @name millisecondsInSecond 99 * @summary Milliseconds in 1 second 100 */const l=1e3;/** 101 * @constant 102 * @name minutesInYear 103 * @summary Minutes in 1 year. 104 */const f=525600;/** 105 * @constant 106 * @name minutesInMonth 107 * @summary Minutes in 1 month. 108 */const h=43200;/** 109 * @constant 110 * @name minutesInDay 111 * @summary Minutes in 1 day. 112 */const m=1440;/** 113 * @constant 114 * @name minutesInHour 115 * @summary Minutes in 1 hour. 116 */const g=60;/** 117 * @constant 118 * @name monthsInQuarter 119 * @summary Months in 1 quarter. 120 */const w=3;/** 121 * @constant 122 * @name monthsInYear 123 * @summary Months in 1 year. 124 */const v=12;/** 125 * @constant 126 * @name quartersInYear 127 * @summary Quarters in 1 year 128 */const y=4;/** 129 * @constant 130 * @name secondsInHour 131 * @summary Seconds in 1 hour. 132 */const b=3600;/** 133 * @constant 134 * @name secondsInMinute 135 * @summary Seconds in 1 minute. 136 */const p=60;/** 137 * @constant 138 * @name secondsInDay 139 * @summary Seconds in 1 day. 140 */const M=/* unused pure expression or super */null&&b*24;/** 141 * @constant 142 * @name secondsInWeek 143 * @summary Seconds in 1 week. 144 */const _=/* unused pure expression or super */null&&M*7;/** 145 * @constant 146 * @name secondsInYear 147 * @summary Seconds in 1 year. 148 */const x=/* unused pure expression or super */null&&M*o;/** 149 * @constant 150 * @name secondsInMonth 151 * @summary Seconds in 1 month 152 */const k=/* unused pure expression or super */null&&x/12;/** 153 * @constant 154 * @name secondsInQuarter 155 * @summary Seconds in 1 quarter. 156 */const P=/* unused pure expression or super */null&&k*3;/** 157 * @constant 158 * @name constructFromSymbol 159 * @summary Symbol enabling Date extensions to inherit properties from the reference date. 160 * 161 * The symbol is used to enable the `constructFrom` function to construct a date 162 * using a reference date and a value. It allows to transfer extra properties 163 * from the reference date to the new date. It's useful for extensions like 164 * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as 165 * a constructor argument. 166 */const S=Symbol.for("constructDateFrom");// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/constructFrom.js 167/** 168 * @name constructFrom 169 * @category Generic Helpers 170 * @summary Constructs a date using the reference date and the value 171 * 172 * @description 173 * The function constructs a new date using the constructor from the reference 174 * date and the given value. It helps to build generic functions that accept 175 * date extensions. 176 * 177 * It defaults to `Date` if the passed reference date is a number or a string. 178 * 179 * Starting from v3.7.0, it allows to construct a date using `[Symbol.for("constructDateFrom")]` 180 * enabling to transfer extra properties from the reference date to the new date. 181 * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz) 182 * that accept a time zone as a constructor argument. 183 * 184 * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). 185 * 186 * @param date - The reference date to take constructor from 187 * @param value - The value to create the date 188 * 189 * @returns Date initialized using the given date and value 190 * 191 * @example 192 * import { constructFrom } from "./constructFrom/date-fns"; 193 * 194 * // A function that clones a date preserving the original type 195 * function cloneDate<DateType extends Date>(date: DateType): DateType { 196 * return constructFrom( 197 * date, // Use constructor from the given date 198 * date.getTime() // Use the date value to create a new date 199 * ); 200 * } 201 */function D(t,e){if(typeof t==="function")return t(e);if(t&&typeof t==="object"&&S in t)return t[S](e);if(t instanceof Date)return new t.constructor(e);return new Date(e)}// Fallback for modularized imports: 202/* export default */const L=/* unused pure expression or super */null&&D;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/toDate.js 203/** 204 * @name toDate 205 * @category Common Helpers 206 * @summary Convert the given argument to an instance of Date. 207 * 208 * @description 209 * Convert the given argument to an instance of Date. 210 * 211 * If the argument is an instance of Date, the function returns its clone. 212 * 213 * If the argument is a number, it is treated as a timestamp. 214 * 215 * If the argument is none of the above, the function returns Invalid Date. 216 * 217 * Starting from v3.7.0, it clones a date using `[Symbol.for("constructDateFrom")]` 218 * enabling to transfer extra properties from the reference date to the new date. 219 * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz) 220 * that accept a time zone as a constructor argument. 221 * 222 * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`. 223 * 224 * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). 225 * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. 226 * 227 * @param argument - The value to convert 228 * 229 * @returns The parsed date in the local time zone 230 * 231 * @example 232 * // Clone the date: 233 * const result = toDate(new Date(2014, 1, 11, 11, 30, 30)) 234 * //=> Tue Feb 11 2014 11:30:30 235 * 236 * @example 237 * // Convert the timestamp to date: 238 * const result = toDate(1392098430000) 239 * //=> Tue Feb 11 2014 11:30:30 240 */function W(t,e){// [TODO] Get rid of `toDate` or `constructFrom`? 241return D(e||t,t)}// Fallback for modularized imports: 242/* export default */const T=/* unused pure expression or super */null&&W;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/addMinutes.js 243/** 244 * The {@link addMinutes} function options. 245 *//** 246 * @name addMinutes 247 * @category Minute Helpers 248 * @summary Add the specified number of minutes to the given date. 249 * 250 * @description 251 * Add the specified number of minutes to the given date. 252 * 253 * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). 254 * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. 255 * 256 * @param date - The date to be changed 257 * @param amount - The amount of minutes to be added. 258 * @param options - An object with options 259 * 260 * @returns The new date with the minutes added 261 * 262 * @example 263 * // Add 30 minutes to 10 July 2014 12:00:00: 264 * const result = addMinutes(new Date(2014, 6, 10, 12, 0), 30) 265 * //=> Thu Jul 10 2014 12:30:00 266 */function E(t,e,n){const r=W(t,n?.in);r.setTime(r.getTime()+e*u);return r}// Fallback for modularized imports: 267/* export default */const q=/* unused pure expression or super */null&&E;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/locale/en-US/_lib/formatDistance.js 268const C={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};const O=(t,e,n)=>{let r;const o=C[t];if(typeof o==="string"){r=o}else if(e===1){r=o.one}else{r=o.other.replace("{{count}}",e.toString())}if(n?.addSuffix){if(n.comparison&&n.comparison>0){return"in "+r}else{return r+" ago"}}return r};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/locale/_lib/buildFormatLongFn.js 269function Y(t){return (e={})=>{// TODO: Remove String() 270const n=e.width?String(e.width):t.defaultWidth;const r=t.formats[n]||t.formats[t.defaultWidth];return r}};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/locale/en-US/_lib/formatLong.js 271const j={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"};const F={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"};const H={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"};const A={date:Y({formats:j,defaultWidth:"full"}),time:Y({formats:F,defaultWidth:"full"}),dateTime:Y({formats:H,defaultWidth:"full"})};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/locale/en-US/_lib/formatRelative.js 272const z={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};const N=(t,e,n,r)=>z[t];// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/locale/_lib/buildLocalizeFn.js 273/** 274 * The localize function argument callback which allows to convert raw value to 275 * the actual type. 276 * 277 * @param value - The value to convert 278 * 279 * @returns The converted value 280 *//** 281 * The map of localized values for each width. 282 *//** 283 * The index type of the locale unit value. It types conversion of units of 284 * values that don't start at 0 (i.e. quarters). 285 *//** 286 * Converts the unit value to the tuple of values. 287 *//** 288 * The tuple of localized era values. The first element represents BC, 289 * the second element represents AD. 290 *//** 291 * The tuple of localized quarter values. The first element represents Q1. 292 *//** 293 * The tuple of localized day values. The first element represents Sunday. 294 *//** 295 * The tuple of localized month values. The first element represents January. 296 */function Q(t){return(e,n)=>{const r=n?.context?String(n.context):"standalone";let o;if(r==="formatting"&&t.formattingValues){const e=t.defaultFormattingWidth||t.defaultWidth;const r=n?.width?String(n.width):e;o=t.formattingValues[r]||t.formattingValues[e]}else{const e=t.defaultWidth;const r=n?.width?String(n.width):t.defaultWidth;o=t.values[r]||t.values[e]}const a=t.argumentCallback?t.argumentCallback(e):e;// @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it! 297return o[a]}};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/locale/en-US/_lib/localize.js 298const B={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]};const X={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]};// Note: in English, the names of days of the week and months are capitalized. 299// If you are making a new locale based on this one, check if the same is true for the language you're working on. 300// Generally, formatted dates should look like they are in the middle of a sentence, 301// e.g. in Spanish language the weekdays and months should be in the lowercase. 302const G={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]};const I={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Frid
302ay","Saturday"]};const $={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}};const J={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}};const R=(t,e)=>{const n=Number(t);// If ordinal numbers depend on context, for example, 303// if they are different for different grammatical genders, 304// use `options.unit`. 305// 306// `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear', 307// 'day', 'hour', 'minute', 'second'. 308const r=n%100;if(r>20||r<10){switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}}return n+"th"};const U={ordinalNumber:R,era:Q({values:B,defaultWidth:"wide"}),quarter:Q({values:X,defaultWidth:"wide",argumentCallback:t=>t-1}),month:Q({values:G,defaultWidth:"wide"}),day:Q({values:I,defaultWidth:"wide"}),dayPeriod:Q({values:$,defaultWidth:"wide",formattingValues:J,defaultFormattingWidth:"wide"})};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/locale/_lib/buildMatchFn.js 309function Z(t){return(e,n={})=>{const r=n.width;const o=r&&t.matchPatterns[r]||t.matchPatterns[t.defaultMatchWidth];const a=e.match(o);if(!a){return null}const i=a[0];const s=r&&t.parsePatterns[r]||t.parsePatterns[t.defaultParseWidth];const c=Array.isArray(s)?K(s,t=>t.test(i)):V(s,t=>t.test(i));let u;u=t.valueCallback?t.valueCallback(c):c;u=n.valueCallback?n.valueCallback(u):u;const d=e.slice(i.length);return{value:u,rest:d}}}function V(t,e){for(const n in t){if(Object.prototype.hasOwnProperty.call(t,n)&&e(t[n])){return n}}return undefined}function K(t,e){for(let n=0;n<t.length;n++){if(e(t[n])){return n}}return undefined};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js 310function tt(t){return(e,n={})=>{const r=e.match(t.matchPattern);if(!r)return null;const o=r[0];const a=e.match(t.parsePattern);if(!a)return null;let i=t.valueCallback?t.valueCallback(a[0]):a[0];// [TODO] I challenge you to fix the type 311i=n.valueCallback?n.valueCallback(i):i;const s=e.slice(o.length);return{value:i,rest:s}}};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/locale/en-US/_lib/match.js 312const te=/^(\d+)(th|st|nd|rd)?/i;const tn=/\d+/i;const tr={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i};const to={any:[/^b/i,/^(a|c)/i]};const ta={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i};const ti={any:[/1/i,/2/i,/3/i,/4/i]};const ts={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i};const tc={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]};const tu={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i};const td={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]};const tl={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i};const tf={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}};const th={ordinalNumber:tt({matchPattern:te,parsePattern:tn,valueCallback:t=>parseInt(t,10)}),era:Z({matchPatterns:tr,defaultMatchWidth:"wide",parsePatterns:to,defaultParseWidth:"any"}),quarter:Z({matchPatterns:ta,defaultMatchWidth:"wide",parsePatterns:ti,defaultParseWidth:"any",valueCallback:t=>t+1}),month:Z({matchPatterns:ts,defaultMatchWidth:"wide",parsePatterns:tc,defaultParseWidth:"any"}),day:Z({matchPatterns:tu,defaultMatchWidth:"wide",parsePatterns:td,defaultParseWidth:"any"}),dayPeriod:Z({matchPatterns:tl,defaultMatchWidth:"any",parsePatterns:tf,defaultParseWidth:"any"})};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/locale/en-US.js 313/** 314 * @category Locales 315 * @summary English locale (United States). 316 * @language English 317 * @iso-639-2 eng 318 * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp) 319 * @author Lesha Koss [@leshakoss](https://github.com/leshakoss) 320 */const tm={code:"en-US",formatDistance:O,formatLong:A,formatRelative:N,localize:U,match:th,options:{weekStartsOn:0/* Sunday */,firstWeekContainsDate:1}};// Fallback for modularized imports: 321/* export default */const tg=/* unused pure expression or super */null&&tm;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/_lib/defaultOptions.js 322let tw={};function tv(){return tw}function ty(t){tw=t};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js 323/** 324 * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds. 325 * They usually appear for dates that denote time before the timezones were introduced 326 * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891 327 * and GMT+01:00:00 after that date) 328 * 329 * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,
330 * which would lead to incorrect calculations. 331 * 332 * This function returns the timezone offset in milliseconds that takes seconds in account. 333 */function tb(t){const e=W(t);const n=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));n.setUTCFullYear(e.getFullYear());return+t-+n};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/_lib/normalizeDates.js 334function tp(t,...e){const n=D.bind(null,t||e.find(t=>typeof t==="object"));return e.map(n)};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/startOfDay.js 335/** 336 * The {@link startOfDay} function options. 337 *//** 338 * @name startOfDay 339 * @category Day Helpers 340 * @summary Return the start of a day for the given date. 341 * 342 * @description 343 * Return the start of a day for the given date. 344 * The result will be in the local timezone. 345 * 346 * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). 347 * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. 348 * 349 * @param date - The original date 350 * @param options - The options 351 * 352 * @returns The start of a day 353 * 354 * @example 355 * // The start of a day for 2 September 2014 11:55:00: 356 * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0)) 357 * //=> Tue Sep 02 2014 00:00:00 358 */function tM(t,e){const n=W(t,e?.in);n.setHours(0,0,0,0);return n}// Fallback for modularized imports: 359/* export default */const t_=/* unused pure expression or super */null&&tM;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/differenceInCalendarDays.js 360/** 361 * The {@link differenceInCalendarDays} function options. 362 *//** 363 * @name differenceInCalendarDays 364 * @category Day Helpers 365 * @summary Get the number of calendar days between the given dates. 366 * 367 * @description 368 * Get the number of calendar days between the given dates. This means that the times are removed 369 * from the dates and then the difference in days is calculated. 370 * 371 * @param laterDate - The later date 372 * @param earlierDate - The earlier date 373 * @param options - The options object 374 * 375 * @returns The number of calendar days 376 * 377 * @example 378 * // How many calendar days are between 379 * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00? 380 * const result = differenceInCalendarDays( 381 * new Date(2012, 6, 2, 0, 0), 382 * new Date(2011, 6, 2, 23, 0) 383 * ) 384 * //=> 366 385 * // How many calendar days are between 386 * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00? 387 * const result = differenceInCalendarDays( 388 * new Date(2011, 6, 3, 0, 1), 389 * new Date(2011, 6, 2, 23, 59) 390 * ) 391 * //=> 1 392 */function tx(t,e,n){const[r,o]=tp(n?.in,t,e);const a=tM(r);const i=tM(o);const s=+a-tb(a);const u=+i-tb(i);// Round the number of days to the nearest integer because the number of 393// milliseconds in a day is not constant (e.g. it's different in the week of 394// the daylight saving time clock shift). 395return Math.round((s-u)/c)}// Fallback for modularized imports: 396/* export default */const tk=/* unused pure expression or super */null&&tx;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/startOfYear.js 397/** 398 * The {@link startOfYear} function options. 399 *//** 400 * @name startOfYear 401 * @category Year Helpers 402 * @summary Return the start of a year for the given date. 403 * 404 * @description 405 * Return the start of a year for the given date. 406 * The result will be in the local timezone. 407 * 408 * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). 409 * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. 410 * 411 * @param date - The original date 412 * @param options - The options 413 * 414 * @returns The start of a year 415 * 416 * @example 417 * // The start of a year for 2 September 2014 11:55:00: 418 * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00)) 419 * //=> Wed Jan 01 2014 00:00:00 420 */function tP(t,e){const n=W(t,e?.in);n.setFullYear(n.getFullYear(),0,1);n.setHours(0,0,0,0);return n}// Fallback for modularized imports: 421/* export default */const tS=/* unused pure expression or super */null&&tP;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/getDayOfYear.js 422/** 423 * The {@link getDayOfYear} function options. 424 *//** 425 * @name getDayOfYear 426 * @category Day Helpers 427 * @summary Get the day of the year of the given date. 428 * 429 * @description 430 * Get the day of the year of the given date. 431 * 432 * @param date - The given date 433 * @param options - The options 434 * 435 * @returns The day of year 436 * 437 * @example 438 * // Which day of the year is 2 July 2014? 439 * const result = getDayOfYear(new Date(2014, 6, 2)) 440 * //=> 183 441 */function tD(t,e){const n=W(t,e?.in);const r=tx(n,tP(n));const o=r+1;return o}// Fallback for modularized imports: 442/* export default */const tL=/* unused pure expression or super */null&&tD;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/startOfWeek.js 443/** 444 * The {@link startOfWeek} function options. 445 *//** 446 * @name startOfWeek 447 * @category Week Helpers 448 * @summary Return the start of a week for the given date. 449 * 450 * @description 451 * Return the start of a week for the given date. 452 * The result will be in the local timezone. 453 * 454 * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). 455 * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. 456 * 457 * @param date - The original date 458 * @param options - An object with options 459 * 460 * @returns The start of a week 461 * 462 * @example 463 * // The start of a week for 2 September 2014 11:55:00: 464 * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0)) 465 * //=> Sun Aug 31 2014 00:00:00 466 * 467 * @example 468 * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00: 469 * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 }) 470 * //=> Mon Sep 01 2014 00:00:00 471 */function tW(t,e){const n=tv();const r=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0;const o=W(t,e?.in);const a=o.getDay();const i=(a<r?7:0)+a-r;o.setDate(o.getDate()-i);o.setHours(0,0,0,0);return o}// Fallback for modularized imports: 472/* export default */const tT=/* unused pure expression or super */null&&tW;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/startOfISOWeek.js 473/** 474 * The {@link startOfISOWeek} function options. 475 *//** 476 * @name startOfISOWeek 477 * @category ISO Week Helpers 478 * @summary Return the start of an ISO week for the given date. 479 * 480 * @description 481 * Return the start of an ISO week for the given date. 482 * The result will be in the local timezone. 483 * 484 * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date 485 * 486 * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). 487 * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. 488 * 489 * @param date - The original date 490 * @param options - An object with options 491 * 492 * @returns The start of an ISO week 493 * 494 * @example 495 * // The start of an ISO week for 2 September 2014 11:55:00: 496 * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0)) 497 * //=> Mon Sep 01 2014 00:00:00 498 */function tE(t,e){return tW(t,{...e,weekStartsOn:1}
498)}// Fallback for modularized imports: 499/* export default */const tq=/* unused pure expression or super */null&&tE;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/getISOWeekYear.js 500/** 501 * The {@link getISOWeekYear} function options. 502 *//** 503 * @name getISOWeekYear 504 * @category ISO Week-Numbering Year Helpers 505 * @summary Get the ISO week-numbering year of the given date. 506 * 507 * @description 508 * Get the ISO week-numbering year of the given date, 509 * which always starts 3 days before the year's first Thursday. 510 * 511 * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date 512 * 513 * @param date - The given date 514 * 515 * @returns The ISO week-numbering year 516 * 517 * @example 518 * // Which ISO-week numbering year is 2 January 2005? 519 * const result = getISOWeekYear(new Date(2005, 0, 2)) 520 * //=> 2004 521 */function tC(t,e){const n=W(t,e?.in);const r=n.getFullYear();const o=D(n,0);o.setFullYear(r+1,0,4);o.setHours(0,0,0,0);const a=tE(o);const i=D(n,0);i.setFullYear(r,0,4);i.setHours(0,0,0,0);const s=tE(i);if(n.getTime()>=a.getTime()){return r+1}else if(n.getTime()>=s.getTime()){return r}else{return r-1}}// Fallback for modularized imports: 522/* export default */const tO=/* unused pure expression or super */null&&tC;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/startOfISOWeekYear.js 523/** 524 * The {@link startOfISOWeekYear} function options. 525 *//** 526 * @name startOfISOWeekYear 527 * @category ISO Week-Numbering Year Helpers 528 * @summary Return the start of an ISO week-numbering year for the given date. 529 * 530 * @description 531 * Return the start of an ISO week-numbering year, 532 * which always starts 3 days before the year's first Thursday. 533 * The result will be in the local timezone. 534 * 535 * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date 536 * 537 * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). 538 * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. 539 * 540 * @param date - The original date 541 * @param options - An object with options 542 * 543 * @returns The start of an ISO week-numbering year 544 * 545 * @example 546 * // The start of an ISO week-numbering year for 2 July 2005: 547 * const result = startOfISOWeekYear(new Date(2005, 6, 2)) 548 * //=> Mon Jan 03 2005 00:00:00 549 */function tY(t,e){const n=tC(t,e);const r=D(e?.in||t,0);r.setFullYear(n,0,4);r.setHours(0,0,0,0);return tE(r)}// Fallback for modularized imports: 550/* export default */const tj=/* unused pure expression or super */null&&tY;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/getISOWeek.js 551/** 552 * The {@link getISOWeek} function options. 553 *//** 554 * @name getISOWeek 555 * @category ISO Week Helpers 556 * @summary Get the ISO week of the given date. 557 * 558 * @description 559 * Get the ISO week of the given date. 560 * 561 * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date 562 * 563 * @param date - The given date 564 * @param options - The options 565 * 566 * @returns The ISO week 567 * 568 * @example 569 * // Which week of the ISO-week numbering year is 2 January 2005? 570 * const result = getISOWeek(new Date(2005, 0, 2)) 571 * //=> 53 572 */function tF(t,e){const n=W(t,e?.in);const r=+tE(n)-+tY(n);// Round the number of weeks to the nearest integer because the number of 573// milliseconds in a week is not constant (e.g. it's different in the week of 574// the daylight saving time clock shift). 575return Math.round(r/s)+1}// Fallback for modularized imports: 576/* export default */const tH=/* unused pure expression or super */null&&tF;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/getWeekYear.js 577/** 578 * The {@link getWeekYear} function options. 579 *//** 580 * @name getWeekYear 581 * @category Week-Numbering Year Helpers 582 * @summary Get the local week-numbering year of the given date. 583 * 584 * @description 585 * Get the local week-numbering year of the given date. 586 * The exact calculation depends on the values of 587 * `options.weekStartsOn` (which is the index of the first day of the week) 588 * and `options.firstWeekContainsDate` (which is the day of January, which is always in 589 * the first week of the week-numbering year) 590 * 591 * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system 592 * 593 * @param date - The given date 594 * @param options - An object with options. 595 * 596 * @returns The local week-numbering year 597 * 598 * @example 599 * // Which week numbering year is 26 December 2004 with the default settings? 600 * const result = getWeekYear(new Date(2004, 11, 26)) 601 * //=> 2005 602 * 603 * @example 604 * // Which week numbering year is 26 December 2004 if week starts on Saturday? 605 * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 }) 606 * //=> 2004 607 * 608 * @example 609 * // Which week numbering year is 26 December 2004 if the first week contains 4 January? 610 * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 }) 611 * //=> 2004 612 */function tA(t,e){const n=W(t,e?.in);const r=n.getFullYear();const o=tv();const a=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1;const i=D(e?.in||t,0);i.setFullYear(r+1,0,a);i.setHours(0,0,0,0);const s=tW(i,e);const c=D(e?.in||t,0);c.setFullYear(r,0,a);c.setHours(0,0,0,0);const u=tW(c,e);if(+n>=+s){return r+1}else if(+n>=+u){return r}else{return r-1}}// Fallback for modularized imports: 613/* export default */const tz=/* unused pure expression or super */null&&tA;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/startOfWeekYear.js 614/** 615 * The {@link startOfWeekYear} function options. 616 *//** 617 * @name startOfWeekYear 618 * @category Week-Numbering Year Helpers 619 * @summary Return the start of a local week-numbering year for the given date. 620 * 621 * @description 622 * Return the start of a local week-numbering year. 623 * The exact calculation depends on the values of 624 * `options.weekStartsOn` (which is the index of the first day of the week) 625 * and `options.firstWeekContainsDate` (which is the day of January, which is always in 626 * the first week of the week-numbering year) 627 * 628 * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system 629 * 630 * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). 631 * @typeParam ResultDate - The result `Date` type. 632 * 633 * @param date - The original date 634 * @param options - An object with options 635 * 636 * @returns The start of a week-numbering year 637 * 638 * @example 639 * // The start of an a week-numbering year for 2 July 2005 with default settings: 640 * const result = startOfWeekYear(new Date(2005, 6, 2)) 641 * //=> Sun Dec 26 2004 00:00:00 642 * 643 * @example 644 * // The start of a week-numbering year for 2 July 2005 645 * // if Monday is the first day of week 646 * // and 4 January is always in the first week of the year: 647 * const result = startOfWeekYear(new Date(2005, 6, 2), {
648 * weekStartsOn: 1, 649 * firstWeekContainsDate: 4 650 * }) 651 * //=> Mon Jan 03 2005 00:00:00 652 */function tN(t,e){const n=tv();const r=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1;const o=tA(t,e);const a=D(e?.in||t,0);a.setFullYear(o,0,r);a.setHours(0,0,0,0);const i=tW(a,e);return i}// Fallback for modularized imports: 653/* export default */const tQ=/* unused pure expression or super */null&&tN;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/getWeek.js 654/** 655 * The {@link getWeek} function options. 656 *//** 657 * @name getWeek 658 * @category Week Helpers 659 * @summary Get the local week index of the given date. 660 * 661 * @description 662 * Get the local week index of the given date. 663 * The exact calculation depends on the values of 664 * `options.weekStartsOn` (which is the index of the first day of the week) 665 * and `options.firstWeekContainsDate` (which is the day of January, which is always in 666 * the first week of the week-numbering year) 667 * 668 * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system 669 * 670 * @param date - The given date 671 * @param options - An object with options 672 * 673 * @returns The week 674 * 675 * @example 676 * // Which week of the local week numbering year is 2 January 2005 with default options? 677 * const result = getWeek(new Date(2005, 0, 2)) 678 * //=> 2 679 * 680 * @example 681 * // Which week of the local week numbering year is 2 January 2005, 682 * // if Monday is the first day of the week, 683 * // and the first week of the year always contains 4 January? 684 * const result = getWeek(new Date(2005, 0, 2), { 685 * weekStartsOn: 1, 686 * firstWeekContainsDate: 4 687 * }) 688 * //=> 53 689 */function tB(t,e){const n=W(t,e?.in);const r=+tW(n,e)-+tN(n,e);// Round the number of weeks to the nearest integer because the number of 690// milliseconds in a week is not constant (e.g. it's different in the week of 691// the daylight saving time clock shift). 692return Math.round(r/s)+1}// Fallback for modularized imports: 693/* export default */const tX=/* unused pure expression or super */null&&tB;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/_lib/addLeadingZeros.js 694function tG(t,e){const n=t<0?"-":"";const r=Math.abs(t).toString().padStart(e,"0");return n+r};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/_lib/format/lightFormatters.js 695/* 696 * | | Unit | | Unit | 697 * |-----|--------------------------------|-----|--------------------------------| 698 * | a | AM, PM | A* | | 699 * | d | Day of month | D | | 700 * | h | Hour [1-12] | H | Hour [0-23] | 701 * | m | Minute | M | Month | 702 * | s | Second | S | Fraction of second | 703 * | y | Year (abs) | Y | | 704 * 705 * Letters marked by * are not implemented but reserved by Unicode standard. 706 */const tI={// Year 707y(t,e){// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens 708// | Year | y | yy | yyy | yyyy | yyyyy | 709// |----------|-------|----|-------|-------|-------| 710// | AD 1 | 1 | 01 | 001 | 0001 | 00001 | 711// | AD 12 | 12 | 12 | 012 | 0012 | 00012 | 712// | AD 123 | 123 | 23 | 123 | 0123 | 00123 | 713// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 | 714// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 | 715const n=t.getFullYear();// Returns 1 for 1 BC (which is year 0 in JavaScript) 716const r=n>0?n:1-n;return tG(e==="yy"?r%100:r,e.length)},// Month 717M(t,e){const n=t.getMonth();return e==="M"?String(n+1):tG(n+1,2)},// Day of the month 718d(t,e){return tG(t.getDate(),e.length)},// AM or PM 719a(t,e){const n=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},// Hour [1-12] 720h(t,e){return tG(t.getHours()%12||12,e.length)},// Hour [0-23] 721H(t,e){return tG(t.getHours(),e.length)},// Minute 722m(t,e){return tG(t.getMinutes(),e.length)},// Second 723s(t,e){return tG(t.getSeconds(),e.length)},// Fraction of second 724S(t,e){const n=e.length;const r=t.getMilliseconds();const o=Math.trunc(r*Math.pow(10,n-3));return tG(o,e.length)}};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/_lib/format/formatters.js 725const t$={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"};/* 726 * | | Unit | | Unit | 727 * |-----|--------------------------------|-----|--------------------------------| 728 * | a | AM, PM | A* | Milliseconds in day | 729 * | b | AM, PM, noon, midnight | B | Flexible day period | 730 * | c | Stand-alone local day of week | C* | Localized hour w/ day period | 731 * | d | Day of month | D | Day of year | 732 * | e | Local day of week | E | Day of week | 733 * | f | | F* | Day of week in month | 734 * | g* | Modified Julian day | G | Era | 735 * | h | Hour [1-12] | H | Hour [0-23] | 736 * | i! | ISO day of week | I! | ISO week of year | 737 * | j* | Localized hour w/ day period | J* | Localized hour w/o day period | 738 * | k | Hour [1-24] | K | Hour [0-11] | 739 * | l* | (deprecated) | L | Stand-alone month | 740 * | m | Minute | M | Month | 741 * | n | | N | | 742 * | o! | Ordinal number modifier | O | Timezone (GMT) | 743 * | p! | Long localized time | P! | Long localized date | 744 * | q | Stand-alone quarter | Q | Quarter | 745 * | r* | Related Gregorian year | R! | ISO week-numbering year | 746 * | s | Second | S | Fraction of second | 747 * | t! | Seconds timestamp | T! | Milliseconds timestamp | 748 * | u | Extended year | U* | Cyclic year | 749 * | v* | Timezone (generic non-locat.) | V* | Timezone (location) | 750 * | w | Local week of year | W* | Week of month | 751 * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) | 752 * | y | Year (abs) | Y | Local week-numbering year | 753 * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) | 754 * 755 * Letters marked by * are not implemented but reserved by Unicode standard. 756 * 757 * Letters marked by ! are non-standard, but implemented by date-fns: 758 * - `o` modifies the previous token to turn it into an ordinal (see `format` docs) 759 * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days, 760 * i.e. 7 for Sunday, 1 for Monday, etc. 761 * - `I` is ISO week of year, as opposed to `w` which is local week of year. 762 * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year. 763 * `R` is supposed to be used in conjunction with `I` and `i` 764 * for universal ISO week-numbering date, whereas 765 * `Y` is supposed to be used in conjunction with `w` and `e` 766 * for week-numbering date specific to the locale. 767 * - `P` is long localized date format 768 * - `p` is long localized time format 769 */const tJ={// Era 770G:function(t,e,n){const r=t.getFullYear()>0?1:0;switch(e){// AD, BC 771case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});// A, B 772case"GGGGG":return n.era(r,{width:"narrow"});// Anno Domini, Before Christ 773case"GGGG":default:return n.era(r,{width:"wide"})}},// Year 774y:function(t,e,n){// Ordinal number 775if(e==="yo"){const e=t.getFullYear();// Returns 1 for 1 BC (which is year 0 in JavaScript) 776const r=e>0?e:1-e;return n.ordinalNumber(r,{unit:"year"})}return tI.y(t,e)},// Local week-numbering year 777Y:function(t,e,n,r){const o=tA(t,r);// Returns 1 for 1 BC (which is year 0 in JavaScript) 778const a=o>0?o:1-o;// Two digit year 779if(e==="YY"){const t=a%100;return tG(t,2)}// Ordinal number 780if(e==="Yo"){return n.ordinalNumber(a,{unit:"year"})}// Padding 781return tG(a,e.length)},// ISO week-numbering year 782R:function(t,e){const n=tC(t);// Padding 783return tG(n,e.length)},// Extended year. This is a single number designating the year of this calendar system. 784// The main difference between `y` and `u` localizers are B.C. years: 785// | Year | `y` | `u` | 786// |------|-----|-----| 787// | AC 1 | 1 | 1 | 788// | BC 1 | 1 | 0 | 789// | BC 2 | 2 | -1 | 790// Also `yy` always returns the last two digits of a year, 791// while `uu` pads single digit years to 2 characters and returns other years unchanged. 792u:function(t,e){const n=t.getFullYear();return tG(n,e.length)},// Quarter 793Q:function(t,e,n){const r=Math.ceil((t.getMonth()+1)/3);switch(e){// 1, 2, 3, 4 794case"Q":return String(r);// 01, 02, 03, 04 795case"QQ":return tG(r,2);// 1st, 2nd, 3rd, 4th 796case"Qo":return n.ordinalNumber(r,{unit:"quarter"});// Q1, Q2, Q3, Q4 797case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});// 1, 2, 3, 4 (narrow quarter; could be not numerical) 798case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});// 1st quarter, 2nd quarter, ... 799case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},// Stand-alone quarter 800q:function(t,e,n){const r=Math.ceil((t.getMonth()+1)/3);switch(e){// 1, 2, 3, 4 801case"q":return String(r);// 01, 02, 03, 04 802case"qq":return tG(r,2);// 1st, 2nd, 3rd, 4th 803case"qo":return n.ordinalNumber(r,{unit:"quarter"});// Q1, Q2, Q3, Q4 804case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});// 1, 2, 3, 4 (narrow quarter; could be not numerical) 805case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});// 1st quarter, 2nd quarter, ... 806case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},// Month 807M:function(t,e,n){const r=t.getMonth();switch(e){case"M":case"MM":return tI.M(t,e);// 1st, 2nd, ..., 12th 808case"Mo":return n.ordinalNumber(r+1,{unit:"month"});// Jan, Feb, ..., Dec 809case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});// J, F, ..., D 810case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});// January, February, ..., December 811case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},// Stand-alone month 812L:function(t,e,n){const r=t.getMonth();switch(e){// 1, 2, ..., 12 813case"L":return String(r+1);// 01, 02, ..., 12 814case"LL":return tG(r+1,2);// 1st, 2nd, ..., 12th 815case"Lo":return n.ordinalNumber(r+1,{unit:"month"});// Jan, Feb, ..., Dec 816case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});// J, F, ..., D 817case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});// January, February, ..., December 818case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},// Local week of year 819w:function(t,e,n,r){const o=tB(t,r);if(e==="wo"){return n.ordinalNumber(o,{unit:"week"})}return tG(o,e.length)},// ISO week of year 820I:function(t,e,n){const r=tF(t);if(e==="Io"){return n.ordinalNumber(r,{unit:"week"})}return tG(r,e.length)},// Day of the month 821d:function(t,e,n){if(e==="do"){return n.ordinalNumber(t.getDate(),{unit:"date"})}return tI.d(t,e)},// Day of year 822D:function(t,e,n){const r=tD(t);if(e==="Do"){return n.ordinalNumber(r,{unit:"dayOfYear"})}return tG(r,e.length)},// Day of week 823E:function(t,e,n){const r=t.getDay();switch(e){// Tue 824case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});// T 825case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});// Tu 826case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});// Tuesday 827case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},// Local day of week 828e:function(t,e,n,r){const o=t.getDay();const a=(o-r.weekStartsOn+8)%7||7;switch(e){// Numerical value (Nth day of week with current locale or weekStartsOn) 829case"e":return String(a);// Padded numerical value 830case"ee":return tG(a,2);// 1st, 2nd, ..., 7th 831case"eo":return n.ordinalNumber(a,{unit:"day"});case"eee":return n.day(o,{width:"abbreviated",context:"formatting"});// T 832case"eeeee":return n.day(o,{width:"narrow",context:"formatting"});// Tu 833case"eeeeee":return n.day(o,{width:"short",context:"formatting"});// Tuesday 834case"eeee":default:return n.day(o,{width:"wide",context:"formatting"})}},// Stand-alone local day of week 835c:function(t,e,n,r){const o=t.getDay();const a=(o-r.weekStartsOn+8)%7||7;switch(e){// Numerical value (same as in `e`) 836case"c":return String(a);// Padded numerical value 837case"cc":return tG(a,e.length);// 1st, 2nd, ..., 7th 838case"co":return n.ordinalNumber(a,{unit:"day"});case"ccc":return n.day(o,{width:"abbreviated",context:"standalone"});// T 839case"ccccc":return n.day(o,{width:"narrow",context:"standalone"});// Tu 840case"cccccc":return n.day(o,{width:"short",context:"standalone"});// Tuesday 841case"cccc":default:return n.day(o,{width:"wide",context:"standalone"})}},// ISO day of week 842i:function(t,e,n){const r=t.getDay();const o=r===0?7:r;switch(e){// 2 843case"i":return String(o);// 02 844case"ii":return tG(o,e.length);// 2nd 845case"io":return n.ordinalNumber(o,{unit:"day"});// Tue 846case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});// T 847case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});// Tu 848case"iiiiii":return n.day(r,{width:"short",context:"formatting"});// Tuesday 849case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},// AM or PM 850a:function(t,e,n){const r=t.getHours();const o=r/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(o,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},// AM, PM, midnight, noon 851b:function(t,e,n){const r=t.getHours();let o;if(r===12){o=t$.noon}else if(r===0){o=t$.midnight}else{o=r/12>=1?"pm":"am"}
851switch(e){case"b":case"bb":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(o,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},// in the morning, in the afternoon, in the evening, at night 852B:function(t,e,n){const r=t.getHours();let o;if(r>=17){o=t$.evening}else if(r>=12){o=t$.afternoon}else if(r>=4){o=t$.morning}else{o=t$.night}switch(e){case"B":case"BB":case"BBB":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(o,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},// Hour [1-12] 853h:function(t,e,n){if(e==="ho"){let e=t.getHours()%12;if(e===0)e=12;return n.ordinalNumber(e,{unit:"hour"})}return tI.h(t,e)},// Hour [0-23] 854H:function(t,e,n){if(e==="Ho"){return n.ordinalNumber(t.getHours(),{unit:"hour"})}return tI.H(t,e)},// Hour [0-11] 855K:function(t,e,n){const r=t.getHours()%12;if(e==="Ko"){return n.ordinalNumber(r,{unit:"hour"})}return tG(r,e.length)},// Hour [1-24] 856k:function(t,e,n){let r=t.getHours();if(r===0)r=24;if(e==="ko"){return n.ordinalNumber(r,{unit:"hour"})}return tG(r,e.length)},// Minute 857m:function(t,e,n){if(e==="mo"){return n.ordinalNumber(t.getMinutes(),{unit:"minute"})}return tI.m(t,e)},// Second 858s:function(t,e,n){if(e==="so"){return n.ordinalNumber(t.getSeconds(),{unit:"second"})}return tI.s(t,e)},// Fraction of second 859S:function(t,e){return tI.S(t,e)},// Timezone (ISO-8601. If offset is 0, output is always `'Z'`) 860X:function(t,e,n){const r=t.getTimezoneOffset();if(r===0){return"Z"}switch(e){// Hours and optional minutes 861case"X":return tU(r);// Hours, minutes and optional seconds without `:` delimiter 862// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets 863// so this token always has the same output as `XX` 864case"XXXX":case"XX":return tZ(r);// Hours, minutes and optional seconds with `:` delimiter 865// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets 866// so this token always has the same output as `XXX` 867case"XXXXX":case"XXX":default:return tZ(r,":")}},// Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent) 868x:function(t,e,n){const r=t.getTimezoneOffset();switch(e){// Hours and optional minutes 869case"x":return tU(r);// Hours, minutes and optional seconds without `:` delimiter 870// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets 871// so this token always has the same output as `xx` 872case"xxxx":case"xx":return tZ(r);// Hours, minutes and optional seconds with `:` delimiter 873// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets 874// so this token always has the same output as `xxx` 875case"xxxxx":case"xxx":default:return tZ(r,":")}},// Timezone (GMT) 876O:function(t,e,n){const r=t.getTimezoneOffset();switch(e){// Short 877case"O":case"OO":case"OOO":return"GMT"+tR(r,":");// Long 878case"OOOO":default:return"GMT"+tZ(r,":")}},// Timezone (specific non-location) 879z:function(t,e,n){const r=t.getTimezoneOffset();switch(e){// Short 880case"z":case"zz":case"zzz":return"GMT"+tR(r,":");// Long
881case"zzzz":default:return"GMT"+tZ(r,":")}},// Seconds timestamp 882t:function(t,e,n){const r=Math.trunc(+t/1e3);return tG(r,e.length)},// Milliseconds timestamp 883T:function(t,e,n){return tG(+t,e.length)}};function tR(t,e=""){const n=t>0?"-":"+";const r=Math.abs(t);const o=Math.trunc(r/60);const a=r%60;if(a===0){return n+String(o)}return n+String(o)+e+tG(a,2)}function tU(t,e){if(t%60===0){const e=t>0?"-":"+";return e+tG(Math.abs(t)/60,2)}return tZ(t,e)}function tZ(t,e=""){const n=t>0?"-":"+";const r=Math.abs(t);const o=tG(Math.trunc(r/60),2);const a=tG(r%60,2);return n+o+e+a};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/_lib/format/longFormatters.js 884const tV=(t,e)=>{switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}};const tK=(t,e)=>{switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}};const t0=(t,e)=>{const n=t.match(/(P+)(p+)?/)||[];const r=n[1];const o=n[2];if(!o){return tV(t,e)}let a;switch(r){case"P":a=e.dateTime({width:"short"});break;case"PP":a=e.dateTime({width:"medium"});break;case"PPP":a=e.dateTime({width:"long"});break;case"PPPP":default:a=e.dateTime({width:"full"});break}return a.replace("{{date}}",tV(r,e)).replace("{{time}}",tK(o,e))};const t1={p:tK,P:t0};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/_lib/protectedTokens.js 885const t2=/^D+$/;const t3=/^Y+$/;const t6=["D","DD","YY","YYYY"];function t4(t){return t2.test(t)}function t5(t){return t3.test(t)}function t8(t,e,n){const r=t9(t,e,n);console.warn(r);if(t6.includes(t))throw new RangeError(r)}function t9(t,e,n){const r=t[0]==="Y"?"years":"days of the month";return`Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`};// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/isDate.js 886/** 887 * @name isDate 888 * @category Common Helpers 889 * @summary Is the given value a date? 890 * 891 * @description 892 * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes. 893 * 894 * @param value - The value to check 895 * 896 * @returns True if the given value is a date 897 * 898 * @example 899 * // For a valid date: 900 * const result = isDate(new Date()) 901 * //=> true 902 * 903 * @example 904 * // For an invalid date: 905 * const result = isDate(new Date(NaN)) 906 * //=> true 907 * 908 * @example 909 * // For some value: 910 * const result = isDate('2014-02-31') 911 * //=> false 912 * 913 * @example 914 * // For an object: 915 * const result = isDate({}) 916 * //=> false 917 */function t7(t){return t instanceof Date||typeof t==="object"&&Object.prototype.toString.call(t)==="[object Date]"}// Fallback for modularized imports: 918/* export default */const et=/* unused pure expression or super */null&&t7;// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/isValid.js 919/** 920 * @name isValid 921 * @category Common Helpers 922 * @summary Is the given date valid? 923 * 924 * @description 925 * Returns false if argument is Invalid Date and true otherwise. 926 * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate) 927 * Invalid Date is a Date, whose time value is NaN. 928 * 929 * Time value of Date: http://es5.github.io/#x15.9.1.1 930 * 931 * @param date - The date to check 932 * 933 * @returns The date is valid 934 * 935 * @example 936 * // For the valid date: 937 * const result = isValid(new Date(2014, 1, 31)) 938 * //=> true 939 * 940 * @example 941 * // For the value, convertible into a date: 942 * const result = isValid(1393804800000) 943 * //=> true 944 * 945 * @example 946 * // For the invalid date: 947 * const result = isValid(new Date('')) 948 * //=> false 949 */function ee(t){return!(!t7(t)&&typeof t!=="number"||isNaN(+W(t)))}// Fallback for modularized imports: 950/* export default */const en=/* unused pure expression or super */null&ⅇ// CONCATENATED MODULE: ./node_modules/.pnpm/[email protected]/node_modules/date-fns/format.js 951// Rexports of internal for libraries to use. 952// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874 953// This RegExp consists of three parts separated by `|`: 954// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token 955// (one of the certain letters followed by `o`) 956// - (\w)\1* matches any sequences of the same letter 957// - '' matches two quote characters in a row 958// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('), 959// except a single quote symbol, which ends the sequence. 960// Two quote characters do not end the sequence. 961// If there is no matching single quote
962// then the sequence will continue until the end of the string. 963// - . matches any single character unmatched by previous parts of the RegExps 964const er=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g;// This RegExp catches symbols escaped by quotes, and also 965// sequences of symbols P, p, and the combinations like `PPPPPPPppppp` 966const eo=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;const ea=/^'([^]*?)'?$/;const ei=/''/g;const es=/[a-zA-Z]/;/** 967 * The {@link format} function options. 968 */
vendor: 20,270 bytes, lines 968-1251
968/** 969 * @name format 970 * @alias formatDate 971 * @category Common Helpers 972 * @summary Format the date. 973 * 974 * @description 975 * Return the formatted date string in the given format. The result may vary by locale. 976 * 977 * > â ï¸ Please note that the `format` tokens differ from Moment.js and other libraries. 978 * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md 979 * 980 * The characters wrapped between two single quotes characters (') are escaped. 981 * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote. 982 * (see the last example) 983 * 984 * Format of the string is based on Unicode Technical Standard #35: 985 * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table 986 * with a few additions (see note 7 below the table). 987 * 988 * Accepted patterns: 989 * | Unit | Pattern | Result examples | Notes | 990 * |---------------------------------|---------|-----------------------------------|-------| 991 * | Era | G..GGG | AD, BC | | 992 * | | GGGG | Anno Domini, Before Christ | 2 | 993 * | | GGGGG | A, B | | 994 * | Calendar year | y | 44, 1, 1900, 2017 | 5 | 995 * | | yo | 44th, 1st, 0th, 17th | 5,7 | 996 * | | yy | 44, 01, 00, 17 | 5 | 997 * | | yyy | 044, 001, 1900, 2017 | 5 | 998 * | | yyyy | 0044, 0001, 1900, 2017 | 5 | 999 * | | yyyyy | ... | 3,5 | 1000 * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 | 1001 * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 | 1002 * | | YY | 44, 01, 00, 17 | 5,8 | 1003 * | | YYY | 044, 001, 1900, 2017 | 5 | 1004 * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 | 1005 * | | YYYYY | ... | 3,5 | 1006 * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 | 1007 * | | RR | -43, 00, 01, 1900, 2017 | 5,7 | 1008 * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 | 1009 * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 | 1010 * | | RRRRR | ... | 3,5,7 | 1011 * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 | 1012 * | | uu | -43, 01, 1900, 2017 | 5 | 1013 * | | uuu | -043, 001, 1900, 2017 | 5 | 1014 * | | uuuu | -0043, 0001, 1900, 2017 | 5 | 1015 * | | uuuuu | ... | 3,5 | 1016 * | Quarter (formatting) | Q | 1, 2, 3, 4 | | 1017 * | | Qo | 1st, 2nd, 3rd, 4th | 7 | 1018 * | | QQ | 01, 02, 03, 04 | | 1019 * | | QQQ | Q1, Q2, Q3, Q4 | | 1020 * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 | 1021 * | | QQQQQ | 1, 2, 3, 4 | 4 | 1022 * | Quarter (stand-alone) | q | 1, 2, 3, 4 | | 1023 * | | qo | 1st, 2nd, 3rd, 4th | 7 | 1024 * | | qq | 01, 02, 03, 04 | | 1025 * | | qqq | Q1, Q2, Q3, Q4 | | 1026 * | | qqqq | 1st quarter, 2nd quarter, ... | 2 | 1027 * | | qqqqq | 1, 2, 3, 4 | 4 | 1028 * | Month (formatting) | M | 1, 2, ..., 12 | | 1029 * | | Mo | 1st, 2nd, ..., 12th | 7 | 1030 * | | MM | 01, 02, ..., 12 | | 1031 * | | MMM | Jan, Feb, ..., Dec | | 1032 * | | MMMM | January, February, ..., December | 2 | 1033 * | | MMMMM | J, F, ..., D | | 1034 * | Month (stand-alone) | L | 1, 2, ..., 12 | | 1035 * | | Lo | 1st, 2nd, ..., 12th | 7 | 1036 * | | LL | 01, 02, ..., 12 | | 1037 * | | LLL | Jan, Feb, ..., Dec | | 1038 * | | LLLL | January, February, ..., December | 2 | 1039 * | | LLLLL | J, F, ..., D | | 1040 * | Local week of year | w | 1, 2, ..., 53 | | 1041 * | | wo | 1st, 2nd, ..., 53th | 7 | 1042 * | | ww | 01, 02, ..., 53 | | 1043 * | ISO week of year | I | 1, 2, ..., 53 | 7 | 1044 * | | Io | 1st, 2nd, ..., 53th | 7 | 1045 * | | II | 01, 02, ..., 53 | 7 | 1046 * | Day of month | d | 1, 2, ..., 31 | | 1047 * | | do | 1st, 2nd, ..., 31st | 7 | 1048 * | | dd | 01, 02, ..., 31 | | 1049 * | Day of year | D | 1, 2, ..., 365, 366 | 9 | 1050 * | | Do | 1st, 2nd, ..., 365th, 366th | 7 | 1051 * | | DD | 01, 02, ..., 365, 366 | 9 | 1052 * | | DDD | 001, 002, ..., 365, 366 | | 1053 * | | DDDD | ... | 3 | 1054 * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | | 1055 * | | EEEE | Monday, Tuesday, ..., Sunday | 2 | 1056 * | | EEEEE | M, T, W, T, F, S, S | | 1057 * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | | 1058 * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 | 1059 * | | io | 1st, 2nd, ..., 7th | 7 | 1060 * | | ii | 01, 02, ..., 07 | 7 | 1061 * | | iii | Mon, Tue, Wed, ..., Sun | 7 | 1062 * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 | 1063 * | | iiiii | M, T, W, T, F, S, S | 7 | 1064 * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 | 1065 * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | | 1066 * | | eo | 2nd, 3rd, ..., 1st | 7 | 1067 * | | ee | 02, 03, ..., 01 | | 1068 * | | eee | Mon, Tue, Wed, ..., Sun | | 1069 * | | eeee | Monday, Tuesday, ..., Sunday | 2 | 1070 * | | eeeee | M, T, W, T, F, S, S | | 1071 * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | | 1072 * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | | 1073 * | | co | 2nd, 3rd, ..., 1st | 7 | 1074 * | | cc | 02, 03, ..., 01 | | 1075 * | | ccc | Mon, Tue, Wed, ..., Sun | | 1076 * | | cccc | Monday, Tuesday, ..., Sunday | 2 | 1077 * | | ccccc | M, T, W, T, F, S, S | | 1078 * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | | 1079 * | AM, PM | a..aa | AM, PM | | 1080 * | | aaa | am, pm | | 1081 * | | aaaa | a.m., p.m. | 2 | 1082 * | | aaaaa | a, p | | 1083 * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | | 1084 * | | bbb | am, pm, noon, midnight | | 1085 * | | bbbb | a.m., p.m., noon, midnight | 2 | 1086 * | | bbbbb | a, p, n, mi | | 1087 * | Flexible day period | B..BBB | at night, in the morning, ... | | 1088 * | | BBBB | at night, in the morning, ... | 2 | 1089 * | | BBBBB | at night, in the morning, ... | | 1090 * | Hour [1-12] | h | 1, 2, ..., 11, 12 | | 1091 * | | ho | 1st, 2nd, ..., 11th, 12th | 7 | 1092 * | | hh | 01, 02, ..., 11, 12 | | 1093 * | Hour [0-23] | H | 0, 1, 2, ..., 23 | | 1094 * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 | 1095 * | | HH | 00, 01, 02, ..., 23 | | 1096 * | Hour [0-11] | K | 1, 2, ..., 11, 0 | | 1097 * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 | 1098 * | | KK | 01, 02, ..., 11, 00 | | 1099 * | Hour [1-24] | k | 24, 1, 2, ..., 23 | | 1100 * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 | 1101 * | | kk | 24, 01, 02, ..., 23 | | 1102 * | Minute | m | 0, 1, ..., 59 | | 1103 * | | mo | 0th, 1st, ..., 59th | 7 | 1104 * | | mm | 00, 01, ..., 59 | | 1105 * | Second | s | 0, 1, ..., 59 | | 1106 * | | so | 0th, 1st, ..., 59th | 7 | 1107 * | | ss | 00, 01, ..., 59 | | 1108 * | Fraction of second | S | 0, 1, ..., 9 | | 1109 * | | SS | 00, 01, ..., 99 | | 1110 * | | SSS | 000, 001, ..., 999 | | 1111 * | | SSSS | ... | 3 | 1112 * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | | 1113 * | | XX | -0800, +0530, Z | | 1114 * | | XXX | -08:00, +05:30, Z | | 1115 * | | XXXX | -0800, +0530, Z, +123456 | 2 | 1116 * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | | 1117 * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | | 1118 * | | xx | -0800, +0530, +0000 | | 1119 * | | xxx | -08:00, +05:30, +00:00 | 2 | 1120 * | | xxxx | -0800, +0530, +0000, +123456 | | 1121 * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | | 1122 * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | | 1123 * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 | 1124 * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 | 1125 * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 | 1126 * | Seconds timestamp | t | 512969520 | 7 | 1127 * | | tt | ... | 3,7 | 1128 * | Milliseconds timestamp | T | 512969520900 | 7 | 1129 * | | TT | ... | 3,7 | 1130 * | Long localized date | P | 04/29/1453 | 7 | 1131 * | | PP | Apr 29, 1453 | 7 | 1132 * | | PPP | April 29th, 1453 | 7 | 1133 * | | PPPP | Friday, April 29th, 1453 | 2,7 | 1134 * | Long localized time | p | 12:00 AM | 7 | 1135 * | | pp | 12:00:00 AM | 7 | 1136 * | | ppp | 12:00:00 AM GMT+2 | 7 | 1137 * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 | 1138 * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 | 1139 * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 | 1140 * | | PPPppp | April 29th, 1453 at ... | 7 | 1141 * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 | 1142 * Notes: 1143 * 1. "Formatting" units (e.g. formatting quarter) in the default en-US locale 1144 * are the same as "stand-alone" units, but are different in some languages. 1145 * "Formatting" units are declined according to the rules of the language 1146 * in the context of a date. "Stand-alone" units are always nominative singular: 1147 * 1148 * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'` 1149 * 1150 * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'` 1151 * 1152 * 2. Any sequence of the identical letters is a pattern, unless it is escaped by 1153 * the single quote characters (see below). 1154 * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`) 1155 * the output will be the same as default pattern for this unit, usually 1156 * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units 1157 * are marked with "2" in the last column of the table. 1158 * 1159 * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'` 1160 * 1161 * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'` 1162 * 1163 * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'` 1164 * 1165 * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'` 1166 * 1167 * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'` 1168 * 1169 * 3. Some patterns could be unlimited length (such as `yyyyyyyy`). 1170 * The output will be padded with zeros to match the length of the pattern. 1171 * 1172 * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'` 1173 * 1174 * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales. 1175 * These tokens represent the shortest form of the quarter. 1176 * 1177 * 5. The main difference between `y` and `u` patterns are B.C. years: 1178 * 1179 * | Year | `y` | `u` | 1180 * |------|-----|-----| 1181 * | AC 1 | 1 | 1 | 1182 * | BC 1 | 1 | 0 | 1183 * | BC 2 | 2 | -1 | 1184 * 1185 * Also `yy` always returns the last two digits of a year, 1186 * while `uu` pads single digit years to 2 characters and returns other years unchanged: 1187 * 1188 * | Year | `yy` | `uu` | 1189 * |------|------|------| 1190 * | 1 | 01 | 01 | 1191 * | 14 | 14 | 14 | 1192 * | 376 | 76 | 376 | 1193 * | 1453 | 53 | 1453 | 1194 * 1195 * The same difference is true for local and ISO week-numbering years (`Y` and `R`), 1196 * except local week-numbering years are dependent on `options.weekStartsOn` 1197 * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear) 1198 * and [getWeekYear](https://date-fns.org/docs/getWeekYear)). 1199 * 1200 * 6. Specific non-location timezones are currently unavailable in `date-fns`, 1201 * so right now these tokens fall back to GMT timezones. 1202 * 1203 * 7. These patterns are not in the Unicode Technical Standard #35: 1204 * - `i`: ISO day of week 1205 * - `I`: ISO week of year 1206 * - `R`: ISO week-numbering year 1207 * - `t`: seconds timestamp 1208 * - `T`: milliseconds timestamp 1209 * - `o`: ordinal number modifier 1210 * - `P`: long localized date 1211 * - `p`: long localized time 1212 * 1213 * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years. 1214 * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md 1215 * 1216 * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month. 1217 * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md 1218 * 1219 * @param date - The original date 1220 * @param format - The string of tokens 1221 * @param options - An object with options 1222 * 1223 * @returns The formatted date string 1224 * 1225 * @throws `date` must not be Invalid Date 1226 * @throws `options.locale` must contain `localize` property 1227 * @throws `options.locale` must contain `formatLong` property 1228 * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md 1229 * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md 1230 * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md 1231 * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md 1232 * @throws format string contains an unescaped latin alphabet character 1233 * 1234 * @example 1235 * // Represent 11 February 2014 in middle-endian format: 1236 * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy') 1237 * //=> '02/11/2014' 1238 * 1239 * @example 1240 * // Represent 2 July 2014 in Esperanto: 1241 * import { eoLocale } from 'date-fns/locale/eo' 1242 * const result = format(new Date(2014, 6, 2), "do 'de' MMMM yyyy", { 1243 * locale: eoLocale 1244 * }) 1245 * //=> '2-a de julio 2014' 1246 * 1247 * @example 1248 * // Escape string by single quote characters: 1249 * const result = format(new Date(2014, 6, 2, 15), "h 'o''clock'") 1250 * //=> "3 o'clock" 1251 */
1251function ec(t,e,n){const r=tv();const o=n?.locale??r.locale??tm;const a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1;const i=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0;const s=W(t,n?.in);if(!ee(s)){throw new RangeError("Invalid time value")}let c=e.match(eo).map(t=>{const e=t[0];if(e==="p"||e==="P"){const n=t1[e];return n(t,o.formatLong)}return t}).join("").match(er).map(t=>{// Replace two single quote characters with one single quote character 1252if(t==="''"){return{isToken:false,value:"'"}}const e=t[0];if(e==="'"){return{isToken:false,value:eu(t)}}if(tJ[e]){return{isToken:true,value:t}}if(e.match(es)){throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`")}return{isToken:false,value:t}});// invoke localize preprocessor (only for french locales at the moment) 1253if(o.localize.preprocessor){c=o.localize.preprocessor(s,c)}const u={firstWeekContainsDate:a,weekStartsOn:i,locale:o};return c.map(r=>{if(!r.isToken)return r.value;const a=r.value;if(!n?.useAdditionalWeekYearTokens&&t5(a)||!n?.useAdditionalDayOfYearTokens&&t4(a)){t8(a,e,String(t))}const i=tJ[a[0]];return i(s,a,o.localize,u)}).join("")}function eu(t){const e=t.match(ea);if(!e){return t}return e[1].replace(ei,"'")}// Fallback for modularized imports: 1254/* export default */const ed=/* unused pure expression or super */null&&ec;// CONCATENATED MODULE: ./assets/src/js/utils.js 1255/** 1256 * Converts a local date to GMT (Greenwich Mean Time). 1257 * 1258 * @param {Date} date - The local date to convert to GMT 1259 * @param {string} [dateFormat='yyyy-MM-dd HH:mm:ss'] - The format string for the output date 1260 * @returns {string} The formatted GMT date string 1261 * 1262 * @since v3.8.0 1263 */var el=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"yyyy-MM-dd HH:mm:ss";var n=t.getTimezoneOffset();var r=E(t,n);return ec(r,e)};/** 1264 * Converts a GMT date to local date based on the user's timezone. 1265 * 1266 * @param {string|Date} date - The GMT date to convert to local time 1267 * @returns {Date} The converted local date object 1268 * 1269 * @since v3.8.0 1270 */var ef=t=>{var e=new Date(t);var n=e.getTimezoneOffset();return addMinutes(e,-n)};/** 1271 * Validates if a string is a valid email address format. 1272 * 1273 * @param {string} email - The email string to validate 1274 * @returns {boolean} True if the email format is valid, false otherwise 1275 * 1276 * @since v3.8.1 1277 */var eh=t=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t);/** 1278 * Creates a FormData object from a data object and automatically adds security nonce. 1279 * 1280 * @param {Object} [data={}] - The data object to convert to FormData 1281 * @returns {FormData} A FormData object with the provided data and security nonce 1282 * 1283 * @example 1284 * const formData = tutorFormData({ 1285 * action: 'save_lesson_note', 1286 * lesson_id: 123, 1287 * note_text: 'My note content' 1288 * }); 1289 * 1290 * @since v3.9.0 1291 */function em(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var e=new FormData;Object.keys(t).forEach(n=>e.set(n,t[n]));e.set(window.tutor_get_nonce_data(true).key,window.tutor_get_nonce_data(true).value);return e}/** 1292 * Handles AJAX requests to the WordPress admin-ajax.php endpoint. 1293 * 1294 * @param {FormData} formData - The FormData object containing the request data 1295 * @returns {Promise<Response|undefined>} The fetch Response object, or undefined if an error occurs 1296 * 1297 * @example 1298 * const formData = tutorFormData({ action: 'get_lesson_data', lesson_id: 123 }); 1299 * const response = await ajaxHandler(formData); 1300 * const data = await response.json(); 1301 * 1302 * @since v3.9.0 1303 */function eg(t){return e(function*(){try{var e=yield fetch(window._tutorobject.ajaxurl,{method:"POST",body:t});return e}catch(t){tutor_toast(__("Operation failed","tutor-pro"),t,"error")}})()}var ew=(t,e)=>{var{__:n}=wp.i18n;var{data:r={}}=t||{};var{message:o=e||n("Something Went Wrong!","tutor-pro")}=r;return o};// CONCATENATED MODULE: ./assets/src/js/device-management.js 1304if(!window.tutor_toast){window.tutor_toast=function(t,e,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:true;if(!jQuery(".tutor-toast-parent").length){jQuery("body").append('<div class="tutor-toast-parent tutor-toast-right"></div>')}var o=n=="success"?"success":n=="error"?"danger":n=="warning"?"warning":"primary";var a=n=="success"?"tutor-icon-mark":n=="error"?"tutor-icon-times":"tutor-icon-circle-info-o";var i=e!==undefined&&e!==null&&e.trim()!=="";var s=jQuery('\n <div class="tutor-notification tutor-is-'.concat(o,' tutor-mb-16">\n <div class="tutor-notification-icon">\n <i class="').concat(a,'"></i>\n </div>\n <div class="tutor-notification-content">\n <h5>').concat(t,'</h5>\n <p class="').concat(!i?"tutor-d-none":"",'">').concat(e,'</p>\n </div>\n <button class="tutor-notification-close">\n <i class="fas fa-times"></i>\n </button>\n </div>\n '));s.find(".tutor-noti-close").click(function(){s.remove()});jQuery(".tutor-toast-parent").append(s);if(r){setTimeout(function(){if(s){s.fadeOut("fast",function(){jQuery(this).remove()})}},5e3)}}}document.addEventListener("DOMContentLoaded",function(){var{__}=wp.i18n;/** 1305 * Clear all active login sessions 1306 * From: Tutor login, 1307 * Tutor modal login 1308 * WP Native login 1309 * WooCommerce my-profile login 1310 */var t=document.querySelector(".tutor-login-form-wrapper, .tutor-login-modal, #login_error, .woocommerce-error");
1310if(t){t.onclick=n=>e(function*(){var e=n.target;var r=e;// If clear session btn clicked 1311 if(e.hasAttribute("id")&&e.getAttribute("id")==="tutor-remove-active-logins"){n.preventDefault();var o=document.getElementById("tutor-remove-logins-wrapper");var a=o.closest(".tutor-alert");if(!a){a=document.getElementById("login_error")}// For woocommerce my account login page. 1312 if(!a){a=document.querySelector("ul.woocommerce-error")}// Prepare form data. 1313 var i=em({action:"tutor_remove_all_active_logins"});try{// Show waiting indicator. 1314 o.innerHTML='<span class="tutor-color-subdued">'.concat(__("Please wait...","tutor-pro"),"</span>");var s=yield eg(i);var c=yield s.json();var{success:u,data:d}=c;if(u){// Show success message. 1315 if(a.classList.contains("tutor-warning")){a.classList.remove("tutor-warning");a.classList.add("tutor-success")}if(a.hasAttribute("id")){a.style.borderLeftColor="#6eea98"}// For woocommerce my account login page. 1316 if(a.classList.contains("woocommerce-error")){a.classList.add("woocommerce-message")}a.innerHTML='<div class="tutor-alert-content tutor-d-flex tutor-align-start tutor-gap-1">\n <div class="tutor-alert-icon">\n <svg width="20" height="20" viewBox="0 0 24 24" fill="none" role="presentation" aria-hidden="true"><path d="M19.678 15.534c.226.36.337.774.32 1.194-.01.394-.119.78-.32 1.125-.204.34-.49.627-.835.837-.374.211-.802.318-1.235.31H6.41a2.419 2.419 0 0 1-1.232-.31 2.539 2.539 0 0 1-.858-.837 2.265 2.265 0 0 1 0-2.319L9.94 6.162c.203-.368.512-.672.89-.875a2.523 2.523 0 0 1 2.341 0c.385.2.701.504.91.875l5.598 9.372Zm-6.866-4.179c0-.213.023-.426.039-.643.015-.216.028-.436.041-.655 0-.077-.005-.153-.016-.229a.93.93 0 0 0-.064-.21.89.89 0 0 0-.429-.423.906.906 0 0 0-1.117.287.981.981 0 0 0-.188.59c0 .14.022.279.032.415.01.136.02.275.032.414.029.522.06 1.042.093 1.545.032.504.06 1.033.093 1.546a.615.615 0 0 0 .203.443.66.66 0 0 0 .468.175.66.66 0 0 0 .47-.18.657.657 0 0 0 .202-.454v-.618c.023-.33.042-.667.064-1.004.023-.337.058-.668.077-.999ZM12 16.922a.896.896 0 0 0 .618-.247.712.712 0 0 0 .26-.581.828.828 0 0 0-.248-.608.885.885 0 0 0-.62-.26.91.91 0 0 0-.63.238.854.854 0 0 0-.27.599c0 .228.095.446.261.608a.905.905 0 0 0 .63.251Z" fill="currentColor"></path></svg>\n </div>\n <div class="tutor-alert-text">'.concat(__("All of your active login sessions have been removed. You can login now.","tutor-pro"),"</div>\n </div>")}else{// Check if limit login error 1317 if(Array.isArray(d)){var l=d[0];if(l&&l.code==="tutor_login_limit"){t.insertAdjacentHTML("afterbegin",l.message);return}}tutor_toast(__("Failed","tutor-pro"),d,"error");o.innerHTML=r}}catch(t){console.log(t);tutor_toast(__("Something went wrong","tutor-pro"),__("Please try again after reloading page!","tutor-pro"),"error")}}})()}});// EXTERNAL MODULE: ./assets/src/js/download-invoice.js 1318var ev=n(34);// CONCATENATED MODULE: ./assets/src/js/front.js 1319/** 1320 * Frontend scripts 1321 * 1322 * @since v2.0.9 1323 *//* Sidebar sticky */var ey=false;window.addEventListener("DOMContentLoaded",()=>{var{__}=wp.i18n;var t=document.querySelector(".tutor-course-details-page");if(t){var n=document.querySelector(".tutor-single-course-sidebar");var r=n.hasAttribute("data-tutor-sticky-sidebar");if(r){var o=document.getElementsByTagName("header")[0];var a="".concat(o.offsetHeight,"px");var i=o.classList.value.includes("sticky");function s(){var t=window.scrollY;var e=200;var r=t>=e;var o=window.innerWidth>=1200;if(o){if(r){if(!ey){n.classList.add("tutor-sidebar-sticky");var s="max-height: 80vh; overflow-y: scroll; top: ".concat(i?a:"");n.setAttribute("style",s);n.scrollTop=0;ey=true}}else{n.classList.remove("tutor-sidebar-sticky");n.removeAttribute("style");ey=false}}}window.addEventListener("scroll",s)}}/** 1324 * Handle gift this course form submission. 1325 * 1326 * @since 3.8.0 1327 */var c=document.querySelector("#tutor-gift-this-course-form");var u=document.querySelectorAll(".tutor-gift-card-button");if(c){c.addEventListener("submit",function(t){return e(function*(){t.preventDefault();var e=__("Something went wrong, please try again","tutor-pro");var n=new FormData(t.target);n.set("action","tutor_pro_gift_proceed_to_checkout");n.set("datetime",el(new Date("".concat(n.get("gift_date")," ").concat(n.get("gift_time")))));n.set("notify_me",n.get("notify_me")==="on"?1:0);var r=c.querySelector("button[type=submit]");try{r.setAttribute("disabled",true);r.classList.add("is-loading");var o=yield eg(n);var{status_code:a,message:i,data:s}=yield o.json();if(a===200){if(s===null||s===void 0?void 0:s.url){window.location.href=s.url}else{tutor_toast(__("Failed","tutor-pro"),i||e,"error")}}else{tutor_toast(__("Failed","tutor-pro"),i||e,"error")}}catch(t){tutor_toast(__("Failed","tutor-pro"),e,"error")}finally{r.removeAttribute("disabled");r.classList.remove("is-loading")}})()})}u.forEach(t=>{t.addEventListener("click",t=>e(function*(){var e=t.target;var n=e.dataset.courseId;var r=e.dataset.referenceId;if(!n||!r){tutor_toast(__("Failed","tutor-pro"),__("Invalid gift, please try again","tutor-pro"),"error");return}try{e.classList.add("tutor-btn-loading");e.setAttribute("disabled",true);var o=new FormData;o.set("action","tutor_pro_gift_enrollment");o.set("course_id",n);o.set("reference_id",r);o.set(_tutorobject.nonce_key,_tutorobject._tutor_nonce);var a=yield eg(o);var i=yield a.json();var{status_code:s,message:c,data:u}=i;if(s===200){TutorCore.modal.showModal("tutor-greetings-popup-".concat(n));e.closest(".tutor-gift-course-card").remove()}else{tutor_toast(__("Failed","tutor-pro"),c||defaultErrorMessage,"error")}}catch(t){tutor_toast(__("Error","tutor-pro"),t,"error")}finally{e.classList.remove("tutor-btn-loading");e.removeAttribute("disabled")}})())});/** 1328 * Fix: YouTube poster issue 1329 * 1330 * @since 4.0.0 1331 */document.addEventListener("tutorPlayerReady",t=>{var{plyr:e}=t.detail;var n=t.target;if((e===null||e===void 0?void 0:e.provider)==="youtube"){var r;var o=n===null||n===void 0?void 0:(r=n.closest(".plyr--youtube.plyr__poster-enabled"))===null||r===void 0?void 0:r.querySelector(".plyr__poster");if(o){e.on("play",()=>o.style.opacity="0");e.on("ended",()=>o.style.opacity="1")}}})})})()})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.