Skip to content
Snippets Groups Projects
Commit 163ebf9e authored by Bjarke Madsen's avatar Bjarke Madsen
Browse files

bundle build

parent f1903108
Branches
Tags
No related merge requests found
Showing
with 42 additions and 33 deletions
import{a as T,r as S,F as Y,j as v}from"./main-BIBsTO5W.js";import{u as E,g as j,n as P,D as R,F as W,f as C}from"./useData-BDYwoQEh.js";import{S as F}from"./report.js";import{P as L}from"./PillTable-5pkcg2T9.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";import"./ColorPill-CqT_mR3a.js";import"./Table-HH9WOnMU.js";function H(){const e=T.c(30);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=d=>d.alien_wave_third_party!==null,e[0]=a):a=e[0];const x=a,{filterSelection:t,setFilterSelection:h}=S.useContext(Y),{data:_,years:w,nrens:y}=E("/api/alien-wave",h,x);let s,p;if(e[1]!==_||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let d;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(d=g=>t.selectedYears.includes(g.year)&&t.selectedNrens.includes(g.nren),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=d):d=e[8],s=_.filter(d);const D=j(s,"alien_wave_third_party");p=P(D,M),e[1]=_,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=p}else s=e[4],p=e[5];const N=p;let r,m;e[9]===Symbol.for("react.memo_cache_sentinel")?(r=["Yes","Planned","No"],m=new Map([[r[0],"yes"],[r[1],"planned"],[r[2],"no"]]),e[9]=r,e[10]=m):(r=e[9],m=e[10]);const k=m;let i;e[11]!==w?(i=[...w],e[11]=w,e[12]=i):i=e[12];let n;e[13]!==y?(n=y.values(),e[13]=y,e[14]=n):n=e[14];let l;e[15]!==n?(l=[...n],e[15]=n,e[16]=l):l=e[16];let o;e[17]!==i||e[18]!==l?(o={availableYears:i,availableNrens:l},e[17]=i,e[18]=l,e[19]=o):o=e[19];let u;e[20]!==t||e[21]!==h||e[22]!==o?(u=v.jsx(W,{filterOptions:o,filterSelection:t,setFilterSelection:h,coloredYears:!0}),e[20]=t,e[21]=h,e[22]=o,e[23]=u):u=e[23];const b=u;let c;e[24]!==N?(c=v.jsx(C,{children:v.jsx(L,{columns:r,columnLookup:k,dataLookup:N})}),e[24]=N,e[25]=c):c=e[25];let f;return e[26]!==b||e[27]!==s||e[28]!==c?(f=v.jsx(R,{title:"NREN Use of 3rd Party Alienwave/Lightpath Services",description:`The table below shows NREN usage of alien wavelength or lightpath services provided by third parties. import{c as T,r as S,F as Y,j as v,S as E}from"./index.js";import{u as j,g as P,n as R,D as W,F as C,f as F}from"./useData-C0vA-Ut8.js";import{P as L}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function H(){const e=T.c(30);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=d=>d.alien_wave_third_party!==null,e[0]=a):a=e[0];const x=a,{filterSelection:t,setFilterSelection:h}=S.useContext(Y),{data:_,years:w,nrens:y}=j("/api/alien-wave",h,x);let s,p;if(e[1]!==_||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let d;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(d=g=>t.selectedYears.includes(g.year)&&t.selectedNrens.includes(g.nren),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=d):d=e[8],s=_.filter(d);const D=P(s,"alien_wave_third_party");p=R(D,M),e[1]=_,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=p}else s=e[4],p=e[5];const N=p;let i,m;e[9]===Symbol.for("react.memo_cache_sentinel")?(i=["Yes","Planned","No"],m=new Map([[i[0],"yes"],[i[1],"planned"],[i[2],"no"]]),e[9]=i,e[10]=m):(i=e[9],m=e[10]);const k=m;let n;e[11]!==w?(n=[...w],e[11]=w,e[12]=n):n=e[12];let r;e[13]!==y?(r=y.values(),e[13]=y,e[14]=r):r=e[14];let l;e[15]!==r?(l=[...r],e[15]=r,e[16]=l):l=e[16];let o;e[17]!==n||e[18]!==l?(o={availableYears:n,availableNrens:l},e[17]=n,e[18]=l,e[19]=o):o=e[19];let u;e[20]!==t||e[21]!==h||e[22]!==o?(u=v.jsx(C,{filterOptions:o,filterSelection:t,setFilterSelection:h,coloredYears:!0}),e[20]=t,e[21]=h,e[22]=o,e[23]=u):u=e[23];const b=u;let c;e[24]!==N?(c=v.jsx(F,{children:v.jsx(L,{columns:i,columnLookup:k,dataLookup:N})}),e[24]=N,e[25]=c):c=e[25];let f;return e[26]!==b||e[27]!==s||e[28]!==c?(f=v.jsx(W,{title:"NREN Use of 3rd Party Alienwave/Lightpath Services",description:`The table below shows NREN usage of alien wavelength or lightpath services provided by third parties.
It does not include alien waves used internally inside the NRENs own networks, as that is covered in another table. It does not include alien waves used internally inside the NRENs own networks, as that is covered in another table.
In the optical network world, the term “alien wavelength” or “alien wave” (AW) is used to describe wavelengths in a In the optical network world, the term “alien wavelength” or “alien wave” (AW) is used to describe wavelengths in a
DWDM line system that pass through the network, i.e. they are not sourced/terminated by the line-system operator’s DWDM line system that pass through the network, i.e. they are not sourced/terminated by the line-system operator’s
...@@ -6,4 +6,4 @@ import{a as T,r as S,F as Y,j as v}from"./main-BIBsTO5W.js";import{u as E,g as j ...@@ -6,4 +6,4 @@ import{a as T,r as S,F as Y,j as v}from"./main-BIBsTO5W.js";import{u as E,g as j
(transponder) operates in the same management domain as the amplifiers. (transponder) operates in the same management domain as the amplifiers.
Where NRENs have given the number of individual alien wavelength services, the figure is available in a hover-over Where NRENs have given the number of individual alien wavelength services, the figure is available in a hover-over
box. These are indicated by a black line around the coloured marker.`,category:F.Network,filter:b,data:s,filename:"alien_wave_nrens_per_year",children:c}),e[26]=b,e[27]=s,e[28]=c,e[29]=f):f=e[29],f}function M(e,a){if(a.nr_of_alien_wave_third_party_services)return`No. of alien wavelength services: ${a.nr_of_alien_wave_third_party_services} `}export{H as default}; box. These are indicated by a black line around the coloured marker.`,category:E.Network,filter:b,data:s,filename:"alien_wave_nrens_per_year",children:c}),e[26]=b,e[27]=s,e[28]=c,e[29]=f):f=e[29],f}function M(e,a){if(a.nr_of_alien_wave_third_party_services)return`No. of alien wavelength services: ${a.nr_of_alien_wave_third_party_services} `}export{H as default};
import{a as k,r as Y,F as S,j as w}from"./main-BIBsTO5W.js";import{u as W,g as j,D as F,F as M,f as T}from"./useData-BDYwoQEh.js";import{S as C}from"./report.js";import{P as E}from"./PillTable-5pkcg2T9.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";import"./ColorPill-CqT_mR3a.js";import"./Table-HH9WOnMU.js";function $(){const e=k.c(30);let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=c=>c.alien_wave_internal!==null,e[0]=m):m=e[0];const D=m,{filterSelection:t,setFilterSelection:d}=Y.useContext(S),{data:v,years:N,nrens:g}=W("/api/alien-wave",d,D);let s,p;if(e[1]!==v||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let c;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(c=_=>t.selectedYears.includes(_.year)&&t.selectedNrens.includes(_.nren),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=c):c=e[8],s=v.filter(c),p=j(s,"alien_wave_internal"),e[1]=v,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=p}else s=e[4],p=e[5];const x=p;let n,u;e[9]===Symbol.for("react.memo_cache_sentinel")?(n=["Yes","No"],u=new Map([[n[0],"True"],[n[1],"False"]]),e[9]=n,e[10]=u):(n=e[9],u=e[10]);const b=u;let a;e[11]!==N?(a=[...N],e[11]=N,e[12]=a):a=e[12];let l;e[13]!==g?(l=g.values(),e[13]=g,e[14]=l):l=e[14];let i;e[15]!==l?(i=[...l],e[15]=l,e[16]=i):i=e[16];let r;e[17]!==a||e[18]!==i?(r={availableYears:a,availableNrens:i},e[17]=a,e[18]=i,e[19]=r):r=e[19];let f;e[20]!==t||e[21]!==d||e[22]!==r?(f=w.jsx(M,{filterOptions:r,filterSelection:t,setFilterSelection:d,coloredYears:!0}),e[20]=t,e[21]=d,e[22]=r,e[23]=f):f=e[23];const y=f;let o;e[24]!==x?(o=w.jsx(T,{children:w.jsx(E,{columns:n,columnLookup:b,dataLookup:x})}),e[24]=x,e[25]=o):o=e[25];let h;return e[26]!==y||e[27]!==s||e[28]!==o?(h=w.jsx(F,{title:"Internal NREN Use of Alien Waves",description:`The table below shows NREN usage of alien waves internally within their own networks.
This includes, for example, alien waves used between two equipment vendors,
eg. coloured optics on routes carried over DWDM (dense wavelength division multiplexing) equipment.
In the optical network world, the term “alien wavelength” or “alien wave” (AW) is used to describe
wavelengths in a DWDM line system that pass through the network, i.e. they are not sourced/terminated
by the line-system operator’s equipment (hence “alien”). This setup is in contrast to traditional
DWDM systems, where the DWDM light source (transponder) operates in the same management domain
as the amplifiers.`,category:C.Network,filter:y,data:s,filename:"alien_wave_internal_nrens_per_year",children:o}),e[26]=y,e[27]=s,e[28]=o,e[29]=h):h=e[29],h}export{$ as default};
import{c as k,r as Y,F as S,j as w,S as W}from"./index.js";import{u as j,g as F,D as M,F as T,f as C}from"./useData-C0vA-Ut8.js";import{P as E}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function $(){const e=k.c(30);let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=c=>c.alien_wave_internal!==null,e[0]=m):m=e[0];const D=m,{filterSelection:t,setFilterSelection:d}=Y.useContext(S),{data:v,years:N,nrens:g}=j("/api/alien-wave",d,D);let s,p;if(e[1]!==v||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let c;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(c=_=>t.selectedYears.includes(_.year)&&t.selectedNrens.includes(_.nren),e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=c):c=e[8],s=v.filter(c),p=F(s,"alien_wave_internal"),e[1]=v,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=s,e[5]=p}else s=e[4],p=e[5];const x=p;let n,u;e[9]===Symbol.for("react.memo_cache_sentinel")?(n=["Yes","No"],u=new Map([[n[0],"True"],[n[1],"False"]]),e[9]=n,e[10]=u):(n=e[9],u=e[10]);const b=u;let a;e[11]!==N?(a=[...N],e[11]=N,e[12]=a):a=e[12];let l;e[13]!==g?(l=g.values(),e[13]=g,e[14]=l):l=e[14];let i;e[15]!==l?(i=[...l],e[15]=l,e[16]=i):i=e[16];let r;e[17]!==a||e[18]!==i?(r={availableYears:a,availableNrens:i},e[17]=a,e[18]=i,e[19]=r):r=e[19];let f;e[20]!==t||e[21]!==d||e[22]!==r?(f=w.jsx(T,{filterOptions:r,filterSelection:t,setFilterSelection:d,coloredYears:!0}),e[20]=t,e[21]=d,e[22]=r,e[23]=f):f=e[23];const y=f;let o;e[24]!==x?(o=w.jsx(C,{children:w.jsx(E,{columns:n,columnLookup:b,dataLookup:x})}),e[24]=x,e[25]=o):o=e[25];let h;return e[26]!==y||e[27]!==s||e[28]!==o?(h=w.jsx(M,{title:"Internal NREN Use of Alien Waves",description:`The table below shows NREN usage of alien waves internally within their own networks.
This includes, for example, alien waves used between two equipment vendors,
eg. coloured optics on routes carried over DWDM (dense wavelength division multiplexing) equipment.
In the optical network world, the term “alien wavelength” or “alien wave” (AW) is used to describe
wavelengths in a DWDM line system that pass through the network, i.e. they are not sourced/terminated
by the line-system operator’s equipment (hence “alien”). This setup is in contrast to traditional
DWDM systems, where the DWDM light source (transponder) operates in the same management domain
as the amplifiers.`,category:W.Network,filter:y,data:s,filename:"alien_wave_internal_nrens_per_year",children:o}),e[26]=y,e[27]=s,e[28]=o,e[29]=h):h=e[29],h}export{$ as default};
import{c as Y,r as w,F as j,j as x,S as F}from"./index.js";import{u as P,g as C,n as E,D,F as L,f as I}from"./useData-C0vA-Ut8.js";import{P as M}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function J(){const e=Y.c(30);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=d=>d.audits!==null,e[0]=s):s=e[0];const _=s,{filterSelection:t,setFilterSelection:u}=w.useContext(j),{data:y,years:b,nrens:g}=P("/api/standards",u,_);let i,m;if(e[1]!==y||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let d;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(d=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren)&&v.audits!==null,e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=d):d=e[8],i=y.filter(d);const T=C(i,"audits");m=E(T,R),e[1]=y,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=i,e[5]=m}else i=e[4],m=e[5];const N=m;let a,f;e[9]===Symbol.for("react.memo_cache_sentinel")?(a=["Yes","No"],f=new Map([[a[0],"True"],[a[1],"False"]]),e[9]=a,e[10]=f):(a=e[9],f=e[10]);const k=f;let r;e[11]!==b?(r=[...b],e[11]=b,e[12]=r):r=e[12];let l;e[13]!==g?(l=g.values(),e[13]=g,e[14]=l):l=e[14];let n;e[15]!==l?(n=[...l],e[15]=l,e[16]=n):n=e[16];let o;e[17]!==r||e[18]!==n?(o={availableYears:r,availableNrens:n},e[17]=r,e[18]=n,e[19]=o):o=e[19];let p;e[20]!==t||e[21]!==u||e[22]!==o?(p=x.jsx(L,{filterOptions:o,filterSelection:t,setFilterSelection:u,coloredYears:!0}),e[20]=t,e[21]=u,e[22]=o,e[23]=p):p=e[23];const S=p;let c;e[24]!==N?(c=x.jsx(I,{children:x.jsx(M,{columns:a,columnLookup:k,dataLookup:N})}),e[24]=N,e[25]=c):c=e[25];let h;return e[26]!==S||e[27]!==i||e[28]!==c?(h=x.jsx(D,{title:"External and Internal Audits of Information Security Management Systems",description:`The table below shows whether NRENs have external and/or internal audits
of the information security management systems (eg. risk management and policies).
Where extra information has been provided, such as whether a certified security auditor
on ISP 27001 is performing the audits, it can be viewed by hovering over the indicator
mark ringed in black.`,category:F.Policy,filter:S,data:i,filename:"audits_nrens_per_year",children:c}),e[26]=S,e[27]=i,e[28]=c,e[29]=h):h=e[29],h}function R(e,s){if(s.audit_specifics)return s.audit_specifics}export{J as default};
import{a as Y,r as w,F as j,j as x}from"./main-BIBsTO5W.js";import{u as F,g as P,n as C,D as E,F as D,f as L}from"./useData-BDYwoQEh.js";import{S as I}from"./report.js";import{P as M}from"./PillTable-5pkcg2T9.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";import"./ColorPill-CqT_mR3a.js";import"./Table-HH9WOnMU.js";function J(){const e=Y.c(30);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=d=>d.audits!==null,e[0]=s):s=e[0];const _=s,{filterSelection:t,setFilterSelection:u}=w.useContext(j),{data:y,years:b,nrens:g}=F("/api/standards",u,_);let i,m;if(e[1]!==y||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let d;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(d=v=>t.selectedYears.includes(v.year)&&t.selectedNrens.includes(v.nren)&&v.audits!==null,e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=d):d=e[8],i=y.filter(d);const T=P(i,"audits");m=C(T,R),e[1]=y,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=i,e[5]=m}else i=e[4],m=e[5];const N=m;let a,f;e[9]===Symbol.for("react.memo_cache_sentinel")?(a=["Yes","No"],f=new Map([[a[0],"True"],[a[1],"False"]]),e[9]=a,e[10]=f):(a=e[9],f=e[10]);const k=f;let r;e[11]!==b?(r=[...b],e[11]=b,e[12]=r):r=e[12];let l;e[13]!==g?(l=g.values(),e[13]=g,e[14]=l):l=e[14];let n;e[15]!==l?(n=[...l],e[15]=l,e[16]=n):n=e[16];let o;e[17]!==r||e[18]!==n?(o={availableYears:r,availableNrens:n},e[17]=r,e[18]=n,e[19]=o):o=e[19];let p;e[20]!==t||e[21]!==u||e[22]!==o?(p=x.jsx(D,{filterOptions:o,filterSelection:t,setFilterSelection:u,coloredYears:!0}),e[20]=t,e[21]=u,e[22]=o,e[23]=p):p=e[23];const S=p;let c;e[24]!==N?(c=x.jsx(L,{children:x.jsx(M,{columns:a,columnLookup:k,dataLookup:N})}),e[24]=N,e[25]=c):c=e[25];let h;return e[26]!==S||e[27]!==i||e[28]!==c?(h=x.jsx(E,{title:"External and Internal Audits of Information Security Management Systems",description:`The table below shows whether NRENs have external and/or internal audits
of the information security management systems (eg. risk management and policies).
Where extra information has been provided, such as whether a certified security auditor
on ISP 27001 is performing the audits, it can be viewed by hovering over the indicator
mark ringed in black.`,category:I.Policy,filter:S,data:i,filename:"audits_nrens_per_year",children:c}),e[26]=S,e[27]=i,e[28]=c,e[29]=h):h=e[29],h}function R(e,s){if(s.audit_specifics)return s.audit_specifics}export{J as default};
import{a as ee,r as te,F as se,j as t}from"./main-BIBsTO5W.js";import{u as ne,g as le,F as oe,D as re,f as ie}from"./useData-BDYwoQEh.js";import{C as K}from"./ColorPill-CqT_mR3a.js";import{S as ae}from"./report.js";import{T as ce}from"./Table-HH9WOnMU.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";function ge(){const e=ee.c(69),{filterSelection:l,setFilterSelection:p}=te.useContext(se),{data:Q,years:c,nrens:R}=ne("/api/network-automation",p);let m,f,x,j,u,g,w,y,_,h,d,b,S,Y,v;if(e[0]!==l||e[1]!==R||e[2]!==Q||e[3]!==p||e[4]!==c){let A;e[20]!==l.selectedNrens||e[21]!==l.selectedYears?(A=E=>l.selectedYears.includes(E.year)&&l.selectedNrens.includes(E.nren),e[20]=l.selectedNrens,e[21]=l.selectedYears,e[22]=A):A=e[22];const V=Q.filter(A),X=le(V,"network_automation");let T;e[23]!==c?(T=[...c],e[23]=c,e[24]=T):T=e[24];let C;e[25]!==R?(C=R.values(),e[25]=R,e[26]=C):C=e[26];let D;e[27]!==C?(D=[...C],e[27]=C,e[28]=D):D=e[28];let $;e[29]!==T||e[30]!==D?($={availableYears:T,availableNrens:D},e[29]=T,e[30]=D,e[31]=$):$=e[31];let L;e[32]!==l||e[33]!==p||e[34]!==$?(L=t.jsx(oe,{filterOptions:$,filterSelection:l,setFilterSelection:p,coloredYears:!0}),e[32]=l,e[33]=p,e[34]=$,e[35]=L):L=e[35];const Z=L;let M;e[36]!==c?(M=E=>c.has(E),e[36]=c,e[37]=M):M=e[37];const U=[...l.selectedYears.filter(M)].sort();x=re,b="Network Tasks for which NRENs Use Automation ",S=`The table below shows which NRENs have, or plan to, automate their import{c as ee,r as te,F as se,S as ne,j as t}from"./index.js";import{u as le,g as oe,F as re,D as ie,f as ae}from"./useData-C0vA-Ut8.js";import{C as K}from"./ColorPill-CXvWIfWz.js";import{T as ce}from"./Table-ClWM2_rS.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";function ge(){const e=ee.c(69),{filterSelection:l,setFilterSelection:p}=te.useContext(se),{data:Q,years:c,nrens:R}=le("/api/network-automation",p);let m,f,x,j,u,g,w,y,_,h,d,b,S,Y,v;if(e[0]!==l||e[1]!==R||e[2]!==Q||e[3]!==p||e[4]!==c){let A;e[20]!==l.selectedNrens||e[21]!==l.selectedYears?(A=E=>l.selectedYears.includes(E.year)&&l.selectedNrens.includes(E.nren),e[20]=l.selectedNrens,e[21]=l.selectedYears,e[22]=A):A=e[22];const V=Q.filter(A),X=oe(V,"network_automation");let T;e[23]!==c?(T=[...c],e[23]=c,e[24]=T):T=e[24];let C;e[25]!==R?(C=R.values(),e[25]=R,e[26]=C):C=e[26];let D;e[27]!==C?(D=[...C],e[27]=C,e[28]=D):D=e[28];let $;e[29]!==T||e[30]!==D?($={availableYears:T,availableNrens:D},e[29]=T,e[30]=D,e[31]=$):$=e[31];let L;e[32]!==l||e[33]!==p||e[34]!==$?(L=t.jsx(re,{filterOptions:$,filterSelection:l,setFilterSelection:p,coloredYears:!0}),e[32]=l,e[33]=p,e[34]=$,e[35]=L):L=e[35];const Z=L;let M;e[36]!==c?(M=E=>c.has(E),e[36]=c,e[37]=M):M=e[37];const U=[...l.selectedYears.filter(M)].sort();x=ie,b="Network Tasks for which NRENs Use Automation ",S=`The table below shows which NRENs have, or plan to, automate their
operational processes, with specification of which processes, and the names of operational processes, with specification of which processes, and the names of
software and tools used for this given when appropriate. software and tools used for this given when appropriate.
Where NRENs indicated that they are using automation for some network tasks, Where NRENs indicated that they are using automation for some network tasks,
but did not specify which type of tasks, a marker has been placed in the 'other' column.`,Y=ae.Network,v=Z,g=V,w="network_automation_nrens_per_year",f=ie,m=ce,u="charging-struct-table",y=!0,_=!0;let W;e[38]===Symbol.for("react.memo_cache_sentinel")?(W=t.jsx("col",{span:1,style:{width:"16%"}}),e[38]=W):W=e[38];let q;e[39]===Symbol.for("react.memo_cache_sentinel")?(q=t.jsx("col",{span:2,style:{width:"12%"}}),e[39]=q):q=e[39];let z;e[40]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx("col",{span:2,style:{width:"12%"}}),e[40]=z):z=e[40];let B;e[41]===Symbol.for("react.memo_cache_sentinel")?(B=t.jsx("col",{span:2,style:{width:"12%"}}),e[41]=B):B=e[41];let G;e[42]===Symbol.for("react.memo_cache_sentinel")?(G=t.jsx("col",{span:2,style:{width:"12%"}}),e[42]=G):G=e[42];let H;e[43]===Symbol.for("react.memo_cache_sentinel")?(H=t.jsx("col",{span:2,style:{width:"12%"}}),e[43]=H):H=e[43];let J;e[44]===Symbol.for("react.memo_cache_sentinel")?(J=t.jsx("col",{span:2,style:{width:"12%"}}),e[44]=J):J=e[44],e[45]===Symbol.for("react.memo_cache_sentinel")?(h=t.jsxs("colgroup",{children:[W,q,z,B,G,H,J,t.jsx("col",{span:2,style:{width:"12%"}})]}),d=t.jsxs("thead",{children:[t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{colSpan:2,children:"Device Provisioning"}),t.jsx("th",{colSpan:2,children:"Data Collection"}),t.jsx("th",{colSpan:2,children:"Configuration Management"}),t.jsx("th",{colSpan:2,children:"Compliance"}),t.jsx("th",{colSpan:2,children:"Reporting"}),t.jsx("th",{colSpan:2,children:"Troubleshooting"}),t.jsx("th",{colSpan:2,children:"Other"})]}),t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"})]})]}),e[45]=h,e[46]=d):(h=e[45],d=e[46]),j=Array.from(X.entries()).map(E=>{const[F,o]=E;return t.jsxs("tr",{children:[t.jsx("td",{children:F}),["provisioning","data_collection","config_management","compliance","reporting","troubleshooting"].map(n=>t.jsxs(t.Fragment,{children:[t.jsx("td",{children:o.has("yes")&&U.map(s=>{var a,I;const r=(a=o.get("yes"))==null?void 0:a.get(s),i=r?r.network_automation_specifics:null;return t.jsx(K,{year:s,active:!!((I=o.get("yes"))!=null&&I.has(s))&&!!(i&&i.indexOf(n)>-1),tooltip:"",rounded:!0},s)})},`${F}-${n}-yes`),t.jsx("td",{children:o.has("planned")&&U.map(s=>{var a,I;const r=(a=o.get("planned"))==null?void 0:a.get(s),i=r?r.network_automation_specifics:null;return t.jsx(K,{year:s,active:!!((I=o.get("planned"))!=null&&I.has(s))&&!!(i&&i.indexOf(n)>-1),tooltip:"",rounded:!0},s)})},`${F}-${n}-planned`)]})),t.jsx("td",{children:o.has("yes")&&U.map(n=>{var i,a;const s=(i=o.get("yes"))==null?void 0:i.get(n),r=s?s.network_automation_specifics:null;return t.jsx(K,{year:n,active:!!((a=o.get("yes"))!=null&&a.has(n))&&!!(r&&r.length==0),tooltip:"",rounded:!0},n)})},`${F}-other-yes`),t.jsx("td",{children:o.has("planned")&&U.map(n=>{var i,a;const s=(i=o.get("planned"))==null?void 0:i.get(n),r=s?s.network_automation_specifics:null;return t.jsx(K,{year:n,active:!!((a=o.get("planned"))!=null&&a.has(n))&&!!(r&&r.length==0),tooltip:"",rounded:!0},n)})},`${F}-other-planned`)]},F)}),e[0]=l,e[1]=R,e[2]=Q,e[3]=p,e[4]=c,e[5]=m,e[6]=f,e[7]=x,e[8]=j,e[9]=u,e[10]=g,e[11]=w,e[12]=y,e[13]=_,e[14]=h,e[15]=d,e[16]=b,e[17]=S,e[18]=Y,e[19]=v}else m=e[5],f=e[6],x=e[7],j=e[8],u=e[9],g=e[10],w=e[11],y=e[12],_=e[13],h=e[14],d=e[15],b=e[16],S=e[17],Y=e[18],v=e[19];let N;e[47]!==j?(N=t.jsx("tbody",{children:j}),e[47]=j,e[48]=N):N=e[48];let k;e[49]!==m||e[50]!==u||e[51]!==N||e[52]!==y||e[53]!==_||e[54]!==h||e[55]!==d?(k=t.jsxs(m,{className:u,striped:y,bordered:_,children:[h,d,N]}),e[49]=m,e[50]=u,e[51]=N,e[52]=y,e[53]=_,e[54]=h,e[55]=d,e[56]=k):k=e[56];let P;e[57]!==f||e[58]!==k?(P=t.jsx(f,{children:k}),e[57]=f,e[58]=k,e[59]=P):P=e[59];let O;return e[60]!==x||e[61]!==g||e[62]!==w||e[63]!==P||e[64]!==b||e[65]!==S||e[66]!==Y||e[67]!==v?(O=t.jsx(x,{title:b,description:S,category:Y,filter:v,data:g,filename:w,children:P}),e[60]=x,e[61]=g,e[62]=w,e[63]=P,e[64]=b,e[65]=S,e[66]=Y,e[67]=v,e[68]=O):O=e[68],O}export{ge as default}; but did not specify which type of tasks, a marker has been placed in the 'other' column.`,Y=ne.Network,v=Z,g=V,w="network_automation_nrens_per_year",f=ae,m=ce,u="charging-struct-table",y=!0,_=!0;let W;e[38]===Symbol.for("react.memo_cache_sentinel")?(W=t.jsx("col",{span:1,style:{width:"16%"}}),e[38]=W):W=e[38];let q;e[39]===Symbol.for("react.memo_cache_sentinel")?(q=t.jsx("col",{span:2,style:{width:"12%"}}),e[39]=q):q=e[39];let z;e[40]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx("col",{span:2,style:{width:"12%"}}),e[40]=z):z=e[40];let B;e[41]===Symbol.for("react.memo_cache_sentinel")?(B=t.jsx("col",{span:2,style:{width:"12%"}}),e[41]=B):B=e[41];let G;e[42]===Symbol.for("react.memo_cache_sentinel")?(G=t.jsx("col",{span:2,style:{width:"12%"}}),e[42]=G):G=e[42];let H;e[43]===Symbol.for("react.memo_cache_sentinel")?(H=t.jsx("col",{span:2,style:{width:"12%"}}),e[43]=H):H=e[43];let J;e[44]===Symbol.for("react.memo_cache_sentinel")?(J=t.jsx("col",{span:2,style:{width:"12%"}}),e[44]=J):J=e[44],e[45]===Symbol.for("react.memo_cache_sentinel")?(h=t.jsxs("colgroup",{children:[W,q,z,B,G,H,J,t.jsx("col",{span:2,style:{width:"12%"}})]}),d=t.jsxs("thead",{children:[t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{colSpan:2,children:"Device Provisioning"}),t.jsx("th",{colSpan:2,children:"Data Collection"}),t.jsx("th",{colSpan:2,children:"Configuration Management"}),t.jsx("th",{colSpan:2,children:"Compliance"}),t.jsx("th",{colSpan:2,children:"Reporting"}),t.jsx("th",{colSpan:2,children:"Troubleshooting"}),t.jsx("th",{colSpan:2,children:"Other"})]}),t.jsxs("tr",{children:[t.jsx("th",{}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"}),t.jsx("th",{children:"Yes"}),t.jsx("th",{children:"Planned"})]})]}),e[45]=h,e[46]=d):(h=e[45],d=e[46]),j=Array.from(X.entries()).map(E=>{const[F,o]=E;return t.jsxs("tr",{children:[t.jsx("td",{children:F}),["provisioning","data_collection","config_management","compliance","reporting","troubleshooting"].map(n=>t.jsxs(t.Fragment,{children:[t.jsx("td",{children:o.has("yes")&&U.map(s=>{var a,I;const r=(a=o.get("yes"))==null?void 0:a.get(s),i=r?r.network_automation_specifics:null;return t.jsx(K,{year:s,active:!!((I=o.get("yes"))!=null&&I.has(s))&&!!(i&&i.indexOf(n)>-1),tooltip:"",rounded:!0},s)})},`${F}-${n}-yes`),t.jsx("td",{children:o.has("planned")&&U.map(s=>{var a,I;const r=(a=o.get("planned"))==null?void 0:a.get(s),i=r?r.network_automation_specifics:null;return t.jsx(K,{year:s,active:!!((I=o.get("planned"))!=null&&I.has(s))&&!!(i&&i.indexOf(n)>-1),tooltip:"",rounded:!0},s)})},`${F}-${n}-planned`)]})),t.jsx("td",{children:o.has("yes")&&U.map(n=>{var i,a;const s=(i=o.get("yes"))==null?void 0:i.get(n),r=s?s.network_automation_specifics:null;return t.jsx(K,{year:n,active:!!((a=o.get("yes"))!=null&&a.has(n))&&!!(r&&r.length==0),tooltip:"",rounded:!0},n)})},`${F}-other-yes`),t.jsx("td",{children:o.has("planned")&&U.map(n=>{var i,a;const s=(i=o.get("planned"))==null?void 0:i.get(n),r=s?s.network_automation_specifics:null;return t.jsx(K,{year:n,active:!!((a=o.get("planned"))!=null&&a.has(n))&&!!(r&&r.length==0),tooltip:"",rounded:!0},n)})},`${F}-other-planned`)]},F)}),e[0]=l,e[1]=R,e[2]=Q,e[3]=p,e[4]=c,e[5]=m,e[6]=f,e[7]=x,e[8]=j,e[9]=u,e[10]=g,e[11]=w,e[12]=y,e[13]=_,e[14]=h,e[15]=d,e[16]=b,e[17]=S,e[18]=Y,e[19]=v}else m=e[5],f=e[6],x=e[7],j=e[8],u=e[9],g=e[10],w=e[11],y=e[12],_=e[13],h=e[14],d=e[15],b=e[16],S=e[17],Y=e[18],v=e[19];let N;e[47]!==j?(N=t.jsx("tbody",{children:j}),e[47]=j,e[48]=N):N=e[48];let k;e[49]!==m||e[50]!==u||e[51]!==N||e[52]!==y||e[53]!==_||e[54]!==h||e[55]!==d?(k=t.jsxs(m,{className:u,striped:y,bordered:_,children:[h,d,N]}),e[49]=m,e[50]=u,e[51]=N,e[52]=y,e[53]=_,e[54]=h,e[55]=d,e[56]=k):k=e[56];let P;e[57]!==f||e[58]!==k?(P=t.jsx(f,{children:k}),e[57]=f,e[58]=k,e[59]=P):P=e[59];let O;return e[60]!==x||e[61]!==g||e[62]!==w||e[63]!==P||e[64]!==b||e[65]!==S||e[66]!==Y||e[67]!==v?(O=t.jsx(x,{title:b,description:S,category:Y,filter:v,data:g,filename:w,children:P}),e[60]=x,e[61]=g,e[62]=w,e[63]=P,e[64]=b,e[65]=S,e[66]=Y,e[67]=v,e[68]=O):O=e[68],O}export{ge as default};
import{a as _,r as S,F as j,j as s}from"./main-BIBsTO5W.js";import{L as v}from"./index-BBrAyDR9.js";import{C,a as R,L,P as w,b as D,p as F,c as P,d as B,u as M,e as O,D as T,F as G,f as Y}from"./useData-BDYwoQEh.js";import{S as k}from"./report.js";import{g as q}from"./charthelpers-CCaYPWnR.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";C.register(R,L,w,D,F,P,B);function K(){const e=_.c(24),{filterSelection:t,setFilterSelection:o}=S.useContext(j),{data:m,nrens:b}=M("/api/budget",o);let a,l;if(e[0]!==m||e[1]!==t.selectedNrens){let h;e[4]!==t.selectedNrens?(h=E=>t.selectedNrens.includes(E.nren),e[4]=t.selectedNrens,e[5]=h):h=e[5],a=m.filter(h),l=O(a,"budget"),e[0]=m,e[1]=t.selectedNrens,e[2]=a,e[3]=l}else a=e[2],l=e[3];const N=l;let c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[6]=c):c=e[6];let i;e[7]!==b?(i=b.values(),e[7]=b,e[8]=i):i=e[8];let r;e[9]!==i?(r={availableYears:c,availableNrens:[...i]},e[9]=i,e[10]=r):r=e[10];let d;e[11]!==t||e[12]!==o||e[13]!==r?(d=s.jsx(G,{filterOptions:r,filterSelection:t,setFilterSelection:o}),e[11]=t,e[12]=o,e[13]=r,e[14]=d):d=e[14];const y=d;let f;e[15]===Symbol.for("react.memo_cache_sentinel")?(f=q({title:"Budget in M€",tooltipUnit:"M€",unit:"M€"}),e[15]=f):f=e[15];const x=f;let g;e[16]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx("br",{}),e[16]=g):g=e[16];let p;e[17]===Symbol.for("react.memo_cache_sentinel")?(p=s.jsxs("span",{children:["The graph shows NREN budgets per year (in millions Euro). When budgets are not per calendar year, the NREN is asked to provide figures of the budget that covers the largest part of the year, and to include any GÉANT subsidy they may receive.",g,"NRENs are free to decide how they define the part of their organisation dedicated to core NREN business, and the budget. The merging of different parts of a large NREN into a single organisation, with a single budget can lead to significant changes between years, as can receiving funding for specific time-bound projects.",s.jsx("br",{}),"Hovering over the graph data points shows the NREN budget for the year. Gaps indicate that the budget question was not filled in for a particular year."]}),e[17]=p):p=e[17];let n;e[18]!==N?(n=s.jsx(Y,{children:s.jsx(v,{data:N,options:x})}),e[18]=N,e[19]=n):n=e[19];let u;return e[20]!==y||e[21]!==a||e[22]!==n?(u=s.jsx(T,{title:"Budget of NRENs per Year",description:p,category:k.Organisation,filter:y,data:a,filename:"budget_data",children:n}),e[20]=y,e[21]=a,e[22]=n,e[23]=u):u=e[23],u}export{K as default};
import{c as _,r as S,F as j,j as s,S as v}from"./index.js";import{L as C}from"./index-BJrPLJgf.js";import{C as R,a as L,L as w,P as D,b as F,p as P,c as B,d as M,u as O,e as T,D as G,F as Y,f as k}from"./useData-C0vA-Ut8.js";import{g as q}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";R.register(L,w,D,F,P,B,M);function K(){const e=_.c(24),{filterSelection:t,setFilterSelection:o}=S.useContext(j),{data:m,nrens:b}=O("/api/budget",o);let a,l;if(e[0]!==m||e[1]!==t.selectedNrens){let h;e[4]!==t.selectedNrens?(h=E=>t.selectedNrens.includes(E.nren),e[4]=t.selectedNrens,e[5]=h):h=e[5],a=m.filter(h),l=T(a,"budget"),e[0]=m,e[1]=t.selectedNrens,e[2]=a,e[3]=l}else a=e[2],l=e[3];const N=l;let c;e[6]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[6]=c):c=e[6];let i;e[7]!==b?(i=b.values(),e[7]=b,e[8]=i):i=e[8];let r;e[9]!==i?(r={availableYears:c,availableNrens:[...i]},e[9]=i,e[10]=r):r=e[10];let d;e[11]!==t||e[12]!==o||e[13]!==r?(d=s.jsx(Y,{filterOptions:r,filterSelection:t,setFilterSelection:o}),e[11]=t,e[12]=o,e[13]=r,e[14]=d):d=e[14];const y=d;let f;e[15]===Symbol.for("react.memo_cache_sentinel")?(f=q({title:"Budget in M€",tooltipUnit:"M€",unit:"M€"}),e[15]=f):f=e[15];const x=f;let g;e[16]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx("br",{}),e[16]=g):g=e[16];let p;e[17]===Symbol.for("react.memo_cache_sentinel")?(p=s.jsxs("span",{children:["The graph shows NREN budgets per year (in millions Euro). When budgets are not per calendar year, the NREN is asked to provide figures of the budget that covers the largest part of the year, and to include any GÉANT subsidy they may receive.",g,"NRENs are free to decide how they define the part of their organisation dedicated to core NREN business, and the budget. The merging of different parts of a large NREN into a single organisation, with a single budget can lead to significant changes between years, as can receiving funding for specific time-bound projects.",s.jsx("br",{}),"Hovering over the graph data points shows the NREN budget for the year. Gaps indicate that the budget question was not filled in for a particular year."]}),e[17]=p):p=e[17];let n;e[18]!==N?(n=s.jsx(k,{children:s.jsx(C,{data:N,options:x})}),e[18]=N,e[19]=n):n=e[19];let u;return e[20]!==y||e[21]!==a||e[22]!==n?(u=s.jsx(G,{title:"Budget of NRENs per Year",description:p,category:v.Organisation,filter:y,data:a,filename:"budget_data",children:n}),e[20]=y,e[21]=a,e[22]=n,e[23]=u):u=e[23],u}export{K as default};
import{a as v,r as C,F as E,j as y}from"./main-BIBsTO5W.js";import{u as S,g as j,n as F,D as P,F as R,f as D}from"./useData-BDYwoQEh.js";import{S as L}from"./report.js";import{P as B}from"./PillTable-5pkcg2T9.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";import"./ColorPill-CqT_mR3a.js";import"./Table-HH9WOnMU.js";function K(){const e=v.c(30);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=u=>u.business_continuity_plans!==null,e[0]=s):s=e[0];const k=s,{filterSelection:t,setFilterSelection:p}=C.useContext(E),{data:b,years:_,nrens:N}=S("/api/standards",p,k);let n,d;if(e[1]!==b||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let u;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(u=g=>t.selectedYears.includes(g.year)&&t.selectedNrens.includes(g.nren)&&g.business_continuity_plans!==null,e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=u):u=e[8],n=b.filter(u);const Y=j(n,"business_continuity_plans");d=F(Y,M),e[1]=b,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=n,e[5]=d}else n=e[4],d=e[5];const x=d;let i,f;e[9]===Symbol.for("react.memo_cache_sentinel")?(i=["Yes","No"],f=new Map([[i[0],"True"],[i[1],"False"]]),e[9]=i,e[10]=f):(i=e[9],f=e[10]);const w=f;let l;e[11]!==_?(l=[..._],e[11]=_,e[12]=l):l=e[12];let o;e[13]!==N?(o=N.values(),e[13]=N,e[14]=o):o=e[14];let a;e[15]!==o?(a=[...o],e[15]=o,e[16]=a):a=e[16];let r;e[17]!==l||e[18]!==a?(r={availableYears:l,availableNrens:a},e[17]=l,e[18]=a,e[19]=r):r=e[19];let m;e[20]!==t||e[21]!==p||e[22]!==r?(m=y.jsx(R,{filterOptions:r,filterSelection:t,setFilterSelection:p,coloredYears:!0}),e[20]=t,e[21]=p,e[22]=r,e[23]=m):m=e[23];const T=m;let c;e[24]!==x?(c=y.jsx(D,{children:y.jsx(B,{columns:i,columnLookup:w,dataLookup:x})}),e[24]=x,e[25]=c):c=e[25];let h;return e[26]!==T||e[27]!==n||e[28]!==c?(h=y.jsx(P,{title:"NREN Business Continuity Planning",description:`The table below shows which NRENs have business continuity plans in place to
ensure business continuation and operations. Extra details about whether the NREN
complies with any international standards, and whether they test the continuity plans
regularly can be seen by hovering over the marker. The presence of this extra information
is denoted by a black ring around the marker.`,category:L.Policy,filter:T,data:n,filename:"business_continuity_nrens_per_year",children:c}),e[26]=T,e[27]=n,e[28]=c,e[29]=h):h=e[29],h}function M(e,s){if(s.business_continuity_plans_specifics)return s.business_continuity_plans_specifics}export{K as default};
import{c as v,r as C,F as E,j as y,S}from"./index.js";import{u as j,g as F,n as P,D as R,F as D,f as L}from"./useData-C0vA-Ut8.js";import{P as B}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function K(){const e=v.c(30);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=u=>u.business_continuity_plans!==null,e[0]=s):s=e[0];const k=s,{filterSelection:t,setFilterSelection:p}=C.useContext(E),{data:b,years:_,nrens:N}=j("/api/standards",p,k);let n,d;if(e[1]!==b||e[2]!==t.selectedNrens||e[3]!==t.selectedYears){let u;e[6]!==t.selectedNrens||e[7]!==t.selectedYears?(u=g=>t.selectedYears.includes(g.year)&&t.selectedNrens.includes(g.nren)&&g.business_continuity_plans!==null,e[6]=t.selectedNrens,e[7]=t.selectedYears,e[8]=u):u=e[8],n=b.filter(u);const Y=F(n,"business_continuity_plans");d=P(Y,M),e[1]=b,e[2]=t.selectedNrens,e[3]=t.selectedYears,e[4]=n,e[5]=d}else n=e[4],d=e[5];const x=d;let i,f;e[9]===Symbol.for("react.memo_cache_sentinel")?(i=["Yes","No"],f=new Map([[i[0],"True"],[i[1],"False"]]),e[9]=i,e[10]=f):(i=e[9],f=e[10]);const w=f;let l;e[11]!==_?(l=[..._],e[11]=_,e[12]=l):l=e[12];let o;e[13]!==N?(o=N.values(),e[13]=N,e[14]=o):o=e[14];let a;e[15]!==o?(a=[...o],e[15]=o,e[16]=a):a=e[16];let r;e[17]!==l||e[18]!==a?(r={availableYears:l,availableNrens:a},e[17]=l,e[18]=a,e[19]=r):r=e[19];let m;e[20]!==t||e[21]!==p||e[22]!==r?(m=y.jsx(D,{filterOptions:r,filterSelection:t,setFilterSelection:p,coloredYears:!0}),e[20]=t,e[21]=p,e[22]=r,e[23]=m):m=e[23];const T=m;let c;e[24]!==x?(c=y.jsx(L,{children:y.jsx(B,{columns:i,columnLookup:w,dataLookup:x})}),e[24]=x,e[25]=c):c=e[25];let h;return e[26]!==T||e[27]!==n||e[28]!==c?(h=y.jsx(R,{title:"NREN Business Continuity Planning",description:`The table below shows which NRENs have business continuity plans in place to
ensure business continuation and operations. Extra details about whether the NREN
complies with any international standards, and whether they test the continuity plans
regularly can be seen by hovering over the marker. The presence of this extra information
is denoted by a black ring around the marker.`,category:S.Policy,filter:T,data:n,filename:"business_continuity_nrens_per_year",children:c}),e[26]=T,e[27]=n,e[28]=c,e[29]=h):h=e[29],h}function M(e,s){if(s.business_continuity_plans_specifics)return s.business_continuity_plans_specifics}export{K as default};
import{a as I,r as D,F,j as y}from"./main-BIBsTO5W.js";import{B as R}from"./index-BBrAyDR9.js";import{C as Y,a as G,L,B as O,p as $,c as A,d as M,u as T,o as U,D as q,F as z,f as H}from"./useData-BDYwoQEh.js";import{S as J}from"./report.js";import{p as K}from"./chartjs-plugin-datalabels.esm-D8EJYoxA.js";import{a as Q}from"./charthelpers-CCaYPWnR.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";Y.register(G,L,O,$,A,M);function re(){const e=I.c(39);let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b=n=>n.typical_backbone_capacity!=null,e[0]=b):b=e[0];const B=b,{filterSelection:t,setFilterSelection:s}=D.useContext(F),{data:S,years:d,nrens:u}=T("/api/capacity",s,B);let i,l,a,g;if(e[1]!==S||e[2]!==t||e[3]!==u||e[4]!==s||e[5]!==d){let n;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(n=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren)&&B(j),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=n):n=e[12],a=S.filter(n),i=U(a,"typical_backbone_capacity","Backbone IP Capacity");let p;e[13]!==d?(p=[...d],e[13]=d,e[14]=p):p=e[14];let f;e[15]!==u?(f=u.values(),e[15]=u,e[16]=f):f=e[16];let m;e[17]!==f?(m=[...f],e[17]=f,e[18]=m):m=e[18];let h;e[19]!==p||e[20]!==m?(h={availableYears:p,availableNrens:m},e[19]=p,e[20]=m,e[21]=h):h=e[21];let N;e[22]!==t||e[23]!==s||e[24]!==h?(N=y.jsx(z,{filterOptions:h,filterSelection:t,setFilterSelection:s}),e[22]=t,e[23]=s,e[24]=h,e[25]=N):N=e[25],l=N,g=Array.from(new Set(a.map(V))),e[1]=S,e[2]=t,e[3]=u,e[4]=s,e[5]=d,e[6]=i,e[7]=l,e[8]=a,e[9]=g}else i=e[6],l=e[7],a=e[8],g=e[9];const E=g.length,P=Math.max(E*t.selectedYears.length*1.5+5,50),v=`The graph below shows the typical core usable backbone IP capacity of
NREN networks, expressed in Gbit/s. It refers to the circuit capacity, not the traffic over
the network.`;let C;e[26]===Symbol.for("react.memo_cache_sentinel")?(C=Q({title:"NREN Core IP Capacity",tooltipUnit:"Gbit/s",unit:"Gbit/s"}),e[26]=C):C=e[26];const w=C,k=`${P}rem`;let r;e[27]!==k?(r={height:k},e[27]=k,e[28]=r):r=e[28];let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=[K],e[29]=_):_=e[29];let o;e[30]!==i?(o=y.jsx(R,{data:i,options:w,plugins:_}),e[30]=i,e[31]=o):o=e[31];let c;e[32]!==r||e[33]!==o?(c=y.jsx(H,{children:y.jsx("div",{className:"chart-container",style:r,children:o})}),e[32]=r,e[33]=o,e[34]=c):c=e[34];let x;return e[35]!==l||e[36]!==a||e[37]!==c?(x=y.jsx(q,{title:"NREN Core IP Capacity",description:v,category:J.Network,filter:l,data:a,filename:"capacity_core_ip",children:c}),e[35]=l,e[36]=a,e[37]=c,e[38]=x):x=e[38],x}function V(e){return e.nren}export{re as default};
import{c as I,r as D,F,j as y,S as R}from"./index.js";import{B as Y}from"./index-BJrPLJgf.js";import{C as G,a as L,L as O,B as $,p as A,c as M,d as T,u as U,o as q,D as z,F as H,f as J}from"./useData-C0vA-Ut8.js";import{p as K}from"./chartjs-plugin-datalabels.esm-BObV249o.js";import{a as Q}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";G.register(L,O,$,A,M,T);function re(){const e=I.c(39);let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b=n=>n.typical_backbone_capacity!=null,e[0]=b):b=e[0];const B=b,{filterSelection:t,setFilterSelection:s}=D.useContext(F),{data:S,years:d,nrens:u}=U("/api/capacity",s,B);let i,l,a,g;if(e[1]!==S||e[2]!==t||e[3]!==u||e[4]!==s||e[5]!==d){let n;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(n=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren)&&B(j),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=n):n=e[12],a=S.filter(n),i=q(a,"typical_backbone_capacity","Backbone IP Capacity");let p;e[13]!==d?(p=[...d],e[13]=d,e[14]=p):p=e[14];let f;e[15]!==u?(f=u.values(),e[15]=u,e[16]=f):f=e[16];let m;e[17]!==f?(m=[...f],e[17]=f,e[18]=m):m=e[18];let h;e[19]!==p||e[20]!==m?(h={availableYears:p,availableNrens:m},e[19]=p,e[20]=m,e[21]=h):h=e[21];let N;e[22]!==t||e[23]!==s||e[24]!==h?(N=y.jsx(H,{filterOptions:h,filterSelection:t,setFilterSelection:s}),e[22]=t,e[23]=s,e[24]=h,e[25]=N):N=e[25],l=N,g=Array.from(new Set(a.map(V))),e[1]=S,e[2]=t,e[3]=u,e[4]=s,e[5]=d,e[6]=i,e[7]=l,e[8]=a,e[9]=g}else i=e[6],l=e[7],a=e[8],g=e[9];const E=g.length,P=Math.max(E*t.selectedYears.length*1.5+5,50),v=`The graph below shows the typical core usable backbone IP capacity of
NREN networks, expressed in Gbit/s. It refers to the circuit capacity, not the traffic over
the network.`;let C;e[26]===Symbol.for("react.memo_cache_sentinel")?(C=Q({title:"NREN Core IP Capacity",tooltipUnit:"Gbit/s",unit:"Gbit/s"}),e[26]=C):C=e[26];const w=C,k=`${P}rem`;let r;e[27]!==k?(r={height:k},e[27]=k,e[28]=r):r=e[28];let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=[K],e[29]=_):_=e[29];let c;e[30]!==i?(c=y.jsx(Y,{data:i,options:w,plugins:_}),e[30]=i,e[31]=c):c=e[31];let o;e[32]!==r||e[33]!==c?(o=y.jsx(J,{children:y.jsx("div",{className:"chart-container",style:r,children:c})}),e[32]=r,e[33]=c,e[34]=o):o=e[34];let x;return e[35]!==l||e[36]!==a||e[37]!==o?(x=y.jsx(z,{title:"NREN Core IP Capacity",description:v,category:R.Network,filter:l,data:a,filename:"capacity_core_ip",children:o}),e[35]=l,e[36]=a,e[37]=o,e[38]=x):x=e[38],x}function V(e){return e.nren}export{re as default};
import{a as D,r as F,F as R,j as u}from"./main-BIBsTO5W.js";import{B as Y}from"./index-BBrAyDR9.js";import{C as G,a as O,L as P,B as $,p as A,c as M,d as U,u as W,o as q,D as z,F as H,f as I}from"./useData-BDYwoQEh.js";import{S as J}from"./report.js";import{p as K}from"./chartjs-plugin-datalabels.esm-D8EJYoxA.js";import{a as Q}from"./charthelpers-CCaYPWnR.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";G.register(O,P,$,A,M,U);function le(){const e=D.c(39);let y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=c=>c.largest_link_capacity!=null,e[0]=y):y=e[0];const v=y,{filterSelection:t,setFilterSelection:i}=F.useContext(R),{data:S,years:h,nrens:g}=W("/api/capacity",i,v);let s,r,a,k;if(e[1]!==S||e[2]!==t||e[3]!==g||e[4]!==i||e[5]!==h){let c;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(c=L=>t.selectedYears.includes(L.year)&&t.selectedNrens.includes(L.nren)&&v(L),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=c):c=e[12],a=S.filter(c),s=q(a,"largest_link_capacity","Link capacity");let p;e[13]!==h?(p=[...h],e[13]=h,e[14]=p):p=e[14];let f;e[15]!==g?(f=g.values(),e[15]=g,e[16]=f):f=e[16];let m;e[17]!==f?(m=[...f],e[17]=f,e[18]=m):m=e[18];let d;e[19]!==p||e[20]!==m?(d={availableYears:p,availableNrens:m},e[19]=p,e[20]=m,e[21]=d):d=e[21];let C;e[22]!==t||e[23]!==i||e[24]!==d?(C=u.jsx(H,{filterOptions:d,filterSelection:t,setFilterSelection:i}),e[22]=t,e[23]=i,e[24]=d,e[25]=C):C=e[25],r=C,k=Array.from(new Set(a.map(T))),e[1]=S,e[2]=t,e[3]=g,e[4]=i,e[5]=h,e[6]=s,e[7]=r,e[8]=a,e[9]=k}else s=e[6],r=e[7],a=e[8],k=e[9];const w=k.length,j=Math.max(w*t.selectedYears.length*1.5+5,50),E=`NRENs were asked to give the capacity (in Gbits/s) of the largest link in
their network used for internet traffic (either shared or dedicated). While they were invited to
provide the sum of aggregated links, backup capacity was not to be included.`;let N;e[26]===Symbol.for("react.memo_cache_sentinel")?(N=Q({title:"Capacity of the Largest Link in an NREN Network",tooltipUnit:"Gbit/s",unit:"Gbit/s"}),e[26]=N):N=e[26];const B=N,b=`${j}rem`;let l;e[27]!==b?(l={height:b},e[27]=b,e[28]=l):l=e[28];let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=[K],e[29]=_):_=e[29];let n;e[30]!==s?(n=u.jsx(Y,{data:s,options:B,plugins:_}),e[30]=s,e[31]=n):n=e[31];let o;e[32]!==l||e[33]!==n?(o=u.jsx(I,{children:u.jsx("div",{className:"chart-container",style:l,children:n})}),e[32]=l,e[33]=n,e[34]=o):o=e[34];let x;return e[35]!==r||e[36]!==a||e[37]!==o?(x=u.jsx(z,{title:"Capacity of the Largest Link in an NREN Network",description:E,category:J.Network,filter:r,data:a,filename:"capacity_largest_link",children:o}),e[35]=r,e[36]=a,e[37]=o,e[38]=x):x=e[38],x}function T(e){return e.nren}export{le as default};
import{c as D,r as F,F as R,j as u,S as Y}from"./index.js";import{B as G}from"./index-BJrPLJgf.js";import{C as O,a as P,L as $,B as A,p as M,c as U,d as W,u as q,o as z,D as H,F as I,f as J}from"./useData-C0vA-Ut8.js";import{p as K}from"./chartjs-plugin-datalabels.esm-BObV249o.js";import{a as Q}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";O.register(P,$,A,M,U,W);function re(){const e=D.c(39);let y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=c=>c.largest_link_capacity!=null,e[0]=y):y=e[0];const v=y,{filterSelection:t,setFilterSelection:i}=F.useContext(R),{data:S,years:h,nrens:g}=q("/api/capacity",i,v);let s,l,a,k;if(e[1]!==S||e[2]!==t||e[3]!==g||e[4]!==i||e[5]!==h){let c;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(c=L=>t.selectedYears.includes(L.year)&&t.selectedNrens.includes(L.nren)&&v(L),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=c):c=e[12],a=S.filter(c),s=z(a,"largest_link_capacity","Link capacity");let p;e[13]!==h?(p=[...h],e[13]=h,e[14]=p):p=e[14];let f;e[15]!==g?(f=g.values(),e[15]=g,e[16]=f):f=e[16];let m;e[17]!==f?(m=[...f],e[17]=f,e[18]=m):m=e[18];let d;e[19]!==p||e[20]!==m?(d={availableYears:p,availableNrens:m},e[19]=p,e[20]=m,e[21]=d):d=e[21];let C;e[22]!==t||e[23]!==i||e[24]!==d?(C=u.jsx(I,{filterOptions:d,filterSelection:t,setFilterSelection:i}),e[22]=t,e[23]=i,e[24]=d,e[25]=C):C=e[25],l=C,k=Array.from(new Set(a.map(T))),e[1]=S,e[2]=t,e[3]=g,e[4]=i,e[5]=h,e[6]=s,e[7]=l,e[8]=a,e[9]=k}else s=e[6],l=e[7],a=e[8],k=e[9];const w=k.length,j=Math.max(w*t.selectedYears.length*1.5+5,50),E=`NRENs were asked to give the capacity (in Gbits/s) of the largest link in
their network used for internet traffic (either shared or dedicated). While they were invited to
provide the sum of aggregated links, backup capacity was not to be included.`;let N;e[26]===Symbol.for("react.memo_cache_sentinel")?(N=Q({title:"Capacity of the Largest Link in an NREN Network",tooltipUnit:"Gbit/s",unit:"Gbit/s"}),e[26]=N):N=e[26];const B=N,b=`${j}rem`;let r;e[27]!==b?(r={height:b},e[27]=b,e[28]=r):r=e[28];let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=[K],e[29]=_):_=e[29];let n;e[30]!==s?(n=u.jsx(G,{data:s,options:B,plugins:_}),e[30]=s,e[31]=n):n=e[31];let o;e[32]!==r||e[33]!==n?(o=u.jsx(J,{children:u.jsx("div",{className:"chart-container",style:r,children:n})}),e[32]=r,e[33]=n,e[34]=o):o=e[34];let x;return e[35]!==l||e[36]!==a||e[37]!==o?(x=u.jsx(H,{title:"Capacity of the Largest Link in an NREN Network",description:E,category:Y.Network,filter:l,data:a,filename:"capacity_largest_link",children:o}),e[35]=l,e[36]=a,e[37]=o,e[38]=x):x=e[38],x}function T(e){return e.nren}export{re as default};
import{a as F,r as Y,F as I,j as h}from"./main-BIBsTO5W.js";import{C as T,a as V,L as $,B as L,p as O,c as k,d as A,u as M,o as U,D as Z,F as q,f as z}from"./useData-BDYwoQEh.js";import{p as G}from"./chartjs-plugin-datalabels.esm-D8EJYoxA.js";import{B as H}from"./index-BBrAyDR9.js";import{a as J}from"./charthelpers-CCaYPWnR.js";import{S as K}from"./report.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";T.register(V,$,L,O,k,A);function ne(){const e=F.c(40);let g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=s=>s.amount!=null,e[0]=g):g=e[0];const v=g,{filterSelection:t,setFilterSelection:l}=Y.useContext(I),{data:w,years:d,nrens:y}=M("/api/central-procurement",l,v);let o,n,r,N;if(e[1]!==w||e[2]!==t||e[3]!==y||e[4]!==l||e[5]!==d){let s;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(s=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=s):s=e[12],r=w.filter(s),o=U(r,"amount","Procurement Value");let a;e[13]!==d?(a=[...d],e[13]=d,e[14]=a):a=e[14];let f;e[15]!==y?(f=y.values(),e[15]=y,e[16]=f):f=e[16];let u;e[17]!==f?(u=[...f],e[17]=f,e[18]=u):u=e[18];let p;e[19]!==a||e[20]!==u?(p={availableYears:a,availableNrens:u},e[19]=a,e[20]=u,e[21]=p):p=e[21];let b;e[22]!==t||e[23]!==l||e[24]!==p?(b=h.jsx(q,{filterOptions:p,filterSelection:t,setFilterSelection:l}),e[22]=t,e[23]=l,e[24]=p,e[25]=b):b=e[25],n=b,N=Array.from(new Set(r.map(Q))),e[1]=w,e[2]=t,e[3]=y,e[4]=l,e[5]=d,e[6]=o,e[7]=n,e[8]=r,e[9]=N}else o=e[6],n=e[7],r=e[8],N=e[9];const P=N.length,R=Math.max(P*t.selectedYears.length*1.5+5,50);let S;e[26]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:"Some NRENs centrally procure software for their customers. The graph below shows the total value (in Euro) of software procured in the previous year by the NRENs. Please note you can only see the select NRENs which carry out this type of procurement. Those who do not offer this are not selectable."}),e[26]=S):S=e[26];const B=S;let x;e[27]===Symbol.for("react.memo_cache_sentinel")?(x=J({title:"Software Procurement Value",valueTransform(s){return`${new Intl.NumberFormat(void 0,{style:"currency",currency:"EUR",trailingZeroDisplay:"stripIfInteger"}).format(s)}`}}),e[27]=x):x=e[27];const D=x,E=`${R}rem`;let i;e[28]!==E?(i={height:E},e[28]=E,e[29]=i):i=e[29];let _;e[30]===Symbol.for("react.memo_cache_sentinel")?(_=[G],e[30]=_):_=e[30];let c;e[31]!==o?(c=h.jsx(H,{data:o,options:D,plugins:_}),e[31]=o,e[32]=c):c=e[32];let m;e[33]!==i||e[34]!==c?(m=h.jsx(z,{children:h.jsx("div",{className:"chart-container",style:i,children:c})}),e[33]=i,e[34]=c,e[35]=m):m=e[35];let C;return e[36]!==n||e[37]!==r||e[38]!==m?(C=h.jsx(Z,{title:"Value of Software Procured for Customers by NRENs",description:B,category:K.Policy,filter:n,data:r,filename:"central_procurement",children:m}),e[36]=n,e[37]=r,e[38]=m,e[39]=C):C=e[39],C}function Q(e){return e.nren}export{ne as default};
import{c as F,r as Y,F as I,j as h,S as T}from"./index.js";import{C as V,a as $,L,B as O,p as k,c as A,d as M,u as U,o as Z,D as q,F as z,f as G}from"./useData-C0vA-Ut8.js";import{p as H}from"./chartjs-plugin-datalabels.esm-BObV249o.js";import{B as J}from"./index-BJrPLJgf.js";import{a as K}from"./charthelpers-BVChP9u-.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";V.register($,L,O,k,A,M);function ne(){const e=F.c(40);let g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=s=>s.amount!=null,e[0]=g):g=e[0];const v=g,{filterSelection:t,setFilterSelection:l}=Y.useContext(I),{data:w,years:d,nrens:y}=U("/api/central-procurement",l,v);let o,n,r,N;if(e[1]!==w||e[2]!==t||e[3]!==y||e[4]!==l||e[5]!==d){let s;e[10]!==t.selectedNrens||e[11]!==t.selectedYears?(s=j=>t.selectedYears.includes(j.year)&&t.selectedNrens.includes(j.nren),e[10]=t.selectedNrens,e[11]=t.selectedYears,e[12]=s):s=e[12],r=w.filter(s),o=Z(r,"amount","Procurement Value");let a;e[13]!==d?(a=[...d],e[13]=d,e[14]=a):a=e[14];let f;e[15]!==y?(f=y.values(),e[15]=y,e[16]=f):f=e[16];let u;e[17]!==f?(u=[...f],e[17]=f,e[18]=u):u=e[18];let p;e[19]!==a||e[20]!==u?(p={availableYears:a,availableNrens:u},e[19]=a,e[20]=u,e[21]=p):p=e[21];let b;e[22]!==t||e[23]!==l||e[24]!==p?(b=h.jsx(z,{filterOptions:p,filterSelection:t,setFilterSelection:l}),e[22]=t,e[23]=l,e[24]=p,e[25]=b):b=e[25],n=b,N=Array.from(new Set(r.map(Q))),e[1]=w,e[2]=t,e[3]=y,e[4]=l,e[5]=d,e[6]=o,e[7]=n,e[8]=r,e[9]=N}else o=e[6],n=e[7],r=e[8],N=e[9];const P=N.length,R=Math.max(P*t.selectedYears.length*1.5+5,50);let S;e[26]===Symbol.for("react.memo_cache_sentinel")?(S=h.jsx("span",{children:"Some NRENs centrally procure software for their customers. The graph below shows the total value (in Euro) of software procured in the previous year by the NRENs. Please note you can only see the select NRENs which carry out this type of procurement. Those who do not offer this are not selectable."}),e[26]=S):S=e[26];const B=S;let x;e[27]===Symbol.for("react.memo_cache_sentinel")?(x=K({title:"Software Procurement Value",valueTransform(s){return`${new Intl.NumberFormat(void 0,{style:"currency",currency:"EUR",trailingZeroDisplay:"stripIfInteger"}).format(s)}`}}),e[27]=x):x=e[27];const D=x,E=`${R}rem`;let i;e[28]!==E?(i={height:E},e[28]=E,e[29]=i):i=e[29];let _;e[30]===Symbol.for("react.memo_cache_sentinel")?(_=[H],e[30]=_):_=e[30];let c;e[31]!==o?(c=h.jsx(J,{data:o,options:D,plugins:_}),e[31]=o,e[32]=c):c=e[32];let m;e[33]!==i||e[34]!==c?(m=h.jsx(G,{children:h.jsx("div",{className:"chart-container",style:i,children:c})}),e[33]=i,e[34]=c,e[35]=m):m=e[35];let C;return e[36]!==n||e[37]!==r||e[38]!==m?(C=h.jsx(q,{title:"Value of Software Procured for Customers by NRENs",description:B,category:T.Policy,filter:n,data:r,filename:"central_procurement",children:m}),e[36]=n,e[37]=r,e[38]=m,e[39]=C):C=e[39],C}function Q(e){return e.nren}export{ne as default};
import{c as _,r as E,F as Y,j as N,S as j}from"./index.js";import{u as k,g as D,D as P,F as T,f as w}from"./useData-C0vA-Ut8.js";import{P as F}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function B(){const e=_.c(29),{filterSelection:t,setFilterSelection:c}=E.useContext(Y),{data:S,years:x,nrens:b}=k("/api/certificate-providers",c);let s,n;if(e[0]!==S||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=y=>t.selectedYears.includes(y.year)&&t.selectedNrens.includes(y.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=S.filter(u),n=D(s,"provider_names"),e[0]=S,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=n}else s=e[3],n=e[4];const C=n;let r;e[8]!==x?(r=[...x],e[8]=x,e[9]=r):r=e[9];let i;e[10]!==b?(i=b.values(),e[10]=b,e[11]=i):i=e[11];let l;e[12]!==i?(l=[...i],e[12]=i,e[13]=l):l=e[13];let o;e[14]!==r||e[15]!==l?(o={availableYears:r,availableNrens:l},e[14]=r,e[15]=l,e[16]=o):o=e[16];let f;e[17]!==t||e[18]!==c||e[19]!==o?(f=N.jsx(T,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=o,e[20]=f):f=e[20];const v=f;let d;e[21]===Symbol.for("react.memo_cache_sentinel")?(d=["TCS","Digicert","Sectigo (outside of TCS)","Let's Encrypt","Entrust Datacard"],e[21]=d):d=e[21];const g=d;let p;e[22]===Symbol.for("react.memo_cache_sentinel")?(p=new Map([["Sectigo (outside of TCS)","Sectigo"]]),e[22]=p):p=e[22];const h=p;let a;e[23]!==C?(a=N.jsx(w,{children:N.jsx(F,{columns:g,dataLookup:C,circle:!0,columnLookup:h})}),e[23]=C,e[24]=a):a=e[24];let m;return e[25]!==v||e[26]!==s||e[27]!==a?(m=N.jsx(P,{title:"Certification Services used by NRENs ",description:"The table below shows the kinds of Network Certificate Providers used by NRENs.",category:j.Network,filter:v,data:s,filename:"certificate_provider_nrens_per_year",children:a}),e[25]=v,e[26]=s,e[27]=a,e[28]=m):m=e[28],m}export{B as default};
import{a as _,r as E,F as Y,j as N}from"./main-BIBsTO5W.js";import{u as j,g as k,D,F as P,f as T}from"./useData-BDYwoQEh.js";import{S as w}from"./report.js";import{P as F}from"./PillTable-5pkcg2T9.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";import"./ColorPill-CqT_mR3a.js";import"./Table-HH9WOnMU.js";function B(){const e=_.c(29),{filterSelection:t,setFilterSelection:c}=E.useContext(Y),{data:S,years:x,nrens:b}=j("/api/certificate-providers",c);let s,n;if(e[0]!==S||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let u;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(u=y=>t.selectedYears.includes(y.year)&&t.selectedNrens.includes(y.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=u):u=e[7],s=S.filter(u),n=k(s,"provider_names"),e[0]=S,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=s,e[4]=n}else s=e[3],n=e[4];const C=n;let r;e[8]!==x?(r=[...x],e[8]=x,e[9]=r):r=e[9];let i;e[10]!==b?(i=b.values(),e[10]=b,e[11]=i):i=e[11];let l;e[12]!==i?(l=[...i],e[12]=i,e[13]=l):l=e[13];let o;e[14]!==r||e[15]!==l?(o={availableYears:r,availableNrens:l},e[14]=r,e[15]=l,e[16]=o):o=e[16];let f;e[17]!==t||e[18]!==c||e[19]!==o?(f=N.jsx(P,{filterOptions:o,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=o,e[20]=f):f=e[20];const v=f;let d;e[21]===Symbol.for("react.memo_cache_sentinel")?(d=["TCS","Digicert","Sectigo (outside of TCS)","Let's Encrypt","Entrust Datacard"],e[21]=d):d=e[21];const g=d;let m;e[22]===Symbol.for("react.memo_cache_sentinel")?(m=new Map([["Sectigo (outside of TCS)","Sectigo"]]),e[22]=m):m=e[22];const h=m;let a;e[23]!==C?(a=N.jsx(T,{children:N.jsx(F,{columns:g,dataLookup:C,circle:!0,columnLookup:h})}),e[23]=C,e[24]=a):a=e[24];let p;return e[25]!==v||e[26]!==s||e[27]!==a?(p=N.jsx(D,{title:"Certification Services used by NRENs ",description:"The table below shows the kinds of Network Certificate Providers used by NRENs.",category:w.Network,filter:v,data:s,filename:"certificate_provider_nrens_per_year",children:a}),e[25]=v,e[26]=s,e[27]=a,e[28]=p):p=e[28],p}export{B as default};
import{c as S,r as Y,F as j,j as p,S as v}from"./index.js";import{u as F,g as R,D,F as k,f as w}from"./useData-C0vA-Ut8.js";import{P}from"./PillTable-Cnj0nnFy.js";import"./SideBar-Bzc5cONd.js";import"./xlsx-BHRztzV8.js";import"./index-DW4SYwQF.js";import"./hook-GVc5uk5F.js";import"./ColorPill-CXvWIfWz.js";import"./Table-ClWM2_rS.js";function A(){const e=S.c(29),C=T,{filterSelection:t,setFilterSelection:c}=Y.useContext(j),{data:g,years:b,nrens:N}=F("/api/charging",c,C);let a,f;if(e[0]!==g||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let m;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(m=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=m):m=e[7],a=g.filter(m),f=R(a,"fee_type"),e[0]=g,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=a,e[4]=f}else a=e[3],f=e[4];const _=f;let r;e[8]!==b?(r=[...b],e[8]=b,e[9]=r):r=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let l;e[12]!==i?(l=[...i],e[12]=i,e[13]=l):l=e[13];let n;e[14]!==r||e[15]!==l?(n={availableYears:r,availableNrens:l},e[14]=r,e[15]=l,e[16]=n):n=e[16];let u;e[17]!==t||e[18]!==c||e[19]!==n?(u=p.jsx(k,{filterOptions:n,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=n,e[20]=u):u=e[20];const y=u;let s,d;e[21]===Symbol.for("react.memo_cache_sentinel")?(s=["Flat fee based on bandwidth","Usage based fee","Combination flat fee & usage basedfee","No Direct Charge","Other"],d=new Map([[s[0],"flat_fee"],[s[1],"usage_based_fee"],[s[2],"combination"],[s[3],"no_charge"],[s[4],"other"]]),e[21]=s,e[22]=d):(s=e[21],d=e[22]);const E=d;let o;e[23]!==_?(o=p.jsx(w,{children:p.jsx(P,{columns:s,dataLookup:_,columnLookup:E})}),e[23]=_,e[24]=o):o=e[24];let h;return e[25]!==y||e[26]!==a||e[27]!==o?(h=p.jsx(D,{title:"Charging Mechanism of NRENs",description:`The charging structure is the way in which NRENs charge their customers for the services they provide.
The charging structure can be based on a flat fee, usage based fee, a combination of both, or no direct charge.
By selecting multiple years and NRENs, the table can be used to compare the charging structure of NRENs.`,category:v.Organisation,filter:y,data:a,filename:"charging_mechanism_of_nrens_per_year",children:o}),e[25]=y,e[26]=a,e[27]=o,e[28]=h):h=e[28],h}function T(e){return e.fee_type!=null}export{A as default};
import{a as S,r as Y,F as j,j as p}from"./main-BIBsTO5W.js";import{u as v,g as F,D as R,F as D,f as k}from"./useData-BDYwoQEh.js";import{S as w}from"./report.js";import{P}from"./PillTable-5pkcg2T9.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";import"./ColorPill-CqT_mR3a.js";import"./Table-HH9WOnMU.js";function A(){const e=S.c(29),C=T,{filterSelection:t,setFilterSelection:c}=Y.useContext(j),{data:g,years:b,nrens:N}=v("/api/charging",c,C);let a,f;if(e[0]!==g||e[1]!==t.selectedNrens||e[2]!==t.selectedYears){let h;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(h=x=>t.selectedYears.includes(x.year)&&t.selectedNrens.includes(x.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=h):h=e[7],a=g.filter(h),f=F(a,"fee_type"),e[0]=g,e[1]=t.selectedNrens,e[2]=t.selectedYears,e[3]=a,e[4]=f}else a=e[3],f=e[4];const _=f;let r;e[8]!==b?(r=[...b],e[8]=b,e[9]=r):r=e[9];let i;e[10]!==N?(i=N.values(),e[10]=N,e[11]=i):i=e[11];let l;e[12]!==i?(l=[...i],e[12]=i,e[13]=l):l=e[13];let n;e[14]!==r||e[15]!==l?(n={availableYears:r,availableNrens:l},e[14]=r,e[15]=l,e[16]=n):n=e[16];let u;e[17]!==t||e[18]!==c||e[19]!==n?(u=p.jsx(D,{filterOptions:n,filterSelection:t,setFilterSelection:c,coloredYears:!0}),e[17]=t,e[18]=c,e[19]=n,e[20]=u):u=e[20];const y=u;let s,d;e[21]===Symbol.for("react.memo_cache_sentinel")?(s=["Flat fee based on bandwidth","Usage based fee","Combination flat fee & usage basedfee","No Direct Charge","Other"],d=new Map([[s[0],"flat_fee"],[s[1],"usage_based_fee"],[s[2],"combination"],[s[3],"no_charge"],[s[4],"other"]]),e[21]=s,e[22]=d):(s=e[21],d=e[22]);const E=d;let o;e[23]!==_?(o=p.jsx(k,{children:p.jsx(P,{columns:s,dataLookup:_,columnLookup:E})}),e[23]=_,e[24]=o):o=e[24];let m;return e[25]!==y||e[26]!==a||e[27]!==o?(m=p.jsx(R,{title:"Charging Mechanism of NRENs",description:`The charging structure is the way in which NRENs charge their customers for the services they provide.
The charging structure can be based on a flat fee, usage based fee, a combination of both, or no direct charge.
By selecting multiple years and NRENs, the table can be used to compare the charging structure of NRENs.`,category:w.Organisation,filter:y,data:a,filename:"charging_mechanism_of_nrens_per_year",children:o}),e[25]=y,e[26]=a,e[27]=o,e[28]=m):m=e[28],m}function T(e){return e.fee_type!=null}export{A as default};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment