mirror of
https://github.com/Steffo99/unisteffo.git
synced 2024-11-26 09:54:19 +00:00
1 line
No EOL
75 KiB
Text
Generated
1 line
No EOL
75 KiB
Text
Generated
{"version":3,"sources":["webpack:///./components/PageSpecific/ApprendimentoSistemiArtificiali/Styles.less","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:///./components/PageSpecific/ApprendimentoSistemiArtificiali/Tick.js","webpack:///./contexts/LatexDefaultInline.js","webpack:///./components/Rendering/ILatex.js","webpack:///./components/Rendering/BLatex.js"],"names":["module","exports","props","class","style","tablepanel","children","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","tick"],"mappings":"4EACAA,EAAOC,QAAU,CAAC,IAAM,aAAa,OAAS,gBAAgB,OAAS,gBAAgB,KAAO,cAAc,KAAO,cAAc,KAAO,cAAc,QAAU,iBAAiB,KAAO,gB,qCCDxL,qCAEe,aAAUC,GACrB,OACI,WAAOC,MAAOC,IAAMC,YACfH,EAAMI,a,2CCJnBN,EAAOC,QAAU,CAAC,IAAM,aAAa,OAAS,gBAAgB,OAAS,gBAAgB,KAAO,cAAc,KAAO,cAAc,KAAO,cAAc,QAAU,iBAAiB,QAAU,mB,mBCA3LD,EAAOC,QAAU,CAAC,IAAM,aAAa,OAAS,gBAAgB,OAAS,gBAAgB,KAAO,cAAc,KAAO,cAAc,KAAO,cAAc,QAAU,iBAAiB,IAAM,aAAa,QAAU,mB,yhJCUxMM,GAAIC,OAAOC,IAGF,qBACX,OACI,aACI,kEACA,EAAC,IAAD,CAASC,MAAO,gBACZ,EAAC,IAAD,CAAOA,MAAO,YACV,YACI,YAAI,OAAGC,KAAM,mCAAT,0BAGZ,EAAC,IAAD,CAAOD,MAAO,YACV,yBACe,oCADf,uBAC+D,WAAG,OAAGC,KAAM,4EAAT,uCADlE,OAKR,EAAC,IAAD,CAASD,MAAO,SACZ,EAAC,IAAD,CAAOA,MAAO,WACV,YACI,gDACA,2BAGR,EAAC,IAAD,CAAOA,MAAO,WACV,YACI,YAAI,EAAC,IAAD,CAAOE,GAAI,gBACf,YAAI,EAAC,IAAD,CAAOA,GAAI,gBACf,YAAI,EAAC,IAAD,CAAOA,GAAI,mBAI3B,EAAC,IAAD,CAASF,MAAO,WACZ,EAAC,IAAD,CAAOA,MAAO,UACV,qHAGA,qBACW,OAAGC,KAAM,uDAAT,aADX,MAC2F,OAAGA,KAAM,qCAAT,oBAD3F,KAGA,sDAC4C,OAAGA,KAAM,sCAAT,UAD5C,wBAC0H,OAAGA,KAAM,6DAAT,kBAD1H,KAGA,WACI,OAAGP,MAAO,uBAAuB,OAAGO,KAAM,0BAAT,+CAI7C,EAAC,IAAD,CAASD,MAAO,oBACZ,EAAC,IAAD,CAAOA,MAAO,cACV,8DACoD,kDADpD,KAGA,mJAGA,EAAC,IAAD,KACI,WACI,OAAGC,KAAM,sDAAsD,iCADnE,iKAKR,EAAC,IAAD,CAAOD,MAAO,QACV,WACI,oBADJ,+CAGA,uCAC6B,oBAAS,iCADtC,MAIJ,EAAC,IAAD,CAAOA,MAAO,cACV,iBACO,2BADP,4BAGA,iEAIJ,EAAC,IAAD,CAAOA,MAAO,gCACV,iCACuB,qCADvB,qDAGA,EAAC,IAAD,uJAGA,EAAC,IAAD,sEACkE,OAAGC,KAAM,2DAAT,wBADlE,IAC+J,OAAGA,KAAM,+DAAT,gCAIvK,EAAC,IAAD,CAASD,MAAO,mBACZ,EAAC,IAAD,CAAOA,MAAO,cACV,mEACyD,+BADzD,MAIJ,EAAC,IAAD,CAAOA,MAAO,QACV,WACI,kCADJ,2BAGA,8BAGA,YACI,YAAI,sBAAJ,KAAoB,yBAApB,sBACA,YAAI,wBAAJ,KAAsB,wBAAtB,sBACA,YAAI,OAAGC,KAAM,gDAAgD,0BAEjE,+BACqB,EAAC,IAAD,KAASJ,GAAT,MADrB,kCAGA,YACI,YAAI,8BAAJ,iBAAwC,0BACxC,YAAI,gCAAJ,iBAA0C,yBAC1C,YAAI,oBAAJ,uEACA,YAAI,2BAAJ,0DAEJ,kEAGA,YACI,YAAI,mBAAJ,kDAEJ,EAAC,IAAD,+BAC2B,OAAGI,KAAM,kDAAT,oBAD3B,MAIJ,EAAC,IAAD,CAAOD,MAAO,cACV,qEAGA,mDACyC,8BADzC,WACuE,0BADvE,KAGA,wCAC8B,+BAD9B,OAKR,EAAC,IAAD,CAASA,MAAO,UACZ,EAAC,IAAD,CAAOA,MAAO,+BACV,mBACS,sBADT,qCAGA,YACI,YAAI,wBAAJ,oDACA,YAAI,yBAAJ,kDAAoE,yBAApE,mCACA,YAAI,0BAAJ,oEACA,YAAI,wBAAJ,gEAGR,EAAC,IAAD,CAAOA,MAAO,8BACV,6CACmC,+BADnC,uCAGA,YACI,0BACA,0BACA,wBACA,wBACA,yBACA,uBAEJ,EAAC,IAAD,qFAIJ,EAAC,IAAD,CAAOA,MAAO,8BACV,kDAGA,YACI,YAAI,uBAAJ,oCACA,YAAI,yBAAJ,qCACA,YAAI,0BAAJ,gFAEJ,WACI,EAAC,IAAD,6DAIZ,EAAC,IAAD,CAASA,MAAO,yBACZ,EAAC,IAAD,CAAOA,MAAO,aACV,8FAGA,EAAC,IAAD,6DAKR,EAAC,IAAD,CAASA,MAAO,0BACZ,EAAC,IAAD,CAAOA,MAAO,UACV,wCAC8B,uCAD9B,eAGA,YACI,YAAI,0BAAJ,8CAAiE,uBACjE,YAAI,uBAAJ,eAA+B,uBAA/B,oCACA,YAAI,sCAAJ,wCAAuE,mCAAvE,KAAoG,qBAApG,eAA6H,uBAA7H,KAA8I,qBAA9I,cAAsK,yBAAtK,cAAkM,wBAAlM,KACA,YAAI,sBAAJ,sBAAqC,qBAArC,yDAGR,EAAC,IAAD,CAAOA,MAAO,iBACV,wCAC8B,+CAD9B,kBAGA,YACI,YAAI,0BAAJ,iDACA,YAAI,yBAAJ,+FAGR,EAAC,IAAD,CAAOA,MAAO,cACV,wCAC8B,2CAD9B,eAGA,YACI,YAAI,wBAAJ,+CAAgE,gCAChE,YAAI,uBAAJ,yEAIZ,EAAC,IAAD,CAASA,MAAO,wBACZ,EAAC,IAAD,CAAOA,MAAO,YACV,YACI,YAAI,4BAAJ,qHACA,YAAI,+BAAJ,yEAGR,EAAC,IAAD,CAAOA,MAAO,YACV,kGAGA,0BAGA,YACI,YAAI,OAAGP,MAAO,QAAV,YAAJ,yDACA,YAAI,OAAGA,MAAO,OAAV,YAAJ,8DAGR,EAAC,IAAD,CAAOO,MAAO,sBACV,4BACkB,wBADlB,oEAGA,6HAKR,EAAC,IAAD,CAASA,MAAO,cACZ,EAAC,IAAD,CAAOA,MAAO,sBACV,kGACwF,yBADxF,sBAIJ,EAAC,IAAD,CAAOA,MAAO,WACV,yCAC+B,4CAD/B,oHAIJ,EAAC,IAAD,CAAOA,MAAO,aACV,WACI,iCADJ,qDAIJ,EAAC,IAAD,CAAOA,MAAO,eACV,iBACO,mCADP,wCAIJ,EAAC,IAAD,CAAOA,MAAO,aACV,qCAC2B,uDAD3B,eAGA,0BACgB,oCADhB,oBAIJ,EAAC,IAAD,CAAOA,MAAO,aACV,4BACkB,wCADlB,6LAGA,mKAIJ,EAAC,IAAD,CAAOA,MAAO,UACV,WACI,iCADJ,oFAC8G,0BAD9G,KAGA,6EACmE,2CADnE,gDACmJ,2BADnJ,kDAIJ,EAAC,IAAD,CAAOA,MAAO,yBACV,sHAGA,sDAC4C,wBAD5C,kBAC2E,oCAD3E,sEAKR,EAAC,IAAD,CAASA,MAAO,4BACZ,EAAC,IAAD,CAAOA,MAAO,cACV,gHAGA,8BACoB,6BADpB,cACoD,uBADpD,KACqE,wBADrE,MACwF,wBADxF,OAKR,EAAC,IAAD,KACI,EAAC,IAAD,CAAOA,MAAO,kBACV,oCAC0B,wBAD1B,gBAGA,+CACqC,yBADrC,uGAC0J,qBAD1J,MAGA,EAAC,IAAD,qGAIJ,EAAC,IAAD,CAAOA,MAAO,YACV,WACI,oCADJ,yCACsE,uBADtE,OACyF,wBADzF,MAC4G,6BAD5G,OACqI,wBADrI,OACyJ,6BADzJ,OACkL,wBADlL,MAIJ,EAAC,IAAD,CAAOA,MAAO,aACV,WACI,sBADJ,kFACiG,uBADjG,MAIJ,EAAC,IAAD,CAAOA,MAAO,aACV,WACI,qBADJ,sBACoC,uBADpC,oDAKR,EAAC,IAAD,KACI,EAAC,IAAD,CAAOA,MAAO,SACV,iBACO,wBADP,sCAGA,+EAGA,EAAC,IAAD,mEAIJ,EAAC,IAAD,CAAOA,MAAO,eACV,iBACO,iEADP,yCAIJ,EAAC,IAAD,CAAOA,MAAO,OACV,WACI,uBADJ,iDAGA,0BACgB,sDADhB,yFAGA,EAAC,IAAD,6EAKR,EAAC,IAAD,KACI,EAAC,IAAD,CAAOA,MAAO,kBACV,qHAIJ,EAAC,IAAD,CAAOA,MAAO,kBACV,gKAGA,WACI,EAAC,IAAD,2BAIZ,EAAC,IAAD,CAASA,MAAO,gBACZ,EAAC,IAAD,CAAOA,MAAO,gBACV,kHACwG,4CADxG,KAGA,EAAC,IAAD,mCAC+B,OAAGC,KAAM,+CAAT,iBAD/B,MAIJ,EAAC,IAAD,CAAOD,MAAO,WACV,iCACuB,kCADvB,YAC0D,sBAD1D,gBACqF,uBADrF,OACwG,uBADxG,IACwH,sBADxH,mBAGA,2DACiD,0BADjD,0DAGA,qEAC2D,2CAD3D,uBACkH,uBADlH,kBAKR,EAAC,IAAD,CAASA,MAAO,oBACZ,EAAC,IAAD,CAAOA,MAAO,UACV,iFACuE,kCADvE,KACmG,EAAC,KAAD,cADnG,kEAGA,oCAC0B,OAAGC,KAAM,kDAAT,oBAD1B,0BACgI,OAAGA,KAAM,8CAAT,gBADhI,qBAGA,EAAC,IAAD,yDACqD,+CADrD,wFAIJ,EAAC,IAAD,CAAOD,MAAO,WACV,wBACc,0BADd,eAC4C,EAAC,KAAD,MAD5C,UAC0D,qCAD1D,QAC4F,EAAC,KAAD,MAD5F,iBACiH,oCADjH,MAIJ,EAAC,IAAD,CAAOA,MAAO,uBACV,mCACyB,wBADzB,UACgD,6BADhD,sEAKR,EAAC,IAAD,CAASA,MAAO,yCACZ,EAAC,IAAD,CAAOA,MAAO,OACV,gEACsD,EAAC,IAAD,KAASH,GAAT,MADtD,MAIJ,EAAC,IAAD,CAAOG,MAAO,MACV,sEAC4D,EAAC,IAAD,KAASH,GAAT,MAD5D,MAIJ,EAAC,IAAD,CAAOG,MAAO,OACV,sEAC4D,EAAC,IAAD,KAASH,GAAT,MAD5D,OAKR,EAAC,IAAD,CAASG,MAAO,uBACZ,EAAC,IAAD,CAAOA,MAAO,UACV,mIAGA,oCAC0B,OAAGC,KAAM,+CAAT,iBAD1B,sBAGA,EAAC,IAAD,6FAIJ,EAAC,KAAD,KACI,eACI,YACI,YAAI,UAAMD,MAAO,qBAAb,MACJ,YAAI,UAAMA,MAAO,8BAAb,MACJ,2BAGR,eACI,YACI,aACA,YAAI,EAAC,KAAD,KAASH,GAAT,OACJ,YAAI,EAAC,KAAD,aAAJ,aAEJ,YACI,aACA,YAAI,EAAC,IAAD,KAASA,GAAT,MAAJ,KAA6B,EAAC,IAAD,KAASA,GAAT,OAC7B,uDAEJ,YACI,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,kDAAuC,EAAC,IAAD,KAASA,GAAT,MAAvC,UAAqE,EAAC,IAAD,KAASA,GAAT,QAEzE,YACI,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,oDAEJ,YACI,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,wCAEJ,YACI,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,mDAEJ,YACI,aACA,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,oCAEJ,YACI,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,kDAEJ,YACI,aACA,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,mDAKhB,EAAC,IAAD,KACI,EAAC,IAAD,CAAOG,MAAO,aACV,sBACY,EAAC,KAAD,MADZ,gBAGA,YACI,wBAAa,EAAC,IAAD,KAASH,GAAT,MAAb,qBAAsD,EAAC,KAAD,MAAtD,eAAyE,8BAAzE,+BAA2H,EAAC,IAAD,kEAC3H,wBAAa,EAAC,IAAD,KAASA,GAAT,MAAb,qBAAsD,EAAC,KAAD,MAAtD,eAAyE,yBAAzE,6BACA,mDAAwC,EAAC,KAAD,MAAxC,eAA2D,2BAA3D,iCAGR,EAAC,IAAD,CAAOG,MAAO,WACV,WACI,oBADJ,mEAGA,oEAGA,8BACoB,mCADpB,0BACsE,EAAC,IAAD,KAASH,GAAT,MADtE,MAIJ,EAAC,IAAD,CAAOG,MAAO,WACV,gIAGA,EAAC,KAAD,KAASH,GAAT,QAKR,EAAC,IAAD,KACI,EAAC,IAAD,CAAOG,MAAO,0BACV,gFAGA,uLAGA,iEACuD,EAAC,IAAD,KAASH,GAAT,MADvD,MACiF,EAAC,IAAD,KAASA,GAAT,MADjF,iDAGA,EAAC,KAAD,KAASA,GAAT,MAGA,EAAC,IAAD,mFAIJ,EAAC,IAAD,CAAOG,MAAO,aACV,2GAGA,oEAC0D,uDAD1D,gDAGA,WACI,EAAC,IAAD,+HAGR,EAAC,IAAD,CAAOA,MAAO,0BACV,mEAGA,EAAC,KAAD,KAASH,GAAT,OAIJ,EAAC,IAAD,CAAOG,MAAO,gBACV,yGAGA,6GAGA,EAAC,KAAD,KACKH,GADL,OAIJ,EAAC,IAAD,CAAOG,MAAO,aACV,8FACoF,wBADpF,2GAKR,EAAC,IAAD,CAASA,MAAO,yBACZ,EAAC,IAAD,CAAOA,MAAO,UACV,qFAC2E,oCAD3E,KAGA,gFAIJ,EAAC,KAAD,KACI,eACI,YACI,uBACA,6BAGR,eACI,YACI,YAAI,EAAC,KAAD,KAASH,GAAT,OACJ,qDAEJ,YACI,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,+CAEJ,YACI,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,kDAAuC,EAAC,IAAD,KAASA,GAAT,MAAvC,UAAqE,EAAC,IAAD,KAASA,GAAT,QAEzE,YACI,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,qCAA0B,EAAC,IAAD,KAASA,GAAT,QAE9B,YACI,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,wFAEJ,YACI,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,gDAEJ,YACI,YAAI,EAAC,KAAD,KAASA,GAAT,OACJ,sCAKhB,EAAC,IAAD,KACI,EAAC,IAAD,CAAOG,MAAO,eACV,kBACQ,2BADR,6DAGA,6EACmE,EAAC,IAAD,KAASH,GAAT,MADnE,KAGA,EAAC,KAAD,KAASA,GAAT,MAGA,WACI,EAAC,IAAD,KAASA,GAAT,MADJ,wCACgE,mBADhE,qEAIJ,EAAC,IAAD,CAAOG,MAAO,wBACV,6DAGA,EAAC,KAAD,KAASH,GAAT,OAQJ,EAAC,IAAD,CAAOG,MAAO,iBACV,2DAGA,oNAKR,EAAC,IAAD,CAAOA,MAAO,qBACV,EAAC,IAAD,CAAOA,MAAO,UACV,8CACoC,sCADpC,KAGA,4EACkE,+BADlE,UACgG,4BADhG,U,yCC9rBpBV,EAAOC,QAAU,CAAC,IAAM,aAAa,OAAS,gBAAgB,OAAS,gBAAgB,KAAO,cAAc,KAAO,cAAc,KAAO,cAAc,QAAU,iBAAiB,OAAS,gBAAgB,MAAQ,iB,iBCAlND,EAAOC,QAAU,CAAC,IAAM,aAAa,OAAS,gBAAgB,OAAS,gBAAgB,KAAO,cAAc,KAAO,cAAc,KAAO,cAAc,QAAU,iBAAiB,KAAO,gB,mCCDxL,wCAGe,aAAUC,GACrB,OACI,EAAC,WAAD,KACI,YACKA,EAAMQ,OAEX,EAAC,IAAD,KACKR,EAAMI,c,yCCTvBN,EAAOC,QAAU,CAAC,IAAM,aAAa,OAAS,gBAAgB,OAAS,gBAAgB,KAAO,cAAc,KAAO,cAAc,KAAO,cAAc,QAAU,iBAAiB,MAAQ,eAAe,SAAW,oB,kCCDnN,gBAEeY,4BAAc,O,mCCF7B,uHAMaC,EAAeC,OAAOC,OAAO,CACtCC,OAAQb,IAAMc,OACdC,MAAOf,IAAMgB,QAGF,aAASlB,GAEpB,IAYImB,EAZAC,EAAcC,YAAWC,KACzBC,EAAgBF,YAAWG,KAC3BC,EAAiBJ,YAAWK,KAuBhC,OAVQP,OAFaQ,IAAlB3B,EAAMmB,QACiB,OAAnBM,EACWb,EAAaG,OAGbU,EAIJzB,EAAMmB,QAMZ,cAvBYQ,IAAjB3B,EAAMgB,OACIO,EAGAvB,EAAMgB,QAmBX,CAAKY,IAAG,yCAFG,qBAAqBR,EAAxB,KAAwCpB,EAAMI,SAA9C,MAGHyB,IAAK7B,EAAMI,SACXI,MAAOR,EAAMI,SACbH,MAAOC,IAAM4B,MAAQ,IAAMX,GAOhC,CAAKS,IAAG,yCAFG,YAAYR,EAAf,KAA+BpB,EAAMI,SAArC,MAGHyB,IAAK7B,EAAMI,SACXI,MAAOR,EAAMI,SACbH,MAAOC,IAAM4B,MAAQ,IAAMX,O,8IClDvBY,E,YACjB,aAAc,aACV,sBACKC,MAAQ,CACT,IAAOC,KAAKC,OAEhB,EAAKC,MAAQ,KALH,E,0HAQdC,kBAAA,WAAoB,WAChBC,KAAKF,MAAQG,aAAY,WACrB,EAAKC,SAAS,CAAC,IAAON,KAAKC,UAC5B,M,EAGPM,qBAAA,WACsB,OAAfH,KAAKF,OACJM,cAAcJ,KAAKF,Q,EAI3BO,OAAA,WACI,IAAIC,EAAS,eACTC,EAAY1C,IAAMiC,MAElBU,EAAQ,CACRC,aAAc,IACdC,QAAS,IACTC,QAAS,IACTC,MAAO,IACPC,KAAM,KAGV,GAAGb,KAAKrC,MAAMU,GAAI,CAEd,IAAIyC,GADJR,EAAS,IAAIV,KAAKI,KAAKrC,MAAMU,KACL2B,KAAKL,MAAME,IAEhCiB,EAAW,EACVN,EAAQ,CACJC,aAAcK,EAAW,IACzBJ,QAASK,KAAKC,MAAMF,EAAW,KAAQ,GACvCH,QAASI,KAAKC,MAAMF,EAAW,KAAS,GACxCF,MAAOG,KAAKC,MAAMF,EAAW,MAAW,GACxCD,KAAME,KAAKC,MAAMF,EAAW,SAKhCN,EAAQ,CACJC,aAAc,EACdC,QAAS,EACTC,QAAS,EACTC,MAAO,EACPC,KAAM,GAGVN,GAAa,IAAM1C,IAAMoD,cAI7BV,GAAa,IAAM1C,IAAMqD,QAG7B,OACI,SAAKtD,MAAO2C,EAAWpC,MAAOmC,GAC1B,SAAK1C,MAAOC,IAAMgD,KAAO,IAAMhD,IAAMsD,OAChCX,EAAMK,MAEX,SAAKN,UAAW1C,IAAMgD,KAAO,IAAMhD,IAAMuD,MAAzC,UAGA,SAAKxD,MAAOC,IAAM+C,MAAQ,IAAM/C,IAAMsD,OACjCX,EAAMI,OAEX,SAAKL,UAAW1C,IAAM+C,MAAQ,IAAM/C,IAAMuD,MAA1C,OAGA,SAAKxD,MAAOC,IAAM8C,QAAU,IAAM9C,IAAMsD,OACnCX,EAAMG,SAEX,SAAKJ,UAAW1C,IAAM8C,QAAU,IAAM9C,IAAMuD,MAA5C,UAGA,SAAKxD,MAAOC,IAAM6C,QAAU,IAAM7C,IAAMsD,OACnCX,EAAME,SAEX,SAAK9C,MAAOC,IAAM6C,QAAU,IAAM7C,IAAMuD,MAAxC,a,GAtFmBC,e,0DC+EnC,SAASC,EAAaC,EAAOC,GACxBC,UAAQC,KACXD,UAAQC,IAAMC,EAAkBJ,EAAOK,GAAeJ,GAEvDI,EAAc,MAORC,EACLF,EAAiBG,MAChBH,EAAiBG,IAAU,CAC3BC,GAAO,GACPC,IAAiB,YAGfT,GAASM,EAAME,GAAME,QACxBJ,EAAME,GAAMG,KAAK,IAEXL,EAAME,GAAMR,GAMb,SAASY,EAASC,UACxBR,EAAc,EACPS,EAAWC,EAAgBF,GASnC,SAAgBC,EAAWE,EAASH,EAAcI,OAE3CC,EAAYnB,EAAaoB,IAAgB,UAC/CD,EAAUE,EAAWJ,EAChBE,EAAUG,MACdH,EAAUG,IAAajB,EAEvBc,EAAUI,GAAS,CACjBL,EAAiDA,EAAKJ,GAA/CE,SAA0BF,GAElC,gBACOU,EAAYL,EAAUE,EAASF,EAAUI,GAAO,GAAIE,GACtDN,EAAUI,GAAO,KAAOC,IAC3BL,EAAUI,GAAO,GAAKC,EACtBL,EAAUG,IAAW1C,SAAS,QAM3BuC,EAAUI,GAOX,SAASG,EAAUC,EAAUC,OAE7BvD,EAAQ2B,EAAaoB,IAAgB,IACtCjB,UAAQ0B,KAAgBC,EAAYzD,EAAM0D,IAAOH,KACrDvD,EAAMkD,GAASI,EACftD,EAAM0D,IAAQH,EAEdvB,EAAiBG,IAAQE,IAAgBE,KAAKvC,IAQzC,SAAS2D,EAAgBL,EAAUC,OAEnCvD,EAAQ2B,EAAaoB,IAAgB,IACtCjB,UAAQ0B,KAAgBC,EAAYzD,EAAM0D,IAAOH,KACrDvD,EAAMkD,GAASI,EACftD,EAAM0D,IAAQH,EAEdvB,EAAiB4B,IAAiBrB,KAAKvC,IAIlC,SAAS6D,EAAOC,UACtB7B,EAAc,EACP8B,GAAQ,iBAAO,CAAEC,QAASF,KAAiB,IAQnD,SAAgBG,EAAoBC,EAAKC,EAAcZ,GACtDtB,EAAc,EACd0B,GACC,WACmB,mBAAPO,EAAmBA,EAAIC,KACzBD,IAAKA,EAAIF,QAAUG,OAErB,MAARZ,EAAeA,EAAOA,EAAKa,OAAOF,IAQ7B,SAASH,EAAQM,EAASd,OAE1BvD,EAAQ2B,EAAaoB,IAAgB,UACvCU,EAAYzD,EAAM0D,IAAOH,IAC5BvD,EAAM0D,IAAQH,EACdvD,EAAMsE,IAAWD,EACTrE,EAAMkD,GAASmB,KAGjBrE,EAAMkD,GAOP,SAASqB,EAAYjB,EAAUC,UACrCtB,EAAc,EACP8B,GAAQ,kBAAMT,IAAUC,GAMzB,SAASlE,EAAWmF,OACpBC,EAAWzC,EAAiBwC,QAAQA,EAAQE,KAI5C1E,EAAQ2B,EAAaoB,IAAgB,UAI3C/C,EAAM2E,IAAWH,EACZC,GAEe,MAAhBzE,EAAMkD,KACTlD,EAAMkD,MACNuB,EAASG,IAAI5C,IAEPyC,EAASzG,MAAM6G,OANAL,EAAQM,GAaxB,SAASC,EAAcF,EAAOG,GAChClD,UAAQiD,eACXjD,UAAQiD,cAAcC,EAAYA,EAAUH,GAASA,GAyBvD,SAASI,IACRC,EAAkBC,MAAK,eAClBC,EAAUC,QAEZD,EAAUjD,IAAQE,IAAgBiD,QAAQC,GAC1CH,EAAUjD,IAAQE,IAAgBiD,QAAQE,GAC1CJ,EAAUjD,IAAQE,IAAkB,GACnC,MAAOoD,UACRL,EAAUjD,IAAQE,IAAkB,GACpCP,UAAQ4D,IAAYD,EAAGL,EAAUO,YAKpCT,EAAoB,GA4CrB,SAASK,EAAcK,GACM,mBAAjBA,EAAKC,GAAwBD,EAAKC,IAO9C,SAASL,EAAaI,GACrBA,EAAKC,EAAWD,EAAK1C,KAOtB,SAASO,EAAYqC,EAASC,UACrBD,GAAWC,EAAQZ,MAAK,SAACa,EAAKpE,UAAUoE,IAAQF,EAAQlE,MAGjE,SAASe,EAAeqD,EAAKC,SACT,mBAALA,EAAkBA,EAAED,GAAOC,E,wVA7VtClD,EAGAf,EAcAkE,E,YAXAjE,EAAc,EAGdiD,EAAoB,GAEpBiB,EAAkBrE,UAAQsE,IAC1BC,EAAevE,UAAQwE,OACvBC,EAAYzE,UAAQ0E,IACpBC,EAAmB3E,UAAQ4E,QAK/B5E,UAAQsE,IAAU,YACbD,GAAiBA,EAAgBQ,GAGrC5D,EAAe,MAETb,GAHNF,EAAmB2E,EAAM1D,KAGMd,IAC3BD,IACHA,EAAMG,IAAgBiD,QAAQC,GAC9BrD,EAAMG,IAAgBiD,QAAQE,GAC9BtD,EAAMG,IAAkB,KAI1BP,UAAQwE,OAAS,YACZD,GAAcA,EAAaM,OAEzBC,EAAID,EAAM1D,IACZ2D,GAAKA,EAAEzE,KAAWyE,EAAEzE,IAAQE,IAAgBC,SA0RzB,IAzRX4C,EAAkB3C,KAAKqE,IAyRPV,IAAYpE,UAAQ+E,yBAC/CX,EAAUpE,UAAQ+E,wBAvBpB,SAAwBvD,OAQnBwD,EAPEC,EAAO,WACZC,aAAaC,GACbC,qBAAqBJ,GACrBK,WAAW7D,IAEN2D,EAAUE,WAAWJ,EA/RR,KAkSE,oBAAVK,SACVN,EAAMD,sBAAsBE,MAcA9B,KAvR9BnD,UAAQ0E,IAAU,SAACG,EAAOU,GACzBA,EAAYlC,MAAK,gBAEfC,EAAUxB,IAAiB0B,QAAQC,GACnCH,EAAUxB,IAAmBwB,EAAUxB,IAAiB0D,QAAO,mBAC9DC,EAAGrE,IAASsC,EAAa+B,MAEzB,MAAO9B,GACR4B,EAAYlC,MAAK,YACZyB,EAAEhD,MAAkBgD,EAAEhD,IAAmB,OAE9CyD,EAAc,GACdvF,UAAQ4D,IAAYD,EAAGL,EAAUO,SAI/BY,GAAWA,EAAUI,EAAOU,IAGjCvF,UAAQ4E,QAAU,YACbD,GAAkBA,EAAiBE,OAEjCC,EAAID,EAAM1D,OACZ2D,GAAKA,EAAEzE,QAETyE,EAAEzE,IAAQC,GAAMkD,QAAQC,GACvB,MAAOE,GACR3D,UAAQ4D,IAAYD,EAAGmB,EAAEjB,Q,kCCxE5B,UAEe,eAKb,OAAO,O,mCCPT,qCAEe,aAAU3H,GACrB,IAAII,EAmBJ,OAhBIA,EADDoJ,MAAMC,QAAQzJ,EAAMI,UACRJ,EAAMI,SAASsJ,KAAI,SAAAC,GAC1B,OACI,SAAK1J,MAAOC,IAAM0J,YACbD,MAQT,SAAK1J,MAAOC,IAAM0J,YACb5J,EAAMI,UAKf,SAAKH,MAAOC,IAAM2J,OACd,SAAK5J,MAAOC,IAAM4J,aAAc1J,O,2DCxB5C,4BAEe,aAAUJ,GACrB,OACI,WACI,EAAC,IAAD,KAASA,EAAMI,c,yCCJ3BN,EAAOC,QAAU,CAAC,IAAM,aAAa,OAAS,gBAAgB,OAAS,gBAAgB,KAAO,cAAc,KAAO,cAAc,KAAO,cAAc,QAAU,iBAAiB,WAAa,sB,mCCD9L,+CAGe,aAASC,GACpB,OACI,SAAKC,MAAOC,IAAM6J,SACb/J,EAAMI,a,2DCNnB,qCAEa4J,EAAYnJ,OAAOC,OAAO,CACnCmJ,IAAK/J,IAAMgK,IACXC,OAAQjK,IAAMkK,OACdC,OAAQnK,IAAMoK,OACdC,KAAMrK,IAAMsK,KACZC,KAAMvK,IAAMwK,KACZC,KAAMzK,IAAM0K,KACZC,QAAS3K,IAAM4K,QACfC,QAAS7K,IAAM8K,UAGJ,aAAUhL,GACrB,IAAIiL,EAAQjB,EAAUe,QAKtB,OAJG/K,EAAMiL,QACLA,EAAQjL,EAAMiL,OAId,SAAKhL,MAAOC,IAAMgL,IAAM,IAAMD,GACzBjL,EAAMI,a,yCCpBnBN,EAAOC,QAAU,CAAC,IAAM,aAAa,OAAS,gBAAgB,OAAS,gBAAgB,KAAO,cAAc,KAAO,cAAc,KAAO,cAAc,QAAU,iBAAiB,MAAQ,eAAe,KAAO,cAAc,MAAQ,eAAe,QAAU,iBAAiB,QAAU,iBAAiB,MAAQ,eAAe,KAAO,cAAc,QAAU,iBAAiB,QAAU,mB,iBCA3XD,EAAOC,QAAU,CAAC,IAAM,aAAa,OAAS,gBAAgB,OAAS,gBAAgB,KAAO,cAAc,KAAO,cAAc,KAAO,cAAc,QAAU,iBAAiB,YAAc,qBAAqB,WAAa,sB,mCCDjO,iDAGe,aAASC,GACvB,OACC,EAAC,IAAD,CAAKiL,MAAOjL,EAAMiL,OACjB,QAAIhL,MAAOC,IAAMM,OACfR,EAAMQ,OAER,SAAKP,MAAOC,IAAMiL,UAChBnL,EAAMI,c,2DCVX,qCAEe,aAAUJ,GACrB,OACI,UAAM4C,UAAW1C,IAAMkL,KAAM5K,MAAO,mCAAoCR,EAAMI,SAAWJ,EAAMI,SAAW,W,0DCJlH,gBAEeO,6BAAc,I,mCCF7B,4BAEe,aAAUX,GACrB,OACI,EAAC,IAAD,CAAOgB,QAAQ,EAAMG,QAASP,IAAaG,QAASf,EAAMI,a,2DCJlE,4BAEe,aAAUJ,GACrB,OACI,EAAC,IAAD,CAAOgB,QAAQ,EAAOG,QAASP,IAAaK,OAAQjB,EAAMI,a","file":"route-ApprendimentoSistemiArtificiali.chunk.48ccc.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"red\":\"red__2ZgaK\",\"orange\":\"orange__1QDSv\",\"yellow\":\"yellow__1mKxd\",\"lime\":\"lime__3OQuR\",\"cyan\":\"cyan__3hByg\",\"blue\":\"blue__N_pXd\",\"magenta\":\"magenta__p6ayd\",\"tick\":\"tick__nv1-b\"};","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 = {\"red\":\"red__z2C0u\",\"orange\":\"orange__3e-Zm\",\"yellow\":\"yellow__2CxNB\",\"lime\":\"lime__33JDs\",\"cyan\":\"cyan__1exnO\",\"blue\":\"blue__16AH0\",\"magenta\":\"magenta__3tO7w\",\"example\":\"example__9acWs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"red\":\"red__339Cz\",\"orange\":\"orange__24_8v\",\"yellow\":\"yellow__1Jo9W\",\"lime\":\"lime__34yV5\",\"cyan\":\"cyan__3RqLr\",\"blue\":\"blue__13Wnj\",\"magenta\":\"magenta__2tkzq\",\"box\":\"box__3cKyY\",\"default\":\"default__v-emJ\"};","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\";\nimport Tick from \"../components/PageSpecific/ApprendimentoSistemiArtificiali/Tick\";\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={\"Sistemi dinamici\"}>\n <Panel title={\"Cosa sono?\"}>\n <p>\n Sistemi naturali o artificiali che si basano su <b>leggi reversibili e deterministiche</b>.\n </p>\n <p>\n In natura, alcuni leggi possono sembrare irreversibili a livello macroscopico, ma sono in realtà reversibili a livello microscopico.\n </p>\n <Example>\n <p>\n <a href={\"https://it.wikipedia.org/wiki/Modello_di_Ehrenfest\"}><u>Urne di Ehrenfest</u></a>: due urne con N palline; estraggo una pallina da una urna casuale ad ogni passo e la sposto nell'altra; con tante palline il sistema appare irreversibile.\n </p>\n </Example>\n </Panel>\n <Panel title={\"Fasi\"}>\n <p>\n <b>Stati</b> in cui si può trovare un sistema dinamico.\n </p>\n <p>\n Tutte insieme formano lo <i>(iper)<b>spazio delle fasi</b></i>.\n </p>\n </Panel>\n <Panel title={\"Attrattore\"}>\n <p>\n Lo <b>stato finale</b> di un sistema dinamico.\n </p>\n <p>\n Tutte le fasi tendono a uno specifico attrattore.\n </p>\n </Panel>\n <Panel title={\"Elaborazione di informazione\"}>\n <p>\n I sistemi dinamici <b>elaborano informazione</b> attraversando fasi e raggiungendo un attrattore.\n </p>\n <Example>\n L'evoluzione biologica crea nuove specie partendo da quelle precedenti di maggiore successo fino a quando non si raggiunge la specie perfetta.\n </Example>\n <Example>\n Si può vedere l'universo come un gigantesco sistema dinamico. <a href={\"https://it.wikipedia.org/wiki/Ipotesi_della_simulazione\"}>Che sia artificiale?</a> <a href={\"https://it.wikipedia.org/wiki/Morte_termica_dell%27universo\"}>Qual è il suo attrattore?</a>\n </Example>\n </Panel>\n </Section>\n <Section title={\"Sistemi lineari\"}>\n <Panel title={\"Cosa sono?\"}>\n <p>\n Sistemi dinamici i cui cambiamenti sono descritti da <b>funzioni lineari</b>.\n </p>\n </Panel>\n <Panel title={\"Nodi\"}>\n <p>\n <b>Situazioni iniziali</b> di un sistema lineare.\n </p>\n <p>\n Possono essere:\n </p>\n <ul>\n <li><u>Stabili</u>: <b>convergono</b> ad un punto fisso</li>\n <li><u>Instabili</u>: <b>divergono</b> da un punto fisso</li>\n <li><a href={\"https://it.wikipedia.org/wiki/Punto_di_sella\"}><u>Di sella</u></a></li>\n </ul>\n <p>\n Nell'insieme dei <ILatex>{r`\\mathbb{C}`}</ILatex> possono anche dare origine a:\n </p>\n <ul>\n <li><u>Spirali stabili</u>: spirali che <b>convergono</b></li>\n <li><u>Spirali instabili</u>: spirali che <b>divergono</b></li>\n <li><u>Cicli</u>: il sistema forma un ciclo diverso in base alla posizione del nodo</li>\n <li><u>Cicli limite</u>: il sistema evolve fino a formare un ciclo specifico</li>\n </ul>\n <p>\n Infine, in sistemi dissipativi può anche comparire:\n </p>\n <ul>\n <li><u>Caos</u>: il sistema evolve in maniera pseudo-casuale</li>\n </ul>\n <Example>\n Mai sentito parlare di <a href={\"https://en.wikipedia.org/wiki/Mersenne_Twister\"}>Mersenne Twister</a>?\n </Example>\n </Panel>\n <Panel title={\"Potenziale\"}>\n <p>\n Funzione che rappresenta lo stato attuale del sistema.\n </p>\n <p>\n Gli attrattori coincidono con i suoi <b>punti di minimo</b>, detti <i>punti fissi</i>.\n </p>\n <p>\n Il suo complementare è la <b>funzione energia</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 <b>livello più alto</b> 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 <Example>\n Gli umani possono benissimo essere considerati agenti del sistema universo.\n </Example>\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>Razionalità</b>: compiono le azioni che pensano che servano a raggiungere i loro obiettivi</li>\n </ul>\n <p>\n <Todo>TODO: ho tolto la benevolenza. Va bene lo stesso?</Todo>\n </p>\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={\"Feedback\"}>\n <p>\n Influenza esercitata dal sistema sugli agenti per guidarli verso il loro obiettivo.\n </p>\n <p>\n Può essere:\n </p>\n <ul>\n <li><b class={\"lime\"}>Positivo</b>: incentiva gli agenti ad avere un dato comportamento</li>\n <li><b class={\"red\"}>Negativo</b>: disincentiva gli agenti ad avere un dato comportamento</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 applicata ai classificatori.\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 non valido, si crea un nuovo classificatore che trasforma quel messaggio in un output valido.\n </p>\n <p>\n <Todo>TODO: proofread</Todo>\n </p>\n </Panel>\n </Section>\n <Section title={\"Reti neurali\"}>\n <Panel title={\"Cognitivismo\"}>\n <p>\n Concetto secondo il quale non è importante l'architettura fisica di un intelligenza, ma solo la sua <b>capacità di elaborare simboli</b>.\n </p>\n <Todo>\n TODO: 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> (<Tick>ticks</Tick>), e non è presente la memorizzazione degli impulsi nel tempo.\n </p>\n <p>\n È stato sviluppato da <a href={\"https://it.wikipedia.org/wiki/Warren_McCulloch\"}>Warren McCulloch</a> (un neurofisiologo) e <a href={\"https://it.wikipedia.org/wiki/Walter_Pitts\"}>Walter Pitts</a> (un matematico).\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 <b>si attivano</b> in un dato <Tick/> se la <b>somma dei loro impulsi</b> nel <Tick/> precedente è <b>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 È stato sviluppato da <a href={\"https://en.wikipedia.org/wiki/John_Hopfield\"}>John Hopfield</a> (uno scienziato).\n </p>\n <Example>\n Non è molto avanzato, ma ha portato a ulteriori studi nel campo delle reti neurali.\n </Example>\n </Panel>\n <TablePanel>\n <thead>\n <tr>\n <th><abbr title={\"Vettore / matrice\"}>v</abbr></th>\n <th><abbr title={\"Elemento singolo / scalare\"}>s</abbr></th>\n <th>Glossario</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td/>\n <td><BLatex>{r`t`}</BLatex></td>\n <td><Tick>Tick</Tick> attuale</td>\n </tr>\n <tr>\n <td/>\n <td><ILatex>{r`n`}</ILatex>, <ILatex>{r`m`}</ILatex></td>\n <td>Identificatore di un neurone specifico</td>\n </tr>\n <tr>\n <td><BLatex>{r`\\mathbf{W}`}</BLatex></td>\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`\\mathbf{\\Theta}`}</BLatex></td>\n <td><BLatex>{r`\\theta_n`}</BLatex></td>\n <td>Soglia di attivazione di un neurone</td>\n </tr>\n <tr>\n <td><BLatex>{r`\\mathbf{X}(t)`}</BLatex></td>\n <td><BLatex>{r`x_n(t)`}</BLatex></td>\n <td>Emissione di un neurone</td>\n </tr>\n <tr>\n <td><BLatex>{r`\\mathbf{I}(t)`}</BLatex></td>\n <td><BLatex>{r`i_n(t)`}</BLatex></td>\n <td>Somma degli ingressi di un neurone</td>\n </tr>\n <tr>\n <td/>\n <td><BLatex>{r`E`}</BLatex></td>\n <td>Energia del sistema</td>\n </tr>\n <tr>\n <td><BLatex>{r`\\mathbf{A}`}</BLatex></td>\n <td><BLatex>{r`a_i`}</BLatex></td>\n <td>Stato di un neurone in un pattern</td>\n </tr>\n <tr>\n <td/>\n <td><BLatex>{r`Q(\\mathbf{A}, \\mathbf{B})`}</BLatex></td>\n <td>Sovrapposizione tra due pattern</td>\n </tr>\n </tbody>\n </TablePanel>\n </Section>\n <Section>\n <Panel title={\"Emissione\"}>\n <p>\n In ogni <Tick/>, i neuroni:\n </p>\n <ul>\n <li>Emettono <ILatex>{r`0`}</ILatex> se gli input nel <Tick/> precedente <b>erano inferiori</b> alla soglia di attivazione <Todo>TODO: mettendo -1 si semplificherebbero molte formule...</Todo></li>\n <li>Emettono <ILatex>{r`1`}</ILatex> se gli input nel <Tick/> precedente <b>superavano</b> la soglia di attivazione</li>\n <li>Non cambiano stato se gli input nel <Tick/> precedente <b>erano uguali</b> alla soglia di attivazione</li>\n </ul>\n </Panel>\n <Panel title={\"Sinapsi\"}>\n <p>\n <b>Tutti</b> i neuroni del modello sono intercollegati tra loro da sinapsi.\n </p>\n <p>\n I neuroni non possono essere collegati a loro stessi.\n </p>\n <p>\n Questo porta il <b>costo computazionale</b> del modello ad essere <ILatex>{r`O(n^2)`}</ILatex>.\n </p>\n </Panel>\n <Panel title={\"Energia\"}>\n <p>\n Una funzione dell'intero sistema che rappresenta il totale degli stati di tutti i neuroni e tutte le connessioni.\n </p>\n <PLatex>{r`\n E = - \\frac{1}{2} \\sum_{n, m} ( w_{nm} \\cdot x_n \\cdot x_m ) + \\sum_n ( \\theta_n \\cdot x_n )\n `}</PLatex>\n </Panel>\n </Section>\n <Section>\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 </Panel>\n <Panel title={\"Simmetria\"}>\n <p>\n Applicando l'apprendimento hebbiano al modello di Hopfield si ottengono sinapsi simmetriche.\n </p>\n <p>\n Se è valida questa proprietà, si può dimostrare che l'<b>energia del sistema è sempre decrescente</b>, e che quindi che tenderà a un punto fisso!\n </p>\n <p>\n <Todo>TODO: Dopo il prof dimostra la relazione tra input netto e overlap, e che il sistema converge al pattern più simile.</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 <Panel title={\"Archetipi\"}>\n <p>\n Per minimizzare l'interferenza tra pattern, è possibile insegnare al modello un <i>archetipo</i>: si insegna più volte il pattern originale applicandoci una minima quantità di interferenza casuale.\n </p>\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>.\n </p>\n <p>\n Ha costi computazionali molto più bassi del modello di Hopfield.\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`x_n`}</BLatex></td>\n <td>Emissione del neurone <ILatex>{r`n`}</ILatex></td>\n </tr>\n <tr>\n <td><BLatex>{r`H(v)`}</BLatex></td>\n <td>Funzione che restituisce lo stato di un neurone dato un valore di input</td>\n </tr>\n <tr>\n <td><BLatex>{r`\\sum_1^N ( w_n \\cdot x_n )`}</BLatex></td>\n <td>Somma degli input di un neurone</td>\n </tr>\n <tr>\n <td><BLatex>{r`b`}</BLatex></td>\n <td>Bias di un neurone</td>\n </tr>\n </tbody>\n </TablePanel>\n </Section>\n <Section>\n <Panel title={\"Percettrone\"}>\n <p>\n Una <b>rete neurale</b> che viene incapsulata all'interno di un singolo neurone.\n </p>\n <p>\n La sua emissione è determinata dalla sua funzione di emissione <ILatex>{r`H`}</ILatex>:\n </p>\n <PLatex>{r`\n x_n = H \\left( \\sum_1^N ( w_n \\cdot x_n + b) \\right)\n `}</PLatex>\n <p>\n <ILatex>{r`b`}</ILatex> è una costante configurabile, detta <i>bias</i>, che rappresenta il valore di partenza della somma degli input.\n </p>\n </Panel>\n <Panel title={\"Percettrone booleano\"}>\n <p>\n Un percettrone la cui funzione di emissione è:\n </p>\n <PLatex>{r`\n \\begin{cases}\n 1 \\qquad se\\ v > 0\n 0 \\qquad se\\ v = 0\n -1 \\qquad se\\ v < 0\n \\end{cases}\n `}</PLatex>\n </Panel>\n <Panel title={\"Apprendimento\"}>\n <p>\n Si parte da intensità casuali delle sinapsi.\n </p>\n <p>\n Si prova a classificare degli esempi pre-classificati: se un esempio viene classificato nel modo sbagliato, si alterano le intensità delle sinapsi in direzione della sua classificazione corretta.\n </p>\n </Panel>\n </Section>\n <Panel title={\"Rete feed-forward\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n Un modello a percettroni in cui <b>non si presentano cicli</b>.\n </p>\n <p>\n Alcuni dei neuroni che vi sono all'interno saranno dunque dei <b>neuroni sorgente</b> e dei <b>neuroni pozzo</b>.\n </p>\n </Panel>\n </Panel>\n </div>\n )\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"red\":\"red__1s_qO\",\"orange\":\"orange__8yp3v\",\"yellow\":\"yellow__zZSeb\",\"lime\":\"lime__3c_Z7\",\"cyan\":\"cyan__EdN8X\",\"blue\":\"blue__3YDdr\",\"magenta\":\"magenta__D6iXm\",\"inline\":\"inline__1yl8V\",\"block\":\"block__fPiiB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"red\":\"red__1DpH3\",\"orange\":\"orange__3qhHo\",\"yellow\":\"yellow__mXAWd\",\"lime\":\"lime__11zmP\",\"cyan\":\"cyan__2_4sg\",\"blue\":\"blue__27hdj\",\"magenta\":\"magenta__3eYGb\",\"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 = {\"red\":\"red__1-G1M\",\"orange\":\"orange__26Xfh\",\"yellow\":\"yellow__p5pgZ\",\"lime\":\"lime__2wXxY\",\"cyan\":\"cyan__289vE\",\"blue\":\"blue__Zipdn\",\"magenta\":\"magenta__39Nrz\",\"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 = {\"red\":\"red__2hgQp\",\"orange\":\"orange__tGLf9\",\"yellow\":\"yellow__15oHB\",\"lime\":\"lime__DGxfH\",\"cyan\":\"cyan__d6Sml\",\"blue\":\"blue__4v0nZ\",\"magenta\":\"magenta__3H2kV\",\"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 = {\"red\":\"red__3683f\",\"orange\":\"orange___PVUv\",\"yellow\":\"yellow__CS7Ak\",\"lime\":\"lime__3bqTp\",\"cyan\":\"cyan__3UE2X\",\"blue\":\"blue__2n3Ng\",\"magenta\":\"magenta__1M1Vw\",\"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 = {\"red\":\"red__YF6Vb\",\"orange\":\"orange__2w5to\",\"yellow\":\"yellow__XvcrZ\",\"lime\":\"lime__2MtRd\",\"cyan\":\"cyan__36T9w\",\"blue\":\"blue__1l1tt\",\"magenta\":\"magenta__2SE7I\",\"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 style from \"./Styles.less\";\r\n\r\nexport default function (props) {\r\n return (\r\n <abbr className={style.tick} title={\"Un quanto di tempo del sistema.\"}>{props.children ? props.children : \"tick\"}</abbr>\r\n );\r\n}\r\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":""} |