From e21b75a07ef1f18bd842d6e076575b478eb613a1 Mon Sep 17 00:00:00 2001 From: <> Date: Mon, 22 Jul 2024 18:54:29 +0000 Subject: [PATCH] Deployed 681e65b with MkDocs version: 1.6.0 --- .nojekyll | 0 404.html | 2651 +++++++ assets/DARCY_29_miniatura.png | Bin 0 -> 262541 bytes assets/darcy_30_miniatura.png | Bin 0 -> 85404 bytes assets/escolaridade.png | Bin 0 -> 31494 bytes assets/favicon.ico | Bin 0 -> 195536 bytes assets/frequencia.png | Bin 0 -> 49019 bytes assets/idade.png | Bin 0 -> 25064 bytes assets/images/favicon.png | Bin 0 -> 1870 bytes assets/javascripts/bundle.fe8b6f2b.min.js | 29 + assets/javascripts/bundle.fe8b6f2b.min.js.map | 7 + assets/javascripts/lunr/min/lunr.ar.min.js | 1 + assets/javascripts/lunr/min/lunr.da.min.js | 18 + assets/javascripts/lunr/min/lunr.de.min.js | 18 + assets/javascripts/lunr/min/lunr.du.min.js | 18 + assets/javascripts/lunr/min/lunr.el.min.js | 1 + assets/javascripts/lunr/min/lunr.es.min.js | 18 + assets/javascripts/lunr/min/lunr.fi.min.js | 18 + assets/javascripts/lunr/min/lunr.fr.min.js | 18 + assets/javascripts/lunr/min/lunr.he.min.js | 1 + assets/javascripts/lunr/min/lunr.hi.min.js | 1 + assets/javascripts/lunr/min/lunr.hu.min.js | 18 + assets/javascripts/lunr/min/lunr.hy.min.js | 1 + assets/javascripts/lunr/min/lunr.it.min.js | 18 + assets/javascripts/lunr/min/lunr.ja.min.js | 1 + assets/javascripts/lunr/min/lunr.jp.min.js | 1 + assets/javascripts/lunr/min/lunr.kn.min.js | 1 + assets/javascripts/lunr/min/lunr.ko.min.js | 1 + assets/javascripts/lunr/min/lunr.multi.min.js | 1 + assets/javascripts/lunr/min/lunr.nl.min.js | 18 + assets/javascripts/lunr/min/lunr.no.min.js | 18 + assets/javascripts/lunr/min/lunr.pt.min.js | 18 + assets/javascripts/lunr/min/lunr.ro.min.js | 18 + assets/javascripts/lunr/min/lunr.ru.min.js | 18 + assets/javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + assets/javascripts/lunr/min/lunr.sv.min.js | 18 + assets/javascripts/lunr/min/lunr.ta.min.js | 1 + assets/javascripts/lunr/min/lunr.te.min.js | 1 + assets/javascripts/lunr/min/lunr.th.min.js | 1 + assets/javascripts/lunr/min/lunr.tr.min.js | 18 + assets/javascripts/lunr/min/lunr.vi.min.js | 1 + assets/javascripts/lunr/min/lunr.zh.min.js | 1 + assets/javascripts/lunr/tinyseg.js | 206 + assets/javascripts/lunr/wordcut.js | 6708 +++++++++++++++++ .../workers/search.b8dbb3d2.min.js | 42 + .../workers/search.b8dbb3d2.min.js.map | 7 + assets/logorevistadarcy250px.png | Bin 0 -> 44921 bytes assets/mvp.png | Bin 0 -> 513967 bytes assets/navegabilidade.svg | 1 + assets/nunca_utilizou.png | Bin 0 -> 32430 bytes assets/ocupacao.png | Bin 0 -> 27948 bytes assets/plataforma.png | Bin 0 -> 24175 bytes assets/roadmap.svg | 1 + assets/site_intuitivo.png | Bin 0 -> 20912 bytes assets/stylesheets/main.76a95c52.min.css | 1 + assets/stylesheets/main.76a95c52.min.css.map | 1 + assets/stylesheets/palette.06af60db.min.css | 1 + .../stylesheets/palette.06af60db.min.css.map | 1 + assets/ticabrisalogo.png | Bin 0 -> 79374 bytes assets/utilizacao.png | Bin 0 -> 18999 bytes assets/vinculo_unb.png | Bin 0 -> 29539 bytes atas/equipe/ata00/index.html | 2856 +++++++ atas/equipe/ata01/index.html | 2858 +++++++ atas/equipe/ata02/index.html | 2859 +++++++ atas/equipe/ata03/index.html | 2860 +++++++ atas/equipe/ata04/index.html | 2861 +++++++ atas/equipe/ata05/index.html | 2859 +++++++ atas/equipe/ata06/index.html | 2859 +++++++ atas/equipe/ata07/index.html | 2859 +++++++ atas/equipe/ata08/index.html | 2859 +++++++ atas/equipe/ata09/index.html | 2859 +++++++ atas/equipe/ata10/index.html | 2859 +++++++ atas/equipe_cliente/ata01/index.html | 2957 ++++++++ atas/equipe_cliente/ata02/index.html | 2961 ++++++++ atas/equipe_cliente/ata03/index.html | 2961 ++++++++ atas/equipe_cliente/ata04/index.html | 2961 ++++++++ atas/equipe_cliente/ata05/index.html | 2954 ++++++++ atas/equipe_cliente/ata06/index.html | 2955 ++++++++ atas/equipe_cliente/ata07/index.html | 2956 ++++++++ atas/equipe_cliente/ata08/index.html | 2957 ++++++++ atas/equipe_cliente/ata09/index.html | 2958 ++++++++ atas/equipe_cliente/ata10/index.html | 2957 ++++++++ atas/equipe_cliente/ata11/index.html | 2955 ++++++++ atas/equipe_cliente/ata12/index.html | 2962 ++++++++ atas/equipe_cliente/ata13/index.html | 2954 ++++++++ atas/equipe_cliente/ata14/index.html | 2938 ++++++++ atas/equipe_cliente/ata15/index.html | 2955 ++++++++ index.html | 2844 +++++++ landingPage/landingPage.html | 195 + politicas/branches/index.html | 2890 +++++++ politicas/commit/index.html | 2939 ++++++++ politicas/conduta/index.html | 2972 ++++++++ politicas/plano-de-comunicacao/index.html | 3026 ++++++++ release/release1/index.html | 2881 +++++++ requisitos/backlog/index.html | 2891 +++++++ .../fluxograma_de_navegabilidade/index.html | 2821 +++++++ requisitos/perfil_dos_usuarios/index.html | 3123 ++++++++ requisitos/visao_de_produto/index.html | 2958 ++++++++ requisitos/visao_de_projeto/index.html | 2997 ++++++++ search/search_index.json | 1 + sitemap.xml | 3 + sitemap.xml.gz | Bin 0 -> 127 bytes sprints/sprint00/planejamento/index.html | 2950 ++++++++ sprints/sprint00/resultados/index.html | 2940 ++++++++ sprints/sprint01/planejamento/index.html | 2910 +++++++ sprints/sprint01/resultados/index.html | 2961 ++++++++ sprints/sprint02/planejamento/index.html | 2888 +++++++ sprints/sprint02/resultados/index.html | 2963 ++++++++ sprints/sprint03/planejamento/index.html | 2901 +++++++ sprints/sprint03/resultados/index.html | 2987 ++++++++ sprints/sprint04/planejamento/index.html | 2877 +++++++ sprints/sprint04/resultados/index.html | 2956 ++++++++ sprints/sprint05/planejamento/index.html | 2876 +++++++ sprints/sprint05/resultados/index.html | 2956 ++++++++ sprints/sprint06/planejamento/index.html | 2873 +++++++ sprints/sprint06/resultados/index.html | 2961 ++++++++ sprints/sprint07/planejamento/index.html | 2883 +++++++ sprints/sprint07/resultados/index.html | 2961 ++++++++ sprints/sprint08/planejamento/index.html | 2892 +++++++ sprints/sprint08/resultados/index.html | 2975 ++++++++ sprints/sprint09/planejamento/index.html | 2893 +++++++ sprints/sprint09/resultados/index.html | 2971 ++++++++ sprints/sprint10/planejamento/index.html | 2896 +++++++ sprints/sprint10/resultados/index.html | 2979 ++++++++ workshop/comandos/index.html | 2825 +++++++ 126 files changed, 185547 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 assets/DARCY_29_miniatura.png create mode 100644 assets/darcy_30_miniatura.png create mode 100644 assets/escolaridade.png create mode 100644 assets/favicon.ico create mode 100644 assets/frequencia.png create mode 100644 assets/idade.png create mode 100644 assets/images/favicon.png create mode 100644 assets/javascripts/bundle.fe8b6f2b.min.js create mode 100644 assets/javascripts/bundle.fe8b6f2b.min.js.map create mode 100644 assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 assets/javascripts/lunr/min/lunr.el.min.js create mode 100644 assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.he.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 assets/javascripts/lunr/tinyseg.js create mode 100644 assets/javascripts/lunr/wordcut.js create mode 100644 assets/javascripts/workers/search.b8dbb3d2.min.js create mode 100644 assets/javascripts/workers/search.b8dbb3d2.min.js.map create mode 100644 assets/logorevistadarcy250px.png create mode 100644 assets/mvp.png create mode 100644 assets/navegabilidade.svg create mode 100644 assets/nunca_utilizou.png create mode 100644 assets/ocupacao.png create mode 100644 assets/plataforma.png create mode 100644 assets/roadmap.svg create mode 100644 assets/site_intuitivo.png create mode 100644 assets/stylesheets/main.76a95c52.min.css create mode 100644 assets/stylesheets/main.76a95c52.min.css.map create mode 100644 assets/stylesheets/palette.06af60db.min.css create mode 100644 assets/stylesheets/palette.06af60db.min.css.map create mode 100644 assets/ticabrisalogo.png create mode 100644 assets/utilizacao.png create mode 100644 assets/vinculo_unb.png create mode 100644 atas/equipe/ata00/index.html create mode 100644 atas/equipe/ata01/index.html create mode 100644 atas/equipe/ata02/index.html create mode 100644 atas/equipe/ata03/index.html create mode 100644 atas/equipe/ata04/index.html create mode 100644 atas/equipe/ata05/index.html create mode 100644 atas/equipe/ata06/index.html create mode 100644 atas/equipe/ata07/index.html create mode 100644 atas/equipe/ata08/index.html create mode 100644 atas/equipe/ata09/index.html create mode 100644 atas/equipe/ata10/index.html create mode 100644 atas/equipe_cliente/ata01/index.html create mode 100644 atas/equipe_cliente/ata02/index.html create mode 100644 atas/equipe_cliente/ata03/index.html create mode 100644 atas/equipe_cliente/ata04/index.html create mode 100644 atas/equipe_cliente/ata05/index.html create mode 100644 atas/equipe_cliente/ata06/index.html create mode 100644 atas/equipe_cliente/ata07/index.html create mode 100644 atas/equipe_cliente/ata08/index.html create mode 100644 atas/equipe_cliente/ata09/index.html create mode 100644 atas/equipe_cliente/ata10/index.html create mode 100644 atas/equipe_cliente/ata11/index.html create mode 100644 atas/equipe_cliente/ata12/index.html create mode 100644 atas/equipe_cliente/ata13/index.html create mode 100644 atas/equipe_cliente/ata14/index.html create mode 100644 atas/equipe_cliente/ata15/index.html create mode 100644 index.html create mode 100644 landingPage/landingPage.html create mode 100644 politicas/branches/index.html create mode 100644 politicas/commit/index.html create mode 100644 politicas/conduta/index.html create mode 100644 politicas/plano-de-comunicacao/index.html create mode 100644 release/release1/index.html create mode 100644 requisitos/backlog/index.html create mode 100644 requisitos/fluxograma_de_navegabilidade/index.html create mode 100644 requisitos/perfil_dos_usuarios/index.html create mode 100644 requisitos/visao_de_produto/index.html create mode 100644 requisitos/visao_de_projeto/index.html create mode 100644 search/search_index.json create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz create mode 100644 sprints/sprint00/planejamento/index.html create mode 100644 sprints/sprint00/resultados/index.html create mode 100644 sprints/sprint01/planejamento/index.html create mode 100644 sprints/sprint01/resultados/index.html create mode 100644 sprints/sprint02/planejamento/index.html create mode 100644 sprints/sprint02/resultados/index.html create mode 100644 sprints/sprint03/planejamento/index.html create mode 100644 sprints/sprint03/resultados/index.html create mode 100644 sprints/sprint04/planejamento/index.html create mode 100644 sprints/sprint04/resultados/index.html create mode 100644 sprints/sprint05/planejamento/index.html create mode 100644 sprints/sprint05/resultados/index.html create mode 100644 sprints/sprint06/planejamento/index.html create mode 100644 sprints/sprint06/resultados/index.html create mode 100644 sprints/sprint07/planejamento/index.html create mode 100644 sprints/sprint07/resultados/index.html create mode 100644 sprints/sprint08/planejamento/index.html create mode 100644 sprints/sprint08/resultados/index.html create mode 100644 sprints/sprint09/planejamento/index.html create mode 100644 sprints/sprint09/resultados/index.html create mode 100644 sprints/sprint10/planejamento/index.html create mode 100644 sprints/sprint10/resultados/index.html create mode 100644 workshop/comandos/index.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..3e4eaac --- /dev/null +++ b/404.html @@ -0,0 +1,2651 @@ + + + + + + + + + + + + + + + + + + + Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ +

404 - Not found

+ +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/assets/DARCY_29_miniatura.png b/assets/DARCY_29_miniatura.png new file mode 100644 index 0000000000000000000000000000000000000000..ae60e153277dce71a9be21fae830fb123f977eb7 GIT binary patch literal 262541 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�Q>9 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 literal 0 HcmV?d00001 diff --git a/assets/darcy_30_miniatura.png b/assets/darcy_30_miniatura.png new file mode 100644 index 0000000000000000000000000000000000000000..3e9d0b4c8d735d0d3a2d7b0647f9798bc343c563 GIT binary patch literal 85404 zcmb?>Q;;T26lG6O+cu_c+t$~%t!Yf#Uw6;6ZQHhO+qP|c``?X?*nQZyeW;4MnGsdD zGEd%f@5u~NkduIi!GQq*0fCp26jcHN`2q2L=|O$pLClY93cn3M3lR|oDG`xhb`G{? z7S^U9Ae1p)F?^DJf_MY^bD_lOkTk)ZCdG0Wxx|qTFk;0>mH}$`GV~w5y*(`dmFXNV=EWIHzs}o{q2-U@?Az65IP?7s|E^@zz=3ray&{ zl+%{=AN4cE(M!G$I}hw}Op+ymXJRwerMT}x)o7d=6@+Q7%m){R(>cNaTLC@p9lLq_dxpfo z4!61a^7kl#UCYmKUhG<`Hl^r71zON6^Ltr$gJXcg)NCP2~VtsIi99O1%*dM)kuO~!n9~Ne(WH$OvfcxLs>K=PErw% zEEFunhtv%8*Wji2l&$yE#!hrL z|E)a2M-)Ij}*jKslC|J8Uh zY4|~y(omX&-0SiQu0=VnR#=3ZJwssMznyL1={dJb$N8CC5oghUfcb$+&uB<&Lkr5% zTs4$8m<)>B8G}rmnmCEJX%6q}37Mz8DZzd>&)GS@&PF?5(RR90V&RRggs=l!qFaR)Mq}+q$K9OZ_s-d3I5IfL9K%sAW*ZZVJ%b%9#-T#8w ze6gpjg40J7P7^P|-w@2eaMdywxbv8m)~kVidS?|zCh*(~Gpq_0cy^V(y~tz6v4q_} zkmQO#7RGfX=gj#yjx*G?l>?mAz5S_QdC^)i3KVFCjG4(Y{}hcferl*1_R@8gh+Dhb zbQ$2S0~MR9ma)xr)E%`s}z?&@Ho za4awd?<%LqWYAn2hrFnv#&*7{ZoJfqW7}bl8|KKD`MyaU<>eAm>u5@zTeIYF#c;Jf zT%k--SHEORAii8vG#JUpcIo!S-uYF*MesI$s}O$KBR}c5zets;e4=3d^!W7WD21V7 zmmXQPjEA;qgRgy0mvd<^MxH@;@p&0h?yFy*b6u$Oag&_qX?`<#nSyQHy2@_9LRklB z8`sF7!L8O#bg%aB$;$|H;k97Lq9XCSe~W%MY@(~lYIDY5sq+;V2BSf|x92QP=kFDm z^aa7#P^fIjr#3(Lh=lhW$Xlg_K^%<)a$V`cG(770U#kezp|yMZUIHC;s;2I`<+HNc`VyktiMs0^;Y4x{t}WR3wx zk-+kr=IepzantLD%j1?oofDYLa(}S(c=?C)VFt3OhGFM>rUF0TLz1+3pAr@irh3%$ z$9xMBSF;FLx*Pvs&80HIcnfyVm*OJ}ex{OX-|19fg3c&ZsIdOL?%88|QAmoEcsh?GW_o0@Sl&OpV+G_iEirw1zxh1QG=wNWIDCqMY zF-v22ysu+I^UAg`AjK>Y@pD(t=DFmsP#-u{fnM08O8>_FVAh-Cy5wG$D(nCB`CciV zJJIwt%gV9E^+s}oH&GIg_#pwL*Lt$sDwy=UJgZyj3z++owed=u6ZoV5^i(GYpZrl7lesvR<Lv|MXE{|9-8&9-8Ca#PKrO_ ztiK@+7q>s@YwV5#!-6O`8uQj%WNiO>`8a$v$j%1lXxyor?j;7?_WRw%7wAo&Em5Ep znlU$Clp$1bdJ%88v!)zB=;Bx@7&1H4(@S^yzGLp(nts=GF;k4)^(M~L-#-_nAbvD_h+ZB( zlj&{8I&4oA>o1OV>mEzzl8)7mwi&A~(nsGN=1=RY_%LqzBM6y5hZI|{TiP-S{WaxR z0@}{#x@X}@R9Y5$%AHO9^~s1PSwvkS&JMc0K}7j$zbXA@!4jUM=TD9!w=IcBxP%1v zGrl#q_q(xunyL$|#|>RvD!!NLr76X7o65MC88|X9&l0>hwKRtJI#kcYEdtY<_2b-8 z?W+xOucZUbAw*npJYeI1v^-qX$~R&{3EfeDXHdQjc5#hyeBItl9`vyzKX!RF&!6KH zuCpsON_5<2RAuf|eMZG$f(0zqF65Evza$mCtQN^5RKS9?AK=enn({|^nWeO_Y~(zI zHF>@FuA~9~x(rS4*}opJ%X`_I&J}q}|AwO=IKCeF>k_X#BvFP_zDQ^Lc07J?8IjYT zLX&_=sJGYOhu?Y;1|0cVVwFtOrr^0*E=uHlxc$8+P`9^BTh=+|aNRo7zdJ;rv)%T$ z-p=CHr&l>kf5(>J^;C7|JivNsb5)E5ty7`%W1vpN@92-~lv0Yo?QB) z+{+{8WNsv(yutBY!_-$6K$Ns)De?5J@)Be2`=;+t~I%BDi)aNx(M11l( zJfAikrE{H7T5BOVC3vxm(|rqs?Yhl8TFc^h9XRwD%NVkI|3r`ws2*+LKxioeL+JYB zySIgnuNg#dspNKZ<1Bx(OG5V_J%_>Qyj5Amvcrpw*@o04$wqowi!Ijx-KH-qxiUX* zPYb=iZtuXSJ`7Sw+1lUNafS#i>fVLzHBC3}WiB;;+ehy0o$}@-~PVgysh~x zGlVNA%;8D*X(|-5*kHc9PP{Gu0%k6CR$5BXSo964tqVsu5{`R>j zNz=Qg`CSju=S_f1qKz$`^83f@=3O*w-d?E8nh@22b6WIn*Kv31PL)k2K64>K-1Xww z4Rdwq*2eePT_+iR4H{WoD}~l);^({jGemtMO>&>Zc*2fMZHI$1zrR*z&uk-CI#wiC zf>{{!ecZH`@9X%u%|%`vu*w$co<3JyzEh0GoU6UIEl!Ef{h{t_YQ^HRbRM>M;u00Q z3H*^^*u&|V9fz}_OfNR5_Gc3-O0~Kt1HaKn!Vin)gT1)(RUR$#)t zDc7cP9Ityv>2buA&i04Nl${v-9u=MUS7*xx=a${R8K0*-d|V$FAtFmr44 zpDdG941DjW>`TU57ICf&nG&UobU{}iGw>9#t=ExVEMsp1jpq3_5?Ar4h+X_{95^S_ zOUeNWFGgduic5-@U!z=3!STn{d#B$)f*}(qA~&&G8`MJ|)htQw68TsxaY;});NebW zezKyzCB333m-XB6_%*C9^2|1Czl5Q@)6m$w!mbZUPG6k4rt*87bliGu8CcDjZ!ZiOW^ zH)FY9gt-F529xd)yTH3A zA@uAxQM>4SVbB7<%DAOG-1pmu`JTL9&v9M0v>V%MkHZ(a%q6mW)@*Sr2ei=jUV8%M z$J}>v8geY@YfBFTpX9I2YFx_pZx|T#J#SW!N3&HSCls|uCiyn^Qic-0*wf&6qlRLq@Oac}ouzbG#vN41%E~6Ps!}|&Ms8?!Jr21bB zxo23W?OldIT3(&YN%5jh0`GN63&(wC6D?yt8w(02oHiX5v<{0&(bkGGe&}PsOYN%$ zGME3wihfZi@T?2|AfPDG{eCLwF1iwr--%gVocrTgB2*~Df%o=8x{Al`xzl~MXyec{CQql^ z+*NVS=N$jWGn&zO z`ut;4p1a-CXVU1GU$-mQk5x>Ja1>b9Yiyno9n`c0V?nK#Y!ZQ(KeirN+SngzUU&L& zWpNo6+STO{9@ zak$=mJyiXoT7Rs>M!>Uic!G3scr-~n%F;Oq+R`d;&V8?e2&AL9yKJvuo`q1W;{CcF z*sEVjV>WYDseHX7E7=)-t3(hy7|Vq0WPeW!7v0W8yvVOv(z`tcz69)Wv_Q3Ac-5t; zT`@V5nojw2M_Uu0b1iT43ACkky+u{-C4J8P*nFj#V|`ra5c3*I!@-gvZ~szviE`4q z`R2B|C_Nplwwuk7G6He9-jK8^y_&f>eVv{8njH=+W8$5TtY#jE+6yHT^mjt`WGmsz0}%Q5QQLUpEi$y0L_bT0Og7YI$3gPedEc;pS9GAJc z8&^3~@0&p9TWwem!k4HYNt51t{$;rlr<-n^_GRV|0f<1tiZq!3#COcL<_G*W@z<8` zkWs^+qcfb=!DQ@Wejst^9yf0H(V>o5EcdsHN6D*;sTU~Fm}dPtn>c5@rHOTNr(B0k z`1bZT#lv8aw&tjwfcP=G8H2SOhe-Elbj+wJ^g}W%%BXjYWAnqYEs&qoF^}&x!`&kc zGw20(i|bvxJnO&G_v4|UVEl1Q=ct2lg)d#A&D}T1^yZXS+{gB7gsYN|nd#o@xX6rU z^CjfMbMFhM40URNQB=K$4Wz!i&T|J7SG1PTNZ)Q&nS)g z`+L8!bl~pnCS|)r?tfsxJH_+W1)i}Yl9m&+ai6*!mH)?)LvQ@tp1{Wn*U8&+9yM`# z7YDwBo~q0}b8q7>Nr{dL>#A$mF2~?Jftpc70-fD`5?$^iJd_}HHqxrpAe73Mx*j@L z**dGQU+zHYsVB$!15<60P60>leet zp*$g{-2U!wTqG@041=vB$uEw(2Nc>%A-{$vM6P`~Ga>US@V9U|VH=ryUwCyi@k~ zD?8FUh+PM#jYe&m-}UZPcs$#G`h{+nw?$R$*K3!+#H{C4>{XLe-M0eq?K%WxrB&^b zLB`0*d8|;*lC$SWl)UYTa?k1~-i zoIh`sI4lygW!!~BT^l6Fi^Q@je)13AdO0%V|)$PWo$?e)To7 zD>?r*_#K$(Tz;+&Jo2s{r}$b3^E}Z{Z_U4hHM1REZghNZf035A z*3*A4xpLL8f*;~9N4N1@TBsVOT^nucax*J_BE7HJlyTdlaM5GlJDCJ_-ZRMEynG#D znajIWYRCrBBoqXGqPYJ-3_DwS7$b zVFG9v>IjGdwsyo8uz)*Kw2lj81W}9EaS0l$xSgczT)KbCxH{@}@NchN`#~nwxHJdd z=#8WXZjJ`T7+#9n9v@M8c<*!jeKvdDO-*()M7aQ-HbtB>_inM0JluB9tlF;|*l^xZ zzZd!BCoYclma3@{GfA1ACoK?v=oHY?5{IwnQ93XKxu*V(A6F-s+4%x>tQF6;#qE-++7!IRlkTbxXw&7wM{^v5+lz3~vN6I1>ZioZqYpMA^UolK1Xhap=ni%d9&j~(&TIgwD) z>@4y~srtUc06~sv*VujFm<}BS(jdNmZnk zjx1yRIOEL7D$$xd&$TjWiVx~}J&qL>DaW-|+SE3{p~Yl(5PEfJ&4B1n{{7@bF=1)l z?J^9M%sR8sl{I1uh7$CPNPso@044!)Pg3UP z4Sigb{H#Z109KBD^T??(O+E|Ni>I8kK0MmDlX12wCMPju^+hrpOk!s*7zr8ZG6S`* z{V)-@xX+OiN&ZA8HeMBcGb~L72jxvfGY*!`^m?7o3p?m4j5y|0MFF=43~>uTbxT-ge=|GOVQRL zewP=An+9iVH=Tep?BAC*eFJCHgp)M$<~vl|B3gW6;mwH^FFVXT^Fw4f$Ehrm6iEx2 z1!VNj7x}Icp3lvV@`MH7@}gx} z-BhNb%MoqR71wykk^FS36;p#Fjy~t*TgTh=HyF0sGv-a4wzdw2d7`dczCP=mB3+x0 zTrYF71=Dkss;V7414bL+Vi*_e-kNUSMW*bx6Mw2uSn_@@47I#?aoqK~WNFdH}t(hH8!!da7fg`lvfedK%jGmw`%2g`X!&H8pSe3}myWf5ReM79slRGRh z$`T(v)11f)luGQ*KaKYtZ9OsaxD^MS@rybgLpQEg`bO8O>z2l&Wliy3E=VNRB`K6! zVRa+h-=GjbZ~VsjIG+NyidOKD)ECv3erIX+l@0Nbm5`---N2QO&ZdZ&JxwwHb&3p7 zhLyR>G_yP+Z8SrMO)v|{joa(!BgIf=YX3lWoz}9BSx_2n@8=mB?WK0F%050wE;V)8 zqMi67ds+u?^BH9;q^LGk5j(GBImdQ7=RC>pn#jyhBBORv@kqG@hy@5c*ZK~A37#|n zlSPkR+Gw+Mja~*!(M)&xc^UpbnYOE|Bn&okyYm#)PEh+Hw zAfD&1ojB|T*%}?pGl!XDXk=*b3_fl4kG7z%Rv=syAgm!+7xC*B@y~51e(fjrBri5C zta#huIu1?Q?=fs*k(V2#tg?&69PMY|X|ouPFVr}>K&ujBskBL0*(Xd2LsmtObSM{7 zCzQa%1Dtb5BduJ1l@OJXqjfNc|HX*pEt4@r>pIHD$0dbDG-E<+DaYVDX$AH7)6BK6O(N&%x&g@ zgOS`6o$kJ#bVCn#OPh|#7mzO1Pmf+I6jn0l9oz@kY5Lo&y);Agl86ikJepsc$k0x2 zfXzEf0fF-e{TsX_-o*4T$D@cLnyQwYyH}houbjVxHw1$i=iTynzp|zjvs;=*R!6Sc zomi;SJFo5!E62+40qKZrNjEIDTw5i1iH#%Z-exWRXT#r+cHg`4*doGAL3Q^Vypy#a z>hkuyKB|k#bpK##3*F7yvw?Ly8*E*lIa+p#*Z*= zb2>Z7>p)Urpozw;GIuG=g1Q_KN&}u-gAcasSI` z12j@eear#@SM+-@xNXj_UtKp*N&2)TlY1~d@a|g82<}Y|K2xLMmF_-8{dL|l|2iid z^j^F^LI2w7-*jNM60Tft;PM4@?qYL1D*Smb|2x13qp%;DIitSuWyO~y>DJd`dF&{r z55yDQN1sBv9Ms*7nPT48=~8^uGDaJO1nVh7_$m2R^-i$D2pj@iywdCh-ZJ6&y3WF9k*-Ol3DqL+8V-0IKUR9Df0W z9xugKKcFn35p6f7wo@;NV69#dT1~n$Q>D6W2G4hOQW9ON1X|L7wz;Rcs3Me|*Gu(- zBKn6cBEQ}e@w{RvCxSATM=7TPj2JRN)ePBMr

O^HN;CSIjk_@ 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\!;DmgoRnY*@oR#ctPJ*_yoEVw4U_` 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 literal 0 HcmV?d00001 diff --git a/assets/frequencia.png b/assets/frequencia.png new file mode 100644 index 0000000000000000000000000000000000000000..5d8e64ebc177e913cb4bed6dcf967a074792fb11 GIT binary patch literal 49019 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
\n * import { animationFrameScheduler } from 'rxjs';\n *\n * const div = document.querySelector('div');\n *\n * animationFrameScheduler.schedule(function(height) {\n * div.style.height = height + \"px\";\n *\n * this.schedule(height + 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * }, 0, 0);\n *\n * // You will see a div element growing in height\n * ```\n */\n\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\n\n/**\n * @deprecated Renamed to {@link animationFrameScheduler}. Will be removed in v8.\n */\nexport const animationFrame = animationFrameScheduler;\n", "import { Observable } from '../Observable';\nimport { SchedulerLike } from '../types';\n\n/**\n * A simple Observable that emits no items to the Observer and immediately\n * emits a complete notification.\n *\n * Just emits 'complete', and nothing else.\n *\n * ![](empty.png)\n *\n * A simple Observable that only emits the complete notification. It can be used\n * for composing with other Observables, such as in a {@link mergeMap}.\n *\n * ## Examples\n *\n * Log complete notification\n *\n * ```ts\n * import { EMPTY } from 'rxjs';\n *\n * EMPTY.subscribe({\n * next: () => console.log('Next'),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Outputs\n * // Complete!\n * ```\n *\n * Emit the number 7, then complete\n *\n * ```ts\n * import { EMPTY, startWith } from 'rxjs';\n *\n * const result = EMPTY.pipe(startWith(7));\n * result.subscribe(x => console.log(x));\n *\n * // Outputs\n * // 7\n * ```\n *\n * Map and flatten only odd numbers to the sequence `'a'`, `'b'`, `'c'`\n *\n * ```ts\n * import { interval, mergeMap, of, EMPTY } from 'rxjs';\n *\n * const interval$ = interval(1000);\n * const result = interval$.pipe(\n * mergeMap(x => x % 2 === 1 ? of('a', 'b', 'c') : EMPTY),\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following to the console:\n * // x is equal to the count on the interval, e.g. (0, 1, 2, 3, ...)\n * // x will occur every 1000ms\n * // if x % 2 is equal to 1, print a, b, c (each on its own)\n * // if x % 2 is not equal to 1, nothing will be output\n * ```\n *\n * @see {@link Observable}\n * @see {@link NEVER}\n * @see {@link of}\n * @see {@link throwError}\n */\nexport const EMPTY = new Observable((subscriber) => subscriber.complete());\n\n/**\n * @param scheduler A {@link SchedulerLike} to use for scheduling\n * the emission of the complete notification.\n * @deprecated Replaced with the {@link EMPTY} constant or {@link scheduled} (e.g. `scheduled([], scheduler)`). Will be removed in v8.\n */\nexport function empty(scheduler?: SchedulerLike) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\n\nfunction emptyScheduled(scheduler: SchedulerLike) {\n return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport function isScheduler(value: any): value is SchedulerLike {\n return value && isFunction(value.schedule);\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\n\nfunction last(arr: T[]): T | undefined {\n return arr[arr.length - 1];\n}\n\nexport function popResultSelector(args: any[]): ((...args: unknown[]) => unknown) | undefined {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\n\nexport function popScheduler(args: any[]): SchedulerLike | undefined {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\n\nexport function popNumber(args: any[], defaultValue: number): number {\n return typeof last(args) === 'number' ? args.pop()! : defaultValue;\n}\n", "export const isArrayLike = ((x: any): x is ArrayLike => x && typeof x.length === 'number' && typeof x !== 'function');", "import { isFunction } from \"./isFunction\";\n\n/**\n * Tests to see if the object is \"thennable\".\n * @param value the object to test\n */\nexport function isPromise(value: any): value is PromiseLike {\n return isFunction(value?.then);\n}\n", "import { InteropObservable } from '../types';\nimport { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being Observable (but not necessary an Rx Observable) */\nexport function isInteropObservable(input: any): input is InteropObservable {\n return isFunction(input[Symbol_observable]);\n}\n", "import { isFunction } from './isFunction';\n\nexport function isAsyncIterable(obj: any): obj is AsyncIterable {\n return Symbol.asyncIterator && isFunction(obj?.[Symbol.asyncIterator]);\n}\n", "/**\n * Creates the TypeError to throw if an invalid object is passed to `from` or `scheduled`.\n * @param input The object that was passed.\n */\nexport function createInvalidObservableTypeError(input: any) {\n // TODO: We should create error codes that can be looked up, so this can be less verbose.\n return new TypeError(\n `You provided ${\n input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`\n } where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`\n );\n}\n", "export function getSymbolIterator(): symbol {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator' as any;\n }\n\n return Symbol.iterator;\n}\n\nexport const iterator = getSymbolIterator();\n", "import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being an Iterable */\nexport function isIterable(input: any): input is Iterable {\n return isFunction(input?.[Symbol_iterator]);\n}\n", "import { ReadableStreamLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport async function* readableStreamLikeToAsyncGenerator(readableStream: ReadableStreamLike): AsyncGenerator {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = await reader.read();\n if (done) {\n return;\n }\n yield value!;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\nexport function isReadableStreamLike(obj: any): obj is ReadableStreamLike {\n // We don't want to use instanceof checks because they would return\n // false for instances from another Realm, like an +

+

3. Histórico de Versões

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoAutorDescriçãoRevisorData
1.0Jefferson SenaAdicionando os requisitos e User story mapTiago Albuquerque01/04/2024
1.1Jefferson SenaAdicionando requisitos não funcionaisTiago Albuquerque05/04/2024
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/requisitos/fluxograma_de_navegabilidade/index.html b/requisitos/fluxograma_de_navegabilidade/index.html new file mode 100644 index 0000000..3afbdf1 --- /dev/null +++ b/requisitos/fluxograma_de_navegabilidade/index.html @@ -0,0 +1,2821 @@ + + + + + + + + + + + + + + + + + + + + + + + Fluxograma de Navegabilidade - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Fluxograma de Navegabilidade da Revista Darcy

+

1. Objetivo

+

O intuito é fornecer uma representação visual clara e organizada de como os usuários podem se mover através do site. Alguns benefícios que esperamos:

+
    +
  1. Visualização da Estrutura: Ajuda a visualizar a estrutura e a hierarquia das páginas do site, mostrando a relação entre elas.
  2. +
  3. Facilitação do Planejamento: Auxilia no planejamento e na organização do conteúdo do site, garantindo que todas as páginas e links necessários sejam incluídos.
  4. +
  5. Identificação de Problemas: Permite identificar e corrigir possíveis problemas de navegação, como links quebrados ou caminhos complexos.
  6. +
  7. Melhoria da Experiência do Usuário: Ajuda a garantir uma experiência de navegação intuitiva e eficiente para os usuários, facilitando a localização de informações.
  8. +
  9. Comunicação Clara: Serve como uma ferramenta de comunicação clara entre desenvolvedores, designers e outras partes interessadas, garantindo que todos tenham uma compreensão comum da navegação do site.
  10. +
  11. Documentação: Funciona como uma documentação do fluxo de navegação do site, útil para manutenção futura e para novos membros da equipe.
  12. +
+

2. Fluxograma de Navegabilidade

+

+ +

+

3. Histórico de Versões

+ + + + + + + + + + + + + + + + + + + +
VersãoAutorDescriçãoRevisorData
1.0José AndréFluxograma de NavegabilidadeTiago Albuquerque02/07/2024
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/requisitos/perfil_dos_usuarios/index.html b/requisitos/perfil_dos_usuarios/index.html new file mode 100644 index 0000000..28527bc --- /dev/null +++ b/requisitos/perfil_dos_usuarios/index.html @@ -0,0 +1,3123 @@ + + + + + + + + + + + + + + + + + + + + + + + Perfil dos Usuários - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+ + + + +

Perfil dos Usuários da Revista

+

Perfil do Usuário

+

A partir dos dados obtidos com o formulário, foi possível definir o Perfil do Usuários e leitores do site:

+
    +
  • +

    Estudantes da UnB entre 19 e 22 anos. O público também compõe, em sua minoria, servidores e técnicos administrativos da UnB.

    +
  • +
  • +

    O site e as edições da Revista são lidos, em sua maioria, sempre que novas edições são lançadas.

    +
  • +
  • +

    Muitos estudantes evidenciam não ter conhecimento sobre o site ou a revista.

    +
  • +
+

Análises dos Dados do Formulário

+

Com o objetivo de obter mais detalhes do Perfil de Usuários da Revista, foi proposto a divulgação de um formulário com perguntas pertinentes. Com isso, segue aqui uma análise dos dados obtidos a partir das respostas dos leitores da revista.

+

Questão 01

+

formulario

+

Questão 02

+

formulario

+

Questão 03

+

formulario

+

Questão 04

+

formulario

+

Questão 05

+

formulario

+

Questão 06

+

formulario

+

Questão 07

+

formulario

+

Questão 08

+

formulario

+

Questão 09

+

formulario

+

Questão 10

+

Há algo no site que te desagrada ou poderia ser aperfeiçoado?

+
    +
  • Gostaria que ele fosse tão atraente visualmente, como é a revista impressa e, na medida do possível, fosse interativo.
  • +
  • As matérias poderiam estar disponíveis em html e o visual poderia ser atualizado +Layout
  • +
  • Navegação pela versão digital da revista (em pdf) não facilita a leitura, não há ferramenta de buscas por palavras-chave ou data de publicação dos conteúdos, é necessário fazer vários cliques para chegar a um conteúdo específico (mesmo da nova edição), a disposição de textos e imagens na leitura dentro do site não é muito bacana (legendas das imagens, por exemplo, não têm um tamanho próprio)
  • +
  • Novos elementos e melhor intuitividade
  • +
  • A forma como carrega as páginas da revista no Issuuu
  • +
  • Poderia ser melhor trabalhado os conteúdos audiovisuais.
  • +
  • O menu de navegação para acesso à revista.
  • +
  • O design do site.
  • +
  • O layout da página inicial é sempre meio confuso. a parte para assinatura da revista não funciona, já me inscrevi diversas vezes e nunca recebo atualizações sobre a Darcy no endereço cadastrado.
  • +
+

Questão 11

+

O que no site te agrada e pode ser entendido como essencial?

+
    +
  • O fato de todas as edições estarem disponíveis.
  • +
  • Fácil disponibilização das edições passadas.
  • +
  • A busca rápida por outras edições da revista
  • +
  • Disponibilização da íntegra da revista.
  • +
  • A organização em menus principais acima (o que facilita as buscas de conteúdos), as caixinhas de destaques (mesmo que não estejam em um leiaute bonito e adequado, acredito que o próximo site deva incluir caixinhas de destaque com fotos)
  • +
  • A leitura das edições na plataforma e imagens.
  • +
  • A riqueza de imagens, a identidade visual das reportagens de acordo com o tema, e os infográficos, além da linguagem acessível mesmo em temas complexos.
  • +
  • Bonito e bem organizado, com banners e links em destaque
  • +
  • O conteúdo e a leveza das cores e da diagramação.
  • +
  • A organização das edições.
  • +
  • As capas das revistas devem ter destaque.
  • +
  • As abas estão bem divididas.
  • +
  • os arquivos poderem ser baixados em pdf.
  • +
  • Página para download de todas a edições, página para leitura online, contato.
  • +
+

Questão 12

+

Há alguma sugestão de melhorias em qualquer aspecto (visual, textual, usabilidade, funcionalidade, etc.)?

+
    +
  • Uma arquitetura da informação mais orgânica, que facilitasse o acesso a reportagens de várias edições, talvez com a aplicação de tags (ou agregadores). Visualmente, o site também não faz jus à revista. Por fim, sugiro agregar plugins que tornassem o ambiente interativo, na medida do possível.
  • +
  • Mudanças simples no carrossel dos destaques e a possibilidade de alguma interatividade com infográficos e outras imagens
  • +
  • Uma revista digital interativa
  • +
  • Página inicial visualmente mais bonita; reavaliação dos menus para evitar duplicatas de conteúdo; valorização dos conteúdos multimídia.
  • +
  • É necessário adaptar a usabilidade em celular, incluir ferramentas de buscas dos conteúdos (por palavras-chave e por data), incluir na home mais caixinhas para conteúdos multimídia, retirar o banner principal (se o uso for somente para o leitor ser encaminhado para a nova edição, não faz sentido, pois já há outra caixinha abaixo que leva para a última publicação), reorganizar a disposição dos destaques, de forma harmônica (exemplo: destaque de vídeos aparece antes do Leia mais; há uma caixinha com endereço do campus, sendo que essa informação se repete no pé do site). A disposição atual dá impressão de uma certa desorganização na home do site, já que as caixinhas não estão organizadas de forma padronizada.
  • +
  • Mais funções para deixar mais intuitivo e melhor identidade visual
  • +
  • Aplicativo, talvez.
  • +
  • Se fosse viável, poderia haver a versão web da revista completa, mais interativa, sem ser PDF
  • +
  • Acredito que se a revista fosse mais visual, tipo, não precisasse clicar em varias abas para abrir seria mais intuitivo. Como por exemplo a Gazeta de Alagoas. Segue link: https://www.gazetadealagoas.com.br/edicao-digital
  • +
  • Acho que a revista tem de ser mais divulgada. Iniciar uma visita a cada departamento, em busca de pautas e de leitores.
  • +
  • Sim, tornar a hierarquia das informações mais intuitivas como as plataformas de mídia estão fazendo, e facilitar a busca por notícias de interesse.
  • +
  • Criar estratégias de divulgação nas mídias sociais com entrevistas, divulgação de temas e conexão com o PAS para maior alcance dos alunos da Educação Básica.
  • +
+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoAutorDescriçãoRevisorData
1.0Jefferson SenaAdicionando Dados do FormulárioTiago Albuquerque17/04/2024
1.1Jefferson SenaDefinindo Perfil dos UsuáriosTiago Albuquerque17/04/2024
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/requisitos/visao_de_produto/index.html b/requisitos/visao_de_produto/index.html new file mode 100644 index 0000000..990477b --- /dev/null +++ b/requisitos/visao_de_produto/index.html @@ -0,0 +1,2958 @@ + + + + + + + + + + + + + + + + + + + + + + + Visão de Produto - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+ + + + +

Visão Geral do Produto

+

1. Problema

+

Foi identificado uma dificuldade quanto a ferramenta atualmente utilizada pela secretaria de Comunicação da Universidade de Brasília. Por utilizarem o Joomla, um sistema de gerenciamento de conteúdo (CMS) de código aberto usado para construir websites e aplicativos online. Enfrentam dificuldades em atualizar os conteúdos pela alta complexidade desse sistema. Surgindo então, a necessidade de uma migração de plataforma.

+

Além disso, a Revista Darcy, como veículo de divulgação das principais atividades da Universidade, busca ampliar sua base de leitores. Para alcançar esse objetivo, é essencial contar com uma plataforma intuitiva e prática, que facilite o acesso e a interação com diversos perfis de leitores.

+

Diagrama de Causa e Efeito

+ + +

2. Posição do Produto

+

Uma plataforma WEB intuitiva e com recursos visuais que proporcionem uma experiência de leitura agradável, assim como o formato impresso da revista, é essencial para o sucesso da Revista Darcy. Além disso, é importante que esta ferramenta expanda o alcance a diferentes tipos de leitores, oferecendo recursos para interação, como comentários e compartilhamento de conteúdo. Adicionalmente, a plataforma é adaptável a diversos dispositivos, o que garante uma experiência consistente e acessível em computadores, tablets e smartphones.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParaLeitores da Revista Darcy
QuemPúblico interessado em conhecer sobre as edições da Revista Darcy e Universidade de Brasília
Revista DarcyÉ uma Plataforma WEB e WordPress
QueProporciona uma experiência de Leitura Intuitiva e agradável
Ao contrárioJoomla
Nosso produtoDisponibiliza Recursos e identidade visual que proporcionam maior interatividade com a leitura.
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParaEditores da Revista Darcy
QuemEditores que realizam publicações e edições na plataforma
Revista DarcyÉ uma Plataforma WEB em WordPress
QueFacilita públicações e edições da Revista Darcy
Ao contrárioJoomla
Nosso produtoDisponibiliza ferramentas e recursos que facilitem a publicação de reportagens e edições da Revista, aumenta a independência dos jornalistas sem a necessidade de um funcionário de TI para auxiliar nas publicações e edições da revista
+

3. Objetivos do produto

+
    +
  • Facilidade na publicação de edições e posts
  • +
  • Modernização na identidade visual inserindo aspectos da revista
  • +
  • Utilizar galerias de imagens dinâmicas das reportagens
  • +
  • Integração com plataformas externas: YouTube e Instagram
  • +
  • Integração entre a Revista Darcy e a UnB Ciência
  • +
+

4. Tecnologias a serem utilizadas

+
    +
  • Comunicação : Telegram, Discord e Teams.
  • +
  • Documentação : Mkdocs, GitHub
  • +
  • IDE's: Visual Studio Code
  • +
  • Design: WordPress, Figma
  • +
+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoAutorDescriçãoRevisorData
1.0Jefferson Sena e Luís FilipeAdicionando Visão do ProdutoTiago Albuquerque02/03/2024
1.1José AndréPadronização de TópicosJefferson Sena11/03/2024
1.2Tiago AlbuquerqueDiagrama de Causa e EfeitoJefferson Sena11/03/2024
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/requisitos/visao_de_projeto/index.html b/requisitos/visao_de_projeto/index.html new file mode 100644 index 0000000..f0b95d8 --- /dev/null +++ b/requisitos/visao_de_projeto/index.html @@ -0,0 +1,2997 @@ + + + + + + + + + + + + + + + + + + + + + + + Visão de Projeto - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+ + + + +

Visão Geral do Projeto

+

1. Organização do Projeto

+

A tabela a seguir possui os integrantes definidos para cada divisão de atribuições de tarefas a serem cumpridas.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PAPELATRIBUIÇÕESINTEGRANTE
Product OwnerCoordenar as fases do projeto, atualizar escopo do produto, validar as entregas e gerenciar prazos.Jefferson Sena
DesenvolvedorCodificar e construir o software definido a partir dos requisitos analisados.Equipe
Scrum MasterGarantir a compreensão e adoção do Scrum pela equipe. Estimular a comunicação eficaz e a colaboração dentro da equipe Scrum.José André
Design e prototipagem de interfacesPrototipa possíveis interfaces a serem implementadas no software, mantendo padrões definidos.Equipe
Análise de requisitosDescobre, propõe e analisa os requisitos do produto, documentando e esclarecendo possíveis dúvidas aos envolvidos.Equipe
ClienteValida o produto e propõe requisitos que o mesmo necessita que exista na aplicação.Secretaria de Comunicação UnB
+

2. Planejamento das sprints do projeto

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SPRINTPRODUTO(ENTREGAS)INÍCIOFIM
0Reuniões inicias, criação da página de documentação e cronograma26/02/2023404/03/2024
1Planejamento, definição de backlog, requisitos brutos e validação.04/03/202311/03/2024
2Configuração do ambiente Wordpress, refinamento do backlog, requisitos brutos e validação. Formulário de pesquisa e obtenção de dados.11/03/202325/03/2024
3Criação de páginas; refinamento do backlog; testes de usabilidade; definição do roadmap.25/03/202308/04/2024
4Insights dos dados do formulário; Evolução do projeto open source GOV-br, injeção de código no tema08/04/202322/04/2024
+

3. Roadmap da Organização do Projeto

+
+ +
+

+

4. Gerenciamento de riscos

+

Os riscos identificados para o projeto foram:

+
    +
  • Falta de horários disponíveis para todos os integrantes se reunirem para as reuniões.
      +
    • Solução: + Definição de horários disponíveis para todos os membros e negociação em relação a carga horária semanal.
    • +
    +
  • +
  • Indisponibilidade de algum dos integrantes.
      +
    • Solução: + Replanejamento das atribuições designadas e replanejamento das fases de desenvolvimento.
    • +
    +
  • +
+

5. Critérios de Replanejamento

+
    +
  • Diminuição dos membros da equipe
  • +
+

Caso haja mudanças na formação da equipe, é importante reavaliar as atividades definidas, com reajuste de prazos, tarefas e complexidade do desenvolvimento, a fim de reduzir os impactos no projeto.

+
    +
  • Não cumprimento de prazos
  • +
+

Caso a equipe não consiga cumprir os prazos pré-definidos, é possível que haja um reajuste dos requisitos e sua complexidade, a fim de que ao final seja possível realizar a entrega do produto ao cliente.

+
    +
  • Insatisfação do Cliente
  • +
+

Caso haja insatisfação por parte do cliente, é importante que a equipe refaça a análise dos defeitos apontados, com o objetivo de trazer as causas da insatisfação e assim trazer uma melhoria para tal aspecto.

+

6. Histórico de Versões

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersãoAutorDescriçãoRevisorData
1.0Tiago AlbuquerqueCriação da visão de projetoJosé André05/03/2024
1.1José AndréCorreção de Tópicos e Adição de SprintTiago Albuquerque11/03/2024
1.2Jefferson SenaAdicionando RoadMapTiago Albuquerque26/03/2024
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json new file mode 100644 index 0000000..22ff3ee --- /dev/null +++ b/search/search_index.json @@ -0,0 +1 @@ +{"config":{"lang":["pt"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Revista Darcy","text":""},{"location":"#plataformas","title":"Plataformas","text":"
  • Revista Darcy - Site Atual
  • Revista Darcy - Ambiente de Testes TIC BRISA
  • Revista Darcy - Ambiente de Homologa\u00e7\u00e3o - Servidores da UnB
"},{"location":"#sobre-a-revista-darcy","title":"Sobre a Revista Darcy","text":"
  • Descri\u00e7\u00e3o: A Revista Darcy, criada em 2009 e sob a responsabilidade da Secretaria de Comunica\u00e7\u00e3o da Universidade de Bras\u00edlia, destaca-se como uma publica\u00e7\u00e3o dedicada ao jornalismo cient\u00edfico e cultural. Projetada como uma vitrine da produ\u00e7\u00e3o acad\u00eamica da UnB, a revista apresenta reportagens que comunicam, de maneira acess\u00edvel, as atividades de pesquisa e extens\u00e3o desenvolvidas na institui\u00e7\u00e3o, oferecendo uma vis\u00e3o cativante e informativa do cen\u00e1rio acad\u00eamico.

  • Problemas atuais: Atualmente, utilizam o Joomla, que \u00e9 um sistema de gerenciamento de conte\u00fado (CMS) de c\u00f3digo aberto usado para construir websites e aplicativos online. No entanto, enfrentam dificuldades em atualizar os conte\u00fados pela alta complexidade desse sistema. Surgindo ent\u00e3o, a necessidade de uma migra\u00e7\u00e3o de plataforma.

  • Resultados esperados: Uma plataforma, em Wordpress, mais intuitiva e acess\u00edvel para os editores e jornalistas e que possibilite uma comunica\u00e7\u00e3o mais f\u00e1cil com os leitores da revista.

  • Habilidades necess\u00e1rias/preferenciais: Conhecimento em WordPress; Conhecimento em HTML; Conhecimento em CSS.

  • Mentores: Vanessa, editora-chefe da Revista Darcy.

  • Tamanho do projeto: M\u00e9dio/Grande.

  • Dificuldade: M\u00e9dia.

"},{"location":"#realizacao","title":"Realiza\u00e7\u00e3o","text":"

Este projeto \u00e9 fruto do programa de Resid\u00eancia em TIC, conduzido pela BRISA \u2013 Sociedade para o Desenvolvimento da Tecnologia da Informa\u00e7\u00e3o \u2013, em parceria com a Faculdade UnB Gama, com apoio da SOFTEX \u2013 Associa\u00e7\u00e3o para Promo\u00e7\u00e3o da Excel\u00eancia do Software Brasileiro \u2013 e do MCTI \u2013 Minist\u00e9rio da Ci\u00eancia, Tecnologia e Inova\u00e7\u00e3o.

"},{"location":"#equipe","title":"Equipe","text":"Jos\u00e9 Andr\u00e9 Jefferson Sena Tiago Albuquerque Gabriel Morais Lu\u00eds Filipe Joselito Prado"},{"location":"atas/equipe/ata00/","title":"Ata da Reuni\u00e3o 0 - 26/02","text":""},{"location":"atas/equipe/ata00/#1-lista-de-presenca","title":"1. Lista de presen\u00e7a","text":"Nome Presente Jos\u00e9 Andr\u00e9 Sim Jefferson Sena Sim Joselito Prado Sim Tiago Albuquerque Sim Lu\u00eds Filipe Sim Hor\u00e1rio de In\u00edcio Hor\u00e1rio de T\u00e9rmino Local 14:00 16:00 Sala 313 - LTDEA"},{"location":"atas/equipe/ata00/#2-pautas","title":"2. Pautas","text":"
  • Planejamento da Sprint 00
  • Organiza\u00e7\u00e3o do time
  • Escopo geral do projeto
"},{"location":"atas/equipe/ata00/#3-atividades-definidas","title":"3. Atividades Definidas","text":"

Atividades, Prazos e Respons\u00e1veis

"},{"location":"atas/equipe/ata01/","title":"Ata da Reuni\u00e3o 1 - 04/03","text":""},{"location":"atas/equipe/ata01/#1-lista-de-presenca","title":"1. Lista de presen\u00e7a","text":"Nome Presente Jos\u00e9 Andr\u00e9 Sim Jefferson Sena Sim Joselito Prado Sim Tiago Albuquerque Sim Lu\u00eds Filipe Sim Hor\u00e1rio de In\u00edcio Hor\u00e1rio de T\u00e9rmino Local 14:00 16:00 Sala 313 - LTDEA"},{"location":"atas/equipe/ata01/#2-pautas","title":"2. Pautas","text":"
  • Review da Sprint 00
  • Planejamento da Sprint 01
  • Pol\u00edticas do time
  • Vis\u00e3o do produto
  • Vis\u00e3o do projeto
"},{"location":"atas/equipe/ata01/#3-atividades-definidas","title":"3. Atividades Definidas","text":"

Atividades, Prazos e Respons\u00e1veis

"},{"location":"atas/equipe/ata02/","title":"Ata da Reuni\u00e3o 2 - 11/03","text":""},{"location":"atas/equipe/ata02/#1-lista-de-presenca","title":"1. Lista de presen\u00e7a","text":"Nome Presente Jos\u00e9 Andr\u00e9 Sim Jefferson Sena Sim Joselito Prado Sim Tiago Albuquerque Sim Lu\u00eds Filipe Sim Hor\u00e1rio de In\u00edcio Hor\u00e1rio de T\u00e9rmino Local 14:00 16:00 Sala 313 - LTDEA"},{"location":"atas/equipe/ata02/#2-pautas","title":"2. Pautas","text":"
  • Review da Sprint 01
  • Planejamento da Sprint 02
  • Refinamento de Requisitos
  • Configura\u00e7\u00e3o do ambiente Wordpress
  • Implementa\u00e7\u00e3o da SKIN GOVBR
  • Identidade Visual da Darcy
"},{"location":"atas/equipe/ata02/#3-atividades-definidas","title":"3. Atividades Definidas","text":"

Atividades, Prazos e Respons\u00e1veis

"},{"location":"atas/equipe/ata03/","title":"Ata da Reuni\u00e3o 3 - 25/03","text":""},{"location":"atas/equipe/ata03/#1-lista-de-presenca","title":"1. Lista de presen\u00e7a","text":"Nome Presente Jos\u00e9 Andr\u00e9 Sim Jefferson Sena Sim Joselito Prado Sim Tiago Albuquerque Sim Lu\u00eds Filipe Sim Gabriel Morais Sim Hor\u00e1rio de In\u00edcio Hor\u00e1rio de T\u00e9rmino Local 13:30 15:00 Sala 313 - LTDEA"},{"location":"atas/equipe/ata03/#2-pautas","title":"2. Pautas","text":"
  • Review da Sprint 02
  • Planejamento da Sprint 03
  • Evolu\u00e7\u00e3o do MVP
"},{"location":"atas/equipe/ata03/#3-atividades-definidas","title":"3. Atividades Definidas","text":"

Atividades, Prazos e Respons\u00e1veis

"},{"location":"atas/equipe/ata04/","title":"Ata da Reuni\u00e3o 4 - 09/04","text":""},{"location":"atas/equipe/ata04/#1-lista-de-presenca","title":"1. Lista de presen\u00e7a","text":"Nome Presente Jos\u00e9 Andr\u00e9 Sim Jefferson Sena Sim Joselito Prado Sim Tiago Albuquerque Sim Lu\u00eds Filipe Sim Gabriel Morais Sim Hor\u00e1rio de In\u00edcio Hor\u00e1rio de T\u00e9rmino Local 15:30 16:00 Sala 313 - LTDEA"},{"location":"atas/equipe/ata04/#2-pautas","title":"2. Pautas","text":"
  • Reflex\u00e3o sobre a Release 1
  • Review da Sprint 03
  • Planejamento da Sprint 04
  • Possibilidade de evoluir o tema via inje\u00e7\u00e3o de c\u00f3digo
"},{"location":"atas/equipe/ata04/#3-atividades-definidas","title":"3. Atividades Definidas","text":"

Atividades, Prazos e Respons\u00e1veis

"},{"location":"atas/equipe/ata05/","title":"Ata da Reuni\u00e3o 5 - 22/04","text":""},{"location":"atas/equipe/ata05/#1-lista-de-presenca","title":"1. Lista de presen\u00e7a","text":"Nome Presente Jos\u00e9 Andr\u00e9 Sim Jefferson Sena Sim Joselito Prado Sim Tiago Albuquerque Sim Lu\u00eds Filipe Sim Gabriel Morais Sim Hor\u00e1rio de In\u00edcio Hor\u00e1rio de T\u00e9rmino Local 11:00 12:00 CoCreation"},{"location":"atas/equipe/ata05/#2-pautas","title":"2. Pautas","text":"
  • Review e Retrospective da Sprint 04.
  • Planejamento da Sprint 05.
"},{"location":"atas/equipe/ata05/#3-atividades-definidas","title":"3. Atividades Definidas","text":"

Atividades, Prazos e Respons\u00e1veis

"},{"location":"atas/equipe/ata06/","title":"Ata da Reuni\u00e3o 6 - 06/05","text":""},{"location":"atas/equipe/ata06/#1-lista-de-presenca","title":"1. Lista de presen\u00e7a","text":"Nome Presente Jos\u00e9 Andr\u00e9 Sim Jefferson Sena Sim Joselito Prado Sim Tiago Albuquerque Sim Lu\u00eds Filipe Sim Gabriel Morais Sim Hor\u00e1rio de In\u00edcio Hor\u00e1rio de T\u00e9rmino Local 14:00 15:00 LTDEA - Sala 313"},{"location":"atas/equipe/ata06/#2-pautas","title":"2. Pautas","text":"
  • Review e Retrospective da Sprint 05.
  • Planejamento da Sprint 06.
"},{"location":"atas/equipe/ata06/#3-atividades-definidas","title":"3. Atividades Definidas","text":"

Atividades, Prazos e Respons\u00e1veis

"},{"location":"atas/equipe/ata07/","title":"Ata da Reuni\u00e3o 7 - 20/05","text":""},{"location":"atas/equipe/ata07/#1-lista-de-presenca","title":"1. Lista de presen\u00e7a","text":"Nome Presente Jos\u00e9 Andr\u00e9 Sim Jefferson Sena Sim Joselito Prado Sim Tiago Albuquerque Sim Lu\u00eds Filipe Sim Gabriel Morais Sim Hor\u00e1rio de In\u00edcio Hor\u00e1rio de T\u00e9rmino Local 15:00 16:00 LTDEA - Sala 313"},{"location":"atas/equipe/ata07/#2-pautas","title":"2. Pautas","text":"
  • Review e Retrospective da Sprint 06.
  • Planejamento da Sprint 07.
"},{"location":"atas/equipe/ata07/#3-atividades-definidas","title":"3. Atividades Definidas","text":"

Atividades, Prazos e Respons\u00e1veis

"},{"location":"atas/equipe/ata08/","title":"Ata da Reuni\u00e3o 8 - 03/06","text":""},{"location":"atas/equipe/ata08/#1-lista-de-presenca","title":"1. Lista de presen\u00e7a","text":"Nome Presente Jos\u00e9 Andr\u00e9 Sim Jefferson Sena Sim Joselito Prado Sim Tiago Albuquerque Sim Lu\u00eds Filipe Sim Gabriel Morais Sim Hor\u00e1rio de In\u00edcio Hor\u00e1rio de T\u00e9rmino Local 15:00 16:00 LTDEA - Sala 313"},{"location":"atas/equipe/ata08/#2-pautas","title":"2. Pautas","text":"
  • Review e Retrospective da Sprint 07.
  • Planejamento da Sprint 08.
"},{"location":"atas/equipe/ata08/#3-atividades-definidas","title":"3. Atividades Definidas","text":"

Atividades, Prazos e Respons\u00e1veis

"},{"location":"atas/equipe/ata09/","title":"Ata da Reuni\u00e3o 9 - 17/06","text":""},{"location":"atas/equipe/ata09/#1-lista-de-presenca","title":"1. Lista de presen\u00e7a","text":"Nome Presente Jos\u00e9 Andr\u00e9 Sim Jefferson Sena Sim Joselito Prado Sim Tiago Albuquerque Sim Lu\u00eds Filipe Sim Gabriel Morais Sim Hor\u00e1rio de In\u00edcio Hor\u00e1rio de T\u00e9rmino Local 13:00 14:00 LTDEA - Sala 313"},{"location":"atas/equipe/ata09/#2-pautas","title":"2. Pautas","text":"
  • Review e Retrospective da Sprint 08.
  • Planejamento da Sprint 09.
"},{"location":"atas/equipe/ata09/#3-atividades-definidas","title":"3. Atividades Definidas","text":"

Atividades, Prazos e Respons\u00e1veis

"},{"location":"atas/equipe/ata10/","title":"Ata da Reuni\u00e3o 10 - 01/07","text":""},{"location":"atas/equipe/ata10/#1-lista-de-presenca","title":"1. Lista de presen\u00e7a","text":"Nome Presente Jos\u00e9 Andr\u00e9 Sim Jefferson Sena Sim Joselito Prado Sim Tiago Albuquerque Sim Lu\u00eds Filipe Sim Gabriel Morais Sim Hor\u00e1rio de In\u00edcio Hor\u00e1rio de T\u00e9rmino Local 14:00 15:00 LTDEA - Sala 313"},{"location":"atas/equipe/ata10/#2-pautas","title":"2. Pautas","text":"
  • Review e Retrospective da Sprint 09.
  • Planejamento da Sprint 10.
"},{"location":"atas/equipe/ata10/#3-atividades-definidas","title":"3. Atividades Definidas","text":"

Atividades, Prazos e Respons\u00e1veis

"},{"location":"atas/equipe_cliente/ata01/","title":"Reuni\u00e3o 1","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata01/#ata-da-reuniao-1","title":"Ata da Reuni\u00e3o 1","text":"
  • Data: 29 de fevereiro de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata01/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Jos\u00e9 Andr\u00e9: Scrum Master
  • Tiago Albuquerque: Dev Team
  • Joselito Prado: Dev Team
  • Lu\u00eds Filipe: Dev Team
"},{"location":"atas/equipe_cliente/ata01/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
"},{"location":"atas/equipe_cliente/ata01/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Apresenta\u00e7\u00e3o da Equipe.
  2. Vis\u00e3o geral do projeto.
  3. Kick-off.
"},{"location":"atas/equipe_cliente/ata01/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. Prazos e cronograma.
  2. Metodologias que v\u00e3o ser utilizadas.
  3. Compreens\u00e3o inicial do problema.
  4. Discuss\u00e3o inicial de todos os par\u00e2metros.
"},{"location":"atas/equipe_cliente/ata01/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. Ter uma reuni\u00e3o entre a equipe TIC BRISA com os designers, editores e apoio de TI da SECOM.
  2. Elaborar um cronograma de trabalho inicial.
  3. Iniciar o levantamento de requisitos com o PBB.
  4. Defini\u00e7\u00e3o da din\u00e2mica entre equipe-cliente.
"},{"location":"atas/equipe_cliente/ata01/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata01/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 07 de mar\u00e7o de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: Apresenta\u00e7\u00e3o inicial do PBB; Integra\u00e7\u00e3o da Equipe com os membros da SECOM.
"},{"location":"atas/equipe_cliente/ata01/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Cria\u00e7\u00e3o da Ata Vanessa 11/03/2024"},{"location":"atas/equipe_cliente/ata02/","title":"Reuni\u00e3o 2","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata02/#ata-da-reuniao-2","title":"Ata da Reuni\u00e3o 2","text":"
  • Data: 07 de mar\u00e7o de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata02/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Jos\u00e9 Andr\u00e9: Scrum Master
  • Tiago Albuquerque: Dev Team
  • Joselito Prado: Dev Team
  • Lu\u00eds Filipe: Dev Team
"},{"location":"atas/equipe_cliente/ata02/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
  • Danilo Xavier: TI da SECOM
  • Matheus Luis Rosa: TI da SECOM
  • Francisco George Lopes: Editor de Design da Revista Darcy
"},{"location":"atas/equipe_cliente/ata02/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Apresenta\u00e7\u00e3o das equipes Secom e Brisa.
  2. Di\u00e1logo sobre vis\u00e3o geral do produto e do projeto.
  3. Apresenta\u00e7\u00e3o da Metodologia de Trabalho.
"},{"location":"atas/equipe_cliente/ata02/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. Apresenta\u00e7\u00e3o da Equipe da SECOM e da TIC BRISA.
  2. Apresentamos nosso site de documenta\u00e7\u00e3o e o PBB inicial atrav\u00e9s do Miro.
  3. Editores da Revista discorreram sobre alguns problemas da atual plataforma de divulga\u00e7\u00e3o de conte\u00fado (Joomla).
  4. Os t\u00e9cnicos de TI da Secom compartilharam informa\u00e7\u00f5es sobre o Padr\u00e3o Digital de Governo para sites, dispon\u00edvel no endere\u00e7o: https://www.gov.br/ds/home.
  5. Discutimos o modelo de usabilidade do governo (eMAG) e sua aplicabilidade no projeto.
"},{"location":"atas/equipe_cliente/ata02/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. SECOM ir\u00e1 fazer uma reuni\u00e3o interna para validar o PBB bruto e fazer colabora\u00e7\u00f5es, al\u00e9m de trazer na pr\u00f3xima reuni\u00e3o refer\u00eancias de templates.
  2. Iremos elaborar um formul\u00e1rio para captar dados do p\u00fablico geral sobre a vis\u00e3o e expectativa do produto. Esse formul\u00e1rio ser\u00e1 refinado e validado pela SECOM.
  3. Equipe BRISA se comprometeu em trazer refer\u00eancias externas.
  4. Equipe de T.I da SECOM se comprometeu em trazer as diretrizes t\u00e9cnicas para entendermos como funciona o processo de implanta\u00e7\u00e3o no .GOV e no UnB.br.
"},{"location":"atas/equipe_cliente/ata02/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata02/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 14 de mar\u00e7o de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: Valida\u00e7\u00e3o e Evolu\u00e7\u00e3o do PBB; Novos encaminhamentos.
"},{"location":"atas/equipe_cliente/ata02/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Cria\u00e7\u00e3o da Ata Vanessa 11/03/2024"},{"location":"atas/equipe_cliente/ata03/","title":"Reuni\u00e3o 3","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata03/#ata-da-reuniao-3","title":"Ata da Reuni\u00e3o 3","text":"
  • Data: 02 de abril de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata03/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Jos\u00e9 Andr\u00e9: Scrum Master
  • Tiago Albuquerque: Dev Team
  • Joselito Prado: Dev Team
  • Lu\u00eds Filipe: Dev Team
"},{"location":"atas/equipe_cliente/ata03/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
  • Marcelo Reis Jatoba: Coordenador de Design da SECOM
"},{"location":"atas/equipe_cliente/ata03/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Apresenta\u00e7\u00e3o do prot\u00f3tipo e valida\u00e7\u00e3o.
  2. Quest\u00f5es sobre identidade visual.
  3. Refinamento dos requisitos.
"},{"location":"atas/equipe_cliente/ata03/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. Prot\u00f3tipo teste WordPress produzido.
  2. Prefer\u00eancia por solu\u00e7\u00f5es open source inicialmente.
  3. Plugin da leitura da revista e possibilidade da aquisi\u00e7\u00e3o do Issuu.
  4. Integra\u00e7\u00e3o da plataforma com a UnB Ci\u00eancia.
  5. Problemas da atual plataforma (disposi\u00e7\u00e3o de grids e publica\u00e7\u00e3o duplicada).
  6. Necessidade da prototipa\u00e7\u00e3o por parte da equipe de design da SECOM.
"},{"location":"atas/equipe_cliente/ata03/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. SECOM ir\u00e1 compreender internamente com a STI e os t\u00e9cnicos quem est\u00e1 dispon\u00edvel no momento para contribuir ao projeto.
  2. Aguardaremos uma semana para analisar os dados recebidos do formul\u00e1rio.
  3. Equipe BRISA se comprometeu em integrar a atual plataforma em desenvolvimento com a UnB Ci\u00eancia e exibir not\u00edcias recentes da plataforma. Al\u00e9m de continuar com a busca de solu\u00e7\u00f5es open source vi\u00e1veis para o produto.
  4. SECOM ir\u00e1 verificar a possibilidade da realiza\u00e7\u00e3o de um briefing inicial entre os designers da Revista e a equipe TIC BRISA.
  5. H\u00e1 a possibilidade da equipe de Desgin da SECOM realizar a prototipa\u00e7\u00e3o visual da Revista Darcy de acordo com os dados levantados do formul\u00e1rio.
"},{"location":"atas/equipe_cliente/ata03/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata03/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 04 de abril de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: Perspectiva de identidade visual a partir da programadora visual da SECOM.
"},{"location":"atas/equipe_cliente/ata03/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Cria\u00e7\u00e3o da Ata Vanessa 02/04/2024"},{"location":"atas/equipe_cliente/ata04/","title":"Reuni\u00e3o 4","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata04/#ata-da-reuniao-4","title":"Ata da Reuni\u00e3o 4","text":"
  • Data: 04 de abril de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata04/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Jos\u00e9 Andr\u00e9: Scrum Master
  • Tiago Albuquerque: Dev Team
  • Joselito Prado: Dev Team
  • Lu\u00eds Filipe: Dev Team
  • Gabriel Morais: Dev Team
"},{"location":"atas/equipe_cliente/ata04/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
  • Virginia Maria Soares: Programadora Visual de Design da SECOM
"},{"location":"atas/equipe_cliente/ata04/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Refinar requisitos de identidade.
  2. Apresentar o tema GOVBR e potenciais plugins.
  3. Debater sobre o design system da UnB.
"},{"location":"atas/equipe_cliente/ata04/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. O porqu\u00ea da decis\u00e3o em migrar plataformas do Joomla para o Wordpress. (A documenta\u00e7\u00e3o de uso do Joomla tornou-se obsoleta devido \u00e0 sa\u00edda gradual dos funcion\u00e1rios respons\u00e1veis pela sua manuten\u00e7\u00e3o na institui\u00e7\u00e3o. Essa evas\u00e3o dificultou a atualiza\u00e7\u00e3o e manuten\u00e7\u00e3o das informa\u00e7\u00f5es pelos servidores subsequentes.)
  2. Vis\u00e3o geral sobre o design system da UnB.
  3. Possibilidade de aquisi\u00e7\u00e3o de ferramentas.
  4. Usabilidade da nova plataforma.
  5. Trabalho em andamento da equipe de design da UnB para criar templates pro Wordpress.
  6. Migra\u00e7\u00e3o dos dados do Joomla para o Wordpress.
"},{"location":"atas/equipe_cliente/ata04/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. SECOM compartilhar\u00e1 os par\u00e2metros do Design System da UnB que est\u00e1 em desenvolvimento para que a Revista Darcy seja consistente.
  2. A equipe BRISA se comprometeu em buscar e cogitar apenas solu\u00e7\u00f5es gratu\u00edtas.
  3. Briefing com a equipe de design posteriormente para compartilhamento de prot\u00f3tipos e quest\u00f5es relativas \u00e0 hierarquia da informa\u00e7\u00e3o.
  4. Buscar informa\u00e7\u00f5es a respeito da pesquisa sobre o plugin de migra\u00e7\u00e3o de dados do Joomla realizada pela STI.
"},{"location":"atas/equipe_cliente/ata04/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata04/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 11 de abril de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: An\u00e1lise dos dados do formul\u00e1rio; Briefing com os designers da SECOM.
"},{"location":"atas/equipe_cliente/ata04/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Cria\u00e7\u00e3o da Ata Vanessa 04/04/2024"},{"location":"atas/equipe_cliente/ata05/","title":"Reuni\u00e3o 5","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata05/#ata-da-reuniao-5","title":"Ata da Reuni\u00e3o 5","text":"
  • Data: 18 de abril de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata05/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Joselito Prado: Dev Team
  • Lu\u00eds Filipe: Dev Team
  • Gabriel Morais: Dev Team
"},{"location":"atas/equipe_cliente/ata05/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
"},{"location":"atas/equipe_cliente/ata05/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Analisar os dados obtidos atrav\u00e9s do formul\u00e1rio.
  2. Avaliar refer\u00eancias de design externas.
  3. Discutir a din\u00e2mica de trabalho durante a greve.
"},{"location":"atas/equipe_cliente/ata05/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. Arquitetura da informa\u00e7\u00e3o.
  2. Refer\u00eancias de design da Vanessa.
  3. Brainstorming com base nas refer\u00eancias.
"},{"location":"atas/equipe_cliente/ata05/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. Vanessa ir\u00e1 elaborar um documento com refer\u00eancias de design.
  2. A equipe BRISA ir\u00e1 prototipar com base nas refer\u00eancias criadas sem perder a hierarquia do GOV-UnB.
  3. Aguardar o decorrer da greve dos servidores para posteriores valida\u00e7\u00f5es da equipe de design.
"},{"location":"atas/equipe_cliente/ata05/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata05/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 25 de abril de 2024.
  • Hor\u00e1rio: 10h00
  • Objetivo: An\u00e1lise dos prot\u00f3tipos de alta fidelidade com base nas refer\u00eancias.
"},{"location":"atas/equipe_cliente/ata05/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Lu\u00eds Filipe Cria\u00e7\u00e3o da Ata Vanessa 18/04/2024"},{"location":"atas/equipe_cliente/ata06/","title":"Reuni\u00e3o 6","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata06/#ata-da-reuniao-6","title":"Ata da Reuni\u00e3o 6","text":"
  • Data: 25 de abril de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata06/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Jos\u00e9 Andr\u00e9: Scrum Master
  • Joselito Prado: Dev Team
  • Lu\u00eds Filipe: Dev Team
  • Gabriel Morais: Dev Team
"},{"location":"atas/equipe_cliente/ata06/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
"},{"location":"atas/equipe_cliente/ata06/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Analisar os prot\u00f3tipos de alta fidelidade realizado ap\u00f3s o envio das refer\u00eancias.
  2. Novos encaminhamentos.
"},{"location":"atas/equipe_cliente/ata06/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. Os dois prot\u00f3tipos feitos a partir das refer\u00eancias.
  2. Infer\u00eancias a partir do prot\u00f3tipo.
"},{"location":"atas/equipe_cliente/ata06/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. A equipe de design da SECOM ir\u00e1 entregar o material inicial de design at\u00e9 a pr\u00f3xima quinta-feira (02/05).
  2. A SECOM criar\u00e1 um usu\u00e1rio no Joomla para a equipe BRISA iniciar a migra\u00e7\u00e3o dos dados.
  3. A SECOM juntamente a STI iniciar\u00e1 a din\u00e2mica para a equipe BRISA implementar o prot\u00f3tipo em um subdom\u00ednio da UnB.
  4. A equipe BRISA estudar\u00e1 uma forma de implementar uma se\u00e7\u00e3o de pesquisa direcionada.
  5. A equipe BRISA ir\u00e1 prototipar as p\u00e1ginas internas com base na landing page aprovada pela SECOM.
"},{"location":"atas/equipe_cliente/ata06/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata06/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 02 de maio de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: Encaminhamentos da equipe de design.
"},{"location":"atas/equipe_cliente/ata06/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Cria\u00e7\u00e3o da Ata Vanessa 25/04/2024"},{"location":"atas/equipe_cliente/ata07/","title":"Reuni\u00e3o 7","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata07/#ata-da-reuniao-7","title":"Ata da Reuni\u00e3o 7","text":"
  • Data: 09 de maio de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata07/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Tiago Albuquerque: Dev Team
  • Joselito Prado: Dev Team
  • Lu\u00eds Filipe: Dev Team
  • Gabriel Morais: Dev Team
"},{"location":"atas/equipe_cliente/ata07/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
  • Marcelo Reis: Programador visual da SECOM
  • Isabel Landim: Programadora visual da SECOM
"},{"location":"atas/equipe_cliente/ata07/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Validar o prot\u00f3tipo de alta fidelidade da homepage evoluida pela equipe de design da SECOM.
  2. Apresentar uma nova solu\u00e7\u00e3o de leitura WEB.
"},{"location":"atas/equipe_cliente/ata07/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. Prot\u00f3tipo da homepage.
  2. Migra\u00e7\u00e3o de dados.
"},{"location":"atas/equipe_cliente/ata07/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. A equipe da revista realizar\u00e1 uma valida\u00e7\u00e3o final do prot\u00f3tipo da home at\u00e9 a pr\u00f3xima quinta-feira (16/05).
  2. A equipe de design da SECOM iniciar\u00e1 a evolu\u00e7\u00e3o dos prot\u00f3tipos das p\u00e1ginas internas.
  3. A equipe BRISA iniciar\u00e1 a implementa\u00e7\u00e3o da homepage evoluida.
  4. A equipe BRISA ir\u00e1 continuar os tr\u00e2mites com a respons\u00e1vel da STI pelo acesso ao banco de dados do CMS, para que seja viabilizada a migra\u00e7\u00e3o dos dados.
"},{"location":"atas/equipe_cliente/ata07/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata07/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 16 de maio de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: Valida\u00e7\u00e3o das p\u00e1ginas internas.
"},{"location":"atas/equipe_cliente/ata07/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Cria\u00e7\u00e3o da Ata Vanessa 09/05/2024"},{"location":"atas/equipe_cliente/ata08/","title":"Reuni\u00e3o 8","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata08/#ata-da-reuniao-8","title":"Ata da Reuni\u00e3o 8","text":"
  • Data: 16 de maio de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata08/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Jos\u00e9 Andr\u00e9: Scrum Master
  • Joselito Prado: Dev Team
  • Lu\u00eds Filipe: Dev Team
  • Gabriel Morais: Dev Team
"},{"location":"atas/equipe_cliente/ata08/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
  • Marcelo Reis: Programador visual da SECOM
  • Isabel Landim: Programadora visual da SECOM
"},{"location":"atas/equipe_cliente/ata08/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Apresenta\u00e7\u00e3o do prot\u00f3tipo da ra\u00edz da edi\u00e7\u00e3o por parte da SECOM.
  2. Encaminhamentos da STI para implanta\u00e7\u00e3o do sistema.
"},{"location":"atas/equipe_cliente/ata08/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. Sugest\u00f5es de altera\u00e7\u00e3o na homepage e na ra\u00edz da edi\u00e7\u00e3o.
  2. Migra\u00e7\u00e3o de dados.
  3. Jornada do usu\u00e1rio editor.
  4. Nova solu\u00e7\u00e3o preferida pela STI.
"},{"location":"atas/equipe_cliente/ata08/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. A equipe da revista realizar\u00e1 uma valida\u00e7\u00e3o final do prot\u00f3tipo da home e da ra\u00edz da edi\u00e7\u00e3o.
  2. A equipe BRISA iniciar\u00e1 a solicita\u00e7\u00e3o do ambiente de homologa\u00e7\u00e3o indicado pela STI.
  3. A equipe BRISA, ap\u00f3s implantar o prot\u00f3tipo no ambiente de homologa\u00e7\u00e3o, integrar\u00e1 a nova plataforma com o backup de dados disponibilizado pela STI.
"},{"location":"atas/equipe_cliente/ata08/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata08/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 23 de maio de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: Valida\u00e7\u00e3o e implanta\u00e7\u00e3o no ambiente de homologa\u00e7\u00e3o.
"},{"location":"atas/equipe_cliente/ata08/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Cria\u00e7\u00e3o da Ata Vanessa 16/05/2024"},{"location":"atas/equipe_cliente/ata09/","title":"Reuni\u00e3o 9","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata09/#ata-da-reuniao-9","title":"Ata da Reuni\u00e3o 9","text":"
  • Data: 23 de maio de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata09/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Jos\u00e9 Andr\u00e9: Scrum Master
  • Joselito Prado: Dev Team
  • Tiago Albuquerque: Dev Team
  • Lu\u00eds Filipe: Dev Team
  • Gabriel Morais: Dev Team
"},{"location":"atas/equipe_cliente/ata09/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
  • Marcelo Reis: Programador visual da SECOM
  • Isabel Landim: Programadora visual da SECOM
"},{"location":"atas/equipe_cliente/ata09/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Apresenta\u00e7\u00e3o das altera\u00e7\u00f5es do prot\u00f3tipo da home por parte da SECOM.
  2. Discutir possibilidades para as sub-p\u00e1ginas.
"},{"location":"atas/equipe_cliente/ata09/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. Insights para implementa\u00e7\u00f5es na homepage.
  2. Acessibilidade da plataforma.
  3. Hierarquia da informa\u00e7\u00e3o.
"},{"location":"atas/equipe_cliente/ata09/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. A equipe de Design da Revista trabalhar\u00e1 num padr\u00e3o de texto para ser implementado.
  2. A equipe da Revista realizar\u00e1 uma valida\u00e7\u00e3o final do prot\u00f3tipo da home com os demais integrantes da SECOM.
  3. A equipe BRISA iniciar\u00e1 a migra\u00e7\u00e3o dos dados atrav\u00e9s do backup disponibilizado pela STI.
  4. A equipe BRISA documentar\u00e1 todas as solu\u00e7\u00f5es tecnol\u00f3gicas de modo que contribua para a manuten\u00e7\u00e3o futura.
"},{"location":"atas/equipe_cliente/ata09/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata09/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 06 de junho de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: Valida\u00e7\u00e3o e implanta\u00e7\u00e3o no ambiente de homologa\u00e7\u00e3o.
"},{"location":"atas/equipe_cliente/ata09/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Cria\u00e7\u00e3o da Ata Vanessa 23/05/2024"},{"location":"atas/equipe_cliente/ata10/","title":"Reuni\u00e3o 10","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata10/#ata-da-reuniao-10","title":"Ata da Reuni\u00e3o 10","text":"
  • Data: 06 de junho de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata10/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Jos\u00e9 Andr\u00e9: Scrum Master
  • Joselito Prado: Dev Team
  • Tiago Albuquerque: Dev Team
  • Lu\u00eds Filipe: Dev Team
  • Gabriel Morais: Dev Team
"},{"location":"atas/equipe_cliente/ata10/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
  • Marcelo Reis: Programador visual da SECOM
"},{"location":"atas/equipe_cliente/ata10/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Apresenta\u00e7\u00e3o das altera\u00e7\u00f5es do prot\u00f3tipo da home por parte da SECOM.
  2. Discutir estrat\u00e9gia de migra\u00e7\u00e3o do conte\u00fado.
  3. Apresenta\u00e7\u00e3o da implementa\u00e7\u00e3o inicial da homepage no ambiente de homologa\u00e7\u00e3o.
"},{"location":"atas/equipe_cliente/ata10/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. As duas possibilidades de implanta\u00e7\u00e3o comunicadas pela STI.
  2. Altera\u00e7\u00f5es do prot\u00f3tipo no figma e implementa\u00e7\u00e3o inicial.
"},{"location":"atas/equipe_cliente/ata10/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. A equipe da SECOM tentar\u00e1 negociar com a STI a possibilidade da utiliza\u00e7\u00e3o do plugin de migra\u00e7\u00e3o dos dados.
  2. A equipe da SECOM solicitar\u00e1 a instala\u00e7\u00e3o da fam\u00edlia tipogr\u00e1fica UnBPRO no ambiente de homologa\u00e7\u00e3o.
  3. A equipe BRISA continuar\u00e1 a migra\u00e7\u00e3o dos dados atrav\u00e9s do backup disponibilizado pela STI de forma manual.
  4. A equipe BRISA implementar\u00e1 a sub-p\u00e1gina de artigo prototipada pela equipe de design da SECOM.
"},{"location":"atas/equipe_cliente/ata10/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata10/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 13 de junho de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: Valida\u00e7\u00e3o da implementa\u00e7\u00e3o da home e da p\u00e1gina de artigos.
"},{"location":"atas/equipe_cliente/ata10/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Cria\u00e7\u00e3o da Ata Vanessa 06/06/2024"},{"location":"atas/equipe_cliente/ata11/","title":"Reuni\u00e3o 11","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata11/#ata-da-reuniao-11","title":"Ata da Reuni\u00e3o 11","text":"
  • Data: 13 de junho de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata11/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Jos\u00e9 Andr\u00e9: Scrum Master
  • Joselito Prado: Dev Team
  • Lu\u00eds Filipe: Dev Team
  • Gabriel Morais: Dev Team
"},{"location":"atas/equipe_cliente/ata11/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
  • Isabel Landim: Programadora visual da SECOM
"},{"location":"atas/equipe_cliente/ata11/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Apresenta\u00e7\u00e3o da implementa\u00e7\u00e3o das sub-p\u00e1ginas de artigos no ambiente de homologa\u00e7\u00e3o.
  2. Apresenta\u00e7\u00e3o das altera\u00e7\u00f5es do prot\u00f3tipo por parte da SECOM.
  3. Discutir responsividade.
"},{"location":"atas/equipe_cliente/ata11/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. Implementa\u00e7\u00e3o das sub-p\u00e1ginas de artigos.
  2. Poss\u00edveis altera\u00e7\u00f5es na disposi\u00e7\u00e3o dos elementos do UnB Ci\u00eancia.
"},{"location":"atas/equipe_cliente/ata11/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. A equipe de design SECOM realizar\u00e1 altera\u00e7\u00f5es no prot\u00f3tipo de alta fidelidade de modo que haja uma diminui\u00e7\u00e3o na carga de informa\u00e7\u00f5es na p\u00e1gina de artigos.
  2. A equipe BRISA seguir\u00e1 realizando a alimenta\u00e7\u00e3o do site com posts das edi\u00e7\u00f5es anteriores.
  3. A equipe da SECOM discutir\u00e1 a estrat\u00e9gia de responsividade do site para mobile.
"},{"location":"atas/equipe_cliente/ata11/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata11/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 20 de junho de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: Apresenta\u00e7\u00e3o das altera\u00e7\u00f5es no prot\u00f3tipo de alta fidelidade; Novos encaminhamentos.
"},{"location":"atas/equipe_cliente/ata11/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Cria\u00e7\u00e3o da Ata Vanessa 13/06/2024"},{"location":"atas/equipe_cliente/ata12/","title":"Reuni\u00e3o 12","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata12/#ata-da-reuniao-12","title":"Ata da Reuni\u00e3o 12","text":"
  • Data: 27 de junho de 2024
  • Hor\u00e1rio: 09h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata12/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Jos\u00e9 Andr\u00e9: Scrum Master
  • Tiago Albuquerque: Dev Team
  • Joselito Prado: Dev Team
  • Lu\u00eds Filipe: Dev Team
  • Gabriel Morais: Dev Team
"},{"location":"atas/equipe_cliente/ata12/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
  • Isabel Landim: Programadora visual da SECOM
  • Marcelo Reis: Programador visual da SECOM
  • Vanessa Oliveira: Coordenadora de conte\u00fado da SECOM
"},{"location":"atas/equipe_cliente/ata12/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Apresenta\u00e7\u00e3o da altera\u00e7\u00f5es realizadas na implementa\u00e7\u00e3o das sub-p\u00e1ginas de artigos no ambiente de homologa\u00e7\u00e3o.
  2. Apresenta\u00e7\u00e3o das altera\u00e7\u00f5es do prot\u00f3tipo por parte da SECOM.
  3. Apresenta\u00e7\u00e3o da implementa\u00e7\u00e3o inicial da responsividade para mobile.
"},{"location":"atas/equipe_cliente/ata12/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. Filtro de categorias para o usu\u00e1rio.
  2. Hierarquia da informa\u00e7\u00e3o.
  3. Plugin de leitura online.
  4. Altera\u00e7\u00f5es do prot\u00f3tipo.
  5. Lan\u00e7amento do site em produ\u00e7\u00e3o em meio \u00e0 greve.
"},{"location":"atas/equipe_cliente/ata12/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. A equipe de design SECOM realizar\u00e1 evolu\u00e7\u00f5es no prot\u00f3tipo da p\u00e1gina de todas as edi\u00e7\u00f5es e do ensaio visual.
  2. A equipe BRISA seguir\u00e1 realizando a alimenta\u00e7\u00e3o do site com posts das edi\u00e7\u00f5es anteriores.
  3. A equipe BRISA desenvolver\u00e1 um fluxograma de navegabilidade por parte do leitor.
  4. A equipe BRISA continuar\u00e1 o desenvolvimento das p\u00e1ginas prototipadas.
"},{"location":"atas/equipe_cliente/ata12/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata12/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 04 de julho de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: Apresenta\u00e7\u00e3o das altera\u00e7\u00f5es no prot\u00f3tipo de alta fidelidade; Novos encaminhamentos.
"},{"location":"atas/equipe_cliente/ata12/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Cria\u00e7\u00e3o da Ata Vanessa 27/06/2024"},{"location":"atas/equipe_cliente/ata13/","title":"Reuni\u00e3o 13","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata13/#ata-da-reuniao-13","title":"Ata da Reuni\u00e3o 13","text":"
  • Data: 04 de julho de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata13/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Jos\u00e9 Andr\u00e9: Scrum Master
  • Tiago Albuquerque: Dev Team
  • Lu\u00eds Filipe: Dev Team
  • Gabriel Morais: Dev Team
"},{"location":"atas/equipe_cliente/ata13/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
"},{"location":"atas/equipe_cliente/ata13/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Apresenta\u00e7\u00e3o da altera\u00e7\u00f5es realizadas na implementa\u00e7\u00e3o das p\u00e1ginas no ambiente de homologa\u00e7\u00e3o.
  2. Fluxograma de navegabilidade.
"},{"location":"atas/equipe_cliente/ata13/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. Implementa\u00e7\u00e3o da ra\u00edz da edi\u00e7\u00e3o.
  2. Navegabilidade dos menus.
  3. Apresenta\u00e7\u00e3o da primeira vers\u00e3o do fluxograma de navegabilidade.
"},{"location":"atas/equipe_cliente/ata13/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. A equipe BRISA produzir\u00e1 uma vers\u00e3o atualizada do fluxograma de navegabilidade de acordo com os novos requisitos da Vanessa.
  2. A equipe BRISA ir\u00e1 ajustar elementos que ainda est\u00e3o distantes do prot\u00f3tipo.
  3. A equipe BRISA iniciar\u00e1 o desenvolvimento das p\u00e1ginas de formul\u00e1rio.
"},{"location":"atas/equipe_cliente/ata13/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata13/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 09 de julho de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: Novos encaminhamentos.
"},{"location":"atas/equipe_cliente/ata13/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Cria\u00e7\u00e3o da Ata Vanessa 04/07/2024"},{"location":"atas/equipe_cliente/ata14/","title":"Reuni\u00e3o 14","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata14/#ata-da-reuniao-14","title":"Ata da Reuni\u00e3o 14","text":"
  • Data: 09 de julho de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata14/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Jos\u00e9 Andr\u00e9: Scrum Master
  • Tiago Albuquerque: Dev Team
  • Joselito Prado: Dev Team
  • Lu\u00eds Filipe: Dev Team
  • Gabriel Morais: Dev Team
"},{"location":"atas/equipe_cliente/ata14/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Vanessa: Editora-Chefe da Revista Darcy
"},{"location":"atas/equipe_cliente/ata14/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Feedback da equipe de design sobre a implementa\u00e7\u00e3o do MVP apresentado na reuni\u00e3o anterior (4 de julho).
"},{"location":"atas/equipe_cliente/ata14/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. Possibilidade de continua\u00e7\u00e3o do projeto ap\u00f3s o fim do BRISA (Estender at\u00e9 novembro (lan\u00e7amento do novo site).
  2. Ter um designer na equipe.
  3. Estudo sobre plugins de incorpora\u00e7\u00e3o.
  4. Implementa\u00e7\u00e3o do Menu da Home.
  5. Padroniza\u00e7\u00e3o das P\u00e1ginas de Artigo e Todas as Edi\u00e7\u00f5es
  6. Reuni\u00e3o da Secret\u00e1ria da SECOM com a STI no in\u00edcio de agosto para a instala\u00e7\u00e3o da fonte UnB Pro no WordPress.
"},{"location":"atas/equipe_cliente/ata14/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. A Vanessa ir\u00e1 detalhar a forma que o Menu dever\u00e1 ser implementado.
  2. A equipe BRISA ir\u00e1 apresentar uma lista de plugins gratuitos e pagos vi\u00e1veis para instala\u00e7\u00e3o da fonte UnB Pro.
  3. A equipe de design ir\u00e1 discutir sobre fontes suportadas pela STI que sejam pr\u00f3ximas da UnB Pro para uma poss\u00edvel substitui\u00e7\u00e3o.
  4. A equipe BRISA ir\u00e1 mudar a fonte do Especial Hip-Hop de arial para liberation e comparar com a Carta da Editora.
"},{"location":"atas/equipe_cliente/ata14/#6-proxima-reuniao","title":"6. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 18 de julho de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: Novos encaminhamentos.
"},{"location":"atas/equipe_cliente/ata14/#7-responsaveis-pela-ata","title":"7. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Gabriel Morais Cria\u00e7\u00e3o da Ata Jos\u00e9 Andr\u00e9 09/07/2024"},{"location":"atas/equipe_cliente/ata15/","title":"Reuni\u00e3o 15","text":"

PROJETO BRISA \u2013 LAPPIS/FGA/UNB. REFORMULA\u00c7\u00c3O DO SITE DA REVISTA DARCY

"},{"location":"atas/equipe_cliente/ata15/#ata-da-reuniao-15","title":"Ata da Reuni\u00e3o 15","text":"
  • Data: 18 de julho de 2024
  • Hor\u00e1rio: 10h00
  • Local: Microsoft Teams
"},{"location":"atas/equipe_cliente/ata15/#1-participantes-da-equipe-tic-brisa","title":"1. Participantes da Equipe TIC Brisa","text":"
  • Jefferson Sena: Product Owner
  • Jos\u00e9 Andr\u00e9: Scrum Master
  • Tiago Albuquerque: Dev Team
  • Lu\u00eds Filipe: Dev Team
  • Gabriel Morais: Dev Team
"},{"location":"atas/equipe_cliente/ata15/#2-participantes-da-revista-darcy","title":"2. Participantes da Revista Darcy","text":"
  • Isabel Landim: Programadora visual da SECOM
  • Marcelo Reis: Programador visual da SECOM
"},{"location":"atas/equipe_cliente/ata15/#3-objetivos-da-reuniao","title":"3. Objetivos da Reuni\u00e3o","text":"
  1. Apresenta\u00e7\u00e3o da novas p\u00e1ginas prototipadas por parte dos designers da SECOM.
  2. Esclarecer d\u00favidas sobre o design na implementa\u00e7\u00e3o.
"},{"location":"atas/equipe_cliente/ata15/#4-topicos-discutidos","title":"4. T\u00f3picos Discutidos","text":"
  1. Abertura de chamado para extens\u00e3o do ambiente de homologa\u00e7\u00e3o.
  2. Abertura de chamado para instala\u00e7\u00e3o de um determinado plugin no ambiente de homologa\u00e7\u00e3o.
  3. Altera\u00e7\u00f5es e evolu\u00e7\u00f5es no prot\u00f3tipo de alta fidelidade.
"},{"location":"atas/equipe_cliente/ata15/#5-decisoes-tomadas","title":"5. Decis\u00f5es Tomadas","text":"
  1. A equipe de design ir\u00e1 abrir um chamado junto \u00e0 STI para extens\u00e3o do per\u00edodo disponibilizado do ambiente de homologa\u00e7\u00e3o e tamb\u00e9m para a instala\u00e7\u00e3o de um determinado plugin.
  2. A equipe BRISA prosseguir\u00e1 alimentando a plataforma com os conte\u00fados das edi\u00e7\u00f5es passadas.
  3. A equipe BRISA iniciar\u00e1 o desenvolvimento das p\u00e1ginas prototipadas pelos designers desde a \u00faltima reuni\u00e3o at\u00e9 ent\u00e3o, como a de Projeto de Extens\u00e3o.
"},{"location":"atas/equipe_cliente/ata15/#6-gravacao-da-reuniao","title":"6. Grava\u00e7\u00e3o da Reuni\u00e3o","text":"

Clique Aqui (D\u00edspon\u00edvel apenas para pessoas em UnB.br).

"},{"location":"atas/equipe_cliente/ata15/#7-proxima-reuniao","title":"7. Pr\u00f3xima Reuni\u00e3o","text":"
  • Data: 25 de julho de 2024.
  • Hor\u00e1rio: 10h00.
  • Objetivo: Novos encaminhamentos.
"},{"location":"atas/equipe_cliente/ata15/#8-responsaveis-pela-ata","title":"8. Respons\u00e1veis pela Ata","text":"Autor Descri\u00e7\u00e3o Revisor Data Jos\u00e9 Andr\u00e9 Cria\u00e7\u00e3o da Ata Gabriel Morais 18/07/2024"},{"location":"politicas/branches/","title":"Branches","text":""},{"location":"politicas/branches/#1-padronizacao-das-branches","title":"1. Padroniza\u00e7\u00e3o das Branches","text":"

A padroniza\u00e7\u00e3o de branches no GitHub \u00e9 crucial para o desenvolvimento eficiente de software, proporcionando vantagens fundamentais na organiza\u00e7\u00e3o e colabora\u00e7\u00e3o. Essa pr\u00e1tica aprimora significativamente a qualidade do c\u00f3digo-fonte, contribuindo para o sucesso do projeto. Como esse projeto de migra\u00e7\u00e3o do site da Revista Darcy ser\u00e1 realizada em WordPress, o time decidiu por manter apenas a main branch. Dessa forma, op\u00e7\u00f5es de padroniza\u00e7\u00e3o de branches n\u00e3o ser\u00e3o aplciados a esse projeto, como prefixos.

"},{"location":"politicas/branches/#11-formato","title":"1.1 Formato","text":"
#n\u00famero da issue/assunto\n

N\u00e3o esquecer de dividir as palavras(sempre min\u00fasculas) do assunto com \"-\". Exemplo:

#87/novo-menu\n
"},{"location":"politicas/branches/#12-branch","title":"1.2 Branch","text":"
  • Branch main: Branch que cont\u00e9m o c\u00f3digo mais consolidado existente na aplica\u00e7\u00e3o. Nenhum integrante dos times \u00e9 autorizado a fazer commits diretamente na main, o que \u00e9 garantido atrav\u00e9s da rule criada no GitHub.
"},{"location":"politicas/branches/#2-historico-de-versoes","title":"2. Hist\u00f3rico de Vers\u00f5es","text":"Vers\u00e3o Autor Descri\u00e7\u00e3o Revisor Data 1.0 Joselito Prado Cria\u00e7\u00e3o da pol\u00edtica de branch Jos\u00e9 Andr\u00e9 04/03/2024 1.1 Jos\u00e9 Andr\u00e9 Padroniza\u00e7\u00e3o de T\u00f3picos Joselito Prado 11/03/2024"},{"location":"politicas/branches/#3-referencias","title":"3. Refer\u00eancias","text":"

DULCETTI, Bruno. Padr\u00f5es e nomenclaturas no Git. BrunoDulcetti. Dispon\u00edvel em: https://www.brunodulcetti.com/padroes-e-nomenclaturas-no-git/. Acesso em: 04 de mar\u00e7o de 2024.

HADLER, Mikael. Utilizando o fluxo Git Flow. Medium. Dispon\u00edvel em: https://medium.com/trainingcenter/utilizando-o-fluxo-git-flow-e63d5e0d5e04. Acesso em: 04 de mar\u00e7o de 2024.

"},{"location":"politicas/commit/","title":"Commit","text":""},{"location":"politicas/commit/#1-padronizacao-dos-commits","title":"1. Padroniza\u00e7\u00e3o dos Commits","text":"

Os commits devem seguir o padr\u00e3o descrito a seguir.

"},{"location":"politicas/commit/#11-commits-atomicos","title":"1.1 Commits at\u00f4micos","text":"

Sempre dividir em pequenos e significativos commits, fazendo com que cada commit tenha apenas uma funcionalidade.

"},{"location":"politicas/commit/#12-commits-em-portugues","title":"1.2 Commits em portugu\u00eas","text":"

Por ser um projeto voltado totalmente para um p\u00fablico brasileiro e por toda equipe ter mais afinidade com o portugu\u00eas, foi decidido que todos os commits ser\u00e3o em pt-BR.

"},{"location":"politicas/commit/#2-formato","title":"2. Formato","text":"
(#n\u00famero da issue): assunto\n
"},{"location":"politicas/commit/#21-assunto","title":"2.1 Assunto","text":"
  • Deve possuir no m\u00e1ximo 50 caracteres

Exemplo de commit:

git commit -m \"(#02): bot\u00e3o na p\u00e1gina inicial\"\n
"},{"location":"politicas/commit/#3-historico-de-versoes","title":"3. Hist\u00f3rico de Vers\u00f5es","text":"Vers\u00e3o Autor Descri\u00e7\u00e3o Revisor Data 1.0 Joselito Prado Cria\u00e7\u00e3o da pol\u00edtica de commits Jos\u00e9 Andr\u00e9 04/03/2024 1.1 Jos\u00e9 Andr\u00e9 Padroniza\u00e7\u00e3o de T\u00f3picos Joselito Prado 11/03/2024"},{"location":"politicas/commit/#4-referencias","title":"4. Refer\u00eancias","text":"

DARTORA, Jo\u00e3o. Tudo o que voc\u00ea precisa saber sobre commits sem\u00e2nticos. Ilegra. Dispon\u00edvel em: https://ilegra.com/blog/tudo-o-que-voce-precisa-saber-sobre-commits-semanticos/. Acesso em: 04 de mar\u00e7o de 2024.

"},{"location":"politicas/conduta/","title":"Conduta","text":""},{"location":"politicas/conduta/#1-proposito","title":"1. Prop\u00f3sito","text":"

Residentes do projeto de imers\u00e3o TIC Brisa Lappis administram o projeto. Com o objetivo de promover um ambiente inclusivo e acolhedor, os residentes comprometem-se a envolver-se ativamente na execu\u00e7\u00e3o do projeto e na comunidade, garantindo uma experi\u00eancia isenta de qualquer forma de ass\u00e9dio para todos os participantes, tanto como colaboradores quanto como respons\u00e1veis pelo projeto.

"},{"location":"politicas/conduta/#2-comportamento","title":"2. Comportamento","text":""},{"location":"politicas/conduta/#21-atitudes-aceitaveis","title":"2.1 Atitudes aceit\u00e1veis","text":"
  • Reconhecimento e aprecia\u00e7\u00e3o de diversas opini\u00f5es, perspectivas e viv\u00eancias.
  • Est\u00edmulo \u00e0 pr\u00e1tica de cr\u00edticas construtivas, tanto ao oferecer quanto ao receber feedback.
  • Assun\u00e7\u00e3o de responsabilidade por eventuais equ\u00edvocos, buscando aprendizado com as experi\u00eancias.
  • Emprego de linguagem acolhedora e inclusiva.
  • Express\u00e3o de empatia em rela\u00e7\u00e3o aos membros da comunidade.
"},{"location":"politicas/conduta/#22-atitudes-inaceitaveis","title":"2.2 Atitudes inaceit\u00e1veis","text":"
  • Uso de linguagem ou imagens com conota\u00e7\u00e3o sexual.
  • Comportamentos provocativos, insultuosos, depreciativos, ataques pessoais ou pol\u00edticos.
  • Ass\u00e9dio, seja p\u00fablico ou privado.
  • Viola\u00e7\u00e3o da privacidade, incluindo o compartilhamento n\u00e3o autorizado de informa\u00e7\u00f5es pessoais de terceiros, como fotos ou endere\u00e7os de e-mail.
  • Qualquer outra conduta que, dentro dos limites da razoabilidade, possa ser considerada inadequada em um ambiente profissional.
"},{"location":"politicas/conduta/#3-responsabilidades","title":"3. Responsabilidades","text":"

Os mantenedores do projeto t\u00eam a responsabilidade de esclarecer os padr\u00f5es de conduta estabelecidos no c\u00f3digo. Em caso de d\u00favida, \u00e9 incumb\u00eancia deles tomar medidas corretivas justas em resposta a quaisquer comportamentos inaceit\u00e1veis. Eles tamb\u00e9m possuem o direito e a responsabilidade de editar, remover ou rejeitar coment\u00e1rios, confirma\u00e7\u00f5es, c\u00f3digo e outras contribui\u00e7\u00f5es que n\u00e3o estejam em conformidade com este C\u00f3digo de Conduta. Al\u00e9m disso, devem comunicar aos respons\u00e1veis pela resid\u00eancia caso qualquer colaborador demonstre comportamentos considerados inadequados, amea\u00e7adores, ofensivos ou prejudiciais.

"},{"location":"politicas/conduta/#4-escopo","title":"4. Escopo","text":"

Este C\u00f3digo de Conduta se aplica tanto dentro do \u00e2mbito do projeto quanto em locais p\u00fablicos onde um indiv\u00edduo represente o projeto ou sua comunidade. Isso inclui situa\u00e7\u00f5es como o uso do reposit\u00f3rio oficial relacionado ao projeto ou a participa\u00e7\u00e3o em reuni\u00f5es onde atue como representante.

"},{"location":"politicas/conduta/#5-execucao","title":"5. Execu\u00e7\u00e3o","text":"

Situa\u00e7\u00f5es de comportamento inadequado podem ser relatadas entrando em contato com os monitores da resid\u00eancia. Todos os relatos ser\u00e3o minuciosamente avaliados e investigados, com a subsequente implementa\u00e7\u00e3o de uma resposta apropriada para a circunst\u00e2ncia. A equipe do projeto \u00e9 comprometida com a preserva\u00e7\u00e3o da confidencialidade em rela\u00e7\u00e3o ao denunciante de um incidente.

"},{"location":"politicas/conduta/#6-historico-de-versoes","title":"6. Hist\u00f3rico de Vers\u00f5es","text":"Vers\u00e3o Autor Descri\u00e7\u00e3o Revisor Data 1.0 Joselito Prado Abertura do Documento Jos\u00e9 Andr\u00e9 04/03/2024 1.1 Jos\u00e9 Andr\u00e9 Padroniza\u00e7\u00e3o de T\u00f3picos Joselito Prado 11/03/2024"},{"location":"politicas/conduta/#7-referencia","title":"7. Refer\u00eancia","text":"

ORGANIZATION FOR ETHICAL SOURCE. Contributor Covenant, 2014. Latest Version. Dispon\u00edvel em: https://www.contributor-covenant.org/version/2/1/code_of_conduct/. Acesso em: 04 de mar\u00e7o de 2024.

"},{"location":"politicas/plano-de-comunicacao/","title":"Plano de Comunica\u00e7\u00e3o","text":""},{"location":"politicas/plano-de-comunicacao/#1-objetivo","title":"1. Objetivo","text":"

O prop\u00f3sito deste documento \u00e9 formalizar os canais de comunica\u00e7\u00e3o entre os membros do projeto, delineando desde as ferramentas empregadas at\u00e9 os procedimentos essenciais para garantir a adequada armazenagem, organiza\u00e7\u00e3o e distribui\u00e7\u00e3o das informa\u00e7\u00f5es.

"},{"location":"politicas/plano-de-comunicacao/#2-entradas-e-ferramentas-para-o-processo","title":"2. Entradas e Ferramentas para o Processo","text":"\u00cdcone Ferramenta Descri\u00e7\u00e3o GitHub Sistema de controle de vers\u00e3o, que abriga os c\u00f3digos do produto, e por meio desse sistema s\u00e3o realizados coment\u00e1rios nas quest\u00f5es (issues) que est\u00e3o sendo trabalhadas. Telegram Utilizado para a comunica\u00e7\u00e3o r\u00e1pida e do dia a dia, para dinamizar a troca de informa\u00e7\u00f5es entre a equipe. Discord Utilizado para reuni\u00f5es como pr\u00e9-planejamento e planejamento da sprint, sprint review, daily e quaisquer outras reuni\u00f5es que forem marcadas. Teams Utilizado para reuni\u00f5es com stakeholders e transa\u00e7\u00e3o de documentos."},{"location":"politicas/plano-de-comunicacao/#3-diretrizes-e-procedimentos-usados-para-comunicar","title":"3. Diretrizes e procedimentos usados para comunicar","text":""},{"location":"politicas/plano-de-comunicacao/#31-comunicacao-geral","title":"3.1 Comunica\u00e7\u00e3o Geral","text":"

A comunica\u00e7\u00e3o \u00e9 a chave principal para o bom progresso do projeto. Tendo isso em vista, \u00e9 importante zelar pela clareza nas intera\u00e7\u00f5es. Portanto, os pontos cruciais a serem levados como pilares s\u00e3o:

  1. Seguir os rituais \u00e1geis, para conseguir manter a comunica\u00e7\u00e3o eficaz do projeto (daily e review);
  2. Manter as partes interessadas \"alinhadas\", evitando ao m\u00e1ximo ru\u00eddos e sempre comunicar ao haver novidades acerca de t\u00f3pcicos.
"},{"location":"politicas/plano-de-comunicacao/#32-gerencia-de-reunioes","title":"3.2 Ger\u00eancia de Reuni\u00f5es","text":""},{"location":"politicas/plano-de-comunicacao/#321-planejamento-da-sprint","title":"3.2.1 Planejamento da Sprint","text":"

Num encontro semanal, todos os membros se re\u00fanem para decidir, coletivamente, as atividades e funcionalidades a serem realizadas pelos integrantes, alinhando-se com as disponibilidades e o calend\u00e1rio de todos. Ap\u00f3s, todos integrantes dividem as que ficar\u00e3o alocadas entre os membros de acordo com dificuldade e disponibilidade. Al\u00e9m disso tamb\u00e9m s\u00e3o levantadas quais melhorias podem ser feitas.

"},{"location":"politicas/plano-de-comunicacao/#322-daily","title":"3.2.2 Daily","text":"

Tarefa realizada pelo discord, onde cada integrante explica de forma clara: o que foi feito desde a \u00faltima reuni\u00e3o e o que pretende fazer at\u00e9 a pr\u00f3xima, dessa forma os integrantes est\u00e3o se mantendo informados do andamento da sprint.

"},{"location":"politicas/plano-de-comunicacao/#323-sprint-review","title":"3.2.3 Sprint Review","text":"

Reuni\u00e3o para mostrar os resultados positivos da sprint, cada membro mostra o trabalho que fez para que o time possa fornecer e obter feedback.

"},{"location":"politicas/plano-de-comunicacao/#4-historico-de-versoes","title":"4. Hist\u00f3rico de Vers\u00f5es","text":"Vers\u00e3o Autor Descri\u00e7\u00e3o Revisor Data 1.0 Joselito Prado Cria\u00e7\u00e3o da pol\u00edtica de commits Jos\u00e9 Andr\u00e9 04/03/2024 1.1 Jos\u00e9 Andr\u00e9 Padroniza\u00e7\u00e3o de T\u00f3picos Joselito Prado 11/03/2024"},{"location":"politicas/plano-de-comunicacao/#5-referencias","title":"5. Refer\u00eancias","text":"

IEEE (2012), IEEE Guide--Adoption of the Project Management Institute (PMI) Standard A Guide to the Project Management Body of Knowledge (PMBOK Guide)--Fifth Edition.

FELIPE, Caio; FREITAS, Gesiel; BUSCHE, Jo\u00e3o Paulo; CARVALHO, Vin\u00edcius; PINHEIRO, Vinicius. SIGS - Plano de Gerenciamento de Comunica\u00e7\u00e3o. Dispon\u00edvel em: https://github.com/fga-eps-mds/2017.1-SIGS/wiki/Plano-de-Gerenciamento-de-Comunica%C3%A7%C3%A3o#32-gerencia-de-reuni%C3%B5es. Acesso em: 04 de mar\u00e7o de 2024.

"},{"location":"release/release1/","title":"Release 1","text":""},{"location":"release/release1/#1-contexto","title":"1. Contexto","text":"

\u2003\u2003 Durante o desenvolvimento do projeto, foram definidas sprints que resultaram em incrementos ao longo do tempo. Como resultado, a release 1 compreende o desenvolvimento realizado durante as Sprints 0, 1, 2 e 3, incluindo a implementa\u00e7\u00e3o inicial de um MVP do produto.

\u2003\u2003 Ap\u00f3s realizar t\u00e9cnicas de elicita\u00e7\u00e3o, an\u00e1lise e prioriza\u00e7\u00e3o de requisitos, foram definidas as User Stories (US) que foram implementadas no desenvolvimento do MVP. Entre as t\u00e9cnicas utilizadas, destacam-se:

  • Formula\u00e7\u00e3o de formul\u00e1rios para identificar as opini\u00f5es dos usu\u00e1rios da plataforma atual e identificar as personas e antipersonas do site.
  • Entrevistas com a equipe t\u00e9cnica e editores da revista para extrair insights significativos sobre o fluxo de opera\u00e7\u00f5es no site, necessidades e desejos dos usu\u00e1rios.
  • Utiliza\u00e7\u00e3o do User Story Map para organizar as hist\u00f3rias de usu\u00e1rios e do MoSCoW para prioriza\u00e7\u00e3o.

\u2003\u2003 A partir destas t\u00e9cnicas utilizadas, a tabela das User Stories pode ser visualizada abaixo:

"},{"location":"release/release1/#2-tabela-de-uss","title":"2. Tabela de US's","text":"

ID Hist\u00f3rias de Usu\u00e1rio 01 Como usu\u00e1rio leitor, quero poder visualizar o conte\u00fado das edi\u00e7\u00f5es da revista diretamente no navegador para uma experi\u00eancia de leitura mais intuitiva. 02 Como usu\u00e1rio leitor, quero realizar o download da revista, para que eu possa ler offline. 03 US 3 - Como usu\u00e1rio leitor, quero poder visualizar as capas das edi\u00e7\u00f5es para ter uma ideia r\u00e1pida do conte\u00fado de cada uma antes de selecionar para ler. 04 Como usu\u00e1rio leitor, quero poder visualizar v\u00eddeos de not\u00edcias para ter um maior engajamento no site. 05 Eu, como usu\u00e1rio leitor, desejo entrar em contato com a equipe editorial, para comunicar-me com a equipe da revista. 06 Como usu\u00e1rio leitor, desejo poder realizar assinaturas para ser notificado quando ser lan\u00e7ado novas edi\u00e7\u00f5es. 07 Como usu\u00e1rio leitor, quero poder visualizar not\u00edcias relevantes para saber mais sobre a universidade.

"},{"location":"release/release1/#3-minimo-produto-viavel-mvp","title":"3. M\u00ednimo Produto Vi\u00e1vel - MVP","text":"

\u2003\u2003 O MVP consiste na configura\u00e7\u00e3o inicial do site em WordPress, utilizando o Tema GOVBR que segue os padr\u00f5es governamentais. Desenvolvido como uma iniciativa Open Source pelo IBICT - Instituto Brasileiro de Informa\u00e7\u00e3o em Ci\u00eancia e Tecnologia, este tema estabelece a base para a constru\u00e7\u00e3o da identidade visual do site. O objetivo \u00e9 criar um produto \u00fanico, seguindo as diretrizes necess\u00e1rias em rela\u00e7\u00e3o \u00e0 hierarquia da informa\u00e7\u00e3o.

"},{"location":"release/release1/#4-historico-de-versoes","title":"4. Hist\u00f3rico de Vers\u00f5es","text":"Vers\u00e3o Autor Descri\u00e7\u00e3o Revisor Data 1.0 Jefferson Sena Cria\u00e7\u00e3o do Documento de Releases Tiago Albuquerque 09/04/2024"},{"location":"requisitos/backlog/","title":"Backlog","text":""},{"location":"requisitos/backlog/#1-requisitos","title":"1. Requisitos","text":"

\u2003\u2003 A partir do processo de Elicita\u00e7\u00e3o de Requisitos, identificamos e definimos as funcionalidades essenciais para o novo site da revista Darcy. Esses requisitos foram cuidadosamente selecionados devido ao valor de neg\u00f3cio do produto. Para esta etapa inicial, foi utilizado entrevistas com a editora-chefe da revista, juntamente com a equipe de programadores e designers. Esse m\u00e9todo proporcionou insights valiosos auxiliando no entendimento das necessidades do cliente.

Tabela de Requisitos: ID Requisitos 01 Ler Edi\u00e7\u00e3o Online 02 Baixar Edi\u00e7\u00e3o em PDF 03 Vizualizar todas as edi\u00e7\u00f5es 04 Vizualizar v\u00eddeos de not\u00edcias 05 Entrar em Contato com equipe editorial 06 Assinar notifica\u00e7\u00e3o de nova edi\u00e7\u00e3o 07 Vizualizar Not\u00edcias Relevantes da Universidade

Tabela de Requisitos N\u00e3o Funcionais:

ID Requisitos N\u00e3o Funcionais 01 Responsividade 02 Acessibilidade com Libras 03 Acessibilidade com Alto Contraste 04 Conformidade com padr\u00f5es governamentais

"},{"location":"requisitos/backlog/#2-user-storymap","title":"2. User StoryMap","text":"

\u2003\u2003 A partir da an\u00e1lise e consenso dos requisitos, foram definidas as funcionalidades iniciais, as quais foram representadas e organizadas utilizando o User Story Map. Al\u00e9m disso, empregamos a t\u00e9cnica MoSCoW para priorizar os requisitos a serem implementados nesta Release. A esquematiza\u00e7\u00e3o pode ser vista a seguir:

"},{"location":"requisitos/backlog/#3-historico-de-versoes","title":"3. Hist\u00f3rico de Vers\u00f5es","text":"Vers\u00e3o Autor Descri\u00e7\u00e3o Revisor Data 1.0 Jefferson Sena Adicionando os requisitos e User story map Tiago Albuquerque 01/04/2024 1.1 Jefferson Sena Adicionando requisitos n\u00e3o funcionais Tiago Albuquerque 05/04/2024"},{"location":"requisitos/fluxograma_de_navegabilidade/","title":"Fluxograma de Navegabilidade da Revista Darcy","text":""},{"location":"requisitos/fluxograma_de_navegabilidade/#1-objetivo","title":"1. Objetivo","text":"

O intuito \u00e9 fornecer uma representa\u00e7\u00e3o visual clara e organizada de como os usu\u00e1rios podem se mover atrav\u00e9s do site. Alguns benef\u00edcios que esperamos:

  1. Visualiza\u00e7\u00e3o da Estrutura: Ajuda a visualizar a estrutura e a hierarquia das p\u00e1ginas do site, mostrando a rela\u00e7\u00e3o entre elas.
  2. Facilita\u00e7\u00e3o do Planejamento: Auxilia no planejamento e na organiza\u00e7\u00e3o do conte\u00fado do site, garantindo que todas as p\u00e1ginas e links necess\u00e1rios sejam inclu\u00eddos.
  3. Identifica\u00e7\u00e3o de Problemas: Permite identificar e corrigir poss\u00edveis problemas de navega\u00e7\u00e3o, como links quebrados ou caminhos complexos.
  4. Melhoria da Experi\u00eancia do Usu\u00e1rio: Ajuda a garantir uma experi\u00eancia de navega\u00e7\u00e3o intuitiva e eficiente para os usu\u00e1rios, facilitando a localiza\u00e7\u00e3o de informa\u00e7\u00f5es.
  5. Comunica\u00e7\u00e3o Clara: Serve como uma ferramenta de comunica\u00e7\u00e3o clara entre desenvolvedores, designers e outras partes interessadas, garantindo que todos tenham uma compreens\u00e3o comum da navega\u00e7\u00e3o do site.
  6. Documenta\u00e7\u00e3o: Funciona como uma documenta\u00e7\u00e3o do fluxo de navega\u00e7\u00e3o do site, \u00fatil para manuten\u00e7\u00e3o futura e para novos membros da equipe.
"},{"location":"requisitos/fluxograma_de_navegabilidade/#2-fluxograma-de-navegabilidade","title":"2. Fluxograma de Navegabilidade","text":"

"},{"location":"requisitos/fluxograma_de_navegabilidade/#3-historico-de-versoes","title":"3. Hist\u00f3rico de Vers\u00f5es","text":"Vers\u00e3o Autor Descri\u00e7\u00e3o Revisor Data 1.0 Jos\u00e9 Andr\u00e9 Fluxograma de Navegabilidade Tiago Albuquerque 02/07/2024"},{"location":"requisitos/perfil_dos_usuarios/","title":"Perfil dos Usu\u00e1rios da Revista","text":""},{"location":"requisitos/perfil_dos_usuarios/#perfil-do-usuario","title":"Perfil do Usu\u00e1rio","text":"

A partir dos dados obtidos com o formul\u00e1rio, foi poss\u00edvel definir o Perfil do Usu\u00e1rios e leitores do site:

  • Estudantes da UnB entre 19 e 22 anos. O p\u00fablico tamb\u00e9m comp\u00f5e, em sua minoria, servidores e t\u00e9cnicos administrativos da UnB.

  • O site e as edi\u00e7\u00f5es da Revista s\u00e3o lidos, em sua maioria, sempre que novas edi\u00e7\u00f5es s\u00e3o lan\u00e7adas.

  • Muitos estudantes evidenciam n\u00e3o ter conhecimento sobre o site ou a revista.

"},{"location":"requisitos/perfil_dos_usuarios/#analises-dos-dados-do-formulario","title":"An\u00e1lises dos Dados do Formul\u00e1rio","text":"

Com o objetivo de obter mais detalhes do Perfil de Usu\u00e1rios da Revista, foi proposto a divulga\u00e7\u00e3o de um formul\u00e1rio com perguntas pertinentes. Com isso, segue aqui uma an\u00e1lise dos dados obtidos a partir das respostas dos leitores da revista.

"},{"location":"requisitos/perfil_dos_usuarios/#questao-01","title":"Quest\u00e3o 01","text":""},{"location":"requisitos/perfil_dos_usuarios/#questao-02","title":"Quest\u00e3o 02","text":""},{"location":"requisitos/perfil_dos_usuarios/#questao-03","title":"Quest\u00e3o 03","text":""},{"location":"requisitos/perfil_dos_usuarios/#questao-04","title":"Quest\u00e3o 04","text":""},{"location":"requisitos/perfil_dos_usuarios/#questao-05","title":"Quest\u00e3o 05","text":""},{"location":"requisitos/perfil_dos_usuarios/#questao-06","title":"Quest\u00e3o 06","text":""},{"location":"requisitos/perfil_dos_usuarios/#questao-07","title":"Quest\u00e3o 07","text":""},{"location":"requisitos/perfil_dos_usuarios/#questao-08","title":"Quest\u00e3o 08","text":""},{"location":"requisitos/perfil_dos_usuarios/#questao-09","title":"Quest\u00e3o 09","text":""},{"location":"requisitos/perfil_dos_usuarios/#questao-10","title":"Quest\u00e3o 10","text":"

H\u00e1 algo no site que te desagrada ou poderia ser aperfei\u00e7oado?

  • Gostaria que ele fosse t\u00e3o atraente visualmente, como \u00e9 a revista impressa e, na medida do poss\u00edvel, fosse interativo.
  • As mat\u00e9rias poderiam estar dispon\u00edveis em html e o visual poderia ser atualizado Layout
  • Navega\u00e7\u00e3o pela vers\u00e3o digital da revista (em pdf) n\u00e3o facilita a leitura, n\u00e3o h\u00e1 ferramenta de buscas por palavras-chave ou data de publica\u00e7\u00e3o dos conte\u00fados, \u00e9 necess\u00e1rio fazer v\u00e1rios cliques para chegar a um conte\u00fado espec\u00edfico (mesmo da nova edi\u00e7\u00e3o), a disposi\u00e7\u00e3o de textos e imagens na leitura dentro do site n\u00e3o \u00e9 muito bacana (legendas das imagens, por exemplo, n\u00e3o t\u00eam um tamanho pr\u00f3prio)
  • Novos elementos e melhor intuitividade
  • A forma como carrega as p\u00e1ginas da revista no Issuuu
  • Poderia ser melhor trabalhado os conte\u00fados audiovisuais.
  • O menu de navega\u00e7\u00e3o para acesso \u00e0 revista.
  • O design do site.
  • O layout da p\u00e1gina inicial \u00e9 sempre meio confuso. a parte para assinatura da revista n\u00e3o funciona, j\u00e1 me inscrevi diversas vezes e nunca recebo atualiza\u00e7\u00f5es sobre a Darcy no endere\u00e7o cadastrado.
"},{"location":"requisitos/perfil_dos_usuarios/#questao-11","title":"Quest\u00e3o 11","text":"

O que no site te agrada e pode ser entendido como essencial?

  • O fato de todas as edi\u00e7\u00f5es estarem dispon\u00edveis.
  • F\u00e1cil disponibiliza\u00e7\u00e3o das edi\u00e7\u00f5es passadas.
  • A busca r\u00e1pida por outras edi\u00e7\u00f5es da revista
  • Disponibiliza\u00e7\u00e3o da \u00edntegra da revista.
  • A organiza\u00e7\u00e3o em menus principais acima (o que facilita as buscas de conte\u00fados), as caixinhas de destaques (mesmo que n\u00e3o estejam em um leiaute bonito e adequado, acredito que o pr\u00f3ximo site deva incluir caixinhas de destaque com fotos)
  • A leitura das edi\u00e7\u00f5es na plataforma e imagens.
  • A riqueza de imagens, a identidade visual das reportagens de acordo com o tema, e os infogr\u00e1ficos, al\u00e9m da linguagem acess\u00edvel mesmo em temas complexos.
  • Bonito e bem organizado, com banners e links em destaque
  • O conte\u00fado e a leveza das cores e da diagrama\u00e7\u00e3o.
  • A organiza\u00e7\u00e3o das edi\u00e7\u00f5es.
  • As capas das revistas devem ter destaque.
  • As abas est\u00e3o bem divididas.
  • os arquivos poderem ser baixados em pdf.
  • P\u00e1gina para download de todas a edi\u00e7\u00f5es, p\u00e1gina para leitura online, contato.
"},{"location":"requisitos/perfil_dos_usuarios/#questao-12","title":"Quest\u00e3o 12","text":"

H\u00e1 alguma sugest\u00e3o de melhorias em qualquer aspecto (visual, textual, usabilidade, funcionalidade, etc.)?

  • Uma arquitetura da informa\u00e7\u00e3o mais org\u00e2nica, que facilitasse o acesso a reportagens de v\u00e1rias edi\u00e7\u00f5es, talvez com a aplica\u00e7\u00e3o de tags (ou agregadores). Visualmente, o site tamb\u00e9m n\u00e3o faz jus \u00e0 revista. Por fim, sugiro agregar plugins que tornassem o ambiente interativo, na medida do poss\u00edvel.
  • Mudan\u00e7as simples no carrossel dos destaques e a possibilidade de alguma interatividade com infogr\u00e1ficos e outras imagens
  • Uma revista digital interativa
  • P\u00e1gina inicial visualmente mais bonita; reavalia\u00e7\u00e3o dos menus para evitar duplicatas de conte\u00fado; valoriza\u00e7\u00e3o dos conte\u00fados multim\u00eddia.
  • \u00c9 necess\u00e1rio adaptar a usabilidade em celular, incluir ferramentas de buscas dos conte\u00fados (por palavras-chave e por data), incluir na home mais caixinhas para conte\u00fados multim\u00eddia, retirar o banner principal (se o uso for somente para o leitor ser encaminhado para a nova edi\u00e7\u00e3o, n\u00e3o faz sentido, pois j\u00e1 h\u00e1 outra caixinha abaixo que leva para a \u00faltima publica\u00e7\u00e3o), reorganizar a disposi\u00e7\u00e3o dos destaques, de forma harm\u00f4nica (exemplo: destaque de v\u00eddeos aparece antes do Leia mais; h\u00e1 uma caixinha com endere\u00e7o do campus, sendo que essa informa\u00e7\u00e3o se repete no p\u00e9 do site). A disposi\u00e7\u00e3o atual d\u00e1 impress\u00e3o de uma certa desorganiza\u00e7\u00e3o na home do site, j\u00e1 que as caixinhas n\u00e3o est\u00e3o organizadas de forma padronizada.
  • Mais fun\u00e7\u00f5es para deixar mais intuitivo e melhor identidade visual
  • Aplicativo, talvez.
  • Se fosse vi\u00e1vel, poderia haver a vers\u00e3o web da revista completa, mais interativa, sem ser PDF
  • Acredito que se a revista fosse mais visual, tipo, n\u00e3o precisasse clicar em varias abas para abrir seria mais intuitivo. Como por exemplo a Gazeta de Alagoas. Segue link: https://www.gazetadealagoas.com.br/edicao-digital
  • Acho que a revista tem de ser mais divulgada. Iniciar uma visita a cada departamento, em busca de pautas e de leitores.
  • Sim, tornar a hierarquia das informa\u00e7\u00f5es mais intuitivas como as plataformas de m\u00eddia est\u00e3o fazendo, e facilitar a busca por not\u00edcias de interesse.
  • Criar estrat\u00e9gias de divulga\u00e7\u00e3o nas m\u00eddias sociais com entrevistas, divulga\u00e7\u00e3o de temas e conex\u00e3o com o PAS para maior alcance dos alunos da Educa\u00e7\u00e3o B\u00e1sica.
"},{"location":"requisitos/perfil_dos_usuarios/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Vers\u00e3o Autor Descri\u00e7\u00e3o Revisor Data 1.0 Jefferson Sena Adicionando Dados do Formul\u00e1rio Tiago Albuquerque 17/04/2024 1.1 Jefferson Sena Definindo Perfil dos Usu\u00e1rios Tiago Albuquerque 17/04/2024"},{"location":"requisitos/visao_de_produto/","title":"Vis\u00e3o Geral do Produto","text":""},{"location":"requisitos/visao_de_produto/#1-problema","title":"1. Problema","text":"

Foi identificado uma dificuldade quanto a ferramenta atualmente utilizada pela secretaria de Comunica\u00e7\u00e3o da Universidade de Bras\u00edlia. Por utilizarem o Joomla, um sistema de gerenciamento de conte\u00fado (CMS) de c\u00f3digo aberto usado para construir websites e aplicativos online. Enfrentam dificuldades em atualizar os conte\u00fados pela alta complexidade desse sistema. Surgindo ent\u00e3o, a necessidade de uma migra\u00e7\u00e3o de plataforma.

Al\u00e9m disso, a Revista Darcy, como ve\u00edculo de divulga\u00e7\u00e3o das principais atividades da Universidade, busca ampliar sua base de leitores. Para alcan\u00e7ar esse objetivo, \u00e9 essencial contar com uma plataforma intuitiva e pr\u00e1tica, que facilite o acesso e a intera\u00e7\u00e3o com diversos perfis de leitores.

"},{"location":"requisitos/visao_de_produto/#diagrama-de-causa-e-efeito","title":"Diagrama de Causa e Efeito","text":""},{"location":"requisitos/visao_de_produto/#2-posicao-do-produto","title":"2. Posi\u00e7\u00e3o do Produto","text":"

Uma plataforma WEB intuitiva e com recursos visuais que proporcionem uma experi\u00eancia de leitura agrad\u00e1vel, assim como o formato impresso da revista, \u00e9 essencial para o sucesso da Revista Darcy. Al\u00e9m disso, \u00e9 importante que esta ferramenta expanda o alcance a diferentes tipos de leitores, oferecendo recursos para intera\u00e7\u00e3o, como coment\u00e1rios e compartilhamento de conte\u00fado. Adicionalmente, a plataforma \u00e9 adapt\u00e1vel a diversos dispositivos, o que garante uma experi\u00eancia consistente e acess\u00edvel em computadores, tablets e smartphones.

Para Leitores da Revista Darcy Quem P\u00fablico interessado em conhecer sobre as edi\u00e7\u00f5es da Revista Darcy e Universidade de Bras\u00edlia Revista Darcy \u00c9 uma Plataforma WEB e WordPress Que Proporciona uma experi\u00eancia de Leitura Intuitiva e agrad\u00e1vel Ao contr\u00e1rio Joomla Nosso produto Disponibiliza Recursos e identidade visual que proporcionam maior interatividade com a leitura. Para Editores da Revista Darcy Quem Editores que realizam publica\u00e7\u00f5es e edi\u00e7\u00f5es na plataforma Revista Darcy \u00c9 uma Plataforma WEB em WordPress Que Facilita p\u00fablica\u00e7\u00f5es e edi\u00e7\u00f5es da Revista Darcy Ao contr\u00e1rio Joomla Nosso produto Disponibiliza ferramentas e recursos que facilitem a publica\u00e7\u00e3o de reportagens e edi\u00e7\u00f5es da Revista, aumenta a independ\u00eancia dos jornalistas sem a necessidade de um funcion\u00e1rio de TI para auxiliar nas publica\u00e7\u00f5es e edi\u00e7\u00f5es da revista"},{"location":"requisitos/visao_de_produto/#3-objetivos-do-produto","title":"3. Objetivos do produto","text":"
  • Facilidade na publica\u00e7\u00e3o de edi\u00e7\u00f5es e posts
  • Moderniza\u00e7\u00e3o na identidade visual inserindo aspectos da revista
  • Utilizar galerias de imagens din\u00e2micas das reportagens
  • Integra\u00e7\u00e3o com plataformas externas: YouTube e Instagram
  • Integra\u00e7\u00e3o entre a Revista Darcy e a UnB Ci\u00eancia
"},{"location":"requisitos/visao_de_produto/#4-tecnologias-a-serem-utilizadas","title":"4. Tecnologias a serem utilizadas","text":"
  • Comunica\u00e7\u00e3o : Telegram, Discord e Teams.
  • Documenta\u00e7\u00e3o : Mkdocs, GitHub
  • IDE's: Visual Studio Code
  • Design: WordPress, Figma
"},{"location":"requisitos/visao_de_produto/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Vers\u00e3o Autor Descri\u00e7\u00e3o Revisor Data 1.0 Jefferson Sena e Lu\u00eds Filipe Adicionando Vis\u00e3o do Produto Tiago Albuquerque 02/03/2024 1.1 Jos\u00e9 Andr\u00e9 Padroniza\u00e7\u00e3o de T\u00f3picos Jefferson Sena 11/03/2024 1.2 Tiago Albuquerque Diagrama de Causa e Efeito Jefferson Sena 11/03/2024"},{"location":"requisitos/visao_de_projeto/","title":"Vis\u00e3o Geral do Projeto","text":""},{"location":"requisitos/visao_de_projeto/#1-organizacao-do-projeto","title":"1. Organiza\u00e7\u00e3o do Projeto","text":"

A tabela a seguir possui os integrantes definidos para cada divis\u00e3o de atribui\u00e7\u00f5es de tarefas a serem cumpridas.

PAPEL ATRIBUI\u00c7\u00d5ES INTEGRANTE Product Owner Coordenar as fases do projeto, atualizar escopo do produto, validar as entregas e gerenciar prazos. Jefferson Sena Desenvolvedor Codificar e construir o software definido a partir dos requisitos analisados. Equipe Scrum Master Garantir a compreens\u00e3o e ado\u00e7\u00e3o do Scrum pela equipe. Estimular a comunica\u00e7\u00e3o eficaz e a colabora\u00e7\u00e3o dentro da equipe Scrum. Jos\u00e9 Andr\u00e9 Design e prototipagem de interfaces Prototipa poss\u00edveis interfaces a serem implementadas no software, mantendo padr\u00f5es definidos. Equipe An\u00e1lise de requisitos Descobre, prop\u00f5e e analisa os requisitos do produto, documentando e esclarecendo poss\u00edveis d\u00favidas aos envolvidos. Equipe Cliente Valida o produto e prop\u00f5e requisitos que o mesmo necessita que exista na aplica\u00e7\u00e3o. Secretaria de Comunica\u00e7\u00e3o UnB"},{"location":"requisitos/visao_de_projeto/#2-planejamento-das-sprints-do-projeto","title":"2. Planejamento das sprints do projeto","text":"SPRINT PRODUTO(ENTREGAS) IN\u00cdCIO FIM 0 Reuni\u00f5es inicias, cria\u00e7\u00e3o da p\u00e1gina de documenta\u00e7\u00e3o e cronograma 26/02/20234 04/03/2024 1 Planejamento, defini\u00e7\u00e3o de backlog, requisitos brutos e valida\u00e7\u00e3o. 04/03/2023 11/03/2024 2 Configura\u00e7\u00e3o do ambiente Wordpress, refinamento do backlog, requisitos brutos e valida\u00e7\u00e3o. Formul\u00e1rio de pesquisa e obten\u00e7\u00e3o de dados. 11/03/2023 25/03/2024 3 Cria\u00e7\u00e3o de p\u00e1ginas; refinamento do backlog; testes de usabilidade; defini\u00e7\u00e3o do roadmap. 25/03/2023 08/04/2024 4 Insights dos dados do formul\u00e1rio; Evolu\u00e7\u00e3o do projeto open source GOV-br, inje\u00e7\u00e3o de c\u00f3digo no tema 08/04/2023 22/04/2024"},{"location":"requisitos/visao_de_projeto/#3-roadmap-da-organizacao-do-projeto","title":"3. Roadmap da Organiza\u00e7\u00e3o do Projeto","text":""},{"location":"requisitos/visao_de_projeto/#4-gerenciamento-de-riscos","title":"4. Gerenciamento de riscos","text":"

Os riscos identificados para o projeto foram:

  • Falta de hor\u00e1rios dispon\u00edveis para todos os integrantes se reunirem para as reuni\u00f5es.
    • Solu\u00e7\u00e3o: Defini\u00e7\u00e3o de hor\u00e1rios dispon\u00edveis para todos os membros e negocia\u00e7\u00e3o em rela\u00e7\u00e3o a carga hor\u00e1ria semanal.
  • Indisponibilidade de algum dos integrantes.
    • Solu\u00e7\u00e3o: Replanejamento das atribui\u00e7\u00f5es designadas e replanejamento das fases de desenvolvimento.
"},{"location":"requisitos/visao_de_projeto/#5-criterios-de-replanejamento","title":"5. Crit\u00e9rios de Replanejamento","text":"
  • Diminui\u00e7\u00e3o dos membros da equipe

Caso haja mudan\u00e7as na forma\u00e7\u00e3o da equipe, \u00e9 importante reavaliar as atividades definidas, com reajuste de prazos, tarefas e complexidade do desenvolvimento, a fim de reduzir os impactos no projeto.

  • N\u00e3o cumprimento de prazos

Caso a equipe n\u00e3o consiga cumprir os prazos pr\u00e9-definidos, \u00e9 poss\u00edvel que haja um reajuste dos requisitos e sua complexidade, a fim de que ao final seja poss\u00edvel realizar a entrega do produto ao cliente.

  • Insatisfa\u00e7\u00e3o do Cliente

Caso haja insatisfa\u00e7\u00e3o por parte do cliente, \u00e9 importante que a equipe refa\u00e7a a an\u00e1lise dos defeitos apontados, com o objetivo de trazer as causas da insatisfa\u00e7\u00e3o e assim trazer uma melhoria para tal aspecto.

"},{"location":"requisitos/visao_de_projeto/#6-historico-de-versoes","title":"6. Hist\u00f3rico de Vers\u00f5es","text":"Vers\u00e3o Autor Descri\u00e7\u00e3o Revisor Data 1.0 Tiago Albuquerque Cria\u00e7\u00e3o da vis\u00e3o de projeto Jos\u00e9 Andr\u00e9 05/03/2024 1.1 Jos\u00e9 Andr\u00e9 Corre\u00e7\u00e3o de T\u00f3picos e Adi\u00e7\u00e3o de Sprint Tiago Albuquerque 11/03/2024 1.2 Jefferson Sena Adicionando RoadMap Tiago Albuquerque 26/03/2024"},{"location":"sprints/sprint00/planejamento/","title":"Planejamento","text":""},{"location":"sprints/sprint00/planejamento/#1-o-planejado","title":"1. O planejado","text":"

O objetivo dessa sprint \u00e9 nos organizarmos internamente, definindo os pap\u00e9is dos membros de acordo com o SCRUM. Al\u00e9m disso, precisamos configurar nosso reposit\u00f3rio do github e definir regras de prote\u00e7\u00e3o de branch, al\u00e9m de padr\u00f5es de issue e pull request. \u00c9 necess\u00e1rio a cria\u00e7\u00e3o de uma gitpage com MKDOCS para documentarmos nosso processo de trabalho. Ideal que essa gitpage seja automatizada com o github actions assim como os padr\u00f5es de commit e pull request.

\u00c9 esperado que nessa sprint tenhamos a primeira reuni\u00e3o com a cliente, devemos realizar perguntas coesas e objetivas para termos uma vis\u00e3o geral do projeto e do produto, de modo que possamos definir um cronograma de trabalho.

"},{"location":"sprints/sprint00/planejamento/#_1","title":"Planejamento","text":""},{"location":"sprints/sprint00/planejamento/#2-duracao-da-sprint","title":"2. Dura\u00e7\u00e3o da Sprint","text":"

In\u00edcio: 26/02/2024

Fim: 04/03/2024

Dura\u00e7\u00e3o: 7 dias

"},{"location":"sprints/sprint00/planejamento/#3-issues","title":"3. Issues","text":"Issue T\u00edtulo Respons\u00e1veis #2 Sprint 0 - Ambienta\u00e7\u00e3o Geral e Defini\u00e7\u00e3o de Pap\u00e9is do Time SCRUM [Todos] #1 Sprint 0 - Cria\u00e7\u00e3o do MKDOCS para a Documenta\u00e7\u00e3o Tiago Albuquerque #8 Sprint 0 - Kickoff Meeting e Defini\u00e7\u00e3o do Cronograma Inicial [Todos] #15 Sprint 0 - Configura\u00e7\u00e3o e Ger\u00eancia do Reposit\u00f3rio Jefferson Sena e Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint00/planejamento/#4-papeis-da-equipe","title":"4. Pap\u00e9is da Equipe","text":"Fun\u00e7\u00e3o Nome Scrum Master Jos\u00e9 Andr\u00e9 Product Owner Jefferson Sena Dev Team Joselito Prado Dev Team Tiago Albuquerque Dev Team Lu\u00eds Filipe"},{"location":"sprints/sprint00/planejamento/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 05/03/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint00/resultados/","title":"Resultados","text":""},{"location":"sprints/sprint00/resultados/#1-o-que-foi-feito","title":"1. O que foi feito","text":"

Nessa sprint conseguimos nos organizar como equipe, estabelecemos as fun\u00e7\u00f5es de cada membro de acordo com o SCRUM. Al\u00e9m disso, organizamos nossos canais de comunica\u00e7\u00e3o e configuramos nosso reposit\u00f3rio do github, estabelecendo padr\u00f5es de commit e pull request. Tamb\u00e9m configuramos prote\u00e7\u00f5es para a branch main para evitar inconsist\u00eancias em nosso reposit\u00f3rio. Tamb\u00e9m configuramos uma gitpage no reposit\u00f3rio com nossa documenta\u00e7\u00e3o utilizando o MKDocs.

Tivemos tamb\u00e9m a reuni\u00e3o de kickoff com a cliente onde pudemos ter uma vis\u00e3o geral do projeto e do produto, o que nos possibilitou estabelecer um cronograma de trabalho inicial.

"},{"location":"sprints/sprint00/resultados/#_1","title":"Resultados","text":""},{"location":"sprints/sprint00/resultados/#2-issues","title":"2. Issues","text":"Issue T\u00edtulo Status #2 Sprint 0 - Ambienta\u00e7\u00e3o Geral e Defini\u00e7\u00e3o de Pap\u00e9is do Time SCRUM Conclu\u00eddo #1 Sprint 0 - Cria\u00e7\u00e3o do MKDOCS para a Documenta\u00e7\u00e3o Conclu\u00eddo #8 Sprint 0 - Kickoff Meeting e Defini\u00e7\u00e3o do Cronograma Inicial Conclu\u00eddo #15 Sprint 0 - Configura\u00e7\u00e3o e Ger\u00eancia do Reposit\u00f3rio Conclu\u00eddo"},{"location":"sprints/sprint00/resultados/#3-reunioes","title":"3. Reuni\u00f5es","text":"

Nessa Sprint 00 tivemos duas reuni\u00f5es.

Data Tema Ata 27/02/2024 Reuni\u00e3o Interna - Apresenta\u00e7\u00e3o e ambienta\u00e7\u00e3o 28/02/2024 Reuni\u00e3o com a Cliente - Kickoff Clique Aqui"},{"location":"sprints/sprint00/resultados/#4-avaliacao-do-scrum-master","title":"4. Avalia\u00e7\u00e3o do Scrum Master","text":"

Durante esta sprint, observamos uma evolu\u00e7\u00e3o significativa na intera\u00e7\u00e3o entre os membros da equipe, assim como na familiariza\u00e7\u00e3o deles com o projeto. Al\u00e9m disso, tivemos a oportunidade de conhecer mais sobre a cliente e compreender melhor tanto o projeto quanto o produto esperado.

"},{"location":"sprints/sprint00/resultados/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 05/03/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint01/planejamento/","title":"Planejamento","text":""},{"location":"sprints/sprint01/planejamento/#1-o-planejado","title":"1. O planejado","text":"

A Sprint 01 visa estabelecer as bases necess\u00e1rias para o sucesso do projeto, desde a defini\u00e7\u00e3o dos requisitos iniciais atrav\u00e9s do PBB at\u00e9 a cria\u00e7\u00e3o de pol\u00edticas internas e aprimoramento da documenta\u00e7\u00e3o. Ao alcan\u00e7ar esses objetivos, estaremos preparados para avan\u00e7ar para as pr\u00f3ximas etapas do desenvolvimento com clareza e efici\u00eancia.

"},{"location":"sprints/sprint01/planejamento/#_1","title":"Planejamento","text":""},{"location":"sprints/sprint01/planejamento/#2-duracao-da-sprint","title":"2. Dura\u00e7\u00e3o da Sprint","text":"

In\u00edcio: 04/03/2024

Fim: 11/03/2024

Dura\u00e7\u00e3o: 7 dias

"},{"location":"sprints/sprint01/planejamento/#3-issues","title":"3. Issues","text":"Issue T\u00edtulo Respons\u00e1veis #7 Sprint 1 - Posi\u00e7\u00e3o do Produto Jefferson Sena e Lu\u00eds Filipe #12 Sprint 1 - Cria\u00e7\u00e3o das pol\u00edticas internas Joselito Prado #14 Sprint 1 - Criar vis\u00e3o de projeto Tiago Albuquerque #18 Sprint 1 - Documenta\u00e7\u00e3o da Sprint 00 e Reorganiza\u00e7\u00e3o da Estrutura de Navega\u00e7\u00e3o do MKDOCS Jos\u00e9 Andr\u00e9 #19 Sprint 1 - Corre\u00e7\u00e3o de T\u00f3picos e Padroniza\u00e7\u00e3o no MKDOCS. Adi\u00e7\u00e3o das Atas 00 e 01. Jos\u00e9 Andr\u00e9 #20 Sprint 1 - Formul\u00e1rio de perfil de usu\u00e1rio Todos"},{"location":"sprints/sprint01/planejamento/#4-historico-de-versoes","title":"4. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 11/03/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint01/resultados/","title":"Resultados","text":""},{"location":"sprints/sprint01/resultados/#1-o-que-foi-feito","title":"1. O que foi feito","text":"

Nessa sprint, realizamos a primeira vers\u00e3o do levantamento de requisitos, utilizando a metodologia Product Backlog Building(PBB). Apresentamos para os stakeholders e a partir da pr\u00f3xima sprint refinaremos colaborativamente. Pudemos tamb\u00e9m definir a vis\u00e3o de produto e de projeto iniciais. Al\u00e9m disso, definimos pol\u00edticas internas do grupo para nos guiar durante o projeto.

"},{"location":"sprints/sprint01/resultados/#_1","title":"Resultados","text":""},{"location":"sprints/sprint01/resultados/#2-issues","title":"2. Issues","text":"Issue T\u00edtulo Status #7 Sprint 1 - Posi\u00e7\u00e3o do Produto Conclu\u00eddo #12 Sprint 1 - Cria\u00e7\u00e3o das pol\u00edticas internas Conclu\u00eddo #14 Sprint 1 - Criar vis\u00e3o de projeto Conclu\u00eddo #18 Sprint 1 - Documenta\u00e7\u00e3o da Sprint 00 e Reorganiza\u00e7\u00e3o da Estrutura de Navega\u00e7\u00e3o do MKDOCS Conclu\u00eddo #19 Sprint 1 - Corre\u00e7\u00e3o de T\u00f3picos e Padroniza\u00e7\u00e3o no MKDOCS. Adi\u00e7\u00e3o das Atas 00 e 01. Conclu\u00eddo #20 Sprint 1 - Formul\u00e1rio de perfil de usu\u00e1rio Conclu\u00eddo"},{"location":"sprints/sprint01/resultados/#3-reunioes","title":"3. Reuni\u00f5es","text":"

Nessa Sprint 01 tivemos quatro reuni\u00f5es.

Data Tema Ata 04/03/2024 Sprint Planning 07/03/2024 Reuni\u00e3o com a Equipe da SECOM Clique Aqui 11/03/2024 Sprint Review 11/03/2024 Sprint Retrospective"},{"location":"sprints/sprint01/resultados/#4-avaliacao-do-scrum-master","title":"4. Avalia\u00e7\u00e3o do Scrum Master","text":"

Durante esta sprint, pudemos evoluir como equipe definindo padr\u00f5es internos. As reuni\u00f5es foram realizadas como planejado e a equipe tem sido colaborativa.

"},{"location":"sprints/sprint01/resultados/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 11/03/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint02/planejamento/","title":"Planejamento","text":""},{"location":"sprints/sprint02/planejamento/#1-o-planejado","title":"1. O planejado","text":"

A Sprint 02 tem por objetivo a configura\u00e7\u00e3o de um ambiente de desenvolvimento colaborativo no Wordpress, a fim de todos os membros da equipe come\u00e7arem a se ambientar com a plataforma em termos de skins e plugins. Tendo por objetivo implementar o tema GOVbr produzido pela Instituto Brasileiro de Informa\u00e7\u00e3o em Ci\u00eancia e Tecnologia (IBICT).

Al\u00e9m disso, se faz necess\u00e1rio a divulga\u00e7\u00e3o do formul\u00e1rio de pesquisa para que possamos analisar os dados a fim de continuar o refinamento dos requisitos.

A sprint ter\u00e1 uma dura\u00e7\u00e3o de duas semanas em decorr\u00eancia da indisponibilidade do cliente durante a primeira semana para reuni\u00f5es.

"},{"location":"sprints/sprint02/planejamento/#2-duracao-da-sprint","title":"2. Dura\u00e7\u00e3o da Sprint","text":"

In\u00edcio: 11/03/2024

Fim: 25/03/2024

Dura\u00e7\u00e3o: 14 dias

"},{"location":"sprints/sprint02/planejamento/#3-issues","title":"3. Issues","text":"Issue T\u00edtulo Respons\u00e1veis #21 Sprint 2 - Coleta de Dados e Insights do Formul\u00e1rio de Perfil de Usu\u00e1rio [Todos] #22 Sprint 2 - Cria\u00e7\u00e3o de Heat Map para defini\u00e7\u00e3o de hor\u00e1rios em comum Jefferson Sena #24 Sprint 2 - Configura\u00e7\u00e3o do ambiente de desenvolvimento no WordPress [Todos] #25 Sprint 2 - Estudo de Potenciais Plugins - FG Joomla [Todos] #28 Sprint 2 - Estudar e Implementar o tema GOVbr [Todos] #29 Sprint 2 - Resolu\u00e7\u00e3o do problema de acessibilidade em rela\u00e7\u00e3o ao plugin VLibras Lu\u00eds Filipe #30 Sprint 2 - Estudar sobre Identidade Visual da UnB e identificar fontes e paletas de cores utilizadas na Revista Darcy Lu\u00eds Filipe"},{"location":"sprints/sprint02/planejamento/#4-historico-de-versoes","title":"4. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 11/03/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint02/resultados/","title":"Resultados","text":""},{"location":"sprints/sprint02/resultados/#1-o-que-foi-feito","title":"1. O que foi feito","text":"

Nessa sprint, come\u00e7amos a implementa\u00e7\u00e3o da plataforma com um dom\u00ednio teste. Realizamos a configura\u00e7\u00e3o do Wordpress para que pudessemos trabalhar em equipe colaborativamente e com possibilidade de auditoria. Ap\u00f3s, come\u00e7amos os estudos de temas e plugins, o que nos levou at\u00e9 o tema GOVbr, desenvolvido em 2023 pela IBICT justamente para facilitar o desenvolvimento de sites governamentais em Wordpress. Fizemos a implementa\u00e7\u00e3o desse tema no nosso projeto. Al\u00e9m disso, estudamos e implementamos um plugin para facilitar a leitura da Revista na WEB, o que \u00e9 requisito do usu\u00e1rio. Durante toda a sprint, fizemos um levantamento de identidade visual (tipografia e cores) da atual plataforma da revista. Infelizmente, devido \u00e0 greve dos t\u00e9cnicos da universidade, n\u00e3o tivemos nenhuma reuni\u00e3o com a equipe da SECOM. Por causa disso, n\u00e3o pudemos evoluir e refinar os requisitos. Al\u00e9m de n\u00e3o apresentar o incremento.

"},{"location":"sprints/sprint02/resultados/#_1","title":"Resultados","text":""},{"location":"sprints/sprint02/resultados/#2-issues","title":"2. Issues","text":"Issue T\u00edtulo Status #21 Sprint 2 - Coleta de Dados e Insights do Formul\u00e1rio de Perfil de Usu\u00e1rio Em pausa #22 Sprint 2 - Cria\u00e7\u00e3o de Heat Map para defini\u00e7\u00e3o de hor\u00e1rios em comum Conclu\u00eddo #24 Sprint 2 - Configura\u00e7\u00e3o do ambiente de desenvolvimento no WordPress Conclu\u00eddo #25 Sprint 2 - Estudo de Potenciais Plugins - FG Joomla Conclu\u00eddo #28 Sprint 2 - Estudar e Implementar o tema GOVbr Conclu\u00eddo #29 Sprint 2 - Resolu\u00e7\u00e3o do problema de acessibilidade em rela\u00e7\u00e3o ao plugin VLibras Conclu\u00eddo #30 Sprint 2 - Estudar sobre Identidade Visual da UnB e identificar fontes e paletas de cores utilizadas na Revista Darcy Conclu\u00eddo"},{"location":"sprints/sprint02/resultados/#3-reunioes","title":"3. Reuni\u00f5es","text":"

Nessa Sprint 02 tivemos tr\u00eas reuni\u00f5es. Todas internas.

Data Tema Ata 11/03/2024 Sprint Planning 25/03/2024 Sprint Review 25/03/2024 Sprint Retrospective"},{"location":"sprints/sprint02/resultados/#4-avaliacao-do-scrum-master","title":"4. Avalia\u00e7\u00e3o do Scrum Master","text":"

Durante esta sprint, o time realizou o que foi planejado internamente mesmo com o contratempo com o cliente. As reuni\u00f5es foram realizadas como idealizado anteriormente e a equipe tem sido colaborativa.

"},{"location":"sprints/sprint02/resultados/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 25/03/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint03/planejamento/","title":"Planejamento","text":""},{"location":"sprints/sprint03/planejamento/#1-o-planejado","title":"1. O planejado","text":"

Na Sprint 3, focaremos em diversas atividades essenciais para a Revista Darcy. Isso inclui a defini\u00e7\u00e3o do roadmap e refinamento dos requisitos. Al\u00e9m disso, vamos desenvolver um menu personalizado da UnB e implementar algumas p\u00e1ginas que j\u00e1 existem no site atual. Por exemplo: criaremos p\u00e1ginas para not\u00edcias, todas as edi\u00e7\u00f5es da revista e contato. E por fim, integraremos o plugin Real3D Flipbook PDF Viewer Lite para leitura online. Cada membro da equipe tem suas responsabilidades espec\u00edficas para garantir o progresso eficiente do projeto.

"},{"location":"sprints/sprint03/planejamento/#2-duracao-da-sprint","title":"2. Dura\u00e7\u00e3o da Sprint","text":"

In\u00edcio: 25/03/2024

Fim: 08/04/2024

Dura\u00e7\u00e3o: 14 dias

"},{"location":"sprints/sprint03/planejamento/#3-issues","title":"3. Issues","text":"Issue T\u00edtulo Respons\u00e1veis #33 Sprint 3 - Cria\u00e7\u00e3o do Roadmap [Todos] #34 Sprint 3 - Refinamento dos Requisitos e Defini\u00e7\u00e3o do Backlog [Todos] #36 Sprint 3 - Desenvolver e Implementar um menu personalizado da Universidade de Bras\u00edlia (UnB) no site Jos\u00e9 Andr\u00e9 #37 Sprint 3 - Implementa\u00e7\u00e3o do Sistema de Assinatura para Recebimento das Pr\u00f3ximas Edi\u00e7\u00f5es da Revista Gabriel Morais #38 Sprint 3 - Cria\u00e7\u00e3o da p\u00e1gina de not\u00edcias Tiago Albuquerque #39 Sprint 3 - Desenvolvimento de P\u00e1gina para todas as edi\u00e7\u00f5es da Revista Jefferson Sena #40 Sprint 3 - Implementa\u00e7\u00e3o do Plugin: Plugin Real3D Flipbook PDF Viewer Lite, para leitura online [Todos] #41 Sprint 3 - Desenvolvimento de prot\u00f3tipo da p\u00e1gina inicial [Todos] #42 Sprint 3 - Desenvolvimento da P\u00e1gina de Contato Joselito Prado #43 Sprint 3 - Desenvolvimento da P\u00e1gina \"V\u00eddeos\" Lu\u00eds Filipe"},{"location":"sprints/sprint03/planejamento/#4-historico-de-versoes","title":"4. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 25/03/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint03/resultados/","title":"Resultados","text":""},{"location":"sprints/sprint03/resultados/#1-o-que-foi-feito","title":"1. O que foi feito","text":"

Nessa sprint 03, avan\u00e7amos significativamente no nosso prot\u00f3tipo. Desenvolvemos p\u00e1ginas utilizando o padr\u00e3o governamental mais atual e tivemos a valida\u00e7\u00e3o da cliente em duas reuni\u00f5es.

As se\u00e7\u00f5es desenvolvidas foram feitas em efeito de teste e replica\u00e7\u00e3o da atual plataforma da Revista de uma forma mais moderna e intuitiva.

Al\u00e9m disso, realizamos teste de carga no plugin de leitura da revista que estamos estudando e utilizando na nossa aplica\u00e7\u00e3o.

A sprint foi proveitosa visto que pudemos voltar a ter contato com a cliente, o que possibilitou nosso processo de refinamento e valida\u00e7\u00e3o de requisitos. A partir disso utilizamos t\u00e9cnicas de prioriza\u00e7\u00e3o para nos nortear no desenvolvimento.

"},{"location":"sprints/sprint03/resultados/#_1","title":"Resultados","text":""},{"location":"sprints/sprint03/resultados/#2-issues","title":"2. Issues","text":"Issue T\u00edtulo Status #33 Sprint 3 - Cria\u00e7\u00e3o do Roadmap Conclu\u00eddo #34 Sprint 3 - Refinamento dos Requisitos e Defini\u00e7\u00e3o do Backlog Conclu\u00eddo #36 Sprint 3 - Desenvolver e Implementar um menu personalizado da Universidade de Bras\u00edlia (UnB) no site Em desenvolvimento #37 Sprint 3 - Implementa\u00e7\u00e3o do Sistema de Assinatura para Recebimento das Pr\u00f3ximas Edi\u00e7\u00f5es da Revista Conclu\u00eddo #38 Sprint 3 - Cria\u00e7\u00e3o da p\u00e1gina de not\u00edcias Em desenvolvimento #39 Sprint 3 - Desenvolvimento de P\u00e1gina para todas as edi\u00e7\u00f5es da Revista Em desenvolvimento #40 Sprint 3 - Implementa\u00e7\u00e3o do Plugin: Plugin Real3D Flipbook PDF Viewer Lite, para leitura online Conclu\u00eddo #41 Sprint 3 - Desenvolvimento de prot\u00f3tipo da p\u00e1gina inicial Conclu\u00eddo #42 Sprint 3 - Desenvolvimento da P\u00e1gina de Contato Conclu\u00eddo #43 Sprint 3 - Desenvolvimento da P\u00e1gina \"V\u00eddeos\" Conclu\u00eddo"},{"location":"sprints/sprint03/resultados/#3-reunioes","title":"3. Reuni\u00f5es","text":"

Nessa Sprint 03 tivemos cinco reuni\u00f5es. Tr\u00eas internas e duas externas.

Data Tema Ata 25/03/2024 Sprint Planning 02/04/2024 Reuni\u00e3o com a Equipe da SECOM Clique Aqui 04/04/2024 Reuni\u00e3o com a Equipe da SECOM Clique Aqui 08/04/2024 Sprint Review 08/04/2024 Sprint Retrospective"},{"location":"sprints/sprint03/resultados/#4-avaliacao-do-scrum-master","title":"4. Avalia\u00e7\u00e3o do Scrum Master","text":"

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

"},{"location":"sprints/sprint03/resultados/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 08/04/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint04/planejamento/","title":"Planejamento","text":""},{"location":"sprints/sprint04/planejamento/#1-o-planejado","title":"1. O planejado","text":"

Na Sprint 4, focaremos em construir insights a partir das respostas do formul\u00e1rio. Tamb\u00e9m iremos iniciar o desenvolvimento da evolu\u00e7\u00e3o do tema gov-br via inje\u00e7\u00e3o de c\u00f3digo. Al\u00e9m disso, pretendemos evoluir nosso MVP j\u00e1 consolidado atrav\u00e9s de refer\u00eancias externas. Haver\u00e1 um briefing com os designers da SECOM para evoluirmos a identidade visual do site.

"},{"location":"sprints/sprint04/planejamento/#2-duracao-da-sprint","title":"2. Dura\u00e7\u00e3o da Sprint","text":"

In\u00edcio: 08/04/2024

Fim: 22/04/2024

Dura\u00e7\u00e3o: 14 dias

"},{"location":"sprints/sprint04/planejamento/#3-issues","title":"3. Issues","text":"Issue T\u00edtulo Respons\u00e1veis #53 Sprint 4 - Documenta\u00e7\u00e3o sobre a Release 1 Jefferson Sena #54 Sprint 4 - Cria\u00e7\u00e3o de prot\u00f3tipo para integra\u00e7\u00e3o com UnB Ci\u00eancia Lu\u00eds Filipe #57 Sprint 4 - Configura\u00e7\u00e3o de Ambiente do Projeto Open Source: GOVBR-Tema Jos\u00e9 Andr\u00e9 Lu\u00eds Filipe Tiago Albuquerque #58 Sprint 4 - Levantamento de refer\u00eancias para o site e formas de integra\u00e7\u00e3o com a UnB Ci\u00eancia Gabriel Morais Joselito Prado #59 Sprint 4 - Defini\u00e7\u00e3o das Personas e Perfil de Usu\u00e1rio Jefferson Sena"},{"location":"sprints/sprint04/planejamento/#4-historico-de-versoes","title":"4. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 09/04/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint04/resultados/","title":"Resultados","text":""},{"location":"sprints/sprint04/resultados/#1-o-que-foi-feito","title":"1. O que foi feito","text":"

Durante a sprint 04, pudemos minerar os dados obtidos a partir do formul\u00e1rio e definimos personas e perfil do usu\u00e1rio com base nas estat\u00edsticas. Tamb\u00e9m produzimos dois prot\u00f3tipos de alta fidelidade para a landing page com base nas refer\u00eancias enviadas pela Vanessa, prot\u00f3tipos que, ao fim da sprint, foram validados por ela. Pudemos tamb\u00e9m integrar nosso prot\u00f3tipo do WordPress com o UnB Ci\u00eancia, requisito declarado pela SECOM.

"},{"location":"sprints/sprint04/resultados/#_1","title":"Resultados","text":""},{"location":"sprints/sprint04/resultados/#2-issues","title":"2. Issues","text":"Issue T\u00edtulo Status #53 Sprint 4 - Documenta\u00e7\u00e3o sobre a Release 1 Conclu\u00eddo #54 Sprint 4 - Cria\u00e7\u00e3o de prot\u00f3tipo para integra\u00e7\u00e3o com UnB Ci\u00eancia Conclu\u00eddo #57 Sprint 4 - Configura\u00e7\u00e3o de Ambiente do Projeto Open Source: GOVBR-Tema Conclu\u00eddo #58 Sprint 4 - Levantamento de refer\u00eancias para o site e formas de integra\u00e7\u00e3o com a UnB Ci\u00eancia Conclu\u00eddo #59 Sprint 4 - Defini\u00e7\u00e3o das Personas e Perfil de Usu\u00e1rio Conclu\u00eddo"},{"location":"sprints/sprint04/resultados/#3-reunioes","title":"3. Reuni\u00f5es","text":"

Nessa Sprint 04 tivemos quatro reuni\u00f5es. Tr\u00eas internas e uma externa.

Data Tema Ata 08/04/2024 Sprint Planning 18/04/2024 Reuni\u00e3o com a Equipe da SECOM Clique Aqui 22/04/2024 Sprint Review 22/04/2024 Sprint Retrospective"},{"location":"sprints/sprint04/resultados/#4-avaliacao-do-scrum-master","title":"4. Avalia\u00e7\u00e3o do Scrum Master","text":"

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

"},{"location":"sprints/sprint04/resultados/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 22/04/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint05/planejamento/","title":"Planejamento","text":""},{"location":"sprints/sprint05/planejamento/#1-o-planejado","title":"1. O planejado","text":"

O planejado para a Sprint 5 inclui a cria\u00e7\u00e3o do prot\u00f3tipo da Landing Page no Figma, alinhado com o briefing inicial fornecido. Al\u00e9m disso, vamos avan\u00e7ar com o desenvolvimento da Landing Page no WordPress. Tamb\u00e9m faremos a elabora\u00e7\u00e3o do prot\u00f3tipo das subp\u00e1ginas no Figma, com base na landing page aprovada. Estudos sobre a migra\u00e7\u00e3o de dados do Joomla para WordPress e a an\u00e1lise dos requisitos da STI para a implementa\u00e7\u00e3o de dom\u00ednios est\u00e3o igualmente na agenda. Essas iniciativas visam fortalecer e expandir a presen\u00e7a online da Revista Darcy, alinhando-se \u00e0s necessidades e diretrizes do projeto.

"},{"location":"sprints/sprint05/planejamento/#2-duracao-da-sprint","title":"2. Dura\u00e7\u00e3o da Sprint","text":"

In\u00edcio: 22/04/2024

Fim: 06/05/2024

Dura\u00e7\u00e3o: 14 dias

"},{"location":"sprints/sprint05/planejamento/#3-issues","title":"3. Issues","text":"Issue T\u00edtulo Respons\u00e1veis #64 Sprint 5 - Cria\u00e7\u00e3o do prot\u00f3tipo da Landing Page no figma com base no briefing inicial [Todos] #65 Sprint 5 - Desenvolvimento da Landing Page no WordPress Jefferson Sena, Lu\u00eds Filipe e Gabriel Morais #66 Sprint 5 - Cria\u00e7\u00e3o do prot\u00f3tipo das subp\u00e1ginas no FIGMA com base na landing page aprovada Jos\u00e9 Andr\u00e9, Joselito Prado Tiago Albuquerque #67 Sprint 5 - Estudos sobre a migra\u00e7\u00e3o de dados do Joomla para WordPress Jefferson Sena, Lu\u00eds Filipe e Gabriel Morais #68 Sprint 5 - Estudar os requisitos da STI para implementa\u00e7\u00e3o de dom\u00ednios Jos\u00e9 Andr\u00e9, Joselito Prado Tiago Albuquerque"},{"location":"sprints/sprint05/planejamento/#4-historico-de-versoes","title":"4. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 22/04/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint05/resultados/","title":"Resultados","text":""},{"location":"sprints/sprint05/resultados/#1-o-que-foi-feito","title":"1. O que foi feito","text":"

Durante a sprint 05, realizamos uma boa din\u00e2mica de prototipa\u00e7\u00e3o - desenvolvimento, os fazendo paralelamente e de forma iterativa. No entanto, devido \u00e0 greve dos t\u00e9cnicos, tivemos dificuldades em evoluir a migra\u00e7\u00e3o dos dados. Embora tenhamos obtido um usu\u00e1rio do Joomla da Revista, este usu\u00e1rio n\u00e3o tem as permiss\u00f5es necess\u00e1rias para acesso ao banco de dados. Continuamos os tr\u00e2mites para obter esse acesso por\u00e9m est\u00e1 sendo lento. O ponto positivo foi a evolu\u00e7\u00e3o do prot\u00f3tipo da home de alta fidelidade que realizamos pela equipe de design da SECOM. Ap\u00f3s a valida\u00e7\u00e3o ela j\u00e1 come\u00e7ou a ser implementada novamente.

"},{"location":"sprints/sprint05/resultados/#_1","title":"Resultados","text":""},{"location":"sprints/sprint05/resultados/#2-issues","title":"2. Issues","text":"Issue T\u00edtulo Status #64 Sprint 5 - Cria\u00e7\u00e3o do prot\u00f3tipo da Landing Page no figma com base no briefing inicial Conclu\u00eddo #65 Sprint 5 - Desenvolvimento da Landing Page no WordPress Conclu\u00eddo #66 Sprint 5 - Cria\u00e7\u00e3o do prot\u00f3tipo das subp\u00e1ginas no FIGMA com base na landing page aprovada Conclu\u00eddo #67 Sprint 5 - Estudos sobre a migra\u00e7\u00e3o de dados do Joomla para WordPress Conclu\u00eddo #68 Sprint 5 - Estudar os requisitos da STI para implementa\u00e7\u00e3o de dom\u00ednios Conclu\u00eddo"},{"location":"sprints/sprint05/resultados/#3-reunioes","title":"3. Reuni\u00f5es","text":"

Nessa Sprint 05 tivemos quatro reuni\u00f5es. Tr\u00eas internas e uma externa.

Data Tema Ata 22/04/2024 Sprint Planning 25/04/2024 Reuni\u00e3o com a Equipe da SECOM Clique Aqui 06/05/2024 Sprint Review 06/05/2024 Sprint Retrospective"},{"location":"sprints/sprint05/resultados/#4-avaliacao-do-scrum-master","title":"4. Avalia\u00e7\u00e3o do Scrum Master","text":"

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

"},{"location":"sprints/sprint05/resultados/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 07/05/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint06/planejamento/","title":"Planejamento","text":""},{"location":"sprints/sprint06/planejamento/#1-o-planejado","title":"1. O planejado","text":"

O planejado para a Sprint 6 consiste na continua\u00e7\u00e3o da implementa\u00e7\u00e3o no wordpress das p\u00e1ginas do prot\u00f3tipo que foram validadas pela SECOM. Al\u00e9m disso, iniciaremos a evolu\u00e7\u00e3o do c\u00f3digo do tema GOVbr, para que o projeto atenda futuras demandas da Universidade. Al\u00e9m disso, continuaremos no tr\u00e2mite da migra\u00e7\u00e3o de dados do banco de dados do JOOMLA junto \u00e0 STI. Por fim, come\u00e7aremos a estudar alternativas de plugins que possam realizar uma esp\u00e9cie de versionamento de c\u00f3digo gerado pelo wordpress automaticamente no GitHub, o que foi levantado como uma necessidade na release 2, pelos coordenadores.

"},{"location":"sprints/sprint06/planejamento/#2-duracao-da-sprint","title":"2. Dura\u00e7\u00e3o da Sprint","text":"

In\u00edcio: 06/05/2024

Fim: 20/05/2024

Dura\u00e7\u00e3o: 14 dias

"},{"location":"sprints/sprint06/planejamento/#3-issues","title":"3. Issues","text":"Issue T\u00edtulo Respons\u00e1veis #77 Sprint 6 - Evolu\u00e7\u00e3o do Tema GOVbr em PHP para atender ao prot\u00f3tipo Jos\u00e9 Andr\u00e9, Jefferson Sena #78 Sprint 6 - Migra\u00e7\u00e3o dos Dados do CMS Joomla para WordPress Jefferson Sena #79 Sprint 6 - Implementa\u00e7\u00e3o da Home Page Joselito Prado, Tiago Albuquerque, Gabriel Morais #80 Sprint 6 - Estudar estrat\u00e9gias de versionamento com WordPress Jos\u00e9 Andr\u00e9, Lu\u00eds Filipe e Tiago Albuquerque"},{"location":"sprints/sprint06/planejamento/#4-historico-de-versoes","title":"4. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 07/05/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint06/resultados/","title":"Resultados","text":""},{"location":"sprints/sprint06/resultados/#1-o-que-foi-feito","title":"1. O que foi feito","text":"

Na sprint 06, tivemos que mudar a prioridade em meio \u00e0 realiza\u00e7\u00e3o das tarefas planejadas uma vez que a STI disponibilizou uma alternativa mais vi\u00e1vel para o andamento do projeto. Foi disponibilizado um ambiente de homologa\u00e7\u00e3o nos servidores da UnB que ter\u00e1 prazo de 60 dias para desenvolvermos, podendo ser estendido por mais 30 dias caso haja a necessidade. O que atende nossa deadline do projeto. Tivemos tamb\u00e9m a disponibiliza\u00e7\u00e3o do backup do Joomla.

"},{"location":"sprints/sprint06/resultados/#_1","title":"Resultados","text":""},{"location":"sprints/sprint06/resultados/#2-issues","title":"2. Issues","text":"Issue T\u00edtulo Status #77 Sprint 6 - Evolu\u00e7\u00e3o do Tema GOVbr em PHP para atender ao prot\u00f3tipo Em pausa #78 Sprint 6 - Migra\u00e7\u00e3o dos Dados do CMS Joomla para WordPress Em Andamento #79 Sprint 6 - Implementa\u00e7\u00e3o da Home Page Conclu\u00eddo #80 Sprint 6 - Estudar estrat\u00e9gias de versionamento com WordPress Conclu\u00eddo #83 Sprint 6 - Solicita\u00e7\u00e3o de Ambiente de Homologa\u00e7\u00e3o no dom\u00ednio da UnB.br Conclu\u00eddo"},{"location":"sprints/sprint06/resultados/#3-reunioes","title":"3. Reuni\u00f5es","text":"

Nessa Sprint 06 tivemos cinco reuni\u00f5es. Tr\u00eas internas e duas externas.

Data Tema Ata 06/05/2024 Sprint Planning 09/05/2024 Reuni\u00e3o com a Equipe da SECOM Clique Aqui 16/05/2024 Reuni\u00e3o com a Equipe da SECOM Clique Aqui 20/05/2024 Sprint Review 20/05/2024 Sprint Retrospective"},{"location":"sprints/sprint06/resultados/#4-avaliacao-do-scrum-master","title":"4. Avalia\u00e7\u00e3o do Scrum Master","text":"

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

"},{"location":"sprints/sprint06/resultados/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 20/05/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint07/planejamento/","title":"Planejamento","text":""},{"location":"sprints/sprint07/planejamento/#1-o-planejado","title":"1. O planejado","text":"

O planejado para a Sprint 7 foca no desenvolvimento da homepage j\u00e1 no ambiente de homologa\u00e7\u00e3o disponibilizado pela STI. Al\u00e9m disso, iniciaremos a migra\u00e7\u00e3o dos dados atrav\u00e9s do backup recebido. Ao final, esperamos ter a homepage implementada por completa no ambiente de homologa\u00e7\u00e3o e validada pela SECOM. Al\u00e9m de ter boa parte dos dados antigos na nova plataforma.

"},{"location":"sprints/sprint07/planejamento/#2-duracao-da-sprint","title":"2. Dura\u00e7\u00e3o da Sprint","text":"

In\u00edcio: 20/05/2024

Fim: 03/06/2024

Dura\u00e7\u00e3o: 14 dias

"},{"location":"sprints/sprint07/planejamento/#3-issues","title":"3. Issues","text":"Issue T\u00edtulo Respons\u00e1veis #84 Sprint 7 - Implementa\u00e7\u00e3o do Slide 1 na Home - Vida Intergal\u00e1ctica Lu\u00eds Filipe #85 Sprint 7 - Implementa\u00e7\u00e3o dos destaques laterais abaixo de vida intergal\u00e1ctica Lu\u00eds Filipe #86 Sprint 7 - Feat: Evolu\u00e7\u00e3o de container/slide Vida Gal\u00e1ctica, destaques laterais, Cont\u00e2iner Vida Gal\u00e1ctica Lu\u00eds Filipe #87 Sprint 7 - Atualiza\u00e7\u00e3o do RoadMap Jefferson Sena #90 Sprint 7 - Feat Criando Home: Imagens Instagram UnB, Banner UnB Ci\u00eancia Lu\u00eds Filipe #91 Sprint 7 - Feat Criando Home: Banner inicial Darcy/Container Assinar(Revista) Lu\u00eds Filipe"},{"location":"sprints/sprint07/planejamento/#4-historico-de-versoes","title":"4. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 20/05/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint07/resultados/","title":"Resultados","text":""},{"location":"sprints/sprint07/resultados/#1-o-que-foi-feito","title":"1. O que foi feito","text":"

Na sprint 07, realizamos o desenvolvimento da homepage atualizada pela equipe de design da SECOM, j\u00e1 em ambiente de homologa\u00e7\u00e3o. Tamb\u00e9m tivemos trocas de informa\u00e7\u00e3o com a STI com o objetivo de discutir a melhor estrat\u00e9gia de migra\u00e7\u00e3o de dados. Al\u00e9m disso, foi iniciado a evolu\u00e7\u00e3o do prot\u00f3tipo das sub-p\u00e1ginas, especificamente a de artigos que ser\u00e1 replicada.

"},{"location":"sprints/sprint07/resultados/#_1","title":"Resultados","text":""},{"location":"sprints/sprint07/resultados/#2-issues","title":"2. Issues","text":"Issue T\u00edtulo Status #84 Sprint 7 - Implementa\u00e7\u00e3o do Slide 1 na Home - Vida Intergal\u00e1ctica Conclu\u00eddo #85 Sprint 7 - Implementa\u00e7\u00e3o dos destaques laterais abaixo de vida intergal\u00e1ctica Conclu\u00eddo #86 Sprint 7 - Feat: Evolu\u00e7\u00e3o de container/slide Vida Gal\u00e1ctica, destaques laterais, Cont\u00e2iner Vida Gal\u00e1ctica Conclu\u00eddo #87 Sprint 7 - Atualiza\u00e7\u00e3o do RoadMap Conclu\u00eddo #90 Sprint 7 - Feat Criando Home: Imagens Instagram UnB, Banner UnB Ci\u00eancia Conclu\u00eddo #91 Sprint 7 - Feat Criando Home: Banner inicial Darcy/Container Assinar(Revista) Conclu\u00eddo"},{"location":"sprints/sprint07/resultados/#3-reunioes","title":"3. Reuni\u00f5es","text":"

Nessa Sprint 07 tivemos quatro reuni\u00f5es. Tr\u00eas internas e uma externa.

Data Tema Ata 20/05/2024 Sprint Planning 09/05/2024 Reuni\u00e3o com a Equipe da SECOM Clique Aqui 03/06/2024 Sprint Review 03/06/2024 Sprint Retrospective"},{"location":"sprints/sprint07/resultados/#4-avaliacao-do-scrum-master","title":"4. Avalia\u00e7\u00e3o do Scrum Master","text":"

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

"},{"location":"sprints/sprint07/resultados/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 03/06/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint08/planejamento/","title":"Planejamento","text":""},{"location":"sprints/sprint08/planejamento/#1-o-planejado","title":"1. O planejado","text":"

O planejado para a Sprint 8 consiste na implementa\u00e7\u00e3o da sub-p\u00e1gina de artigos, e ap\u00f3s isso, a replica\u00e7\u00e3o da mesma para os artigos do backup, afim de realizar a migra\u00e7\u00e3o dos conte\u00fados de maior prioridade. Al\u00e9m disso, se faz necess\u00e1rio documentar todos os passos (plugins utilizados e jornada do editor) realizados para uma melhor manutenibilidade futura.

"},{"location":"sprints/sprint08/planejamento/#2-duracao-da-sprint","title":"2. Dura\u00e7\u00e3o da Sprint","text":"

In\u00edcio: 03/06/2024

Fim: 17/06/2024

Dura\u00e7\u00e3o: 14 dias

"},{"location":"sprints/sprint08/planejamento/#3-issues","title":"3. Issues","text":"Issue T\u00edtulo Respons\u00e1veis #92 Sprint 08 - Feat: Desenvolvimento da P\u00e1gina de Artigos Jefferson Sena #93 Sprint 08 - Documenta\u00e7\u00e3o de Instala\u00e7\u00f5es de Plugins no Site de Homologa\u00e7\u00e3o da UnB Joselito Prado #94 Sprint 08 - Feat: Desenvolvimento de Elementos da P\u00e1gina de Artigos Tiago Albuquerque #97 Sprint 08 - Feat: Desenvolvimento da P\u00e1gina de Dossi\u00ea da 30\u00ba Edi\u00e7\u00e3o Jos\u00e9 Andr\u00e9 #98 Sprint 08 - Documenta\u00e7\u00e3o da Evolu\u00e7\u00e3o do Prot\u00f3tipo e Implementa\u00e7\u00e3o do site de Homolaga\u00e7\u00e3o Gabriel Morais #100 Sprint 08 - Mudan\u00e7a de estrutura textual no Banner Inicial da Home Luis Filipe #101 Sprint 08 - Feat: Cria\u00e7\u00e3o de Artigos referentes \u00e0 Edi\u00e7\u00e3o 30 Joselito Prado #102 Sprint 08 - Feat: Implementa\u00e7\u00e3o da p\u00e1gina de artigo da edi\u00e7\u00e3o 30 Tiago Albuquerque"},{"location":"sprints/sprint08/planejamento/#4-historico-de-versoes","title":"4. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 03/06/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint08/resultados/","title":"Resultados","text":""},{"location":"sprints/sprint08/resultados/#1-o-que-foi-feito","title":"1. O que foi feito","text":"

Na sprint 08, realizamos uma din\u00e2mica eficiente de desenvolvimento e documenta\u00e7\u00e3o, de modo que facilite a manuten\u00e7\u00e3o da plataforma posteriormente pela STI, o que foi requisitado pela cliente. Implementamos p\u00e1ginas que foram prototipadas pela equipe de design al\u00e9m de aprimorar elementos que j\u00e1 haviam sido desenvolvidos em sprints passadas.

"},{"location":"sprints/sprint08/resultados/#_1","title":"Resultados","text":""},{"location":"sprints/sprint08/resultados/#2-issues","title":"2. Issues","text":"Issue T\u00edtulo Status #92 Sprint 08 - Feat: Desenvolvimento da P\u00e1gina de Artigos Conclu\u00eddo #93 Sprint 08 - Documenta\u00e7\u00e3o de Instala\u00e7\u00f5es de Plugins no Site de Homologa\u00e7\u00e3o da UnB Conclu\u00eddo #94 Sprint 08 - Feat: Desenvolvimento de Elementos da P\u00e1gina de Artigos Conclu\u00eddo #97 Sprint 08 - Feat: Desenvolvimento da P\u00e1gina de Dossi\u00ea da 30\u00ba Edi\u00e7\u00e3o Conclu\u00eddo #98 Sprint 08 - Documenta\u00e7\u00e3o da Evolu\u00e7\u00e3o do Prot\u00f3tipo e Implementa\u00e7\u00e3o do site de Homolaga\u00e7\u00e3o Conclu\u00eddo #100 Sprint 08 - Mudan\u00e7a de estrutura textual no Banner Inicial da Home Conclu\u00eddo #101 Sprint 08 - Feat: Cria\u00e7\u00e3o de Artigos referentes \u00e0 Edi\u00e7\u00e3o 30 Conclu\u00eddo #102 Sprint 08 - Feat: Implementa\u00e7\u00e3o da p\u00e1gina de artigo da edi\u00e7\u00e3o 30 Conclu\u00eddo"},{"location":"sprints/sprint08/resultados/#3-reunioes","title":"3. Reuni\u00f5es","text":"

Nessa Sprint 08 tivemos cinco reuni\u00f5es. Tr\u00eas internas e duas externas.

Data Tema Ata 03/06/2024 Sprint Planning 06/06/2024 Reuni\u00e3o com a Equipe da SECOM Clique Aqui 13/06/2024 Reuni\u00e3o com a Equipe da SECOM Clique Aqui 17/06/2024 Sprint Review 17/06/2024 Sprint Retrospective"},{"location":"sprints/sprint08/resultados/#4-avaliacao-do-scrum-master","title":"4. Avalia\u00e7\u00e3o do Scrum Master","text":"

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

"},{"location":"sprints/sprint08/resultados/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 17/06/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint09/planejamento/","title":"Planejamento","text":""},{"location":"sprints/sprint09/planejamento/#1-o-planejado","title":"1. O planejado","text":"

O planejado para a Sprint 9 consiste na continua\u00e7\u00e3o do desenvolvimento das p\u00e1ginas que forem prototipadas e validadas pela SECOM, al\u00e9m de prosseguir com a documenta\u00e7\u00e3o dessas etapas. Al\u00e9m disso, desenvolveremos um fluxograma de navegabilidade pela perpespectiva do usu\u00e1rio para que possamos visualizar de modo mais abrangente a jornada do usu\u00e1rio. Por fim, seguiremos evoluindo elementos comuns \u00e0s p\u00e1ginas para alcan\u00e7ar o prot\u00f3tipo de forma mais f\u00eddedigna.

"},{"location":"sprints/sprint09/planejamento/#2-duracao-da-sprint","title":"2. Dura\u00e7\u00e3o da Sprint","text":"

In\u00edcio: 17/06/2024

Fim: 01/07/2024

Dura\u00e7\u00e3o: 14 dias

"},{"location":"sprints/sprint09/planejamento/#3-issues","title":"3. Issues","text":"Issue T\u00edtulo Respons\u00e1veis #103 Sprint 09 - Criar um Fluxograma de Navegabilidade do Site pela Perspectiva do Usu\u00e1rio Jos\u00e9 Andr\u00e9 #105 Sprint 09 - Feat: Cria\u00e7\u00e3o da p\u00e1gina de leitura de edi\u00e7\u00e3o Tiago Albuquerque #106 Sprint 09 - Feat: Responsividade para celular e tablet da Home Luis Filipe #107 Sprint 09 - Feat: Cria\u00e7\u00e3o P\u00e1gina Todas Edi\u00e7\u00f5es e altera\u00e7\u00e3o para responsividade Luis Filipe #108 Sprint 09 - Implementa\u00e7\u00e3o de \u00cdcones no Menu Institucional Jos\u00e9 Andr\u00e9 #109 Sprint 09 - Ajuste de \u00edcones e funcionalidades em todas as p\u00e1ginas Jefferson Sena #110 Sprint 09 - Feat: Cria\u00e7\u00e3o de Artigos Referentes \u00e0 Edi\u00e7\u00e3o 30 Gabriel Morais #115 Sprint 09 - Implementa\u00e7\u00e3o e ajustes de posts da edi\u00e7\u00e3o 30 e suas responsividades Joselito Prado"},{"location":"sprints/sprint09/planejamento/#4-historico-de-versoes","title":"4. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 17/06/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint09/resultados/","title":"Resultados","text":""},{"location":"sprints/sprint09/resultados/#1-o-que-foi-feito","title":"1. O que foi feito","text":"

Na sprint 09, continuamos o desenvolvimento das p\u00e1ginas prototipadadas pela equipe de design da SECOM. Al\u00e9m disso, ajustamos d\u00e9bitos deixados na sprint anterior, como alguns elementos mal formatados e quest\u00f5es de iconografia governamental. Tamb\u00e9m produzimos um fluxograma de navegabilidade da atual plataforma para entendermos de forma visual de que forma nossas altera\u00e7\u00f5es est\u00e3o sendo refletidas de acordo com a perspectiva do usu\u00e1rio. Al\u00e9m disso, focamos em responsividade para dispositivos mobile.

"},{"location":"sprints/sprint09/resultados/#_1","title":"Resultados","text":""},{"location":"sprints/sprint09/resultados/#2-issues","title":"2. Issues","text":"Issue T\u00edtulo Status #103 Sprint 09 - Criar um Fluxograma de Navegabilidade do Site pela Perspectiva do Usu\u00e1rio Conclu\u00eddo #105 Sprint 09 - Feat: Cria\u00e7\u00e3o da p\u00e1gina de leitura de edi\u00e7\u00e3o Conclu\u00eddo #106 Sprint 09 - Feat: Responsividade para celular e tablet da Home Conclu\u00eddo #107 Sprint 09 - Feat: Cria\u00e7\u00e3o P\u00e1gina Todas Edi\u00e7\u00f5es e altera\u00e7\u00e3o para responsividade Conclu\u00eddo #108 Sprint 09 - Implementa\u00e7\u00e3o de \u00cdcones no Menu Institucional Conclu\u00eddo #109 Sprint 09 - Ajuste de \u00edcones e funcionalidades em todas as p\u00e1ginas Conclu\u00eddo #110 Sprint 09 - Feat: Cria\u00e7\u00e3o de Artigos Referentes \u00e0 Edi\u00e7\u00e3o 30 Conclu\u00eddo #115 Sprint 09 - Implementa\u00e7\u00e3o e ajustes de posts da edi\u00e7\u00e3o 30 e suas responsividades Conclu\u00eddo"},{"location":"sprints/sprint09/resultados/#3-reunioes","title":"3. Reuni\u00f5es","text":"

Nessa Sprint 09 tivemos quatro reuni\u00f5es. Tr\u00eas internas e uma externa.

Data Tema Ata 17/06/2024 Sprint Planning 27/06/2024 Reuni\u00e3o com a Equipe da SECOM Clique Aqui 01/07/2024 Sprint Review 01/07/2024 Sprint Retrospective"},{"location":"sprints/sprint09/resultados/#4-avaliacao-do-scrum-master","title":"4. Avalia\u00e7\u00e3o do Scrum Master","text":"

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

"},{"location":"sprints/sprint09/resultados/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 01/07/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint10/planejamento/","title":"Planejamento","text":""},{"location":"sprints/sprint10/planejamento/#1-o-planejado","title":"1. O planejado","text":"

O planejado para a Sprint 10 consiste em abordar diversas melhorias e novas funcionalidades para a Revista Darcy. Dentre elas, est\u00e3o a atualiza\u00e7\u00e3o da responsividade da Home/P\u00e1gina Raiz da edi\u00e7\u00e3o - Di\u00e1logos, a cria\u00e7\u00e3o de p\u00e1ginas da Raiz da edi\u00e7\u00e3o, a implementa\u00e7\u00e3o de um carrossel para o UnB Ci\u00eancia, e a cria\u00e7\u00e3o de posts e leitura para a Edi\u00e7\u00e3o 21. Al\u00e9m disso, ser\u00e3o feitas atualiza\u00e7\u00f5es na documenta\u00e7\u00e3o da evolu\u00e7\u00e3o do prot\u00f3tipo e do site de homologa\u00e7\u00e3o, corre\u00e7\u00e3o de erros no Widget SoundCloud no Elementor, e a pesquisa e documenta\u00e7\u00e3o de plugins para a inser\u00e7\u00e3o da fonte UnB Pro. Por fim, ser\u00e1 elaborada a documenta\u00e7\u00e3o do conte\u00fado te\u00f3rico do Workshop Pr\u00e1tico e a atualiza\u00e7\u00e3o da documenta\u00e7\u00e3o do projeto.

"},{"location":"sprints/sprint10/planejamento/#2-duracao-da-sprint","title":"2. Dura\u00e7\u00e3o da Sprint","text":"

In\u00edcio: 01/07/2024

Fim: 15/07/2024

Dura\u00e7\u00e3o: 14 dias

"},{"location":"sprints/sprint10/planejamento/#3-issues","title":"3. Issues","text":"Issue T\u00edtulo Respons\u00e1veis #113 Sprint 10 - Feat: Atualiza\u00e7\u00e3o de responsividade na Home/P\u00e1gina Raiz da edi\u00e7\u00e3o - Di\u00e1logos Luis Filipe #114 Sprint 10 - Feat: P\u00e1gina(s) da Ra\u00edz da edi\u00e7\u00e3o Tiago Albuquerque #117 Sprint 10 - Cria\u00e7\u00e3o de Carrocel do UnB Ci\u00eancia Jefferson Sena #120 Sprint 10 - Feat: Cria\u00e7\u00e3o de posts para a Edi\u00e7\u00e3o 21, Cria\u00e7\u00e3o de leitura da edi\u00e7\u00e3o 21 Luis Filipe #121 Sprint 10 - Atualiza\u00e7\u00e3o da Documenta\u00e7\u00e3o da Evolu\u00e7\u00e3o do Prot\u00f3tipo e Implementa\u00e7\u00e3o do site de Homolaga\u00e7\u00e3o Gabriel Morais #122 Sprint 10 - Erro no Widget SoundClound no Elementor Gabriel Morais e Jefferson Sena #123 Sprint 10 - Pesquisa e documenta\u00e7\u00e3o de plugins para inser\u00e7\u00e3o da fonte UnB Pro Luis Filipe #125 Sprint 10 - Elabora\u00e7\u00e3o do conte\u00fado te\u00f3rico do Workshop Pr\u00e1tico Jos\u00e9 Andr\u00e9 #126 Sprint 10 - Atualizar Documenta\u00e7\u00e3o do Projeto Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint10/planejamento/#4-historico-de-versoes","title":"4. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 15/07/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"sprints/sprint10/resultados/","title":"Resultados","text":""},{"location":"sprints/sprint10/resultados/#1-o-que-foi-feito","title":"1. O que foi feito","text":"

Na Sprint 10, a equipe realizou diversas melhorias e implementa\u00e7\u00f5es para a Revista Darcy. Foi feita a atualiza\u00e7\u00e3o da responsividade da Home/P\u00e1gina Raiz da edi\u00e7\u00e3o - Di\u00e1logos, a cria\u00e7\u00e3o de p\u00e1ginas da Raiz da edi\u00e7\u00e3o, e a implementa\u00e7\u00e3o de um carrossel para o UnB Ci\u00eancia. Al\u00e9m disso, foram criados posts e leitura para a Edi\u00e7\u00e3o 21, e houve uma atualiza\u00e7\u00e3o na documenta\u00e7\u00e3o da evolu\u00e7\u00e3o do prot\u00f3tipo e do site de homologa\u00e7\u00e3o. O erro no Widget SoundCloud no Elementor foi corrigido, e foi realizada a pesquisa e documenta\u00e7\u00e3o de plugins para a inser\u00e7\u00e3o da fonte UnB Pro. Por fim, o conte\u00fado te\u00f3rico do Workshop Pr\u00e1tico foi elaborado e a documenta\u00e7\u00e3o do projeto foi atualizada.

"},{"location":"sprints/sprint10/resultados/#_1","title":"Resultados","text":""},{"location":"sprints/sprint10/resultados/#2-issues","title":"2. Issues","text":"Issue T\u00edtulo Status #113 Sprint 10 - Feat: Atualiza\u00e7\u00e3o de responsividade na Home/P\u00e1gina Raiz da edi\u00e7\u00e3o - Di\u00e1logos Conclu\u00eddo #114 Sprint 10 - Feat: P\u00e1gina(s) da Ra\u00edz da edi\u00e7\u00e3o Conclu\u00eddo #117 Sprint 10 - Cria\u00e7\u00e3o de Carrocel do UnB Ci\u00eancia Conclu\u00eddo #120 Sprint 10 - Feat: Cria\u00e7\u00e3o de posts para a Edi\u00e7\u00e3o 21, Cria\u00e7\u00e3o de leitura da edi\u00e7\u00e3o 21 Conclu\u00eddo #121 Sprint 10 - Atualiza\u00e7\u00e3o da Documenta\u00e7\u00e3o da Evolu\u00e7\u00e3o do Prot\u00f3tipo e Implementa\u00e7\u00e3o do site de Homolaga\u00e7\u00e3o Conclu\u00eddo #122 Sprint 10 - Erro no Widget SoundClound no Elementor Conclu\u00eddo #123 Sprint 10 - Pesquisa e documenta\u00e7\u00e3o de plugins para inser\u00e7\u00e3o da fonte UnB Pro Conclu\u00eddo #125 Sprint 10 - Elabora\u00e7\u00e3o do conte\u00fado te\u00f3rico do Workshop Pr\u00e1tico Conclu\u00eddo #126 Sprint 10 - Atualizar Documenta\u00e7\u00e3o do Projeto Conclu\u00eddo"},{"location":"sprints/sprint10/resultados/#3-reunioes","title":"3. Reuni\u00f5es","text":"

Nessa Sprint 10 tivemos cinco reuni\u00f5es. Tr\u00eas internas e duas externas.

Data Tema Ata 01/07/2024 Sprint Planning 04/07/2024 Reuni\u00e3o com a Equipe da SECOM Clique Aqui 09/07/2024 Reuni\u00e3o com a Equipe da SECOM Clique Aqui 15/07/2024 Sprint Review 15/07/2024 Sprint Retrospective"},{"location":"sprints/sprint10/resultados/#4-avaliacao-do-scrum-master","title":"4. Avalia\u00e7\u00e3o do Scrum Master","text":"

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

"},{"location":"sprints/sprint10/resultados/#5-historico-de-versoes","title":"5. Hist\u00f3rico de Vers\u00f5es","text":"Data Vers\u00e3o Descri\u00e7\u00e3o Autor 15/07/2024 0.1 Abertura do documento Jos\u00e9 Andr\u00e9"},{"location":"workshop/comandos/","title":"O que \u00e9 o WordPress e como ele opera?","text":"

O WordPress \u00e9 um sistema de gerenciamento de conte\u00fado (CMS - Content Management System) amplamente utilizado para criar e gerenciar sites e blogs. Ele \u00e9 baseado em PHP e usa um banco de dados MySQL para armazenar conte\u00fado. O WordPress \u00e9 conhecido por sua flexibilidade, facilidade de uso e uma grande comunidade de desenvolvedores e usu\u00e1rios que contribuem com plugins e temas.

"},{"location":"workshop/comandos/#o-que-e-o-tema-govbr","title":"O que \u00e9 o tema GovBR?","text":"

Uma solu\u00e7\u00e3o open-source desenvolvida pela IBICT (Instituto Brasileiro de Informa\u00e7\u00e3o em Ci\u00eancia e Tecnologia) que visa facilitar a padroniza\u00e7\u00e3o da identidade visual do modelo Gov.BR para sites governamentais desenvolvidos em WordPress. O tema usa das tecnologias mais modernas do WordPress, incluindo os padr\u00f5es de bloco do editor de p\u00e1ginas, al\u00e9m de oferecer integra\u00e7\u00f5es com alguns plugins comumente utilizados.

Linguagens utilizadas: PHP, JavaScript, React, SCSS

"},{"location":"workshop/comandos/#por-que-ele-foi-criado","title":"Por que ele foi criado?","text":""},{"location":"workshop/comandos/#motivo-1-design-system","title":"Motivo 1: Design System","text":"

Aplica\u00e7\u00f5es de governo precisam estar corretamente adequadas ao Design System do Portal Gov.BR, com padr\u00f5es de interface que devem ser seguidos por designers e desenvolvedores para garantir a experi\u00eancia \u00fanica na intera\u00e7\u00e3o com os sistemas interativos da Administra\u00e7\u00e3o P\u00fablica Federal.

"},{"location":"workshop/comandos/#motivo-2-preco-e-acessibilidade","title":"Motivo 2: Pre\u00e7o e Acessibilidade","text":"

O Gov.BR utiliza o sistema de gest\u00e3o de conte\u00fado Plone. No entanto, diversos sites governamentais utilizam o WordPress, um dos gerenciadores de conte\u00fado mais populares do mundo. Nesse sentido, alguns \u00f3rg\u00e3os passam por desafios para adaptar seus sites e portais. O tema desenvolvido \u00e9 uma alternativa para institui\u00e7\u00f5es que n\u00e3o podem usar o Plone.

Alguns \u00f3rg\u00e3os governamentais, como a UnB, utilizam o Joomla como CMS padr\u00e3o, no entanto, a dificuldade de manuten\u00e7\u00e3o e falta de intuitividade da plataforma fez surgir uma demanda de migra\u00e7\u00e3o dos sites da Universidade para o WordPress. Ou seja, a necessidade de migra\u00e7\u00e3o para o WordPress n\u00e3o \u00e9 apenas da Revista Darcy, mas sim de todos os sites do dom\u00ednio da Universidade de Bras\u00edlia.

"},{"location":"workshop/comandos/#unindo-o-util-ao-agradavel","title":"Unindo o \u00fatil ao agrad\u00e1vel","text":"

Dessa forma, sabendo a necessidade da migra\u00e7\u00e3o dos sites governamentais para um CMS acess\u00edvel e intuitivo como o WordPress, o IBICT criou o tema GovBR. Imagine a complexidade que seria se a cada novo site governamental, houvesse a necessidade de programadores para desenvolverem todo o front-end de acordo com o Design System do Governo Brasileiro. Por isso, instanciar o tema j\u00e1 produzido e evolui-lo de acordo com sua necessidade \u00e9 o melhor caminho e tamb\u00e9m o mais r\u00e1pido.

Hoje ensinaremos como voc\u00ea poder\u00e1 iniciar o desenvolvimento de um site governamental localmente com o tema GovBR. Voc\u00ea aprender\u00e1 a instalar o WordPress, configurar o MySQL, iniciar um servidor local e conectar o tema GovBR a ele.

"},{"location":"workshop/comandos/#instalacao-no-ubuntu","title":"Instala\u00e7\u00e3o no Ubuntu","text":""},{"location":"workshop/comandos/#passo-1-instalacao-do-xampp","title":"Passo 1: Instala\u00e7\u00e3o do XAMPP","text":"

O XAMPP \u00e9 uma distribui\u00e7\u00e3o de software gratuita e de c\u00f3digo aberto que facilita a instala\u00e7\u00e3o de um servidor web local. Ele \u00e9 especialmente \u00fatil para desenvolvedores que precisam de um ambiente de desenvolvimento para testar e desenvolver websites e aplica\u00e7\u00f5es web localmente antes de coloc\u00e1-las em produ\u00e7\u00e3o. O XAMPP \u00e9 uma distribui\u00e7\u00e3o Apache contendo MySQL, PHP, and Perl

https://www.apachefriends.org/download.html

  1. Clicar em XAMPP for Linux - 8.0.30 / PHP 8.0.30 - Download (64 bits)
  2. Abra os downloads do navegador e clique em \u201cMostrar na Pasta\u201d
  3. Clique com o bot\u00e3o direito no arquivo instalador do XAMPP e clique em \u201cPropriedades\u201d e ap\u00f3s em \u201cPermiss\u00f5es\u201d.
  4. Aperte em \u201cPermitir execu\u00e7\u00e3o do arquivo como um programa\u201d e feche a tela.
  5. Abra a pasta de downloads no terminal do Ubuntu. (Clicar no vazio com o bot\u00e3o direito e clicar em \u201cAbrir no Terminal\u201d)
  6. Mude as permiss\u00f5es do instalador:

    bash chmod 755 xampp-linux-*-installer.run

  7. Rode o instalador:

    bash sudo ./xampp-linux-*-installer.run

  8. Ap\u00f3s, ir\u00e1 abrir a tela de instala\u00e7\u00e3o. Conclua a instala\u00e7\u00e3o apertando em \u201cavan\u00e7ar\u201d.

    • (Se em algum momento algu\u00e9m fechar o launcher do XAMPP, rode:

      bash sudo /opt/lampp/manager-linux-x64.run

    • Lembrando que o Apache roda na porta 80, se algu\u00e9m tiver problema na hora de inicializar, pode ser que tenha algum servi\u00e7o rodando na porta 80, ter\u00e1 que derrub\u00e1-lo.

"},{"location":"workshop/comandos/#passo-2-configuracao-do-xampp","title":"Passo 2: Configura\u00e7\u00e3o do XAMPP","text":"
  1. Com o Launcher do XAMPP aberto, clique em \u201cManage Servers\u201d.
  2. D\u00ea start nos servidores MySQL Database e Apache Web Server. O status dos dois deve estar como \u201cRunning\u201d. O servidor ProFTPD pode estar desligado.
  3. Verifique se o servidor Apache j\u00e1 est\u00e1 dispon\u00edvel em http://localhost/.
"},{"location":"workshop/comandos/#passo-3-criacao-do-banco-de-dados","title":"Passo 3: Cria\u00e7\u00e3o do Banco de Dados","text":"
  1. No servidor local, dispon\u00edvel em http://localhost/, clique em \u201cphpMyAdmin\u201d, no canto superior direito da tela.
  2. Crie um banco de dados novo, clicando em \u201cNovo\u201d, no canto superior esquerdo da tela.
  3. Crie um nome pro seu banco de dados, n\u00e3o pode conter n\u00fameros e nem caracteres especiais, e tem que ser tudo min\u00fasculo. Por exemplo: govbr. Agora clique em criar.
  4. Pronto, agora o banco de dados est\u00e1 criado. S\u00f3 falta uma coisa pro WordPress funcionar: os arquivos do WordPress.
"},{"location":"workshop/comandos/#passo-4-instalando-o-wordpress","title":"Passo 4: Instalando o WordPress","text":"
  1. Acesse https://br.wordpress.org/download/ e clique em \u201cDownload WordPress 6.5.5\u201d.
  2. Isso baixar\u00e1 um zip, que voc\u00ea dever\u00e1 manualmente mover para a pasta do XAMPP.
  3. Rode:

    bash sudo mv ~/Downloads/wordpress-6.5.5-pt_BR.zip /opt/lampp/htdocs/

  4. Extraia o zip com o comando:

    bash sudo unzip /opt/lampp/htdocs/wordpress-6.5.5-pt_BR.zip -d /opt/lampp/htdocs/

  5. Agora temos os arquivos do WordPress no local correto, dentro de htdocs. Tamb\u00e9m temos o banco de dados criado, no entanto, essas duas coisas ainda n\u00e3o se conhecem.

"},{"location":"workshop/comandos/#passo-5-configurando-o-localhost","title":"Passo 5: Configurando o LocalHost","text":"
  1. Acesse http://localhost/wordpress/.
  2. Estamos na tela de configura\u00e7\u00e3o do WordPress, clique em \u201cVamos l\u00e1\u201d.
  3. Em \u201cNome do banco de dados\u201d insira o nome colocado no Passo 3, que no exemplo foi \u201cgovbr\u201d.
  4. Em \u201cUsu\u00e1rio\u201d escreva \u201croot\u201d.
  5. Em \u201cSenha\u201d deixe vazio.
  6. Servidor e prefixo deixe como est\u00e1 e clique em enviar.
  7. Se aparecer um erro de permiss\u00e3o que diz \u201cN\u00e3o foi poss\u00edvel gravar dados no arquivo wp-config.php\u201d, siga os passos abaixo:

    1. Volte pra tela anterior do WordPress.
    2. Abra o terminal e rode:

      bash sudo chmod -R 777 /opt/lampp/htdocs/wordpress

    3. Volte at\u00e9 a tela do WordPress no localhost e tente enviar novamente.

    4. Agora, provavelmente, abriu outra tela de sucesso. Clique em \u201cinstalar\u201d.
    5. Coloque o t\u00edtulo do site, como por exemplo \u201cTeste Gov BR\u201d.
    6. Crie um nome de usu\u00e1rio, uma senha e insira seu email.
    7. Clique em \u201cInstalar o WordPress\u201d.
    8. Agora, voc\u00ea deve estar em uma tela de Sucesso. Clique em \u201cAcessar\u201d.
"},{"location":"workshop/comandos/#passo-6-download-e-ativacao-do-tema-govbr","title":"Passo 6: Download e Ativa\u00e7\u00e3o do Tema GovBR","text":"
  1. Acesse o reposit\u00f3rio do tema no GitHub: https://github.com/IBICT/wp-govbr-tema.
  2. Clique em \u201cReleases\u201d no lado direito da tela.
  3. Baixe o arquivo govbr.zip.
  4. Abra o terminal e rode:

    bash sudo mv ~/Downloads/govbr.zip /opt/lampp/htdocs/wordpress/wp-content/themes/

  5. Navegue at\u00e9 a p\u00e1gina de temas:

    bash cd /opt/lampp/htdocs/wordpress/wp-content/themes/

  6. Descompacte o tema que est\u00e1 zipado:

    bash sudo unzip govbr.zip

  7. Volte ao seu site no WordPress e atualize a p\u00e1gina de temas. O tema GovBR j\u00e1 deve aparecer dispon\u00edvel pra ser utilizado.

  8. Clique em \u201cativar\u201d o tema.
"},{"location":"workshop/comandos/#consideracoes-finais","title":"Considera\u00e7\u00f5es Finais","text":"

Agora o WordPress est\u00e1 instalado, configurado e pronto para uso com o tema GovBR. A partir desse ponto, o desenvolvedor tem a possibilidade de editar o tema apenas no WordPress, abstraindo a complexidade da codifica\u00e7\u00e3o de cada feature. Mas, caso haja a necessidade, ele poder\u00e1 alterar o c\u00f3digo apenas editando o j\u00e1 existente no arquivo do tema, com qualquer IDE ou Editor de Texto, como o VSCode, e poder\u00e1 acompanhar as altera\u00e7\u00f5es em tempo de execu\u00e7\u00e3o, uma vez que estiver com o servidor local do WordPress rodando.

"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..0f8724e --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz new file mode 100644 index 0000000000000000000000000000000000000000..71d22720c0b7986d2a962a19d547802e72774a85 GIT binary patch literal 127 zcmV-_0D%7=iwFn+p`B&||8r?{Wo=<_E_iKh04<9_3V)_WXo8&M?ytk3HC}0~zlG)Vu + + + + + + + + + + + + + + + + + + + + + Planejamento - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

1. O planejado

+

O objetivo dessa sprint é nos organizarmos internamente, definindo os papéis dos membros de acordo com o SCRUM. Além disso, precisamos configurar nosso repositório do github e definir regras de proteção de branch, além de padrões de issue e pull request. É necessário a criação de uma gitpage com MKDOCS para documentarmos nosso processo de trabalho. Ideal que essa gitpage seja automatizada com o github actions assim como os padrões de commit e pull request.

+

É esperado que nessa sprint tenhamos a primeira reunião com a cliente, devemos realizar perguntas coesas e objetivas para termos uma visão geral do projeto e do produto, de modo que possamos definir um cronograma de trabalho.

+

+

2. Duração da Sprint

+

Início: 26/02/2024

+

Fim: 04/03/2024

+

Duração: 7 dias

+

3. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloResponsáveis
#2Sprint 0 - Ambientação Geral e Definição de Papéis do Time SCRUM[Todos]
#1Sprint 0 - Criação do MKDOCS para a DocumentaçãoTiago Albuquerque
#8Sprint 0 - Kickoff Meeting e Definição do Cronograma Inicial[Todos]
#15Sprint 0 - Configuração e Gerência do RepositórioJefferson Sena e José André
+

4. Papéis da Equipe

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunçãoNome
Scrum MasterJosé André
Product OwnerJefferson Sena
Dev TeamJoselito Prado
Dev TeamTiago Albuquerque
Dev TeamLuís Filipe
+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
05/03/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint00/resultados/index.html b/sprints/sprint00/resultados/index.html new file mode 100644 index 0000000..80cec75 --- /dev/null +++ b/sprints/sprint00/resultados/index.html @@ -0,0 +1,2940 @@ + + + + + + + + + + + + + + + + + + + + + + + Resultados - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

1. O que foi feito

+

Nessa sprint conseguimos nos organizar como equipe, estabelecemos as funções de cada membro de acordo com o SCRUM. Além disso, organizamos nossos canais de comunicação e configuramos nosso repositório do github, estabelecendo padrões de commit e pull request. Também configuramos proteções para a branch main para evitar inconsistências em nosso repositório. Também configuramos uma gitpage no repositório com nossa documentação utilizando o MKDocs.

+

Tivemos também a reunião de kickoff com a cliente onde pudemos ter uma visão geral do projeto e do produto, o que nos possibilitou estabelecer um cronograma de trabalho inicial.

+

+

2. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloStatus
#2Sprint 0 - Ambientação Geral e Definição de Papéis do Time SCRUMConcluído
#1Sprint 0 - Criação do MKDOCS para a DocumentaçãoConcluído
#8Sprint 0 - Kickoff Meeting e Definição do Cronograma InicialConcluído
#15Sprint 0 - Configuração e Gerência do RepositórioConcluído
+

3. Reuniões

+

Nessa Sprint 00 tivemos duas reuniões.

+ + + + + + + + + + + + + + + + + + + + +
DataTemaAta
27/02/2024Reunião Interna - Apresentação e ambientação
28/02/2024Reunião com a Cliente - KickoffClique Aqui
+

4. Avaliação do Scrum Master

+

Durante esta sprint, observamos uma evolução significativa na interação entre os membros da equipe, assim como na familiarização deles com o projeto. Além disso, tivemos a oportunidade de conhecer mais sobre a cliente e compreender melhor tanto o projeto quanto o produto esperado.

+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
05/03/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint01/planejamento/index.html b/sprints/sprint01/planejamento/index.html new file mode 100644 index 0000000..1b8923c --- /dev/null +++ b/sprints/sprint01/planejamento/index.html @@ -0,0 +1,2910 @@ + + + + + + + + + + + + + + + + + + + + + + + Planejamento - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

1. O planejado

+

A Sprint 01 visa estabelecer as bases necessárias para o sucesso do projeto, desde a definição dos requisitos iniciais através do PBB até a criação de políticas internas e aprimoramento da documentação. Ao alcançar esses objetivos, estaremos preparados para avançar para as próximas etapas do desenvolvimento com clareza e eficiência.

+

+

2. Duração da Sprint

+

Início: 04/03/2024

+

Fim: 11/03/2024

+

Duração: 7 dias

+

3. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloResponsáveis
#7Sprint 1 - Posição do ProdutoJefferson Sena e Luís Filipe
#12Sprint 1 - Criação das políticas internasJoselito Prado
#14Sprint 1 - Criar visão de projetoTiago Albuquerque
#18Sprint 1 - Documentação da Sprint 00 e Reorganização da Estrutura de Navegação do MKDOCSJosé André
#19Sprint 1 - Correção de Tópicos e Padronização no MKDOCS. Adição das Atas 00 e 01.José André
#20Sprint 1 - Formulário de perfil de usuárioTodos
+

4. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
11/03/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint01/resultados/index.html b/sprints/sprint01/resultados/index.html new file mode 100644 index 0000000..03b836f --- /dev/null +++ b/sprints/sprint01/resultados/index.html @@ -0,0 +1,2961 @@ + + + + + + + + + + + + + + + + + + + + + + + Resultados - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

1. O que foi feito

+

Nessa sprint, realizamos a primeira versão do levantamento de requisitos, utilizando a metodologia Product Backlog Building(PBB). Apresentamos para os stakeholders e a partir da próxima sprint refinaremos colaborativamente. +Pudemos também definir a visão de produto e de projeto iniciais. +Além disso, definimos políticas internas do grupo para nos guiar durante o projeto.

+

+

2. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloStatus
#7Sprint 1 - Posição do ProdutoConcluído
#12Sprint 1 - Criação das políticas internasConcluído
#14Sprint 1 - Criar visão de projetoConcluído
#18Sprint 1 - Documentação da Sprint 00 e Reorganização da Estrutura de Navegação do MKDOCSConcluído
#19Sprint 1 - Correção de Tópicos e Padronização no MKDOCS. Adição das Atas 00 e 01.Concluído
#20Sprint 1 - Formulário de perfil de usuárioConcluído
+

3. Reuniões

+

Nessa Sprint 01 tivemos quatro reuniões.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataTemaAta
04/03/2024Sprint Planning
07/03/2024Reunião com a Equipe da SECOMClique Aqui
11/03/2024Sprint Review
11/03/2024Sprint Retrospective
+

4. Avaliação do Scrum Master

+

Durante esta sprint, pudemos evoluir como equipe definindo padrões internos. As reuniões foram realizadas como planejado e a equipe tem sido colaborativa.

+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
11/03/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint02/planejamento/index.html b/sprints/sprint02/planejamento/index.html new file mode 100644 index 0000000..06cedf6 --- /dev/null +++ b/sprints/sprint02/planejamento/index.html @@ -0,0 +1,2888 @@ + + + + + + + + + + + + + + + + + + + + + + + Planejamento - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Planejamento

+ +

1. O planejado

+

A Sprint 02 tem por objetivo a configuração de um ambiente de desenvolvimento colaborativo no Wordpress, a fim de todos os membros da equipe começarem a se ambientar com a plataforma em termos de skins e plugins. Tendo por objetivo implementar o tema GOVbr produzido pela Instituto Brasileiro de Informação em Ciência e Tecnologia (IBICT).

+

Além disso, se faz necessário a divulgação do formulário de pesquisa para que possamos analisar os dados a fim de continuar o refinamento dos requisitos.

+

A sprint terá uma duração de duas semanas em decorrência da indisponibilidade do cliente durante a primeira semana para reuniões.

+

2. Duração da Sprint

+

Início: 11/03/2024

+

Fim: 25/03/2024

+

Duração: 14 dias

+

3. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloResponsáveis
#21Sprint 2 - Coleta de Dados e Insights do Formulário de Perfil de Usuário[Todos]
#22Sprint 2 - Criação de Heat Map para definição de horários em comumJefferson Sena
#24Sprint 2 - Configuração do ambiente de desenvolvimento no WordPress[Todos]
#25Sprint 2 - Estudo de Potenciais Plugins - FG Joomla[Todos]
#28Sprint 2 - Estudar e Implementar o tema GOVbr[Todos]
#29Sprint 2 - Resolução do problema de acessibilidade em relação ao plugin VLibrasLuís Filipe
#30Sprint 2 - Estudar sobre Identidade Visual da UnB e identificar fontes e paletas de cores utilizadas na Revista DarcyLuís Filipe
+

4. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
11/03/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint02/resultados/index.html b/sprints/sprint02/resultados/index.html new file mode 100644 index 0000000..3ed65af --- /dev/null +++ b/sprints/sprint02/resultados/index.html @@ -0,0 +1,2963 @@ + + + + + + + + + + + + + + + + + + + + + + + Resultados - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

1. O que foi feito

+

Nessa sprint, começamos a implementação da plataforma com um domínio teste. Realizamos a configuração do Wordpress para que pudessemos trabalhar em equipe colaborativamente e com possibilidade de auditoria. +Após, começamos os estudos de temas e plugins, o que nos levou até o tema GOVbr, desenvolvido em 2023 pela IBICT justamente para facilitar o desenvolvimento de sites governamentais em Wordpress. Fizemos a implementação desse tema no nosso projeto. +Além disso, estudamos e implementamos um plugin para facilitar a leitura da Revista na WEB, o que é requisito do usuário. +Durante toda a sprint, fizemos um levantamento de identidade visual (tipografia e cores) da atual plataforma da revista. +Infelizmente, devido à greve dos técnicos da universidade, não tivemos nenhuma reunião com a equipe da SECOM. Por causa disso, não pudemos evoluir e refinar os requisitos. Além de não apresentar o incremento.

+

+

2. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloStatus
#21Sprint 2 - Coleta de Dados e Insights do Formulário de Perfil de UsuárioEm pausa
#22Sprint 2 - Criação de Heat Map para definição de horários em comumConcluído
#24Sprint 2 - Configuração do ambiente de desenvolvimento no WordPressConcluído
#25Sprint 2 - Estudo de Potenciais Plugins - FG JoomlaConcluído
#28Sprint 2 - Estudar e Implementar o tema GOVbrConcluído
#29Sprint 2 - Resolução do problema de acessibilidade em relação ao plugin VLibrasConcluído
#30Sprint 2 - Estudar sobre Identidade Visual da UnB e identificar fontes e paletas de cores utilizadas na Revista DarcyConcluído
+

3. Reuniões

+

Nessa Sprint 02 tivemos três reuniões. Todas internas.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
DataTemaAta
11/03/2024Sprint Planning
25/03/2024Sprint Review
25/03/2024Sprint Retrospective
+

4. Avaliação do Scrum Master

+

Durante esta sprint, o time realizou o que foi planejado internamente mesmo com o contratempo com o cliente. As reuniões foram realizadas como idealizado anteriormente e a equipe tem sido colaborativa.

+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
25/03/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint03/planejamento/index.html b/sprints/sprint03/planejamento/index.html new file mode 100644 index 0000000..44369d6 --- /dev/null +++ b/sprints/sprint03/planejamento/index.html @@ -0,0 +1,2901 @@ + + + + + + + + + + + + + + + + + + + + + + + Planejamento - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Planejamento

+ +

1. O planejado

+

Na Sprint 3, focaremos em diversas atividades essenciais para a Revista Darcy. Isso inclui a definição do roadmap e refinamento dos requisitos. Além disso, vamos desenvolver um menu personalizado da UnB e implementar algumas páginas que já existem no site atual. Por exemplo: criaremos páginas para notícias, todas as edições da revista e contato. E por fim, integraremos o plugin Real3D Flipbook PDF Viewer Lite para leitura online. Cada membro da equipe tem suas responsabilidades específicas para garantir o progresso eficiente do projeto.

+

2. Duração da Sprint

+

Início: 25/03/2024

+

Fim: 08/04/2024

+

Duração: 14 dias

+

3. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloResponsáveis
#33Sprint 3 - Criação do Roadmap[Todos]
#34Sprint 3 - Refinamento dos Requisitos e Definição do Backlog[Todos]
#36Sprint 3 - Desenvolver e Implementar um menu personalizado da Universidade de Brasília (UnB) no siteJosé André
#37Sprint 3 - Implementação do Sistema de Assinatura para Recebimento das Próximas Edições da RevistaGabriel Morais
#38Sprint 3 - Criação da página de notíciasTiago Albuquerque
#39Sprint 3 - Desenvolvimento de Página para todas as edições da RevistaJefferson Sena
#40Sprint 3 - Implementação do Plugin: Plugin Real3D Flipbook PDF Viewer Lite, para leitura online[Todos]
#41Sprint 3 - Desenvolvimento de protótipo da página inicial[Todos]
#42Sprint 3 - Desenvolvimento da Página de ContatoJoselito Prado
#43Sprint 3 - Desenvolvimento da Página "Vídeos"Luís Filipe
+

4. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
25/03/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint03/resultados/index.html b/sprints/sprint03/resultados/index.html new file mode 100644 index 0000000..7d3c0e5 --- /dev/null +++ b/sprints/sprint03/resultados/index.html @@ -0,0 +1,2987 @@ + + + + + + + + + + + + + + + + + + + + + + + Resultados - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

1. O que foi feito

+

Nessa sprint 03, avançamos significativamente no nosso protótipo. Desenvolvemos páginas utilizando o padrão governamental mais atual e tivemos a validação da cliente em duas reuniões.

+

As seções desenvolvidas foram feitas em efeito de teste e replicação da atual plataforma da Revista de uma forma mais moderna e intuitiva.

+

Além disso, realizamos teste de carga no plugin de leitura da revista que estamos estudando e utilizando na nossa aplicação.

+

A sprint foi proveitosa visto que pudemos voltar a ter contato com a cliente, o que possibilitou nosso processo de refinamento e validação de requisitos. A partir disso utilizamos técnicas de priorização para nos nortear no desenvolvimento.

+

+

2. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloStatus
#33Sprint 3 - Criação do RoadmapConcluído
#34Sprint 3 - Refinamento dos Requisitos e Definição do BacklogConcluído
#36Sprint 3 - Desenvolver e Implementar um menu personalizado da Universidade de Brasília (UnB) no siteEm desenvolvimento
#37Sprint 3 - Implementação do Sistema de Assinatura para Recebimento das Próximas Edições da RevistaConcluído
#38Sprint 3 - Criação da página de notíciasEm desenvolvimento
#39Sprint 3 - Desenvolvimento de Página para todas as edições da RevistaEm desenvolvimento
#40Sprint 3 - Implementação do Plugin: Plugin Real3D Flipbook PDF Viewer Lite, para leitura onlineConcluído
#41Sprint 3 - Desenvolvimento de protótipo da página inicialConcluído
#42Sprint 3 - Desenvolvimento da Página de ContatoConcluído
#43Sprint 3 - Desenvolvimento da Página "Vídeos"Concluído
+

3. Reuniões

+

Nessa Sprint 03 tivemos cinco reuniões. Três internas e duas externas.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataTemaAta
25/03/2024Sprint Planning
02/04/2024Reunião com a Equipe da SECOMClique Aqui
04/04/2024Reunião com a Equipe da SECOMClique Aqui
08/04/2024Sprint Review
08/04/2024Sprint Retrospective
+

4. Avaliação do Scrum Master

+

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
08/04/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint04/planejamento/index.html b/sprints/sprint04/planejamento/index.html new file mode 100644 index 0000000..b38d03d --- /dev/null +++ b/sprints/sprint04/planejamento/index.html @@ -0,0 +1,2877 @@ + + + + + + + + + + + + + + + + + + + + + + + Planejamento - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Planejamento

+ +

1. O planejado

+

Na Sprint 4, focaremos em construir insights a partir das respostas do formulário. Também iremos iniciar o desenvolvimento da evolução do tema gov-br via injeção de código. Além disso, pretendemos evoluir nosso MVP já consolidado através de referências externas.
+Haverá um briefing com os designers da SECOM para evoluirmos a identidade visual do site.

+

2. Duração da Sprint

+

Início: 08/04/2024

+

Fim: 22/04/2024

+

Duração: 14 dias

+

3. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloResponsáveis
#53Sprint 4 - Documentação sobre a Release 1Jefferson Sena
#54Sprint 4 - Criação de protótipo para integração com UnB CiênciaLuís Filipe
#57Sprint 4 - Configuração de Ambiente do Projeto Open Source: GOVBR-TemaJosé André Luís Filipe Tiago Albuquerque
#58Sprint 4 - Levantamento de referências para o site e formas de integração com a UnB CiênciaGabriel Morais Joselito Prado
#59Sprint 4 - Definição das Personas e Perfil de UsuárioJefferson Sena
+

4. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
09/04/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint04/resultados/index.html b/sprints/sprint04/resultados/index.html new file mode 100644 index 0000000..c87eea0 --- /dev/null +++ b/sprints/sprint04/resultados/index.html @@ -0,0 +1,2956 @@ + + + + + + + + + + + + + + + + + + + + + + + Resultados - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

1. O que foi feito

+

Durante a sprint 04, pudemos minerar os dados obtidos a partir do formulário e definimos personas e perfil do usuário com base nas estatísticas.
+Também produzimos dois protótipos de alta fidelidade para a landing page com base nas referências enviadas pela Vanessa, protótipos que, ao fim da sprint, foram validados por ela.
+Pudemos também integrar nosso protótipo do WordPress com o UnB Ciência, requisito declarado pela SECOM.

+

+

2. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloStatus
#53Sprint 4 - Documentação sobre a Release 1Concluído
#54Sprint 4 - Criação de protótipo para integração com UnB CiênciaConcluído
#57Sprint 4 - Configuração de Ambiente do Projeto Open Source: GOVBR-TemaConcluído
#58Sprint 4 - Levantamento de referências para o site e formas de integração com a UnB CiênciaConcluído
#59Sprint 4 - Definição das Personas e Perfil de UsuárioConcluído
+

3. Reuniões

+

Nessa Sprint 04 tivemos quatro reuniões. Três internas e uma externa.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataTemaAta
08/04/2024Sprint Planning
18/04/2024Reunião com a Equipe da SECOMClique Aqui
22/04/2024Sprint Review
22/04/2024Sprint Retrospective
+

4. Avaliação do Scrum Master

+

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
22/04/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint05/planejamento/index.html b/sprints/sprint05/planejamento/index.html new file mode 100644 index 0000000..b89a3e3 --- /dev/null +++ b/sprints/sprint05/planejamento/index.html @@ -0,0 +1,2876 @@ + + + + + + + + + + + + + + + + + + + + + + + Planejamento - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Planejamento

+ +

1. O planejado

+

O planejado para a Sprint 5 inclui a criação do protótipo da Landing Page no Figma, alinhado com o briefing inicial fornecido. Além disso, vamos avançar com o desenvolvimento da Landing Page no WordPress. Também faremos a elaboração do protótipo das subpáginas no Figma, com base na landing page aprovada. Estudos sobre a migração de dados do Joomla para WordPress e a análise dos requisitos da STI para a implementação de domínios estão igualmente na agenda. Essas iniciativas visam fortalecer e expandir a presença online da Revista Darcy, alinhando-se às necessidades e diretrizes do projeto.

+

2. Duração da Sprint

+

Início: 22/04/2024

+

Fim: 06/05/2024

+

Duração: 14 dias

+

3. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloResponsáveis
#64Sprint 5 - Criação do protótipo da Landing Page no figma com base no briefing inicial[Todos]
#65Sprint 5 - Desenvolvimento da Landing Page no WordPressJefferson Sena, Luís Filipe e Gabriel Morais
#66Sprint 5 - Criação do protótipo das subpáginas no FIGMA com base na landing page aprovadaJosé André, Joselito Prado Tiago Albuquerque
#67Sprint 5 - Estudos sobre a migração de dados do Joomla para WordPressJefferson Sena, Luís Filipe e Gabriel Morais
#68Sprint 5 - Estudar os requisitos da STI para implementação de domíniosJosé André, Joselito Prado Tiago Albuquerque
+

4. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
22/04/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint05/resultados/index.html b/sprints/sprint05/resultados/index.html new file mode 100644 index 0000000..818e3af --- /dev/null +++ b/sprints/sprint05/resultados/index.html @@ -0,0 +1,2956 @@ + + + + + + + + + + + + + + + + + + + + + + + Resultados - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

1. O que foi feito

+

Durante a sprint 05, realizamos uma boa dinâmica de prototipação - desenvolvimento, os fazendo paralelamente e de forma iterativa.
+No entanto, devido à greve dos técnicos, tivemos dificuldades em evoluir a migração dos dados. Embora tenhamos obtido um usuário do Joomla da Revista, este usuário não tem as permissões necessárias para acesso ao banco de dados. Continuamos os trâmites para obter esse acesso porém está sendo lento.
+O ponto positivo foi a evolução do protótipo da home de alta fidelidade que realizamos pela equipe de design da SECOM. Após a validação ela já começou a ser implementada novamente.

+

+

2. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloStatus
#64Sprint 5 - Criação do protótipo da Landing Page no figma com base no briefing inicialConcluído
#65Sprint 5 - Desenvolvimento da Landing Page no WordPressConcluído
#66Sprint 5 - Criação do protótipo das subpáginas no FIGMA com base na landing page aprovadaConcluído
#67Sprint 5 - Estudos sobre a migração de dados do Joomla para WordPressConcluído
#68Sprint 5 - Estudar os requisitos da STI para implementação de domíniosConcluído
+

3. Reuniões

+

Nessa Sprint 05 tivemos quatro reuniões. Três internas e uma externa.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataTemaAta
22/04/2024Sprint Planning
25/04/2024Reunião com a Equipe da SECOMClique Aqui
06/05/2024Sprint Review
06/05/2024Sprint Retrospective
+

4. Avaliação do Scrum Master

+

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
07/05/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint06/planejamento/index.html b/sprints/sprint06/planejamento/index.html new file mode 100644 index 0000000..221ace6 --- /dev/null +++ b/sprints/sprint06/planejamento/index.html @@ -0,0 +1,2873 @@ + + + + + + + + + + + + + + + + + + + + + + + Planejamento - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Planejamento

+ +

1. O planejado

+

O planejado para a Sprint 6 consiste na continuação da implementação no wordpress das páginas do protótipo que foram validadas pela SECOM. Além disso, iniciaremos a evolução do código do tema GOVbr, para que o projeto atenda futuras demandas da Universidade.
+Além disso, continuaremos no trâmite da migração de dados do banco de dados do JOOMLA junto à STI.
+Por fim, começaremos a estudar alternativas de plugins que possam realizar uma espécie de versionamento de código gerado pelo wordpress automaticamente no GitHub, o que foi levantado como uma necessidade na release 2, pelos coordenadores.

+

2. Duração da Sprint

+

Início: 06/05/2024

+

Fim: 20/05/2024

+

Duração: 14 dias

+

3. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloResponsáveis
#77Sprint 6 - Evolução do Tema GOVbr em PHP para atender ao protótipoJosé André, Jefferson Sena
#78Sprint 6 - Migração dos Dados do CMS Joomla para WordPressJefferson Sena
#79Sprint 6 - Implementação da Home PageJoselito Prado, Tiago Albuquerque, Gabriel Morais
#80Sprint 6 - Estudar estratégias de versionamento com WordPressJosé André, Luís Filipe e Tiago Albuquerque
+

4. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
07/05/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint06/resultados/index.html b/sprints/sprint06/resultados/index.html new file mode 100644 index 0000000..e093853 --- /dev/null +++ b/sprints/sprint06/resultados/index.html @@ -0,0 +1,2961 @@ + + + + + + + + + + + + + + + + + + + + + + + Resultados - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

1. O que foi feito

+

Na sprint 06, tivemos que mudar a prioridade em meio à realização das tarefas planejadas uma vez que a STI disponibilizou uma alternativa mais viável para o andamento do projeto.
+Foi disponibilizado um ambiente de homologação nos servidores da UnB que terá prazo de 60 dias para desenvolvermos, podendo ser estendido por mais 30 dias caso haja a necessidade. O que atende nossa deadline do projeto.
+Tivemos também a disponibilização do backup do Joomla.

+

+

2. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloStatus
#77Sprint 6 - Evolução do Tema GOVbr em PHP para atender ao protótipoEm pausa
#78Sprint 6 - Migração dos Dados do CMS Joomla para WordPressEm Andamento
#79Sprint 6 - Implementação da Home PageConcluído
#80Sprint 6 - Estudar estratégias de versionamento com WordPressConcluído
#83Sprint 6 - Solicitação de Ambiente de Homologação no domínio da UnB.brConcluído
+

3. Reuniões

+

Nessa Sprint 06 tivemos cinco reuniões. Três internas e duas externas.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataTemaAta
06/05/2024Sprint Planning
09/05/2024Reunião com a Equipe da SECOMClique Aqui
16/05/2024Reunião com a Equipe da SECOMClique Aqui
20/05/2024Sprint Review
20/05/2024Sprint Retrospective
+

4. Avaliação do Scrum Master

+

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
20/05/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint07/planejamento/index.html b/sprints/sprint07/planejamento/index.html new file mode 100644 index 0000000..771e113 --- /dev/null +++ b/sprints/sprint07/planejamento/index.html @@ -0,0 +1,2883 @@ + + + + + + + + + + + + + + + + + + + + + + + Planejamento - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Planejamento

+ +

1. O planejado

+

O planejado para a Sprint 7 foca no desenvolvimento da homepage já no ambiente de homologação disponibilizado pela STI.
+Além disso, iniciaremos a migração dos dados através do backup recebido.
+Ao final, esperamos ter a homepage implementada por completa no ambiente de homologação e validada pela SECOM. Além de ter boa parte dos dados antigos na nova plataforma.

+

2. Duração da Sprint

+

Início: 20/05/2024

+

Fim: 03/06/2024

+

Duração: 14 dias

+

3. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloResponsáveis
#84Sprint 7 - Implementação do Slide 1 na Home - Vida IntergalácticaLuís Filipe
#85Sprint 7 - Implementação dos destaques laterais abaixo de vida intergalácticaLuís Filipe
#86Sprint 7 - Feat: Evolução de container/slide Vida Galáctica, destaques laterais, Contâiner Vida GalácticaLuís Filipe
#87Sprint 7 - Atualização do RoadMapJefferson Sena
#90Sprint 7 - Feat Criando Home: Imagens Instagram UnB, Banner UnB CiênciaLuís Filipe
#91Sprint 7 - Feat Criando Home: Banner inicial Darcy/Container Assinar(Revista)Luís Filipe
+

4. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
20/05/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint07/resultados/index.html b/sprints/sprint07/resultados/index.html new file mode 100644 index 0000000..181e2e4 --- /dev/null +++ b/sprints/sprint07/resultados/index.html @@ -0,0 +1,2961 @@ + + + + + + + + + + + + + + + + + + + + + + + Resultados - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

1. O que foi feito

+

Na sprint 07, realizamos o desenvolvimento da homepage atualizada pela equipe de design da SECOM, já em ambiente de homologação.
+Também tivemos trocas de informação com a STI com o objetivo de discutir a melhor estratégia de migração de dados.
+Além disso, foi iniciado a evolução do protótipo das sub-páginas, especificamente a de artigos que será replicada.

+

+

2. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloStatus
#84Sprint 7 - Implementação do Slide 1 na Home - Vida IntergalácticaConcluído
#85Sprint 7 - Implementação dos destaques laterais abaixo de vida intergalácticaConcluído
#86Sprint 7 - Feat: Evolução de container/slide Vida Galáctica, destaques laterais, Contâiner Vida GalácticaConcluído
#87Sprint 7 - Atualização do RoadMapConcluído
#90Sprint 7 - Feat Criando Home: Imagens Instagram UnB, Banner UnB CiênciaConcluído
#91Sprint 7 - Feat Criando Home: Banner inicial Darcy/Container Assinar(Revista)Concluído
+

3. Reuniões

+

Nessa Sprint 07 tivemos quatro reuniões. Três internas e uma externa.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataTemaAta
20/05/2024Sprint Planning
09/05/2024Reunião com a Equipe da SECOMClique Aqui
03/06/2024Sprint Review
03/06/2024Sprint Retrospective
+

4. Avaliação do Scrum Master

+

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
03/06/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint08/planejamento/index.html b/sprints/sprint08/planejamento/index.html new file mode 100644 index 0000000..479b428 --- /dev/null +++ b/sprints/sprint08/planejamento/index.html @@ -0,0 +1,2892 @@ + + + + + + + + + + + + + + + + + + + + + + + Planejamento - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Planejamento

+ +

1. O planejado

+

O planejado para a Sprint 8 consiste na implementação da sub-página de artigos, e após isso, a replicação da mesma para os artigos do backup, afim de realizar a migração dos conteúdos de maior prioridade.
+Além disso, se faz necessário documentar todos os passos (plugins utilizados e jornada do editor) realizados para uma melhor manutenibilidade futura.

+

2. Duração da Sprint

+

Início: 03/06/2024

+

Fim: 17/06/2024

+

Duração: 14 dias

+

3. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloResponsáveis
#92Sprint 08 - Feat: Desenvolvimento da Página de ArtigosJefferson Sena
#93Sprint 08 - Documentação de Instalações de Plugins no Site de Homologação da UnBJoselito Prado
#94Sprint 08 - Feat: Desenvolvimento de Elementos da Página de ArtigosTiago Albuquerque
#97Sprint 08 - Feat: Desenvolvimento da Página de Dossiê da 30º EdiçãoJosé André
#98Sprint 08 - Documentação da Evolução do Protótipo e Implementação do site de HomolagaçãoGabriel Morais
#100Sprint 08 - Mudança de estrutura textual no Banner Inicial da HomeLuis Filipe
#101Sprint 08 - Feat: Criação de Artigos referentes à Edição 30Joselito Prado
#102Sprint 08 - Feat: Implementação da página de artigo da edição 30Tiago Albuquerque
+

4. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
03/06/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint08/resultados/index.html b/sprints/sprint08/resultados/index.html new file mode 100644 index 0000000..8154068 --- /dev/null +++ b/sprints/sprint08/resultados/index.html @@ -0,0 +1,2975 @@ + + + + + + + + + + + + + + + + + + + + + + + Resultados - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

1. O que foi feito

+

Na sprint 08, realizamos uma dinâmica eficiente de desenvolvimento e documentação, de modo que facilite a manutenção da plataforma posteriormente pela STI, o que foi requisitado pela cliente.
+Implementamos páginas que foram prototipadas pela equipe de design além de aprimorar elementos que já haviam sido desenvolvidos em sprints passadas.

+

+

2. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloStatus
#92Sprint 08 - Feat: Desenvolvimento da Página de ArtigosConcluído
#93Sprint 08 - Documentação de Instalações de Plugins no Site de Homologação da UnBConcluído
#94Sprint 08 - Feat: Desenvolvimento de Elementos da Página de ArtigosConcluído
#97Sprint 08 - Feat: Desenvolvimento da Página de Dossiê da 30º EdiçãoConcluído
#98Sprint 08 - Documentação da Evolução do Protótipo e Implementação do site de HomolagaçãoConcluído
#100Sprint 08 - Mudança de estrutura textual no Banner Inicial da HomeConcluído
#101Sprint 08 - Feat: Criação de Artigos referentes à Edição 30Concluído
#102Sprint 08 - Feat: Implementação da página de artigo da edição 30Concluído
+

3. Reuniões

+

Nessa Sprint 08 tivemos cinco reuniões. Três internas e duas externas.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataTemaAta
03/06/2024Sprint Planning
06/06/2024Reunião com a Equipe da SECOMClique Aqui
13/06/2024Reunião com a Equipe da SECOMClique Aqui
17/06/2024Sprint Review
17/06/2024Sprint Retrospective
+

4. Avaliação do Scrum Master

+

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
17/06/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint09/planejamento/index.html b/sprints/sprint09/planejamento/index.html new file mode 100644 index 0000000..f10aa1c --- /dev/null +++ b/sprints/sprint09/planejamento/index.html @@ -0,0 +1,2893 @@ + + + + + + + + + + + + + + + + + + + + + + + Planejamento - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Planejamento

+ +

1. O planejado

+

O planejado para a Sprint 9 consiste na continuação do desenvolvimento das páginas que forem prototipadas e validadas pela SECOM, além de prosseguir com a documentação dessas etapas.
+Além disso, desenvolveremos um fluxograma de navegabilidade pela perpespectiva do usuário para que possamos visualizar de modo mais abrangente a jornada do usuário. +Por fim, seguiremos evoluindo elementos comuns às páginas para alcançar o protótipo de forma mais fídedigna.

+

2. Duração da Sprint

+

Início: 17/06/2024

+

Fim: 01/07/2024

+

Duração: 14 dias

+

3. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloResponsáveis
#103Sprint 09 - Criar um Fluxograma de Navegabilidade do Site pela Perspectiva do UsuárioJosé André
#105Sprint 09 - Feat: Criação da página de leitura de ediçãoTiago Albuquerque
#106Sprint 09 - Feat: Responsividade para celular e tablet da HomeLuis Filipe
#107Sprint 09 - Feat: Criação Página Todas Edições e alteração para responsividadeLuis Filipe
#108Sprint 09 - Implementação de Ícones no Menu InstitucionalJosé André
#109Sprint 09 - Ajuste de ícones e funcionalidades em todas as páginasJefferson Sena
#110Sprint 09 - Feat: Criação de Artigos Referentes à Edição 30Gabriel Morais
#115Sprint 09 - Implementação e ajustes de posts da edição 30 e suas responsividadesJoselito Prado
+

4. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
17/06/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint09/resultados/index.html b/sprints/sprint09/resultados/index.html new file mode 100644 index 0000000..d6654df --- /dev/null +++ b/sprints/sprint09/resultados/index.html @@ -0,0 +1,2971 @@ + + + + + + + + + + + + + + + + + + + + + + + Resultados - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

1. O que foi feito

+

Na sprint 09, continuamos o desenvolvimento das páginas prototipadadas pela equipe de design da SECOM. Além disso, ajustamos débitos deixados na sprint anterior, como alguns elementos mal formatados e questões de iconografia governamental.
+Também produzimos um fluxograma de navegabilidade da atual plataforma para entendermos de forma visual de que forma nossas alterações estão sendo refletidas de acordo com a perspectiva do usuário.
+Além disso, focamos em responsividade para dispositivos mobile.

+

+

2. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloStatus
#103Sprint 09 - Criar um Fluxograma de Navegabilidade do Site pela Perspectiva do UsuárioConcluído
#105Sprint 09 - Feat: Criação da página de leitura de ediçãoConcluído
#106Sprint 09 - Feat: Responsividade para celular e tablet da HomeConcluído
#107Sprint 09 - Feat: Criação Página Todas Edições e alteração para responsividadeConcluído
#108Sprint 09 - Implementação de Ícones no Menu InstitucionalConcluído
#109Sprint 09 - Ajuste de ícones e funcionalidades em todas as páginasConcluído
#110Sprint 09 - Feat: Criação de Artigos Referentes à Edição 30Concluído
#115Sprint 09 - Implementação e ajustes de posts da edição 30 e suas responsividadesConcluído
+

3. Reuniões

+

Nessa Sprint 09 tivemos quatro reuniões. Três internas e uma externa.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataTemaAta
17/06/2024Sprint Planning
27/06/2024Reunião com a Equipe da SECOMClique Aqui
01/07/2024Sprint Review
01/07/2024Sprint Retrospective
+

4. Avaliação do Scrum Master

+

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
01/07/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint10/planejamento/index.html b/sprints/sprint10/planejamento/index.html new file mode 100644 index 0000000..acdea98 --- /dev/null +++ b/sprints/sprint10/planejamento/index.html @@ -0,0 +1,2896 @@ + + + + + + + + + + + + + + + + + + + + + + + Planejamento - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Planejamento

+ +

1. O planejado

+

O planejado para a Sprint 10 consiste em abordar diversas melhorias e novas funcionalidades para a Revista Darcy. Dentre elas, estão a atualização da responsividade da Home/Página Raiz da edição - Diálogos, a criação de páginas da Raiz da edição, a implementação de um carrossel para o UnB Ciência, e a criação de posts e leitura para a Edição 21. Além disso, serão feitas atualizações na documentação da evolução do protótipo e do site de homologação, correção de erros no Widget SoundCloud no Elementor, e a pesquisa e documentação de plugins para a inserção da fonte UnB Pro. Por fim, será elaborada a documentação do conteúdo teórico do Workshop Prático e a atualização da documentação do projeto.

+

2. Duração da Sprint

+

Início: 01/07/2024

+

Fim: 15/07/2024

+

Duração: 14 dias

+

3. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloResponsáveis
#113Sprint 10 - Feat: Atualização de responsividade na Home/Página Raiz da edição - DiálogosLuis Filipe
#114Sprint 10 - Feat: Página(s) da Raíz da ediçãoTiago Albuquerque
#117Sprint 10 - Criação de Carrocel do UnB CiênciaJefferson Sena
#120Sprint 10 - Feat: Criação de posts para a Edição 21, Criação de leitura da edição 21Luis Filipe
#121Sprint 10 - Atualização da Documentação da Evolução do Protótipo e Implementação do site de HomolagaçãoGabriel Morais
#122Sprint 10 - Erro no Widget SoundClound no ElementorGabriel Morais e Jefferson Sena
#123Sprint 10 - Pesquisa e documentação de plugins para inserção da fonte UnB ProLuis Filipe
#125Sprint 10 - Elaboração do conteúdo teórico do Workshop PráticoJosé André
#126Sprint 10 - Atualizar Documentação do ProjetoJosé André
+

4. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
15/07/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/sprints/sprint10/resultados/index.html b/sprints/sprint10/resultados/index.html new file mode 100644 index 0000000..d87696f --- /dev/null +++ b/sprints/sprint10/resultados/index.html @@ -0,0 +1,2979 @@ + + + + + + + + + + + + + + + + + + + + + + + Resultados - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

1. O que foi feito

+

Na Sprint 10, a equipe realizou diversas melhorias e implementações para a Revista Darcy. Foi feita a atualização da responsividade da Home/Página Raiz da edição - Diálogos, a criação de páginas da Raiz da edição, e a implementação de um carrossel para o UnB Ciência. Além disso, foram criados posts e leitura para a Edição 21, e houve uma atualização na documentação da evolução do protótipo e do site de homologação. O erro no Widget SoundCloud no Elementor foi corrigido, e foi realizada a pesquisa e documentação de plugins para a inserção da fonte UnB Pro. Por fim, o conteúdo teórico do Workshop Prático foi elaborado e a documentação do projeto foi atualizada.

+

+

2. Issues

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IssueTítuloStatus
#113Sprint 10 - Feat: Atualização de responsividade na Home/Página Raiz da edição - DiálogosConcluído
#114Sprint 10 - Feat: Página(s) da Raíz da ediçãoConcluído
#117Sprint 10 - Criação de Carrocel do UnB CiênciaConcluído
#120Sprint 10 - Feat: Criação de posts para a Edição 21, Criação de leitura da edição 21Concluído
#121Sprint 10 - Atualização da Documentação da Evolução do Protótipo e Implementação do site de HomolagaçãoConcluído
#122Sprint 10 - Erro no Widget SoundClound no ElementorConcluído
#123Sprint 10 - Pesquisa e documentação de plugins para inserção da fonte UnB ProConcluído
#125Sprint 10 - Elaboração do conteúdo teórico do Workshop PráticoConcluído
#126Sprint 10 - Atualizar Documentação do ProjetoConcluído
+

3. Reuniões

+

Nessa Sprint 10 tivemos cinco reuniões. Três internas e duas externas.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataTemaAta
01/07/2024Sprint Planning
04/07/2024Reunião com a Equipe da SECOMClique Aqui
09/07/2024Reunião com a Equipe da SECOMClique Aqui
15/07/2024Sprint Review
15/07/2024Sprint Retrospective
+

4. Avaliação do Scrum Master

+

No decorrer desta sprint, o time realizou o que foi planejado internamente e colaborou ativamente com o projeto.

+

5. Histórico de Versões

+ + + + + + + + + + + + + + + + + +
DataVersãoDescriçãoAutor
15/07/20240.1Abertura do documentoJosé André
+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/workshop/comandos/index.html b/workshop/comandos/index.html new file mode 100644 index 0000000..c58386a --- /dev/null +++ b/workshop/comandos/index.html @@ -0,0 +1,2825 @@ + + + + + + + + + + + + + + + + + + + + + Workshop Prático - Implementando o Tema GovBR - Revista Darcy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

O que é o WordPress e como ele opera?

+

O WordPress é um sistema de gerenciamento de conteúdo (CMS - Content Management System) amplamente utilizado para criar e gerenciar sites e blogs. Ele é baseado em PHP e usa um banco de dados MySQL para armazenar conteúdo. O WordPress é conhecido por sua flexibilidade, facilidade de uso e uma grande comunidade de desenvolvedores e usuários que contribuem com plugins e temas.

+

O que é o tema GovBR?

+

Uma solução open-source desenvolvida pela IBICT (Instituto Brasileiro de Informação em Ciência e Tecnologia) que visa facilitar a padronização da identidade visual do modelo Gov.BR para sites governamentais desenvolvidos em WordPress. O tema usa das tecnologias mais modernas do WordPress, incluindo os padrões de bloco do editor de páginas, além de oferecer integrações com alguns plugins comumente utilizados.

+

Linguagens utilizadas: PHP, JavaScript, React, SCSS

+

Por que ele foi criado?

+

Motivo 1: Design System

+

Aplicações de governo precisam estar corretamente adequadas ao Design System do Portal Gov.BR, com padrões de interface que devem ser seguidos por designers e desenvolvedores para garantir a experiência única na interação com os sistemas interativos da Administração Pública Federal.

+

Motivo 2: Preço e Acessibilidade

+

O Gov.BR utiliza o sistema de gestão de conteúdo Plone. No entanto, diversos sites governamentais utilizam o WordPress, um dos gerenciadores de conteúdo mais populares do mundo. Nesse sentido, alguns órgãos passam por desafios para adaptar seus sites e portais. O tema desenvolvido é uma alternativa para instituições que não podem usar o Plone.

+

Alguns órgãos governamentais, como a UnB, utilizam o Joomla como CMS padrão, no entanto, a dificuldade de manutenção e falta de intuitividade da plataforma fez surgir uma demanda de migração dos sites da Universidade para o WordPress. Ou seja, a necessidade de migração para o WordPress não é apenas da Revista Darcy, mas sim de todos os sites do domínio da Universidade de Brasília.

+

Unindo o útil ao agradável

+

Dessa forma, sabendo a necessidade da migração dos sites governamentais para um CMS acessível e intuitivo como o WordPress, o IBICT criou o tema GovBR. Imagine a complexidade que seria se a cada novo site governamental, houvesse a necessidade de programadores para desenvolverem todo o front-end de acordo com o Design System do Governo Brasileiro. Por isso, instanciar o tema já produzido e evolui-lo de acordo com sua necessidade é o melhor caminho e também o mais rápido.

+

Hoje ensinaremos como você poderá iniciar o desenvolvimento de um site governamental localmente com o tema GovBR. Você aprenderá a instalar o WordPress, configurar o MySQL, iniciar um servidor local e conectar o tema GovBR a ele.

+

Instalação no Ubuntu

+

Passo 1: Instalação do XAMPP

+

O XAMPP é uma distribuição de software gratuita e de código aberto que facilita a instalação de um servidor web local. Ele é especialmente útil para desenvolvedores que precisam de um ambiente de desenvolvimento para testar e desenvolver websites e aplicações web localmente antes de colocá-las em produção. O XAMPP é uma distribuição Apache contendo MySQL, PHP, and Perl

+

https://www.apachefriends.org/download.html

+
    +
  1. Clicar em XAMPP for Linux - 8.0.30 / PHP 8.0.30 - Download (64 bits)
  2. +
  3. Abra os downloads do navegador e clique em “Mostrar na Pasta”
  4. +
  5. Clique com o botão direito no arquivo instalador do XAMPP e clique em “Propriedades” e após em “Permissões”.
  6. +
  7. Aperte em “Permitir execução do arquivo como um programa” e feche a tela.
  8. +
  9. Abra a pasta de downloads no terminal do Ubuntu. (Clicar no vazio com o botão direito e clicar em “Abrir no Terminal”)
  10. +
  11. +

    Mude as permissões do instalador:

    +

    bash +chmod 755 xampp-linux-*-installer.run

    +
  12. +
  13. +

    Rode o instalador:

    +

    bash +sudo ./xampp-linux-*-installer.run

    +
  14. +
  15. +

    Após, irá abrir a tela de instalação. Conclua a instalação apertando em “avançar”.

    +
      +
    • +

      (Se em algum momento alguém fechar o launcher do XAMPP, rode:

      +

      bash +sudo /opt/lampp/manager-linux-x64.run

      +
    • +
    • +

      Lembrando que o Apache roda na porta 80, se alguém tiver problema na hora de inicializar, pode ser que tenha algum serviço rodando na porta 80, terá que derrubá-lo.

      +
    • +
    +
  16. +
+

Passo 2: Configuração do XAMPP

+
    +
  1. Com o Launcher do XAMPP aberto, clique em “Manage Servers”.
  2. +
  3. Dê start nos servidores MySQL Database e Apache Web Server. O status dos dois deve estar como “Running”. O servidor ProFTPD pode estar desligado.
  4. +
  5. Verifique se o servidor Apache já está disponível em http://localhost/.
  6. +
+

Passo 3: Criação do Banco de Dados

+
    +
  1. No servidor local, disponível em http://localhost/, clique em “phpMyAdmin”, no canto superior direito da tela.
  2. +
  3. Crie um banco de dados novo, clicando em “Novo”, no canto superior esquerdo da tela.
  4. +
  5. Crie um nome pro seu banco de dados, não pode conter números e nem caracteres especiais, e tem que ser tudo minúsculo. Por exemplo: govbr. Agora clique em criar.
  6. +
  7. Pronto, agora o banco de dados está criado. Só falta uma coisa pro WordPress funcionar: os arquivos do WordPress.
  8. +
+

Passo 4: Instalando o WordPress

+
    +
  1. Acesse https://br.wordpress.org/download/ e clique em “Download WordPress 6.5.5”.
  2. +
  3. Isso baixará um zip, que você deverá manualmente mover para a pasta do XAMPP.
  4. +
  5. +

    Rode:

    +

    bash +sudo mv ~/Downloads/wordpress-6.5.5-pt_BR.zip /opt/lampp/htdocs/

    +
  6. +
  7. +

    Extraia o zip com o comando:

    +

    bash +sudo unzip /opt/lampp/htdocs/wordpress-6.5.5-pt_BR.zip -d /opt/lampp/htdocs/

    +
  8. +
  9. +

    Agora temos os arquivos do WordPress no local correto, dentro de htdocs. Também temos o banco de dados criado, no entanto, essas duas coisas ainda não se conhecem.

    +
  10. +
+

Passo 5: Configurando o LocalHost

+
    +
  1. Acesse http://localhost/wordpress/.
  2. +
  3. Estamos na tela de configuração do WordPress, clique em “Vamos lá”.
  4. +
  5. Em “Nome do banco de dados” insira o nome colocado no Passo 3, que no exemplo foi “govbr”.
  6. +
  7. Em “Usuário” escreva “root”.
  8. +
  9. Em “Senha” deixe vazio.
  10. +
  11. Servidor e prefixo deixe como está e clique em enviar.
  12. +
  13. +

    Se aparecer um erro de permissão que diz “Não foi possível gravar dados no arquivo wp-config.php”, siga os passos abaixo:

    +
      +
    1. Volte pra tela anterior do WordPress.
    2. +
    3. +

      Abra o terminal e rode:

      +

      bash +sudo chmod -R 777 /opt/lampp/htdocs/wordpress

      +
    4. +
    5. +

      Volte até a tela do WordPress no localhost e tente enviar novamente.

      +
    6. +
    7. Agora, provavelmente, abriu outra tela de sucesso. Clique em “instalar”.
    8. +
    9. Coloque o título do site, como por exemplo “Teste Gov BR”.
    10. +
    11. Crie um nome de usuário, uma senha e insira seu email.
    12. +
    13. Clique em “Instalar o WordPress”.
    14. +
    15. Agora, você deve estar em uma tela de Sucesso. Clique em “Acessar”.
    16. +
    +
  14. +
+

Passo 6: Download e Ativação do Tema GovBR

+
    +
  1. Acesse o repositório do tema no GitHub: https://github.com/IBICT/wp-govbr-tema.
  2. +
  3. Clique em “Releases” no lado direito da tela.
  4. +
  5. Baixe o arquivo govbr.zip.
  6. +
  7. +

    Abra o terminal e rode:

    +

    bash +sudo mv ~/Downloads/govbr.zip /opt/lampp/htdocs/wordpress/wp-content/themes/

    +
  8. +
  9. +

    Navegue até a página de temas:

    +

    bash +cd /opt/lampp/htdocs/wordpress/wp-content/themes/

    +
  10. +
  11. +

    Descompacte o tema que está zipado:

    +

    bash +sudo unzip govbr.zip

    +
  12. +
  13. +

    Volte ao seu site no WordPress e atualize a página de temas. O tema GovBR já deve aparecer disponível pra ser utilizado.

    +
  14. +
  15. Clique em “ativar” o tema.
  16. +
+

Considerações Finais

+

Agora o WordPress está instalado, configurado e pronto para uso com o tema GovBR. A partir desse ponto, o desenvolvedor tem a possibilidade de editar o tema apenas no WordPress, abstraindo a complexidade da codificação de cada feature. Mas, caso haja a necessidade, ele poderá alterar o código apenas editando o já existente no arquivo do tema, com qualquer IDE ou Editor de Texto, como o VSCode, e poderá acompanhar as alterações em tempo de execução, uma vez que estiver com o servidor local do WordPress rodando.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file

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 literal 0 HcmV?d00001 diff --git a/assets/idade.png b/assets/idade.png new file mode 100644 index 0000000000000000000000000000000000000000..45093f7da7b464c13b7b4f87466f2df0a46e2762 GIT binary patch literal 25064 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�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 IM6N<$f(jP3KmY&$ literal 0 HcmV?d00001 diff --git a/assets/javascripts/bundle.fe8b6f2b.min.js b/assets/javascripts/bundle.fe8b6f2b.min.js new file mode 100644 index 0000000..cf778d4 --- /dev/null +++ b/assets/javascripts/bundle.fe8b6f2b.min.js @@ -0,0 +1,29 @@ +"use strict";(()=>{var Fi=Object.create;var gr=Object.defineProperty;var ji=Object.getOwnPropertyDescriptor;var Wi=Object.getOwnPropertyNames,Dt=Object.getOwnPropertySymbols,Ui=Object.getPrototypeOf,xr=Object.prototype.hasOwnProperty,no=Object.prototype.propertyIsEnumerable;var oo=(e,t,r)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t)=>{for(var r in t||(t={}))xr.call(t,r)&&oo(e,r,t[r]);if(Dt)for(var r of Dt(t))no.call(t,r)&&oo(e,r,t[r]);return e};var io=(e,t)=>{var r={};for(var o in e)xr.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Dt)for(var o of Dt(e))t.indexOf(o)<0&&no.call(e,o)&&(r[o]=e[o]);return r};var yr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Di=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Wi(t))!xr.call(e,n)&&n!==r&&gr(e,n,{get:()=>t[n],enumerable:!(o=ji(t,n))||o.enumerable});return e};var Vt=(e,t,r)=>(r=e!=null?Fi(Ui(e)):{},Di(t||!e||!e.__esModule?gr(r,"default",{value:e,enumerable:!0}):r,e));var ao=(e,t,r)=>new Promise((o,n)=>{var i=p=>{try{s(r.next(p))}catch(c){n(c)}},a=p=>{try{s(r.throw(p))}catch(c){n(c)}},s=p=>p.done?o(p.value):Promise.resolve(p.value).then(i,a);s((r=r.apply(e,t)).next())});var co=yr((Er,so)=>{(function(e,t){typeof Er=="object"&&typeof so!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(Er,function(){"use strict";function e(r){var o=!0,n=!1,i=null,a={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function s(H){return!!(H&&H!==document&&H.nodeName!=="HTML"&&H.nodeName!=="BODY"&&"classList"in H&&"contains"in H.classList)}function p(H){var mt=H.type,ze=H.tagName;return!!(ze==="INPUT"&&a[mt]&&!H.readOnly||ze==="TEXTAREA"&&!H.readOnly||H.isContentEditable)}function c(H){H.classList.contains("focus-visible")||(H.classList.add("focus-visible"),H.setAttribute("data-focus-visible-added",""))}function l(H){H.hasAttribute("data-focus-visible-added")&&(H.classList.remove("focus-visible"),H.removeAttribute("data-focus-visible-added"))}function f(H){H.metaKey||H.altKey||H.ctrlKey||(s(r.activeElement)&&c(r.activeElement),o=!0)}function u(H){o=!1}function h(H){s(H.target)&&(o||p(H.target))&&c(H.target)}function w(H){s(H.target)&&(H.target.classList.contains("focus-visible")||H.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(H.target))}function A(H){document.visibilityState==="hidden"&&(n&&(o=!0),te())}function te(){document.addEventListener("mousemove",J),document.addEventListener("mousedown",J),document.addEventListener("mouseup",J),document.addEventListener("pointermove",J),document.addEventListener("pointerdown",J),document.addEventListener("pointerup",J),document.addEventListener("touchmove",J),document.addEventListener("touchstart",J),document.addEventListener("touchend",J)}function ie(){document.removeEventListener("mousemove",J),document.removeEventListener("mousedown",J),document.removeEventListener("mouseup",J),document.removeEventListener("pointermove",J),document.removeEventListener("pointerdown",J),document.removeEventListener("pointerup",J),document.removeEventListener("touchmove",J),document.removeEventListener("touchstart",J),document.removeEventListener("touchend",J)}function J(H){H.target.nodeName&&H.target.nodeName.toLowerCase()==="html"||(o=!1,ie())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",A,!0),te(),r.addEventListener("focus",h,!0),r.addEventListener("blur",w,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var Yr=yr((Rt,Kr)=>{/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */(function(t,r){typeof Rt=="object"&&typeof Kr=="object"?Kr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Rt=="object"?Rt.ClipboardJS=r():t.ClipboardJS=r()})(Rt,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return Ii}});var a=i(279),s=i.n(a),p=i(370),c=i.n(p),l=i(817),f=i.n(l);function u(V){try{return document.execCommand(V)}catch(_){return!1}}var h=function(_){var M=f()(_);return u("cut"),M},w=h;function A(V){var _=document.documentElement.getAttribute("dir")==="rtl",M=document.createElement("textarea");M.style.fontSize="12pt",M.style.border="0",M.style.padding="0",M.style.margin="0",M.style.position="absolute",M.style[_?"right":"left"]="-9999px";var j=window.pageYOffset||document.documentElement.scrollTop;return M.style.top="".concat(j,"px"),M.setAttribute("readonly",""),M.value=V,M}var te=function(_,M){var j=A(_);M.container.appendChild(j);var D=f()(j);return u("copy"),j.remove(),D},ie=function(_){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},j="";return typeof _=="string"?j=te(_,M):_ instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(_==null?void 0:_.type)?j=te(_.value,M):(j=f()(_),u("copy")),j},J=ie;function H(V){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?H=function(M){return typeof M}:H=function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},H(V)}var mt=function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},M=_.action,j=M===void 0?"copy":M,D=_.container,Y=_.target,ke=_.text;if(j!=="copy"&&j!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(Y!==void 0)if(Y&&H(Y)==="object"&&Y.nodeType===1){if(j==="copy"&&Y.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(j==="cut"&&(Y.hasAttribute("readonly")||Y.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(ke)return J(ke,{container:D});if(Y)return j==="cut"?w(Y):J(Y,{container:D})},ze=mt;function Ie(V){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ie=function(M){return typeof M}:Ie=function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},Ie(V)}function _i(V,_){if(!(V instanceof _))throw new TypeError("Cannot call a class as a function")}function ro(V,_){for(var M=0;M<_.length;M++){var j=_[M];j.enumerable=j.enumerable||!1,j.configurable=!0,"value"in j&&(j.writable=!0),Object.defineProperty(V,j.key,j)}}function Ai(V,_,M){return _&&ro(V.prototype,_),M&&ro(V,M),V}function Ci(V,_){if(typeof _!="function"&&_!==null)throw new TypeError("Super expression must either be null or a function");V.prototype=Object.create(_&&_.prototype,{constructor:{value:V,writable:!0,configurable:!0}}),_&&br(V,_)}function br(V,_){return br=Object.setPrototypeOf||function(j,D){return j.__proto__=D,j},br(V,_)}function Hi(V){var _=Pi();return function(){var j=Wt(V),D;if(_){var Y=Wt(this).constructor;D=Reflect.construct(j,arguments,Y)}else D=j.apply(this,arguments);return ki(this,D)}}function ki(V,_){return _&&(Ie(_)==="object"||typeof _=="function")?_:$i(V)}function $i(V){if(V===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return V}function Pi(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(V){return!1}}function Wt(V){return Wt=Object.setPrototypeOf?Object.getPrototypeOf:function(M){return M.__proto__||Object.getPrototypeOf(M)},Wt(V)}function vr(V,_){var M="data-clipboard-".concat(V);if(_.hasAttribute(M))return _.getAttribute(M)}var Ri=function(V){Ci(M,V);var _=Hi(M);function M(j,D){var Y;return _i(this,M),Y=_.call(this),Y.resolveOptions(D),Y.listenClick(j),Y}return Ai(M,[{key:"resolveOptions",value:function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof D.action=="function"?D.action:this.defaultAction,this.target=typeof D.target=="function"?D.target:this.defaultTarget,this.text=typeof D.text=="function"?D.text:this.defaultText,this.container=Ie(D.container)==="object"?D.container:document.body}},{key:"listenClick",value:function(D){var Y=this;this.listener=c()(D,"click",function(ke){return Y.onClick(ke)})}},{key:"onClick",value:function(D){var Y=D.delegateTarget||D.currentTarget,ke=this.action(Y)||"copy",Ut=ze({action:ke,container:this.container,target:this.target(Y),text:this.text(Y)});this.emit(Ut?"success":"error",{action:ke,text:Ut,trigger:Y,clearSelection:function(){Y&&Y.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(D){return vr("action",D)}},{key:"defaultTarget",value:function(D){var Y=vr("target",D);if(Y)return document.querySelector(Y)}},{key:"defaultText",value:function(D){return vr("text",D)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(D){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return J(D,Y)}},{key:"cut",value:function(D){return w(D)}},{key:"isSupported",value:function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],Y=typeof D=="string"?[D]:D,ke=!!document.queryCommandSupported;return Y.forEach(function(Ut){ke=ke&&!!document.queryCommandSupported(Ut)}),ke}}]),M}(s()),Ii=Ri},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function a(s,p){for(;s&&s.nodeType!==n;){if(typeof s.matches=="function"&&s.matches(p))return s;s=s.parentNode}}o.exports=a},438:function(o,n,i){var a=i(828);function s(l,f,u,h,w){var A=c.apply(this,arguments);return l.addEventListener(u,A,w),{destroy:function(){l.removeEventListener(u,A,w)}}}function p(l,f,u,h,w){return typeof l.addEventListener=="function"?s.apply(null,arguments):typeof u=="function"?s.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(A){return s(A,f,u,h,w)}))}function c(l,f,u,h){return function(w){w.delegateTarget=a(w.target,f),w.delegateTarget&&h.call(l,w)}}o.exports=p},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var a=Object.prototype.toString.call(i);return i!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var a=Object.prototype.toString.call(i);return a==="[object Function]"}},370:function(o,n,i){var a=i(879),s=i(438);function p(u,h,w){if(!u&&!h&&!w)throw new Error("Missing required arguments");if(!a.string(h))throw new TypeError("Second argument must be a String");if(!a.fn(w))throw new TypeError("Third argument must be a Function");if(a.node(u))return c(u,h,w);if(a.nodeList(u))return l(u,h,w);if(a.string(u))return f(u,h,w);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function c(u,h,w){return u.addEventListener(h,w),{destroy:function(){u.removeEventListener(h,w)}}}function l(u,h,w){return Array.prototype.forEach.call(u,function(A){A.addEventListener(h,w)}),{destroy:function(){Array.prototype.forEach.call(u,function(A){A.removeEventListener(h,w)})}}}function f(u,h,w){return s(document.body,u,h,w)}o.exports=p},817:function(o){function n(i){var a;if(i.nodeName==="SELECT")i.focus(),a=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var s=i.hasAttribute("readonly");s||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),s||i.removeAttribute("readonly"),a=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var p=window.getSelection(),c=document.createRange();c.selectNodeContents(i),p.removeAllRanges(),p.addRange(c),a=p.toString()}return a}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,a,s){var p=this.e||(this.e={});return(p[i]||(p[i]=[])).push({fn:a,ctx:s}),this},once:function(i,a,s){var p=this;function c(){p.off(i,c),a.apply(s,arguments)}return c._=a,this.on(i,c,s)},emit:function(i){var a=[].slice.call(arguments,1),s=((this.e||(this.e={}))[i]||[]).slice(),p=0,c=s.length;for(p;p{"use strict";/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */var ts=/["'&<>]/;ei.exports=rs;function rs(e){var t=""+e,r=ts.exec(t);if(!r)return t;var o,n="",i=0,a=0;for(i=r.index;i0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function N(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],a;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(s){a={error:s}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function q(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o1||s(u,h)})})}function s(u,h){try{p(o[u](h))}catch(w){f(i[0][3],w)}}function p(u){u.value instanceof nt?Promise.resolve(u.value.v).then(c,l):f(i[0][2],u)}function c(u){s("next",u)}function l(u){s("throw",u)}function f(u,h){u(h),i.shift(),i.length&&s(i[0][0],i[0][1])}}function mo(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof de=="function"?de(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(a){return new Promise(function(s,p){a=e[i](a),n(s,p,a.done,a.value)})}}function n(i,a,s,p){Promise.resolve(p).then(function(c){i({value:c,done:s})},a)}}function k(e){return typeof e=="function"}function ft(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var zt=ft(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(o,n){return n+1+") "+o.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}});function qe(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Fe=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=de(a),p=s.next();!p.done;p=s.next()){var c=p.value;c.remove(this)}}catch(A){t={error:A}}finally{try{p&&!p.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}else a.remove(this);var l=this.initialTeardown;if(k(l))try{l()}catch(A){i=A instanceof zt?A.errors:[A]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=de(f),h=u.next();!h.done;h=u.next()){var w=h.value;try{fo(w)}catch(A){i=i!=null?i:[],A instanceof zt?i=q(q([],N(i)),N(A.errors)):i.push(A)}}}catch(A){o={error:A}}finally{try{h&&!h.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new zt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)fo(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&qe(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&qe(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Tr=Fe.EMPTY;function qt(e){return e instanceof Fe||e&&"closed"in e&&k(e.remove)&&k(e.add)&&k(e.unsubscribe)}function fo(e){k(e)?e():e.unsubscribe()}var $e={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var ut={setTimeout:function(e,t){for(var r=[],o=2;o0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,a=n.isStopped,s=n.observers;return i||a?Tr:(this.currentObservers=null,s.push(r),new Fe(function(){o.currentObservers=null,qe(s,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,a=o.isStopped;n?r.error(i):a&&r.complete()},t.prototype.asObservable=function(){var r=new F;return r.source=this,r},t.create=function(r,o){return new Eo(r,o)},t}(F);var Eo=function(e){re(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:Tr},t}(g);var _r=function(e){re(t,e);function t(r){var o=e.call(this)||this;return o._value=r,o}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(r){var o=e.prototype._subscribe.call(this,r);return!o.closed&&r.next(this._value),o},t.prototype.getValue=function(){var r=this,o=r.hasError,n=r.thrownError,i=r._value;if(o)throw n;return this._throwIfClosed(),i},t.prototype.next=function(r){e.prototype.next.call(this,this._value=r)},t}(g);var Lt={now:function(){return(Lt.delegate||Date).now()},delegate:void 0};var _t=function(e){re(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=Lt);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,a=o._infiniteTimeWindow,s=o._timestampProvider,p=o._windowTime;n||(i.push(r),!a&&i.push(s.now()+p)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,a=n._buffer,s=a.slice(),p=0;p0?e.prototype.schedule.call(this,r,o):(this.delay=o,this.state=r,this.scheduler.flush(this),this)},t.prototype.execute=function(r,o){return o>0||this.closed?e.prototype.execute.call(this,r,o):this._execute(r,o)},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.flush(this),0)},t}(vt);var So=function(e){re(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(gt);var Hr=new So(To);var Oo=function(e){re(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!==null&&n>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=bt.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var a=r.actions;o!=null&&((i=a[a.length-1])===null||i===void 0?void 0:i.id)!==o&&(bt.cancelAnimationFrame(o),r._scheduled=void 0)},t}(vt);var Mo=function(e){re(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o=this._scheduled;this._scheduled=void 0;var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t}(gt);var me=new Mo(Oo);var O=new F(function(e){return e.complete()});function Yt(e){return e&&k(e.schedule)}function kr(e){return e[e.length-1]}function Xe(e){return k(kr(e))?e.pop():void 0}function He(e){return Yt(kr(e))?e.pop():void 0}function Bt(e,t){return typeof kr(e)=="number"?e.pop():t}var xt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Gt(e){return k(e==null?void 0:e.then)}function Jt(e){return k(e[ht])}function Xt(e){return Symbol.asyncIterator&&k(e==null?void 0:e[Symbol.asyncIterator])}function Zt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Gi(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var er=Gi();function tr(e){return k(e==null?void 0:e[er])}function rr(e){return lo(this,arguments,function(){var r,o,n,i;return Nt(this,function(a){switch(a.label){case 0:r=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,nt(r.read())];case 3:return o=a.sent(),n=o.value,i=o.done,i?[4,nt(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,nt(n)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function or(e){return k(e==null?void 0:e.getReader)}function W(e){if(e instanceof F)return e;if(e!=null){if(Jt(e))return Ji(e);if(xt(e))return Xi(e);if(Gt(e))return Zi(e);if(Xt(e))return Lo(e);if(tr(e))return ea(e);if(or(e))return ta(e)}throw Zt(e)}function Ji(e){return new F(function(t){var r=e[ht]();if(k(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Xi(e){return new F(function(t){for(var r=0;r=2;return function(o){return o.pipe(e?b(function(n,i){return e(n,i,o)}):le,Te(1),r?Be(t):zo(function(){return new ir}))}}function Fr(e){return e<=0?function(){return O}:y(function(t,r){var o=[];t.subscribe(T(r,function(n){o.push(n),e=2,!0))}function pe(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new g}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,a=i===void 0?!0:i,s=e.resetOnRefCountZero,p=s===void 0?!0:s;return function(c){var l,f,u,h=0,w=!1,A=!1,te=function(){f==null||f.unsubscribe(),f=void 0},ie=function(){te(),l=u=void 0,w=A=!1},J=function(){var H=l;ie(),H==null||H.unsubscribe()};return y(function(H,mt){h++,!A&&!w&&te();var ze=u=u!=null?u:r();mt.add(function(){h--,h===0&&!A&&!w&&(f=Wr(J,p))}),ze.subscribe(mt),!l&&h>0&&(l=new at({next:function(Ie){return ze.next(Ie)},error:function(Ie){A=!0,te(),f=Wr(ie,n,Ie),ze.error(Ie)},complete:function(){w=!0,te(),f=Wr(ie,a),ze.complete()}}),W(H).subscribe(l))})(c)}}function Wr(e,t){for(var r=[],o=2;oe.next(document)),e}function $(e,t=document){return Array.from(t.querySelectorAll(e))}function P(e,t=document){let r=fe(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function fe(e,t=document){return t.querySelector(e)||void 0}function Re(){var e,t,r,o;return(o=(r=(t=(e=document.activeElement)==null?void 0:e.shadowRoot)==null?void 0:t.activeElement)!=null?r:document.activeElement)!=null?o:void 0}var xa=S(d(document.body,"focusin"),d(document.body,"focusout")).pipe(_e(1),Q(void 0),m(()=>Re()||document.body),G(1));function et(e){return xa.pipe(m(t=>e.contains(t)),K())}function kt(e,t){return C(()=>S(d(e,"mouseenter").pipe(m(()=>!0)),d(e,"mouseleave").pipe(m(()=>!1))).pipe(t?Ht(r=>Me(+!r*t)):le,Q(e.matches(":hover"))))}function Bo(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)Bo(e,r)}function x(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)Bo(o,n);return o}function sr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function wt(e){let t=x("script",{src:e});return C(()=>(document.head.appendChild(t),S(d(t,"load"),d(t,"error").pipe(v(()=>$r(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),L(()=>document.head.removeChild(t)),Te(1))))}var Go=new g,ya=C(()=>typeof ResizeObserver=="undefined"?wt("https://unpkg.com/resize-observer-polyfill"):I(void 0)).pipe(m(()=>new ResizeObserver(e=>e.forEach(t=>Go.next(t)))),v(e=>S(Ke,I(e)).pipe(L(()=>e.disconnect()))),G(1));function ce(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ge(e){let t=e;for(;t.clientWidth===0&&t.parentElement;)t=t.parentElement;return ya.pipe(E(r=>r.observe(t)),v(r=>Go.pipe(b(o=>o.target===t),L(()=>r.unobserve(t)))),m(()=>ce(e)),Q(ce(e)))}function Tt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function cr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}function Jo(e){let t=[],r=e.parentElement;for(;r;)(e.clientWidth>r.clientWidth||e.clientHeight>r.clientHeight)&&t.push(r),r=(e=r).parentElement;return t.length===0&&t.push(document.documentElement),t}function Ue(e){return{x:e.offsetLeft,y:e.offsetTop}}function Xo(e){let t=e.getBoundingClientRect();return{x:t.x+window.scrollX,y:t.y+window.scrollY}}function Zo(e){return S(d(window,"load"),d(window,"resize")).pipe(Le(0,me),m(()=>Ue(e)),Q(Ue(e)))}function pr(e){return{x:e.scrollLeft,y:e.scrollTop}}function De(e){return S(d(e,"scroll"),d(window,"scroll"),d(window,"resize")).pipe(Le(0,me),m(()=>pr(e)),Q(pr(e)))}var en=new g,Ea=C(()=>I(new IntersectionObserver(e=>{for(let t of e)en.next(t)},{threshold:0}))).pipe(v(e=>S(Ke,I(e)).pipe(L(()=>e.disconnect()))),G(1));function tt(e){return Ea.pipe(E(t=>t.observe(e)),v(t=>en.pipe(b(({target:r})=>r===e),L(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function tn(e,t=16){return De(e).pipe(m(({y:r})=>{let o=ce(e),n=Tt(e);return r>=n.height-o.height-t}),K())}var lr={drawer:P("[data-md-toggle=drawer]"),search:P("[data-md-toggle=search]")};function rn(e){return lr[e].checked}function Je(e,t){lr[e].checked!==t&&lr[e].click()}function Ve(e){let t=lr[e];return d(t,"change").pipe(m(()=>t.checked),Q(t.checked))}function wa(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function Ta(){return S(d(window,"compositionstart").pipe(m(()=>!0)),d(window,"compositionend").pipe(m(()=>!1))).pipe(Q(!1))}function on(){let e=d(window,"keydown").pipe(b(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:rn("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),b(({mode:t,type:r})=>{if(t==="global"){let o=Re();if(typeof o!="undefined")return!wa(o,r)}return!0}),pe());return Ta().pipe(v(t=>t?O:e))}function xe(){return new URL(location.href)}function pt(e,t=!1){if(B("navigation.instant")&&!t){let r=x("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function nn(){return new g}function an(){return location.hash.slice(1)}function sn(e){let t=x("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Sa(e){return S(d(window,"hashchange"),e).pipe(m(an),Q(an()),b(t=>t.length>0),G(1))}function cn(e){return Sa(e).pipe(m(t=>fe(`[id="${t}"]`)),b(t=>typeof t!="undefined"))}function $t(e){let t=matchMedia(e);return ar(r=>t.addListener(()=>r(t.matches))).pipe(Q(t.matches))}function pn(){let e=matchMedia("print");return S(d(window,"beforeprint").pipe(m(()=>!0)),d(window,"afterprint").pipe(m(()=>!1))).pipe(Q(e.matches))}function Nr(e,t){return e.pipe(v(r=>r?t():O))}function zr(e,t){return new F(r=>{let o=new XMLHttpRequest;return o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network error"))}),o.addEventListener("abort",()=>{r.complete()}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{var i;if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let a=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+a*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function Ne(e,t){return zr(e,t).pipe(v(r=>r.text()),m(r=>JSON.parse(r)),G(1))}function ln(e,t){let r=new DOMParser;return zr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),G(1))}function mn(e,t){let r=new DOMParser;return zr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),G(1))}function fn(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function un(){return S(d(window,"scroll",{passive:!0}),d(window,"resize",{passive:!0})).pipe(m(fn),Q(fn()))}function dn(){return{width:innerWidth,height:innerHeight}}function hn(){return d(window,"resize",{passive:!0}).pipe(m(dn),Q(dn()))}function bn(){return z([un(),hn()]).pipe(m(([e,t])=>({offset:e,size:t})),G(1))}function mr(e,{viewport$:t,header$:r}){let o=t.pipe(Z("size")),n=z([o,r]).pipe(m(()=>Ue(e)));return z([r,t,n]).pipe(m(([{height:i},{offset:a,size:s},{x:p,y:c}])=>({offset:{x:a.x-p,y:a.y-c+i},size:s})))}function Oa(e){return d(e,"message",t=>t.data)}function Ma(e){let t=new g;return t.subscribe(r=>e.postMessage(r)),t}function vn(e,t=new Worker(e)){let r=Oa(t),o=Ma(t),n=new g;n.subscribe(o);let i=o.pipe(X(),ne(!0));return n.pipe(X(),Pe(r.pipe(U(i))),pe())}var La=P("#__config"),St=JSON.parse(La.textContent);St.base=`${new URL(St.base,xe())}`;function ye(){return St}function B(e){return St.features.includes(e)}function Ee(e,t){return typeof t!="undefined"?St.translations[e].replace("#",t.toString()):St.translations[e]}function Se(e,t=document){return P(`[data-md-component=${e}]`,t)}function ae(e,t=document){return $(`[data-md-component=${e}]`,t)}function _a(e){let t=P(".md-typeset > :first-child",e);return d(t,"click",{once:!0}).pipe(m(()=>P(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function gn(e){if(!B("announce.dismiss")||!e.childElementCount)return O;if(!e.hidden){let t=P(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return C(()=>{let t=new g;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),_a(e).pipe(E(r=>t.next(r)),L(()=>t.complete()),m(r=>R({ref:e},r)))})}function Aa(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function xn(e,t){let r=new g;return r.subscribe(({hidden:o})=>{e.hidden=o}),Aa(e,t).pipe(E(o=>r.next(o)),L(()=>r.complete()),m(o=>R({ref:e},o)))}function Pt(e,t){return t==="inline"?x("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"})):x("div",{class:"md-tooltip",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"}))}function yn(...e){return x("div",{class:"md-tooltip2",role:"tooltip"},x("div",{class:"md-tooltip2__inner md-typeset"},e))}function En(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return x("aside",{class:"md-annotation",tabIndex:0},Pt(t),x("a",{href:r,class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}else return x("aside",{class:"md-annotation",tabIndex:0},Pt(t),x("span",{class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}function wn(e){return x("button",{class:"md-clipboard md-icon",title:Ee("clipboard.copy"),"data-clipboard-target":`#${e} > code`})}function qr(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(p=>!e.terms[p]).reduce((p,c)=>[...p,x("del",null,c)," "],[]).slice(0,-1),i=ye(),a=new URL(e.location,i.base);B("search.highlight")&&a.searchParams.set("h",Object.entries(e.terms).filter(([,p])=>p).reduce((p,[c])=>`${p} ${c}`.trim(),""));let{tags:s}=ye();return x("a",{href:`${a}`,class:"md-search-result__link",tabIndex:-1},x("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&x("div",{class:"md-search-result__icon md-icon"}),r>0&&x("h1",null,e.title),r<=0&&x("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&e.tags.map(p=>{let c=s?p in s?`md-tag-icon md-tag--${s[p]}`:"md-tag-icon":"";return x("span",{class:`md-tag ${c}`},p)}),o>0&&n.length>0&&x("p",{class:"md-search-result__terms"},Ee("search.result.term.missing"),": ",...n)))}function Tn(e){let t=e[0].score,r=[...e],o=ye(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),a=r.findIndex(l=>l.scoreqr(l,1)),...p.length?[x("details",{class:"md-search-result__more"},x("summary",{tabIndex:-1},x("div",null,p.length>0&&p.length===1?Ee("search.result.more.one"):Ee("search.result.more.other",p.length))),...p.map(l=>qr(l,1)))]:[]];return x("li",{class:"md-search-result__item"},c)}function Sn(e){return x("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>x("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?sr(r):r)))}function Qr(e){let t=`tabbed-control tabbed-control--${e}`;return x("div",{class:t,hidden:!0},x("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function On(e){return x("div",{class:"md-typeset__scrollwrap"},x("div",{class:"md-typeset__table"},e))}function Ca(e){var o;let t=ye(),r=new URL(`../${e.version}/`,t.base);return x("li",{class:"md-version__item"},x("a",{href:`${r}`,class:"md-version__link"},e.title,((o=t.version)==null?void 0:o.alias)&&e.aliases.length>0&&x("span",{class:"md-version__alias"},e.aliases[0])))}function Mn(e,t){var o;let r=ye();return e=e.filter(n=>{var i;return!((i=n.properties)!=null&&i.hidden)}),x("div",{class:"md-version"},x("button",{class:"md-version__current","aria-label":Ee("select.version")},t.title,((o=r.version)==null?void 0:o.alias)&&t.aliases.length>0&&x("span",{class:"md-version__alias"},t.aliases[0])),x("ul",{class:"md-version__list"},e.map(Ca)))}var Ha=0;function ka(e){let t=z([et(e),kt(e)]).pipe(m(([o,n])=>o||n),K()),r=C(()=>Jo(e)).pipe(oe(De),ct(1),m(()=>Xo(e)));return t.pipe(Ae(o=>o),v(()=>z([t,r])),m(([o,n])=>({active:o,offset:n})),pe())}function $a(e,t){let{content$:r,viewport$:o}=t,n=`__tooltip2_${Ha++}`;return C(()=>{let i=new g,a=new _r(!1);i.pipe(X(),ne(!1)).subscribe(a);let s=a.pipe(Ht(c=>Me(+!c*250,Hr)),K(),v(c=>c?r:O),E(c=>c.id=n),pe());z([i.pipe(m(({active:c})=>c)),s.pipe(v(c=>kt(c,250)),Q(!1))]).pipe(m(c=>c.some(l=>l))).subscribe(a);let p=a.pipe(b(c=>c),ee(s,o),m(([c,l,{size:f}])=>{let u=e.getBoundingClientRect(),h=u.width/2;if(l.role==="tooltip")return{x:h,y:8+u.height};if(u.y>=f.height/2){let{height:w}=ce(l);return{x:h,y:-16-w}}else return{x:h,y:16+u.height}}));return z([s,i,p]).subscribe(([c,{offset:l},f])=>{c.style.setProperty("--md-tooltip-host-x",`${l.x}px`),c.style.setProperty("--md-tooltip-host-y",`${l.y}px`),c.style.setProperty("--md-tooltip-x",`${f.x}px`),c.style.setProperty("--md-tooltip-y",`${f.y}px`),c.classList.toggle("md-tooltip2--top",f.y<0),c.classList.toggle("md-tooltip2--bottom",f.y>=0)}),a.pipe(b(c=>c),ee(s,(c,l)=>l),b(c=>c.role==="tooltip")).subscribe(c=>{let l=ce(P(":scope > *",c));c.style.setProperty("--md-tooltip-width",`${l.width}px`),c.style.setProperty("--md-tooltip-tail","0px")}),a.pipe(K(),be(me),ee(s)).subscribe(([c,l])=>{l.classList.toggle("md-tooltip2--active",c)}),z([a.pipe(b(c=>c)),s]).subscribe(([c,l])=>{l.role==="dialog"?(e.setAttribute("aria-controls",n),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("aria-describedby",n)}),a.pipe(b(c=>!c)).subscribe(()=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-describedby"),e.removeAttribute("aria-haspopup")}),ka(e).pipe(E(c=>i.next(c)),L(()=>i.complete()),m(c=>R({ref:e},c)))})}function lt(e,{viewport$:t},r=document.body){return $a(e,{content$:new F(o=>{let n=e.title,i=yn(n);return o.next(i),e.removeAttribute("title"),r.append(i),()=>{i.remove(),e.setAttribute("title",n)}}),viewport$:t})}function Pa(e,t){let r=C(()=>z([Zo(e),De(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:a,height:s}=ce(e);return{x:o-i.x+a/2,y:n-i.y+s/2}}));return et(e).pipe(v(o=>r.pipe(m(n=>({active:o,offset:n})),Te(+!o||1/0))))}function Ln(e,t,{target$:r}){let[o,n]=Array.from(e.children);return C(()=>{let i=new g,a=i.pipe(X(),ne(!0));return i.subscribe({next({offset:s}){e.style.setProperty("--md-tooltip-x",`${s.x}px`),e.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),tt(e).pipe(U(a)).subscribe(s=>{e.toggleAttribute("data-md-visible",s)}),S(i.pipe(b(({active:s})=>s)),i.pipe(_e(250),b(({active:s})=>!s))).subscribe({next({active:s}){s?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe(Le(16,me)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(ct(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?e.style.setProperty("--md-tooltip-0",`${-s}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),d(n,"click").pipe(U(a),b(s=>!(s.metaKey||s.ctrlKey))).subscribe(s=>{s.stopPropagation(),s.preventDefault()}),d(n,"mousedown").pipe(U(a),ee(i)).subscribe(([s,{active:p}])=>{var c;if(s.button!==0||s.metaKey||s.ctrlKey)s.preventDefault();else if(p){s.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(c=Re())==null||c.blur()}}),r.pipe(U(a),b(s=>s===o),Ge(125)).subscribe(()=>e.focus()),Pa(e,t).pipe(E(s=>i.next(s)),L(()=>i.complete()),m(s=>R({ref:e},s)))})}function Ra(e){return e.tagName==="CODE"?$(".c, .c1, .cm",e):[e]}function Ia(e){let t=[];for(let r of Ra(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let a;for(;a=/(\(\d+\))(!)?/.exec(i.textContent);){let[,s,p]=a;if(typeof p=="undefined"){let c=i.splitText(a.index);i=c.splitText(s.length),t.push(c)}else{i.textContent=s,t.push(i);break}}}}return t}function _n(e,t){t.append(...Array.from(e.childNodes))}function fr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,a=new Map;for(let s of Ia(t)){let[,p]=s.textContent.match(/\((\d+)\)/);fe(`:scope > li:nth-child(${p})`,e)&&(a.set(p,En(p,i)),s.replaceWith(a.get(p)))}return a.size===0?O:C(()=>{let s=new g,p=s.pipe(X(),ne(!0)),c=[];for(let[l,f]of a)c.push([P(".md-typeset",f),P(`:scope > li:nth-child(${l})`,e)]);return o.pipe(U(p)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of c)l?_n(f,u):_n(u,f)}),S(...[...a].map(([,l])=>Ln(l,t,{target$:r}))).pipe(L(()=>s.complete()),pe())})}function An(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return An(t)}}function Cn(e,t){return C(()=>{let r=An(e);return typeof r!="undefined"?fr(r,e,t):O})}var Hn=Vt(Yr());var Fa=0;function kn(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return kn(t)}}function ja(e){return ge(e).pipe(m(({width:t})=>({scrollable:Tt(e).width>t})),Z("scrollable"))}function $n(e,t){let{matches:r}=matchMedia("(hover)"),o=C(()=>{let n=new g,i=n.pipe(Fr(1));n.subscribe(({scrollable:c})=>{c&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let a=[];if(Hn.default.isSupported()&&(e.closest(".copy")||B("content.code.copy")&&!e.closest(".no-copy"))){let c=e.closest("pre");c.id=`__code_${Fa++}`;let l=wn(c.id);c.insertBefore(l,e),B("content.tooltips")&&a.push(lt(l,{viewport$}))}let s=e.closest(".highlight");if(s instanceof HTMLElement){let c=kn(s);if(typeof c!="undefined"&&(s.classList.contains("annotate")||B("content.code.annotate"))){let l=fr(c,e,t);a.push(ge(s).pipe(U(i),m(({width:f,height:u})=>f&&u),K(),v(f=>f?l:O)))}}return $(":scope > span[id]",e).length&&e.classList.add("md-code__content"),ja(e).pipe(E(c=>n.next(c)),L(()=>n.complete()),m(c=>R({ref:e},c)),Pe(...a))});return B("content.lazy")?tt(e).pipe(b(n=>n),Te(1),v(()=>o)):o}function Wa(e,{target$:t,print$:r}){let o=!0;return S(t.pipe(m(n=>n.closest("details:not([open])")),b(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(b(n=>n||!o),E(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function Pn(e,t){return C(()=>{let r=new g;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),Wa(e,t).pipe(E(o=>r.next(o)),L(()=>r.complete()),m(o=>R({ref:e},o)))})}var Rn=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel rect,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel rect{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color);stroke-width:.05rem}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs #classDiagram-compositionEnd,defs #classDiagram-compositionStart,defs #classDiagram-dependencyEnd,defs #classDiagram-dependencyStart,defs #classDiagram-extensionEnd,defs #classDiagram-extensionStart{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs #classDiagram-aggregationEnd,defs #classDiagram-aggregationStart{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}.attributeBoxEven,.attributeBoxOdd{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityBox{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityLabel{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.relationshipLabelBox{fill:var(--md-mermaid-label-bg-color);fill-opacity:1;background-color:var(--md-mermaid-label-bg-color);opacity:1}.relationshipLabel{fill:var(--md-mermaid-label-fg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs #ONE_OR_MORE_END *,defs #ONE_OR_MORE_START *,defs #ONLY_ONE_END *,defs #ONLY_ONE_START *,defs #ZERO_OR_MORE_END *,defs #ZERO_OR_MORE_START *,defs #ZERO_OR_ONE_END *,defs #ZERO_OR_ONE_START *{stroke:var(--md-mermaid-edge-color)!important}defs #ZERO_OR_MORE_END circle,defs #ZERO_OR_MORE_START circle{fill:var(--md-mermaid-label-bg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var Br,Da=0;function Va(){return typeof mermaid=="undefined"||mermaid instanceof Element?wt("https://unpkg.com/mermaid@10/dist/mermaid.min.js"):I(void 0)}function In(e){return e.classList.remove("mermaid"),Br||(Br=Va().pipe(E(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Rn,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),G(1))),Br.subscribe(()=>ao(this,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${Da++}`,r=x("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),a=r.attachShadow({mode:"closed"});a.innerHTML=n,e.replaceWith(r),i==null||i(a)})),Br.pipe(m(()=>({ref:e})))}var Fn=x("table");function jn(e){return e.replaceWith(Fn),Fn.replaceWith(On(e)),I({ref:e})}function Na(e){let t=e.find(r=>r.checked)||e[0];return S(...e.map(r=>d(r,"change").pipe(m(()=>P(`label[for="${r.id}"]`))))).pipe(Q(P(`label[for="${t.id}"]`)),m(r=>({active:r})))}function Wn(e,{viewport$:t,target$:r}){let o=P(".tabbed-labels",e),n=$(":scope > input",e),i=Qr("prev");e.append(i);let a=Qr("next");return e.append(a),C(()=>{let s=new g,p=s.pipe(X(),ne(!0));z([s,ge(e),tt(e)]).pipe(U(p),Le(1,me)).subscribe({next([{active:c},l]){let f=Ue(c),{width:u}=ce(c);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let h=pr(o);(f.xh.x+l.width)&&o.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),z([De(o),ge(o)]).pipe(U(p)).subscribe(([c,l])=>{let f=Tt(o);i.hidden=c.x<16,a.hidden=c.x>f.width-l.width-16}),S(d(i,"click").pipe(m(()=>-1)),d(a,"click").pipe(m(()=>1))).pipe(U(p)).subscribe(c=>{let{width:l}=ce(o);o.scrollBy({left:l*c,behavior:"smooth"})}),r.pipe(U(p),b(c=>n.includes(c))).subscribe(c=>c.click()),o.classList.add("tabbed-labels--linked");for(let c of n){let l=P(`label[for="${c.id}"]`);l.replaceChildren(x("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),d(l.firstElementChild,"click").pipe(U(p),b(f=>!(f.metaKey||f.ctrlKey)),E(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return B("content.tabs.link")&&s.pipe(Ce(1),ee(t)).subscribe(([{active:c},{offset:l}])=>{let f=c.innerText.trim();if(c.hasAttribute("data-md-switching"))c.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let w of $("[data-tabs]"))for(let A of $(":scope > input",w)){let te=P(`label[for="${A.id}"]`);if(te!==c&&te.innerText.trim()===f){te.setAttribute("data-md-switching",""),A.click();break}}window.scrollTo({top:e.offsetTop-u});let h=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...h])])}}),s.pipe(U(p)).subscribe(()=>{for(let c of $("audio, video",e))c.pause()}),Na(n).pipe(E(c=>s.next(c)),L(()=>s.complete()),m(c=>R({ref:e},c)))}).pipe(Qe(se))}function Un(e,{viewport$:t,target$:r,print$:o}){return S(...$(".annotate:not(.highlight)",e).map(n=>Cn(n,{target$:r,print$:o})),...$("pre:not(.mermaid) > code",e).map(n=>$n(n,{target$:r,print$:o})),...$("pre.mermaid",e).map(n=>In(n)),...$("table:not([class])",e).map(n=>jn(n)),...$("details",e).map(n=>Pn(n,{target$:r,print$:o})),...$("[data-tabs]",e).map(n=>Wn(n,{viewport$:t,target$:r})),...$("[title]",e).filter(()=>B("content.tooltips")).map(n=>lt(n,{viewport$:t})))}function za(e,{alert$:t}){return t.pipe(v(r=>S(I(!0),I(!1).pipe(Ge(2e3))).pipe(m(o=>({message:r,active:o})))))}function Dn(e,t){let r=P(".md-typeset",e);return C(()=>{let o=new g;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),za(e,t).pipe(E(n=>o.next(n)),L(()=>o.complete()),m(n=>R({ref:e},n)))})}var qa=0;function Qa(e,t){document.body.append(e);let{width:r}=ce(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=cr(t),n=typeof o!="undefined"?De(o):I({x:0,y:0}),i=S(et(t),kt(t)).pipe(K());return z([i,n]).pipe(m(([a,s])=>{let{x:p,y:c}=Ue(t),l=ce(t),f=t.closest("table");return f&&t.parentElement&&(p+=f.offsetLeft+t.parentElement.offsetLeft,c+=f.offsetTop+t.parentElement.offsetTop),{active:a,offset:{x:p-s.x+l.width/2-r/2,y:c-s.y+l.height+8}}}))}function Vn(e){let t=e.title;if(!t.length)return O;let r=`__tooltip_${qa++}`,o=Pt(r,"inline"),n=P(".md-typeset",o);return n.innerHTML=t,C(()=>{let i=new g;return i.subscribe({next({offset:a}){o.style.setProperty("--md-tooltip-x",`${a.x}px`),o.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),S(i.pipe(b(({active:a})=>a)),i.pipe(_e(250),b(({active:a})=>!a))).subscribe({next({active:a}){a?(e.insertAdjacentElement("afterend",o),e.setAttribute("aria-describedby",r),e.removeAttribute("title")):(o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t))},complete(){o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t)}}),i.pipe(Le(16,me)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(ct(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?o.style.setProperty("--md-tooltip-0",`${-a}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),Qa(o,e).pipe(E(a=>i.next(a)),L(()=>i.complete()),m(a=>R({ref:e},a)))}).pipe(Qe(se))}function Ka({viewport$:e}){if(!B("header.autohide"))return I(!1);let t=e.pipe(m(({offset:{y:n}})=>n),Ye(2,1),m(([n,i])=>[nMath.abs(i-n.y)>100),m(([,[n]])=>n),K()),o=Ve("search");return z([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),K(),v(n=>n?r:I(!1)),Q(!1))}function Nn(e,t){return C(()=>z([ge(e),Ka(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),K((r,o)=>r.height===o.height&&r.hidden===o.hidden),G(1))}function zn(e,{header$:t,main$:r}){return C(()=>{let o=new g,n=o.pipe(X(),ne(!0));o.pipe(Z("active"),We(t)).subscribe(([{active:a},{hidden:s}])=>{e.classList.toggle("md-header--shadow",a&&!s),e.hidden=s});let i=ue($("[title]",e)).pipe(b(()=>B("content.tooltips")),oe(a=>Vn(a)));return r.subscribe(o),t.pipe(U(n),m(a=>R({ref:e},a)),Pe(i.pipe(U(n))))})}function Ya(e,{viewport$:t,header$:r}){return mr(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=ce(e);return{active:o>=n}}),Z("active"))}function qn(e,t){return C(()=>{let r=new g;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=fe(".md-content h1");return typeof o=="undefined"?O:Ya(o,t).pipe(E(n=>r.next(n)),L(()=>r.complete()),m(n=>R({ref:e},n)))})}function Qn(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),K()),n=o.pipe(v(()=>ge(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),Z("bottom"))));return z([o,n,t]).pipe(m(([i,{top:a,bottom:s},{offset:{y:p},size:{height:c}}])=>(c=Math.max(0,c-Math.max(0,a-p,i)-Math.max(0,c+p-s)),{offset:a-i,height:c,active:a-i<=p})),K((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function Ba(e){let t=__md_get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return I(...e).pipe(oe(o=>d(o,"change").pipe(m(()=>o))),Q(e[r]),m(o=>({index:e.indexOf(o),color:{media:o.getAttribute("data-md-color-media"),scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),G(1))}function Kn(e){let t=$("input",e),r=x("meta",{name:"theme-color"});document.head.appendChild(r);let o=x("meta",{name:"color-scheme"});document.head.appendChild(o);let n=$t("(prefers-color-scheme: light)");return C(()=>{let i=new g;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),p=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=p.getAttribute("data-md-color-scheme"),a.color.primary=p.getAttribute("data-md-color-primary"),a.color.accent=p.getAttribute("data-md-color-accent")}for(let[s,p]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,p);for(let s=0;sa.key==="Enter"),ee(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(m(()=>{let a=Se("header"),s=window.getComputedStyle(a);return o.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(p=>(+p).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(be(se)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),Ba(t).pipe(U(n.pipe(Ce(1))),st(),E(a=>i.next(a)),L(()=>i.complete()),m(a=>R({ref:e},a)))})}function Yn(e,{progress$:t}){return C(()=>{let r=new g;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(E(o=>r.next({value:o})),L(()=>r.complete()),m(o=>({ref:e,value:o})))})}var Gr=Vt(Yr());function Ga(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Bn({alert$:e}){Gr.default.isSupported()&&new F(t=>{new Gr.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||Ga(P(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(E(t=>{t.trigger.focus()}),m(()=>Ee("clipboard.copied"))).subscribe(e)}function Gn(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function Ja(e,t){let r=new Map;for(let o of $("url",e)){let n=P("loc",o),i=[Gn(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let a of $("[rel=alternate]",o)){let s=a.getAttribute("href");s!=null&&i.push(Gn(new URL(s),t))}}return r}function ur(e){return mn(new URL("sitemap.xml",e)).pipe(m(t=>Ja(t,new URL(e))),ve(()=>I(new Map)))}function Xa(e,t){if(!(e.target instanceof Element))return O;let r=e.target.closest("a");if(r===null)return O;if(r.target||e.metaKey||e.ctrlKey)return O;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),I(new URL(r.href))):O}function Jn(e){let t=new Map;for(let r of $(":scope > *",e.head))t.set(r.outerHTML,r);return t}function Xn(e){for(let t of $("[href], [src]",e))for(let r of["href","src"]){let o=t.getAttribute(r);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){t[r]=t[r];break}}return I(e)}function Za(e){for(let o of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...B("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=fe(o),i=fe(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=Jn(document);for(let[o,n]of Jn(e))t.has(o)?t.delete(o):document.head.appendChild(n);for(let o of t.values()){let n=o.getAttribute("name");n!=="theme-color"&&n!=="color-scheme"&&o.remove()}let r=Se("container");return je($("script",r)).pipe(v(o=>{let n=e.createElement("script");if(o.src){for(let i of o.getAttributeNames())n.setAttribute(i,o.getAttribute(i));return o.replaceWith(n),new F(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),O}),X(),ne(document))}function Zn({location$:e,viewport$:t,progress$:r}){let o=ye();if(location.protocol==="file:")return O;let n=ur(o.base);I(document).subscribe(Xn);let i=d(document.body,"click").pipe(We(n),v(([p,c])=>Xa(p,c)),pe()),a=d(window,"popstate").pipe(m(xe),pe());i.pipe(ee(t)).subscribe(([p,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",p)}),S(i,a).subscribe(e);let s=e.pipe(Z("pathname"),v(p=>ln(p,{progress$:r}).pipe(ve(()=>(pt(p,!0),O)))),v(Xn),v(Za),pe());return S(s.pipe(ee(e,(p,c)=>c)),s.pipe(v(()=>e),Z("pathname"),v(()=>e),Z("hash")),e.pipe(K((p,c)=>p.pathname===c.pathname&&p.hash===c.hash),v(()=>i),E(()=>history.back()))).subscribe(p=>{var c,l;history.state!==null||!p.hash?window.scrollTo(0,(l=(c=history.state)==null?void 0:c.y)!=null?l:0):(history.scrollRestoration="auto",sn(p.hash),history.scrollRestoration="manual")}),e.subscribe(()=>{history.scrollRestoration="manual"}),d(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),t.pipe(Z("offset"),_e(100)).subscribe(({offset:p})=>{history.replaceState(p,"")}),s}var ri=Vt(ti());function oi(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,a)=>`${i}${a}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return a=>(0,ri.default)(a).replace(i,o).replace(/<\/mark>(\s+)]*>/img,"$1")}}function It(e){return e.type===1}function dr(e){return e.type===3}function ni(e,t){let r=vn(e);return S(I(location.protocol!=="file:"),Ve("search")).pipe(Ae(o=>o),v(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:B("search.suggest")}}})),r}function ii({document$:e}){let t=ye(),r=Ne(new URL("../versions.json",t.base)).pipe(ve(()=>O)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:a,aliases:s})=>a===i||s.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),v(n=>d(document.body,"click").pipe(b(i=>!i.metaKey&&!i.ctrlKey),ee(o),v(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&n.has(s.href)){let p=s.href;return!i.target.closest(".md-version")&&n.get(p)===a?O:(i.preventDefault(),I(p))}}return O}),v(i=>ur(new URL(i)).pipe(m(a=>{let p=xe().href.replace(t.base,i);return a.has(p.split("#")[0])?new URL(p):new URL(i)})))))).subscribe(n=>pt(n,!0)),z([r,o]).subscribe(([n,i])=>{P(".md-header__topic").appendChild(Mn(n,i))}),e.pipe(v(()=>o)).subscribe(n=>{var a;let i=__md_get("__outdated",sessionStorage);if(i===null){i=!0;let s=((a=t.version)==null?void 0:a.default)||"latest";Array.isArray(s)||(s=[s]);e:for(let p of s)for(let c of n.aliases.concat(n.version))if(new RegExp(p,"i").test(c)){i=!1;break e}__md_set("__outdated",i,sessionStorage)}if(i)for(let s of ae("outdated"))s.hidden=!1})}function ns(e,{worker$:t}){let{searchParams:r}=xe();r.has("q")&&(Je("search",!0),e.value=r.get("q"),e.focus(),Ve("search").pipe(Ae(i=>!i)).subscribe(()=>{let i=xe();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=et(e),n=S(t.pipe(Ae(It)),d(e,"keyup"),o).pipe(m(()=>e.value),K());return z([n,o]).pipe(m(([i,a])=>({value:i,focus:a})),G(1))}function ai(e,{worker$:t}){let r=new g,o=r.pipe(X(),ne(!0));z([t.pipe(Ae(It)),r],(i,a)=>a).pipe(Z("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(Z("focus")).subscribe(({focus:i})=>{i&&Je("search",i)}),d(e.form,"reset").pipe(U(o)).subscribe(()=>e.focus());let n=P("header [for=__search]");return d(n,"click").subscribe(()=>e.focus()),ns(e,{worker$:t}).pipe(E(i=>r.next(i)),L(()=>r.complete()),m(i=>R({ref:e},i)),G(1))}function si(e,{worker$:t,query$:r}){let o=new g,n=tn(e.parentElement).pipe(b(Boolean)),i=e.parentElement,a=P(":scope > :first-child",e),s=P(":scope > :last-child",e);Ve("search").subscribe(l=>s.setAttribute("role",l?"list":"presentation")),o.pipe(ee(r),Ur(t.pipe(Ae(It)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:a.textContent=f.length?Ee("search.result.none"):Ee("search.result.placeholder");break;case 1:a.textContent=Ee("search.result.one");break;default:let u=sr(l.length);a.textContent=Ee("search.result.other",u)}});let p=o.pipe(E(()=>s.innerHTML=""),v(({items:l})=>S(I(...l.slice(0,10)),I(...l.slice(10)).pipe(Ye(4),Vr(n),v(([f])=>f)))),m(Tn),pe());return p.subscribe(l=>s.appendChild(l)),p.pipe(oe(l=>{let f=fe("details",l);return typeof f=="undefined"?O:d(f,"toggle").pipe(U(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(b(dr),m(({data:l})=>l)).pipe(E(l=>o.next(l)),L(()=>o.complete()),m(l=>R({ref:e},l)))}function is(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=xe();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function ci(e,t){let r=new g,o=r.pipe(X(),ne(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),d(e,"click").pipe(U(o)).subscribe(n=>n.preventDefault()),is(e,t).pipe(E(n=>r.next(n)),L(()=>r.complete()),m(n=>R({ref:e},n)))}function pi(e,{worker$:t,keyboard$:r}){let o=new g,n=Se("search-query"),i=S(d(n,"keydown"),d(n,"focus")).pipe(be(se),m(()=>n.value),K());return o.pipe(We(i),m(([{suggest:s},p])=>{let c=p.split(/([\s-]+)/);if(s!=null&&s.length&&c[c.length-1]){let l=s[s.length-1];l.startsWith(c[c.length-1])&&(c[c.length-1]=l)}else c.length=0;return c})).subscribe(s=>e.innerHTML=s.join("").replace(/\s/g," ")),r.pipe(b(({mode:s})=>s==="search")).subscribe(s=>{switch(s.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(b(dr),m(({data:s})=>s)).pipe(E(s=>o.next(s)),L(()=>o.complete()),m(()=>({ref:e})))}function li(e,{index$:t,keyboard$:r}){let o=ye();try{let n=ni(o.search,t),i=Se("search-query",e),a=Se("search-result",e);d(e,"click").pipe(b(({target:p})=>p instanceof Element&&!!p.closest("a"))).subscribe(()=>Je("search",!1)),r.pipe(b(({mode:p})=>p==="search")).subscribe(p=>{let c=Re();switch(p.type){case"Enter":if(c===i){let l=new Map;for(let f of $(":first-child [href]",a)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,h])=>h-u);f.click()}p.claim()}break;case"Escape":case"Tab":Je("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof c=="undefined")i.focus();else{let l=[i,...$(":not(details) > [href], summary, details[open] [href]",a)],f=Math.max(0,(Math.max(0,l.indexOf(c))+l.length+(p.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}p.claim();break;default:i!==Re()&&i.focus()}}),r.pipe(b(({mode:p})=>p==="global")).subscribe(p=>{switch(p.type){case"f":case"s":case"/":i.focus(),i.select(),p.claim();break}});let s=ai(i,{worker$:n});return S(s,si(a,{worker$:n,query$:s})).pipe(Pe(...ae("search-share",e).map(p=>ci(p,{query$:s})),...ae("search-suggest",e).map(p=>pi(p,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,Ke}}function mi(e,{index$:t,location$:r}){return z([t,r.pipe(Q(xe()),b(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>oi(o.config)(n.searchParams.get("h"))),m(o=>{var a;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let p=s.textContent,c=o(p);c.length>p.length&&n.set(s,c)}for(let[s,p]of n){let{childNodes:c}=x("span",null,p);s.replaceWith(...Array.from(c))}return{ref:e,nodes:n}}))}function as(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return z([r,t]).pipe(m(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(n,Math.max(0,s-i))-n,{height:a,locked:s>=i+n})),K((i,a)=>i.height===a.height&&i.locked===a.locked))}function Jr(e,o){var n=o,{header$:t}=n,r=io(n,["header$"]);let i=P(".md-sidebar__scrollwrap",e),{y:a}=Ue(i);return C(()=>{let s=new g,p=s.pipe(X(),ne(!0)),c=s.pipe(Le(0,me));return c.pipe(ee(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),c.pipe(Ae()).subscribe(()=>{for(let l of $(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:h}=ce(f);f.scrollTo({top:u-h/2})}}}),ue($("label[tabindex]",e)).pipe(oe(l=>d(l,"click").pipe(be(se),m(()=>l),U(p)))).subscribe(l=>{let f=P(`[id="${l.htmlFor}"]`);P(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),as(e,r).pipe(E(l=>s.next(l)),L(()=>s.complete()),m(l=>R({ref:e},l)))})}function fi(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return Ct(Ne(`${r}/releases/latest`).pipe(ve(()=>O),m(o=>({version:o.tag_name})),Be({})),Ne(r).pipe(ve(()=>O),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),Be({}))).pipe(m(([o,n])=>R(R({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return Ne(r).pipe(m(o=>({repositories:o.public_repos})),Be({}))}}function ui(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Ne(r).pipe(ve(()=>O),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),Be({}))}function di(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return fi(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return ui(r,o)}return O}var ss;function cs(e){return ss||(ss=C(()=>{let t=__md_get("__source",sessionStorage);if(t)return I(t);if(ae("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return O}return di(e.href).pipe(E(o=>__md_set("__source",o,sessionStorage)))}).pipe(ve(()=>O),b(t=>Object.keys(t).length>0),m(t=>({facts:t})),G(1)))}function hi(e){let t=P(":scope > :last-child",e);return C(()=>{let r=new g;return r.subscribe(({facts:o})=>{t.appendChild(Sn(o)),t.classList.add("md-source__repository--active")}),cs(e).pipe(E(o=>r.next(o)),L(()=>r.complete()),m(o=>R({ref:e},o)))})}function ps(e,{viewport$:t,header$:r}){return ge(document.body).pipe(v(()=>mr(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),Z("hidden"))}function bi(e,t){return C(()=>{let r=new g;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(B("navigation.tabs.sticky")?I({hidden:!1}):ps(e,t)).pipe(E(o=>r.next(o)),L(()=>r.complete()),m(o=>R({ref:e},o)))})}function ls(e,{viewport$:t,header$:r}){let o=new Map,n=$(".md-nav__link",e);for(let s of n){let p=decodeURIComponent(s.hash.substring(1)),c=fe(`[id="${p}"]`);typeof c!="undefined"&&o.set(s,c)}let i=r.pipe(Z("height"),m(({height:s})=>{let p=Se("main"),c=P(":scope > :first-child",p);return s+.8*(c.offsetTop-p.offsetTop)}),pe());return ge(document.body).pipe(Z("height"),v(s=>C(()=>{let p=[];return I([...o].reduce((c,[l,f])=>{for(;p.length&&o.get(p[p.length-1]).tagName>=f.tagName;)p.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let h=f.offsetParent;for(;h;h=h.offsetParent)u+=h.offsetTop;return c.set([...p=[...p,l]].reverse(),u)},new Map))}).pipe(m(p=>new Map([...p].sort(([,c],[,l])=>c-l))),We(i),v(([p,c])=>t.pipe(jr(([l,f],{offset:{y:u},size:h})=>{let w=u+h.height>=Math.floor(s.height);for(;f.length;){let[,A]=f[0];if(A-c=u&&!w)f=[l.pop(),...f];else break}return[l,f]},[[],[...p]]),K((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([s,p])=>({prev:s.map(([c])=>c),next:p.map(([c])=>c)})),Q({prev:[],next:[]}),Ye(2,1),m(([s,p])=>s.prev.length{let i=new g,a=i.pipe(X(),ne(!0));if(i.subscribe(({prev:s,next:p})=>{for(let[c]of p)c.classList.remove("md-nav__link--passed"),c.classList.remove("md-nav__link--active");for(let[c,[l]]of s.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",c===s.length-1)}),B("toc.follow")){let s=S(t.pipe(_e(1),m(()=>{})),t.pipe(_e(250),m(()=>"smooth")));i.pipe(b(({prev:p})=>p.length>0),We(o.pipe(be(se))),ee(s)).subscribe(([[{prev:p}],c])=>{let[l]=p[p.length-1];if(l.offsetHeight){let f=cr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:h}=ce(f);f.scrollTo({top:u-h/2,behavior:c})}}})}return B("navigation.tracking")&&t.pipe(U(a),Z("offset"),_e(250),Ce(1),U(n.pipe(Ce(1))),st({delay:250}),ee(i)).subscribe(([,{prev:s}])=>{let p=xe(),c=s[s.length-1];if(c&&c.length){let[l]=c,{hash:f}=new URL(l.href);p.hash!==f&&(p.hash=f,history.replaceState({},"",`${p}`))}else p.hash="",history.replaceState({},"",`${p}`)}),ls(e,{viewport$:t,header$:r}).pipe(E(s=>i.next(s)),L(()=>i.complete()),m(s=>R({ref:e},s)))})}function ms(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:a}})=>a),Ye(2,1),m(([a,s])=>a>s&&s>0),K()),i=r.pipe(m(({active:a})=>a));return z([i,n]).pipe(m(([a,s])=>!(a&&s)),K(),U(o.pipe(Ce(1))),ne(!0),st({delay:250}),m(a=>({hidden:a})))}function gi(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new g,a=i.pipe(X(),ne(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(U(a),Z("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),d(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),ms(e,{viewport$:t,main$:o,target$:n}).pipe(E(s=>i.next(s)),L(()=>i.complete()),m(s=>R({ref:e},s)))}function xi({document$:e,viewport$:t}){e.pipe(v(()=>$(".md-ellipsis")),oe(r=>tt(r).pipe(U(e.pipe(Ce(1))),b(o=>o),m(()=>r),Te(1))),b(r=>r.offsetWidth{let o=r.innerText,n=r.closest("a")||r;return n.title=o,B("content.tooltips")?lt(n,{viewport$:t}).pipe(U(e.pipe(Ce(1))),L(()=>n.removeAttribute("title"))):O})).subscribe(),B("content.tooltips")&&e.pipe(v(()=>$(".md-status")),oe(r=>lt(r,{viewport$:t}))).subscribe()}function yi({document$:e,tablet$:t}){e.pipe(v(()=>$(".md-toggle--indeterminate")),E(r=>{r.indeterminate=!0,r.checked=!1}),oe(r=>d(r,"change").pipe(Dr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),ee(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function fs(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Ei({document$:e}){e.pipe(v(()=>$("[data-md-scrollfix]")),E(t=>t.removeAttribute("data-md-scrollfix")),b(fs),oe(t=>d(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function wi({viewport$:e,tablet$:t}){z([Ve("search"),t]).pipe(m(([r,o])=>r&&!o),v(r=>I(r).pipe(Ge(r?400:100))),ee(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function us(){return location.protocol==="file:"?wt(`${new URL("search/search_index.js",Xr.base)}`).pipe(m(()=>__index),G(1)):Ne(new URL("search/search_index.json",Xr.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var ot=Yo(),jt=nn(),Ot=cn(jt),Zr=on(),Oe=bn(),hr=$t("(min-width: 960px)"),Si=$t("(min-width: 1220px)"),Oi=pn(),Xr=ye(),Mi=document.forms.namedItem("search")?us():Ke,eo=new g;Bn({alert$:eo});var to=new g;B("navigation.instant")&&Zn({location$:jt,viewport$:Oe,progress$:to}).subscribe(ot);var Ti;((Ti=Xr.version)==null?void 0:Ti.provider)==="mike"&&ii({document$:ot});S(jt,Ot).pipe(Ge(125)).subscribe(()=>{Je("drawer",!1),Je("search",!1)});Zr.pipe(b(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=fe("link[rel=prev]");typeof t!="undefined"&&pt(t);break;case"n":case".":let r=fe("link[rel=next]");typeof r!="undefined"&&pt(r);break;case"Enter":let o=Re();o instanceof HTMLLabelElement&&o.click()}});xi({viewport$:Oe,document$:ot});yi({document$:ot,tablet$:hr});Ei({document$:ot});wi({viewport$:Oe,tablet$:hr});var rt=Nn(Se("header"),{viewport$:Oe}),Ft=ot.pipe(m(()=>Se("main")),v(e=>Qn(e,{viewport$:Oe,header$:rt})),G(1)),ds=S(...ae("consent").map(e=>xn(e,{target$:Ot})),...ae("dialog").map(e=>Dn(e,{alert$:eo})),...ae("header").map(e=>zn(e,{viewport$:Oe,header$:rt,main$:Ft})),...ae("palette").map(e=>Kn(e)),...ae("progress").map(e=>Yn(e,{progress$:to})),...ae("search").map(e=>li(e,{index$:Mi,keyboard$:Zr})),...ae("source").map(e=>hi(e))),hs=C(()=>S(...ae("announce").map(e=>gn(e)),...ae("content").map(e=>Un(e,{viewport$:Oe,target$:Ot,print$:Oi})),...ae("content").map(e=>B("search.highlight")?mi(e,{index$:Mi,location$:jt}):O),...ae("header-title").map(e=>qn(e,{viewport$:Oe,header$:rt})),...ae("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?Nr(Si,()=>Jr(e,{viewport$:Oe,header$:rt,main$:Ft})):Nr(hr,()=>Jr(e,{viewport$:Oe,header$:rt,main$:Ft}))),...ae("tabs").map(e=>bi(e,{viewport$:Oe,header$:rt})),...ae("toc").map(e=>vi(e,{viewport$:Oe,header$:rt,main$:Ft,target$:Ot})),...ae("top").map(e=>gi(e,{viewport$:Oe,header$:rt,main$:Ft,target$:Ot})))),Li=ot.pipe(v(()=>hs),Pe(ds),G(1));Li.subscribe();window.document$=ot;window.location$=jt;window.target$=Ot;window.keyboard$=Zr;window.viewport$=Oe;window.tablet$=hr;window.screen$=Si;window.print$=Oi;window.alert$=eo;window.progress$=to;window.component$=Li;})(); +//# sourceMappingURL=bundle.fe8b6f2b.min.js.map + diff --git a/assets/javascripts/bundle.fe8b6f2b.min.js.map b/assets/javascripts/bundle.fe8b6f2b.min.js.map new file mode 100644 index 0000000..8263585 --- /dev/null +++ b/assets/javascripts/bundle.fe8b6f2b.min.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["node_modules/focus-visible/dist/focus-visible.js", "node_modules/clipboard/dist/clipboard.js", "node_modules/escape-html/index.js", "src/templates/assets/javascripts/bundle.ts", "node_modules/rxjs/node_modules/tslib/tslib.es6.js", "node_modules/rxjs/src/internal/util/isFunction.ts", "node_modules/rxjs/src/internal/util/createErrorClass.ts", "node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "node_modules/rxjs/src/internal/util/arrRemove.ts", "node_modules/rxjs/src/internal/Subscription.ts", "node_modules/rxjs/src/internal/config.ts", "node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "node_modules/rxjs/src/internal/util/noop.ts", "node_modules/rxjs/src/internal/NotificationFactories.ts", "node_modules/rxjs/src/internal/util/errorContext.ts", "node_modules/rxjs/src/internal/Subscriber.ts", "node_modules/rxjs/src/internal/symbol/observable.ts", "node_modules/rxjs/src/internal/util/identity.ts", "node_modules/rxjs/src/internal/util/pipe.ts", "node_modules/rxjs/src/internal/Observable.ts", "node_modules/rxjs/src/internal/util/lift.ts", "node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "node_modules/rxjs/src/internal/Subject.ts", "node_modules/rxjs/src/internal/BehaviorSubject.ts", "node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "node_modules/rxjs/src/internal/ReplaySubject.ts", "node_modules/rxjs/src/internal/scheduler/Action.ts", "node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "node_modules/rxjs/src/internal/Scheduler.ts", "node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "node_modules/rxjs/src/internal/scheduler/async.ts", "node_modules/rxjs/src/internal/scheduler/QueueAction.ts", "node_modules/rxjs/src/internal/scheduler/QueueScheduler.ts", "node_modules/rxjs/src/internal/scheduler/queue.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "node_modules/rxjs/src/internal/observable/empty.ts", "node_modules/rxjs/src/internal/util/isScheduler.ts", "node_modules/rxjs/src/internal/util/args.ts", "node_modules/rxjs/src/internal/util/isArrayLike.ts", "node_modules/rxjs/src/internal/util/isPromise.ts", "node_modules/rxjs/src/internal/util/isInteropObservable.ts", "node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "node_modules/rxjs/src/internal/symbol/iterator.ts", "node_modules/rxjs/src/internal/util/isIterable.ts", "node_modules/rxjs/src/internal/util/isReadableStreamLike.ts", "node_modules/rxjs/src/internal/observable/innerFrom.ts", "node_modules/rxjs/src/internal/util/executeSchedule.ts", "node_modules/rxjs/src/internal/operators/observeOn.ts", "node_modules/rxjs/src/internal/operators/subscribeOn.ts", "node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleReadableStreamLike.ts", "node_modules/rxjs/src/internal/scheduled/scheduled.ts", "node_modules/rxjs/src/internal/observable/from.ts", "node_modules/rxjs/src/internal/observable/of.ts", "node_modules/rxjs/src/internal/observable/throwError.ts", "node_modules/rxjs/src/internal/util/EmptyError.ts", "node_modules/rxjs/src/internal/util/isDate.ts", "node_modules/rxjs/src/internal/operators/map.ts", "node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "node_modules/rxjs/src/internal/util/createObject.ts", "node_modules/rxjs/src/internal/observable/combineLatest.ts", "node_modules/rxjs/src/internal/operators/mergeInternals.ts", "node_modules/rxjs/src/internal/operators/mergeMap.ts", "node_modules/rxjs/src/internal/operators/mergeAll.ts", "node_modules/rxjs/src/internal/operators/concatAll.ts", "node_modules/rxjs/src/internal/observable/concat.ts", "node_modules/rxjs/src/internal/observable/defer.ts", "node_modules/rxjs/src/internal/observable/fromEvent.ts", "node_modules/rxjs/src/internal/observable/fromEventPattern.ts", "node_modules/rxjs/src/internal/observable/timer.ts", "node_modules/rxjs/src/internal/observable/merge.ts", "node_modules/rxjs/src/internal/observable/never.ts", "node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "node_modules/rxjs/src/internal/operators/filter.ts", "node_modules/rxjs/src/internal/observable/zip.ts", "node_modules/rxjs/src/internal/operators/audit.ts", "node_modules/rxjs/src/internal/operators/auditTime.ts", "node_modules/rxjs/src/internal/operators/bufferCount.ts", "node_modules/rxjs/src/internal/operators/catchError.ts", "node_modules/rxjs/src/internal/operators/scanInternals.ts", "node_modules/rxjs/src/internal/operators/combineLatest.ts", "node_modules/rxjs/src/internal/operators/combineLatestWith.ts", "node_modules/rxjs/src/internal/operators/debounce.ts", "node_modules/rxjs/src/internal/operators/debounceTime.ts", "node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts", "node_modules/rxjs/src/internal/operators/take.ts", "node_modules/rxjs/src/internal/operators/ignoreElements.ts", "node_modules/rxjs/src/internal/operators/mapTo.ts", "node_modules/rxjs/src/internal/operators/delayWhen.ts", "node_modules/rxjs/src/internal/operators/delay.ts", "node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "node_modules/rxjs/src/internal/operators/throwIfEmpty.ts", "node_modules/rxjs/src/internal/operators/endWith.ts", "node_modules/rxjs/src/internal/operators/finalize.ts", "node_modules/rxjs/src/internal/operators/first.ts", "node_modules/rxjs/src/internal/operators/takeLast.ts", "node_modules/rxjs/src/internal/operators/merge.ts", "node_modules/rxjs/src/internal/operators/mergeWith.ts", "node_modules/rxjs/src/internal/operators/repeat.ts", "node_modules/rxjs/src/internal/operators/scan.ts", "node_modules/rxjs/src/internal/operators/share.ts", "node_modules/rxjs/src/internal/operators/shareReplay.ts", "node_modules/rxjs/src/internal/operators/skip.ts", "node_modules/rxjs/src/internal/operators/skipUntil.ts", "node_modules/rxjs/src/internal/operators/startWith.ts", "node_modules/rxjs/src/internal/operators/switchMap.ts", "node_modules/rxjs/src/internal/operators/takeUntil.ts", "node_modules/rxjs/src/internal/operators/takeWhile.ts", "node_modules/rxjs/src/internal/operators/tap.ts", "node_modules/rxjs/src/internal/operators/throttle.ts", "node_modules/rxjs/src/internal/operators/throttleTime.ts", "node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "node_modules/rxjs/src/internal/operators/zip.ts", "node_modules/rxjs/src/internal/operators/zipWith.ts", "src/templates/assets/javascripts/browser/document/index.ts", "src/templates/assets/javascripts/browser/element/_/index.ts", "src/templates/assets/javascripts/browser/element/focus/index.ts", "src/templates/assets/javascripts/browser/element/hover/index.ts", "src/templates/assets/javascripts/utilities/h/index.ts", "src/templates/assets/javascripts/utilities/round/index.ts", "src/templates/assets/javascripts/browser/script/index.ts", "src/templates/assets/javascripts/browser/element/size/_/index.ts", "src/templates/assets/javascripts/browser/element/size/content/index.ts", "src/templates/assets/javascripts/browser/element/offset/_/index.ts", "src/templates/assets/javascripts/browser/element/offset/content/index.ts", "src/templates/assets/javascripts/browser/element/visibility/index.ts", "src/templates/assets/javascripts/browser/toggle/index.ts", "src/templates/assets/javascripts/browser/keyboard/index.ts", "src/templates/assets/javascripts/browser/location/_/index.ts", "src/templates/assets/javascripts/browser/location/hash/index.ts", "src/templates/assets/javascripts/browser/media/index.ts", "src/templates/assets/javascripts/browser/request/index.ts", "src/templates/assets/javascripts/browser/viewport/offset/index.ts", "src/templates/assets/javascripts/browser/viewport/size/index.ts", "src/templates/assets/javascripts/browser/viewport/_/index.ts", "src/templates/assets/javascripts/browser/viewport/at/index.ts", "src/templates/assets/javascripts/browser/worker/index.ts", "src/templates/assets/javascripts/_/index.ts", "src/templates/assets/javascripts/components/_/index.ts", "src/templates/assets/javascripts/components/announce/index.ts", "src/templates/assets/javascripts/components/consent/index.ts", "src/templates/assets/javascripts/templates/tooltip/index.tsx", "src/templates/assets/javascripts/templates/annotation/index.tsx", "src/templates/assets/javascripts/templates/clipboard/index.tsx", "src/templates/assets/javascripts/templates/search/index.tsx", "src/templates/assets/javascripts/templates/source/index.tsx", "src/templates/assets/javascripts/templates/tabbed/index.tsx", "src/templates/assets/javascripts/templates/table/index.tsx", "src/templates/assets/javascripts/templates/version/index.tsx", "src/templates/assets/javascripts/components/tooltip2/index.ts", "src/templates/assets/javascripts/components/content/annotation/_/index.ts", "src/templates/assets/javascripts/components/content/annotation/list/index.ts", "src/templates/assets/javascripts/components/content/annotation/block/index.ts", "src/templates/assets/javascripts/components/content/code/_/index.ts", "src/templates/assets/javascripts/components/content/details/index.ts", "src/templates/assets/javascripts/components/content/mermaid/index.css", "src/templates/assets/javascripts/components/content/mermaid/index.ts", "src/templates/assets/javascripts/components/content/table/index.ts", "src/templates/assets/javascripts/components/content/tabs/index.ts", "src/templates/assets/javascripts/components/content/_/index.ts", "src/templates/assets/javascripts/components/dialog/index.ts", "src/templates/assets/javascripts/components/tooltip/index.ts", "src/templates/assets/javascripts/components/header/_/index.ts", "src/templates/assets/javascripts/components/header/title/index.ts", "src/templates/assets/javascripts/components/main/index.ts", "src/templates/assets/javascripts/components/palette/index.ts", "src/templates/assets/javascripts/components/progress/index.ts", "src/templates/assets/javascripts/integrations/clipboard/index.ts", "src/templates/assets/javascripts/integrations/sitemap/index.ts", "src/templates/assets/javascripts/integrations/instant/index.ts", "src/templates/assets/javascripts/integrations/search/highlighter/index.ts", "src/templates/assets/javascripts/integrations/search/worker/message/index.ts", "src/templates/assets/javascripts/integrations/search/worker/_/index.ts", "src/templates/assets/javascripts/integrations/version/index.ts", "src/templates/assets/javascripts/components/search/query/index.ts", "src/templates/assets/javascripts/components/search/result/index.ts", "src/templates/assets/javascripts/components/search/share/index.ts", "src/templates/assets/javascripts/components/search/suggest/index.ts", "src/templates/assets/javascripts/components/search/_/index.ts", "src/templates/assets/javascripts/components/search/highlight/index.ts", "src/templates/assets/javascripts/components/sidebar/index.ts", "src/templates/assets/javascripts/components/source/facts/github/index.ts", "src/templates/assets/javascripts/components/source/facts/gitlab/index.ts", "src/templates/assets/javascripts/components/source/facts/_/index.ts", "src/templates/assets/javascripts/components/source/_/index.ts", "src/templates/assets/javascripts/components/tabs/index.ts", "src/templates/assets/javascripts/components/toc/index.ts", "src/templates/assets/javascripts/components/top/index.ts", "src/templates/assets/javascripts/patches/ellipsis/index.ts", "src/templates/assets/javascripts/patches/indeterminate/index.ts", "src/templates/assets/javascripts/patches/scrollfix/index.ts", "src/templates/assets/javascripts/patches/scrolllock/index.ts", "src/templates/assets/javascripts/polyfills/index.ts"], + "sourcesContent": ["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. \u00AF\\_(\u30C4)_/\u00AF\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n", "/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*\n * Copyright (c) 2016-2024 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"focus-visible\"\n\nimport {\n EMPTY,\n NEVER,\n Observable,\n Subject,\n defer,\n delay,\n filter,\n map,\n merge,\n mergeWith,\n shareReplay,\n switchMap\n} from \"rxjs\"\n\nimport { configuration, feature } from \"./_\"\nimport {\n at,\n getActiveElement,\n getOptionalElement,\n requestJSON,\n setLocation,\n setToggle,\n watchDocument,\n watchKeyboard,\n watchLocation,\n watchLocationTarget,\n watchMedia,\n watchPrint,\n watchScript,\n watchViewport\n} from \"./browser\"\nimport {\n getComponentElement,\n getComponentElements,\n mountAnnounce,\n mountBackToTop,\n mountConsent,\n mountContent,\n mountDialog,\n mountHeader,\n mountHeaderTitle,\n mountPalette,\n mountProgress,\n mountSearch,\n mountSearchHiglight,\n mountSidebar,\n mountSource,\n mountTableOfContents,\n mountTabs,\n watchHeader,\n watchMain\n} from \"./components\"\nimport {\n SearchIndex,\n setupClipboardJS,\n setupInstantNavigation,\n setupVersionSelector\n} from \"./integrations\"\nimport {\n patchEllipsis,\n patchIndeterminate,\n patchScrollfix,\n patchScrolllock\n} from \"./patches\"\nimport \"./polyfills\"\n\n/* ----------------------------------------------------------------------------\n * Functions - @todo refactor\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch search index\n *\n * @returns Search index observable\n */\nfunction fetchSearchIndex(): Observable {\n if (location.protocol === \"file:\") {\n return watchScript(\n `${new URL(\"search/search_index.js\", config.base)}`\n )\n .pipe(\n // @ts-ignore - @todo fix typings\n map(() => __index),\n shareReplay(1)\n )\n } else {\n return requestJSON(\n new URL(\"search/search_index.json\", config.base)\n )\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Yay, JavaScript is available */\ndocument.documentElement.classList.remove(\"no-js\")\ndocument.documentElement.classList.add(\"js\")\n\n/* Set up navigation observables and subjects */\nconst document$ = watchDocument()\nconst location$ = watchLocation()\nconst target$ = watchLocationTarget(location$)\nconst keyboard$ = watchKeyboard()\n\n/* Set up media observables */\nconst viewport$ = watchViewport()\nconst tablet$ = watchMedia(\"(min-width: 960px)\")\nconst screen$ = watchMedia(\"(min-width: 1220px)\")\nconst print$ = watchPrint()\n\n/* Retrieve search index, if search is enabled */\nconst config = configuration()\nconst index$ = document.forms.namedItem(\"search\")\n ? fetchSearchIndex()\n : NEVER\n\n/* Set up Clipboard.js integration */\nconst alert$ = new Subject()\nsetupClipboardJS({ alert$ })\n\n/* Set up progress indicator */\nconst progress$ = new Subject()\n\n/* Set up instant navigation, if enabled */\nif (feature(\"navigation.instant\"))\n setupInstantNavigation({ location$, viewport$, progress$ })\n .subscribe(document$)\n\n/* Set up version selector */\nif (config.version?.provider === \"mike\")\n setupVersionSelector({ document$ })\n\n/* Always close drawer and search on navigation */\nmerge(location$, target$)\n .pipe(\n delay(125)\n )\n .subscribe(() => {\n setToggle(\"drawer\", false)\n setToggle(\"search\", false)\n })\n\n/* Set up global keyboard handlers */\nkeyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\")\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Go to previous page */\n case \"p\":\n case \",\":\n const prev = getOptionalElement(\"link[rel=prev]\")\n if (typeof prev !== \"undefined\")\n setLocation(prev)\n break\n\n /* Go to next page */\n case \"n\":\n case \".\":\n const next = getOptionalElement(\"link[rel=next]\")\n if (typeof next !== \"undefined\")\n setLocation(next)\n break\n\n /* Expand navigation, see https://bit.ly/3ZjG5io */\n case \"Enter\":\n const active = getActiveElement()\n if (active instanceof HTMLLabelElement)\n active.click()\n }\n })\n\n/* Set up patches */\npatchEllipsis({ viewport$, document$ })\npatchIndeterminate({ document$, tablet$ })\npatchScrollfix({ document$ })\npatchScrolllock({ viewport$, tablet$ })\n\n/* Set up header and main area observable */\nconst header$ = watchHeader(getComponentElement(\"header\"), { viewport$ })\nconst main$ = document$\n .pipe(\n map(() => getComponentElement(\"main\")),\n switchMap(el => watchMain(el, { viewport$, header$ })),\n shareReplay(1)\n )\n\n/* Set up control component observables */\nconst control$ = merge(\n\n /* Consent */\n ...getComponentElements(\"consent\")\n .map(el => mountConsent(el, { target$ })),\n\n /* Dialog */\n ...getComponentElements(\"dialog\")\n .map(el => mountDialog(el, { alert$ })),\n\n /* Header */\n ...getComponentElements(\"header\")\n .map(el => mountHeader(el, { viewport$, header$, main$ })),\n\n /* Color palette */\n ...getComponentElements(\"palette\")\n .map(el => mountPalette(el)),\n\n /* Progress bar */\n ...getComponentElements(\"progress\")\n .map(el => mountProgress(el, { progress$ })),\n\n /* Search */\n ...getComponentElements(\"search\")\n .map(el => mountSearch(el, { index$, keyboard$ })),\n\n /* Repository information */\n ...getComponentElements(\"source\")\n .map(el => mountSource(el))\n)\n\n/* Set up content component observables */\nconst content$ = defer(() => merge(\n\n /* Announcement bar */\n ...getComponentElements(\"announce\")\n .map(el => mountAnnounce(el)),\n\n /* Content */\n ...getComponentElements(\"content\")\n .map(el => mountContent(el, { viewport$, target$, print$ })),\n\n /* Search highlighting */\n ...getComponentElements(\"content\")\n .map(el => feature(\"search.highlight\")\n ? mountSearchHiglight(el, { index$, location$ })\n : EMPTY\n ),\n\n /* Header title */\n ...getComponentElements(\"header-title\")\n .map(el => mountHeaderTitle(el, { viewport$, header$ })),\n\n /* Sidebar */\n ...getComponentElements(\"sidebar\")\n .map(el => el.getAttribute(\"data-md-type\") === \"navigation\"\n ? at(screen$, () => mountSidebar(el, { viewport$, header$, main$ }))\n : at(tablet$, () => mountSidebar(el, { viewport$, header$, main$ }))\n ),\n\n /* Navigation tabs */\n ...getComponentElements(\"tabs\")\n .map(el => mountTabs(el, { viewport$, header$ })),\n\n /* Table of contents */\n ...getComponentElements(\"toc\")\n .map(el => mountTableOfContents(el, {\n viewport$, header$, main$, target$\n })),\n\n /* Back-to-top button */\n ...getComponentElements(\"top\")\n .map(el => mountBackToTop(el, { viewport$, header$, main$, target$ }))\n))\n\n/* Set up component observables */\nconst component$ = document$\n .pipe(\n switchMap(() => content$),\n mergeWith(control$),\n shareReplay(1)\n )\n\n/* Subscribe to all components */\ncomponent$.subscribe()\n\n/* ----------------------------------------------------------------------------\n * Exports\n * ------------------------------------------------------------------------- */\n\nwindow.document$ = document$ /* Document observable */\nwindow.location$ = location$ /* Location subject */\nwindow.target$ = target$ /* Location target observable */\nwindow.keyboard$ = keyboard$ /* Keyboard observable */\nwindow.viewport$ = viewport$ /* Viewport observable */\nwindow.tablet$ = tablet$ /* Media tablet observable */\nwindow.screen$ = screen$ /* Media screen observable */\nwindow.print$ = print$ /* Media print observable */\nwindow.alert$ = alert$ /* Alert subject */\nwindow.progress$ = progress$ /* Progress indicator subject */\nwindow.component$ = component$ /* Component observable */\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n", "/**\n * Returns true if the object is a function.\n * @param value The value to check\n */\nexport function isFunction(value: any): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n", "/**\n * Used to create Error subclasses until the community moves away from ES5.\n *\n * This is because compiling from TypeScript down to ES5 has issues with subclassing Errors\n * as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123\n *\n * @param createImpl A factory function to create the actual constructor implementation. The returned\n * function should be a named function that calls `_super` internally.\n */\nexport function createErrorClass(createImpl: (_super: any) => any): T {\n const _super = (instance: any) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface UnsubscriptionError extends Error {\n readonly errors: any[];\n}\n\nexport interface UnsubscriptionErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (errors: any[]): UnsubscriptionError;\n}\n\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport const UnsubscriptionError: UnsubscriptionErrorCtor = createErrorClass(\n (_super) =>\n function UnsubscriptionErrorImpl(this: any, errors: (Error | string)[]) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n }\n);\n", "/**\n * Removes an item from an array, mutating it.\n * @param arr The array to remove the item from\n * @param item The item to remove\n */\nexport function arrRemove(arr: T[] | undefined | null, item: T) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { SubscriptionLike, TeardownLogic, Unsubscribable } from './types';\nimport { arrRemove } from './util/arrRemove';\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nexport class Subscription implements SubscriptionLike {\n /** @nocollapse */\n public static EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n */\n public closed = false;\n\n private _parentage: Subscription[] | Subscription | null = null;\n\n /**\n * The list of registered finalizers to execute upon unsubscription. Adding and removing from this\n * list occurs in the {@link #add} and {@link #remove} methods.\n */\n private _finalizers: Exclude[] | null = null;\n\n /**\n * @param initialTeardown A function executed first as part of the finalization\n * process that is kicked off when {@link #unsubscribe} is called.\n */\n constructor(private initialTeardown?: () => void) {}\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n unsubscribe(): void {\n let errors: any[] | undefined;\n\n if (!this.closed) {\n this.closed = true;\n\n // Remove this from it's parents.\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n } else {\n _parentage.remove(this);\n }\n }\n\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors ?? [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n } else {\n errors.push(err);\n }\n }\n }\n }\n\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n\n /**\n * Adds a finalizer to this subscription, so that finalization will be unsubscribed/called\n * when this subscription is unsubscribed. If this subscription is already {@link #closed},\n * because it has already been unsubscribed, then whatever finalizer is passed to it\n * will automatically be executed (unless the finalizer itself is also a closed subscription).\n *\n * Closed Subscriptions cannot be added as finalizers to any subscription. Adding a closed\n * subscription to a any subscription will result in no operation. (A noop).\n *\n * Adding a subscription to itself, or adding `null` or `undefined` will not perform any\n * operation at all. (A noop).\n *\n * `Subscription` instances that are added to this instance will automatically remove themselves\n * if they are unsubscribed. Functions and {@link Unsubscribable} objects that you wish to remove\n * will need to be removed manually with {@link #remove}\n *\n * @param teardown The finalization logic to add to this subscription.\n */\n add(teardown: TeardownLogic): void {\n // Only add the finalizer if it's not undefined\n // and don't add a subscription to itself.\n if (teardown && teardown !== this) {\n if (this.closed) {\n // If this subscription is already closed,\n // execute whatever finalizer is handed to it automatically.\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n // We don't add closed subscriptions, and we don't add the same subscription\n // twice. Subscription unsubscribe is idempotent.\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = this._finalizers ?? []).push(teardown);\n }\n }\n }\n\n /**\n * Checks to see if a this subscription already has a particular parent.\n * This will signal that this subscription has already been added to the parent in question.\n * @param parent the parent to check for\n */\n private _hasParent(parent: Subscription) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n\n /**\n * Adds a parent to this subscription so it can be removed from the parent if it\n * unsubscribes on it's own.\n *\n * NOTE: THIS ASSUMES THAT {@link _hasParent} HAS ALREADY BEEN CHECKED.\n * @param parent The parent subscription to add\n */\n private _addParent(parent: Subscription) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n\n /**\n * Called on a child when it is removed via {@link #remove}.\n * @param parent The parent to remove\n */\n private _removeParent(parent: Subscription) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n\n /**\n * Removes a finalizer from this subscription that was previously added with the {@link #add} method.\n *\n * Note that `Subscription` instances, when unsubscribed, will automatically remove themselves\n * from every other `Subscription` they have been added to. This means that using the `remove` method\n * is not a common thing and should be used thoughtfully.\n *\n * If you add the same finalizer instance of a function or an unsubscribable object to a `Subscription` instance\n * more than once, you will need to call `remove` the same number of times to remove all instances.\n *\n * All finalizer instances are removed to free up memory upon unsubscription.\n *\n * @param teardown The finalizer to remove from this subscription\n */\n remove(teardown: Exclude): void {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\n\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\n\nexport function isSubscription(value: any): value is Subscription {\n return (\n value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe))\n );\n}\n\nfunction execFinalizer(finalizer: Unsubscribable | (() => void)) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}\n", "import { Subscriber } from './Subscriber';\nimport { ObservableNotification } from './types';\n\n/**\n * The {@link GlobalConfig} object for RxJS. It is used to configure things\n * like how to react on unhandled errors.\n */\nexport const config: GlobalConfig = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n\n/**\n * The global configuration object for RxJS, used to configure things\n * like how to react on unhandled errors. Accessible via {@link config}\n * object.\n */\nexport interface GlobalConfig {\n /**\n * A registration point for unhandled errors from RxJS. These are errors that\n * cannot were not handled by consuming code in the usual subscription path. For\n * example, if you have this configured, and you subscribe to an observable without\n * providing an error handler, errors from that subscription will end up here. This\n * will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onUnhandledError: ((err: any) => void) | null;\n\n /**\n * A registration point for notifications that cannot be sent to subscribers because they\n * have completed, errored or have been explicitly unsubscribed. By default, next, complete\n * and error notifications sent to stopped subscribers are noops. However, sometimes callers\n * might want a different behavior. For example, with sources that attempt to report errors\n * to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.\n * This will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onStoppedNotification: ((notification: ObservableNotification, subscriber: Subscriber) => void) | null;\n\n /**\n * The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}\n * methods.\n *\n * @deprecated As of version 8, RxJS will no longer support this sort of injection of a\n * Promise constructor. If you need a Promise implementation other than native promises,\n * please polyfill/patch Promise as you see appropriate. Will be removed in v8.\n */\n Promise?: PromiseConstructorLike;\n\n /**\n * If true, turns on synchronous error rethrowing, which is a deprecated behavior\n * in v6 and higher. This behavior enables bad patterns like wrapping a subscribe\n * call in a try/catch block. It also enables producer interference, a nasty bug\n * where a multicast can be broken for all observers by a downstream consumer with\n * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME\n * FOR MIGRATION REASONS.\n *\n * @deprecated As of version 8, RxJS will no longer support synchronous throwing\n * of unhandled errors. All errors will be thrown on a separate call stack to prevent bad\n * behaviors described above. Will be removed in v8.\n */\n useDeprecatedSynchronousErrorHandling: boolean;\n\n /**\n * If true, enables an as-of-yet undocumented feature from v5: The ability to access\n * `unsubscribe()` via `this` context in `next` functions created in observers passed\n * to `subscribe`.\n *\n * This is being removed because the performance was severely problematic, and it could also cause\n * issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have\n * their `this` context overwritten.\n *\n * @deprecated As of version 8, RxJS will no longer support altering the\n * context of next functions provided as part of an observer to Subscribe. Instead,\n * you will have access to a subscription or a signal or token that will allow you to do things like\n * unsubscribe and test closed status. Will be removed in v8.\n */\n useDeprecatedNextContext: boolean;\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetTimeoutFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearTimeoutFunction = (handle: TimerHandle) => void;\n\ninterface TimeoutProvider {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n delegate:\n | {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n }\n | undefined;\n}\n\nexport const timeoutProvider: TimeoutProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setTimeout(handler: () => void, timeout?: number, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate?.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return (delegate?.clearTimeout || clearTimeout)(handle as any);\n },\n delegate: undefined,\n};\n", "import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\n\n/**\n * Handles an error on another job either with the user-configured {@link onUnhandledError},\n * or by throwing it on that new job so it can be picked up by `window.onerror`, `process.on('error')`, etc.\n *\n * This should be called whenever there is an error that is out-of-band with the subscription\n * or when an error hits a terminal boundary of the subscription and no error handler was provided.\n *\n * @param err the error to report\n */\nexport function reportUnhandledError(err: any) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n // Execute the user-configured error handler.\n onUnhandledError(err);\n } else {\n // Throw so it is picked up by the runtime's uncaught error mechanism.\n throw err;\n }\n });\n}\n", "/* tslint:disable:no-empty */\nexport function noop() { }\n", "import { CompleteNotification, NextNotification, ErrorNotification } from './types';\n\n/**\n * A completion object optimized for memory use and created to be the\n * same \"shape\" as other notifications in v8.\n * @internal\n */\nexport const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined) as CompleteNotification)();\n\n/**\n * Internal use only. Creates an optimized error notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function errorNotification(error: any): ErrorNotification {\n return createNotification('E', undefined, error) as any;\n}\n\n/**\n * Internal use only. Creates an optimized next notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function nextNotification(value: T) {\n return createNotification('N', value, undefined) as NextNotification;\n}\n\n/**\n * Ensures that all notifications created internally have the same \"shape\" in v8.\n *\n * TODO: This is only exported to support a crazy legacy test in `groupBy`.\n * @internal\n */\nexport function createNotification(kind: 'N' | 'E' | 'C', value: any, error: any) {\n return {\n kind,\n value,\n error,\n };\n}\n", "import { config } from '../config';\n\nlet context: { errorThrown: boolean; error: any } | null = null;\n\n/**\n * Handles dealing with errors for super-gross mode. Creates a context, in which\n * any synchronously thrown errors will be passed to {@link captureError}. Which\n * will record the error such that it will be rethrown after the call back is complete.\n * TODO: Remove in v8\n * @param cb An immediately executed function.\n */\nexport function errorContext(cb: () => void) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context!;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n // This is the general non-deprecated path for everyone that\n // isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)\n cb();\n }\n}\n\n/**\n * Captures errors only in super-gross mode.\n * @param err the error to capture\n */\nexport function captureError(err: any) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { Observer, ObservableNotification } from './types';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber\n */\nexport class Subscriber extends Subscription implements Observer {\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param next The `next` callback of an Observer.\n * @param error The `error` callback of an\n * Observer.\n * @param complete The `complete` callback of an\n * Observer.\n * @return A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n * @nocollapse\n * @deprecated Do not use. Will be removed in v8. There is no replacement for this\n * method, and there is no reason to be creating instances of `Subscriber` directly.\n * If you have a specific use case, please file an issue.\n */\n static create(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber {\n return new SafeSubscriber(next, error, complete);\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected isStopped: boolean = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected destination: Subscriber | Observer; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * There is no reason to directly create an instance of Subscriber. This type is exported for typings reasons.\n */\n constructor(destination?: Subscriber | Observer) {\n super();\n if (destination) {\n this.destination = destination;\n // Automatically chain subscriptions together here.\n // if destination is a Subscription, then it is a Subscriber.\n if (isSubscription(destination)) {\n destination.add(this);\n }\n } else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n next(value?: T): void {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value!);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached `Error`. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n error(err?: any): void {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n complete(): void {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null!;\n }\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n }\n\n protected _complete(): void {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }\n}\n\n/**\n * This bind is captured here because we want to be able to have\n * compatibility with monoid libraries that tend to use a method named\n * `bind`. In particular, a library called Monio requires this.\n */\nconst _bind = Function.prototype.bind;\n\nfunction bind any>(fn: Fn, thisArg: any): Fn {\n return _bind.call(fn, thisArg);\n}\n\n/**\n * Internal optimization only, DO NOT EXPOSE.\n * @internal\n */\nclass ConsumerObserver implements Observer {\n constructor(private partialObserver: Partial>) {}\n\n next(value: T): void {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n\n error(err: any): void {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n }\n\n complete(): void {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\n\nexport class SafeSubscriber extends Subscriber {\n constructor(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((e?: any) => void) | null,\n complete?: (() => void) | null\n ) {\n super();\n\n let partialObserver: Partial>;\n if (isFunction(observerOrNext) || !observerOrNext) {\n // The first argument is a function, not an observer. The next\n // two arguments *could* be observers, or they could be empty.\n partialObserver = {\n next: (observerOrNext ?? undefined) as (((value: T) => void) | undefined),\n error: error ?? undefined,\n complete: complete ?? undefined,\n };\n } else {\n // The first argument is a partial observer.\n let context: any;\n if (this && config.useDeprecatedNextContext) {\n // This is a deprecated path that made `this.unsubscribe()` available in\n // next handler functions passed to subscribe. This only exists behind a flag\n // now, as it is *very* slow.\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n } else {\n // The \"normal\" path. Just use the partial observer directly.\n partialObserver = observerOrNext;\n }\n }\n\n // Wrap the partial observer to ensure it's a full observer, and\n // make sure proper error handling is accounted for.\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\n\nfunction handleUnhandledError(error: any) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n // Ideal path, we report this as an unhandled error,\n // which is thrown on a new call stack.\n reportUnhandledError(error);\n }\n}\n\n/**\n * An error handler used when no error handler was supplied\n * to the SafeSubscriber -- meaning no error handler was supplied\n * do the `subscribe` call on our observable.\n * @param err The error to handle\n */\nfunction defaultErrorHandler(err: any) {\n throw err;\n}\n\n/**\n * A handler for notifications that cannot be sent to a stopped subscriber.\n * @param notification The notification being sent\n * @param subscriber The stopped subscriber\n */\nfunction handleStoppedNotification(notification: ObservableNotification, subscriber: Subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\n\n/**\n * The observer used as a stub for subscriptions where the user did not\n * pass any arguments to `subscribe`. Comes with the default error handling\n * behavior.\n */\nexport const EMPTY_OBSERVER: Readonly> & { closed: true } = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n", "/**\n * Symbol.observable or a string \"@@observable\". Used for interop\n *\n * @deprecated We will no longer be exporting this symbol in upcoming versions of RxJS.\n * Instead polyfill and use Symbol.observable directly *or* use https://www.npmjs.com/package/symbol-observable\n */\nexport const observable: string | symbol = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n", "/**\n * This function takes one parameter and just returns it. Simply put,\n * this is like `(x: T): T => x`.\n *\n * ## Examples\n *\n * This is useful in some cases when using things like `mergeMap`\n *\n * ```ts\n * import { interval, take, map, range, mergeMap, identity } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(5));\n *\n * const result$ = source$.pipe(\n * map(i => range(i)),\n * mergeMap(identity) // same as mergeMap(x => x)\n * );\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * Or when you want to selectively apply an operator\n *\n * ```ts\n * import { interval, take, identity } from 'rxjs';\n *\n * const shouldLimit = () => Math.random() < 0.5;\n *\n * const source$ = interval(1000);\n *\n * const result$ = source$.pipe(shouldLimit() ? take(5) : identity);\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * @param x Any value that is returned by this function\n * @returns The value passed as the first parameter to this function\n */\nexport function identity(x: T): T {\n return x;\n}\n", "import { identity } from './identity';\nimport { UnaryFunction } from '../types';\n\nexport function pipe(): typeof identity;\nexport function pipe(fn1: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction, fn3: UnaryFunction): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction,\n ...fns: UnaryFunction[]\n): UnaryFunction;\n\n/**\n * pipe() can be called on one or more functions, each of which can take one argument (\"UnaryFunction\")\n * and uses it to return a value.\n * It returns a function that takes one argument, passes it to the first UnaryFunction, and then\n * passes the result to the next one, passes that result to the next one, and so on. \n */\nexport function pipe(...fns: Array>): UnaryFunction {\n return pipeFromArray(fns);\n}\n\n/** @internal */\nexport function pipeFromArray(fns: Array>): UnaryFunction {\n if (fns.length === 0) {\n return identity as UnaryFunction;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction) => fn(prev), input as any);\n };\n}\n", "import { Operator } from './Operator';\nimport { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription, Subscription } from './Subscription';\nimport { TeardownLogic, OperatorFunction, Subscribable, Observer } from './types';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n *\n * @class Observable\n */\nexport class Observable implements Subscribable {\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n source: Observable | undefined;\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n operator: Operator | undefined;\n\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable, subscriber: Subscriber) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new Observable by calling the Observable constructor\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new observable\n * @nocollapse\n * @deprecated Use `new Observable()` instead. Will be removed in v8.\n */\n static create: (...args: any[]) => any = (subscribe?: (subscriber: Subscriber) => TeardownLogic) => {\n return new Observable(subscribe);\n };\n\n /**\n * Creates a new Observable, with this Observable instance as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param operator the operator defining the operation to take on the observable\n * @return a new observable with the Operator applied\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * If you have implemented an operator using `lift`, it is recommended that you create an\n * operator by simply returning `new Observable()` directly. See \"Creating new operators from\n * scratch\" section here: https://rxjs.dev/guide/operators\n */\n lift(operator?: Operator): Observable {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observerOrNext?: Partial> | ((value: T) => void)): Subscription;\n /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */\n subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * Use it when you have all these Observables, but still nothing is happening.\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to Observable's constructor, but most of the time it is\n * a library implementation, which defines what will be emitted by an Observable, and when it be will emitted. This means\n * that calling `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * the thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * of the following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular, do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, if the `error` method is not provided and an error happens,\n * it will be thrown asynchronously. Errors thrown asynchronously cannot be caught using `try`/`catch`. Instead,\n * use the {@link onUnhandledError} configuration option or use a runtime handler (like `window.onerror` or\n * `process.on('error)`) to be notified of unhandled errors. Because of this, it's recommended that you provide\n * an `error` method to avoid missing thrown errors.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where the first function is equivalent\n * of a `next` method, the second of an `error` method and the third of a `complete` method. Just as in case of an Observer,\n * if you do not need to listen for something, you can omit a function by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to the `error` function, as with an Observer, if not provided, errors emitted by an Observable will be thrown asynchronously.\n *\n * You can, however, subscribe with no parameters at all. This may be the case where you're not interested in terminal events\n * and you also handled emissions internally by using operators (e.g. using `tap`).\n *\n * Whichever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop the work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a `scheduler`.\n *\n * #### Examples\n *\n * Subscribe with an {@link guide/observer Observer}\n *\n * ```ts\n * import { of } from 'rxjs';\n *\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() {\n * // We actually could just remove this method,\n * // since we do not really care about errors right now.\n * },\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Subscribe with functions ({@link deprecations/subscribe-arguments deprecated})\n *\n * ```ts\n * import { of } from 'rxjs'\n *\n * let sum = 0;\n *\n * of(1, 2, 3).subscribe(\n * value => {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * () => console.log('Sum equals: ' + sum)\n * );\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Cancel a subscription\n *\n * ```ts\n * import { interval } from 'rxjs';\n *\n * const subscription = interval(1000).subscribe({\n * next(num) {\n * console.log(num)\n * },\n * complete() {\n * // Will not be called, even when cancelling subscription.\n * console.log('completed!');\n * }\n * });\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // 'unsubscribed!' after 2.5s\n * ```\n *\n * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called,\n * or the first of three possible handlers, which is the handler for each value emitted from the subscribed\n * Observable.\n * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown asynchronously as unhandled.\n * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion.\n * @return {Subscription} a subscription reference to the registered handlers\n * @method subscribe\n */\n subscribe(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((error: any) => void) | null,\n complete?: (() => void) | null\n ): Subscription {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(\n operator\n ? // We're dealing with a subscription in the\n // operator chain to one of our lifted operators.\n operator.call(subscriber, source)\n : source\n ? // If `source` has a value, but `operator` does not, something that\n // had intimate knowledge of our API, like our `Subject`, must have\n // set it. We're going to just call `_subscribe` directly.\n this._subscribe(subscriber)\n : // In all other cases, we're likely wrapping a user-provided initializer\n // function, so we need to catch errors and handle them appropriately.\n this._trySubscribe(subscriber)\n );\n });\n\n return subscriber;\n }\n\n /** @internal */\n protected _trySubscribe(sink: Subscriber): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n // We don't need to return anything in this case,\n // because it's just going to try to `add()` to a subscription\n // above.\n sink.error(err);\n }\n }\n\n /**\n * Used as a NON-CANCELLABLE means of subscribing to an observable, for use with\n * APIs that expect promises, like `async/await`. You cannot unsubscribe from this.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * #### Example\n *\n * ```ts\n * import { interval, take } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(4));\n *\n * async function getTotal() {\n * let total = 0;\n *\n * await source$.forEach(value => {\n * total += value;\n * console.log('observable -> ' + value);\n * });\n *\n * return total;\n * }\n *\n * getTotal().then(\n * total => console.log('Total: ' + total)\n * );\n *\n * // Expected:\n * // 'observable -> 0'\n * // 'observable -> 1'\n * // 'observable -> 2'\n * // 'observable -> 3'\n * // 'Total: 6'\n * ```\n *\n * @param next a handler for each value emitted by the observable\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n forEach(next: (value: T) => void): Promise;\n\n /**\n * @param next a handler for each value emitted by the observable\n * @param promiseCtor a constructor function used to instantiate the Promise\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n * @deprecated Passing a Promise constructor will no longer be available\n * in upcoming versions of RxJS. This is because it adds weight to the library, for very\n * little benefit. If you need this functionality, it is recommended that you either\n * polyfill Promise, or you create an adapter to convert the returned native promise\n * to whatever promise implementation you wanted. Will be removed in v8.\n */\n forEach(next: (value: T) => void, promiseCtor: PromiseConstructorLike): Promise;\n\n forEach(next: (value: T) => void, promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n }) as Promise;\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): TeardownLogic {\n return this.source?.subscribe(subscriber);\n }\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable;\n pipe(op1: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction,\n ...operations: OperatorFunction[]\n ): Observable;\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n * @method pipe\n * @return {Observable} the Observable result of all of the operators having\n * been called in the order they were passed in.\n *\n * ## Example\n *\n * ```ts\n * import { interval, filter, map, scan } from 'rxjs';\n *\n * interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x));\n * ```\n */\n pipe(...operations: OperatorFunction[]): Observable {\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: typeof Promise): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: PromiseConstructorLike): Promise;\n /* tslint:enable:max-line-length */\n\n /**\n * Subscribe to this Observable and get a Promise resolving on\n * `complete` with the last emission (if any).\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * @method toPromise\n * @param [promiseCtor] a constructor function used to instantiate\n * the Promise\n * @return A Promise that resolves with the last value emit, or\n * rejects on an error. If there were no emissions, Promise\n * resolves with undefined.\n * @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise\n */\n toPromise(promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n let value: T | undefined;\n this.subscribe(\n (x: T) => (value = x),\n (err: any) => reject(err),\n () => resolve(value)\n );\n }) as Promise;\n }\n}\n\n/**\n * Decides between a passed promise constructor from consuming code,\n * A default configured promise constructor, and the native promise\n * constructor and returns it. If nothing can be found, it will throw\n * an error.\n * @param promiseCtor The optional promise constructor to passed by consuming code\n */\nfunction getPromiseCtor(promiseCtor: PromiseConstructorLike | undefined) {\n return promiseCtor ?? config.Promise ?? Promise;\n}\n\nfunction isObserver(value: any): value is Observer {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber(value: any): value is Subscriber {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n", "import { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { OperatorFunction } from '../types';\nimport { isFunction } from './isFunction';\n\n/**\n * Used to determine if an object is an Observable with a lift function.\n */\nexport function hasLift(source: any): source is { lift: InstanceType['lift'] } {\n return isFunction(source?.lift);\n}\n\n/**\n * Creates an `OperatorFunction`. Used to define operators throughout the library in a concise way.\n * @param init The logic to connect the liftedSource to the subscriber at the moment of subscription.\n */\nexport function operate(\n init: (liftedSource: Observable, subscriber: Subscriber) => (() => void) | void\n): OperatorFunction {\n return (source: Observable) => {\n if (hasLift(source)) {\n return source.lift(function (this: Subscriber, liftedSource: Observable) {\n try {\n return init(liftedSource, this);\n } catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n", "import { Subscriber } from '../Subscriber';\n\n/**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional teardown logic here. This will only be called on teardown if the\n * subscriber itself is not already closed. This is called after all other teardown logic is executed.\n */\nexport function createOperatorSubscriber(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n onFinalize?: () => void\n): Subscriber {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\n\n/**\n * A generic helper for allowing operators to be created with a Subscriber and\n * use closures to capture necessary state from the operator function itself.\n */\nexport class OperatorSubscriber extends Subscriber {\n /**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional finalization logic here. This will only be called on finalization if the\n * subscriber itself is not already closed. This is called after all other finalization logic is executed.\n * @param shouldUnsubscribe An optional check to see if an unsubscribe call should truly unsubscribe.\n * NOTE: This currently **ONLY** exists to support the strange behavior of {@link groupBy}, where unsubscription\n * to the resulting observable does not actually disconnect from the source if there are active subscriptions\n * to any grouped observable. (DO NOT EXPOSE OR USE EXTERNALLY!!!)\n */\n constructor(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n private onFinalize?: () => void,\n private shouldUnsubscribe?: () => boolean\n ) {\n // It's important - for performance reasons - that all of this class's\n // members are initialized and that they are always initialized in the same\n // order. This will ensure that all OperatorSubscriber instances have the\n // same hidden class in V8. This, in turn, will help keep the number of\n // hidden classes involved in property accesses within the base class as\n // low as possible. If the number of hidden classes involved exceeds four,\n // the property accesses will become megamorphic and performance penalties\n // will be incurred - i.e. inline caches won't be used.\n //\n // The reasons for ensuring all instances have the same hidden class are\n // further discussed in this blog post from Benedikt Meurer:\n // https://benediktmeurer.de/2018/03/23/impact-of-polymorphism-on-component-based-frameworks-like-react/\n super(destination);\n this._next = onNext\n ? function (this: OperatorSubscriber, value: T) {\n try {\n onNext(value);\n } catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (this: OperatorSubscriber, err: any) {\n try {\n onError(err);\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function (this: OperatorSubscriber) {\n try {\n onComplete();\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n\n unsubscribe() {\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n // Execute additional teardown if we have any and we didn't already do so.\n !closed && this.onFinalize?.();\n }\n }\n}\n", "import { Subscription } from '../Subscription';\n\ninterface AnimationFrameProvider {\n schedule(callback: FrameRequestCallback): Subscription;\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n delegate:\n | {\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n }\n | undefined;\n}\n\nexport const animationFrameProvider: AnimationFrameProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel: typeof cancelAnimationFrame | undefined = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n // Clear the cancel function. The request has been fulfilled, so\n // attempting to cancel the request upon unsubscription would be\n // pointless.\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel?.(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.requestAnimationFrame || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.cancelAnimationFrame || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface ObjectUnsubscribedError extends Error {}\n\nexport interface ObjectUnsubscribedErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (): ObjectUnsubscribedError;\n}\n\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nexport const ObjectUnsubscribedError: ObjectUnsubscribedErrorCtor = createErrorClass(\n (_super) =>\n function ObjectUnsubscribedErrorImpl(this: any) {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n }\n);\n", "import { Operator } from './Operator';\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { Observer, SubscriptionLike, TeardownLogic } from './types';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A Subject is a special type of Observable that allows values to be\n * multicasted to many Observers. Subjects are like EventEmitters.\n *\n * Every Subject is an Observable and an Observer. You can subscribe to a\n * Subject, and you can call next to feed values as well as error and complete.\n */\nexport class Subject extends Observable implements SubscriptionLike {\n closed = false;\n\n private currentObservers: Observer[] | null = null;\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n observers: Observer[] = [];\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n isStopped = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n hasError = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n thrownError: any = null;\n\n /**\n * Creates a \"subject\" by basically gluing an observer to an observable.\n *\n * @nocollapse\n * @deprecated Recommended you do not use. Will be removed at some point in the future. Plans for replacement still under discussion.\n */\n static create: (...args: any[]) => any = (destination: Observer, source: Observable): AnonymousSubject => {\n return new AnonymousSubject(destination, source);\n };\n\n constructor() {\n // NOTE: This must be here to obscure Observable's constructor.\n super();\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n lift(operator: Operator): Observable {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator as any;\n return subject as any;\n }\n\n /** @internal */\n protected _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n\n next(value: T) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n\n error(err: any) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.error(err);\n }\n }\n });\n }\n\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.complete();\n }\n }\n });\n }\n\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null!;\n }\n\n get observed() {\n return this.observers?.length > 0;\n }\n\n /** @internal */\n protected _trySubscribe(subscriber: Subscriber): TeardownLogic {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n\n /** @internal */\n protected _innerSubscribe(subscriber: Subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n\n /** @internal */\n protected _checkFinalizedStatuses(subscriber: Subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n } else if (isStopped) {\n subscriber.complete();\n }\n }\n\n /**\n * Creates a new Observable with this Subject as the source. You can do this\n * to create custom Observer-side logic of the Subject and conceal it from\n * code that uses the Observable.\n * @return {Observable} Observable that the Subject casts to\n */\n asObservable(): Observable {\n const observable: any = new Observable();\n observable.source = this;\n return observable;\n }\n}\n\n/**\n * @class AnonymousSubject\n */\nexport class AnonymousSubject extends Subject {\n constructor(\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n public destination?: Observer,\n source?: Observable\n ) {\n super();\n this.source = source;\n }\n\n next(value: T) {\n this.destination?.next?.(value);\n }\n\n error(err: any) {\n this.destination?.error?.(err);\n }\n\n complete() {\n this.destination?.complete?.();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n return this.source?.subscribe(subscriber) ?? EMPTY_SUBSCRIPTION;\n }\n}\n", "import { Subject } from './Subject';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\n\n/**\n * A variant of Subject that requires an initial value and emits its current\n * value whenever it is subscribed to.\n *\n * @class BehaviorSubject\n */\nexport class BehaviorSubject extends Subject {\n constructor(private _value: T) {\n super();\n }\n\n get value(): T {\n return this.getValue();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n\n getValue(): T {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n\n next(value: T): void {\n super.next((this._value = value));\n }\n}\n", "import { TimestampProvider } from '../types';\n\ninterface DateTimestampProvider extends TimestampProvider {\n delegate: TimestampProvider | undefined;\n}\n\nexport const dateTimestampProvider: DateTimestampProvider = {\n now() {\n // Use the variable rather than `this` so that the function can be called\n // without being bound to the provider.\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n", "import { Subject } from './Subject';\nimport { TimestampProvider } from './types';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * A variant of {@link Subject} that \"replays\" old values to new subscribers by emitting them when they first subscribe.\n *\n * `ReplaySubject` has an internal buffer that will store a specified number of values that it has observed. Like `Subject`,\n * `ReplaySubject` \"observes\" values by having them passed to its `next` method. When it observes a value, it will store that\n * value for a time determined by the configuration of the `ReplaySubject`, as passed to its constructor.\n *\n * When a new subscriber subscribes to the `ReplaySubject` instance, it will synchronously emit all values in its buffer in\n * a First-In-First-Out (FIFO) manner. The `ReplaySubject` will also complete, if it has observed completion; and it will\n * error if it has observed an error.\n *\n * There are two main configuration items to be concerned with:\n *\n * 1. `bufferSize` - This will determine how many items are stored in the buffer, defaults to infinite.\n * 2. `windowTime` - The amount of time to hold a value in the buffer before removing it from the buffer.\n *\n * Both configurations may exist simultaneously. So if you would like to buffer a maximum of 3 values, as long as the values\n * are less than 2 seconds old, you could do so with a `new ReplaySubject(3, 2000)`.\n *\n * ### Differences with BehaviorSubject\n *\n * `BehaviorSubject` is similar to `new ReplaySubject(1)`, with a couple of exceptions:\n *\n * 1. `BehaviorSubject` comes \"primed\" with a single value upon construction.\n * 2. `ReplaySubject` will replay values, even after observing an error, where `BehaviorSubject` will not.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n * @see {@link shareReplay}\n */\nexport class ReplaySubject extends Subject {\n private _buffer: (T | number)[] = [];\n private _infiniteTimeWindow = true;\n\n /**\n * @param bufferSize The size of the buffer to replay on subscription\n * @param windowTime The amount of time the buffered items will stay buffered\n * @param timestampProvider An object with a `now()` method that provides the current timestamp. This is used to\n * calculate the amount of time something has been buffered.\n */\n constructor(\n private _bufferSize = Infinity,\n private _windowTime = Infinity,\n private _timestampProvider: TimestampProvider = dateTimestampProvider\n ) {\n super();\n this._infiniteTimeWindow = _windowTime === Infinity;\n this._bufferSize = Math.max(1, _bufferSize);\n this._windowTime = Math.max(1, _windowTime);\n }\n\n next(value: T): void {\n const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n super.next(value);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._trimBuffer();\n\n const subscription = this._innerSubscribe(subscriber);\n\n const { _infiniteTimeWindow, _buffer } = this;\n // We use a copy here, so reentrant code does not mutate our array while we're\n // emitting it to a new subscriber.\n const copy = _buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i] as T);\n }\n\n this._checkFinalizedStatuses(subscriber);\n\n return subscription;\n }\n\n private _trimBuffer() {\n const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;\n // If we don't have an infinite buffer size, and we're over the length,\n // use splice to truncate the old buffer values off. Note that we have to\n // double the size for instances where we're not using an infinite time window\n // because we're storing the values and the timestamps in the same array.\n const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n\n // Now, if we're not in an infinite time window, remove all values where the time is\n // older than what is allowed.\n if (!_infiniteTimeWindow) {\n const now = _timestampProvider.now();\n let last = 0;\n // Search the array for the first timestamp that isn't expired and\n // truncate the buffer up to that point.\n for (let i = 1; i < _buffer.length && (_buffer[i] as number) <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Subscription } from '../Subscription';\nimport { SchedulerAction } from '../types';\n\n/**\n * A unit of work to be executed in a `scheduler`. An action is typically\n * created from within a {@link SchedulerLike} and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action extends Subscription {\n * new (scheduler: Scheduler, work: (state?: T) => void);\n * schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n *\n * @class Action\n */\nexport class Action extends Subscription {\n constructor(scheduler: Scheduler, work: (this: SchedulerAction, state?: T) => void) {\n super();\n }\n /**\n * Schedules this action on its parent {@link SchedulerLike} for execution. May be passed\n * some context object, `state`. May happen at some point in the future,\n * according to the `delay` parameter, if specified.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler.\n * @return {void}\n */\n public schedule(state?: T, delay: number = 0): Subscription {\n return this;\n }\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetIntervalFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearIntervalFunction = (handle: TimerHandle) => void;\n\ninterface IntervalProvider {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n delegate:\n | {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n }\n | undefined;\n}\n\nexport const intervalProvider: IntervalProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setInterval(handler: () => void, timeout?: number, ...args) {\n const { delegate } = intervalProvider;\n if (delegate?.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return (delegate?.clearInterval || clearInterval)(handle as any);\n },\n delegate: undefined,\n};\n", "import { Action } from './Action';\nimport { SchedulerAction } from '../types';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncAction extends Action {\n public id: TimerHandle | undefined;\n public state?: T;\n // @ts-ignore: Property has no initializer and is not definitely assigned\n public delay: number;\n protected pending: boolean = false;\n\n constructor(protected scheduler: AsyncScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (this.closed) {\n return this;\n }\n\n // Always replace the current state with the new state.\n this.state = state;\n\n const id = this.id;\n const scheduler = this.scheduler;\n\n //\n // Important implementation note:\n //\n // Actions only execute once by default, unless rescheduled from within the\n // scheduled callback. This allows us to implement single and repeat\n // actions via the same code path, without adding API surface area, as well\n // as mimic traditional recursion but across asynchronous boundaries.\n //\n // However, JS runtimes and timers distinguish between intervals achieved by\n // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n // serial `setTimeout` calls can be individually delayed, which delays\n // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n // guarantee the interval callback will be invoked more precisely to the\n // interval period, regardless of load.\n //\n // Therefore, we use `setInterval` to schedule single and repeat actions.\n // If the action reschedules itself with the same delay, the interval is not\n // canceled. If the action doesn't reschedule, or reschedules with a\n // different delay, the interval will be canceled after scheduled callback\n // execution.\n //\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n\n // Set the pending flag indicating that this action has been scheduled, or\n // has recursively rescheduled itself.\n this.pending = true;\n\n this.delay = delay;\n // If this action has already an async Id, don't request a new one.\n this.id = this.id ?? this.requestAsyncId(scheduler, this.id, delay);\n\n return this;\n }\n\n protected requestAsyncId(scheduler: AsyncScheduler, _id?: TimerHandle, delay: number = 0): TimerHandle {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n\n protected recycleAsyncId(_scheduler: AsyncScheduler, id?: TimerHandle, delay: number | null = 0): TimerHandle | undefined {\n // If this action is rescheduled with the same delay time, don't clear the interval id.\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n // Otherwise, if the action's delay time is different from the current delay,\n // or the action has been rescheduled before it's executed, clear the interval id\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n\n return undefined;\n }\n\n /**\n * Immediately executes this action and the `work` it contains.\n * @return {any}\n */\n public execute(state: T, delay: number): any {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n } else if (this.pending === false && this.id != null) {\n // Dequeue if the action didn't reschedule itself. Don't call\n // unsubscribe(), because the action could reschedule later.\n // For example:\n // ```\n // scheduler.schedule(function doWork(counter) {\n // /* ... I'm a busy worker bee ... */\n // var originalAction = this;\n // /* wait 100ms before rescheduling the action */\n // setTimeout(function () {\n // originalAction.schedule(counter + 1);\n // }, 100);\n // }, 1000);\n // ```\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n\n protected _execute(state: T, _delay: number): any {\n let errored: boolean = false;\n let errorValue: any;\n try {\n this.work(state);\n } catch (e) {\n errored = true;\n // HACK: Since code elsewhere is relying on the \"truthiness\" of the\n // return here, we can't have it return \"\" or 0 or false.\n // TODO: Clean this up when we refactor schedulers mid-version-8 or so.\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n\n this.work = this.state = this.scheduler = null!;\n this.pending = false;\n\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n\n this.delay = null!;\n super.unsubscribe();\n }\n }\n}\n", "import { Action } from './scheduler/Action';\nimport { Subscription } from './Subscription';\nimport { SchedulerLike, SchedulerAction } from './types';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an `Action`.\n *\n * ```ts\n * class Scheduler {\n * now(): number;\n * schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @class Scheduler\n * @deprecated Scheduler is an internal implementation detail of RxJS, and\n * should not be used directly. Rather, create your own class and implement\n * {@link SchedulerLike}. Will be made internal in v8.\n */\nexport class Scheduler implements SchedulerLike {\n public static now: () => number = dateTimestampProvider.now;\n\n constructor(private schedulerActionCtor: typeof Action, now: () => number = Scheduler.now) {\n this.now = now;\n }\n\n /**\n * A getter method that returns a number representing the current time\n * (at the time this function was called) according to the scheduler's own\n * internal clock.\n * @return {number} A number that represents the current time. May or may not\n * have a relation to wall-clock time. May or may not refer to a time unit\n * (e.g. milliseconds).\n */\n public now: () => number;\n\n /**\n * Schedules a function, `work`, for execution. May happen at some point in\n * the future, according to the `delay` parameter, if specified. May be passed\n * some context object, `state`, which will be passed to the `work` function.\n *\n * The given arguments will be processed an stored as an Action object in a\n * queue of actions.\n *\n * @param {function(state: ?T): ?Subscription} work A function representing a\n * task, or some unit of work to be executed by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler itself.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @return {Subscription} A subscription in order to be able to unsubscribe\n * the scheduled work.\n */\n public schedule(work: (this: SchedulerAction, state?: T) => void, delay: number = 0, state?: T): Subscription {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Action } from './Action';\nimport { AsyncAction } from './AsyncAction';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncScheduler extends Scheduler {\n public actions: Array> = [];\n /**\n * A flag to indicate whether the Scheduler is currently executing a batch of\n * queued actions.\n * @type {boolean}\n * @internal\n */\n public _active: boolean = false;\n /**\n * An internal ID used to track the latest asynchronous task such as those\n * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n * others.\n * @type {any}\n * @internal\n */\n public _scheduled: TimerHandle | undefined;\n\n constructor(SchedulerAction: typeof Action, now: () => number = Scheduler.now) {\n super(SchedulerAction, now);\n }\n\n public flush(action: AsyncAction): void {\n const { actions } = this;\n\n if (this._active) {\n actions.push(action);\n return;\n }\n\n let error: any;\n this._active = true;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()!)); // exhaust the scheduler queue\n\n this._active = false;\n\n if (error) {\n while ((action = actions.shift()!)) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\n/**\n *\n * Async Scheduler\n *\n * Schedule task as if you used setTimeout(task, duration)\n *\n * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript\n * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating\n * in intervals.\n *\n * If you just want to \"defer\" task, that is to perform it right after currently\n * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`),\n * better choice will be the {@link asapScheduler} scheduler.\n *\n * ## Examples\n * Use async scheduler to delay task\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * const task = () => console.log('it works!');\n *\n * asyncScheduler.schedule(task, 2000);\n *\n * // After 2 seconds logs:\n * // \"it works!\"\n * ```\n *\n * Use async scheduler to repeat task in intervals\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * function task(state) {\n * console.log(state);\n * this.schedule(state + 1, 1000); // `this` references currently executing Action,\n * // which we reschedule with new state and delay\n * }\n *\n * asyncScheduler.schedule(task, 3000, 0);\n *\n * // Logs:\n * // 0 after 3s\n * // 1 after 4s\n * // 2 after 5s\n * // 3 after 6s\n * ```\n */\n\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\n\n/**\n * @deprecated Renamed to {@link asyncScheduler}. Will be removed in v8.\n */\nexport const async = asyncScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { Subscription } from '../Subscription';\nimport { QueueScheduler } from './QueueScheduler';\nimport { SchedulerAction } from '../types';\nimport { TimerHandle } from './timerHandle';\n\nexport class QueueAction extends AsyncAction {\n constructor(protected scheduler: QueueScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n\n public execute(state: T, delay: number): any {\n return delay > 0 || this.closed ? super.execute(state, delay) : this._execute(state, delay);\n }\n\n protected requestAsyncId(scheduler: QueueScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n\n // Otherwise flush the scheduler starting with this action.\n scheduler.flush(this);\n\n // HACK: In the past, this was returning `void`. However, `void` isn't a valid\n // `TimerHandle`, and generally the return value here isn't really used. So the\n // compromise is to return `0` which is both \"falsy\" and a valid `TimerHandle`,\n // as opposed to refactoring every other instanceo of `requestAsyncId`.\n return 0;\n }\n}\n", "import { AsyncScheduler } from './AsyncScheduler';\n\nexport class QueueScheduler extends AsyncScheduler {\n}\n", "import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\n\n/**\n *\n * Queue Scheduler\n *\n * Put every next task on a queue, instead of executing it immediately\n *\n * `queue` scheduler, when used with delay, behaves the same as {@link asyncScheduler} scheduler.\n *\n * When used without delay, it schedules given task synchronously - executes it right when\n * it is scheduled. However when called recursively, that is when inside the scheduled task,\n * another task is scheduled with queue scheduler, instead of executing immediately as well,\n * that task will be put on a queue and wait for current one to finish.\n *\n * This means that when you execute task with `queue` scheduler, you are sure it will end\n * before any other task scheduled with that scheduler will start.\n *\n * ## Examples\n * Schedule recursively first, then do something\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(() => {\n * queueScheduler.schedule(() => console.log('second')); // will not happen now, but will be put on a queue\n *\n * console.log('first');\n * });\n *\n * // Logs:\n * // \"first\"\n * // \"second\"\n * ```\n *\n * Reschedule itself recursively\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(function(state) {\n * if (state !== 0) {\n * console.log('before', state);\n * this.schedule(state - 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * console.log('after', state);\n * }\n * }, 0, 3);\n *\n * // In scheduler that runs recursively, you would expect:\n * // \"before\", 3\n * // \"before\", 2\n * // \"before\", 1\n * // \"after\", 1\n * // \"after\", 2\n * // \"after\", 3\n *\n * // But with queue it logs:\n * // \"before\", 3\n * // \"after\", 3\n * // \"before\", 2\n * // \"after\", 2\n * // \"before\", 1\n * // \"after\", 1\n * ```\n */\n\nexport const queueScheduler = new QueueScheduler(QueueAction);\n\n/**\n * @deprecated Renamed to {@link queueScheduler}. Will be removed in v8.\n */\nexport const queue = queueScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nimport { SchedulerAction } from '../types';\nimport { animationFrameProvider } from './animationFrameProvider';\nimport { TimerHandle } from './timerHandle';\n\nexport class AnimationFrameAction extends AsyncAction {\n constructor(protected scheduler: AnimationFrameScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n protected requestAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If an animation frame has already been requested, don't request another\n // one. If an animation frame hasn't been requested yet, request one. Return\n // the current animation frame request id.\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n\n protected recycleAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n // If the scheduler queue has no remaining actions with the same async id,\n // cancel the requested animation frame and set the scheduled flag to\n // undefined so the next AnimationFrameAction will request its own.\n const { actions } = scheduler;\n if (id != null && actions[actions.length - 1]?.id !== id) {\n animationFrameProvider.cancelAnimationFrame(id as number);\n scheduler._scheduled = undefined;\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\nexport class AnimationFrameScheduler extends AsyncScheduler {\n public flush(action?: AsyncAction): void {\n this._active = true;\n // The async id that effects a call to flush is stored in _scheduled.\n // Before executing an action, it's necessary to check the action's async\n // id to determine whether it's supposed to be executed in the current\n // flush.\n // Previous implementations of this method used a count to determine this,\n // but that was unsound, as actions that are unsubscribed - i.e. cancelled -\n // are removed from the actions array and that can shift actions that are\n // scheduled to be executed in a subsequent flush into positions at which\n // they are executed within the current flush.\n const flushId = this._scheduled;\n this._scheduled = undefined;\n\n const { actions } = this;\n let error: any;\n action = action || actions.shift()!;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n\n this._active = false;\n\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\n\n/**\n *\n * Animation Frame Scheduler\n *\n * Perform task when `window.requestAnimationFrame` would fire\n *\n * When `animationFrame` scheduler is used with delay, it will fall back to {@link asyncScheduler} scheduler\n * behaviour.\n *\n * Without delay, `animationFrame` scheduler can be used to create smooth browser animations.\n * It makes sure scheduled task will happen just before next browser content repaint,\n * thus performing animations as efficiently as possible.\n *\n * ## Example\n * Schedule div height animation\n * ```ts\n * // html:

jua93aP{cwD7eumW&t6Xw-nvSo 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 z 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 z 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�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 literal 0 HcmV?d00001 diff --git a/assets/escolaridade.png b/assets/escolaridade.png new file mode 100644 index 0000000000000000000000000000000000000000..be0e29056d5c1bedf8e8459fbda26f933215194d GIT binary patch literal 31494 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