From 43a25d93ebdabea52f99b05e15b06250cd8f07d7 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 17 May 2023 16:05:49 +0000 Subject: Add latest changes from gitlab-org/gitlab@16-0-stable-ee --- vendor/assets/javascripts/snowplow/sp.js | 162 ----- vendor/assets/javascripts/u2f.js | 750 --------------------- .../src/components/RecycleScroller.vue | 4 + 3 files changed, 4 insertions(+), 912 deletions(-) delete mode 100644 vendor/assets/javascripts/snowplow/sp.js delete mode 100644 vendor/assets/javascripts/u2f.js (limited to 'vendor/assets') diff --git a/vendor/assets/javascripts/snowplow/sp.js b/vendor/assets/javascripts/snowplow/sp.js deleted file mode 100644 index 88e7304c8ac..00000000000 --- a/vendor/assets/javascripts/snowplow/sp.js +++ /dev/null @@ -1,162 +0,0 @@ -/** - * @description JavaScript tracker for Snowplow - * @version 2.17.3 - * @copyright Anthon Pang, Snowplow Analytics Ltd - * @license Simplified BSD - * - * Documentation: http://bit.ly/sp-js - */ - -'use strict';(function(){function D(a){"@babel/helpers - typeof";D="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"===typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};return D(a)}function Sb(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(a);b&&(e=e.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable}));c.push.apply(c,e)}return c} -function nd(a){for(var b=1;ba.length)b=a.length;for(var c=0,e=Array(b);c=a.length?{done:!0}:{done:!1,value:a[e++]}},e:function(a){throw a;},f:b}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -}var d=!0,f=!1,h;return{s:function(){c=a[Symbol.iterator]()},n:function(){var a=c.next();d=a.done;return a},e:function(a){f=!0;h=a},f:function(){try{d||null==c.return||c.return()}finally{if(f)throw h;}}}}function ra(a){var b={exports:{}};return a(b,b.exports),b.exports}function sa(a){var b=-1,c=null==a?0:a.length;for(this.clear();++bE.length)q=!1;else{if(!qc(u))throw"No collector configured";q=!0;var a=E[0];if(P){var b=function(a){for(var b=0,c=0;b=g);)b+=1;return b},c=function(a){for(var b=0;bd.status){clearTimeout(h);if(x&&!J)try{wc.setItem(Q,!0)}catch(uc){}c(f)}else 4===d.readyState&&400<=d.status&&(clearTimeout(h),q=!1)};if(F)d.send();else if(b=E.slice(0,f),0=g){y("Event ("+a.bytes+"B) too big, max is "+g);n(u,!0).send(Jb(w([a.evt])));return}E.push(a)}else E.push(m(a));a=!1;e&&(a=Ub(L,JSON.stringify(E.slice(0,p))));q||a&&!(E.length>=h)||C()},executeQueue:function(){q|| -C()},setUseLocalStorage:function(a){e=a},setAnonymousTracking:function(a){M=a},setCollectorUrl:function(a){u=a+U}}}function Gd(a){var b={};"object"===D(a)&&null!==a&&Object.getOwnPropertyNames(a).forEach(function(c,e,d){"function"===typeof a[c]&&(b[c]=Hd(a[c]))});return b}function Id(a){if(!a)return a;switch(4-a.length%4){case 2:a+="==";break;case 3:a+="="}a=a.replace(/-/g,"+").replace(/_/g,"/");return Jd(a)}function Jd(a){var b=0,c=0;var e="";var d=[];if(!a)return a;a+="";do{var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(b++)); -var h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(b++));e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(b++));var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(b++));var k=f<<18|h<<12|e<<6|g;f=k>>16&255;h=k>>8&255;k&=255;64===e?d[c++]=String.fromCharCode(f):64===g?d[c++]=String.fromCharCode(f,h):d[c++]=String.fromCharCode(f,h,k)}while(b>18&63;p=M>>12&63;v=M>>6&63;M&=63;g[e++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(k)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(p)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(v)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(M)}while(f< -d.length);f=g.join("");d=d.length%3;d=(d?f.slice(0,d-3):f)+"===".slice(d||3)}d=d.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}else d=f;c(b,d)}else c(d,f)},build:function(){return b}}}function Kd(){var a=[],b=[];return{getGlobalPrimitives:function(){return a},getConditionalProviders:function(){return b},addGlobalContexts:function(c){var e=[],d=[];c=kb(c);var f;try{for(c.s();!(f=c.n()).done;){var h=f.value;yc(h)?e.push(h):ea(h)&&d.push(h)}}catch(g){c.e(g)}finally{c.f()}a=a.concat(d);b=b.concat(e)}, -clearGlobalContexts:function(){b=[];a=[]},removeGlobalContexts:function(c){c=kb(c);var e;try{var d=function(){var c=e.value;yc(c)?b=b.filter(function(a){return!rb(a,c)}):ea(c)&&(a=a.filter(function(a){return!rb(a,c)}))};for(c.s();!(e=c.n()).done;)d()}catch(f){c.e(f)}finally{c.f()}},getApplicableContexts:function(c){c=c.build();var e=Na(c)&&"e"in c?"string"===typeof c.e:!1;if(e){c=nd({},c);try{null!=c&&sb(c,"ue_px",Kb)&&(c.ue_px=JSON.parse(Id(F(c,["ue_px"]))));var d=c}catch(g){d=c}c=d;e="string"=== -typeof F(c,"ue_px.data.schema")?F(c,"ue_px.data.schema"):"string"===typeof F(c,"ue_pr.data.schema")?F(c,"ue_pr.data.schema"):"string"===typeof F(c,"schema")?F(c,"schema"):"";var f=F(c,"e","");d=[];var h=tb(a,c,f,e);d.push.apply(d,qa(h));c=Ld(b,c,f,e);d.push.apply(d,qa(c));return d}return[]}}}function Md(a){if("*"===a[0]||"*"===a[1])return!1;if(0=b}return!1}function Dc(a){return"function"=== -typeof a&&1>=a.length}function ea(a){return"function"===typeof a&&1>=a.length||Pa(a)}function Ec(a){return Array.isArray(a)&&2===a.length?Array.isArray(a[1])?Dc(a[0])&&Lb(a[1],ea):Dc(a[0])&&ea(a[1]):!1}function Fc(a){return Array.isArray(a)&&2===a.length?Od(a[0])?Array.isArray(a[1])?Lb(a[1],ea):ea(a[1]):!1:!1}function yc(a){return Ec(a)||Fc(a)}function Sd(a,b){var c=0,e=0,d=F(a,"accept");Array.isArray(d)?a.accept.some(function(a){return ub(a,b)})&&e++:"string"===typeof d&&ub(d,b)&&e++;d=F(a,"reject"); -Array.isArray(d)?a.reject.some(function(a){return ub(a,b)})&&c++:"string"===typeof d&&ub(d,b)&&c++;return 0c;c++)if(!Gc(a[c],b[c]))return!1;return!0}return!1}function Td(a,b){b=b.split(".");a=a.split(".");if(b&&a){if(b.length!==a.length)return!1; -for(var c=0;c=a.length){b:{var d=void 0;try{d=a({event:b,eventType:c,eventSchema:e});if(Pa(d)||Array.isArray(d)&&Lb(d,Pa)){var g=d;break b}g=void 0;break b}catch(k){}g=void 0}if(Pa(g)){a=[g];break a}else if(Array.isArray(g)){a=g;break a}}a=void 0}if(a&& -0!==a.length)return a});return(d=[]).concat.apply(d,qa(Ic(a)))}function Ld(a,b,c,e){var d;a=Hc(a);a=ca(a,function(a){a:{if(Ec(a)){var d=a[0],g=!1;try{g=d({event:b,eventType:c,eventSchema:e})}catch(k){g=!1}if(!0===g){a=tb(a[1],b,c,e);break a}}else if(Fc(a)&&Sd(a[0],e)){a=tb(a[1],b,c,e);break a}a=[]}if(a&&0!==a.length)return a});return(d=[]).concat.apply(d,qa(Ic(a)))}function Ud(a,b){var c=Kd(),e={};"undefined"===typeof a&&(a=!0);var d=function(a,b){var c={};b=b||{};for(var d in a)if(b[d]||null!==a[d]&& -"undefined"!==typeof a[d])c[d]=a[d];return c},f=function(a,d,f,h){a.addDict(e);a.add("eid",Vd.v4());f=null==f?{type:"dtm",value:(new Date).getTime()}:"number"===typeof f?{type:"dtm",value:f}:"ttm"===f.type?{type:"ttm",value:f.value}:{type:"dtm",value:f.value||(new Date).getTime()};a.add(f.type,f.value.toString());f=c.getApplicableContexts(a);var g=[];d&&d.length&&g.push.apply(g,qa(d));f&&f.length&&g.push.apply(g,qa(f));d=g&&g.length?{schema:"iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0", -data:g}:void 0;void 0!==d&&a.addJson("cx","co",d);"function"===typeof b&&b(a);try{h&&h(a.build())}catch(m){console.warn("Snowplow: error running custom callback")}return a},h=function(b,c,d,e){var g=za(a);b={schema:"iglu:com.snowplowanalytics.snowplow/unstruct_event/jsonschema/1-0-0",data:b};g.add("e","ue");g.addJson("ue_px","ue_pr",b);return f(g,c,d,e)};return{addPayloadPair:function(a,b){e[a]=b},setBase64Encoding:function(b){a=b},addPayloadDict:function(a){for(var b in a)Object.prototype.hasOwnProperty.call(a, -b)&&(e[b]=a[b])},resetPayloadPairs:function(a){e=xc(a)?a:{}},setTrackerVersion:function(a){e.tv=a},setTrackerNamespace:function(a){e.tna=a},setAppId:function(a){e.aid=a},setPlatform:function(a){e.p=a},setUserId:function(a){e.uid=a},setScreenResolution:function(a,b){e.res=a+"x"+b},setViewport:function(a,b){e.vp=a+"x"+b},setColorDepth:function(a){e.cd=a},setTimezone:function(a){e.tz=a},setLang:function(a){e.lang=a},setIpAddress:function(a){e.ip=a},setUseragent:function(a){e.ua=a},trackUnstructEvent:h, -trackSelfDescribingEvent:h,trackPageView:function(b,c,d,e,h,m){var g=za(a);g.add("e","pv");g.add("url",b);g.add("page",c);g.add("refr",d);return f(g,e,h,m)},trackPagePing:function(b,c,d,e,h,m,r,N,C,n){var g=za(a);g.add("e","pp");g.add("url",b);g.add("page",c);g.add("refr",d);g.add("pp_mix",e.toString());g.add("pp_max",h.toString());g.add("pp_miy",m.toString());g.add("pp_may",r.toString());return f(g,N,C,n)},trackStructEvent:function(b,c,d,e,h,m,r,N){var g=za(a);g.add("e","se");g.add("se_ca",b);g.add("se_ac", -c);g.add("se_la",d);g.add("se_pr",e);g.add("se_va",null==h?void 0:h.toString());return f(g,m,r,N)},trackEcommerceTransaction:function(b,c,d,e,h,m,r,N,C,n,Jb,w){var g=za(a);g.add("e","tr");g.add("tr_id",b);g.add("tr_af",c);g.add("tr_tt",d);g.add("tr_tx",e);g.add("tr_sh",h);g.add("tr_ci",m);g.add("tr_st",r);g.add("tr_co",N);g.add("tr_cu",C);return f(g,n,Jb,w)},trackEcommerceTransactionItem:function(b,c,d,e,h,m,r,N,C,n){var g=za(a);g.add("e","ti");g.add("ti_id",b);g.add("ti_sk",c);g.add("ti_nm",d);g.add("ti_ca", -e);g.add("ti_pr",h);g.add("ti_qu",m);g.add("ti_cu",r);return f(g,N,C,n)},trackScreenView:function(a,b,c,e,f){return h({schema:"iglu:com.snowplowanalytics.snowplow/screen_view/jsonschema/1-0-0",data:d({name:a,id:b})},c,e,f)},trackLinkClick:function(a,b,c,e,f,m,r,N){a={schema:"iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1",data:d({targetUrl:a,elementId:b,elementClasses:c,elementTarget:e,elementContent:f})};return h(a,m,r,N)},trackAdImpression:function(a,b,c,e,f,m,r,N,n,q,u){a={schema:"iglu:com.snowplowanalytics.snowplow/ad_impression/jsonschema/1-0-0", -data:d({impressionId:a,costModel:b,cost:c,targetUrl:e,bannerId:f,zoneId:m,advertiserId:r,campaignId:N})};return h(a,n,q,u)},trackAdClick:function(a,b,c,e,f,m,r,n,C,q,u,w){a={schema:"iglu:com.snowplowanalytics.snowplow/ad_click/jsonschema/1-0-0",data:d({targetUrl:a,clickId:b,costModel:c,cost:e,bannerId:f,zoneId:m,impressionId:r,advertiserId:n,campaignId:C})};return h(a,q,u,w)},trackAdConversion:function(a,b,c,e,f,m,r,n,C,q,u,w){a={schema:"iglu:com.snowplowanalytics.snowplow/ad_conversion/jsonschema/1-0-0", -data:d({conversionId:a,costModel:b,cost:c,category:e,action:f,property:m,initialValue:r,advertiserId:n,campaignId:C})};return h(a,q,u,w)},trackSocialInteraction:function(a,b,c,e,f,m){a={schema:"iglu:com.snowplowanalytics.snowplow/social_interaction/jsonschema/1-0-0",data:d({action:a,network:b,target:c})};return h(a,e,f,m)},trackAddToCart:function(a,b,c,e,f,m,r,n,q){return h({schema:"iglu:com.snowplowanalytics.snowplow/add_to_cart/jsonschema/1-0-0",data:d({sku:a,name:b,category:c,unitPrice:e,quantity:f, -currency:m})},r,n,q)},trackRemoveFromCart:function(a,b,c,e,f,m,r,n,q){return h({schema:"iglu:com.snowplowanalytics.snowplow/remove_from_cart/jsonschema/1-0-0",data:d({sku:a,name:b,category:c,unitPrice:e,quantity:f,currency:m})},r,n,q)},trackFormFocusOrChange:function(a,b,c,e,f,m,r,n,q,u){var g="";b={formId:b,elementId:c,nodeName:e,elementClasses:m,value:r};"change_form"===a?(g="iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0",b.type=f):"focus_form"===a&&(g="iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0", -b.elementType=f);return h({schema:g,data:d(b,{value:!0})},n,q,u)},trackFormSubmission:function(a,b,c,e,f,m){return h({schema:"iglu:com.snowplowanalytics.snowplow/submit_form/jsonschema/1-0-0",data:d({formId:a,formClasses:b,elements:c})},e,f,m)},trackSiteSearch:function(a,b,c,e,f,m,r){return h({schema:"iglu:com.snowplowanalytics.snowplow/site_search/jsonschema/1-0-0",data:d({terms:a,filters:b,totalResults:c,pageResults:e})},f,m,r)},trackConsentWithdrawn:function(a,b,c,e,f,m,r,n){b={schema:"iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0", -data:d({id:b,version:c,name:e,description:f})};return h({schema:"iglu:com.snowplowanalytics.snowplow/consent_withdrawn/jsonschema/1-0-0",data:d({all:a})},b.data&&m?m.concat([b]):m,r,n)},trackConsentGranted:function(a,b,c,e,f,m,r,n){a={schema:"iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0",data:d({id:a,version:b,name:c,description:e})};return h({schema:"iglu:com.snowplowanalytics.snowplow/consent_granted/jsonschema/1-0-0",data:d({expiry:f})},m?m.concat([a]):[a],r,n)},addGlobalContexts:function(a){c.addGlobalContexts(a)}, -clearGlobalContexts:function(){c.clearGlobalContexts()},removeGlobalContexts:function(a){c.removeGlobalContexts(a)}}}function Qa(a,b,c,e,d){function f(a){return-1Date.now()){var c=xa.getItem(a);break a}else xa.removeItem(a),xa.removeItem(a+".expires");c=void 0;break a}catch(ef){}c=void 0}return c}if("cookie"==G||"cookieAndLocalStorage"==G)return J(a)}function m(){h();Ta=Lb((vb||Ma)+(Ea||"/")).slice(0,4)}function r(){Vb=(new Date).getTime()}function u(){var a=C(),b=a[0];bXb&&(Xb=b);a=a[1];aZb&&(Zb=a);r()}function C(){var a=z.compatMode&&"BackCompat"!==z.compatMode?z.documentElement:z.body;return[a.scrollLeft|| -A.pageXOffset,a.scrollTop||A.pageYOffset]}function B(){var a=C(),b=a[0];Xb=Wb=b;Zb=Yb=a=a[1]}function D(a){a=Math.round(a);if(!isNaN(a))return a}function w(){I(Sa+"ses."+Ta,"*",Ja)}function F(a,b,c,d,e,f){I(Sa+"id."+Ta,a+"."+b+"."+c+"."+d+"."+e+"."+f,kb)}function I(a,b,c){if(!fa||Ua)"localStorage"==G?Ub(a,b,c):("cookie"==G||"cookieAndLocalStorage"==G)&&J(a,b,c,Ea,vb,ja,oa)}function L(){var a=Sa+"id."+Ta,b=Sa+"ses."+Ta;rc(a);rc(b);J(a,"",-1,"/",vb,ja,oa);J(b,"",-1,"/",vb,ja,oa)}function Q(){if(!fa|| -Ua){var a="none"!=G&&!!n("ses"),b=R();b[1]?Nb=b[1]:(Nb=fa?"":P(),b[1]=Nb);T=b[6];a||(b[3]++,T=P(),b[6]=T,b[5]=b[4]);"none"!=G&&(w(),b[4]=Math.round((new Date).getTime()/1E3),b.shift(),F.apply(null,b))}}function R(){if("none"==G)return[];var a=Math.round((new Date).getTime()/1E3),b=n("id");b?(a=b.split("."),a.unshift("0")):a=["1",Nb,a,0,a,""];a[6]||(a[6]=P());return a}function W(a){return mb?"https://"+a:Hb?"http://"+a:("https:"===z.location.protocol?"https":"http")+"://"+a}function x(a){var b=ib.concat(a|| -[]);H.webPage&&b.push({schema:"iglu:com.snowplowanalytics.snowplow/web_page/jsonschema/1-0-0",data:{id:V()}});H.performanceTiming&&(a=ba())&&b.push(a);if(A.optimizely){H.optimizelySummary&&(a=ua(),O(a,function(a){b.push(a)}));H.optimizelyXSummary&&(a=ya(),O(a,function(a){b.push(a)}));if(H.optimizelyExperiments){var c=la();for(a=0;a(new Date).getTime()&&d(a.callback,(b||[]).concat(c?c():[]))};a.activityInterval=0!=a.configMinimumVisitLength? -setTimeout(function(){Vb+a.configMinimumVisitLength>(new Date).getTime()&&d(a.callback,(b||[]).concat(c?c():[]));a.activityInterval=setInterval(e,a.configHeartBeatTimer)},a.configMinimumVisitLength):setInterval(e,a.configHeartBeatTimer)}function wa(a,b,c){if("number"==typeof a&&a==ec(a)&&"number"==typeof b&&b==ec(b))return{configMinimumVisitLength:1E3*a,configHeartBeatTimer:1E3*b,activityInterval:null,callback:c};y("Activity tracking not enabled, please provide integer values for minimumVisitLength and heartBeatDelay."); -return{}}function Pa(a){var b=a.context,c=a.minXOffset,d=a.minYOffset,e=a.maxXOffset;a=a.maxYOffset;var f=z.title;f!==wb&&(wb=f,Ob=null);t.trackPagePing(p(xb||Aa),pc(Ob||wb),p(da||Mb),D(c),D(e),D(d),D(a),x(b))}function ia(a,b){return""!==a?a+b.charAt(0).toUpperCase()+b.slice(1):b}function K(a){var b,c,d=["","webkit","ms","moz"];if(!jb)for(c=0;c1E3*Ja&&(T=P(),ha++), -a.add("vp",wd()),a.add("ds",xd()),a.add("vid",Ua?ha:fa?null:ha),a.add("sid",Ua?T:fa?null:T),a.add("duid",fa?null:g),a.add("uid",fa?null:yb),h(),a.add("refr",p(da||Mb)),a.add("url",p(xb||Aa)),"none"!=G&&(F(g,Wd,ha,b,m,T),w()),Oa=(new Date).getTime());b=sb;c=new Date;f=Pb?!!J(Pb):!1;Ga||f||(Ca.enqueueRequest(a.build(),Qb),e.expireDateTime=c.getTime()+b)}),Ha=!1,l={},va={},Ka={},z=document,A=window,S=navigator,Ra=tc(z.domain,A.location.href,dc()),Ma=cc(Ra[0]),Aa=Ra[1],Mb=Ra[2],da,ob=d.hasOwnProperty("platform")? -d.platform:"web",Qb,pb=d.hasOwnProperty("postPath")?d.postPath:"/com.snowplowanalytics.snowplow/tp2",rb=d.hasOwnProperty("appId")?d.appId:"",xb,wb=z.title,Ob,sb=d.hasOwnProperty("pageUnloadTimer")?d.pageUnloadTimer:500,ub=d.hasOwnProperty("resetActivityTrackingOnPageView")?d.resetActivityTrackingOnPageView:!0,Qa,Wa,Sa=d.hasOwnProperty("cookieName")?d.cookieName:"_sp_",vb=d.hasOwnProperty("cookieDomain")?d.cookieDomain:null,Ea="/",ja=d.hasOwnProperty("cookieSameSite")?d.cookieSameSite:"None",oa=d.hasOwnProperty("cookieSecure")? -d.cookieSecure:!0,gb=S.doNotTrack||S.msDoNotTrack||A.doNotTrack,Ga=d.hasOwnProperty("respectDoNotTrack")?d.respectDoNotTrack&&("yes"===gb||"1"===gb):!1,Pb,jb,kb=d.hasOwnProperty("cookieLifetime")?d.cookieLifetime:63072E3,Ja=d.hasOwnProperty("sessionCookieTimeout")?d.sessionCookieTimeout:1800,Fb=z.characterSet||z.charset,mb=d.hasOwnProperty("forceSecureTracker")?!0===d.forceSecureTracker:!1,Hb=!mb&&d.hasOwnProperty("forceUnsecureTracker")?!0===d.forceUnsecureTracker:!1,Ua=ma(d),Rb=na(d),fa=!!d.anonymousTracking, -qb=d.hasOwnProperty("useLocalStorage")?(y("argmap.useLocalStorage is deprecated. Use argmap.stateStorageStrategy instead."),d.useLocalStorage):!0,Na=d.hasOwnProperty("useCookies")?(y("argmap.useCookies is deprecated. Use argmap.stateStorageStrategy instead."),d.useCookies):!0,G=Da(d),Kb=S.userLanguage||S.language,$b=yd(),tb=a+"_"+b,Vb,Oa=(new Date).getTime(),Wb,Xb,Yb,Zb,Lb=Yd,Ta,Nb,T,ha=1,yb,Xa,Ya,Za,$a,ab,bb,cb,db,eb,fb,hb,ac=[],zb=new zd(t,tb,x),bc=new Ad(t,tb,x),Bb=new Cd(t),Ca=new Ed(a,b,e,"localStorage"== -G||"cookieAndLocalStorage"==G,d.eventMethod,pb,d.bufferSize,d.maxPostBytes||4E4,d.useStm,d.maxLocalStorageQueueSize||1E3,d.connectionTimeout||5E3,Rb),Cb=!1,H=d.contexts||{},ib=[],Ab=[],Db=!1,Eb=!1,X={enabled:!1,installed:!1,configurations:{}},Ba=null;H.clientHints&&S.userAgentData&&(Ba={isMobile:S.userAgentData.mobile,brands:S.userAgentData.brands},H.clientHints.includeHighEntropy&&S.userAgentData.getHighEntropyValues&&S.userAgentData.getHighEntropyValues(["platform","platformVersion","architecture", -"model","uaFullVersion"]).then(function(a){Ba.architecture=a.architecture;Ba.model=a.model;Ba.platform=a.platform;Ba.uaFullVersion=a.uaFullVersion;Ba.platformVersion=a.platformVersion}));var Sb=d.skippedBrowserFeatures||[],Va={};d.hasOwnProperty("discoverRootDomain")&&d.discoverRootDomain&&(vb=td(ja,oa));H.gaCookies&&ib.push(Fa());H.geolocation&&ea();t.setBase64Encoding(d.hasOwnProperty("encodeBase64")?d.encodeBase64:!0);t.setTrackerVersion(c);t.setTrackerNamespace(b);t.setAppId(rb);t.setPlatform(ob); -t.setTimezone(Zd.jstz.determine().name());t.addPayloadPair("lang",Kb);t.addPayloadPair("cs",Fb);for(var aa in $b)Object.prototype.hasOwnProperty.call($b,aa)&&("res"!==aa&&"cd"!==aa&&"cookie"!==aa||f(aa)?f(aa)||t.addPayloadPair("f_"+aa,$b[aa]):t.addPayloadPair(aa,$b[aa]));m();Q();d.crossDomainLinker&&k(d.crossDomainLinker);l.getDomainSessionIndex=function(){return ha};l.getPageViewId=function(){return V()};l.newSession=function(){var a=Math.round((new Date).getTime()/1E3),b=R(),c=b[1],d=b[2],e=b[3], -f=b[4],g=b[5],h=b[6];"0"===b[0]?(T=h,"none"!=G&&(e++,g=f,T=P()),ha=e,w()):(T=P(),ha++);"none"!=G&&(F(c,d,ha,a,g,T),w());Oa=(new Date).getTime()};l.getCookieName=function(a){return Sa+a+"."+Ta};l.getUserId=function(){return yb};l.getDomainUserId=function(){return R()[1]};l.getDomainUserInfo=function(){return R()};l.getUserFingerprint=function(){y("User Fingerprinting is no longer supported. This function will be removed in a future release.");return 0};l.setAppId=function(a){y("setAppId is deprecated. Instead use the argmap argument on tracker initialisation: appId"); -t.setAppId(a)};l.setReferrerUrl=function(a){da=a};l.setCustomUrl=function(a){h();var b=Aa,c;v(a)?xb=a:"/"===a.slice(0,1)?xb=v(b)+"://"+Tb(b)+a:(b=p(b),0<=(c=b.indexOf("?"))&&(b=b.slice(0,c)),(c=b.lastIndexOf("/"))!==b.length-1&&(b=b.slice(0,c+1)),xb=b+a)};l.setDocumentTitle=function(a){wb=z.title;Ob=a};l.discardHashTag=function(a){Qa=a};l.discardBrace=function(a){Wa=a};l.setCookieNamePrefix=function(a){y("setCookieNamePrefix is deprecated. Instead use the argmap argument on tracker initialisation: cookieName"); -Sa=a};l.setCookieDomain=function(a){y("setCookieDomain is deprecated. Instead use the argmap argument on tracker initialisation: cookieDomain");vb=cc(a);m()};l.setCookiePath=function(a){Ea=a;m()};l.setVisitorCookieTimeout=function(a){kb=a};l.setSessionCookieTimeout=function(a){y("setSessionCookieTimeout is deprecated. Instead use the argmap argument on tracker initialisation: sessionCookieTimeout");Ja=a};l.setUserFingerprintSeed=function(){y("User Fingerprinting is no longer supported. This function will be removed in a future release.")}; -l.enableUserFingerprint=function(){y("User Fingerprinting is no longer supported. This function will be removed in a future release.")};l.respectDoNotTrack=function(a){y("respectDoNotTrack is deprecated. Instead use the argmap argument on tracker initialisation: respectDoNotTrack");var b=S.doNotTrack||S.msDoNotTrack;Ga=a&&("yes"===b||"1"===b)};l.crossDomainLinker=function(a){k(a)};l.enableLinkClickTracking=function(a,b,c,d){e.hasLoaded?(zb.configureLinkClickTracking(a,b,c,d),zb.addClickListeners()): -e.registeredOnLoadHandlers.push(function(){zb.configureLinkClickTracking(a,b,c,d);zb.addClickListeners()})};l.refreshLinkClickTracking=function(){e.hasLoaded?zb.addClickListeners():e.registeredOnLoadHandlers.push(function(){zb.addClickListeners()})};l.enableActivityTracking=function(a,b){X.enabled=!0;X.configurations.pagePing=wa(a,b,Pa)};l.enableActivityTrackingCallback=function(a,b,c){X.enabled=!0;X.configurations.callback=wa(a,b,c)};l.updatePageActivity=function(){r()};l.enableFormTracking=function(a, -b){e.hasLoaded?(bc.configureFormTracking(a),bc.addFormListeners(b)):e.registeredOnLoadHandlers.push(function(){bc.configureFormTracking(a);bc.addFormListeners(b)})};l.killFrame=function(){A.location!==A.top.location&&(A.top.location=A.location)};l.redirectFile=function(a){"file:"===A.location.protocol&&(A.location=a)};l.setOptOutCookie=function(a){Pb=a};l.setCountPreRendered=function(a){jb=a};l.setUserId=function(a){yb=a};l.identifyUser=function(a){l.setUserId(a)};l.setUserIdFromLocation=function(a){h(); -yb=Gb(a,Aa)};l.setUserIdFromReferrer=function(a){h();yb=Gb(a,Mb)};l.setUserIdFromCookie=function(a){yb=J(a)};l.setCollectorCf=function(a){Qb=W(a+".cloudfront.net");Ca.setCollectorUrl(Qb)};l.setCollectorUrl=function(a){Qb=W(a);Ca.setCollectorUrl(Qb)};l.setPlatform=function(a){y("setPlatform is deprecated. Instead use the argmap argument on tracker initialisation: platform");t.setPlatform(a)};l.encodeBase64=function(a){y("encodeBase64 is deprecated. Instead use the argmap argument on tracker initialisation: encodeBase64"); -t.setBase64Encoding(a)};l.flushBuffer=function(){Ca.executeQueue()};l.enableGeolocationContext=ea;l.trackPageView=function(a,b,c,d,e){K(function(){Ia(a,b,c,d,e)})};l.trackStructEvent=function(a,b,c,d,e,f,g,h){K(function(){t.trackStructEvent(a,b,c,d,e,x(f),g,h)})};l.trackSelfDescribingEvent=function(a,b,c,d){K(function(){t.trackSelfDescribingEvent(a,x(b),c,d)})};l.trackUnstructEvent=function(a,b,c){K(function(){t.trackSelfDescribingEvent(a,x(b),c)})};l.addTrans=function(a,b,c,d,e,f,g,h,k,l,p){Xa=a; -Ya=b;Za=c;$a=d;ab=e;bb=f;cb=g;db=h;eb=k;fb=l;hb=p};l.addItem=function(a,b,c,d,e,f,g,h,k){ac.push({orderId:a,sku:b,name:c,category:d,price:e,quantity:f,currency:g,context:h,tstamp:k})};l.trackTrans=function(){K(function(){var a=hb;t.trackEcommerceTransaction(Xa,Ya,Za,$a,ab,bb,cb,db,eb,x(fb),a);for(a=0;a=a},n={};n["[object Float32Array]"]=n["[object Float64Array]"]=n["[object Int8Array]"]=n["[object Int16Array]"]=n["[object Int32Array]"]=n["[object Uint8Array]"]=n["[object Uint8ClampedArray]"]=n["[object Uint16Array]"]=n["[object Uint32Array]"]=!0;n["[object Arguments]"]= -n["[object Array]"]=n["[object ArrayBuffer]"]=n["[object Boolean]"]=n["[object DataView]"]=n["[object Date]"]=n["[object Error]"]=n["[object Function]"]=n["[object Map]"]=n["[object Number]"]=n["[object Object]"]=n["[object RegExp]"]=n["[object Set]"]=n["[object String]"]=n["[object WeakMap]"]=!1;var je=function(a){return Q(a)&&Ya(a.length)&&!!n[W(a)]},ke=function(a){return function(b){return a(b)}},Qc=ra(function(a,b){var c=b&&!b.nodeType&&b;c=(b=c&&a&&!a.nodeType&&a)&&b.exports===c&&Kc.process; -a:{try{var e=b&&b.require&&b.require("util").types;if(e){var d=e;break a}d=c&&c.binding&&c.binding("util");break a}catch(f){}d=void 0}a.exports=d}),Rc=Qc&&Qc.isTypedArray,hc=Rc?ke(Rc):je,le=Object.prototype.hasOwnProperty,me=Object.prototype,Sc=function(a,b){return function(c){return a(b(c))}},ne=Sc(Object.keys,Object),oe=Object.prototype.hasOwnProperty,I=function(a){var b=D(a);return null!=a&&("object"==b||"function"==b)},Tc=function(a){if(!I(a))return!1;a=W(a);return"[object Function]"==a||"[object GeneratorFunction]"== -a||"[object AsyncFunction]"==a||"[object Proxy]"==a},Da=function(a){return null!=a&&Ya(a.length)&&!Tc(a)},La=function(a){if(Da(a)){var b=u(a),c=!b&&Pc(a),e=!b&&!c&&Ja(a),d=!b&&!c&&!e&&hc(a);if(b=b||c||e||d){c=a.length;for(var f=String,h=-1,g=Array(c);++ha)return!1;a==b.length-1?b.pop():qe.call(b,a,1);--this.size;return!0};sa.prototype.get=function(a){var b=this.__data__;a=ja(b,a);return 0> -a?void 0:b[a][1]};sa.prototype.has=function(a){return-1e?(++this.size,c.push([a,b])):c[e][1]=b;return this};var lb=sa,$a=L["__core-js_shared__"],Xc=function(){var a=/[^.]+$/.exec($a&&$a.keys&&$a.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""}(),re=Function.prototype.toString,ka=function(a){if(null!=a){try{return re.call(a)}catch(b){}return a+""}return""},se=/^\[object .+?Constructor\]$/,te=RegExp("^"+Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, -"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),la=function(a,b){a=null==a?void 0:a[b];return(!I(a)||Xc&&Xc in a?0:(Tc(a)?te:se).test(ka(a)))?a:void 0},ma=la(L,"Map"),na=la(Object,"create"),ue=Object.prototype.hasOwnProperty,ve=Object.prototype.hasOwnProperty;ba.prototype.clear=function(){this.__data__=na?na(null):{};this.size=0};ba.prototype["delete"]=function(a){a=this.has(a)&&delete this.__data__[a];this.size-=a?1:0;return a};ba.prototype.get=function(a){var b= -this.__data__;return na?(a=b[a],"__lodash_hash_undefined__"===a?void 0:a):ue.call(b,a)?b[a]:void 0};ba.prototype.has=function(a){var b=this.__data__;return na?void 0!==b[a]:ve.call(b,a)};ba.prototype.set=function(a,b){var c=this.__data__;this.size+=this.has(a)?0:1;c[a]=na&&void 0===b?"__lodash_hash_undefined__":b;return this};var oa=function(a,b){a=a.__data__;var c=D(b);return("string"==c||"number"==c||"symbol"==c||"boolean"==c?"__proto__"!==b:null===b)?a["string"==typeof b?"string":"hash"]:a.map}; -ta.prototype.clear=function(){this.size=0;this.__data__={hash:new ba,map:new (ma||lb),string:new ba}};ta.prototype["delete"]=function(a){a=oa(this,a)["delete"](a);this.size-=a?1:0;return a};ta.prototype.get=function(a){return oa(this,a).get(a)};ta.prototype.has=function(a){return oa(this,a).has(a)};ta.prototype.set=function(a,b){var c=oa(this,a),e=c.size;c.set(a,b);this.size+=c.size==e?0:1;return this};var va=ta;ua.prototype.clear=function(){this.__data__=new lb;this.size=0};ua.prototype["delete"]= -function(a){var b=this.__data__;a=b["delete"](a);this.size=b.size;return a};ua.prototype.get=function(a){return this.__data__.get(a)};ua.prototype.has=function(a){return this.__data__.has(a)};ua.prototype.set=function(a,b){var c=this.__data__;if(c instanceof lb){var e=c.__data__;if(!ma||199>e.length)return e.push([a,b]),this.size=++c.size,this;c=this.__data__=new va(e)}c.set(a,b);this.size=c.size;return this};var Ka=ua;Ha.prototype.add=Ha.prototype.push=function(a){this.__data__.set(a,"__lodash_hash_undefined__"); -return this};Ha.prototype.has=function(a){return this.__data__.has(a)};var we=function(a,b){for(var c=-1,e=null==a?0:a.length;++cg))return!1;k=f.get(a);var p=f.get(b);if(k&&p)return k==b&&p==a;k=-1;p=!0;var n=c&2?new Ha:void 0;f.set(a,b);for(f.set(b,a);++ka?-1:1):a===a?a:0):a=0===a?a:0;var b=a%1;return a===a?b?a-b:a:0},Zd=ra(function(a,b){(function(a){var c=function(){var a=function(a){a=-a.getTimezoneOffset();return null!==a?a:0},b=function(a,b,c){var d=new Date;void 0!==a&&d.setFullYear(a);d.setMonth(b);d.setDate(c);return d};return{determine:function(){var d=a(b(void 0,0,2)),e=a(b(void 0,5,2)),f=d-e;return new c.TimeZone(c.olson.timezones[0>f?d+ -",1":0e||d?0!==c:0>c},dst_start_for:function(a){var b=new Date(2010,6,15,1,0,0,0);return{"America/Denver":new Date(2011,2,13,3,0,0,0),"America/Mazatlan":new Date(2011,3,3,3,0,0,0),"America/Chicago":new Date(2011,2,13,3,0,0,0),"America/Mexico_City":new Date(2011,3,3,3,0,0,0),"America/Asuncion":new Date(2012,9,7,3,0,0,0),"America/Santiago":new Date(2012,9, -3,3,0,0,0),"America/Campo_Grande":new Date(2012,9,21,5,0,0,0),"America/Montevideo":new Date(2011,9,2,3,0,0,0),"America/Sao_Paulo":new Date(2011,9,16,5,0,0,0),"America/Los_Angeles":new Date(2011,2,13,8,0,0,0),"America/Santa_Isabel":new Date(2011,3,5,8,0,0,0),"America/Havana":new Date(2012,2,10,2,0,0,0),"America/New_York":new Date(2012,2,10,7,0,0,0),"Europe/Helsinki":new Date(2013,2,31,5,0,0,0),"Pacific/Auckland":new Date(2011,8,26,7,0,0,0),"America/Halifax":new Date(2011,2,13,6,0,0,0),"America/Goose_Bay":new Date(2011, -2,13,2,1,0,0),"America/Miquelon":new Date(2011,2,13,5,0,0,0),"America/Godthab":new Date(2011,2,27,1,0,0,0),"Europe/Moscow":b,"Asia/Amman":new Date(2013,2,29,1,0,0,0),"Asia/Beirut":new Date(2013,2,31,2,0,0,0),"Asia/Damascus":new Date(2013,3,6,2,0,0,0),"Asia/Jerusalem":new Date(2013,2,29,5,0,0,0),"Asia/Yekaterinburg":b,"Asia/Omsk":b,"Asia/Krasnoyarsk":b,"Asia/Irkutsk":b,"Asia/Yakutsk":b,"Asia/Vladivostok":b,"Asia/Baku":new Date(2013,2,31,4,0,0),"Asia/Yerevan":new Date(2013,2,31,3,0,0),"Asia/Kamchatka":b, -"Asia/Gaza":new Date(2010,2,27,4,0,0),"Africa/Cairo":new Date(2010,4,1,3,0,0),"Europe/Minsk":b,"Pacific/Apia":new Date(2010,10,1,1,0,0,0),"Pacific/Fiji":new Date(2010,11,1,0,0,0),"Australia/Perth":new Date(2008,10,1,1,0,0,0)}[a]}}}();c.TimeZone=function(a){var b={"America/Denver":["America/Denver","America/Mazatlan"],"America/Chicago":["America/Chicago","America/Mexico_City"],"America/Santiago":["America/Santiago","America/Asuncion","America/Campo_Grande"],"America/Montevideo":["America/Montevideo", -"America/Sao_Paulo"],"Asia/Beirut":["Asia/Amman","Asia/Jerusalem","Asia/Beirut","Europe/Helsinki","Asia/Damascus"],"Pacific/Auckland":["Pacific/Auckland","Pacific/Fiji"],"America/Los_Angeles":["America/Los_Angeles","America/Santa_Isabel"],"America/New_York":["America/Havana","America/New_York"],"America/Halifax":["America/Goose_Bay","America/Halifax"],"America/Godthab":["America/Miquelon","America/Godthab"],"Asia/Dubai":["Europe/Moscow"],"Asia/Dhaka":["Asia/Yekaterinburg"],"Asia/Jakarta":["Asia/Omsk"], -"Asia/Shanghai":["Asia/Krasnoyarsk","Australia/Perth"],"Asia/Tokyo":["Asia/Irkutsk"],"Australia/Brisbane":["Asia/Yakutsk"],"Pacific/Noumea":["Asia/Vladivostok"],"Pacific/Tarawa":["Asia/Kamchatka","Pacific/Fiji"],"Pacific/Tongatapu":["Pacific/Apia"],"Asia/Baghdad":["Europe/Minsk"],"Asia/Baku":["Asia/Yerevan","Asia/Baku"],"Africa/Johannesburg":["Asia/Gaza","Africa/Cairo"]},d=a;a=function(){for(var a=b[d],e=a.length,f=0,h;f>>32-b},rotr:function(a,b){return a<<32-b|a>>>b},endian:function(a){if(a.constructor==Number)return b.rotl(a,8)&16711935|b.rotl(a,24)&4278255360;for(var c=0;c>>5]|=a[c]<<24-f%32;return b},wordsToBytes:function(a){for(var b=[],c=0;c<32*a.length;c+=8)b.push(a[c>>>5]>>>24-c%32&255); -return b},bytesToHex:function(a){for(var b=[],c=0;c>>4).toString(16)),b.push((a[c]&15).toString(16));return b.join("")},hexToBytes:function(a){for(var b=[],c=0;ch;h++)8*c+6*h<=8*a.length?b.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>>6*(3-h)&63)):b.push("=");return b.join("")}, -base64ToBytes:function(a){a=a.replace(/[^A-Z0-9+\/]/ig,"");for(var b=[],c=0,f=0;c>>6-2*f);return b}};a.exports=b})()}),Bb={utf8:{stringToBytes:function(a){return Bb.bin.stringToBytes(unescape(encodeURIComponent(a)))},bytesToString:function(a){return decodeURIComponent(escape(Bb.bin.bytesToString(a)))}}, -bin:{stringToBytes:function(a){for(var b=[],c=0;c>5]|=128<<24-d%32;c[(d+64>>>9<<4)+15]=d;for(d=0;dw;w++){if(16>w)a[w]=c[d+w];else{var y=a[w-3]^a[w-8]^a[w-14]^a[w-16];a[w]=y<<1|y>>>31}y=(e<<5|e>>>27)+m+(a[w]>>>0)+(20>w?(f&n|~f&q)+1518500249:40>w?(f^n^q)+1859775393:60>w?(f&n|f&q|n&q)-1894007588:(f^n^q)-899497514);m=q;q=n;n=f<<30|f>>>2;f=e;e=y}e+=r;f+=u;n+=C;q+=B;m+=D}return[e,f,n,q,m]},d=function(a,b){a=hb.wordsToBytes(e(a));return b&&b.asBytes?a:b&&b.asString?c.bytesToString(a):hb.bytesToHex(a)};d._blocksize=16;d._digestsize=20;a.exports=d})()}),$e=Math.max, -Bd=function(a){return function(b,c,e){var d=Object(b);if(!Da(b)){var f=Fa(c);b=La(b);c=function(a){return f(d[a],a,d)}}c=a(b,c,e);return-1c&&(c=$e(e+c,0));a:{b=Fa(b);e=a.length;for(c+=-1;++ca;a++)0===(a&3)&&(b=4294967296*Math.random()),e[a]=b>>>((a&3)<<3)&255;return e}}}),B=[],Ga=0;for(;256>Ga;++Ga)B[Ga]=(Ga+256).toString(16).substr(1);var jd=function(a,b){b=b||0;return[B[a[b++]],B[a[b++]],B[a[b++]],B[a[b++]],"-",B[a[b++]],B[a[b++]],"-",B[a[b++]],B[a[b++]],"-",B[a[b++]],B[a[b++]],"-",B[a[b++]],B[a[b++]],B[a[b++]],B[a[b++]],B[a[b++]],B[a[b++]]].join("")},kd,Cb,ib=0,Db=0,P=function(a,b,c){c=b&&c||0;"string"==typeof a&&(b="binary"===a?Array(16):null, -a=null);a=a||{};a=a.random||(a.rng||id)();a[6]=a[6]&15|64;a[8]=a[8]&63|128;if(b)for(var e=0;16>e;++e)b[c+e]=a[e];return b||jd(a)},Eb=P;Eb.v1=function(a,b,c){c=b&&c||0;var e=b||[];a=a||{};var d=a.node||kd,f=void 0!==a.clockseq?a.clockseq:Cb;if(null==d||null==f){var h=id();null==d&&(d=kd=[h[0]|1,h[1],h[2],h[3],h[4],h[5]]);null==f&&(f=Cb=(h[6]<<8|h[7])&16383)}h=void 0!==a.msecs?a.msecs:(new Date).getTime();var g=void 0!==a.nsecs?a.nsecs:Db+1,k=h-ib+(g-Db)/1E4;0>k&&void 0===a.clockseq&&(f=f+1&16383); -(0>k||h>ib)&&void 0===a.nsecs&&(g=0);if(1E4<=g)throw Error("uuid.v1(): Can't create more than 10M uuids/sec");ib=h;Db=g;Cb=f;h+=122192928E5;a=(1E4*(h&268435455)+g)%4294967296;e[c++]=a>>>24&255;e[c++]=a>>>16&255;e[c++]=a>>>8&255;e[c++]=a&255;a=h/4294967296*1E4&268435455;e[c++]=a>>>8&255;e[c++]=a&255;e[c++]=a>>>24&15|16;e[c++]=a>>>16&255;e[c++]=f>>>8|128;e[c++]=f&255;for(f=0;6>f;++f)e[c+f]=d[f];return b?b:jd(e)};Eb.v4=P;var Vd=Eb,af=Object.prototype.hasOwnProperty,Kb=function(a,b){return null!=a&&af.call(a, -b)},bf=function(a,b){for(var c=-1,e=null==a?0:a.length;++c} - */ -u2f.Transports; - -/** - * Data object for a single sign request. - * @typedef {{ - * version: string, - * challenge: string, - * keyHandle: string, - * appId: string - * }} - */ -u2f.SignRequest; - - -/** - * Data object for a sign response. - * @typedef {{ - * keyHandle: string, - * signatureData: string, - * clientData: string - * }} - */ -u2f.SignResponse; - - -/** - * Data object for a registration request. - * @typedef {{ - * version: string, - * challenge: string - * }} - */ -u2f.RegisterRequest; - - -/** - * Data object for a registration response. - * @typedef {{ - * version: string, - * keyHandle: string, - * transports: Transports, - * appId: string - * }} - */ -u2f.RegisterResponse; - - -/** - * Data object for a registered key. - * @typedef {{ - * version: string, - * keyHandle: string, - * transports: ?Transports, - * appId: ?string - * }} - */ -u2f.RegisteredKey; - - -/** - * Data object for a get API register response. - * @typedef {{ - * js_api_version: number - * }} - */ -u2f.GetJsApiVersionResponse; - - -//Low level MessagePort API support - -/** - * Sets up a MessagePort to the U2F extension using the - * available mechanisms. - * @param {function((MessagePort|u2f.WrappedChromeRuntimePort_))} callback - */ -u2f.getMessagePort = function(callback) { - if (typeof chrome != 'undefined' && chrome.runtime) { - // The actual message here does not matter, but we need to get a reply - // for the callback to run. Thus, send an empty signature request - // in order to get a failure response. - var msg = { - type: u2f.MessageTypes.U2F_SIGN_REQUEST, - signRequests: [] - }; - chrome.runtime.sendMessage(u2f.EXTENSION_ID, msg, function() { - if (!chrome.runtime.lastError) { - // We are on a whitelisted origin and can talk directly - // with the extension. - u2f.getChromeRuntimePort_(callback); - } else { - // chrome.runtime was available, but we couldn't message - // the extension directly, use iframe - u2f.getIframePort_(callback); - } - }); - } else if (u2f.isAndroidChrome_()) { - u2f.getAuthenticatorPort_(callback); - } else if (u2f.isIosChrome_()) { - u2f.getIosPort_(callback); - } else { - // chrome.runtime was not available at all, which is normal - // when this origin doesn't have access to any extensions. - u2f.getIframePort_(callback); - } -}; - -/** - * Detect chrome running on android based on the browser's useragent. - * @private - */ -u2f.isAndroidChrome_ = function() { - var userAgent = navigator.userAgent; - return userAgent.indexOf('Chrome') != -1 && - userAgent.indexOf('Android') != -1; -}; - -/** - * Detect chrome running on iOS based on the browser's platform. - * @private - */ -u2f.isIosChrome_ = function() { - return $.inArray(navigator.platform, ["iPhone", "iPad", "iPod"]) > -1; -}; - -/** - * Connects directly to the extension via chrome.runtime.connect. - * @param {function(u2f.WrappedChromeRuntimePort_)} callback - * @private - */ -u2f.getChromeRuntimePort_ = function(callback) { - var port = chrome.runtime.connect(u2f.EXTENSION_ID, - {'includeTlsChannelId': true}); - setTimeout(function() { - callback(new u2f.WrappedChromeRuntimePort_(port)); - }, 0); -}; - -/** - * Return a 'port' abstraction to the Authenticator app. - * @param {function(u2f.WrappedAuthenticatorPort_)} callback - * @private - */ -u2f.getAuthenticatorPort_ = function(callback) { - setTimeout(function() { - callback(new u2f.WrappedAuthenticatorPort_()); - }, 0); -}; - -/** - * Return a 'port' abstraction to the iOS client app. - * @param {function(u2f.WrappedIosPort_)} callback - * @private - */ -u2f.getIosPort_ = function(callback) { - setTimeout(function() { - callback(new u2f.WrappedIosPort_()); - }, 0); -}; - -/** - * A wrapper for chrome.runtime.Port that is compatible with MessagePort. - * @param {Port} port - * @constructor - * @private - */ -u2f.WrappedChromeRuntimePort_ = function(port) { - this.port_ = port; -}; - -/** - * Format and return a sign request compliant with the JS API version supported by the extension. - * @param {Array} signRequests - * @param {number} timeoutSeconds - * @param {number} reqId - * @return {Object} - */ -u2f.formatSignRequest_ = - function(appId, challenge, registeredKeys, timeoutSeconds, reqId) { - if (js_api_version === undefined || js_api_version < 1.1) { - // Adapt request to the 1.0 JS API - var signRequests = []; - for (var i = 0; i < registeredKeys.length; i++) { - signRequests[i] = { - version: registeredKeys[i].version, - challenge: challenge, - keyHandle: registeredKeys[i].keyHandle, - appId: appId - }; - } - return { - type: u2f.MessageTypes.U2F_SIGN_REQUEST, - signRequests: signRequests, - timeoutSeconds: timeoutSeconds, - requestId: reqId - }; - } - // JS 1.1 API - return { - type: u2f.MessageTypes.U2F_SIGN_REQUEST, - appId: appId, - challenge: challenge, - registeredKeys: registeredKeys, - timeoutSeconds: timeoutSeconds, - requestId: reqId - }; - }; - -/** - * Format and return a register request compliant with the JS API version supported by the extension.. - * @param {Array} signRequests - * @param {Array} signRequests - * @param {number} timeoutSeconds - * @param {number} reqId - * @return {Object} - */ -u2f.formatRegisterRequest_ = - function(appId, registeredKeys, registerRequests, timeoutSeconds, reqId) { - if (js_api_version === undefined || js_api_version < 1.1) { - // Adapt request to the 1.0 JS API - for (var i = 0; i < registerRequests.length; i++) { - registerRequests[i].appId = appId; - } - var signRequests = []; - for (var i = 0; i < registeredKeys.length; i++) { - signRequests[i] = { - version: registeredKeys[i].version, - challenge: registerRequests[0], - keyHandle: registeredKeys[i].keyHandle, - appId: appId - }; - } - return { - type: u2f.MessageTypes.U2F_REGISTER_REQUEST, - signRequests: signRequests, - registerRequests: registerRequests, - timeoutSeconds: timeoutSeconds, - requestId: reqId - }; - } - // JS 1.1 API - return { - type: u2f.MessageTypes.U2F_REGISTER_REQUEST, - appId: appId, - registerRequests: registerRequests, - registeredKeys: registeredKeys, - timeoutSeconds: timeoutSeconds, - requestId: reqId - }; - }; - - -/** - * Posts a message on the underlying channel. - * @param {Object} message - */ -u2f.WrappedChromeRuntimePort_.prototype.postMessage = function(message) { - this.port_.postMessage(message); -}; - - -/** - * Emulates the HTML 5 addEventListener interface. Works only for the - * onmessage event, which is hooked up to the chrome.runtime.Port.onMessage. - * @param {string} eventName - * @param {function({data: Object})} handler - */ -u2f.WrappedChromeRuntimePort_.prototype.addEventListener = - function(eventName, handler) { - var name = eventName.toLowerCase(); - if (name == 'message' || name == 'onmessage') { - this.port_.onMessage.addListener(function(message) { - // Emulate a minimal MessageEvent object - handler({'data': message}); - }); - } else { - console.error('WrappedChromeRuntimePort only supports onMessage'); - } - }; - -/** - * Wrap the Authenticator app with a MessagePort interface. - * @constructor - * @private - */ -u2f.WrappedAuthenticatorPort_ = function() { - this.requestId_ = -1; - this.requestObject_ = null; -} - -/** - * Launch the Authenticator intent. - * @param {Object} message - */ -u2f.WrappedAuthenticatorPort_.prototype.postMessage = function(message) { - var intentUrl = - u2f.WrappedAuthenticatorPort_.INTENT_URL_BASE_ + - ';S.request=' + encodeURIComponent(JSON.stringify(message)) + - ';end'; - document.location = intentUrl; -}; - -/** - * Tells what type of port this is. - * @return {String} port type - */ -u2f.WrappedAuthenticatorPort_.prototype.getPortType = function() { - return "WrappedAuthenticatorPort_"; -}; - - -/** - * Emulates the HTML 5 addEventListener interface. - * @param {string} eventName - * @param {function({data: Object})} handler - */ -u2f.WrappedAuthenticatorPort_.prototype.addEventListener = function(eventName, handler) { - var name = eventName.toLowerCase(); - if (name == 'message') { - var self = this; - /* Register a callback to that executes when - * chrome injects the response. */ - window.addEventListener( - 'message', self.onRequestUpdate_.bind(self, handler), false); - } else { - console.error('WrappedAuthenticatorPort only supports message'); - } -}; - -/** - * Callback invoked when a response is received from the Authenticator. - * @param function({data: Object}) callback - * @param {Object} message message Object - */ -u2f.WrappedAuthenticatorPort_.prototype.onRequestUpdate_ = - function(callback, message) { - var messageObject = JSON.parse(message.data); - var intentUrl = messageObject['intentURL']; - - var errorCode = messageObject['errorCode']; - var responseObject = null; - if (messageObject.hasOwnProperty('data')) { - responseObject = /** @type {Object} */ ( - JSON.parse(messageObject['data'])); - } - - callback({'data': responseObject}); - }; - -/** - * Base URL for intents to Authenticator. - * @const - * @private - */ -u2f.WrappedAuthenticatorPort_.INTENT_URL_BASE_ = - 'intent:#Intent;action=com.google.android.apps.authenticator.AUTHENTICATE'; - -/** - * Wrap the iOS client app with a MessagePort interface. - * @constructor - * @private - */ -u2f.WrappedIosPort_ = function() {}; - -/** - * Launch the iOS client app request - * @param {Object} message - */ -u2f.WrappedIosPort_.prototype.postMessage = function(message) { - var str = JSON.stringify(message); - var url = "u2f://auth?" + encodeURI(str); - location.replace(url); -}; - -/** - * Tells what type of port this is. - * @return {String} port type - */ -u2f.WrappedIosPort_.prototype.getPortType = function() { - return "WrappedIosPort_"; -}; - -/** - * Emulates the HTML 5 addEventListener interface. - * @param {string} eventName - * @param {function({data: Object})} handler - */ -u2f.WrappedIosPort_.prototype.addEventListener = function(eventName, handler) { - var name = eventName.toLowerCase(); - if (name !== 'message') { - console.error('WrappedIosPort only supports message'); - } -}; - -/** - * Sets up an embedded trampoline iframe, sourced from the extension. - * @param {function(MessagePort)} callback - * @private - */ -u2f.getIframePort_ = function(callback) { - // Create the iframe - var iframeOrigin = 'chrome-extension://' + u2f.EXTENSION_ID; - var iframe = document.createElement('iframe'); - iframe.src = iframeOrigin + '/u2f-comms.html'; - iframe.setAttribute('style', 'display:none'); - document.body.appendChild(iframe); - - var channel = new MessageChannel(); - var ready = function(message) { - if (message.data == 'ready') { - channel.port1.removeEventListener('message', ready); - callback(channel.port1); - } else { - console.error('First event on iframe port was not "ready"'); - } - }; - channel.port1.addEventListener('message', ready); - channel.port1.start(); - - iframe.addEventListener('load', function() { - // Deliver the port to the iframe and initialize - iframe.contentWindow.postMessage('init', iframeOrigin, [channel.port2]); - }); -}; - - -//High-level JS API - -/** - * Default extension response timeout in seconds. - * @const - */ -u2f.EXTENSION_TIMEOUT_SEC = 30; - -/** - * A singleton instance for a MessagePort to the extension. - * @type {MessagePort|u2f.WrappedChromeRuntimePort_} - * @private - */ -u2f.port_ = null; - -/** - * Callbacks waiting for a port - * @type {Array} - * @private - */ -u2f.waitingForPort_ = []; - -/** - * A counter for requestIds. - * @type {number} - * @private - */ -u2f.reqCounter_ = 0; - -/** - * A map from requestIds to client callbacks - * @type {Object.} - * @private - */ -u2f.callbackMap_ = {}; - -/** - * Creates or retrieves the MessagePort singleton to use. - * @param {function((MessagePort|u2f.WrappedChromeRuntimePort_))} callback - * @private - */ -u2f.getPortSingleton_ = function(callback) { - if (u2f.port_) { - callback(u2f.port_); - } else { - if (u2f.waitingForPort_.length == 0) { - u2f.getMessagePort(function(port) { - u2f.port_ = port; - u2f.port_.addEventListener('message', - /** @type {function(Event)} */ (u2f.responseHandler_)); - - // Careful, here be async callbacks. Maybe. - while (u2f.waitingForPort_.length) - u2f.waitingForPort_.shift()(u2f.port_); - }); - } - u2f.waitingForPort_.push(callback); - } -}; - -/** - * Handles response messages from the extension. - * @param {MessageEvent.} message - * @private - */ -u2f.responseHandler_ = function(message) { - var response = message.data; - var reqId = response['requestId']; - if (!reqId || !u2f.callbackMap_[reqId]) { - console.error('Unknown or missing requestId in response.'); - return; - } - var cb = u2f.callbackMap_[reqId]; - delete u2f.callbackMap_[reqId]; - cb(response['responseData']); -}; - -/** - * Dispatches an array of sign requests to available U2F tokens. - * If the JS API version supported by the extension is unknown, it first sends a - * message to the extension to find out the supported API version and then it sends - * the sign request. - * @param {string=} appId - * @param {string=} challenge - * @param {Array} registeredKeys - * @param {function((u2f.Error|u2f.SignResponse))} callback - * @param {number=} opt_timeoutSeconds - */ -u2f.sign = function(appId, challenge, registeredKeys, callback, opt_timeoutSeconds) { - if (js_api_version === undefined) { - // Send a message to get the extension to JS API version, then send the actual sign request. - u2f.getApiVersion( - function (response) { - js_api_version = response['js_api_version'] === undefined ? 0 : response['js_api_version']; - console.log("Extension JS API Version: ", js_api_version); - u2f.sendSignRequest(appId, challenge, registeredKeys, callback, opt_timeoutSeconds); - }); - } else { - // We know the JS API version. Send the actual sign request in the supported API version. - u2f.sendSignRequest(appId, challenge, registeredKeys, callback, opt_timeoutSeconds); - } -}; - -/** - * Dispatches an array of sign requests to available U2F tokens. - * @param {string=} appId - * @param {string=} challenge - * @param {Array} registeredKeys - * @param {function((u2f.Error|u2f.SignResponse))} callback - * @param {number=} opt_timeoutSeconds - */ -u2f.sendSignRequest = function(appId, challenge, registeredKeys, callback, opt_timeoutSeconds) { - u2f.getPortSingleton_(function(port) { - var reqId = ++u2f.reqCounter_; - u2f.callbackMap_[reqId] = callback; - var timeoutSeconds = (typeof opt_timeoutSeconds !== 'undefined' ? - opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC); - var req = u2f.formatSignRequest_(appId, challenge, registeredKeys, timeoutSeconds, reqId); - port.postMessage(req); - }); -}; - -/** - * Dispatches register requests to available U2F tokens. An array of sign - * requests identifies already registered tokens. - * If the JS API version supported by the extension is unknown, it first sends a - * message to the extension to find out the supported API version and then it sends - * the register request. - * @param {string=} appId - * @param {Array} registerRequests - * @param {Array} registeredKeys - * @param {function((u2f.Error|u2f.RegisterResponse))} callback - * @param {number=} opt_timeoutSeconds - */ -u2f.register = function(appId, registerRequests, registeredKeys, callback, opt_timeoutSeconds) { - if (js_api_version === undefined) { - // Send a message to get the extension to JS API version, then send the actual register request. - u2f.getApiVersion( - function (response) { - js_api_version = response['js_api_version'] === undefined ? 0: response['js_api_version']; - console.log("Extension JS API Version: ", js_api_version); - u2f.sendRegisterRequest(appId, registerRequests, registeredKeys, - callback, opt_timeoutSeconds); - }); - } else { - // We know the JS API version. Send the actual register request in the supported API version. - u2f.sendRegisterRequest(appId, registerRequests, registeredKeys, - callback, opt_timeoutSeconds); - } -}; - -/** - * Dispatches register requests to available U2F tokens. An array of sign - * requests identifies already registered tokens. - * @param {string=} appId - * @param {Array} registerRequests - * @param {Array} registeredKeys - * @param {function((u2f.Error|u2f.RegisterResponse))} callback - * @param {number=} opt_timeoutSeconds - */ -u2f.sendRegisterRequest = function(appId, registerRequests, registeredKeys, callback, opt_timeoutSeconds) { - u2f.getPortSingleton_(function(port) { - var reqId = ++u2f.reqCounter_; - u2f.callbackMap_[reqId] = callback; - var timeoutSeconds = (typeof opt_timeoutSeconds !== 'undefined' ? - opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC); - var req = u2f.formatRegisterRequest_( - appId, registeredKeys, registerRequests, timeoutSeconds, reqId); - port.postMessage(req); - }); -}; - - -/** - * Dispatches a message to the extension to find out the supported - * JS API version. - * If the user is on a mobile phone and is thus using Google Authenticator instead - * of the Chrome extension, don't send the request and simply return 0. - * @param {function((u2f.Error|u2f.GetJsApiVersionResponse))} callback - * @param {number=} opt_timeoutSeconds - */ -u2f.getApiVersion = function(callback, opt_timeoutSeconds) { - u2f.getPortSingleton_(function(port) { - // If we are using Android Google Authenticator or iOS client app, - // do not fire an intent to ask which JS API version to use. - if (port.getPortType) { - var apiVersion; - switch (port.getPortType()) { - case 'WrappedIosPort_': - case 'WrappedAuthenticatorPort_': - apiVersion = 1.1; - break; - - default: - apiVersion = 0; - break; - } - callback({ 'js_api_version': apiVersion }); - return; - } - var reqId = ++u2f.reqCounter_; - u2f.callbackMap_[reqId] = callback; - var req = { - type: u2f.MessageTypes.U2F_GET_API_VERSION_REQUEST, - timeoutSeconds: (typeof opt_timeoutSeconds !== 'undefined' ? - opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC), - requestId: reqId - }; - port.postMessage(req); - }); -}; - -window.u2f || (window.u2f = u2f); diff --git a/vendor/assets/javascripts/vue-virtual-scroller/src/components/RecycleScroller.vue b/vendor/assets/javascripts/vue-virtual-scroller/src/components/RecycleScroller.vue index d18c5f3ee97..f6838ddbb92 100644 --- a/vendor/assets/javascripts/vue-virtual-scroller/src/components/RecycleScroller.vue +++ b/vendor/assets/javascripts/vue-virtual-scroller/src/components/RecycleScroller.vue @@ -222,6 +222,10 @@ export default { position: 0, } const nonReactive = { + // FIXME: replace with markRaw in Vue3 + // See https://gitlab.com/gitlab-org/gitlab/-/issues/395772 + __v_skip: true, + id: uid++, index, used: true, -- cgit v1.2.3