mirror of
https://github.com/Steffo99/unisteffo.git
synced 2024-11-23 08:24:20 +00:00
1 line
No EOL
58 KiB
Text
Generated
1 line
No EOL
58 KiB
Text
Generated
{"version":3,"sources":["webpack:///./components/Elements/TablePanel.js","webpack:///./components/Elements/Example.less","webpack:///./components/Elements/Box.less","webpack:///./routes/ApprendimentoSistemiArtificiali.js","webpack:///./components/Rendering/Latex.less","webpack:///./components/Elements/Todo.less","webpack:///./components/Elements/Section.js","webpack:///./components/Elements/Panel.less","webpack:///./contexts/LatexDefaultDisplay.js","webpack:///./components/Rendering/Latex.js","webpack:///./components/Elements/Timer.js","webpack:///../src/index.js","webpack:///./components/Elements/Todo.js","webpack:///./components/Layout/Split.js","webpack:///./components/Rendering/PLatex.js","webpack:///./components/Elements/TablePanel.less","webpack:///./components/Elements/Example.js","webpack:///./components/Elements/Box.js","webpack:///./components/Elements/Timer.less","webpack:///./components/Layout/Split.less","webpack:///./components/Elements/Panel.js","webpack:///./contexts/LatexDefaultInline.js","webpack:///./components/Rendering/ILatex.js","webpack:///./components/Rendering/BLatex.js"],"names":["props","class","style","tablepanel","children","module","exports","r","String","raw","title","href","to","createContext","LatexDisplay","Object","freeze","INLINE","inline","BLOCK","block","display","renderColor","useContext","LatexRenderColor","defaultInline","LatexDefaultInline","defaultDisplay","LatexDefaultDisplay","undefined","src","alt","latex","Timer","state","Date","now","timer","componentDidMount","this","setInterval","setState","componentWillUnmount","clearInterval","render","dateTo","className","parts","milliseconds","seconds","minutes","hours","days","timeLeft","Math","floor","expired","unknown","count","text","Component","getHookState","index","type","options","_hook","currentComponent","currentHook","hooks","__hooks","_list","_pendingEffects","length","push","useState","initialState","useReducer","invokeOrReturn","reducer","init","hookState","currentIndex","_reducer","_component","_value","nextValue","action","useEffect","callback","args","_skipEffects","argsChanged","_args","useLayoutEffect","_renderCallbacks","useRef","initialValue","useMemo","current","useImperativeHandle","ref","createHandle","concat","factory","_factory","useCallback","context","provider","_id","_context","sub","value","_defaultValue","useDebugValue","formatter","flushAfterPaintEffects","afterPaintEffects","some","component","_parentDom","forEach","invokeCleanup","invokeEffect","e","_catchError","_vnode","hook","_cleanup","oldArgs","newArgs","arg","f","prevRaf","oldBeforeRender","_render","oldAfterDiff","diffed","oldCommit","_commit","oldBeforeUnmount","unmount","vnode","c","requestAnimationFrame","raf","done","clearTimeout","timeout","cancelAnimationFrame","setTimeout","window","commitQueue","filter","cb","Array","isArray","map","element","splitchild","split","splitparent","example","BoxColors","RED","red","ORANGE","orange","YELLOW","yellow","LIME","lime","CYAN","cyan","BLUE","blue","MAGENTA","magenta","DEFAULT","default","color","box","contents"],"mappings":"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","file":"route-ApprendimentoSistemiArtificiali.chunk.b52e7.js","sourcesContent":["import style from \"./TablePanel.less\";\n\nexport default function (props) {\n return (\n <table class={style.tablepanel}>\n {props.children}\n </table>\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"example\":\"example__9acWs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"box\":\"box__3cKyY\",\"default\":\"default__v-emJ\",\"red\":\"red__339Cz\",\"orange\":\"orange__24_8v\",\"yellow\":\"yellow__1Jo9W\",\"lime\":\"lime__34yV5\",\"cyan\":\"cyan__3RqLr\",\"blue\":\"blue__13Wnj\",\"magenta\":\"magenta__2tkzq\"};","import Section from \"../components/Elements/Section\";\nimport Panel from \"../components/Elements/Panel\";\nimport Example from \"../components/Elements/Example\";\nimport Timer from \"../components/Elements/Timer\";\nimport Todo from \"../components/Elements/Todo\";\nimport ILatex from \"../components/Rendering/ILatex\";\nimport TablePanel from \"../components/Elements/TablePanel\";\nimport BLatex from \"../components/Rendering/BLatex\";\nimport PLatex from \"../components/Rendering/PLatex\";\n\nconst r = String.raw;\n\n\nexport default function(props) {\n return (\n <div>\n <h1>Apprendimento ed evoluzione in sistemi artificiali</h1>\n <Section title={\"Informazioni\"}>\n <Panel title={\"Contatti\"}>\n <ul>\n <li><a href={\"mailto:marco.villani@unimore.it\"}>Prof. Marco Villani</a></li>\n </ul>\n </Panel>\n <Panel title={\"Archivio\"}>\n <p>\n Se sei uno <b>studente dell'Unimore</b>, puoi accedere all'<b><a href={\"https://drive.google.com/drive/folders/1GcjP1Z5UtRjyAag7qjFQ-kx3s06G8ZoP\"}>archivio del corso su Google Drive</a></b>.\n </p>\n </Panel>\n </Section>\n <Section title={\"Esame\"}>\n <Panel title={\"Scritto\"}>\n <ul>\n <li>Scegli 2 tra 6 domande possibili</li>\n <li>90 minuti</li>\n </ul>\n </Panel>\n <Panel title={\"Appelli\"}>\n <ol>\n <li><Timer to={\"2020-06-23\"}/></li>\n <li><Timer to={\"2020-07-08\"}/></li>\n <li><Timer to={\"2020-07-22\"}/></li>\n </ol>\n </Panel>\n </Section>\n <Section title={\"NetLogo\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n NetLogo è un software di modellazione sistemi multiagente, da noi usato per le lezioni di laboratorio.\n </p>\n <p>\n Si può <a href={\"https://ccl.northwestern.edu/netlogo/download.shtml\"}>scaricare</a> o <a href={\"https://www.netlogoweb.org/launch\"}>usare da browser</a>.\n </p>\n <p>\n Il suo codice sorgente è disponibile su <a href={\"https://github.com/NetLogo/NetLogo\"}>GitHub</a>, e ha una pagina di <a href={\"https://ccl.northwestern.edu/netlogo/docs/dictionary.html\"}>documentazione</a>.\n </p>\n <p>\n <b style={\"font-size: x-large;\"}><a href={\"/apprendimento/netlogo\"}>Consulta i miei appunti su NetLogo qui!</a></b>\n </p>\n </Panel>\n </Section>\n <Section title={\"Agenti\"}>\n <Panel title={\"Secondo il paradigma debole\"}>\n <p>\n Sono <b>sistemi</b> con le seguenti caratteristiche:\n </p>\n <ul>\n <li><b>Autonomia</b>: agiscono gli uni indipendentemente dagli altri</li>\n <li><b>Reattività</b>: percepiscono ciò che sta nel loro ambiente e <i>reagiscono</i> ai cambiamenti di quest'ultimo</li>\n <li><b>Proattività</b>: agiscono in maniera tale da portare a termine i loro obiettivi</li>\n <li><b>Socialità</b>: comunicano con gli altri agenti, scambiando informazioni</li>\n </ul>\n </Panel>\n <Panel title={\"Secondo il paradigma forte\"}>\n <p>\n Hanno anche caratteristiche di livello più alto derivate dalle quattro precedenti:\n </p>\n <ul>\n <li>Conoscenza</li>\n <li>Intenzioni</li>\n <li>Emozioni</li>\n <li>Obblighi</li>\n <li>Obiettivi</li>\n <li>etc...</li>\n </ul>\n </Panel>\n <Panel title={\"Caratteristiche aggiuntive\"}>\n <p>\n Gli agenti solitamente hanno anche:\n </p>\n <ul>\n <li><b>Mobilità</b>: possono muoversi nell'ambiente</li>\n <li><b>Veridicità</b>: producono informazioni corrette</li>\n <li><b>Benevolenza</b>: agiscono nel modo corretto</li>\n <li><b>Razionalità</b>: compiono le azioni necessarie per raggiungere i loro obiettivi, e non altre che glielo impedirebbero</li>\n </ul>\n </Panel>\n </Section>\n <Section title={\"Benefici degli agenti\"}>\n <Panel title={\"Emergenza\"}>\n <p>\n Lo sviluppo negli agenti di nuove capacità per cui non erano stati programmati.\n </p>\n <Example>\n Ad esempio, la Swarm Intelligence, descritta dopo!\n </Example>\n </Panel>\n </Section>\n <Section title={\"Architetture di agente\"}>\n <Panel title={\"Classe\"}>\n <p>\n Classificazione in base a <b>come prende le decisioni</b> un agente:\n </p>\n <ul>\n <li><b>Logic-based</b>: prende le decisioni attraverso deduzioni <i>logiche</i></li>\n <li><b>Reactive</b>: mappa una <i>reazione</i> a ogni situazione dell'ambiente</li>\n <li><b>Belief-desire-intention</b>: per decidere, considera le proprie <i>assunzioni sul mondo</i> (<i>belief</i>), i propri <i>desideri</i> (<i>desire</i>) e le sue <i>intenzioni</i> correnti (<i>intention</i>)</li>\n <li><b>Layered</b>: utilizza diversi <i>strati</i> di capacità cognitive per giungere a una decisione</li>\n </ul>\n </Panel>\n <Panel title={\"Comportamento\"}>\n <p>\n Classificazione in base a <b>come sono definiti gli obiettivi</b> di un agente:\n </p>\n <ul>\n <li><b>Teleonomico</b>: gli obiettivi sono predefiniti ed espliciti</li>\n <li><b>Riflessivo</b>: l'agente è libero di scegliere il suo obiettivo in base alle proprie percezioni interne</li>\n </ul>\n </Panel>\n <Panel title={\"Conoscenze\"}>\n <p>\n Classificazione in base a <b>quanto conosce dell'ambiente</b> un agente:\n </p>\n <ul>\n <li><b>Cognitivo</b>: l'agente è immediatamente a conoscenza di <b>tutto l'ambiente</b></li>\n <li><b>Reattivo</b>: l'agente deve scoprire l'ambiente con le sue capacità sensoriali</li>\n </ul>\n </Panel>\n </Section>\n <Section title={\"Sistemi multi-agente\"}>\n <Panel title={\"Vantaggi\"}>\n <ul>\n <li><b>Distribuzione</b>: più agenti possono coprire aree di ambiente più vaste, o elaborare più in fretta zone più dense di informazione</li>\n <li><b>Rappresentazione</b>: i sistemi multi-agente modellano più accuratamente il mondo reale</li>\n </ul>\n </Panel>\n <Panel title={\"Swarm intelligence\"}>\n <p>\n Comportamento <b>emergente</b> che si manifesta nei sistemi multiagente con tantissimi agenti.\n </p>\n <p>\n Indica la capacità di risoluzione di problemi complessi attraverso la collaborazione di più agenti semplici.\n </p>\n </Panel>\n </Section>\n <Section title={\"Evoluzione\"}>\n <Panel title={\"Algoritmi genetici\"}>\n <p>\n Meccanismi simili a quelli evolutivi umani che permettono ai tratti degli agenti di <b>convergere</b> verso un valore.\n </p>\n </Panel>\n <Panel title={\"Fitness\"}>\n <p>\n Inizialmente definita come <b>numero di discendenti fertili</b>, solitamente indica quanto è probabile che i tratti di un individuo siano passati alla generazione successiva.\n </p>\n </Panel>\n <Panel title={\"Cromosoma\"}>\n <p>\n <b>Sequenza di valori</b> che definisce uno o più tratti di un individuo.\n </p>\n </Panel>\n <Panel title={\"Popolazione\"}>\n <p>\n Un <b>insieme di individui</b> aventi tutti gli stessi cromosomi.\n </p>\n </Panel>\n <Panel title={\"Mutazione\"}>\n <p>\n Fenomeno che causa una <b>piccola variazione casuale nei cromosomi</b> dei figli.\n </p>\n <p>\n Previene la <b>convergenza prematura</b> in un sistema.\n </p>\n </Panel>\n <Panel title={\"Crossover\"}>\n <p>\n Meccanismo di <b>costruzione dei cromosomi</b> in un figlio: i cromosomi dei genitori vengono tagliati nello stesso punto scelto a caso, e per costruire quelli del figlio viene presa una parte dal padre e l'altra parte dalla madre.\n </p>\n <p>\n Può portare al miglioramento di un individuo e allo sviluppo di nuovi tratti, ma solo nelle parti di cromosoma che sono diverse tra i due genitori.\n </p>\n </Panel>\n <Panel title={\"Schema\"}>\n <p>\n <b>Sequenza di valori</b> all'interno di un cromosoma, che può includere anche sezioni in cui il valore è <b>irrilevante</b>.\n </p>\n <p>\n Gli algoritmi genetici permettono di trovare gli schemi con la <b>fitness più alta in assoluto</b> in un tempo relativamente breve: il sistema <i>generalmente</i> favorisce gli schemi corti con fitness alta.\n </p>\n </Panel>\n <Panel title={\"Convergenza prematura\"}>\n <p>\n Situazione in cui si è raggiunta una soluzione non-ottimale a causa dell'assenza di novità nel sistema.\n </p>\n <p>\n Si può impedire con vari metodi: con la <b>mutazione</b>, introducendo <b>requisiti di località</b> per l'accoppiamento, scegliendo diversamente i genitori, etc...\n </p>\n </Panel>\n </Section>\n <Section title={\"Sistema a classificatori\"}>\n <Panel title={\"Cosa sono?\"}>\n <p>\n Programmi che dati tanti esempi sono in grado di classificare un elemento in una o più categorie.\n </p>\n <p>\n Sono formati da <i>classificatori</i>, liste di <i>messaggi</i>, <i>detettori</i> e <i>effettori</i>.\n </p>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Classificatori\"}>\n <p>\n Strutture logiche che <b>elaborano</b> i messaggi.\n </p>\n <p>\n Valutano una espressione logica (<i>condizione</i>) sui messaggi in arrivo, e se questa risulta essere vera, emettono un nuovo messaggio in risposta (<i>azione</i>).\n </p>\n <Example>\n Condizione e azione possono essere considerati come due cromosomi di un algoritmo genetico!\n </Example>\n </Panel>\n <Panel title={\"Messaggi\"}>\n <p>\n <b>Unità di informazione</b> di un sistema a classificatori: sono <b>generati</b> da <i>detettori</i> e <i>classificatori</i>, e <b>consumati</b> da <i>classificatori</i> ed <i>effettori</i>.\n </p>\n </Panel>\n <Panel title={\"Detettori\"}>\n <p>\n <b>Sensori</b> che percepiscono lo stato dell'ambiente esterno e lo riportano sotto forma di <i>messaggi</i>.\n </p>\n </Panel>\n <Panel title={\"Effettori\"}>\n <p>\n <b>Motori</b> che rispondono ai <i>messaggi</i> effettuando una qualche azione nell'ambiente.\n </p>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Forza\"}>\n <p>\n Un <b>punteggio</b> associato ad ogni classificatore.\n </p>\n <p>\n Più un classificatore viene attivato, più la sua forza crescerà.\n </p>\n <Example>\n I classificatori più deboli vengono lentamente eliminati!\n </Example>\n </Panel>\n <Panel title={\"Specificità\"}>\n <p>\n Il <b>numero di condizioni che devono essere soddisfatte</b> perchè il classificatore si attivi.\n </p>\n </Panel>\n <Panel title={\"Bid\"}>\n <p>\n <b>Prodotto</b> di specificità e forza di un classificatore.\n </p>\n <p>\n Rappresenta <b>quanto è probabile che venga utilizzato</b> un dato classificatore nel caso che le condizioni di più di uno vengano soddisfatte.\n </p>\n <Example>\n La fitness degli algoritmi genetici.\n </Example>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Cover Detector\"}>\n <p>\n Se l'input non soddisfa nessun classificatore esistente, se ne crea uno nuovo con una azione casuale.\n </p>\n </Panel>\n <Panel title={\"Cover Effector\"}>\n <p>\n Se i classificatori emettono in output un messaggio\n </p>\n </Panel>\n </Section>\n <Section title={\"Reti neurali\"}>\n <Panel title={\"Cognitivismo\"}>\n <p>\n Non è importante l'architettura fisica di un intelligenza, ma solo la sua <b>capacità di elaborare simboli</b>.\n </p>\n <Todo>\n TODO: è una teoria, una filosofia o cosa? Come si collega alla <a href={\"https://it.wikipedia.org/wiki/Stanza_cinese\"}>Stanza Cinese</a>?\n </Todo>\n </Panel>\n <Panel title={\"Neuroni\"}>\n <p>\n Agenti che possono <b>collegarsi tra loro</b> tramite <i>sinapsi</i> (dirette) e <b>ricevere</b> ed <b>emettere</b> <i>impulsi</i> lungo di esse.\n </p>\n <p>\n Gli impulsi ricevuti vengono temporaneamente <b>memorizzati</b> dal neurone attraverso valori che decadono nel tempo.\n </p>\n <p>\n Se la somma dei valori di tutti gli impulsi ricevuti è <b>maggiore di una certa soglia</b>, allora il neurone <b>emetterà</b> un impulso.\n </p>\n </Panel>\n </Section>\n <Section title={\"Modello booleano\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n Un modello semplificato di rete neurale in cui vengono considerati <b>solo tempi discreti</b>, e non è presente la memorizzazione degli impulsi nel tempo.\n </p>\n <Example>\n È importante perchè dimostra che le reti neurali <b>possono elaborare qualsiasi cosa</b>, ma incompleto perchè non descrive nessun metodo per la loro creazione automatica.\n </Example>\n </Panel>\n <Panel title={\"Neuroni\"}>\n <p>\n I neuroni emettono in un dato istante se la <b>somma dei loro impulsi nell'istante precedente è maggiore o uguale a 1</b>.\n </p>\n </Panel>\n <Panel title={\"Intensità sinaptica\"}>\n <p>\n Le sinapsi hanno una <i>intensità</i>: è un <b>moltiplicatore</b> che viene applicato a tutti gli impulsi transitanti la sinapsi.\n </p>\n </Panel>\n </Section>\n <Section title={\"Funzioni logiche nel modello booleano\"}>\n <Panel title={\"NOT\"}>\n <p>\n Un neurone con una sinapsi entrante con intensità <ILatex>{r`-1`}</ILatex>.\n </p>\n </Panel>\n <Panel title={\"OR\"}>\n <p>\n Un neurone con due o più sinapsi entranti con intensità <ILatex>{r`1`}</ILatex>.\n </p>\n </Panel>\n <Panel title={\"AND\"}>\n <p>\n Un neurone con due o più sinapsi entranti con intensità <ILatex>{r`\\frac{1}{numero\\ sinapsi}`}</ILatex>.\n </p>\n </Panel>\n </Section>\n <Section title={\"Modello di Hopfield\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n Un'estensione del modello booleano per permettere l'apprendimento automatico delle configurazioni giuste di neuroni.\n </p>\n <p>\n Tra le altre cose, <b>proibisce sinapsi entranti e uscenti dallo stesso neurone</b>.\n </p>\n <p>\n Non è molto avanzato e funzionale, ma incentiva ulteriori studi nel campo.\n </p>\n </Panel>\n <TablePanel>\n <thead>\n <tr>\n <th>Simbolo</th>\n <th>Descrizione</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><BLatex>{r`N`}</BLatex></td>\n <td>Numero totale di neuroni nel sistema</td>\n </tr>\n <tr>\n <td><BLatex>{r`n`}</BLatex></td>\n <td>Numero di un neurone specifico</td>\n </tr>\n <tr>\n <td><BLatex>{r`w_{nm}`}</BLatex></td>\n <td>Intensità della sinapsi diretta da <ILatex>{r`n`}</ILatex> verso <ILatex>{r`m`}</ILatex></td>\n </tr>\n <tr>\n <td><BLatex>{r`\\theta_n`}</BLatex></td>\n <td>Soglia di attivazione del neurone <ILatex>{r`n`}</ILatex></td>\n </tr>\n <tr>\n <td><BLatex>{r`x_n(t)`}</BLatex></td>\n <td>Emissione del neurone <ILatex>{r`n`}</ILatex> nel momento <ILatex>{r`t`}</ILatex></td>\n </tr>\n <tr>\n <td><BLatex>{r`X(t)`}</BLatex></td>\n <td>Vettore contenente tutte le emissioni dei neuroni nel momento <ILatex>{r`t`}</ILatex></td>\n </tr>\n <tr>\n <td><BLatex>{r`I_n(X(t))`}</BLatex></td>\n <td>Somma degli ingressi del neurone <ILatex>{r`n`}</ILatex> nel momento <ILatex>{r`t`}</ILatex></td>\n </tr>\n <tr>\n <td><BLatex>{r`A`}</BLatex></td>\n <td>Un pattern di neuroni</td>\n </tr>\n <tr>\n <td><BLatex>{r`a_i`}</BLatex></td>\n <td>Un neurone appartenente a un pattern</td>\n </tr>\n <tr>\n <td><BLatex>{r`Q(A, B)`}</BLatex></td>\n <td>Sovrapposizione tra il pattern <ILatex>{r`A`}</ILatex> e il pattern <ILatex>{r`B`}</ILatex></td>\n </tr>\n </tbody>\n </TablePanel>\n <Panel title={\"Evoluzione del sistema\"}>\n <p>\n In ogni istante, i neuroni emettono:\n </p>\n <ul>\n <li><ILatex>{r`0`}</ILatex> se gli input <b>sono inferiori alla soglia</b></li>\n <li><ILatex>{r`1`}</ILatex> se gli input <b>superano la soglia</b></li>\n <li><b>il valore precedente</b> se gli input <b>sono uguali alla soglia</b></li>\n </ul>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Simmetria\"}>\n <p>\n Se le connessioni sono simmetriche, la rete neurale tenderà a un punto fisso: il sistema evolve fino a raggiungere un attrattore.\n </p>\n <p>\n <Todo>TODO: E quindi...?</Todo>\n </p>\n </Panel>\n <Panel title={\"Apprendimento hebbiano\"}>\n <p>\n Un metodo per realizzare l'apprendimento nel modello di Hopfield.\n </p>\n <p>\n Si incrementa l'intensità delle sinapsi che connettono neuroni nello stesso stato, e invece si decrementa l'intensità di quelle che connettono neuroni in stati opposti.\n </p>\n <p>\n Considerando i neuroni spenti e quelli accesi come <ILatex>{r`0`}</ILatex> e <ILatex>{r`1`}</ILatex> rispettivamente, si ha che per ogni pattern:\n </p>\n <PLatex>{r`\n \\Delta w_{ik} = (2 \\cdot A_i - 1)(2 \\cdot A_k - 1)\n `}</PLatex>\n <Example>\n Così facendo, si insegna sia il pattern normale sia il suo complementare!\n </Example>\n <p>\n <Todo>TODO: Dopo ci sono tante dimostrazioni...</Todo>\n </p>\n </Panel>\n <Panel title={\"Overlap di due pattern\"}>\n <p>\n Il numero di neuroni attivati in entrambi i pattern.\n </p>\n <PLatex>{r`\n Q(A, B) = \\sum_{i = 1}^n A_i B_i\n `}</PLatex>\n </Panel>\n <Panel title={\"Interferenza\"}>\n <p>\n Più pattern vengono imparati da un modello, più è facile che essi interferiscano tra loro.\n </p>\n <p>\n In caso di pattern completamente scorrelati tra loro, il limite di pattern imparabili è circa:\n </p>\n <PLatex>\n {r`0.14 \\cdot N`}\n </PLatex>\n </Panel>\n </Section>\n <Section title={\"Modello a percettroni\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n Un modello di rete neurale che supporta l'apprendimento e che presenta <b>più strati di neuroni</b> (detti <i>percettroni</i>).\n </p>\n </Panel>\n </Section>\n </div>\n )\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"inline\":\"inline__1yl8V\",\"block\":\"block__fPiiB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"todo\":\"todo__2IWIS\"};","import Split from \"../Layout/Split\";\nimport {Fragment} from \"preact\";\n\nexport default function (props) {\n return (\n <Fragment>\n <h2>\n {props.title}\n </h2>\n <Split>\n {props.children}\n </Split>\n </Fragment>\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"title__3ZVpg\",\"contents\":\"contents__20_NI\"};","import {createContext} from \"preact\";\n\nexport default createContext(null);\n","import style from './Latex.less';\nimport {useContext} from \"preact/hooks\";\nimport LatexRenderColor from \"../../contexts/LatexRenderColor\";\nimport LatexDefaultInline from \"../../contexts/LatexDefaultInline\";\nimport LatexDefaultDisplay from \"../../contexts/LatexDefaultDisplay\";\n\nexport const LatexDisplay = Object.freeze({\n INLINE: style.inline,\n BLOCK: style.block,\n})\n\nexport default function(props) {\n // black, blue, brown, cyan, darkgray, gray, green, lightgray, lime, magenta, olive, orange, pink, purple, red, teal, violet, white, yellow\n let renderColor = useContext(LatexRenderColor);\n let defaultInline = useContext(LatexDefaultInline);\n let defaultDisplay = useContext(LatexDefaultDisplay);\n\n let inline;\n if(props.inline === undefined) {\n inline = defaultInline;\n }\n else {\n inline = props.inline;\n }\n\n let display;\n if(props.display === undefined) {\n if(defaultDisplay === null) {\n display = LatexDisplay.INLINE;\n }\n else {\n display = defaultDisplay;\n }\n }\n else {\n display = props.display;\n }\n\n if(inline) {\n let equation = `\\\\inline {\\\\color{${renderColor}} ${props.children} }`;\n return (\n <img src={`https://latex.codecogs.com/svg.latex?${equation}`}\n alt={props.children}\n title={props.children}\n class={style.latex + \" \" + display}\n />\n );\n }\n else {\n let equation = `{\\\\color{${renderColor}} ${props.children} }`;\n return (\n <img src={`https://latex.codecogs.com/svg.latex?${equation}`}\n alt={props.children}\n title={props.children}\n class={style.latex + \" \" + display}\n />\n );\n }\n}\n","import {Component} from 'preact'\nimport style from \"./Timer.less\"\n\n\nexport default class Timer extends Component {\n constructor() {\n super();\n this.state = {\n \"now\": Date.now()\n };\n this.timer = null;\n }\n\n componentDidMount() {\n this.timer = setInterval(() => {\n this.setState({\"now\": Date.now()})\n }, 1000)\n }\n\n componentWillUnmount() {\n if(this.timer !== null) {\n clearInterval(this.timer)\n }\n }\n\n render() {\n let dateTo = \"Unknown date\";\n let className = style.timer;\n\n let parts = {\n milliseconds: \"?\",\n seconds: \"?\",\n minutes: \"?\",\n hours: \"?\",\n days: \"?\",\n };\n\n if(this.props.to) {\n dateTo = new Date(this.props.to);\n let timeLeft = dateTo - this.state.now;\n\n if(timeLeft > 0) {\n parts = {\n milliseconds: timeLeft % 1000,\n seconds: Math.floor(timeLeft / 1000) % 60,\n minutes: Math.floor(timeLeft / 60000) % 60,\n hours: Math.floor(timeLeft / 3600000) % 24,\n days: Math.floor(timeLeft / 86400000),\n };\n }\n\n else {\n parts = {\n milliseconds: 0,\n seconds: 0,\n minutes: 0,\n hours: 0,\n days: 0,\n };\n\n className += \" \" + style.expired;\n }\n }\n else {\n className += \" \" + style.unknown;\n }\n\n return (\n <div class={className} title={dateTo}>\n <div class={style.days + \" \" + style.count}>\n {parts.days}\n </div>\n <div className={style.days + \" \" + style.text}>\n giorni\n </div>\n <div class={style.hours + \" \" + style.count}>\n {parts.hours}\n </div>\n <div className={style.hours + \" \" + style.text}>\n ore\n </div>\n <div class={style.minutes + \" \" + style.count}>\n {parts.minutes}\n </div>\n <div className={style.minutes + \" \" + style.text}>\n minuti\n </div>\n <div class={style.seconds + \" \" + style.count}>\n {parts.seconds}\n </div>\n <div class={style.seconds + \" \" + style.text}>\n secondi\n </div>\n </div>\n )\n }\n}\n","import { options } from 'preact';\n\n/** @type {number} */\nlet currentIndex;\n\n/** @type {import('./internal').Component} */\nlet currentComponent;\n\n/** @type {number} */\nlet currentHook = 0;\n\n/** @type {Array<import('./internal').Component>} */\nlet afterPaintEffects = [];\n\nlet oldBeforeRender = options._render;\nlet oldAfterDiff = options.diffed;\nlet oldCommit = options._commit;\nlet oldBeforeUnmount = options.unmount;\n\nconst RAF_TIMEOUT = 100;\nlet prevRaf;\n\noptions._render = vnode => {\n\tif (oldBeforeRender) oldBeforeRender(vnode);\n\n\tcurrentComponent = vnode._component;\n\tcurrentIndex = 0;\n\n\tconst hooks = currentComponent.__hooks;\n\tif (hooks) {\n\t\thooks._pendingEffects.forEach(invokeCleanup);\n\t\thooks._pendingEffects.forEach(invokeEffect);\n\t\thooks._pendingEffects = [];\n\t}\n};\n\noptions.diffed = vnode => {\n\tif (oldAfterDiff) oldAfterDiff(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks && c.__hooks._pendingEffects.length) {\n\t\tafterPaint(afterPaintEffects.push(c));\n\t}\n};\n\noptions._commit = (vnode, commitQueue) => {\n\tcommitQueue.some(component => {\n\t\ttry {\n\t\t\tcomponent._renderCallbacks.forEach(invokeCleanup);\n\t\t\tcomponent._renderCallbacks = component._renderCallbacks.filter(cb =>\n\t\t\t\tcb._value ? invokeEffect(cb) : true\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tcommitQueue.some(c => {\n\t\t\t\tif (c._renderCallbacks) c._renderCallbacks = [];\n\t\t\t});\n\t\t\tcommitQueue = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t});\n\n\tif (oldCommit) oldCommit(vnode, commitQueue);\n};\n\noptions.unmount = vnode => {\n\tif (oldBeforeUnmount) oldBeforeUnmount(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks) {\n\t\ttry {\n\t\t\tc.__hooks._list.forEach(invokeCleanup);\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t}\n};\n\n/**\n * Get a hook's state from the currentComponent\n * @param {number} index The index of the hook to get\n * @param {number} type The index of the hook to get\n * @returns {import('./internal').HookState}\n */\nfunction getHookState(index, type) {\n\tif (options._hook) {\n\t\toptions._hook(currentComponent, index, currentHook || type);\n\t}\n\tcurrentHook = 0;\n\n\t// Largely inspired by:\n\t// * https://github.com/michael-klein/funcy.js/blob/f6be73468e6ec46b0ff5aa3cc4c9baf72a29025a/src/hooks/core_hooks.mjs\n\t// * https://github.com/michael-klein/funcy.js/blob/650beaa58c43c33a74820a3c98b3c7079cf2e333/src/renderer.mjs\n\t// Other implementations to look at:\n\t// * https://codesandbox.io/s/mnox05qp8\n\tconst hooks =\n\t\tcurrentComponent.__hooks ||\n\t\t(currentComponent.__hooks = {\n\t\t\t_list: [],\n\t\t\t_pendingEffects: []\n\t\t});\n\n\tif (index >= hooks._list.length) {\n\t\thooks._list.push({});\n\t}\n\treturn hooks._list[index];\n}\n\n/**\n * @param {import('./index').StateUpdater<any>} initialState\n */\nexport function useState(initialState) {\n\tcurrentHook = 1;\n\treturn useReducer(invokeOrReturn, initialState);\n}\n\n/**\n * @param {import('./index').Reducer<any, any>} reducer\n * @param {import('./index').StateUpdater<any>} initialState\n * @param {(initialState: any) => void} [init]\n * @returns {[ any, (state: any) => void ]}\n */\nexport function useReducer(reducer, initialState, init) {\n\t/** @type {import('./internal').ReducerHookState} */\n\tconst hookState = getHookState(currentIndex++, 2);\n\thookState._reducer = reducer;\n\tif (!hookState._component) {\n\t\thookState._component = currentComponent;\n\n\t\thookState._value = [\n\t\t\t!init ? invokeOrReturn(undefined, initialState) : init(initialState),\n\n\t\t\taction => {\n\t\t\t\tconst nextValue = hookState._reducer(hookState._value[0], action);\n\t\t\t\tif (hookState._value[0] !== nextValue) {\n\t\t\t\t\thookState._value[0] = nextValue;\n\t\t\t\t\thookState._component.setState({});\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\t}\n\n\treturn hookState._value;\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 3);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent.__hooks._pendingEffects.push(state);\n\t}\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useLayoutEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 4);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent._renderCallbacks.push(state);\n\t}\n}\n\nexport function useRef(initialValue) {\n\tcurrentHook = 5;\n\treturn useMemo(() => ({ current: initialValue }), []);\n}\n\n/**\n * @param {object} ref\n * @param {() => object} createHandle\n * @param {any[]} args\n */\nexport function useImperativeHandle(ref, createHandle, args) {\n\tcurrentHook = 6;\n\tuseLayoutEffect(\n\t\t() => {\n\t\t\tif (typeof ref == 'function') ref(createHandle());\n\t\t\telse if (ref) ref.current = createHandle();\n\t\t},\n\t\targs == null ? args : args.concat(ref)\n\t);\n}\n\n/**\n * @param {() => any} factory\n * @param {any[]} args\n */\nexport function useMemo(factory, args) {\n\t/** @type {import('./internal').MemoHookState} */\n\tconst state = getHookState(currentIndex++, 7);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._args = args;\n\t\tstate._factory = factory;\n\t\treturn (state._value = factory());\n\t}\n\n\treturn state._value;\n}\n\n/**\n * @param {() => void} callback\n * @param {any[]} args\n */\nexport function useCallback(callback, args) {\n\tcurrentHook = 8;\n\treturn useMemo(() => callback, args);\n}\n\n/**\n * @param {import('./internal').PreactContext} context\n */\nexport function useContext(context) {\n\tconst provider = currentComponent.context[context._id];\n\t// We could skip this call here, but than we'd not call\n\t// `options._hook`. We need to do that in order to make\n\t// the devtools aware of this hook.\n\tconst state = getHookState(currentIndex++, 9);\n\t// The devtools needs access to the context object to\n\t// be able to pull of the default value when no provider\n\t// is present in the tree.\n\tstate._context = context;\n\tif (!provider) return context._defaultValue;\n\t// This is probably not safe to convert to \"!\"\n\tif (state._value == null) {\n\t\tstate._value = true;\n\t\tprovider.sub(currentComponent);\n\t}\n\treturn provider.props.value;\n}\n\n/**\n * Display a custom label for a custom hook for the devtools panel\n * @type {<T>(value: T, cb?: (value: T) => string | number) => void}\n */\nexport function useDebugValue(value, formatter) {\n\tif (options.useDebugValue) {\n\t\toptions.useDebugValue(formatter ? formatter(value) : value);\n\t}\n}\n\nexport function useErrorBoundary(cb) {\n\tconst state = getHookState(currentIndex++, 10);\n\tconst errState = useState();\n\tstate._value = cb;\n\tif (!currentComponent.componentDidCatch) {\n\t\tcurrentComponent.componentDidCatch = err => {\n\t\t\tif (state._value) state._value(err);\n\t\t\terrState[1](err);\n\t\t};\n\t}\n\treturn [\n\t\terrState[0],\n\t\t() => {\n\t\t\terrState[1](undefined);\n\t\t}\n\t];\n}\n\n/**\n * After paint effects consumer.\n */\nfunction flushAfterPaintEffects() {\n\tafterPaintEffects.some(component => {\n\t\tif (component._parentDom) {\n\t\t\ttry {\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeCleanup);\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeEffect);\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t} catch (e) {\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t\toptions._catchError(e, component._vnode);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t});\n\tafterPaintEffects = [];\n}\n\n/**\n * Schedule a callback to be invoked after the browser has a chance to paint a new frame.\n * Do this by combining requestAnimationFrame (rAF) + setTimeout to invoke a callback after\n * the next browser frame.\n *\n * Also, schedule a timeout in parallel to the the rAF to ensure the callback is invoked\n * even if RAF doesn't fire (for example if the browser tab is not visible)\n *\n * @param {() => void} callback\n */\nfunction afterNextFrame(callback) {\n\tconst done = () => {\n\t\tclearTimeout(timeout);\n\t\tcancelAnimationFrame(raf);\n\t\tsetTimeout(callback);\n\t};\n\tconst timeout = setTimeout(done, RAF_TIMEOUT);\n\n\tlet raf;\n\tif (typeof window != 'undefined') {\n\t\traf = requestAnimationFrame(done);\n\t}\n}\n\n// Note: if someone used options.debounceRendering = requestAnimationFrame,\n// then effects will ALWAYS run on the NEXT frame instead of the current one, incurring a ~16ms delay.\n// Perhaps this is not such a big deal.\n/**\n * Schedule afterPaintEffects flush after the browser paints\n * @param {number} newQueueLength\n */\nfunction afterPaint(newQueueLength) {\n\tif (newQueueLength === 1 || prevRaf !== options.requestAnimationFrame) {\n\t\tprevRaf = options.requestAnimationFrame;\n\t\t(prevRaf || afterNextFrame)(flushAfterPaintEffects);\n\t}\n}\n\n/**\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeCleanup(hook) {\n\tif (typeof hook._cleanup == 'function') hook._cleanup();\n}\n\n/**\n * Invoke a Hook's effect\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeEffect(hook) {\n\thook._cleanup = hook._value();\n}\n\n/**\n * @param {any[]} oldArgs\n * @param {any[]} newArgs\n */\nfunction argsChanged(oldArgs, newArgs) {\n\treturn !oldArgs || newArgs.some((arg, index) => arg !== oldArgs[index]);\n}\n\nfunction invokeOrReturn(arg, f) {\n\treturn typeof f == 'function' ? f(arg) : f;\n}\n","import style from \"./Todo.less\";\n\nexport default function (props) {\n\tif(process.env.NODE_ENV === \"development\") {\n\t\treturn <span class={style.todo}>{props.children}</span>;\n\t}\n\telse {\n\t\treturn null;\n\t}\n}\n","import style from \"./Split.less\";\n\nexport default function (props) {\n let children;\n\n if(Array.isArray(props.children)) {\n children = props.children.map(element => {\n return (\n <div class={style.splitchild}>\n {element}\n </div>\n );\n });\n }\n\n else {\n children = (\n <div class={style.splitchild}>\n {props.children}\n </div>\n );\n }\n return (\n <div class={style.split}>\n <div class={style.splitparent}>{children}</div>\n </div>\n );\n}\n","import BLatex from \"./BLatex\";\n\nexport default function (props) {\n return (\n <p>\n <BLatex>{props.children}</BLatex>\n </p>\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tablepanel\":\"tablepanel__1Wil3\"};","import style from \"./Example.less\";\nimport {Component} from \"preact\";\n\nexport default function(props) {\n return (\n <div class={style.example}>\n {props.children}\n </div>\n );\n}\n","import style from \"./Box.less\";\n\nexport const BoxColors = Object.freeze({\n RED: style.red,\n ORANGE: style.orange,\n YELLOW: style.yellow,\n LIME: style.lime,\n CYAN: style.cyan,\n BLUE: style.blue,\n MAGENTA: style.magenta,\n DEFAULT: style.default\n})\n\nexport default function (props) {\n let color = BoxColors.DEFAULT;\n if(props.color) {\n color = props.color;\n }\n\n return (\n <div class={style.box + \" \" + color}>\n {props.children}\n </div>\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"timer\":\"timer__3Z2pL\",\"days\":\"days__myhe2\",\"hours\":\"hours__3JUDn\",\"minutes\":\"minutes__24lD7\",\"seconds\":\"seconds__2vZ4f\",\"count\":\"count__chi9X\",\"text\":\"text__34ldC\",\"unknown\":\"unknown__3sT2P\",\"expired\":\"expired__zNiuP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"splitparent\":\"splitparent__3-wBs\",\"splitchild\":\"splitchild__begkX\"};","import style from \"./Panel.less\";\nimport Box from \"./Box\";\n\nexport default function(props) {\n\treturn (\n\t\t<Box color={props.color}>\n\t\t\t<h3 class={style.title}>\n\t\t\t\t{props.title}\n\t\t\t</h3>\n\t\t\t<div class={style.contents}>\n\t\t\t\t{props.children}\n\t\t\t</div>\n\t\t</Box>\n\t);\n}\n","import {createContext} from \"preact\";\n\nexport default createContext(true);\n","import Latex, {LatexDisplay} from \"./Latex\";\n\nexport default function (props) {\n return (\n <Latex inline={true} display={LatexDisplay.INLINE}>{props.children}</Latex>\n );\n}\n","import Latex, {LatexDisplay} from \"./Latex\";\n\nexport default function (props) {\n return (\n <Latex inline={false} display={LatexDisplay.BLOCK}>{props.children}</Latex>\n );\n}\n"],"sourceRoot":""} |