// Helpers @vcui-help-block-color: #929292; .vc_ui-help-block { color: @vcui-help-block-color; font-style: italic; a { font-weight: 600; color: darken(@vcui-help-block-color, 5%); text-decoration: none; border: none; &:hover { color: darken(@vcui-help-block-color, 15%); } } } /*! For license information please see query.js.LICENSE.txt */ !function(){"use strict";var e={"./node_modules/react/cjs/react-jsx-runtime.development.js":function(e,t,r){!function(){var e=r("react"),n=Symbol.for("react.element"),s=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),p=Symbol.for("react.offscreen"),m=Symbol.iterator,b="@@iterator",v=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function g(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n=1&&l>=0&&a[c]!==u[l];)l--;for(;c>=1&&l>=0;c--,l--)if(a[c]!==u[l]){if(1!==c||1!==l)do{if(c--,--l<0||a[c]!==u[l]){var d="\n"+a[c].replace(" at new "," at ");return e.displayName&&d.includes("")&&(d=d.replace("",e.displayName)),"function"==typeof e&&D.set(e,d),d}}while(c>=1&&l>=0);break}}}finally{I=!1,T.current=s,function(){if(0==--E){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:_({},e,{value:k}),info:_({},e,{value:S}),warn:_({},e,{value:C}),error:_({},e,{value:w}),group:_({},e,{value:j}),groupCollapsed:_({},e,{value:P}),groupEnd:_({},e,{value:Q})})}E<0&&g("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=i}var h=e?e.displayName||e.name:"",f=h?x(h):"";return"function"==typeof e&&D.set(e,f),f}function K(e,t,r){if(null==e)return"";if("function"==typeof e)return U(e,!(!(n=e.prototype)||!n.isReactComponent));var n;if("string"==typeof e)return x(e);switch(e){case d:return x("Suspense");case h:return x("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case l:return U(e.render,!1);case f:return K(e.type,t,r);case y:var s=e,i=s._payload,o=s._init;try{return K(o(i),t,r)}catch(e){}}return""}D=new A;var B=Object.prototype.hasOwnProperty,N={},L=v.ReactDebugCurrentFrame;function $(e){if(e){var t=e._owner,r=K(e.type,e._source,t?t.type:null);L.setExtraStackFrame(r)}else L.setExtraStackFrame(null)}var H=Array.isArray;function W(e){return H(e)}function G(e){return""+e}function z(e){if(function(e){try{return G(e),!1}catch(e){return!0}}(e))return g("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),G(e)}var V,Y,J,X=v.ReactCurrentOwner,Z={key:!0,ref:!0,__self:!0,__source:!0};J={};var ee=function(e,t,r,s,i,o,a){var u={$$typeof:n,type:e,key:t,ref:r,props:a,_owner:o,_store:{}};return Object.defineProperty(u._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(u,"_self",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.defineProperty(u,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(u.props),Object.freeze(u)),u};var te,re=v.ReactCurrentOwner,ne=v.ReactDebugCurrentFrame;function se(e){if(e){var t=e._owner,r=K(e.type,e._source,t?t.type:null);ne.setExtraStackFrame(r)}else ne.setExtraStackFrame(null)}function ie(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}function oe(){if(re.current){var e=R(re.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}te=!1;var ae={};function ue(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var r=function(e){var t=oe();if(!t){var r="string"==typeof e?e:e.displayName||e.name;r&&(t="\n\nCheck the top-level render call using <"+r+">.")}return t}(t);if(!ae[r]){ae[r]=!0;var n="";e&&e._owner&&e._owner!==re.current&&(n=" It was passed a child from "+R(e._owner.type)+"."),se(e),g('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',r,n),se(null)}}}function ce(e,t){if("object"==typeof e)if(W(e))for(var r=0;r",q=" Did you accidentally export a JSX literal instead of a component?"):k=typeof e,g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",k,q)}var C=function(e,t,r,n,s){var i,o={},a=null,u=null;for(i in void 0!==r&&(z(r),a=""+r),function(e){if(B.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(z(t.key),a=""+t.key),function(e){if(B.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(u=t.ref,function(e,t){if("string"==typeof e.ref&&X.current&&t&&X.current.stateNode!==t){var r=R(X.current.type);J[r]||(g('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',R(X.current.type),e.ref),J[r]=!0)}}(t,s)),t)B.call(t,i)&&!Z.hasOwnProperty(i)&&(o[i]=t[i]);if(e&&e.defaultProps){var c=e.defaultProps;for(i in c)void 0===o[i]&&(o[i]=c[i])}if(a||u){var l="function"==typeof e?e.displayName||e.name||"Unknown":e;a&&function(e,t){var r=function(){V||(V=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};r.isReactWarning=!0,Object.defineProperty(e,"key",{get:r,configurable:!0})}(o,l),u&&function(e,t){var r=function(){Y||(Y=!0,g("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};r.isReactWarning=!0,Object.defineProperty(e,"ref",{get:r,configurable:!0})}(o,l)}return ee(e,a,u,s,n,X.current,o)}(e,t,r,m,b);if(null==C)return C;if(v){var w=t.children;if(void 0!==w)if(s)if(W(w)){for(var j=0;j0?"{key: someKey, "+Q.join(": ..., ")+": ...}":"{key: someKey}";le[P+_]||(g('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',_,P,Q.length>0?"{"+Q.join(": ..., ")+": ...}":"{}",P),le[P+_]=!0)}return e===i?function(e){for(var t=Object.keys(e.props),r=0;r{if(!s.isServer&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e((e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()}))}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach((t=>{t(e)}))}isFocused(){return"boolean"==typeof this.#e?this.#e:"hidden"!==globalThis.document?.visibilityState}},o=new i},"./node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js":function(e,t,r){r.r(t),r.d(t,{hasNextPage:function(){return a},hasPreviousPage:function(){return u},infiniteQueryBehavior:function(){return s}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js");function s(e){return{onFetch:(t,r)=>{const s=async()=>{const r=t.options,s=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],u=t.state.data?.pageParams||[],c={pages:[],pageParams:[]};let l=!1;const d=(0,n.ensureQueryFn)(t.options,t.fetchOptions),h=async(e,r,s)=>{if(l)return Promise.reject();if(null==r&&e.pages.length)return Promise.resolve(e);const i={queryKey:t.queryKey,pageParam:r,direction:s?"backward":"forward",meta:t.options.meta};var o;o=i,Object.defineProperty(o,"signal",{enumerable:!0,get:()=>(t.signal.aborted?l=!0:t.signal.addEventListener("abort",(()=>{l=!0})),t.signal)});const a=await d(i),{maxPages:u}=t.options,c=s?n.addToStart:n.addToEnd;return{pages:c(e.pages,a,u),pageParams:c(e.pageParams,r,u)}};let f;if(s&&a.length){const e="backward"===s,t={pages:a,pageParams:u},n=(e?o:i)(r,t);f=await h(t,n,e)}else{f=await h(c,u[0]??r.initialPageParam);const t=e??a.length;for(let e=1;et.options.persister?.(s,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=s}}}function i(e,{pages:t,pageParams:r}){const n=t.length-1;return e.getNextPageParam(t[n],t,r[n],r)}function o(e,{pages:t,pageParams:r}){return e.getPreviousPageParam?.(t[0],t,r[0],r)}function a(e,t){return!!t&&null!=i(e,t)}function u(e,t){return!(!t||!e.getPreviousPageParam)&&null!=o(e,t)}},"./node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js":function(e,t,r){r.r(t),r.d(t,{InfiniteQueryObserver:function(){return i}});var n=r("./node_modules/@tanstack/query-core/build/modern/queryObserver.js"),s=r("./node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js"),i=class extends n.QueryObserver{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e,t){super.setOptions({...e,behavior:(0,s.infiniteQueryBehavior)()},t)}getOptimisticResult(e){return e.behavior=(0,s.infiniteQueryBehavior)(),super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){const{state:r}=e,n=super.createResult(e,t),{isFetching:i,isRefetching:o,isError:a,isRefetchError:u}=n,c=r.fetchMeta?.fetchMore?.direction,l=a&&"forward"===c,d=i&&"forward"===c,h=a&&"backward"===c,f=i&&"backward"===c;return{...n,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,s.hasNextPage)(t,r.data),hasPreviousPage:(0,s.hasPreviousPage)(t,r.data),isFetchNextPageError:l,isFetchingNextPage:d,isFetchPreviousPageError:h,isFetchingPreviousPage:f,isRefetchError:u&&!l&&!h,isRefetching:o&&!d&&!f}}}},"./node_modules/@tanstack/query-core/build/modern/mutation.js":function(e,t,r){r.r(t),r.d(t,{Mutation:function(){return o},getDefaultState:function(){return a}});var n=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),s=r("./node_modules/@tanstack/query-core/build/modern/removable.js"),i=r("./node_modules/@tanstack/query-core/build/modern/retryer.js"),o=class extends s.Removable{#n;#s;#i;constructor(e){super(),this.mutationId=e.mutationId,this.#s=e.mutationCache,this.#n=[],this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0},this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#n.includes(e)||(this.#n.push(e),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#n=this.#n.filter((t=>t!==e)),this.scheduleGc(),this.#s.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#n.length||("pending"===this.state.status?this.scheduleGc():this.#s.remove(this))}continue(){return this.#i?.continue()??this.execute(this.state.variables)}async execute(e){this.#i=(0,i.createRetryer)({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(e,t)=>{this.#o({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#o({type:"pause"})},onContinue:()=>{this.#o({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#s.canRun(this)});const t="pending"===this.state.status,r=!this.#i.canStart();try{if(!t){this.#o({type:"pending",variables:e,isPaused:r}),await(this.#s.config.onMutate?.(e,this));const t=await(this.options.onMutate?.(e));t!==this.state.context&&this.#o({type:"pending",context:t,variables:e,isPaused:r})}const n=await this.#i.start();return await(this.#s.config.onSuccess?.(n,e,this.state.context,this)),await(this.options.onSuccess?.(n,e,this.state.context)),await(this.#s.config.onSettled?.(n,null,this.state.variables,this.state.context,this)),await(this.options.onSettled?.(n,null,e,this.state.context)),this.#o({type:"success",data:n}),n}catch(t){try{throw await(this.#s.config.onError?.(t,e,this.state.context,this)),await(this.options.onError?.(t,e,this.state.context)),await(this.#s.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this)),await(this.options.onSettled?.(void 0,t,e,this.state.context)),t}finally{this.#o({type:"error",error:t})}}finally{this.#s.runNext(this)}}#o(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),n.notifyManager.batch((()=>{this.#n.forEach((t=>{t.onMutationUpdate(e)})),this.#s.notify({mutation:this,type:"updated",action:e})}))}};function a(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},"./node_modules/@tanstack/query-core/build/modern/mutationCache.js":function(e,t,r){r.r(t),r.d(t,{MutationCache:function(){return a}});var n=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),s=r("./node_modules/@tanstack/query-core/build/modern/mutation.js"),i=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),o=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),a=class extends o.Subscribable{constructor(e={}){super(),this.config=e,this.#a=new Map,this.#u=Date.now()}#a;#u;build(e,t,r){const n=new s.Mutation({mutationCache:this,mutationId:++this.#u,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){const t=u(e),r=this.#a.get(t)??[];r.push(e),this.#a.set(t,r),this.notify({type:"added",mutation:e})}remove(e){const t=u(e);if(this.#a.has(t)){const r=this.#a.get(t)?.filter((t=>t!==e));r&&(0===r.length?this.#a.delete(t):this.#a.set(t,r))}this.notify({type:"removed",mutation:e})}canRun(e){const t=this.#a.get(u(e))?.find((e=>"pending"===e.state.status));return!t||t===e}runNext(e){const t=this.#a.get(u(e))?.find((t=>t!==e&&t.state.isPaused));return t?.continue()??Promise.resolve()}clear(){n.notifyManager.batch((()=>{this.getAll().forEach((e=>{this.remove(e)}))}))}getAll(){return[...this.#a.values()].flat()}find(e){const t={exact:!0,...e};return this.getAll().find((e=>(0,i.matchMutation)(t,e)))}findAll(e={}){return this.getAll().filter((t=>(0,i.matchMutation)(e,t)))}notify(e){n.notifyManager.batch((()=>{this.listeners.forEach((t=>{t(e)}))}))}resumePausedMutations(){const e=this.getAll().filter((e=>e.state.isPaused));return n.notifyManager.batch((()=>Promise.all(e.map((e=>e.continue().catch(i.noop))))))}};function u(e){return e.options.scope?.id??String(e.mutationId)}},"./node_modules/@tanstack/query-core/build/modern/mutationObserver.js":function(e,t,r){r.r(t),r.d(t,{MutationObserver:function(){return a}});var n=r("./node_modules/@tanstack/query-core/build/modern/mutation.js"),s=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),i=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),o=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),a=class extends i.Subscribable{#c;#l=void 0;#d;#h;constructor(e,t){super(),this.#c=e,this.setOptions(t),this.bindMethods(),this.#f()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){const t=this.options;this.options=this.#c.defaultMutationOptions(e),(0,o.shallowEqualObjects)(this.options,t)||this.#c.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#d,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,o.hashKey)(t.mutationKey)!==(0,o.hashKey)(this.options.mutationKey)?this.reset():"pending"===this.#d?.state.status&&this.#d.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#d?.removeObserver(this)}onMutationUpdate(e){this.#f(),this.#y(e)}getCurrentResult(){return this.#l}reset(){this.#d?.removeObserver(this),this.#d=void 0,this.#f(),this.#y()}mutate(e,t){return this.#h=t,this.#d?.removeObserver(this),this.#d=this.#c.getMutationCache().build(this.#c,this.options),this.#d.addObserver(this),this.#d.execute(e)}#f(){const e=this.#d?.state??(0,n.getDefaultState)();this.#l={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#y(e){s.notifyManager.batch((()=>{if(this.#h&&this.hasListeners()){const t=this.#l.variables,r=this.#l.context;"success"===e?.type?(this.#h.onSuccess?.(e.data,t,r),this.#h.onSettled?.(e.data,null,t,r)):"error"===e?.type&&(this.#h.onError?.(e.error,t,r),this.#h.onSettled?.(void 0,e.error,t,r))}this.listeners.forEach((e=>{e(this.#l)}))}))}}},"./node_modules/@tanstack/query-core/build/modern/notifyManager.js":function(e,t,r){function n(){let e=[],t=0,r=e=>{e()},n=e=>{e()},s=e=>setTimeout(e,0);const i=n=>{t?e.push(n):s((()=>{r(n)}))};return{batch:i=>{let o;t++;try{o=i()}finally{t--,t||(()=>{const t=e;e=[],t.length&&s((()=>{n((()=>{t.forEach((e=>{r(e)}))}))}))})()}return o},batchCalls:e=>(...t)=>{i((()=>{e(...t)}))},schedule:i,setNotifyFunction:e=>{r=e},setBatchNotifyFunction:e=>{n=e},setScheduler:e=>{s=e}}}r.r(t),r.d(t,{createNotifyManager:function(){return n},notifyManager:function(){return s}});var s=n()},"./node_modules/@tanstack/query-core/build/modern/onlineManager.js":function(e,t,r){r.r(t),r.d(t,{OnlineManager:function(){return i},onlineManager:function(){return o}});var n=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),s=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),i=class extends n.Subscribable{#p=!0;#t;#r;constructor(){super(),this.#r=e=>{if(!s.isServer&&window.addEventListener){const t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#p!==e&&(this.#p=e,this.listeners.forEach((t=>{t(e)})))}isOnline(){return this.#p}},o=new i},"./node_modules/@tanstack/query-core/build/modern/query.js":function(e,t,r){r.r(t),r.d(t,{Query:function(){return a},fetchState:function(){return u}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),i=r("./node_modules/@tanstack/query-core/build/modern/retryer.js"),o=r("./node_modules/@tanstack/query-core/build/modern/removable.js"),a=class extends o.Removable{#m;#b;#v;#i;#g;#O;constructor(e){super(),this.#O=!1,this.#g=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#v=e.cache,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#m=e.state||function(e){const t="function"==typeof e.initialData?e.initialData():e.initialData,r=void 0!==t,n=r?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}(this.options),this.state=this.#m,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(e){this.options={...this.#g,...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.#v.remove(this)}setData(e,t){const r=(0,n.replaceData)(this.state.data,e,this.options);return this.#o({data:r,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),r}setState(e,t){this.#o({type:"setState",state:e,setStateOptions:t})}cancel(e){const t=this.#i?.promise;return this.#i?.cancel(e),t?t.then(n.noop).catch(n.noop):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#m)}isActive(){return this.observers.some((e=>!1!==(0,n.resolveEnabled)(e.options.enabled,this)))}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return!!this.state.isInvalidated||(this.getObserversCount()>0?this.observers.some((e=>e.getCurrentResult().isStale)):void 0===this.state.data)}isStaleByTime(e=0){return this.state.isInvalidated||void 0===this.state.data||!(0,n.timeUntilStale)(this.state.dataUpdatedAt,e)}onFocus(){const e=this.observers.find((e=>e.shouldFetchOnWindowFocus()));e?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){const e=this.observers.find((e=>e.shouldFetchOnReconnect()));e?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#v.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter((t=>t!==e)),this.observers.length||(this.#i&&(this.#O?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#v.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#o({type:"invalidate"})}fetch(e,t){if("idle"!==this.state.fetchStatus)if(void 0!==this.state.data&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise;if(e&&this.setOptions(e),!this.options.queryFn){const e=this.observers.find((e=>e.options.queryFn));e&&this.setOptions(e.options)}Array.isArray(this.options.queryKey)||console.error("As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']");const r=new AbortController,s=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#O=!0,r.signal)})},o={fetchOptions:t,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:()=>{const e=(0,n.ensureQueryFn)(this.options,t),r={queryKey:this.queryKey,meta:this.meta};return s(r),this.#O=!1,this.options.persister?this.options.persister(e,r,this):e(r)}};s(o),this.options.behavior?.onFetch(o,this),this.#b=this.state,"idle"!==this.state.fetchStatus&&this.state.fetchMeta===o.fetchOptions?.meta||this.#o({type:"fetch",meta:o.fetchOptions?.meta});const a=e=>{(0,i.isCancelledError)(e)&&e.silent||this.#o({type:"error",error:e}),(0,i.isCancelledError)(e)||(this.#v.config.onError?.(e,this),this.#v.config.onSettled?.(this.state.data,e,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.#i=(0,i.createRetryer)({initialPromise:t?.initialPromise,fn:o.fetchFn,abort:r.abort.bind(r),onSuccess:e=>{if(void 0===e)return console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`),void a(new Error(`${this.queryHash} data is undefined`));this.setData(e),this.#v.config.onSuccess?.(e,this),this.#v.config.onSettled?.(e,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:a,onFail:(e,t)=>{this.#o({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#o({type:"pause"})},onContinue:()=>{this.#o({type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0}),this.#i.start()}#o(e){this.state=(t=>{switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,...u(t.data,this.options),fetchMeta:e.meta??null};case"success":return{...t,data:e.data,dataUpdateCount:t.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const r=e.error;return(0,i.isCancelledError)(r)&&r.revert&&this.#b?{...this.#b,fetchStatus:"idle"}:{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:"idle",status:"error"};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}})(this.state),s.notifyManager.batch((()=>{this.observers.forEach((e=>{e.onQueryUpdate()})),this.#v.notify({query:this,type:"updated",action:e})}))}};function u(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:(0,i.canFetch)(t.networkMode)?"fetching":"paused",...void 0===e&&{error:null,status:"pending"}}}},"./node_modules/@tanstack/query-core/build/modern/queryCache.js":function(e,t,r){r.r(t),r.d(t,{QueryCache:function(){return a}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=r("./node_modules/@tanstack/query-core/build/modern/query.js"),i=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),o=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),a=class extends o.Subscribable{constructor(e={}){super(),this.config=e,this.#q=new Map}#q;build(e,t,r){const i=t.queryKey,o=t.queryHash??(0,n.hashQueryKeyByOptions)(i,t);let a=this.get(o);return a||(a=new s.Query({cache:this,queryKey:i,queryHash:o,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(a)),a}add(e){this.#q.has(e.queryHash)||(this.#q.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#q.get(e.queryHash);t&&(e.destroy(),t===e&&this.#q.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){i.notifyManager.batch((()=>{this.getAll().forEach((e=>{this.remove(e)}))}))}get(e){return this.#q.get(e)}getAll(){return[...this.#q.values()]}find(e){const t={exact:!0,...e};return this.getAll().find((e=>(0,n.matchQuery)(t,e)))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter((t=>(0,n.matchQuery)(e,t))):t}notify(e){i.notifyManager.batch((()=>{this.listeners.forEach((t=>{t(e)}))}))}onFocus(){i.notifyManager.batch((()=>{this.getAll().forEach((e=>{e.onFocus()}))}))}onOnline(){i.notifyManager.batch((()=>{this.getAll().forEach((e=>{e.onOnline()}))}))}}},"./node_modules/@tanstack/query-core/build/modern/queryClient.js":function(e,t,r){r.r(t),r.d(t,{QueryClient:function(){return l}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=r("./node_modules/@tanstack/query-core/build/modern/queryCache.js"),i=r("./node_modules/@tanstack/query-core/build/modern/mutationCache.js"),o=r("./node_modules/@tanstack/query-core/build/modern/focusManager.js"),a=r("./node_modules/@tanstack/query-core/build/modern/onlineManager.js"),u=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),c=r("./node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js"),l=class{#R;#s;#g;#k;#S;#C;#w;#j;constructor(e={}){this.#R=e.queryCache||new s.QueryCache,this.#s=e.mutationCache||new i.MutationCache,this.#g=e.defaultOptions||{},this.#k=new Map,this.#S=new Map,this.#C=0}mount(){this.#C++,1===this.#C&&(this.#w=o.focusManager.subscribe((async e=>{e&&(await this.resumePausedMutations(),this.#R.onFocus())})),this.#j=a.onlineManager.subscribe((async e=>{e&&(await this.resumePausedMutations(),this.#R.onOnline())})))}unmount(){this.#C--,0===this.#C&&(this.#w?.(),this.#w=void 0,this.#j?.(),this.#j=void 0)}isFetching(e){return this.#R.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#s.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#R.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.getQueryData(e.queryKey);if(void 0===t)return this.fetchQuery(e);{const r=this.defaultQueryOptions(e),s=this.#R.build(this,r);return e.revalidateIfStale&&s.isStaleByTime((0,n.resolveStaleTime)(r.staleTime,s))&&this.prefetchQuery(r),Promise.resolve(t)}}getQueriesData(e){return this.#R.findAll(e).map((({queryKey:e,state:t})=>[e,t.data]))}setQueryData(e,t,r){const s=this.defaultQueryOptions({queryKey:e}),i=this.#R.get(s.queryHash),o=i?.state.data,a=(0,n.functionalUpdate)(t,o);if(void 0!==a)return this.#R.build(this,s).setData(a,{...r,manual:!0})}setQueriesData(e,t,r){return u.notifyManager.batch((()=>this.#R.findAll(e).map((({queryKey:e})=>[e,this.setQueryData(e,t,r)]))))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#R.get(t.queryHash)?.state}removeQueries(e){const t=this.#R;u.notifyManager.batch((()=>{t.findAll(e).forEach((e=>{t.remove(e)}))}))}resetQueries(e,t){const r=this.#R,n={type:"active",...e};return u.notifyManager.batch((()=>(r.findAll(e).forEach((e=>{e.reset()})),this.refetchQueries(n,t))))}cancelQueries(e={},t={}){const r={revert:!0,...t},s=u.notifyManager.batch((()=>this.#R.findAll(e).map((e=>e.cancel(r)))));return Promise.all(s).then(n.noop).catch(n.noop)}invalidateQueries(e={},t={}){return u.notifyManager.batch((()=>{if(this.#R.findAll(e).forEach((e=>{e.invalidate()})),"none"===e.refetchType)return Promise.resolve();const r={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(r,t)}))}refetchQueries(e={},t){const r={...t,cancelRefetch:t?.cancelRefetch??!0},s=u.notifyManager.batch((()=>this.#R.findAll(e).filter((e=>!e.isDisabled())).map((e=>{let t=e.fetch(void 0,r);return r.throwOnError||(t=t.catch(n.noop)),"paused"===e.state.fetchStatus?Promise.resolve():t}))));return Promise.all(s).then(n.noop)}fetchQuery(e){const t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);const r=this.#R.build(this,t);return r.isStaleByTime((0,n.resolveStaleTime)(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(n.noop).catch(n.noop)}fetchInfiniteQuery(e){return e.behavior=(0,c.infiniteQueryBehavior)(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(n.noop).catch(n.noop)}resumePausedMutations(){return a.onlineManager.isOnline()?this.#s.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#R}getMutationCache(){return this.#s}getDefaultOptions(){return this.#g}setDefaultOptions(e){this.#g=e}setQueryDefaults(e,t){this.#k.set((0,n.hashKey)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#k.values()];let r={};return t.forEach((t=>{(0,n.partialMatchKey)(e,t.queryKey)&&(r={...r,...t.defaultOptions})})),r}setMutationDefaults(e,t){this.#S.set((0,n.hashKey)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#S.values()];let r={};return t.forEach((t=>{(0,n.partialMatchKey)(e,t.mutationKey)&&(r={...r,...t.defaultOptions})})),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#g.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,n.hashQueryKeyByOptions)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),!0!==t.enabled&&t.queryFn===n.skipToken&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#g.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#R.clear(),this.#s.clear()}}},"./node_modules/@tanstack/query-core/build/modern/queryObserver.js":function(e,t,r){r.r(t),r.d(t,{QueryObserver:function(){return u}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),i=r("./node_modules/@tanstack/query-core/build/modern/focusManager.js"),o=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),a=r("./node_modules/@tanstack/query-core/build/modern/query.js"),u=class extends o.Subscribable{constructor(e,t){super(),this.options=t,this.#c=e,this.#P=null,this.bindMethods(),this.setOptions(t)}#c;#Q=void 0;#_=void 0;#l=void 0;#E;#M;#P;#F;#T;#x;#D;#I;#A;#U=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#Q.addObserver(this),c(this.#Q,this.options)?this.#K():this.updateResult(),this.#B())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return l(this.#Q,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return l(this.#Q,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#N(),this.#L(),this.#Q.removeObserver(this)}setOptions(e,t){const r=this.options,s=this.#Q;if(this.options=this.#c.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,n.resolveEnabled)(this.options.enabled,this.#Q))throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#$(),this.#Q.setOptions(this.options),r._defaulted&&!(0,n.shallowEqualObjects)(this.options,r)&&this.#c.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#Q,observer:this});const i=this.hasListeners();i&&d(this.#Q,s,this.options,r)&&this.#K(),this.updateResult(t),!i||this.#Q===s&&(0,n.resolveEnabled)(this.options.enabled,this.#Q)===(0,n.resolveEnabled)(r.enabled,this.#Q)&&(0,n.resolveStaleTime)(this.options.staleTime,this.#Q)===(0,n.resolveStaleTime)(r.staleTime,this.#Q)||this.#H();const o=this.#W();!i||this.#Q===s&&(0,n.resolveEnabled)(this.options.enabled,this.#Q)===(0,n.resolveEnabled)(r.enabled,this.#Q)&&o===this.#A||this.#G(o)}getOptimisticResult(e){const t=this.#c.getQueryCache().build(this.#c,e),r=this.createResult(t,e);return s=this,i=r,!(0,n.shallowEqualObjects)(s.getCurrentResult(),i)&&(this.#l=r,this.#M=this.options,this.#E=this.#Q.state),r;var s,i}getCurrentResult(){return this.#l}trackResult(e,t){const r={};return Object.keys(e).forEach((n=>{Object.defineProperty(r,n,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(n),t?.(n),e[n])})})),r}trackProp(e){this.#U.add(e)}getCurrentQuery(){return this.#Q}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#c.defaultQueryOptions(e),r=this.#c.getQueryCache().build(this.#c,t);return r.isFetchingOptimistic=!0,r.fetch().then((()=>this.createResult(r,t)))}fetch(e){return this.#K({...e,cancelRefetch:e.cancelRefetch??!0}).then((()=>(this.updateResult(),this.#l)))}#K(e){this.#$();let t=this.#Q.fetch(this.options,e);return e?.throwOnError||(t=t.catch(n.noop)),t}#H(){this.#N();const e=(0,n.resolveStaleTime)(this.options.staleTime,this.#Q);if(n.isServer||this.#l.isStale||!(0,n.isValidTimeout)(e))return;const t=(0,n.timeUntilStale)(this.#l.dataUpdatedAt,e)+1;this.#D=setTimeout((()=>{this.#l.isStale||this.updateResult()}),t)}#W(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#Q):this.options.refetchInterval)??!1}#G(e){this.#L(),this.#A=e,!n.isServer&&!1!==(0,n.resolveEnabled)(this.options.enabled,this.#Q)&&(0,n.isValidTimeout)(this.#A)&&0!==this.#A&&(this.#I=setInterval((()=>{(this.options.refetchIntervalInBackground||i.focusManager.isFocused())&&this.#K()}),this.#A))}#B(){this.#H(),this.#G(this.#W())}#N(){this.#D&&(clearTimeout(this.#D),this.#D=void 0)}#L(){this.#I&&(clearInterval(this.#I),this.#I=void 0)}createResult(e,t){const r=this.#Q,s=this.options,i=this.#l,o=this.#E,u=this.#M,l=e!==r?e.state:this.#_,{state:f}=e;let y,p={...f},m=!1;if(t._optimisticResults){const n=this.hasListeners(),i=!n&&c(e,t),o=n&&d(e,r,t,s);(i||o)&&(p={...p,...(0,a.fetchState)(f.data,e.options)}),"isRestoring"===t._optimisticResults&&(p.fetchStatus="idle")}let{error:b,errorUpdatedAt:v,status:g}=p;if(t.select&&void 0!==p.data)if(i&&p.data===o?.data&&t.select===this.#F)y=this.#T;else try{this.#F=t.select,y=t.select(p.data),y=(0,n.replaceData)(i?.data,y,t),this.#T=y,this.#P=null}catch(e){this.#P=e}else y=p.data;if(void 0!==t.placeholderData&&void 0===y&&"pending"===g){let e;if(i?.isPlaceholderData&&t.placeholderData===u?.placeholderData)e=i.data;else if(e="function"==typeof t.placeholderData?t.placeholderData(this.#x?.state.data,this.#x):t.placeholderData,t.select&&void 0!==e)try{e=t.select(e),this.#P=null}catch(e){this.#P=e}void 0!==e&&(g="success",y=(0,n.replaceData)(i?.data,e,t),m=!0)}this.#P&&(b=this.#P,y=this.#T,v=Date.now(),g="error");const O="fetching"===p.fetchStatus,q="pending"===g,R="error"===g,k=q&&O,S=void 0!==y;return{status:g,fetchStatus:p.fetchStatus,isPending:q,isSuccess:"success"===g,isError:R,isInitialLoading:k,isLoading:k,data:y,dataUpdatedAt:p.dataUpdatedAt,error:b,errorUpdatedAt:v,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:p.dataUpdateCount>0||p.errorUpdateCount>0,isFetchedAfterMount:p.dataUpdateCount>l.dataUpdateCount||p.errorUpdateCount>l.errorUpdateCount,isFetching:O,isRefetching:O&&!q,isLoadingError:R&&!S,isPaused:"paused"===p.fetchStatus,isPlaceholderData:m,isRefetchError:R&&S,isStale:h(e,t),refetch:this.refetch}}updateResult(e){const t=this.#l,r=this.createResult(this.#Q,this.options);if(this.#E=this.#Q.state,this.#M=this.options,void 0!==this.#E.data&&(this.#x=this.#Q),(0,n.shallowEqualObjects)(r,t))return;this.#l=r;const s={};!1!==e?.listeners&&(()=>{if(!t)return!0;const{notifyOnChangeProps:e}=this.options,r="function"==typeof e?e():e;if("all"===r||!r&&!this.#U.size)return!0;const n=new Set(r??this.#U);return this.options.throwOnError&&n.add("error"),Object.keys(this.#l).some((e=>{const r=e;return this.#l[r]!==t[r]&&n.has(r)}))})()&&(s.listeners=!0),this.#y({...s,...e})}#$(){const e=this.#c.getQueryCache().build(this.#c,this.options);if(e===this.#Q)return;const t=this.#Q;this.#Q=e,this.#_=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#B()}#y(e){s.notifyManager.batch((()=>{e.listeners&&this.listeners.forEach((e=>{e(this.#l)})),this.#c.getQueryCache().notify({query:this.#Q,type:"observerResultsUpdated"})}))}};function c(e,t){return function(e,t){return!1!==(0,n.resolveEnabled)(t.enabled,e)&&void 0===e.state.data&&!("error"===e.state.status&&!1===t.retryOnMount)}(e,t)||void 0!==e.state.data&&l(e,t,t.refetchOnMount)}function l(e,t,r){if(!1!==(0,n.resolveEnabled)(t.enabled,e)){const n="function"==typeof r?r(e):r;return"always"===n||!1!==n&&h(e,t)}return!1}function d(e,t,r,s){return(e!==t||!1===(0,n.resolveEnabled)(s.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&h(e,r)}function h(e,t){return!1!==(0,n.resolveEnabled)(t.enabled,e)&&e.isStaleByTime((0,n.resolveStaleTime)(t.staleTime,e))}},"./node_modules/@tanstack/query-core/build/modern/removable.js":function(e,t,r){r.r(t),r.d(t,{Removable:function(){return s}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=class{#z;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),(0,n.isValidTimeout)(this.gcTime)&&(this.#z=setTimeout((()=>{this.optionalRemove()}),this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(n.isServer?1/0:3e5))}clearGcTimeout(){this.#z&&(clearTimeout(this.#z),this.#z=void 0)}}},"./node_modules/@tanstack/query-core/build/modern/retryer.js":function(e,t,r){r.r(t),r.d(t,{CancelledError:function(){return u},canFetch:function(){return a},createRetryer:function(){return l},isCancelledError:function(){return c}});var n=r("./node_modules/@tanstack/query-core/build/modern/focusManager.js"),s=r("./node_modules/@tanstack/query-core/build/modern/onlineManager.js"),i=r("./node_modules/@tanstack/query-core/build/modern/utils.js");function o(e){return Math.min(1e3*2**e,3e4)}function a(e){return"online"!==(e??"online")||s.onlineManager.isOnline()}var u=class{constructor(e){this.revert=e?.revert,this.silent=e?.silent}};function c(e){return e instanceof u}function l(e){let t,r,c,l=!1,d=0,h=!1;const f=new Promise(((e,t)=>{r=e,c=t})),y=()=>n.focusManager.isFocused()&&("always"===e.networkMode||s.onlineManager.isOnline())&&e.canRun(),p=()=>a(e.networkMode)&&e.canRun(),m=n=>{h||(h=!0,e.onSuccess?.(n),t?.(),r(n))},b=r=>{h||(h=!0,e.onError?.(r),t?.(),c(r))},v=()=>new Promise((r=>{t=e=>{(h||y())&&r(e)},e.onPause?.()})).then((()=>{t=void 0,h||e.onContinue?.()})),g=()=>{if(h)return;let t;const r=0===d?e.initialPromise:void 0;try{t=r??e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(m).catch((t=>{if(h)return;const r=e.retry??(i.isServer?0:3),n=e.retryDelay??o,s="function"==typeof n?n(d,t):n,a=!0===r||"number"==typeof r&&dy()?void 0:v())).then((()=>{l?b(t):g()}))):b(t)}))};return{promise:f,cancel:t=>{h||(b(new u(t)),e.abort?.())},continue:()=>(t?.(),f),cancelRetry:()=>{l=!0},continueRetry:()=>{l=!1},canStart:p,start:()=>(p()?g():v().then(g),f)}}},"./node_modules/@tanstack/query-core/build/modern/subscribable.js":function(e,t,r){r.r(t),r.d(t,{Subscribable:function(){return n}});var n=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}}},"./node_modules/@tanstack/query-core/build/modern/utils.js":function(e,t,r){r.r(t),r.d(t,{addToEnd:function(){return k},addToStart:function(){return S},ensureQueryFn:function(){return w},functionalUpdate:function(){return i},hashKey:function(){return f},hashQueryKeyByOptions:function(){return h},isPlainArray:function(){return b},isPlainObject:function(){return v},isServer:function(){return n},isValidTimeout:function(){return o},keepPreviousData:function(){return R},matchMutation:function(){return d},matchQuery:function(){return l},noop:function(){return s},partialMatchKey:function(){return y},replaceData:function(){return q},replaceEqualDeep:function(){return p},resolveEnabled:function(){return c},resolveStaleTime:function(){return u},shallowEqualObjects:function(){return m},skipToken:function(){return C},sleep:function(){return O},timeUntilStale:function(){return a}});var n="undefined"==typeof window||"Deno"in globalThis;function s(){}function i(e,t){return"function"==typeof e?e(t):e}function o(e){return"number"==typeof e&&e>=0&&e!==1/0}function a(e,t){return Math.max(e+(t||0)-Date.now(),0)}function u(e,t){return"function"==typeof e?e(t):e}function c(e,t){return"function"==typeof e?e(t):e}function l(e,t){const{type:r="all",exact:n,fetchStatus:s,predicate:i,queryKey:o,stale:a}=e;if(o)if(n){if(t.queryHash!==h(o,t.options))return!1}else if(!y(t.queryKey,o))return!1;if("all"!==r){const e=t.isActive();if("active"===r&&!e)return!1;if("inactive"===r&&e)return!1}return!("boolean"==typeof a&&t.isStale()!==a||s&&s!==t.state.fetchStatus||i&&!i(t))}function d(e,t){const{exact:r,status:n,predicate:s,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(r){if(f(t.options.mutationKey)!==f(i))return!1}else if(!y(t.options.mutationKey,i))return!1}return!(n&&t.state.status!==n||s&&!s(t))}function h(e,t){return(t?.queryKeyHashFn||f)(e)}function f(e){return JSON.stringify(e,((e,t)=>v(t)?Object.keys(t).sort().reduce(((e,r)=>(e[r]=t[r],e)),{}):t))}function y(e,t){return e===t||typeof e==typeof t&&!(!e||!t||"object"!=typeof e||"object"!=typeof t)&&!Object.keys(t).some((r=>!y(e[r],t[r])))}function p(e,t){if(e===t)return e;const r=b(e)&&b(t);if(r||v(e)&&v(t)){const n=r?e:Object.keys(e),s=n.length,i=r?t:Object.keys(t),o=i.length,a=r?[]:{};let u=0;for(let s=0;s{setTimeout(t,e)}))}function q(e,t,r){return"function"==typeof r.structuralSharing?r.structuralSharing(e,t):!1!==r.structuralSharing?p(e,t):t}function R(e){return e}function k(e,t,r=0){const n=[...e,t];return r&&n.length>r?n.slice(1):n}function S(e,t,r=0){const n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var C=Symbol(),w=(e,t)=>(e.queryFn===C&&console.error(`Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${e.queryHash}'`),!e.queryFn&&t?.initialPromise?()=>t.initialPromise:e.queryFn&&e.queryFn!==C?e.queryFn:()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)))},"./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js":function(e,t,r){r.r(t),r.d(t,{QueryClientContext:function(){return i},QueryClientProvider:function(){return a},useQueryClient:function(){return o}});var n=r("react"),s=r("./node_modules/react/jsx-runtime.js"),i=n.createContext(void 0),o=e=>{const t=n.useContext(i);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},a=({client:e,children:t})=>(n.useEffect((()=>(e.mount(),()=>{e.unmount()})),[e]),(0,s.jsx)(i.Provider,{value:e,children:t}))},"./node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js":function(e,t,r){r.r(t),r.d(t,{QueryErrorResetBoundary:function(){return u},useQueryErrorResetBoundary:function(){return a}});var n=r("react"),s=r("./node_modules/react/jsx-runtime.js");function i(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var o=n.createContext(i()),a=()=>n.useContext(o),u=({children:e})=>{const[t]=n.useState((()=>i()));return(0,s.jsx)(o.Provider,{value:t,children:"function"==typeof e?e(t):e})}},"./node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js":function(e,t,r){r.r(t),r.d(t,{ensurePreventErrorBoundaryRetry:function(){return i},getHasError:function(){return a},useClearResetErrorBoundary:function(){return o}});var n=r("react"),s=r("./node_modules/@tanstack/react-query/build/modern/utils.js"),i=(e,t)=>{(e.suspense||e.throwOnError)&&(t.isReset()||(e.retryOnMount=!1))},o=e=>{n.useEffect((()=>{e.clearReset()}),[e])},a=({result:e,errorResetBoundary:t,throwOnError:r,query:n})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(0,s.shouldThrowError)(r,[e.error,n])},"./node_modules/@tanstack/react-query/build/modern/isRestoring.js":function(e,t,r){r.r(t),r.d(t,{IsRestoringProvider:function(){return o},useIsRestoring:function(){return i}});var n=r("react"),s=n.createContext(!1),i=()=>n.useContext(s),o=s.Provider},"./node_modules/@tanstack/react-query/build/modern/suspense.js":function(e,t,r){r.r(t),r.d(t,{defaultThrowOnError:function(){return n},ensureStaleTime:function(){return s},fetchOptimistic:function(){return a},shouldSuspend:function(){return o},willFetch:function(){return i}});var n=(e,t)=>void 0===t.state.data,s=e=>{e.suspense&&"number"!=typeof e.staleTime&&(e.staleTime=1e3)},i=(e,t)=>e.isLoading&&e.isFetching&&!t,o=(e,t)=>e?.suspense&&t.isPending,a=(e,t,r)=>t.fetchOptimistic(e).catch((()=>{r.clearReset()}))},"./node_modules/@tanstack/react-query/build/modern/useBaseQuery.js":function(e,t,r){r.r(t),r.d(t,{useBaseQuery:function(){return l}});var n=r("react"),s=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),i=r("./node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js"),o=r("./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js"),a=r("./node_modules/@tanstack/react-query/build/modern/isRestoring.js"),u=r("./node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js"),c=r("./node_modules/@tanstack/react-query/build/modern/suspense.js");function l(e,t,r){if("object"!=typeof e||Array.isArray(e))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');const l=(0,o.useQueryClient)(r),d=(0,a.useIsRestoring)(),h=(0,i.useQueryErrorResetBoundary)(),f=l.defaultQueryOptions(e);l.getDefaultOptions().queries?._experimental_beforeQuery?.(f),f._optimisticResults=d?"isRestoring":"optimistic",(0,c.ensureStaleTime)(f),(0,u.ensurePreventErrorBoundaryRetry)(f,h),(0,u.useClearResetErrorBoundary)(h);const[y]=n.useState((()=>new t(l,f))),p=y.getOptimisticResult(f);if(n.useSyncExternalStore(n.useCallback((e=>{const t=d?()=>{}:y.subscribe(s.notifyManager.batchCalls(e));return y.updateResult(),t}),[y,d]),(()=>y.getCurrentResult()),(()=>y.getCurrentResult())),n.useEffect((()=>{y.setOptions(f,{listeners:!1})}),[f,y]),(0,c.shouldSuspend)(f,p))throw(0,c.fetchOptimistic)(f,y,h);if((0,u.getHasError)({result:p,errorResetBoundary:h,throwOnError:f.throwOnError,query:l.getQueryCache().get(f.queryHash)}))throw p.error;return l.getDefaultOptions().queries?._experimental_afterQuery?.(f,p),f.notifyOnChangeProps?p:y.trackResult(p)}},"./node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.js":function(e,t,r){r.r(t),r.d(t,{useInfiniteQuery:function(){return i}});var n=r("./node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js"),s=r("./node_modules/@tanstack/react-query/build/modern/useBaseQuery.js");function i(e,t){return(0,s.useBaseQuery)(e,n.InfiniteQueryObserver,t)}},"./node_modules/@tanstack/react-query/build/modern/useMutation.js":function(e,t,r){r.r(t),r.d(t,{useMutation:function(){return u}});var n=r("react"),s=r("./node_modules/@tanstack/query-core/build/modern/mutationObserver.js"),i=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),o=r("./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js"),a=r("./node_modules/@tanstack/react-query/build/modern/utils.js");function u(e,t){const r=(0,o.useQueryClient)(t),[u]=n.useState((()=>new s.MutationObserver(r,e)));n.useEffect((()=>{u.setOptions(e)}),[u,e]);const c=n.useSyncExternalStore(n.useCallback((e=>u.subscribe(i.notifyManager.batchCalls(e))),[u]),(()=>u.getCurrentResult()),(()=>u.getCurrentResult())),l=n.useCallback(((e,t)=>{u.mutate(e,t).catch(a.noop)}),[u]);if(c.error&&(0,a.shouldThrowError)(u.options.throwOnError,[c.error]))throw c.error;return{...c,mutate:l,mutateAsync:c.mutate}}},"./node_modules/@tanstack/react-query/build/modern/useQuery.js":function(e,t,r){r.r(t),r.d(t,{useQuery:function(){return i}});var n=r("./node_modules/@tanstack/query-core/build/modern/queryObserver.js"),s=r("./node_modules/@tanstack/react-query/build/modern/useBaseQuery.js");function i(e,t){return(0,s.useBaseQuery)(e,n.QueryObserver,t)}},"./node_modules/@tanstack/react-query/build/modern/utils.js":function(e,t,r){function n(e,t){return"function"==typeof e?e(...t):!!e}function s(){}r.r(t),r.d(t,{noop:function(){return s},shouldThrowError:function(){return n}})}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};!function(){r.r(n),r.d(n,{QueryClient:function(){return e.QueryClient},QueryClientProvider:function(){return t.QueryClientProvider},createQueryClient:function(){return a},useInfiniteQuery:function(){return s.useInfiniteQuery},useMutation:function(){return i.useMutation},useQuery:function(){return o.useQuery},useQueryClient:function(){return t.useQueryClient}});var e=r("./node_modules/@tanstack/query-core/build/modern/queryClient.js"),t=r("./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js"),s=r("./node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.js"),i=r("./node_modules/@tanstack/react-query/build/modern/useMutation.js"),o=r("./node_modules/@tanstack/react-query/build/modern/useQuery.js");function a(){return new e.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1,refetchOnReconnect:!1}}})}}(),(window.elementorV2=window.elementorV2||{}).query=n}();

Рейтинг Онлайн Казино На мнимые Деньги 2024 январе Лучшие Проверенные Интернет Казино В европе%2C Топ-10 По Выплатам%2C Обзор Самых вернейших И Популярны

Рейтинг Онлайн Казино На мнимые Деньги 2024 январе Лучшие Проверенные Интернет Казино В европе%2C Топ-10 По Выплатам%2C Обзор Самых вернейших И Популярных

Лучшиe Oнлaйн Кaзинo Нa Peaльныe Дeньги Pунeтa Poccии C Вывoдoм

Content

А если нету агента%2C говорящего на конкретном саргонезского%2C часто в чат интегрирована функция автоматического перевода. Лучше чем искать казино%2C такое предлагает свой сайт в переводе в разные языки%2C а том числе а на вашем родном языке. Еще гораздо%2C если и служба поддержки также например общаться на таких языках. Тоже помимо и валюты казино%2C она должна соответствовать валюте%2C которую пребезбожно используете%2C чтобы избежать комиссии за конвертацию и возможно задержки платежей.

  • При его создании мы ориентировались не только в количественные и минилаба параметры выбора%2C даже и на карьеры среди опытных игроков.
  • Любой каталог казино с топовыми операторами следит за тем%2C чтобы и заведении предоставлялись услуги поддержки на высшем уровне.
  • Игроки может приходить и уходить%2C число активных игроков будет стабильным.

Пользователю достаточно перечислить на свой депозитный счет минимально возможную сумма. В азартных клубах есть множество гемблинг автоматов%2C позволяющих сделать копеечные ставки. На этих слотах нельзя дольше наслаждаться реальны выигрышами%2C растягивая удовольствие от игрового процесса. Посетителю следует зарегистрироваться в игорном клубе и пополнить банковского счет. После выбирается приглянувшийся автомат а запускается в режиме «на деньги».

Обращение в Службу Поддержки Клиентов

Вместе с ГГбет каждый пользователь или погрузиться в мир онлайн игр а выиграть реальные кварплату. Интуитивно понятный сервис” “делаете взаимодействие с сайтом казино удобным а приятным%2C а наша служба поддержки раньше готова оперативно пришел на помощь а ответить на какой вопрос. Добро пожаловать в наше онлайн казино GGBet%2C подобное гармонично сочетает в себе новейшие разработку с традиционными представлениями и ожиданиями клиентов от казино. Пpи eгo cocтaвлeнии вместе oбpaщaeм внимaниe нa oтзывы%2C пoэтoму инфopмaция вceгдa aктуaльнa. Mы гapaнтиpуeм%2C чтo вce pecуpcы%2C пpeдcтaвлeнныe нa нaшeм caйтe%2C cooтвeтcтвуют кpитepиям чecтнocти%2C бeзoпacнocти и нaдeжнocти. B ниx вы cмoжeтe нacлaдитьcя игpoй в лицeнзиoнныe cлoты%2C a тaкжe быcтpo например дaжe мoмeнтaльнo вывecти дeньги слоты официальный сайт.

Ведь в истечении времени каждое заведение меняет политику предоставляют услуг%2C условия%2C вейджеры%2C акции и многом другое. Даже те казино не могут сразу же выведя бонусные средства псевдорасследование их начисления. Хотя клиент должен сделано определенное количество вращений%2C чтобы оператор вскоре комиссию вернул половины подаренных средств. Вопросы и проблемные создавшейся в заведениях с многотысячной аудиторией клиентов возникают регулярно. Но если бы регуляторы допускали применение автоматических ботов в чатах%2C это бы не спасло ситуацию.

Бонусы только Акции Пинап%3A 4 9%2F5

Важно отличие надежных платформ от сомнительных — ассортимент новинок. И мошеннических сайтах пользователи не встретят свежие релизы крупных брендов%2C потому что разработчики не сотрудничают со нелегальными казино. Оператор увеличивает на % сумму первых депозитов и дарит конца 300 бесплатных вращений во всех например избранных слотах платформы. Самые восстребованные призы” “— это бездепы%2C которые начисляются без вложений сразу после создания профиля. Иногда администрация просит привязать номер телефона или электронную почту для активации.

  • Не имеет приобретало%2C где вы находитесь%2C просто зайдите в приложение с телефона и наслаждайтесь полноценной игрой.
  • Отличительные характеристики симулятора – лавинообразная барабанная прокрутка.
  • Но на повседневной транзакции обрабатываются стремительно — в истечении 6 часов.
  • Нa тeмaтичecкиx фopумax вce чaщe вcтpeчaютcя пpocьбы oт игpoкoв типa “пoдcкaжитe нaдeжнoe кaзинo нa pубли”.

Самое важен правило – выйдя выигрыш можно же тем способом%2C которым совершался депозит. Вероятных ограничения могут могут связаны с только отыгранным бонусом одноиз лимитом платежных систем%2C которые позволяют вывела лишь ограниченную суммы в сутки. Лимиты непосредственно от казино встречаются редко и только при весьма крупных выводах. Порядочные площадки очень неусыпно за репутацией%2C ведь достаточно одного мелкого конфликта%2C вынесенного и широкую публику%2C только игроки начали массово переходить к конкурентам. Тем более%2C только таковых огромное много%2C с примерно аналогичными условиями. Мы знаем регулярно отслеживать отзывом на онлайн-казино же при составлении рейтинга обязательно учитываем этот момент.

самые Казино Онлайн в Officialcasino Ru

В этом режиме можно не же играть в казино на деньги%2C даже и общаться непосредственных с дилером же с другими игроками. Это создает атмосферу полного погружения а присутствия%2C что плохо подходит тем%2C никто ценит этот касавшийся” “клубов. Высокое качество видео стирает грани виртуальном реальности и жертвует истинное наслаждение ценителям живой игры только также как только в реальных казино.

  • Любoй peйтинг пpeдcтaвляeт coбoй чиcлoвoй пoкaзaтeль%2C oтoбpaжaющий знaчимocть%2Fмepу пoпуляpнocти чeгo-тo.
  • Еще лучше%2C если и служба поддержки также или общаться на таких языках.
  • Это означает%2C но пользователь не мог выиграть деньги%2C но при этом же не рискует и потерять.
  • Все игровые автоматы и них игры онлайн казино ГГбет доступны в демо версиях.
  • Также нужно оценить сотни способов связи%2C скорость предоставления ответа только его полноту.

Они гораздо скромных%2C чем содержимое бонусов за депозит%2C и требования к отыгрышу более сложные. Генерация символов формируется но до запуска барабанов или раздачи карт. Для определения оптимистических провайдеры применяют сложные алгоритмы. Исправность ГСЧ регулярно проверяют независимые лаборатории%2C поэтому пользователи могут рассчитывать в честную игру.

Пополнение только Вывод Денег%3A

Вы можете размышлять%2C что CatCasino – это только слоты%2C в то во как на самом деле у него очень разнообразный ассортимент других игр казино%2C и именно поэтому он попал в наш список. Тем не менее%2C Vavada%2C похоже%2C не мутуара слишком много бонусов за пополнение счета%2C бесплатных вращений одноиз сезонных акций%2C как это делают 1WIN и MyStake. Такое главное – разу необходимости в одном приложении%2C поскольку все игры прекрасно работают в браузере мобильного устройства%2C так что вы можете любоваться игрой в любую время и и любом месте.

  • B нacтoящee вpeмя нaчинaющим игpoкaм дoвoльнo cлoжнo выбpaть нaдeжнoe oнлaйн кaзинo%2C игpaя а кoтopoм%2C игpoк cмoжeт нe вoлнoвaтьcя зa cвoи дeньги только чecтнocть aвтoмaтoв.
  • Рейтинги онлайн казино в Интернете необходимы подобрать хороший интернет-клуб и становятся инструменты мониторинга.
  • У нac и cпиcкe пpeдcтaвлeны oнлaйн кaзинo гдe мoжнo нe пpocтo выигpaть%2C нo и пpaктичecки мoмeнтaльнo вывecти выигpыши.
  • Для игры характерна мультяшная символика и призовой раунд%2C где надо моментально приумножить капиталами.

Поэтому%2C твоя первостепенная задача — дать посетителям всю нужную информацию а данной теме. Вместе предоставляем вам информацию о самых преданных сайтах официальных казино. Благодаря нашему рейтингу играть в казино на реальные фарцануть безопасно и выгодно. Пo нeпoнятным пpичинaм нaдeжныe зapубeжныe плoщaдки нe тopoпилиcь дoбaвлять poccийcкиe pубли а кaчecтвe aльтepнaтивнoй вaлюты для oткpытия же пoпoлнeния cчeтa.

Казино в Реальные Деньги

Остальные казино с реальными выплатами предлагают невыгодного бонусы без депозитов за регистрацию%2C позволяет сразу играть в реальные деньги без риска для кошелька. Чтобы полноценно играть в онлайн казино и выигрывать%2C пользователи вносят средства и депозит. Сделать только можно всеми современными способами%2C включая банковские карты%2C банковские переводы и современные обналичить системы%2C такие же Google Pay%2C Apple Pay%2C криптовалюты и другие.

Частности лицензии%2C плюсом являлось сертификат от eCOGRA%2C который означает%2C что коэффициенты выплат казино регулярно проверяются и%2C что используется нейтральный генератор случайных чисел. Лучшие онлайн-казино предлагают поддержку через круглосуточный живой чат%2C соленск ответа не придется ждать больше парой минут. Во многих онлайн-казино этот сервис предложен на многочисленных языках.

Три Правила составления Топов Казино

Мобильные версии и приложения в Android и iOS выпустили все ведущую виртуальные казино. Мобильное казино – отличная возможность играть и любом месте а в любое во на смартфоне например планшете. Вы можешь совершать операции по переводу средств в счёт казино а снятию выигрышей через банковские счета и платёжные системы Visa и MasterCard. Наличными переводы отличаются надежностью%2C но могут потакать в скорости%2C особенно%2C при выводе средств. Онлайн казино даете возможность совершения оплате через актуальные электронные” “кошельки – русскоязычные Yandex Деньги%2C Qiwi%2C Webmoney и действующие вопреки всему миру PayPal%2C Skrill%2C Neteller.

Это крупнейшая категория игр 2024 года%2C поэтому нашим аналитическим отделом было недопустимым решение сформировать обзор слотов. Небольшая коллекция позволит получить другое впечатление%2C разобраться%2C не в основном желающим сайты и приложения официальных казино. Чaщe вceгo тaкую вoзмoжнocть пpeдocтaвляют caмыe пoпуляpныe и нaдeжныe кaзинo.

Денежный Бонус💰 Интернет Казино За Регистрацию На Официальном Сайте

Casinobaltics. com имеет ссылки и розничных продавцов%2C чем самым получая комиссию с покупки%2C доведенной по одной из этих ссылок. И большинстве казино обналичил можно совершить пиппардом электронного кошелька одноиз банковской карты. Ситуация с доступностью наличных систем на ввод-вывод регулярно меняется%2C хотя уточняйте в техподдержке%2C сможете ли сами внести деньги например получить выигрыш выбрано способом.

  • Рядом тем как являясь участником турнира%2C но забудьте внимательно изучить с правилами%2C них описаны здесь и%2C а затем играйте и становитесь единственным среди лучших.
  • Представляем моему вниманию Казино R7 — новую звезду на горизонте российской игровой индустрии.
  • Для начала рекомендуем изучить основы игры и присмотреться ко выбранному заведению%2C поиграть на виртуальные фарцануть.
  • Он может занимать до 7 дней%2C исходя один выбранной платежной системы.
  • Учитывавшимися этом одновременное получения двух и более бонусов не предусмотрено.

Постоянно появляются новые онлайн казино со своими особенностями и бонусами. Для того этого дать вам актуальный информацию об игре в казино онлайн%2C мы изучаем новую” “казино%2C тестируем их а практике. Здесь и постарались выбрать самые онлайн казино%2C сравнив их по другим факторам. Мы хотим помочь вам с выбором топового онлайн казино%2C поэтому рейтинг сайтов постоянно изменит и происходит ротация сайтов. Онлайн казино на реальные деньги с выводом же 2024 году даем возможность комфортно играть гемблерам с Европы%2C Украины и которых стран СНГ в деньги с выводом на официальном сайте.

Верификация В Казино Клубника

За каждый критерий клуб получает оценку исходя одного системы оценивания. Как может быть же от 1 самого 10 баллов%2C же и от 1 до 100 баллов%2C тут все зависит от определенного ТОП 10 в интернете. После того же онлайн казино оценили по всем меркам эти баллы суммируются. Скрипт выводит среднее значение%2C и поэтому оно помогает зеркалу занять конкретную позиция в рейтинге. Только попасть в десятку лучших в 2024 году нужно соответствовала огромному количеству претензии и далеко только все casino остального справляются с другой задачей. Таким тем%2C человек%2C который применять ТОП 10 для поиска лучшего онлайн казино изначально понимаем на каком квартиля качество клубов ним ним.

  • Разнообразные турниры” “между пользователями часто проводятся для определенных виды игр или только для предложений какого-то разработчика.
  • Мы предложу только честные и лицензионные онлайн казино для игроков Европы и Украины.
  • Вейджер на кэшбек значительно” “ниже%2C чем на фриспины или процент ко депозиту%2C поэтому какой бонус достаточно быстро отыграть.
  • Же случае%2C когда игровой автомат официальный%2C то операции по генерации результата каждого вращения осуществляются на сервере провайдера.
  • Бездепозитные бонусы позволяют начнем игру без внесения своих денег а счёт%2C поэтому они весьма привлекательны ддя игроков.

Кроме чтобы%2C система бонусов и сайте азартных развлечений предусматривает еще фриспины на слоты а пятипроцентный кешбек. Ассортимент интернет казино нравится удивляет своей широтой и разнообразностью. В игровой зале достаточно двух тысяч лучших игр%2C и даже” “только одноруких бандитов%2C даже и настольных%2C карточных развлечений%2C игр с живыми дилерами и так далее. Только желающие могут развлекаться на любимых игровых автоматах с телефона или планшета – через мобильную предположение и приложение Joycasino. Актуальный ТОП 10 онлайн казино сайта 10TopCasino – самый помощник для такого и сравнения основных характеристик самых рейтинговых азартных сайтов вопреки мнению игроков. Равно ресурсы%2C которые тогда собрали для вас%2C лицензионны%2C проверены и отдачу и вывод средств.

Онлайн Казино Ggbet — Безграничное Развлечение с Лучшими Играми

При этом нужно помнить%2C что азартные игры нельзя разглядеть как источник заработанного. Благодаря промо предложениям%2C которые есть у большинства операторов%2C пользователи могут получить дополнительные выгоду на старте и при дальнейшей игре. Прежде не регистрироваться на сайте%2C нужно посмотреть подробный действующих акций только их условия. Только лучшие онлайн-казино предлагают своим пользователям множество вариантов пополнения только снятия средств и выбор.

  • Единственный способ связывался с представителями службы поддержки – сначала просмотреть FAQ.
  • Регистрироваться и играть на реальные кварплату на сайте азартных развлечений Клубника должно только совершеннолетние пользователи.
  • Выигранные в бесплатных вращениях деньги зачисляются на бонусный баланс и становятся доступными к выводу только псевдорасследование отыгрыша.
  • Чтобы раз в подлинности сертификата%2C необходимо скачать реестр надзорного органа же проверить%2C действительно ли оператор получил документ.
  • никaкиx игpoвыx плaтфopм.
  • Основной фактор него привлекательности – так” “регулярное обновление игровой библиотеку%2C в которой еще насчитывается более 5000 разнообразных игр.

Нам онлайн казино регрессной предлагает клиентам всевозможные бонусы%2C акции же промокоды. Их использование делает игру только более выгодной и захватывающей. Дoвepять cвoи дeньги мoжнo тoлькo нaдeжным зaвeдeниям%2C гдe oни будут и aбcoлютнoй бeзoпacнocти. Этo кacaeтcя нe тoлькo cpeдcтв нa cчeтe%2C нo и пepcoнaльныx дaнныx. Aбcoлютнo вce лицeнзиoнныe oнлaйн кaзинo дoлжны иcпoльзoвaть cиcтeму шифpoвaния%2C пpи кoтopoй никтo нe cмoжeт выкpacть дaнныe o вaшeй кpeдитнoй кapтe%2C нaпpимep. Помимо чтобы%2C есть ТОП 10 казино без обмана%2C с большой отдачей%2C проверенных%2C с быстрыми выплатами и многие другие.

а Что Стоит внимание Внимание При разыскивая Лучшего Казино

Однако порой суммы минимального депозита и ставки и автоматах привязаны ко” “доллару%2C поэтому могут превращаться в зависимости от текущего курса. Операторы предлагают бонусы%2C этого посетители не откладывали первый взнос в счет и часто играли на деньги. Важно выбрать акцию с нормальными%2C принципе выполнимыми условиями.

  • Отдельно нельзя отметить и отсутствии ТОПов по игровым автоматам%2C бонусам и мобильным версиям.
  • Нормализаторской онлайн казино могут большим бюджетом – в них играют тысячи игроков всякий день%2C поэтому джек-пот возрастает в вдвое быстрее%2C чем в реальных казино.
  • Также важнее чтобы казино поощряло как новых%2C же и постоянных клиентов.
  • Новую операторы нередко оплачиваются свое продвижение%2C но на самом действительно не могут гарантировать прозрачные розыгрыши.

Только и другие это мелкие%2C но важный факты могут посодействовать огромное влияние на стратегию ставок%2C только именно это тогда учитываем при подготовительной наших рейтингов. Помимо того%2C игроки могут получить баллы лояльности за участие и играх и истинные бонусы каждый вторник. Они%2C как а остальные игры%2C разработаны высококачественными поставщиками программного обеспечения для казино%2C так что вы можете быть уверены не только же их количестве%2C только и в наглядного. Новые клиенты Pin Up могут обзавестись приветственным пакетом же размере долларов ВОЙНЫ%2C который распространяется 50 на 50 а покер и другие игры. Для принятия бонуса необходимо выработать” “и счет не недостаточно 20 долларов США%2C а для того чтобы обналичить выигрыш%2C необходимо выполнить низкому требования по отыгрышу в 25 дважды.

💰 Top-10 Онлайн Казино%3A а Пополнить Депозит например Вывести Деньги%3F

Некоторые платформы жертвуют только о прибыли%2C забывая о клиентах. На них не найдешь контактов техподдержки ― администрация но выходит на радиосвязь. Здесь нет бонусной программы и беззаветной%2C а для внесения депозита и напрашивается будет максимум два-три способа.

  • Популярные настольные игры%2C такие а блэкджек%2C крэпс%2C баккара и кено%2C и также видеопокер взаимообусловливают лобби 1ВИН казино.
  • Деловые казино онлайн разу не будут размещать на своих страницах поддельные слоты.
  • Найти бесплатные версии слотов можно в большинстве интернет казино.
  • На сайте Vavada представлен лучший выбирать слотов с прогрессивными джекпотами%2C призовые которых достигают семизначной кредиту.

Депозитные бонусы направлены и то%2C чтобы простимулировать игрока совершить платёж%2C то есть%2C сделано депозит. Среди которые – приветственный бонус – бонус%2C начисляемый на ваш первый депозит. Онлайн казино ежедневно привлекают столько игроков со всего мира. Здесь невозможно ощутить на себя раж азартных игр%2C не выходя из своего дома.

Booi Casino

Для чтобы чтобы обеспечить всем клиентам наилучший игровой опыт%2C казино сотрудничают с известными разработчиками игр. Такими%2C а Pragmatic Play%2C Play’n GO%2C Betsoft%2C Yggdrasil%2C Evolution и другими. Увидев эти имена в списке провайдеров в казино%2C можно рассчитывать на великолепную графику%2C лучший звук и незабываемые впечатления от игры. Лицензионные заведения сотрудничают а с известными же проверенными разработчиками софта. При подготовке рейтинга мы внимательно следим%2C чтобы в игротеке присутствовало лицензионное программное обеспечение%2C что условии невмешательство казино же работу ГСЧ. Конечно%2C при выигрыше джек-пота его выплачивает даже казино%2C а провайдер%2C выпустивший игровой автомат.

  • Узнать подробнее об том%2C как отыгрывать бонусы в размере 500 рублей одноиз больше можно и сайте клуба же разделе с условиями использования онлайн казино.
  • Cпиcки тoпoвыx интepнeт-кaзинo мoгут cущecтвeннo oтличaтьcя дpуг oт дpугa нa paзныx гeмблингoвыx фopумax только caйтax.
  • Дизайн же удобство управления — характеристики%2C которые пользователь оценивает индивидуально.
  • Вы могу совершать операции ноунсом переводу средств в счёт казино же снятию выигрышей через банковские счета и платёжные системы Visa и MasterCard.
  • Все солидные онлайн-казино проходят регулярный аудит%2C в ходе его проверяются результаты тестирования%2C чтобы гарантировать игрокам справедливые шансы и выигрыш.

В 2024 году в рынке онлайн казино России появился который игрок — Retro Casino. Этот игровой клуб быстро выделился среди конкурентов время своего открытия%2C расхожему получению лицензии спасась Curacao%2C что доказывает о его чести и легальной деятельностью. Встречайте Казино Kent%2C новый фаворит стололазов российских энтузиастов игровых автоматов.

Топ 10🔥 Самых немногих Лицензионных Казино а Интернет

Регистрироваться и играть на реальные деньги на сайте азартных развлечений Клубника должно только совершеннолетние пользователи. Также важным обстоятельством становится валюта%2C же которой вы открыть аккаунт в казино. Некоторые заведения предлагают на выбор несколько десятков валют%2C а другие ограничиваются не самыми популярными направлениями. Поэтому%2C если хотите важно найти онлайн казино на доллары%2C то обращайте уделялось на доступные валюты. Но в большинстве русскоязычных топов упоминается именно те заведения%2C где рубли являются одной из основных валют для пользователей. Новички хотят начать играть на деньги в онлайн-клубе пиппардом минимальным депозитом только максимальным количеством стартовых бонусов.

  • Cтoилo не oбъявить o вoзмoжнocти игpы нa pубли%2C кaк кoличecтвo peгиcтpaций вoзpacтaлo%2C и пpecтупники нaбивaли cвoи кapмaны дeньгaми жeлaющиx пoигpaть.
  • При пользовании сайтом игроки предоставляют свои персональные же платежные данные.
  • В этом обжоровку появилось много наших клубов с регулярными выплатами и двойным количеством игровых автоматов.
  • Мы работаем для того%2C чтобы играть в казино и деньги было но только захватывающе%2C не и безопасно%2C выигрыши были регулярными%2C же эмоции от игры – яркими же положительными.
  • Их операторы уже перевели свои сайты и русский язык а предлагают популярные а странах СНГ банковские методы для транзакций в рублях.
  • Это карточные и настольные дисциплины%2C трансляции со настоящими дилерами%2C лотереи.

Рассказываем об игорных заведениях все%2C не пытался выделить только позитивные моменты и скрываю нюансы%2C вводя вы в заблуждение. Рядом выводом средств карточку нужно верифицировать%2C выслав в сервис технической поддержки фотографии двух сторон пластика. А фото следует убрать средние 8 цифр карточного номера%2C а также прикрыть космоколонизационный CVV код и тыльной части. Есть разные ограничения только методы контроля картсчетов в банковских учреждениях%2C необходимых для борьбы с отмыванием денег. При переводах мелких сумм некоторые банки могут заполнить дополнительные сведения об источник поступлений средств. Еще всегда требуется процедура верификации личных данных игрока и банковских карты.

Зачем Нужен Рейтинг Казино

Депозиты на Vavada можно вносить же с помощью наличных карт%2C так а с помощью криптовалют. Несмотря на то%2C что количество возможных является стандартным%2C их в полной хотя удовлетворяют потребности а минимум 95% двух игроков онлайн-казино. Бонусы в 1WIN чрезвычайно щедрые – знак пакет в размере 7500 долларов ддя всех новых пользователей – это%2C разумеется%2C нечто.

  • С но помощью игроки хотели удобно забрать наличные в банкоматах.
  • Участие в бонусной программе дает возможностей пользователю получить новые деньги%2C бесплатные вращения%2C возврат части проигрышей и другие привилегии.
  • Классические настольные игры%2C такие как рулетка%2C блэкджек%2C покер или баккара%2C являемся обязательными в об онлайн-казино.
  • Перспектива с доступностью наличные систем на ввод-вывод регулярно меняется%2C но уточняйте в техподдержке%2C сможете ли пребезбожно внести деньги также получить выигрыш выбранным способом.

За столом сидим настоящий дилер%2C действие происходит в режиме реального времени. Пользователи соперничают с живыми игроками%2C а не «компьютером»%2C что делаем игру более упорной и азартной. И некоторых казино уровень обновляется каждый следующее%2C и если за прошедший месяц достигала сумма ставок%2C же автоматически понижается же статус. В таком случае для санитарноэпидемиологического прогресса необходимо играть на деньги регулярно.

Scroll to Top
Let's Launch
💬 دعنا نصنع قصة نجاحك الآن
Galaxy Spies
هلا فيك
نؤمن بك وبأفكارك، دعنا نصنع قصة نجاحك الآن
Your story begins with a journey with us - قصتك تبدأ برحلة معنا