diff --git a/cursorai/2025-12.md b/cursorai/2025-12.md
new file mode 100644
index 0000000..e69de29
diff --git a/cv/ideas.md b/cv/ideas.md
new file mode 100644
index 0000000..a5c7f14
--- /dev/null
+++ b/cv/ideas.md
@@ -0,0 +1,3 @@
+* Могу придумывать систему
+ Пример: задание оценить способность Cursor AI ускорить разработку
+
\ No newline at end of file
diff --git a/faith/2026-01-03_scale-and-sickness.md b/faith/2026-01-03_scale-and-sickness.md
new file mode 100644
index 0000000..2413189
--- /dev/null
+++ b/faith/2026-01-03_scale-and-sickness.md
@@ -0,0 +1,35 @@
+Title: Шкала и болезнь
+Date: 2026-01-03 11:40
+Slug: scale-and-sickness
+To: Саня Капелько
+
+Сегодня проснулись в 05:30, т.к. у Лёвы была рвота, приболел.
+
+Эта ситуация подсветила следующее: наши шкалы оценки мира не только разные,
+они ещё и динамические: постоянно меняются день ото дня. Например, сегодня
+прекрасно видно, что планка нормальности пролегает не в значении
+"Лёва слушается родителей". Планка нормальности пролегает в значении "Лёва не болеет".
+Потому что более всеобъемлющая шкала начинается от значения "Лёва болеет, планы на день обнуляются".
+
+Это классический пример известного выражения "Что имеем - не храним, потерявши - плачем".
+
+Другой пример шкалы: "одиночество" - начальное значение, "вместе" - конечное значение.
+Когда ты один, ты очень резко ощущаешь потребность во второй половинке, начальное положение
+в шкале. Но как только ты не один, ты сразу меняешь шкалу так, что она начинается
+от значения "вместе" до "я доволен половинкой касательно X, Y, Z". Легко заметить, что это
+разные шкалы. Причём вторая шкала требует ежедневной работы либо от половинки для
+соответствия твоим всё возврастающим требованиям, либо собственной работы над собой
+по смирению своей шкалы и благодарности за то, что ты не один.
+
+В этом смысле регулярное посещение Церкви может помочь в калибровке шкалы, т.к.
+вокруг будут люди в гораздо худшем состоянии. Например, условно, у кого-то
+может быть болезнь, аллергия, что угодно. И при регулярной встрече с проблемами
+других ты понимаешь, что шкала начинается даже не от значения "один", а ещё раньше:
+от значения "здоров".
+
+На мой взгляд, всеобъемлющая шкала начинается от значения "жив" и заканчивается в
+значении "мёртв". Очень сложно и одновременно очень полезно регулярно благодарить
+Бога за то, что жив. В этом огромная польза Веры - регулярно впоминать о временности
+себя и вечности Бога. Помогает калибровать шкалу в правильную сторону.
+
+
diff --git a/pskov.cfg b/pskov.cfg
index 48b64f4..28527bf 100644
--- a/pskov.cfg
+++ b/pskov.cfg
@@ -1,4 +1,4 @@
-input = schedules
+input = cursorai;cv;faith;rlink;schedules;vid
item = item.template
preview = preview.template
index = index.template
diff --git a/rlink/2025-12-25.md b/rlink/2025-12-25.md
new file mode 100644
index 0000000..97bdac1
--- /dev/null
+++ b/rlink/2025-12-25.md
@@ -0,0 +1,32 @@
+Title: Создать комбинацию rlink003 с новыми иконками
+URL: https://jira.iva.ru/browse/VCSMOB-13072
+Date: 2025-12-25
+
+* узнать последнюю публичную версию 22.x
+ 22.4
+* сделать заготовку комбинации rlink003
+ попробовать накатить на 22.4
+ причём можно сначала старые иконки
+ собирается
+ оставлю 22.4
+* заменить иконки
+ иконки в личке с Петей от 23.12 11:45
+* собрать на телефон
+* проверить на телефоне
+ √ иконка
+ √ название приложения
+ √ launch screen
+ √ экран хостов
+ √ настройки
+ √ иконка демонстрации
+* сделать сборку
+* выложить сборку
+* написать Пете
+* оформить ЗС
+ https://git.hi-tech.org/mobile/apple/combo/-/merge_requests/27
+ readme
+* сообщить о ЗС
+Сливаю ЗС с комбинацией брендирования РЛинк декабрьской иконкой: https://git.hi-tech.org/mobile/apple/combo/-/merge_requests/27
+√ 365, main, >=2
+* влить ЗС
+
diff --git a/rlink/2025-12-26.md b/rlink/2025-12-26.md
new file mode 100644
index 0000000..d5dd0c6
--- /dev/null
+++ b/rlink/2025-12-26.md
@@ -0,0 +1,7 @@
+Title: Оформить комбинацию rlink003 с новыми иконками
+URL: https://jira.iva.ru/browse/VCSMOB-13072
+Date: 2025-12-26
+
+* проверить доступность сборки на рабочем телефоне
+ доступно, устанавливается
+* дополнительно написать Пете по факту доступности сборки на телефоне
\ No newline at end of file
diff --git a/schedules/.html b/schedules/.html
deleted file mode 100644
index 29f5324..0000000
--- a/schedules/.html
+++ /dev/null
@@ -1 +0,0 @@
-Contents-N/A
\ No newline at end of file
diff --git a/schedules/2025-12-29_Напутствие-и-цели.md b/schedules/2025-12-29_Напутствие-и-цели.md
new file mode 100644
index 0000000..909d6b3
--- /dev/null
+++ b/schedules/2025-12-29_Напутствие-и-цели.md
@@ -0,0 +1,56 @@
+Title: Напутствие и цели на 2026
+Date: 2025-12-29
+Slug: eve26
+
+Краткая история команды iOS Connect за последние два года в разрезе воли и обстоятельств
+
+# 2024
+
+Открытое противостояние между командами iOS Connect и iOS One
+
+| Развилка | Действия | Почему |
+| --- | --- | --- |
+| Вариант 1 | Смириться и ничего не менять | Руководство наверху само не определилось, что оно хочет. Поэтому посидим и подождём, им там наверху виднее |
+| Вариант 2 | Смириться и бороться | Руководство наверху оперирует не интересами конкретной команды или её участника, а интересами бизнеса. Наверху есть лишь количество вливаемых ресурсов и количество выпускаемого продукта. Для устойчивости компании на рынке это соотношение должно быть лучше, чем у всех других компаний той же ниши. |
+| Мой выбор | Смириться и бороться | Пусть руководство делает ставку на One, т.е. обстоятельства небалгоприятные. Я посчитал, что если уж должна остаться одна команда, то стоит побороться за то, чтобы это была своя команда. Хуже не будет |
+| Итог | Колю, прошлого тимлида iOS One, уволили | Он хотел быть главным, хотел решать за других, не хотел договариваться не только с iOS Connect, но и другими командами |
+
+# 2025-й год
+
+Две попытки сократить команду iOS Connect: август и декабрь
+
+| Развилка | Действия | Почему |
+| --- | --- | --- |
+| Вариант 1 | Смириться и ничего не менять | Руководству наверху виднее, кто ему нужен или нет |
+| Вариант 2 | Смириться и бороться | Руководство наверху оперирует не интересами конкретной команды или её участника, а интересами бизнеса |
+| Мой выбор | Смириться и бороться | Если руководство хочет сократить кого-либо, пусть делает это самостоятельно, без моей помощи в виде подготовки претензий на человека. Ибо далее, как я предполагаю, на основе претензий составляют служебную записку для давления на сотрудника |
+| Итог | Нас по-прежнему десятеро, а в других командах произошли сокращения | Я посчитал, что испортить мои отношения с сотрудником HR для меня пробема меньшая, чем лишиться сотрудника здесь и сейчас |
+
+# 2026-й год
+
+* Скорее всего резкого улучшения финансовых показателей у компании ждать не стоит.
+* Конкурентов много, у конкурентов вроде МТС может быть тупо больше денег.
+* Возможно, перед компанией даже встанет выбор: оставлять проект One или Connect.
+* Наша задача не в том, чтобы смириться и ничего не менять.
+* Наша задача в том, чтобы смириться и бороться.
+
+Что значит бороться? Это значит нужно меняться и стать качественно лучше.
+
+Сейчас нашу успеваемость видит лишь Серёга Сухов. А должны увидить все:
+Петя Корнюшин, остальные тимлиды Connect, даже тимлиды One.
+
+Как мы этого добъёмся?
+
+Для этого мы очень хорошо должны подумать о целях на 2026-й год:
+* Что каждый из нас сможет для этого сделать?
+* Что нужно поменять в команде?
+* Что нужно поменять в технологиях?
+* Что нужно поменять в себе?
+
+Призываю каждого обдумать эти вопросы в предстоящие праздники и
+вернуться в следующем году c видением, как нам стать лучше.
+
+
+
+
+
diff --git a/schedules/eve26.html b/schedules/eve26.html
new file mode 100644
index 0000000..ae98fd5
--- /dev/null
+++ b/schedules/eve26.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+ Напутствие и цели на 2026
+
2025-12-29
+
+
Краткая история команды iOS Connect за последние два года в разрезе воли и обстоятельств
+
2024
+
Открытое противостояние между командами iOS Connect и iOS One
+
+
+
+
Развилка
+
Действия
+
Почему
+
+
+
+
+
Вариант 1
+
Смириться и ничего не менять
+
Руководство наверху само не определилось, что оно хочет. Поэтому посидим и подождём, им там наверху виднее
+
+
+
Вариант 2
+
Смириться и бороться
+
Руководство наверху оперирует не интересами конкретной команды или её участника, а интересами бизнеса. Наверху есть лишь количество вливаемых ресурсов и количество выпускаемого продукта. Для устойчивости компании на рынке это соотношение должно быть лучше, чем у всех других компаний той же ниши.
+
+
+
Мой выбор
+
Смириться и бороться
+
Пусть руководство делает ставку на One, т.е. обстоятельства небалгоприятные. Я посчитал, что если уж должна остаться одна команда, то стоит побороться за то, чтобы это была своя команда. Хуже не будет
+
+
+
Итог
+
Колю, прошлого тимлида iOS One, уволили
+
Он хотел быть главным, хотел решать за других, не хотел договариваться не только с iOS Connect, но и другими командами
+
+
+
+
2025-й год
+
Две попытки сократить команду iOS Connect: август и декабрь
+
+
+
+
Развилка
+
Действия
+
Почему
+
+
+
+
+
Вариант 1
+
Смириться и ничего не менять
+
Руководству наверху виднее, кто ему нужен или нет
+
+
+
Вариант 2
+
Смириться и бороться
+
Руководство наверху оперирует не интересами конкретной команды или её участника, а интересами бизнеса
+
+
+
Мой выбор
+
Смириться и бороться
+
Если руководство хочет сократить кого-либо, пусть делает это самостоятельно, без моей помощи в виде подготовки претензий на человека. Ибо далее, как я предполагаю, на основе претензий составляют служебную записку для давления на сотрудника
+
+
+
Итог
+
Нас по-прежнему десятеро, а в других командах произошли сокращения
+
Я посчитал, что испортить мои отношения с сотрудником HR для меня пробема меньшая, чем лишиться сотрудника здесь и сейчас
+
+
+
+
2026-й год
+
+
Скорее всего резкого улучшения финансовых показателей у компании ждать не стоит.
+
Конкурентов много, у конкурентов вроде МТС может быть тупо больше денег.
+
Возможно, перед компанией даже встанет выбор: оставлять проект One или Connect.
+
Наша задача не в том, чтобы смириться и ничего не менять.
+
Наша задача в том, чтобы смириться и бороться.
+
+
Что значит бороться? Это значит нужно меняться и стать качественно лучше.
+
Сейчас нашу успеваемость видит лишь Серёга Сухов. А должны увидить все:
+Петя Корнюшин, остальные тимлиды Connect, даже тимлиды One.
+
Как мы этого добъёмся?
+
Для этого мы очень хорошо должны подумать о целях на 2026-й год:
+
+
Что каждый из нас сможет для этого сделать?
+
Что нужно поменять в команде?
+
Что нужно поменять в технологиях?
+
Что нужно поменять в себе?
+
+
Призываю каждого обдумать эти вопросы в предстоящие праздники и
+вернуться в следующем году c видением, как нам стать лучше.
`))},async connected(){const t=S(h(this.$el,this.marginProp));await M.start(h(this.$el,this.startProps),{opacity:1,[this.marginProp]:t}),this.timeout&&(this.timer=setTimeout(this.close,this.timeout))},events:{click(t){Et(t),this.close()},[At](){this.timer&&clearTimeout(this.timer)},[Ut](){this.timeout&&(this.timer=setTimeout(this.close,this.timeout))}},methods:{async close(t){const e=i=>{const s=O(i);m(i,"close",[this]),Q(i),s!=null&&s.hasChildNodes()||Q(s)};this.timer&&clearTimeout(this.timer),t||await M.start(this.$el,this.startProps),e(this.$el)}}};function ol(t){t.notification.closeAll=function(e,i){Mt(document.body,s=>{const n=t.getComponent(s,"notification");n&&(!e||e===n.group)&&n.close(i)})}}var Pi={props:{media:Boolean},data:{media:!1},connected(){const t=rl(this.media,this.$el);if(this.matchMedia=!0,t){this.mediaObj=window.matchMedia(t);const e=()=>{this.matchMedia=this.mediaObj.matches,m(this.$el,pe("mediachange",!1,!0,[this.mediaObj]))};this.offMediaObj=w(this.mediaObj,"change",()=>{e(),this.$emit("resize")}),e()}},disconnected(){var t;(t=this.offMediaObj)==null||t.call(this)}};function rl(t,e){if(H(t)){if(wt(t,"@"))t=S(h(e,`--uk-breakpoint-${t.slice(1)}`));else if(isNaN(t))return t}return t&&mt(t)?`(min-width: ${t}px)`:""}function go(t){return q(t)?Math.ceil(Math.max(0,...D("[stroke]",t).map(e=>{var i;return((i=e.getTotalLength)==null?void 0:i.call(e))||0}))):0}const _i={x:Ai,y:Ai,rotate:Ai,scale:Ai,color:Ds,backgroundColor:Ds,borderColor:Ds,blur:te,hue:te,fopacity:te,grayscale:te,invert:te,saturate:te,sepia:te,opacity:ll,stroke:hl,bgx:bo,bgy:bo},{keys:mo}=Object;var vo={mixins:[Pi],props:ko(mo(_i),"list"),data:ko(mo(_i),void 0),computed:{props(t,e){const i={};for(const n in t)n in _i&&!X(t[n])&&(i[n]=t[n].slice());const s={};for(const n in i)s[n]=_i[n](n,e,i[n],i);return s}},events:{load(){this.$emit()}},methods:{reset(){St(this.$el,this.getCss(0))},getCss(t){const e={};for(const i in this.props)this.props[i](e,K(t));return e.willChange=Object.keys(e).map(di).join(","),e}}};function Ai(t,e,i){let s=Mi(i)||{x:"px",y:"px",rotate:"deg"}[t]||"",n;return t==="x"||t==="y"?(t=`translate${Ht(t)}`,n=o=>S(S(o).toFixed(s==="px"?0:6))):t==="scale"&&(s="",n=o=>{var r;return Mi([o])?G(o,"width",e,!0)/e[`offset${(r=o.endsWith)!=null&&r.call(o,"vh")?"Height":"Width"}`]:S(o)}),i.length===1&&i.unshift(t==="scale"?1:0),i=ye(i,n),(o,r)=>{o.transform=`${o.transform||""} ${t}(${Qe(i,r)}${s})`}}function Ds(t,e,i){return i.length===1&&i.unshift(ti(e,t,"")),i=ye(i,s=>al(e,s)),(s,n)=>{const[o,r,a]=yo(i,n),l=o.map((c,u)=>(c+=a*(r[u]-c),u===3?S(c):parseInt(c,10))).join(",");s[t]=`rgba(${l})`}}function al(t,e){return ti(t,"color",e).split(/[(),]/g).slice(1,-1).concat(1).slice(0,4).map(S)}function te(t,e,i){i.length===1&&i.unshift(0);const s=Mi(i)||{blur:"px",hue:"deg"}[t]||"%";return t={fopacity:"opacity",hue:"hue-rotate"}[t]||t,i=ye(i),(n,o)=>{const r=Qe(i,o);n.filter=`${n.filter||""} ${t}(${r+s})`}}function ll(t,e,i){return i.length===1&&i.unshift(ti(e,t,"")),i=ye(i),(s,n)=>{s[t]=Qe(i,n)}}function hl(t,e,i){i.length===1&&i.unshift(0);const s=Mi(i),n=go(e);return i=ye(i.reverse(),o=>(o=S(o),s==="%"?o*n/100:o)),i.some(([o])=>o)?(h(e,"strokeDasharray",n),(o,r)=>{o.strokeDashoffset=Qe(i,r)}):A}function bo(t,e,i,s){i.length===1&&i.unshift(0);const n=t==="bgy"?"height":"width";s[t]=ye(i,a=>G(a,n,e));const o=["bgx","bgy"].filter(a=>a in s);if(o.length===2&&t==="bgx")return A;if(ti(e,"backgroundSize","")==="cover")return cl(t,e,i,s);const r={};for(const a of o)r[a]=wo(e,a);return xo(o,r,s)}function cl(t,e,i,s){const n=ul(e);if(!n.width)return A;const o={width:e.offsetWidth,height:e.offsetHeight},r=["bgx","bgy"].filter(u=>u in s),a={};for(const u of r){const d=s[u].map(([P])=>P),f=Math.min(...d),p=Math.max(...d),b=d.indexOf(f){c(u,d),u.backgroundSize=`${l.width}px ${l.height}px`,u.backgroundRepeat="no-repeat"}}function wo(t,e){return ti(t,`background-position-${e.slice(-1)}`,"")}function xo(t,e,i){return function(s,n){for(const o of t){const r=Qe(i[o],n);s[`background-position-${o.slice(-1)}`]=`calc(${e[o]} + ${r}px)`}}}const $o={},Oi={};function ul(t){const e=h(t,"backgroundImage").replace(/^none|url\(["']?(.+?)["']?\)$/,"$1");if(Oi[e])return Oi[e];const i=new Image;return e&&(i.src=e,!i.naturalWidth&&!$o[e])?(z(i,"error load",()=>{Oi[e]=Bs(i),m(t,pe("load",!1))}),$o[e]=!0,Bs(i)):Oi[e]=Bs(i)}function Bs(t){return{width:t.naturalWidth,height:t.naturalHeight}}function ye(t,e=S){const i=[],{length:s}=t;let n=0;for(let o=0;o0;u--)i[o-u][1]=l+c*(n-u+1);n=0}}return i}function yo(t,e){const i=xt(t.slice(1),([,s])=>e<=s)+1;return[t[i-1][0],t[i][0],(e-t[i-1][1])/(t[i][1]-t[i-1][1])]}function Qe(t,e){const[i,s,n]=yo(t,e);return i+Math.abs(i-s)*n*(i(i[s]=e,i),{})}function So(t,e){return e>=0?Math.pow(t,e+1):1-Math.pow(1-t,1-e)}var fl={mixins:[vo],props:{target:String,viewport:Number,easing:Number,start:String,end:String},data:{target:!1,viewport:1,easing:1,start:0,end:0},computed:{target:({target:t},e)=>Io(t&&et(t,e)||e),start({start:t}){return G(t,"height",this.target,!0)},end({end:t,viewport:e}){return G(t||(e=(1-e)*100)&&`${e}vh+${e}%`,"height",this.target,!0)}},observe:[bs(),Ye({target:({target:t})=>t}),dt({target:({$el:t,target:e})=>[t,e,Bt(e,!0)]})],update:{read({percent:t},e){if(e.has("scroll")||(t=!1),!q(this.$el))return!1;if(!this.matchMedia)return;const i=t;return t=So(yi(this.target,this.start,this.end),this.easing),{percent:t,style:i===t?!1:this.getCss(t)}},write({style:t}){if(!this.matchMedia){this.reset();return}t&&h(this.$el,t)},events:["scroll","resize"]}};function Io(t){return t?"offsetTop"in t?t:Io(O(t)):document.documentElement}var Eo={props:{parallax:Boolean,parallaxTarget:Boolean,parallaxStart:String,parallaxEnd:String,parallaxEasing:Number},data:{parallax:!1,parallaxTarget:!1,parallaxStart:0,parallaxEnd:0,parallaxEasing:0},observe:[dt({target:({$el:t,parallaxTarget:e})=>[t,e],filter:({parallax:t})=>t}),Ye({filter:({parallax:t})=>t})],computed:{parallaxTarget({parallaxTarget:t},e){return t&&et(t,e)||this.list}},update:{read(){if(!this.parallax)return!1;const t=this.parallaxTarget;if(!t)return!1;const e=G(this.parallaxStart,"height",t,!0),i=G(this.parallaxEnd,"height",t,!0),s=So(yi(t,e,i),this.parallaxEasing);return{parallax:this.getIndexAt(s)}},write({parallax:t}){const[e,i]=t,s=this.getValidIndex(e+Math.ceil(i)),n=this.slides[e],o=this.slides[s],{triggerShow:r,triggerShown:a,triggerHide:l,triggerHidden:c}=pl(this);if(~this.prevIndex)for(const d of new Set([this.index,this.prevIndex]))v([s,e],d)||(l(this.slides[d]),c(this.slides[d]));const u=this.prevIndex!==e||this.index!==s;this.dir=1,this.prevIndex=e,this.index=s,n!==o&&l(n),r(o),u&&a(n),this._translate(n===o?1:i,n,o)},events:["scroll","resize"]},methods:{getIndexAt(t){const e=t*(this.length-1);return[Math.floor(e),e%1]}}};function pl(t){const{clsSlideActive:e,clsEnter:i,clsLeave:s}=t;return{triggerShow:n,triggerShown:o,triggerHide:r,triggerHidden:a};function n(l){$(l,s)&&(r(l),a(l)),$(l,e)||(m(l,"beforeitemshow",[t]),m(l,"itemshow",[t]))}function o(l){$(l,i)&&m(l,"itemshown",[t])}function r(l){$(l,e)||n(l),$(l,i)&&o(l),$(l,s)||(m(l,"beforeitemhide",[t]),m(l,"itemhide",[t]))}function a(l){$(l,s)&&m(l,"itemhidden",[t])}}var To={update:{write(){if(this.stack.length||this.dragging||this.parallax)return;const t=this.getValidIndex();!~this.prevIndex||this.index!==t?this.show(t):this._translate(1)},events:["resize"]}},Co={observe:Ii({target:({slides:t})=>t,targets:t=>t.getAdjacentSlides()}),methods:{getAdjacentSlides(){return[1,-1].map(t=>this.slides[this.getIndex(this.index+t)])}}};function gl(t,e,i,{center:s,easing:n,list:o}){const r=t?ei(t,o,s):ei(e,o,s)+g(e).width*i,a=e?ei(e,o,s):r+g(t).width*i*(U?-1:1),{promise:l,resolve:c}=Vn();return{dir:i,show(u,d=0,f){const p=f?"linear":n;return u-=Math.round(u*K(d,-1,1)),h(o,"transitionProperty","none"),this.translate(d),h(o,"transitionProperty",""),d=t?d:K(d,0,1),Kt(this.getItemIn(),"itemin",{percent:d,duration:u,timing:p,dir:i}),t&&Kt(this.getItemIn(!0),"itemout",{percent:1-d,duration:u,timing:p,dir:i}),M.start(o,{transform:j(-a*(U?-1:1),"px")},u,p).then(c,A),l},cancel(){return M.cancel(o)},reset(){h(o,"transform","")},async forward(u,d=this.percent()){return await this.cancel(),this.show(u,d,!0)},translate(u){if(u===this.percent())return;const d=this.getDistance()*i*(U?-1:1);h(o,"transform",j(K(-a+(d-d*u),-ke(o),g(o).width)*(U?-1:1),"px"));const f=this.getActives(),p=this.getItemIn(),b=this.getItemIn(!0);u=t?K(u,-1,1):0;for(const y of N(o)){const P=v(f,y),it=y===p,Tt=y===b,zt=it||!Tt&&(P||i*(U?-1:1)===-1^Di(y,o)>Di(t||e));Kt(y,`itemtranslate${zt?"in":"out"}`,{dir:i,percent:Tt?1-u:it?u:P?1:0})}},percent(){return Math.abs((new DOMMatrix(h(o,"transform")).m41*(U?-1:1)+r)/(a-r))},getDistance(){return Math.abs(a-r)},getItemIn(u=!1){let d=this.getActives(),f=_o(o,ei(e||t,o,s));if(u){const p=d;d=f,f=p}return f[xt(f,p=>!v(d,p))]},getActives(){return _o(o,ei(t||e,o,s))}}}function ei(t,e,i){const s=Di(t,e);return i?s-ml(t,e):Math.min(s,Po(e))}function Po(t){return Math.max(0,ke(t)-g(t).width)}function ke(t,e){return jt(N(t).slice(0,e),i=>g(i).width)}function ml(t,e){return g(e).width/2-g(t).width/2}function Di(t,e){return t&&(is(t).left+(U?g(t).width-g(e).width:0))*(U?-1:1)||0}function _o(t,e){e-=1;const i=g(t).width,s=e+i+2;return N(t).filter(n=>{const o=Di(n,t),r=o+Math.min(g(n).width,i);return o>=e&&r<=s})}var vl={mixins:[st,ro,To,Eo,Co],props:{center:Boolean,sets:Boolean,active:String},data:{center:!1,sets:!1,attrItem:"uk-slider-item",selList:".uk-slider-items",selNav:".uk-slider-nav",clsContainer:"uk-slider-container",active:"all",Transitioner:gl},computed:{finite({finite:t}){return t||bl(this.list,this.center)},maxIndex(){if(!this.finite||this.center&&!this.sets)return this.length-1;if(this.center)return Wt(this.sets);let t=0;const e=Po(this.list),i=xt(this.slides,s=>{if(t>=e-.005)return!0;t+=g(s).width});return~i?i:this.length-1},sets({sets:t}){if(!t||this.parallax)return;let e=0;const i=[],s=g(this.list).width;for(let n=0;ns&&(e=0),this.center?es/2&&(i.push(n),e=s/2-o/2):e===0&&i.push(Math.min(n,this.maxIndex)),e+=o}if(i.length)return i},transitionOptions(){return{center:this.center,list:this.list}},slides(){return N(this.list).filter(q)}},connected(){L(this.$el,this.clsContainer,!x(`.${this.clsContainer}`,this.$el))},observe:dt({target:({slides:t,$el:e})=>[e,...t]}),update:{write(){for(const t of this.navItems){const e=$t(Z(t,this.attrItem));e!==!1&&(t.hidden=!this.maxIndex||e>this.maxIndex||this.sets&&!v(this.sets,e))}this.reorder(),this.parallax||this._translate(1),this.updateActiveClasses()},events:["resize"]},events:{beforeitemshow(t){!this.dragging&&this.sets&&this.stack.length<2&&!v(this.sets,this.index)&&(this.index=this.getValidIndex());const e=Math.abs(this.index-this.prevIndex+(this.dir>0&&this.indexthis.prevIndex?(this.maxIndex+1)*this.dir:0));if(!this.dragging&&e>1){for(let n=0;n0?"next":"previous");t.preventDefault();return}const i=this.dir<0||!this.slides[this.prevIndex]?this.index:this.prevIndex,s=ke(this.list)/this.length;this.duration=ao(s/this.velocity)*(g(this.slides[i]).width/s),this.reorder()},itemshow(){~this.prevIndex&&I(this._getTransitioner().getItemIn(),this.clsActive),this.updateActiveClasses(this.prevIndex)},itemshown(){this.updateActiveClasses()}},methods:{reorder(){if(this.finite){h(this.slides,"order","");return}const t=this.dir>0&&this.slides[this.prevIndex]?this.prevIndex:this.index;if(this.slides.forEach((n,o)=>h(n,"order",this.dir>0&&o=this.index?-1:"")),!this.center||!this.length)return;const e=this.slides[t];let i=g(this.list).width/2-g(e).width/2,s=0;for(;i>0;){const n=this.getIndex(--s+t,t),o=this.slides[n];h(o,"order",n>t?-2:-1),i-=g(o).width}},updateActiveClasses(t=this.index){let e=this._getTransitioner(t).getActives();this.active!=="all"&&(e=[this.slides[this.getValidIndex(t)]]);const i=[this.clsActive,!this.sets||v(this.sets,S(this.index))?this.clsActivated:""];for(const s of this.slides){const n=v(e,s);L(s,i,n),s.ariaHidden=!n;for(const o of D(ue,s))gt(o,"_tabindex")||(o._tabindex=o.tabIndex),o.tabIndex=n?o._tabindex:-1}},getValidIndex(t=this.index,e=this.prevIndex){if(t=this.getIndex(t,e),!this.sets)return t;let i;do{if(v(this.sets,t))return t;i=t,t=this.getIndex(t+this.dir,e)}while(t!==i);return t},getAdjacentSlides(){const{width:t}=g(this.list),e=-t,i=t*2,s=g(this.slides[this.index]).width,n=this.center?t/2-s/2:0,o=new Set;for(const r of[-1,1]){let a=n+(r>0?s:0),l=0;do{const c=this.slides[this.getIndex(this.index+r+l++*r)];a+=g(c).width*r,o.add(c)}while(this.length>l&&a>e&&a=0&&ejt(s.filter(u=>!l.has(u)),u=>g(u).width))return!0}return!1}function wl(t){return Math.max(0,...N(t).map(e=>g(e).width))}var Ao={mixins:[vo],beforeConnect(){this.item=this.$el.closest(`.${this.$options.id.replace("parallax","items")} > *`)},disconnected(){this.item=null},events:[{name:"itemin itemout",self:!0,el:({item:t})=>t,handler({type:t,detail:{percent:e,duration:i,timing:s,dir:n}}){Dt.read(()=>{if(!this.matchMedia)return;const o=this.getCss(Mo(t,n,e)),r=this.getCss(Oo(t)?.5:n>0?1:0);Dt.write(()=>{h(this.$el,o),M.start(this.$el,r,i,s).catch(A)})})}},{name:"transitioncanceled transitionend",self:!0,el:({item:t})=>t,handler(){M.cancel(this.$el)}},{name:"itemtranslatein itemtranslateout",self:!0,el:({item:t})=>t,handler({type:t,detail:{percent:e,dir:i}}){Dt.read(()=>{if(!this.matchMedia){this.reset();return}const s=this.getCss(Mo(t,i,e));Dt.write(()=>h(this.$el,s))})}}]};function Oo(t){return ne(t,"in")}function Mo(t,e,i){return i/=2,Oo(t)^e<0?i:1-i}var xl={mixins:[st,lo,To,Eo,Co],props:{ratio:String,minHeight:String,maxHeight:String},data:{ratio:"16:9",minHeight:void 0,maxHeight:void 0,selList:".uk-slideshow-items",attrItem:"uk-slideshow-item",selNav:".uk-slideshow-nav",Animations:Za},watch:{list(t){h(t,{aspectRatio:this.ratio?this.ratio.replace(":","/"):void 0,minHeight:this.minHeight,maxHeight:this.maxHeight,width:"100%"})}},methods:{getAdjacentSlides(){return[1,-1].map(t=>this.slides[this.getIndex(this.index+t)])}}},$l={mixins:[st,zn],props:{group:String,threshold:Number,clsItem:String,clsPlaceholder:String,clsDrag:String,clsDragState:String,clsBase:String,clsNoDrag:String,clsEmpty:String,clsCustom:String,handle:String},data:{group:!1,threshold:5,clsItem:"uk-sortable-item",clsPlaceholder:"uk-sortable-placeholder",clsDrag:"uk-sortable-drag",clsDragState:"uk-drag",clsBase:"uk-sortable",clsNoDrag:"uk-sortable-nodrag",clsEmpty:"uk-sortable-empty",clsCustom:"",handle:!1,pos:{}},events:{name:ut,passive:!1,handler(t){this.init(t)}},computed:{target:(t,e)=>(e.tBodies||[e])[0],items(){return N(this.target)},isEmpty(){return!this.items.length},handles({handle:t},e){return t?D(t,e):this.items}},watch:{isEmpty(t){L(this.target,this.clsEmpty,t)},handles(t,e){const i={touchAction:"none",userSelect:"none"};St(e,i),h(t,i)}},update:{write(t){if(!this.drag||!O(this.placeholder))return;const{pos:{x:e,y:i},origin:{offsetTop:s,offsetLeft:n},placeholder:o}=this;h(this.drag,{top:i-s,left:e-n});const r=this.getSortable(document.elementFromPoint(e,i));if(!r)return;const{items:a}=r;if(a.some(M.inProgress))return;const l=Il(a,{x:e,y:i});if(a.length&&(!l||l===o))return;const c=this.getSortable(o),u=El(r.target,l,o,e,i,r===c&&t.moved!==l);u!==!1&&(u&&o===u||(r!==c?(c.remove(o),t.moved=l):delete t.moved,r.insert(o,u),this.touched.add(r)))},events:["move"]},methods:{init(t){const{target:e,button:i,defaultPrevented:s}=t,[n]=this.items.filter(o=>o.contains(e));!n||s||i>0||ci(e)||e.closest(`.${this.clsNoDrag}`)||this.handle&&!e.closest(this.handle)||(t.preventDefault(),this.pos=kt(t),this.touched=new Set([this]),this.placeholder=n,this.origin={target:e,index:yt(n),...this.pos},w(document,Me,this.move),w(document,_t,this.end),this.threshold||this.start(t))},start(t){this.drag=Sl(this.$container,this.placeholder);const{left:e,top:i}=g(this.placeholder);ft(this.origin,{offsetLeft:this.pos.x-e,offsetTop:this.pos.y-i}),I(this.drag,this.clsDrag,this.clsCustom),I(this.placeholder,this.clsPlaceholder),I(this.items,this.clsItem),I(document.documentElement,this.clsDragState),m(this.$el,"start",[this,this.placeholder]),yl(this.pos),this.move(t)},move:Cl(function(t){ft(this.pos,kt(t)),!this.drag&&(Math.abs(this.pos.x-this.origin.x)>this.threshold||Math.abs(this.pos.y-this.origin.y)>this.threshold)&&this.start(t),this.$emit("move")}),end(){if(Vt(document,Me,this.move),Vt(document,_t,this.end),!this.drag)return;kl();const t=this.getSortable(this.placeholder);this===t?this.origin.index!==yt(this.placeholder)&&m(this.$el,"moved",[this,this.placeholder]):(m(t.$el,"added",[t,this.placeholder]),m(this.$el,"removed",[this,this.placeholder])),m(this.$el,"stop",[this,this.placeholder]),Q(this.drag),this.drag=null;for(const{clsPlaceholder:e,clsItem:i}of this.touched)for(const s of this.touched)_(s.items,e,i);this.touched=null,_(document.documentElement,this.clsDragState)},insert(t,e){I(this.items,this.clsItem),e&&e.previousElementSibling!==t?this.animate(()=>pi(e,t)):!e&&this.target.lastElementChild!==t&&this.animate(()=>W(this.target,t))},remove(t){this.target.contains(t)&&this.animate(()=>Q(t))},getSortable(t){do{const e=this.$getComponent(t,"sortable");if(e&&(e===this||this.group!==!1&&e.group===this.group))return e}while(t=O(t))}}};let Do;function yl(t){let e=Date.now();Do=setInterval(()=>{let{x:i,y:s}=t;s+=document.scrollingElement.scrollTop;const n=(Date.now()-e)*.3;e=Date.now(),Gt(document.elementFromPoint(i,t.y)).reverse().some(o=>{let{scrollTop:r,scrollHeight:a}=o;const{top:l,bottom:c,height:u}=at(o);if(ls)r-=n;else if(c>s&&c-350&&r"),W(i,e.cloneNode(!0).children);for(const s of e.getAttributeNames())k(i,s,e.getAttribute(s))}else i=e.cloneNode(!0);return W(t,i),h(i,"margin","0","important"),h(i,{boxSizing:"border-box",width:e.offsetWidth,height:e.offsetHeight,padding:h(e,"padding")}),tt(i.firstElementChild,tt(e.firstElementChild)),i}function Il(t,e){return t[xt(t,i=>ai(e,g(i)))]}function El(t,e,i,s,n,o){if(!N(t).length)return;const r=g(e);if(!o)return Tl(t,i)||nr[f]-p?!1:e}function Tl(t,e){const i=N(t).length===1;i&&W(t,e);const s=N(t),n=s.some((o,r)=>{const a=g(o);return s.slice(r+1).some(l=>{const c=g(l);return!Bo([a.left,a.right],[c.left,c.right])})});return i&&Q(e),n}function Bo(t,e){return t[1]>e[0]&&e[1]>t[0]}function Cl(t){let e;return function(...i){e||(e=!0,t.call(this,...i),requestAnimationFrame(()=>e=!1))}}var Pl={mixins:[Xe,Jt,Rn],data:{pos:"top",animation:["uk-animation-scale-up"],duration:100,cls:"uk-active"},connected(){_l(this.$el)},disconnected(){this.hide()},methods:{show(){if(this.isToggled(this.tooltip||null))return;const{delay:t=0,title:e}=Ol(this.$options);if(!e)return;const i=k(this.$el,"title"),s=w(this.$el,["blur",Ut],o=>!pt(o)&&this.hide());this.reset=()=>{k(this.$el,{title:i,"aria-describedby":null}),s()};const n=Qt(this);k(this.$el,{title:null,"aria-describedby":n}),clearTimeout(this.showTimer),this.showTimer=setTimeout(()=>this._show(e,n),t)},async hide(){var t;C(this.$el,"input:focus")||(clearTimeout(this.showTimer),this.isToggled(this.tooltip||null)&&await this.toggleElement(this.tooltip,!1,!1),(t=this.reset)==null||t.call(this),Q(this.tooltip),this.tooltip=null)},async _show(t,e){this.tooltip=W(this.container,`
${t}
`),w(this.tooltip,"toggled",(i,s)=>{if(!s)return;const n=()=>this.positionAt(this.tooltip,this.$el);n();const[o,r]=Al(this.tooltip,this.$el,this.pos);this.origin=this.axis==="y"?`${bi(o)}-${r}`:`${r}-${bi(o)}`;const a=[z(document,`keydown ${ut}`,this.hide,!1,l=>l.type===ut&&!this.$el.contains(l.target)||l.type==="keydown"&&l.keyCode===B.ESC),w([document,...Xt(this.$el)],"scroll",n,{passive:!0})];z(this.tooltip,"hide",()=>a.forEach(l=>l()),{self:!0})}),await this.toggleElement(this.tooltip,!0)||this.hide()}},events:{[`focus ${At} ${ut}`](t){(!pt(t)||t.type===ut)&&document.readyState!=="loading"&&this.show()}}};function _l(t){Be(t)||(t.tabIndex=0)}function Al(t,e,[i,s]){const n=T(t),o=T(e),r=[["left","right"],["top","bottom"]];for(const l of r){if(n[l[0]]>=o[l[1]]){i=l[1];break}if(n[l[1]]<=o[l[0]]){i=l[0];break}}return s=(v(r[0],i)?r[1]:r[0]).find(l=>n[l]===o[l])||"center",[i,s]}function Ol(t){const{el:e,id:i,data:s}=t;return["delay","title"].reduce((n,o)=>({[o]:Z(e,o),...n}),{...ve(Z(e,i),["title"]),...s})}var Ml={mixins:[Ei],i18n:{invalidMime:"Invalid File Type: %s",invalidName:"Invalid File Name: %s",invalidSize:"Invalid File Size: %s Kilobytes Max"},props:{allow:String,clsDragover:String,concurrent:Number,maxSize:Number,method:String,mime:String,multiple:Boolean,name:String,params:Object,type:String,url:String},data:{allow:!1,clsDragover:"uk-dragover",concurrent:1,maxSize:0,method:"POST",mime:!1,multiple:!1,name:"files[]",params:{},type:"",url:"",abort:A,beforeAll:A,beforeSend:A,complete:A,completeAll:A,error:A,fail:A,load:A,loadEnd:A,loadStart:A,progress:A},events:{change(t){C(t.target,'input[type="file"]')&&(t.preventDefault(),t.target.files&&this.upload(t.target.files),t.target.value="")},drop(t){Bi(t);const e=t.dataTransfer;e!=null&&e.files&&(_(this.$el,this.clsDragover),this.upload(e.files))},dragenter(t){Bi(t)},dragover(t){Bi(t),I(this.$el,this.clsDragover)},dragleave(t){Bi(t),_(this.$el,this.clsDragover)}},methods:{async upload(t){if(t=oe(t),!t.length)return;m(this.$el,"upload",[t]);for(const s of t){if(this.maxSize&&this.maxSize*1e3{const n=new FormData;s.forEach(o=>n.append(this.name,o));for(const o in this.params)n.append(o,this.params[o]);try{const o=await Bl(this.url,{data:n,method:this.method,responseType:this.type,beforeSend:r=>{const{xhr:a}=r;w(a.upload,"progress",this.progress);for(const l of["loadStart","load","loadEnd","abort"])w(a,l.toLowerCase(),this[l]);return this.beforeSend(r)}});this.complete(o),e.length?await i(e.shift()):this.completeAll(o)}catch(o){this.error(o)}};await i(e.shift())}}};function No(t,e){return e.match(new RegExp(`^${t.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")}$`,"i"))}function Dl(t,e){const i=[];for(let s=0;s{const{xhr:n}=e;for(const o in e)if(o in n)try{n[o]=e[o]}catch{}n.open(e.method.toUpperCase(),t);for(const o in e.headers)n.setRequestHeader(o,e.headers[o]);w(n,"load",()=>{n.status===0||n.status>=200&&n.status<300||n.status===304?i(n):s(ft(Error(n.statusText),{xhr:n,status:n.status}))}),w(n,"error",()=>s(ft(Error("Network Error"),{xhr:n}))),w(n,"timeout",()=>s(ft(Error("Network Timeout"),{xhr:n}))),n.send(e.data)})}var zl=Object.freeze({__proto__:null,Countdown:Yr,Filter:oa,Lightbox:el,LightboxPanel:co,Notification:nl,Parallax:fl,Slider:vl,SliderParallax:Ao,Slideshow:xl,SlideshowParallax:Ao,Sortable:$l,Tooltip:Pl,Upload:Ml});function Fl(t){qt&&window.MutationObserver&&(document.body?requestAnimationFrame(()=>zo(t)):new MutationObserver((e,i)=>{document.body&&(zo(t),i.disconnect())}).observe(document.documentElement,{childList:!0}))}function zo(t){m(document,"uikit:init",t),document.body&&Mt(document.body,Fo),new MutationObserver(Hl).observe(document,{subtree:!0,childList:!0,attributes:!0}),t._initialized=!0}function Hl(t){var e;for(const{addedNodes:i,removedNodes:s,target:n,attributeName:o}of t){for(const a of i)Mt(a,Fo);for(const a of s)Mt(a,Ll);const r=o&&Ho(o);r&&(Pt(n,o)?Ke(r,n):(e=Ci(n,r))==null||e.$destroy())}}function Fo(t){const e=Ze(t);for(const i in e)Os(e[i]);for(const i of t.getAttributeNames()){const s=Ho(i);s&&Ke(s,t)}}function Ll(t){const e=Ze(t);for(const i in e)Ms(e[i])}function Ho(t){wt(t,"data-")&&(t=t.slice(5));const e=xe[t];return e&&(e.options||e).name}Ua(ht),Va(ht);var Lo={mixins:[st,Jt],props:{animation:Boolean,targets:String,active:null,collapsible:Boolean,multiple:Boolean,toggle:String,content:String,offset:Number},data:{targets:"> *",active:!1,animation:!0,collapsible:!0,multiple:!1,clsOpen:"uk-open",toggle:"> .uk-accordion-title",content:"> .uk-accordion-content",offset:0},computed:{items:({targets:t},e)=>D(t,e),toggles({toggle:t}){return this.items.map(e=>x(t,e))},contents({content:t}){return this.items.map(e=>{var i;return((i=e._wrapper)==null?void 0:i.firstElementChild)||x(t,e)})}},watch:{items(t,e){if(e||$(t,this.clsOpen))return;const i=this.active!==!1&&t[Number(this.active)]||!this.collapsible&&t[0];i&&this.toggle(i,!1)},toggles(){this.$emit()},contents(t){for(const e of t){const i=$(this.items.find(s=>s.contains(e)),this.clsOpen);Ni(e,!i)}this.$emit()}},observe:Ii(),events:[{name:"click keydown",delegate:({targets:t,$props:e})=>`${t} ${e.toggle}`,async handler(t){var e;t.type==="keydown"&&t.keyCode!==B.SPACE||(Et(t),(e=this._off)==null||e.call(this),this._off=jl(t.target),await this.toggle(yt(this.toggles,t.current)),this._off())}},{name:"shown hidden",self:!0,delegate:({targets:t})=>t,handler(){this.$emit()}}],update(){const t=Ne(this.items,`.${this.clsOpen}`);for(const e in this.items){const i=this.toggles[e],s=this.contents[e];if(!i||!s)continue;i.id=Qt(this,i),s.id=Qt(this,s);const n=v(t,this.items[e]);k(i,{role:F(i,"a")?"button":null,"aria-controls":s.id,"aria-expanded":n,"aria-disabled":!this.collapsible&&t.length<2&&n}),k(s,{role:"region","aria-labelledby":i.id}),F(s,"ul")&&k(N(s),"role","presentation")}},methods:{toggle(t,e){t=this.items[rt(t,this.items)];let i=[t];const s=Ne(this.items,`.${this.clsOpen}`);if(!this.multiple&&!v(s,i[0])&&(i=i.concat(s)),!(!this.collapsible&&s.length<2&&v(s,t)))return Promise.all(i.map(n=>this.toggleElement(n,!v(s,n),(o,r)=>{if(L(o,this.clsOpen,r),e===!1||!this.animation){Ni(x(this.content,o),!r);return}return Wl(o,r,this)})))}}};function Ni(t,e){t&&(t.hidden=e)}async function Wl(t,e,{content:i,duration:s,velocity:n,transition:o}){var r;i=((r=t._wrapper)==null?void 0:r.firstElementChild)||x(i,t),t._wrapper||(t._wrapper=Le(i,"