From f2e218230e768221f8e11495ef926c996002cb82 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sat, 29 Mar 2025 12:55:24 +1100 Subject: [PATCH 001/667] SQL query fix --- server/scan/device_handling.py | 39 ++++++++++------------------------ 1 file changed, 11 insertions(+), 28 deletions(-) diff --git a/server/scan/device_handling.py b/server/scan/device_handling.py index 3c42c6ed..ddfb45bc 100755 --- a/server/scan/device_handling.py +++ b/server/scan/device_handling.py @@ -330,38 +330,21 @@ def update_devices_data_from_scan (db): mylog('debug', '[Update Devices] - (if not empty) cur_NetworkNodeMAC -> devParentMAC') sql.execute("""UPDATE Devices SET devParentMAC = ( - SELECT cur_NetworkNodeMAC - FROM CurrentScan - WHERE Devices.devMac = CurrentScan.cur_MAC - ) -<<<<<<< HEAD -<<<<<<<< HEAD:server/scan/device_handling.py - WHERE -======== - WHERE ->>>>>>>> main:server/device.py -======= - WHERE ->>>>>>> main - (devParentMAC IS NULL OR devParentMAC IN ("", "null", "(unknown)", "(Unknown)")) - AND - EXISTS ( - SELECT 1 + SELECT cur_NetworkNodeMAC FROM CurrentScan WHERE Devices.devMac = CurrentScan.cur_MAC -<<<<<<< HEAD -<<<<<<<< HEAD:server/scan/device_handling.py - AND CurrentScan.cur_NetworkNodeMAC IS NOT NULL AND CurrentScan.cur_NetworkNodeMAC NOT IN ("", "null") -======== - AND CurrentScan.cur_NetworkNodeMAC IS NOT NULL AND CurrentScan.cur_NetworkNodeMAC NOT IN ("", "null") - ->>>>>>>> main:server/device.py - )""") -======= - AND CurrentScan.cur_NetworkNodeMAC IS NOT NULL AND CurrentScan.cur_NetworkNodeMAC NOT IN ("", "null") ) + WHERE + (devParentMAC IS NULL OR devParentMAC IN ("", "null", "(unknown)", "(Unknown)")) + AND + EXISTS ( + SELECT 1 + FROM CurrentScan + WHERE Devices.devMac = CurrentScan.cur_MAC + AND CurrentScan.cur_NetworkNodeMAC IS NOT NULL AND CurrentScan.cur_NetworkNodeMAC NOT IN ("", "null") + ) """) ->>>>>>> main + # Update only devices with empty or NULL devSite mylog('debug', '[Update Devices] - (if not empty) cur_NetworkSite -> (if empty) devSite') From a0561b20160cda871804b774c0ad394377278071 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sat, 29 Mar 2025 17:03:59 +1100 Subject: [PATCH 002/667] wf work --- docs/DATABASE.md | 45 +++++++++++- docs/WORKFLOWS.md | 116 +++++++++++++++++++++++++++++++ docs/img/WORKFLOWS/workflows.png | Bin 0 -> 91194 bytes front/css/app.css | 51 ++++++++++++-- front/workflowsCore.php | 76 ++++++++++++++------ mkdocs.yml | 1 + test/workflows.json | 6 +- 7 files changed, 264 insertions(+), 31 deletions(-) create mode 100755 docs/WORKFLOWS.md create mode 100755 docs/img/WORKFLOWS/workflows.png diff --git a/docs/DATABASE.md b/docs/DATABASE.md index 1720a1df..08860990 100755 --- a/docs/DATABASE.md +++ b/docs/DATABASE.md @@ -5,7 +5,50 @@ The MAC address is used as a foreign key in most cases. -## 🔍Tables overview +## Devices database table + +| Field Name | Description | +|-------------------------|-------------| +| `devMac` | MAC address of the device. | +| `devName` | Name of the device. | +| `devOwner` | Owner of the device. | +| `devType` | Type of the device (e.g., phone, laptop, etc.). If set to a network type (e.g.: switch), it will become selectable as a Network Parent Node | +| `devVendor` | Vendor/manufacturer of the device. | +| `devFavorite` | Whether the device is marked as a favorite. | +| `devGroup` | Group the device belongs to. | +| `devComments` | User comments or notes about the device. | +| `devFirstConnection` | Timestamp of the device's first connection. | +| `devLastConnection` | Timestamp of the device's last connection. | +| `devLastIP` | Last known IP address of the device. | +| `devStaticIP` | Whether the device has a static IP address. | +| `devScan` | Whether the device should be scanned. | +| `devLogEvents` | Whether events related to the device should be logged. | +| `devAlertEvents` | Whether alerts should be generated for events. | +| `devAlertDown` | Whether an alert should be sent when the device goes down. | +| `devSkipRepeated` | Whether to skip repeated alerts for this device. | +| `devLastNotification` | Timestamp of the last notification sent for this device. | +| `devPresentLastScan` | Whether the device was present during the last scan. | +| `devIsNew` | Whether the device is marked as new. | +| `devLocation` | Physical or logical location of the device. | +| `devIsArchived` | Whether the device is archived. | +| `devParentMAC` | MAC address of the parent device (if applicable). | +| `devParentPort` | Port of the parent device to which this device is connected. | +| `devIcon` | Icon representing the device. | +| `devGUID` | Unique identifier for the device. | +| `devSite` | Site or location where the device is registered. | +| `devSSID` | SSID of the Wi-Fi network the device is connected to. | +| `devSyncHubNode` | The NetAlertX node ID used for synchronization between NetAlertX instances. | +| `devSourcePlugin` | Source plugin that discovered the device. | + + +To understand how values of these fields influuence application behavior, such as Notifications or Network topology, see also: + +- [Device Management](./DEVICE_MANAGEMENT.md) +- [Network Tree Topology Setup](./NETWORK_TREE.md) +- [Notifications](./NOTIFICATIONS.md) + + +## Other Tables overview | Table name | Description | Sample data | |----------------------|----------------------| ----------------------| diff --git a/docs/WORKFLOWS.md b/docs/WORKFLOWS.md new file mode 100755 index 00000000..e68e7d58 --- /dev/null +++ b/docs/WORKFLOWS.md @@ -0,0 +1,116 @@ +# Workflows Overview + +The workflows module in NetAlertX allows you to automate repetitive tasks, making network management more efficient. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete or archive devices, this module provides the flexibility to tailor the automations to your needs. + +![Workflow example](./img/WORKFLOWS/workflows.png) + +Below are a few examples that demonstrate how this module can be used to simplify network management tasks. + +> [!NOTE] +> In order to apply a workflow change, you must first **Save** the changes and then reload the application by clicking **Restart server**. + +## Triggers + +Triggers define the event that activates a workflow. They monitor changes to objects within the system, such as updates to devices or the insertion of new entries. When the specified event occurs, the workflow is executed. + +### Example Trigger: +- **Object Type**: `Devices` +- **Event Type**: `update` + +This trigger will activate when a `Device` object is updated. + +## Conditions + +Conditions determine whether a workflow should proceed based on certain criteria. These criteria can be set for specific fields, such as whether a device is from a certain vendor, or whether it is new or archived. You can combine conditions using logical operators (`AND`, `OR`). + +> [!TIP] +> To better understand how to use specific Device fields, please read through the [Database overview](./DATABASE.md) guide. + +### Example Condition: +- **Logic**: `AND` + - **Field**: `devVendor` + - **Operator**: `contains` + - **Value**: `Google` + + This condition checks if the device's vendor is `Google`. The workflow will only proceed if the condition is true. + +## Actions + +Actions define the tasks that the workflow will perform once the conditions are met. Actions can include updating fields or deleting devices. + +### Example Action: +- **Action Type**: `update_field` + - **Field**: `devIsNew` + - **Value**: `0` + + This action updates the `devIsNew` field to `0`, marking the device as no longer new. + + +# Examples + +Below you can find a couple of configuration examples. + +--- + +## Example 1: Assign Device to Network Node Based on IP + +### Trigger: +- **Object Type**: `Devices` +- **Event Type**: `insert` + +### Conditions: +- **Logic**: `AND` + - `Field`: `devLastIP` + - `Operator`: `contains` + - `Value`: `192.168.1.` + + This condition ensures that the workflow only applies to devices with an IP address in the `192.168.1.*` range. + +### Actions: +- **Action Type**: `update_field` + - **Field**: `devNetworkNode` + - **Value**: `6c:6d:6d:6c:6c:6c` + +This workflow assigns newly added devices with IP addresses in the `192.168.1.*` range to the device with the MAC address `6c:6d:6d:6c:6c:6c`. + +--- + +## Example 2: Mark Device as Not New and Delete If from Google Vendor + +### Trigger: +- **Object Type**: `Devices` +- **Event Type**: `update` + +### Conditions: +- **Logic**: `AND` + - `Field`: `devVendor` + - `Operator`: `contains` + - `Value`: `Google` + + This condition checks if the device's vendor is `Google`. + +- **Logic**: `AND` + - `Field`: `devIsNew` + - `Operator`: `equals` + - `Value`: `1` + + This ensures the workflow applies only to new devices. + +### Actions: +1. **Action Type**: `update_field` + - **Field**: `devIsNew` + - **Value**: `0` + + This action marks the device as no longer new. + +2. **Action Type**: `delete_device` + + This action deletes the device after it is marked as not new. + +This workflow automates the process of marking Google devices as not new and deleting them if they meet the criteria. + +--- + +### Conclusion + +With workflows, NetAlertX can automatically adjust to network changes, saving time and reducing the manual overhead involved in maintaining your devices. You can create highly tailored automation rules to handle everything from basic updates to more complex device management. diff --git a/docs/img/WORKFLOWS/workflows.png b/docs/img/WORKFLOWS/workflows.png new file mode 100755 index 0000000000000000000000000000000000000000..df1bab6c127b54b43820877ef55a70c0a08987b6 GIT binary patch literal 91194 zcmce-Ra9Kf)`pAIxVuB+4#6FQySrO(3-0dj!4n*UySqz(0F4I^?rw*C^6$OJxjPr< zs>kTny;jw%SyP^RSEQ1HBoaJ6JQx@llC;!E6)-S}V=ypCUjWSeHzRfoRbXJGVA3B& z)I1E1J7GWTFS;_e{qT19cm@=PFoN`UAg5GGp-D^<7jN1IDLjmh%dTDyJy8tCspcko z+`pu60o{&)LQP$5^OU#i!Vo}Zsq1wSbf8zO{}htmZ*&Oh&w2qiE=H&=ciEkHnfqYw zRjvCvE5^Hd9oA@eZs7s-CDq)#?Vz=e&!SNQ}c+r8>vrgNO09%RN(SO zTi(qE*%vzP;oYmZ@hM^FYGrW-3`Du$CQgo+PL3Wi;B&H?P*kwsu$0HikUM5~UqgKB z(B@w;!NrBql%S}h0(2!S%*?uJ6S0=IW>;={PIY|yf!+_`R)|^5FA8*m@|f-dhG}UDwM%&zlzsUcugeYwv`jGbd+uZiXrC^_A?i z{ez^`!lCAlhEZktar^=Mw{!td0F7}TKLd3m_4|n6OWcaz=k-2477?gE>npR-qBlh! z-J|f4$Fb^H!z~PKWKkyPgA$>%wArsu5~GF7^bqk}5Hg^X>sNZ? z<~f3Ib1G2p^ZLaqP6~PG<#VB3dPF1!XnA^&b@$Gyd|Gpmy13|9aleVWzPm;4+(1WV zOke0AcR%mue4i1n(EFW+28lLj7NM7T&1j3#3g6=Mxot!_kcD=k{9}F&PRYY@dnMr1E zaK*XU?VlVTbAN!f{0xe>gw_Aj#WS4S<#$z&G33%0oz1>K?$o#z|HsO{81^OjTXNyCr^aeWN74C@@Yw~BBMEPz{&4eKptRsTrvTvN zqvyzNiYNN<2_5u}`>u~w@~ZV&qF{o#W`bFg1-f&R>5u_%@_A_#uG%>2nMa_HWWRlM zcTCs0x?Yk{r1<;rB|o*KBpEn$?cTJ;)=7|{TmZ{Rv%iB&T?%L8=tUpQ62Fj|4F1`u zyiZZc!^mj^!1G0>2y=6PA_Ght9g7q^x61k2B3Q4Yl~KPlZ&yqX#Tf&4(5rU<&4U}# z5+mR|uh)}Q=|DVA(qY30%-m(_lY~Z}AbyI)FI>uFcCa?&vcEmzTo`JB=m|DcGZ`Ut zO{S0#Xgx?Lz1$>wx$dd|CCVNVWNeFhPi)D>)4JXiJ(6fG#LjnC9;UVu`&Bby`rV-gRiHGRwc6z@mbQBy*vE2F! z`_Z97rO4|$mgbwB3ZH3djREMf#}HJp-!J@nJ15z6Wvy#uPiY@VN4F%(Iyj87cr)-Q zY6A@}qbuP@BhHhzMEa(99=%(}LN6_7ty`!Kb%>a$qwpu5G_d@Z!Loh}2T!*{X7FfY zMrr1|wVI zp?!Rue#;y~1HEHSPh!XvHm!l)IPbQduMIr4CLWnuK;|Ed zd7%RAX;O-C46(Xb=I@qFh(CAsXTmx3E?P|7Atw7t0Z~s&cHGgLoqc1WOY&hVbeuuI(-%XA=2ud%bZJj_ zT<-eQ<5mk{9+-3X=$LN)S#!ec+?OJe8 zGg&uEAc`G8oQu0t$|stAHP8dYyqL0L{B^L(25|fvWZ|V7U*(4>bO4{M_P9VRcs#%Q z7UcL>O8BPCMJ7!dte>B4o^CiUhLVZ5cB%Mqrjp|?4}qK`s+UI71@1ZEkg0FjG&gFm z{lbqpl8@t=vlgZVwRaXR7P8+{Iv*&OnrT(LZekszl#~*D?q?(~*S*h1V+ptl33hze zJ3Q;G=BSps{ksP~N{-u9cT)Mka0y|KZ&6dS*mZKZwFx;>n#%y5Hi-3@jk}01ak|@p z4;;;5Qg&tm=|28%_zxu%i#wvyFBFl5u*6ZPXd^EU4zlT%>D0I;uakz^NtG%eZG$Ix zD0rn_KPghBIq~kC33ia1%ezzW`uRKgMm4zJjMP3`dwN-QthO!E4#Su4DoEZHUJG?3 z&!D?`jqXu+_QPt${`{TQHuEE@b%mi_ZZxJ*^{?z+3=3Yt&#E3Ys&=hNLO)2HWS!i> zmEj|S&OakV_%Y{&O__yqVlkn@8nt3{ARLOBok|IQ>Ud&+Mor_Xv|(%L%3G4AQb0gp zZ$F&#{!M?O3(zQFEjMS7j*HmcB7{ytWTe<7GAHj`?l3xc zkT}GrP<_LO>TFoLeWv$4&E7Gb1Fm-{zUu?;j|30FlC$2kE}B(E6{F|_D4}o6uZQ{b zRAU>ef}vmRWg83)&}@EQmg}BeP7;+-J*4cbPL{}Ye^@qr-pq;*oL+;y#f5JN-g6!5 zk|ikYVenG{Bz+zI4XabSuHt7CT%{h{_;#RCFZa^0dHi2HR@=Q7S8dAoJKk)|5OBuI z)hl*>6!fd8Yt!a#Iwf8AaSc#=bt&(WEELDoRLcR94RhNgt3|C~TFnU%jH&V7W~%K{ z-gv#m6gDb3qQD6Z-?Gvd#_L*?u3!)I;`Gv+nXpjM_D9K&uZ>$BmmuH;hxgE@&(8G7 z#c!G^>3-<0w`egG#cB;@edW~Yn<@<3(8>xJS#TN1Y@jfCd6jHUGUVb39LLnJa;x~W zS9?lPf5Cb|L6K>6d>T@DR`V%U-KAJ6@ONjUQ$KgHSqWlUimL{cCVa0U_@V3bwMIED zpe8%?i8L@dhBr(CQ2%%}Ks9Q-O8GC3Y~=1McSOm2YaSO^al z?k$dfdP^S$x{4vqRHwd}Wz*wSa@2jQ3SJf*LChUw_=(^{o{3dC%UOF5mC=n=^1!UZ zxfC1UI>MKrtL*G-C1Z0^ngdHx3)S%4>XWs0O(y*|AX02>o!^U>w4!Ws^M;=;od}3{ zUT>kBA&v}0>jn|47a5sXIpJKpmF8JRJuB5W-A}Fxdy^vqhUIm;F}qF){R^Ln^eJAp zUDZcDYU4h!feVp;d|_yVfP{oZT3#MYQBjeWfg$Db(F8beGj|riEPtKajscPP#p!jUqd~!-T?t5S|C6-9 z_!l`I;CVAymJ-vyW-U8s=RN*)KmCqML7_XKKy&+M`%9~$PGo)^A57`u7vU$@+O&;= z`CWg(dX*-on3S_lU$kwC<$=rDy%ed3vEtCnIgAGYx%C8(>b!(3h^I@(r1+5OQ}=tp zXru@@cOmB)ko0r7@=@&!vNlHWX-!_cEtDLYqv5$*-i1d!+Ji$wU8eQ7G)-a6cUe8RqiVzL9FF1Akx*RqHFD`BaCmV3a?Blb!okZ~o@Dbsf&^_r=fc>!;W6uB2S*;yCa^1h7YQv-ZP94(wU(Y`=0Y zxhk#Wc_gJIHPr8zwp6z(4?SFM|CHHyi~O1AZ|Jphwppjllst`n>Zzrb@%&p-C~2+T zouJP^PmiJdim#huIG$wK#okvUk`!ta6q?lV)*Y?s@jQWgn;k_Z9Stu!ns5Kmocy4& zXdix0P z>*RNY>vsgRe`RSfV-- zx}|A=v<(91cZ=q)c7u=EE{2lO1a9}E4$Y>MxJM)4(iRH}ReLRk+SyEY9<RRNFUU>N*jd6d@u5;qg{kr$R$KO*3S5Lss*Q# z`;|2Kyoadukf@Jwm<>|O%jveS>;jAOi;Feb*wdq%o14i*G+nA>JjGip4LWt6UtR{+ zCiR&NTN#Rqijw$+w3CvO1{Q}GQNLAaR$s=AwcQ*IAecqo-Cbw0&jyeNz`Gk6<$HK| z;Lo>LR;sC}r~sLmkcYjbrL7`&_V#4Fz1x9QR5D{h&|!L9oE!qz>C7(T#n&d{uX~eO zV*AA+(k1>p__@0%g7-ao8;*Tbzf51kkkCVTTHD&jiYjGQlnq!5XBA{uek52pDvOn~q_yz2LpRl<3)FZcde87m{ zzdb$3Wk2)oQ{zRkDuAaEhd`t5RCR`M=L*EuCNEI^82-*mdwRd@F2k7~QzD;|v;ml> zW$i;A@pO9F!tJ!SNlWEDB*<85tov%5z0OX#!PXFy^39n+bG=i=`c?SdwBy@iyRt{B z7Y5B2bIdV-6e)(a=NoTr(lvDeZW5AlN%@oz2uJp)mhD%VUr;PkSY*AB$6MWMWxHKa zv@9i39UZNl0qg;D&BearttqQcUsYPhsD#0j>U$UB{gIRvB->RhFb|w~fhS(kF}=G# zhO9d<;Nq{fJD-os5mre>77K;18qy&Uiq6$Vx1%$87E(&K(mfy^E~oSDC03fL?v-7Q z`m$)NMxkBJOGrO>LhAYES+H8VX=-;MMP7&$CLNHM|G^MYNsnOUZ4}Tu%?yKZjr-Og z+4qDFKFl_C=8(zUjvYp@YPZszN1wV_Pd^#PzirhI=k0cjB{th^zeZO?%0Wpn}UK0Q(#7G?p7x}wHN5x3oC=?mp zBk43Q4msgMWvRgv1K^q4@PVs8)`)e-YdG!%w_2^dykY>Uy-9_rWO#Ljpv&6OkZ^@u zUmvA85s~^>@yu7Jj@eKoZ~hX!YWwGCvWhaRQC5vQh=PK`9DFZ5%bUowUDijhL$BRU zUdO&M!}Psl*+2Nwn7Faa9-`ROOH-S$nbV!_{M=*gG6K`K)il) zz401&Ps!x>d!S?jU99ib-mUC7oV*iP=0=FP%i`y)5Q!YGdEFjK4~D|ciw>oq6U!vv zzUFOz9qZDR=1{ZX$J^RC!Rb|vWsr~mRaue5l7*;^OiQ&enNKa*hX3Q9XDcF>pZqNU!(-Zq`{}a`7tSIHygmc>68+cPV0zLU#^RV6k~3Y} z6>N#oyiQLMg}&Fz#>wa%i4#U1o1b?cE{N)GY3yI3{uCy)c7mo7*<&BmyNkCT8x;Sl zI){RK5K2Wa$gL&VJ>!b@E1M*2NFH3>cZR8>i%bXy(hJi$@~z?N+F@?gcBsCV(F3X?d{#MRC)=K5`0D7@wCY-O2ky2wtUBS z-gaE`D_$wq@9=6}R;n!#Mgir%!omRz`fWc^D}tUOuJf3Qav&?X)OsYhOGw_s=osEd z$J2&qrJ`noa7N=iA^$*a>0gcPGzY(b4{+qA>NeYFUi`;PFaX}hoG=}ErB^(Klt(s( zPhULuUblr_`=JUn+UI)^VHsG13XiWh$c?8x-n}Hd<|=+IPoP=HnT}wWf8>-aSI?q+ zprucB%9^=Lsooo=-V)EYr9VmZCTsng#K(BeHzcPpGcCpRL7gfywY={Qlx6jNyb;Do zRZ@2#*!N0O0>9JDGSoLBjQjG0G}_dZ6vlUnb7l~9LbZx|i{diIvM^ZywX_-HOZRd} zu~zWjb1;=q2@_os7W-*E?O4E6TJf&$t{!+Fy8{0viZNhz!0tveX>1Yo*Mm%SEdl#j z*$ZN%p=aD!QT3ROl@!|~T|9teeR6G+63zOCH-4T-X;g3bp#P;HU19H=ye^^;fmJlw z%w8Br^U&s?B?&_oPR#t#+nq_PG~H^@z(StL%WaP(gY08xbUE>UE$cnbZB{&cxDmj z`N28UF6*47v^)OG^R> z5_J3^n=cL!q26|O=bd~q-UQAlFrG6WaC~`4&cqAP7QY59<3yMYEzQZ-*;j-UhgoPS z7B{^oI)6R%LvF*qAlDeC%~QcPUQ%M8{*qnD`~DCmc7~ER(lj->%r(5{IY9)paS?&w ze&W0m*~O(#rg$^1?^0kEkX5d8LezzywAmy4UcE9E>l@#!qWU`BP0#3Qd133@)L)%i z>Hl(MnC{^Jv@(Q#b(Qy~_qxUWYJzJ;(lb6duBhVw(q1#bkgeUPkau5ot+j;02j{!> z#D=kRCe&&D3Lw_2?*VCFmcyp`-S;@+B?Yh*{A`jz>@6k=!%m;ZW`yMr?-25j-dR8q zZo?3J2^-^mz5bZ{e0qxrcXyZM59?WN+hr3+nW10Pwj(0Hk)HVp@I+A4(gE)9XlKS# zKZ)Hpl_d3y8ttc)imSJu*Wo^Ct6VAn2M7f&#efOr``h>?EqPuTD&S=C&VHlBG;KX~ z6mmD^*o0vQ9u;kq9uYD_ygVPAey(@f;Zd8vhl4;$Yo-t}8celhBi}W=z~?H;lxifH zO;ZBa2}a8>jhjLuN((uE>pfP5sP$akCF*Vz5a*-{?{Rs1sEg?kw6_w<@Sp7o_n{Cghrg6kfBTJ6Bs; z+|u$F5&~o>INu)QS=rhq-PkNfp%{F7ls=Nivt^6MVNN^u+}z_>wyNsyUx&HOPDn6% z>;yn;T%)4!?KhzAK1$(QeK(fw2J@Ir7ipx9q&^V({QJib*B>P$=;$T@{+CO&=d!*w z?-qh;!Bj1;jin(m&}d?l>9<1b9S?>$_yo@yquPas!Apz!ZCV$RmgL`(o{a!pSnla( zC5K9*!LbT$EESNWrXNA%tdB-~!4@jCkXQz+boUahWkQ5*FvoKBefC`21Qx9`ch}Is zVY3U}z^1$E#ntA=dg6+Y6^hGid2Z55CSzUTt)F}Uo@ z11Ie(do3S^h0>SV&tx13cou|bY4g5SzYaN!xOZI9{G3R^bF;ymh2I+L&{A7a*Na|TWTqtJ^l+t@IvMf=2pZg0c&?CZo zb;4i5Nz4iQx`6M{@IKbX8L!Kes*OpM%~n^lSuYf8KQQD)TO%@(jqcg$r@?+dM~+EXXlI*f|ZNUh$M+ddu-fb3GN>|5BD?3g32A$-oe!%*%b)kNX0T$6=FL$S~i z(c#KH=4%Yuq*Ffb;V2EZmQ9-3_IKf=+Le|jXD61vEWs|yH)ceBpu0u8UoB3MSbfl* znzpWxkxo(#)LGuXxLrZNjht|*%Ht#Mn<9*aE*+j0(E1`g((2q38_Q(u8s7LgoyIY$ z0ivU4l>$gjVA{pDlq0tY_;N zR>gvHba$afD)qTT@gRp|ZPLT(t-BPg=<=F5s~MOk z5UHBV4_2xwG>`U#UkLmSaZz{jFV(Ja-*Ow$b~EeZ>>Bk(@j#Q;6^1Y6KColFcA6W{ zdt9-0M^77XUD6q^gUtRsg$*bPZYirim-K87^QubAzLvQ)E-(kAqZ{k>a!LKqyWMa5 zaP>~;jI7f44+1o2cjv?IZ)0Yy^9!^>LaFiLm12JPmlA3&Wl4%vnp>SfPh#tPG9Sgp zY-OA*I56R=V5y&m0;XTTpMh+%8)(?1x;j|rR~sN`4kHU*(TR3q1uu6s(`C(>IgRk8 zjo%y;88}l->c;RVJwjbozwPkfh<|B9Pg+MJt=w1o`guG^36yb4%1kCzwdt?( zWh5S5xUh98i8_+Yuh=d#%R%{pQz#hN-9SDC{E(c&evt*0tB&}9c*R?(Vtvcrq8pZ!U%8^d;g7T@VImui>;3_0Xw~DHhrfEEXFjcl-Krg@g7TS>w$w(P z$&A@e4r#bt4MW2}|5tE~%Qvc5!NgLRITje`RgTnM>Wy{-dirzT>SO{D)`ReO@B0Xoziml)_ocAZ_oP&5M{yxLs?gYuC$jsCdU)d6=Px0iEJd&#cxM13_Ou- z$3B21sUMjmG8Gdj%JH3LjbeTnfx-x5T(1I{cXYNn?HFlKv#%9csL!!^ful5MbR zx<8LcS0tkWfPo$9xaJ#eE>=2f`L)L^Kki|H6U3noxhN-}IVg|kLL1_~{RRA1MS7q~ zqSWZAsS)oHabTcUPf|YmvOxr{Z^_PTel{rd?UBj1!-XI{Lf*U@^qjG9x<)3%;P$y%;X_x&gWDG z-$-Ob`C6K_lz)+)J{BwEPsp(bdBN{Ud1yUpC$>(Zob_H~9^NPJVT^- zCSC8d;@CHQ#LAt7T|GmPqS{9;GY_s_LU+^gz(sW=mNh=(3Dj2&Pqx-z;{`X*f#-$e z)2!FxU_sF^T3*pQiEOV+8tI0ukVDtQBQbHc|6~uKTKF1r6k1n{;bsx*zGj~i<^CE^ z2+F42cwOKMZN-)&w-;3ib&Utx6J}{$n(OcXxzAPj;^0S<7E>}H-qulUM(PDKYaNrX5FHc5 z;D}SaN``rSMeHc##3s~Omumnhh3#xg(kb9^Q;`&;apDrJi4S^68>T6V7QX2*J9teq zOK&nkm_RGdYQiTChPvg7-|8hM3O2Y;6qdU~Cb}#Raac%Ch#1mWO3>CTL7vVqGF}37 z7&BkZAyiTKs=q6y#0&RW^&3B^+pDChdah`hf3j?1GU>r~=M7`gZ*2&=YO9bn|%%hQ`3 zX(yGj%aNcqm)u1JFEm{2T8xPt!$`V_r3Ee(k~FpLQtRc|QG;fBpRbaXM|PQ)e@x?| z{At{{h@Uepw5TW?=uIDlf3(_C0-4;S?P;yY*Z5T^$w?#4nXVn!n%6<~UEXyzKE!lf zi8M-vYqfQ8RC|_-pDd8xUDh?ey|*{vQ8K~RWn@gqQ+@I4@p-cnTszS^W=_&y%8x%( zcOUQrTRdr;PUhO(#+w@g5gDXqSL~a;VCl6a-BwoKoVF{YIt6FNIGI|-7hAmZtv&1e&JQOoRRAE&TW9EU>5%!>&uXL7nWK)| zL7NkwW!_EpM>F%!$6RE9nCK(h`@kdbX@)OvF0pa;drzz-J>!V~QK0f9iipH~zine@Ivvo2WmAQw_| z6~@lZ20lykwaH0dN%600`X4WSmjdxY{HPf9XMET13=84?tfo$_={}#8y<9k|mUU9z zjKElZIu>+taY?2KNAZoTSya=M-JHxyN=acD9lhF}$W#prQ1x{OYyAN4<=;*AMT28) za1a`29%cQ2#jKunnC};^o~_Un-o2;r%<0Jq5qX7A>}~deT5e~j?@sH>)8O!;;=0cZ zN7?r>;-}aFylu+k&vZPH{+5+eF&2^LddYLi|JgQw22B+r?C#FRO-I8wVC$^jPI0`Z zuYWm~?x(Ln$Y)K}VzK502S7{->d-5ztW1F}D|0^R^K5lJN;~%5)25}RP4nE`Omf}) z${pNOy;39cj@l`i@7hu@amL5yZGb@F0HOc!h;gK%6pJAuA+rA?t(41T2pG}HsM^Ba zi4du=vGL_?mV=4CI28z2k$~BFU(5dVlkCDhv-MZwT* z=CRly2$w)UM}?y`jf59|?M}Cx9sO>miiOJ53eEbWjs`WDujw4Ng9@2gN z6fhd3Q3%8G3q0``Xl^jD$W%&BYN5X5&8pMt|K)l{GHAbvJ_jQ1xXunf2ShQMxx*cd zOH5jPGc_^WxPskTb6@9#@-DpnnOlNn%#VE2QPk@B8`TT+Jq>qR-+=et#`$o^Y3b&t zy_oIUdZ!Hov!rnm8IMD|yCOO|`tD<+&Cpd>2Jx+|cAd=~@wcz(sc9KqC>{6E7s1Qx z$kp86Qlgdi`1tr@52x}J35DG9I4sK(;$xzcf~$R$ql_MSq8`@5mW2|FLww19AGH2= zYy)vYsEUHLiv|}L7d`4%mQOS3m?=1z6`3)}8k(B6TAIjGGebHHs*uNAYJt7o3en?( zE|%uQQ~EVcJ2J|f^54SlZf~WP91|GyoAka42MN8Ni*2hLcA11KgO;Wnvuz0t0sdaq zmHOT58MoDj-E{7(RO;@UDY=E^U3SCBw2Vx>8RA3Zg7bCY1ur!DmrJY zcy|f!qB^9U+|vI9;;4W%3Kq%`0Y(b3T;EgA`}+M@_<*dM%8uJZX89t_CdQSf0vS07 zbYn&dBq6xn_NpcgQ86)*$~;sY9L=&y8cCj!XwoP5omNO@DL%m4(p(85xM7EFrkP<^ z%(h-k?9k%$G)UpHN}o#uH_0d0eQ$?WdR!{KC!f@GOUUm!;zN%LyT09lbAnqX{*NY? z#{sz3@YJA-50uB-BJ$J!SB(70S8k;516{-7OrOkZmJwC?D*f!Ebrh)LxA&8FoBizc z^b1j`{1!u5gC)aMf}+r?mUVHXOpF(Z`hwG1^S@U}4)4zjmDn~dUqk>(`>IgF{wHtX zyyp#I;)nqd3*s zxWM4+Xg)WJC+Yn^<7aq(m>_n;@ipjx{5b3fFK+>P_cjvRe_|ds8(f+sKafdPQP=W4+UQWmB|BVwv>{Ykx!aQywV?WY|*0~euE|M z>Xly(Y-$uq8BUi1X!)93ykz`mb(|_E(8AkeP5tN|DRA&E50wmo$ZMdC@ikqB3;KbA z%P-ukHu&oPFWd%gr;%c&W!$8Wxa$lCA|@Be1C8ogti%hC7#he>BrQTT^T3w_zQKau z9o!9SQIyVP1}=l%T!RG_Cy6fJKRRpf!y+iHS%(h5-e8>^Y_P+_&?kt5Z2nWh1WJnu z!#x#>@VF4k;~1aCPX)loPF9t>h_~?#ZXLj~#UkYi$H1nzA2upQ)FLpdnQQu12px}}t69`W63 zp;Z}tuSH^X?-0z@v3wu{W27q+VWW9!sdV^Llgn-`XSFugVK|x_`clEshcV9mUYnlg z0aHgp*;Tg0xOUQGP-c3@dUFyuf3T@IY6c5ULR0UW(^-2{px_e2Rg#mx@G084mQT%o>W8eM zcY(n>L~#EMYDr{4)?t72?f>{SpT!$Cc%)fuQ~*H~#E=%c5;JCV0nY+8S#TQ`VVIEs z#+zcuIxvTxNwu{ZE!=}q-ViS(mdKrC<^_vHdkm~j1DPw$h#@ArGPKgn>M$dRIR@V? zp}N6#IHVkQ*?(gqDB^=LOYI$8!%n=kO)OL=$I=|!bVC~IT_w-wP97ODi=f!(USVOW z{>6=ky=qI+hkP ztFwKl3=Awk*-!kKt`p!Nzue{f3qpK3JR)yCa@ugr5t%V@avt(lTE#<5IH#`S9P5Dl z6wnCw(;9vt=!rVFr*a#4FV;KGl#s4^%Xgx_-Zh}+$_I)B5p#lFB~Tqf&*km;rsocR z&qMMt{j`^`23^Hpl|gGMVGlmIHW)6W;lJuq#`ijYzvqg@E`%s#HVM%g`jWmu^+Ot7 z5EHO~R0q4f2!S)ILHH!>a5=9H4~WMZ`Gvo?Rf zef+C9-#`K8u#!G;!+;h!b|kdfTrDvaVYL%KEUGRnNKyiLe6?p9_i7Ob3`XWw6o!HR zxb9q{K!}T&01`EB3ZY6|7cGGGRMg`T2I29ayP~^Rk^X99D2OEe0r=3;7SMVV{2TuX z5h7U`%}p;@EnuhL-n6O~t|`4;-Xs%+pS2irSkb@|f(#alQ6lj4L;@9RMcS+!&T)dn z6B;?;@zi@Zuj$BTaWBHg1l8Ed8EgEj-5&o`YA^J>XMs4CJ*~ksHi8s)FgomnY#Sd- z^$FzmkG^`3cq!9bvUw^c^3w+RP|^rm$(sIrDyvwy3Bu@4x{@LegWA8c#%Y0lJzMd<_JbY~GEIc7hI$_3P{z~Q*uqH~!_PXG)o zU19_boQSwmG@eAHiSN;uWr|7+#0V@JdW+46`nV7S?rdF2)_Fc?YLCr@;>5sh9C2hB zLS)VUbY{<90sZ1MK3IFmtL9p|!s+Le3@dD&>xPM{vn8C@^*uc27VX=fsa*MC+=C?S zPd9qw@X!&6Ac5y)LQlrv*SptiYLSTAauIqYOxLOp@9~$+2%ea93(?lmcaJyF*YFVA zNP``dKf#PoSf7j74Tiz5<+Y6f@($A!H5m<#4+6T^l~0(1s~2hhGmN#`J`Yz_>E}Ma z>7E1ZJyQs>(i1x^@R|SWX5RgJi=E{?(gf1S=ro(Zt6c-MvS8{~x*aRv7+@kk69a&lHkAO}K7}9z*Q}2V zm86b8xf5)ceSb4IO9O~5W5RouAt0=6g=)f-CW~bp_Ts_BAxvS0z*)JlQDZE9u7g9? zI_&v3Jvtj_CbAY~SK_3@iq@b*a-wd8g@flKb~y6do1PpuxiuWP_rb^GFJiN7+QHQc zH3*Fqbm1f0DP50x4gtdHwfF~a)`R}fKf_y1@_%%oZ5jBvyWZ;$x;1KbzgMdDn z7Hf!V-e6)>cXSWg&uw_=ixW@N!jf74sa<@C!PVbmget3Dhyb}bLrnztk8Wh>b|I&t zi)4Z=@iTTTI~#Ixz-B2NpYIRg@VUp`aDb7RKndjlI=WCkRI+eZITZk)1syilPzGkY zZCo-R+Jpm=U{Go*y8cR*h5ZeGTYyT7tu+w}%?(McN4oF~Nk>U402Ypqk?T5bj!&Vx z@xp0NfenQdPsgP6hf8BXAe@~r@S0f4O+5dX5>oWAz7}7`&M41pTJRVX8%nv*69w6R z_K$c-4R|>gQ5z&_UjB8e8l!}s9TgMNJ_I=;X^#W#@JGe!R^iwtqb>^l6(w>80FU}- z)z(no-f{ba^xU0{2S~Mvi!ZegO01Rv;w#9uObhd2WPQX*pCD)vATV6?8>lx8-m{M! zZ;>HUAb#fw!^7_p8_QRSVVY??t;k;Xe(xP64=+;X)H9dRz}`{rF{`OSL&Hv}e>pEnOQfW%go!PY^vEupd}2w;t+zrsXpQg@O%=kz)cw_a^#u6-eTH--v|f zR_Vh6$ZxY_32hvLSV7Sgk9m}L=xSA<7&rR|T9mCIhD$NIT9kWKBTQ>A}rksynu5 zKxb*_l=?e{+JBnRb`fE?_O;ch3q>Kb-{CA?5#JuRj9{@jVrUd=Gl3o%8hnDOleV4%U0BL42Ra|Eujd z&;aGsdKYD7ReW}HlQAS|5?kan|1)8>PmQMk`strO#DXx8RuzkluPQk3A7T;xZ@OqF}1tcKZRFDf`gM@AV^qi zYA)oaMJT_0&+pbS9A7*gPSkJXi;Dg2K=%)=oHhM#-jR_5ki#=J?6mmKAS0Vj5iXc& z$LA(xa_Qp)WQA7nY+c+9cHiLm=vUbEPKe+T0Rye!g|)RJY1LY^vT01I@q!+P!;8D2Fs=t=*n6O(D99d(xDxDKi*D_B4*bfDM6FZuFx^_HI`r-8zLxH7LH8XcQB0p~ zFbj71UG5!KOWVocwB*9PceO$C|HHS8G)P%?LtaKU#r}{8X$1w&ko(_>V$R1SXjY+z zFZmLEr~BK~;)CL|N`}<5WeAjT``vG+)xr%#<~Pf(TSxl{LAn%{)7hK@J}+VNTbr9? zU0q%88eQ$tc0VMuduSftLnzEgEN=h6lvK>|(5rn)(@}H`;qxt?Zr*D#j`i_zS?l~h z$&Vk$mQ+g$zjw+nROTxYAIu~JSLND) zO-Olc8f1W?0cC+17zx_2_`Jp2@^@P5DMcgQ&za!d4e@R1TL*J}IbG8@I6VwmUKb>n zrZjf2w@#|@+$8-?zH7cqIx4#ZnxUw3eZp|Qc;=z)@a#vue16tzou4JQS#(HHrB;Y& z5C0<+9ZRib@HAOeeP=vyPEM|g_xDh(&OGn#G#)#@PYDC*|n_A;k}P;>`AcIaH@* z=%B52a;h1dNSDQ78i~tM{9;N^KW2Vb|MXr=B$qF)KGc3l>j+<2;i}Rz?#f*36?97 z+#d)Mcpws>j!u+AXo+HM7+N^jaEy@b>r5V~|lyuUJ}2 zg7=o^5@aaLck$E9of_>T_r4W;dguQuXO|PHLt&~A(ekvF4A;Byjmifbp~7MG@AXlh zPpSBCW#1J7S_`Zxsuj1#GhL0b4#PzdiwfB-|Dv$iv&CQ1rqaq#P5Hzi2&7* z+)5rL5IkC){m!^7{3U5zeMS%Q9!cSzw9w|Z|9aIlLjW+r+m~DG5ox>LHc7MD>=0i` zIv1aepmUOiO{ z4MYL`@K9_mySx?i^w{aVTUR>(bq|aG)j(h0e7$7SveJ%rZ!~0iTpMTi!!iHe=^B9z z&Yp)i#c?z?BOBbHc?}z54?K(ug7eiS5KuuWIKoOpOY3QtP|r;vrW0tTuHGnpXdWFO z-(N0)m|L>4wZBiji28Z$%df+M7O=%+%s{w5pbO&HLD^r<4dQ{QkE>~KYt3|y8tk&&^HXm0^vViT&Ws%WeCq)%?+!f=#JmZ*vtaUbHULS>()cy#Ud{*R03APUyp+VCXsrza2}2QbCvd&Q0!y` z1qJtRPJ7R^7m`IthkrRe=LQmLf_X3*?oU@Sfvyqgp?qSk{Yi$nyup8YoKhI^xvyKg zAn)}$wZTHh%&htg>|OlfM%(VwH&O3y@asavXaViE)yrmeb=ADTSf13|V5mxD*6+m{ z8S}QC-EH)?xCT~KT2VnEh}Xaz-3D*R%ovNDmP~|BWZ|r#Ne1RvDmRxn49YNE#Sf(d z3n4MQ=a7eg8uo4R+a)q&Ys3g31>8=gY??b^*N;|gy@y|IakQT<0-?hsdKMcgao0BG zbjQ2$&QMjKf?kQN6q%leV}72>gLKqEB#ABZd229wkSLHc(v4%iTU#r_WxpWgQ%WZ6 zFf$EJ!cHL&BY@kqO2c`2HXnG!Q={EV@k2^pn)Ssob;rxTs$mPikrsmD9Rcd+A^cTD z>@ode45ytr=c!8s#?(&wonDQ#6FoPRU!;)Dl^^A#fB|=TOXou%jKwPor=_QY_& zXATypcX@Dz0=uC)*Xs02-Pzq8hnNUmO#IxU{jU~aIl{*5hZE%07OPH|Ltp%D_VN2# zW_Nt|QvS=0aiLObj)LFcV?K_part_*_?>;USgp#6{o>+AB-Y0th-fJbk#gIvls`^S z7lV@{w3v_WhsnSW+yr)C*GNi;e{rc#_$=3#o7ws-*r#C90rda?uDQCpO3b^vy0XLj z>gasAm{HBNe2}*fQI9sgCuZaZ9$TF+yYMfYc<|4ErhA$J6-Gnl^oG=4e*8G1pWu_* zZZ>Md4m*{;D5ah&0?EiN7epytf)xQCgzolIloQc6wLv2I_MA73o>x0+d;FxV@v$mE zyTUux6?uUiG9KUboSQG@$JDF_Z$SfX*PIayw7KphoXVcPVgIP%i-kA*mvdj zA^&Lap@ZrO#`p2gm@UuZL>8@vQYtFgxOH+*XpA&m`4P#-&HW0h z&`+|~*6=buoYK$`fkh+ifRNbT%Xc-lz@1p#kvYg2|3XlRhU6nidJ9j=F{TIrQ$?=1 zX&jQ{5+Q0dGqY|yWx8?QugKY2*B-7w{lOkeqN2vd-LmSG#V{z)QdxO3q$91yaB9=gD~JTs(n>vq!C==|+h*b-9K18sET zwyK(1$Yt{#4mGZyuONtr7fyr^(n1F-yqU&mRFDr4f)kkN1h2zFCtOilYKAd8)Z%)Gw7mpv1> z@7u@{(d&r>L=5N6pCo#~GaXoxy?|Lh(|jJN3lML^8RJqvaHLrTwq4iU89~x5>%l+t z#%xPxAK2{MHvyk+YO)em>#gNXO}~-NHO%}#$%D95a9$5seApa26aXFo`FKiO6^r-@ z>G<}YZEDET1P*~Ogz@lv`(lmRQ9}EZ@DjvQoRp*SJ>i`DeJH=KuRlQHAW6&^c3P*B zq1)BWFz97O@j&6RiLFe_?R@~fVLW+EJ2r&)QjD-ciV8jvOLgpxDG8OEX{)=J_dI`f z9=E6<)m2~JJiFqCN!Gh~S0M;i^glJMlj&Y&!;ItYDzCvJxCt_H3m9xh4X=e5#Z0RA7g zzA`M1?D-l99uk5(B)F3R!7V^=cXx-N!99Th!JR;G_rV<|5ZrxmcelaeZL+(+-T(8v zpXN(X_wBm()~z~q>a@vs#WGF~jw#4Ri%w;~G;72Y$ zCX@hH7)cf03>Ge%YQNtQc5heo5MFAYweCwmcoA>Bbs7FU2&KDRP->_U(# zpbyd8D;L4a5rZ>B#sX7Pym}>F#>Ku|V@k^)gGP(|)-LEWT(vC5o^e=GBDi}I z!#1y(3Bm956t&=9R?NBXAe7gxiXKNDQ-8`8zo26+V-px#cJV$bazJF9rsN&PD8vG4vYTFokCCW-4ZmA&8*GGfP`5 zj;YuSg^lNiWY&J2HZ!ND)X_Z50z;IJP9NzJ)>CsXhEnJ9zF;xEqx^=3nuI^3^Agjg z%(3E$P39y)EZMh~ArLF%lEtF6R6qBb9V(GA$OOk=UY+BXiHfZbZ?Uz4e=R|4*G`W= z$5T=tZYBf#8-zo_B`G0uHScUs6{cEPKlbsATYXAO$i89sJ#jvJNrYx82Rf1O;Ou+I zN#oeL^v5QgJ^=>t1yO_c>j3{|CqC+FC#q;JMg+sH`uW7K{%}XS5*EmqlMHBwy^x)z z77~VUR|5PL3$*)`TQXq4a;O5OylB7cDLABuPrVan#-W4la>HwRpkf(6`%`p zgT4foA9Rs7^?EG`Y=P1=xhfp*y74`p`muum^=)jyPIMl6s_DnI%tb9G+-mQrobloo z+?*@KiFHUlB=gc(sCvP$Jd>XZt$}hr!`9twQ{fN+XP2)4tP&f9a+PD8Fq znM|y=W@ma&S*&vUqx+W*c8rX#uOQp-OAQGw^VTlia(7+rT3hesBI6QxgP<6GF1A>Kfr-8~CS zOr64yanrIa@NgmoPj*1Z)(Ou91=p77Q0-U}NUxqPURy+I*-1H^u zhj?AJ1|KlceCm||bWfe0bhFL(&L{R92(4~K0c^#45w9sJ9@C|%{sj-pM*|h)ux}t` z?~BXlLIPd<#$=j-tc8@{D05U&e&m0U=T==p!h-s*%VN50>Vo#S$!WLi3?`R{2CAzS zYBq*`PeQ6oU!p7!_tzFZ$8n+did{d|*|cD9UyY9N#+CpR;A^y;cYT2?MmylnGqIKc zz1ipc*2j;+bh|LCiYy$pSZV|-d7ns0)2Izo zpx9bW1rjXX0jNy%rlTsqJmLZunU;13k#S_=Jwg@6`PB(r~H^fl#W{nG+A6WYPi$#Tbh0JDaVkZj4J_2-DOJnf`@YP)q9KailpD z@^BE{l~Xj7<3#OI`KY5q5%Mr*DlONKE6=L7-wUz{f&x z6~PW17$d8~U*sIqLvWCdOcwI}B@ba=Pw-uChQkp%2_EM03@tmear!~Y_4NfctPhi{ zG$_{@1+_z3DBSjsTfaCA|40=2nBK&fpOcdukBulW3!qTohbOMq{k@piE*m^V^HYE3C=kl*W z_9qOOJZYJb2hg#&vLCN{A{=-;5#(CjhKoi4dS207ZmjnJMv`s&kmEPtzBX!*tv+YI z&B!*rR`R!7PnT}lom{af0ROKTXT$N|5i@8+x&5r49+Cft=)3mBR_ne#6kMH+2kmua zA`g%P5!i5=XD-_x=8FN~J`Bkij3P%*q#$J3DW!=#drx=Wv&+;2U_;;@=uewQfcWp9 z@8Ep^puF90Q0MteC8Fy)@PG<(C_YJf!2P?%8IQs$Qh(U?#jm=|x90aX+X#Qdkn>NX zM&9HqhSTOk7)j5Nqd@-@&XYQjxq@d(Y+1F-F+3O{J>idn&Avea=cYH3Y(KW;mGp~1 z@|aPx;s4egXyIIfpKx(o?N8wx_-_U_J-|>GGJtb8M>2Z-U)b}lJF?7kLv%E>ILH;e z!{zZ?wl=4|gt&wR331Qcb=_X$`B=a@SDSme{{ng7pW+5u$hXh+xoAVj#&XKbhhcW{ zmRSU^w|o=6G|ywiyO^7sXLkX78N#-R(9r&o%Z{VqQY*pHrj0O%n|Iwad4LjC`gZE{ z+286>e}GGnK73vvsO_!~@5M?h02}=zPJLpp^fVncGc`}`Ert`A3L|A!oGh`AU$80pQmh23aM@xK8$VNn-0IRd%;XSw)8o*IKaCx zYRcjNV5C0qfI5Nlb#2iSuPZ;*9*4~-fnPHPFhcu#RBcG4en>(K0CW4Pjh`MPDy!le3#bePA1V3 z8yhO z(ywXGZ*5M_&*K1Em#NC>T{EAhU6Z*4r?#|o6*~t<^6YOL%KcQ5)YZK`2E3v4*wVQ= zqIRDx=%<-V@1THyfF7o+Wv4Qo=n8EUnc^VE23rk^PX>@R~1h?l+^$+#k_K%J$^O}|x1!RJa zN-C;;;Jwzx zKD7Ss>XMYuNK!n;ijB=h`5>gNok9@07O>iKWl6JPX9095R;93&-;FRKGY@>mm0@@SkNp!zvA|)SRJ7wIa0qKJ7LYJA- z>D4>UHp6ik?s8hrb$)81C6#Fc`C(<#9 zfj{%`#5Ih5>ipd3_Izqctgxy%iLDx?KO6VG$8+m0e@W$`h2m)`8DcZ{5Rk*D zLu=OzE&5GEiOSpTb6=!5x+7w)uky=oeM^!-&lB3PMMcXcy7)NBTj_XVB{JcAF{HhE zaPVS-PqmU+w>^ne;fQU0er7z+SG#=?`FU7XXt5?neFS%fyr&(YGI#%S=kC9o3{Z?y z7K5~%UX)9Fe@d-LacigWIgVFfFP+wpJ?{+7jL=?Z=UdlJ)jb6?Tx7Xj&Vx-ljBPJK zb~Cjvth@r_664zwNnax=;GT9|F2y&_YRy!fNxnLL{c4Bz35>@=vze`&bX%@s){V=R zPL$+o-tLYdj;Rjo>^kyUKYn9rW8t^t{e0ry!g!q9c{Ly|lW?GF_yEa4@Y(worL_4L zan#eZ@XA*6BQ{5Z`%!eeqgp^;ZS4_Zgzf)0C)X!eapb%5Q4=w}zNx9{S4LH~?!!j9 zFXP!3OO*2-Cw?)iw!VIOA-*z9U~^mf(&9;F|23UqUH@EG?0<=~21>7zSlbWbv;i(5 zs9qSLPS&h5V~YK7B}AK?dl7F!e0;;N5^8vnIHPjur4*I^TWg_{(fq^}O8g*u+#6buz55}uU%DwAw%Y^Ddv@AIsNi_2TSk(fvyQOu?3rC|~WsNy%< z&E0t1=HOnVrs}4OuvF#w0?10-Ym6VN{{LmfkRR9obw^78__Qsvt%T*BW7e%zX;wg> z#j80-ClRpWXsZ0=P*G9oa-gML6q{lK^de2q)6ufJR_95j8;yoJj4-)<_5pWaj4;iPlnx=h7*SIdT554s5 zVUKb~;Ko7SQUagKQfB1+hl9>%ND4dolFS*b!~7HLm(UXql>XF$&S9w!pFSOI*5u_; zD+i@7x{*;b-y&TZ8#CgG>}zXjMbS7+uZzROBO2WK2be>}Rnxk!uCGJbO5T@pl~q+? zJ$T@um`%P}S9f!Fm$s9yn{OB|;>K}WzWmP!lNg?ggU?*YNRfFbE$KJp_aXiZ=CLw6 zGPU&k#J9hY$RwWiS;aJ;S?6&41m$-;!~`r@iA2@!BkT=?#L`eXx#to8im2=C?2Pe0 z%_vqcWtAK(sqiHV={Fzx`R=z*$IS&T)vhJ78=lSkX%NL>JcGK)%vi2joem=0* zKkx+PakH5PQQVcCV)@Pn*kaNXY2F|A0d!&Q!w(KXGcJgoodfLIro)jQ3v8EG$u=}Jk^@JnN4#}2@i9mi--}L6E z6ONIg{H9;(+)`Y?I3mQN>z;C}%bA>#McM7uTe{xNI@)t!}+W++J6~ z+|vmlJRF?fad|g?_AhWXwza~#Z~ z%!RRF%0+gNiUg*odB!+txtH{{#Dm6%4}*WJ4C$iW4e(F%RQ?;JqW$p`d?-*+h-TUe z_~Bm6lxC&nWxEVI_a}OEYd|6Gc!|3P0dUV0eUd!n%+)IhKDri18ehMGmk#}Ny7Ah zL|ZdVV1=`VJWz&zk`M3(#3?Fm7kEyDs1nXVStII0Rt%9=w`tyL$tlTHdwr&{LQ>k& zS{}(i!7mG)oi8whQJFmrzZ%vgot`?*AoRL9c8YfPbE0&Sb8wKngt;rvL%V(7jl`+RM_WP6)@jC3EpMPd^VN&sU0(t(&R~Vpt z!YeWFB?;%!fMEL;U4lLMWJfull7>c{C&OOeB{VoVib>pD+~JZV?a$NnkuJZE1ffAr<)b9Krs>WM-VBnFc)VBf>PplHM)YO0f zNDGJclzoW;2ci>@?(~L_SpJ`M2jS_ya0>ZN(m;<>c>P~F;NMmUpFa_=Z$N34(STtH zs%I0TS>&W!SlnJ0KhrBl04#;?bgKy^(Bq?7gS zYlR46o`6AnLX+$7@s%b!O4r+8FLN7c5Y_J`G9Un?Ca2@7di07W`4k!HS@ zjhXx5{v9lu^}A~)GhTP?|342T8W5Rt_%>^+x@=kK;NlSN|2J`5zJ)j)+s*T&*3$aW72rH7$4|xYr)Xv#l>3jwAb(%@d>H6Jo@bs z9u4tUz%-KH-miuTuIb)$Nk6ijLr>4!9;e&O(8%)i=Ia}4C2eK?vLG>(+j;|_smPx| z#DJW^ijBjPMB}eH1iu!FkdW(PdEiff>3LcG$^~=vsi}rlz2p@qr>lrnDQ=?g{fVID z2cJdnoCMUS^vHB<96U)8@6?O<2Uy&P7?bRZmi-1%60EWpz=cH;H4D3?9L)9CQnm*5? zpwE61v7iS8&YL_pH3|fM)4x5fWq5gOoZ3&LnpU=KV_m|@X?%nVuto|DH6NewqQ|{69WygAr>1#+ zl|P7$u%>oL4bR+hzwmBjveldg?yhNce4IaXK7PjYg2(BPdoW{x>&i9kuymsu8e(2u z-8JGmbnBcJf5Vy!P>sE}%4kfVVOz`!CTk~e>=!CK;^{ehK#DWu(ACqp4Kbl(t45N# z^*yvJK?2wCeb-vtuFxzR;H3!Cx_@Gt9lt+ zrXb6l>ppuximGMn!(5v&xY_fvOtYQK<7#C2mS)+B?DaW~JTaTkX>LDT=j5QQlCttf zjk?4f=O@tmhcz3VZlNPB z!T)q(*)9TL$;PpK8S#Z>@w=N8i&B#7Yw9RRFp=2`Y-~|W3MyL z7Tt|%0=>1hkxJC>k`FTsg*i3k)101MwNsr6iv+OEHhJJ)CsYff)9k6WAFk}c;)zek z%@_kY+4!_#y?fQ0eWH;i z02x@HI?xtt$WIo)G|YeF-TB&3zs)ck$oM%V3vczWzO4J(zT9f6@7usq1%)%_jiTUCGWCt66{v-+p<>Ye&>Bms_9lS|5-f z{4k{ZUKNYzA1=U({4ggV80@Tm=e4~SY2VUXX*6jSJK}L*6~Vp8Q8;yjtn|xV_+X#k-4W;SA!wnr13v-=X4ac?vZsWP93SOKGXTcttg$5)xn$DM?{=4vGDt&!T z<*-EgsMbWdKz*{I>JCy&z^#nF8V*0oWbnMboz#iU3!ABpx5okxqj{#73D-Bvn2GO& z&Gc=N`?&J`mk-Zyg1emB&VgP`0L^{&Clnia318AFMk+d08n7_9@M$a+t`=GLNBhwF zz&%Sdtsbbo`Mzt9xOs^`-jR3er-_ntn&Nv+u<8~w{64xjJeS7UzAN7Qd!%FLNldgYm{S) z^Ps)y;i$LN>+eA(<^*br1&CI5_xLFT3SiF*D`H zN{_L{M}aRwOz1CPM)Q?q%@ZX2wvmQh^O+fK! zfK2pCV6dogSgkz`eQe&Z@dl75d=&INf+d-bUv&2o9SWfo@_UWqhYT$nbHMFqM2mond7*Zu_O99x_SYoI^`B01 z@UZr6j|gNc@UWmFg+LG0i#8rExaTbMmu=-mK9`=4M@@(jMPotz`$K;ImYC#Zt3Hni z`mm$leRscx#xk3qdc?RainU97c&d%k)Akg3b>I&~diJVvzSR}4K)9H|0&HAcD z=EN%eS8Eb-oQ0&E3}WSk2Li)D&a8P}ez~-)Z1`*f-&VzCaY|U~MFHFpT$Az6TQ7{) zbaU}6@awkV(@rsj0vMbOxFH6=VL2>KS4ZG1ONlrBx$vuZjmK8Zz*U63=>U@!{8C~F z;0`Y1hh*O0KSRuL-G?~zTc^C&fBlYb6o%t&4^(JkGw^og2n}SXq7d{RF%}MDxw>jJ zcm$+3UCgmL4Hy^6_BuK$l!JtZ-J)^==mm?75&N;G&Fy`FKze1KtIHT zV`iGnkAx$^rc@ohsXt2XJCNssB!%8bAEu}p@$mA5r<28-!gMd()J-L*mHui2Y^-2N zZ7rRUQyh=D?D%1CzQa6%_Sz`ktg@;qoQ2d^M6z2Vyo-#>e#GwqN7vr^U>2KA5m>M6 zkw43dN)hkB9FbD-8&8rg&Cce<2U@)^dhGn(%t7Ge(t(a+j{rgXygFOBCv1RGSN+2B zCMRDjoiBXIlYxXL`fA}+dsP~~O}kt((zUcmb*k;e^-kmQ+s`tw(|dbli0Pj#Tf5(9Gd{kT4B1;jJa?L{(Z+G9bjwx4W}Lln^#lzD_)!h{~Aj#|w_|il7jWNVt^VB^qa!f2p?6S46*~Y9>VKEx$uL*g*77{=EEGaxrYA zLe1}h0A{`H1?3wI2!C!4dL$Mtn3RZ!7wOH7FU&`C^Zbx5yV35Oi1L~`R}1cLx;pH- zKC$+Ey<9sX$a6;Ydm|UZI=S}L0x$`-1|0|w8#}264G5x4n-WG2_9x(Nbh#Vk+JvHV z!hi2cdK1PK#>XD7qt2;YxNCZ?WUQbhu06oGG+)BpCG}Kh;n^7imj3e5-?X2@YQlRs zjo%Emr$3Q}DCG@f&DL;wA}j>!y~daPgaS+v1M~!5GlXdZT5u~I%Fjidsh>u=AMkLW zX_!Q*?3MjQs_$|>d%TOh~4KGUE zF}I7^94ghs%Cd$_6!SGt3qZ+&|#XZhg@j8;NOLVNiAH16U&0Yhg62{8uZIl2tN^ASW?r1a^Y0`P~l7A z$`U^5piYr6biaapg}OK%w4>~o?R1tF`jz9n2HkqVyZJmV0y+PWeH@L&{>GnEFmB0q#%(Gbyh|Gqt4q?;{glB(phJzmXz-yqX8=i~ zv_V}5EeKr&?2fSMci)(BG)dTM1H7*SFi36$_6BTFMCUT!LP=-Lu`gUx{^W}IbkVe#~LHf{k*D$rdPrFeU zRwrhJ&`kv@7vejVdYXWYC(B;7z!j8}5)c#?^96ZqXu<3OwMnyR9({JWCKi>;V{Vjv zQrx(p?59irJnK#jwqzDfBM7HU`;(M-EloUbW&+Hbn6YsQ&ERB`LBzC zhk#1qR#sLpF)&tCHM%=ltb;U#Q@Nk_S8Lziph0Be{2mz9UUt{I`lo*m10T{n>$FvR zdZRz1BUOgUcxiBHX0m{l`Z3zydb+HXmZ!}M1Ntd2FeWvY;-bcRY(&A1lmX-}2F#iH z=XJ#buoc~Mv3OCjvo|05(+h&Y8osCzkC;d ztzTuznxTVC$^@a|Xp(At+3@%G2)4J&8Iii2aq);q@Nk|hT{ zS5p0YhIJ_@+jK*QXcR*?1*jw) zH8$;gQvAny2+$7K1twl8DWEw*jFrPo>htGn|LxgXtB|nZm`H&;A?7qe^GaJ1ZLuyf zI$k#krKz&`kP`>@%Y(X{;^MQ~cfAAil+(_&a92xFwT2Iu>+9GvKr-=D&{fUD(_^1C zArwl%%q%yRpC@T<9@L=bn%oA{w3gGCy4O4|5W%M1K9V}Iy5wC5gC}>Id&9>G*vUTw zoSafK)uJgis+kHJv-~V`UI~6FJurVmbcmyKP6!fb$ay?;ZKH8VK%l zv_{EF-`A|BtxX|#y@H;T-ExmB+j{;xc5G~d66m2wz94$DhFa+s29q9x6OMRA#`js{ zI5;z}QA^6@fEBE*t4p*@aa{dcmP@ayOs2A2YWQpWf5WFll+uuw^83cmz#De zcxM;;3SAwYX1EL>-&flZ|kve?1h14f<^9t^|Zo(lLsWlbwfCN1i!zGb4*`9v9S5x z010L368y~Z$oo>-%d7eBnCww;$lFH@nn)6bMCPvY=KTjf&kelO8K61xl zDYo$7w6krIxVP(y6h$&_T&mxuhlq&C&g!doDBv+cj08@raxV6_Z(amg2nchvy))zH z>)R)5i0eki#*@5Duk+=6s4=u|knSNl7&kfVCfx3;%FlKSiN<6!GhCN^Zfhk2n&4P! z$jJBP1WImo_wdy)f>MPXeVf_M*OH%n|ZHgbZ*X? z`n%gM+?-07KvA;l(%T{4!tR&TlEjOAQyRufK@LC0rr&<}d>K6{CBR;9cT6i}fSy*d z84tLwWp4z7NC)$9#kYZVehaI}{isz+IL(Or(a8vD!#nnZHZ2+n_|l`FBLUM7lh8XU||IyFjSgKC)`ZmqU9XT z>6>MhJ@>y~yd`@JUdmFuEcag1K0Og9lW>&!o>OGktO|=6eHBY1XW_W_!hegj`&(VB zy#KKFCu6g`=8V~i-B|z2B~Nw4_e#w%o9JND!b>4_*E;{t^S^_G)m2r0ged=r&<&r> z=CGZo4I!k8R4QODFL=AAsiR}_5bjw}S~@5?e0KKS1lm;+GEujU50J8n{YfzHI)c!p zy}esD1wZ#Px1is8+@4Fy4E>ZvO(4X%pKow7d&C^9305=cZgE{{N7$LX{XWtf(-d>d zoDbuldWrPMUDu&%jJn&wG?~sJlr-&8YZOFG`;jP|mo7a-VAI+EDl)nbU13UV(45*_ z?R;((>VC~(Fx)#se}8|^D)5fE`=~{}5vLyTd{)(;g|n9vO+-Jugxeo4;1w+_qD^dH zJ)j=@zO<6gvd}aw3L)_)iMs0*Crf^?SyCjA#fsf@<428gd(qu^`EZ+?S*Dl0SVIlB zS6bWjxt#BOJKOPLUz0mi9_Cxnw|RkhK^V^)S?K}DRnixa8rTyT1pDfmWSy`A&WFeX zZt{f+9&Vrnh6~ZBKbJ)Aaw(ooD{_ueR){K>Y)l3EBpv#R4Bvq8EFR#ys%4!hUG^v| zDvQQ`)`_K`fByWrN5C8PD+<}Z8jN%EHy?73NE%kRY#?>A16JDQw<133Kelp50Haa2 zAKo!b+wNF|z`FWrzCt_4E?N7n_soTuIC_0RHbv(1dD0ixWHrYR9~03RedXDNKKAvO zxx*-QchmF;`KF)5MTUp>-J=UIT2Gh0pGrbs^pqD?+4hVe;q=)~$P)`Z z_ujlTyZ5%%OVb(I-r*OIOxgC)whr~$C?4)L-&IF?MV=gCNT?(|xY3_T#Udz=$==9Y z>=K4vIOJ!Xkd$i&MlvL?VF`!wa@u^_ir*0B9L+55_HpEwIlN$Mt?Rs#L;upFnj9&GqUD-H9gwBgJa@YzP`BL`YY3~&i{U7MZ^ldgjGHYw-%ep zlb4Ox7!IDHP~#ObMQ3pioXYE0I4~NXeQhtj(LlwML}uFdz3oEPH0(O>4Y~s}yxx?M z#l~W#Z8yzz`^nO1f8taVF(pvRKAC1=X%dH=ot;tfGDr(|Y}$y|G|qmCO*oiuZP92K z?g-N-IgUzAW#ZhpI*ZJ7wMo#Axea?%^-2JKj-6B9&vZ=PzXw`{mpdS2OcYMdQ{9qOQ!FPkz3 zz8;VTpHPQxUfN|w5U*HY=~5{R0RyWE(<{!c?%%@BSyG?xq(|7{$IySNdFrFH2NrpIf6&*#eO$&$&Q8&h} z2A8>0g~_)t20Yb#}#0-G$y&9GJ^Cz`{Q^W}czi>ClBl#gAl!S#s+3$G@VlAXu+a;}9^ zCTfFOtK5tNotSibhSUj9n*YRycC^b{^n7PbGt_fv-o(K8OHJ|}tvy=SRBWV)a>;OEQr zU>L}|3e!JPK70{endr3f`y_{B@CW0}vgzS&uE5I{&r1u~Fv8eGq+rD6pxyDoD1~A7 zRlM;uFe!{HFou&4j58G-lr?%|IYw8jqXs`df-Vp+92nse^JA4X z^kZ-q4KYNxRr)(#-s0mjbwE)B%@2`|aGjYyZY8mKlJhY*VF|3Zx5 z6k%PZxQ%`d0Ut4v2t@?4-O7(27An`Y)I>ClkoW!Fy4|jlk^jzB^wfZ<6Q`m8yQM$G zS+d_1iH)pPuUm?W=DYEd^fVXGcdwR4Z%RZ;3(5!5ihR_1OkKcBIPOci9I{j8vgkLO z2q=>N&GRsLJ(P ztTISLzx?VD$PLK}Zl*|XwO#N~Ms>B?O}?2j{=5*v;3&fI76;olR#Df^z_zW_EESCr z7fBjTDz)+tkOn8`kCWgiBPD}bLiP1#myK4uEWKY1$YkdiR#TsogFMC6N#jx7q+!kd zy(`WD{w+c1bMk$eR~J*rC-uMzginSmqfB9TIZ(Su?4(DGo65(_;0f!nU7&`LzRf3PV0!*C-qpj@OPiANw_kmkNtB3$9ktfC?PJ8h*8E zsgB;b)^1qaz~utCSy*}lHUu?HT~1J$VE@L|E668~WtW4O{tIOk9X^Wwoj4jOAZ6vh zaz1-mSl8@5#0l8_;}Vu}8>Ic2Ial8mkgF_%?ZHO`%o;h1`UGsp+=Y7o6uWRyD@U#1 z=L|j#jxTMcfs7G|A^zmF;6&7V<-Sqy;b1`{8$;skO9-dkoSebshHl;OhS>K`+~j=i zxoH>>-I!1!W!Ol1FmjXl#`>>64nvxL+3K^mK*Q$`R7o3@)SxrO&r(3npv>w(L2p0= z#LBehUEP{P>)9aa!LUjVmjsl4Xl(Q2_7M3P&1-qeER^m_sUe&kA$ExLhK>% z5enIc-|+`P8lK~3n}0HY6$3>Catd-PM!o^cFIpqEzj(;^01l#0?tBrhUCxNVx-Ha~Xhu^K%==ZVs-V@C<7zf>rFWpDn2|ix5^#)2O;vL|zdYU_LvbFr) zH!sWEd=WnDS;kIy6Os>u|677zaOi-giUqEzTmaQg?|&l)523`ix6q8H6*6E_5ww=qf z*Y?*@KT?#|P8o{J<8w?WZn|Y|P||zD-_mkA+A~Y!rx*$L-Df#Fn|Kg~b(zA)^5jyZ&@H z-W$$)aW2HH8|L7o)rYR2Je_j!K{ZmH|#cRgXYk=NRuI(PS_4^pw?&5V?wQQlC?ihxVBlj{16^Ehl2+g>;ks8N##C9HL zvp@0JxQZ9^YZk1+x%|Cr;x^s?9Wp)W2GtD*GF`6A@OUl%m`%($XTCgBad8gqJ-UCm z+&FXEN`!Y2ZA!ly%Z_=4$Fet78k^pBS_Dv=`i>su+i0vWAa<>1WdIAX*SkAHN=&TL z>%14`I)2vnuwf4rvQEZ0XV-lCxHJ3^+I+mv1}M%J+)fifmU5?l?w2r~uJ)G?iBBR0 z1+A0$o-1>EOk=pOmDT~>u*IhrTWRs15U#tZ&temO-k4XnJ?^4EG+etH8D-6SF!v5m z9>)HNeiO-e>}Lasq87ZrW*Klc%mRS|cPU|S!^0z&PF=x1!d}g2kzw^Z=yBlI8$05( z=>H*P8F0n9e(L@tcqa=>54B!fb4zg(7khRMd1QB2`KL>dH+DJMRo0pYkA1Q7J&``p zEP(Ldw>Y+N`fb)KV#%rQ^W}M8K8<{D+e3%o+wxR?-w!^Q>30dumn-6@6Kj#Z@;GHq zPL47k?uO-369n%CA2sxR4%AN{y3><@MCBrdm9sA!o&Pn<7Aj}(=&B_wzv1W;-pIWzM2nPM-OHGjv5vZfws4?c>1i~B1#8^Z05P; zZN9x5pIotVfWajC8r7-<;{YYo$&2Jl+akk5jeWOD|vpV4+9TG2dU_Jzavy!(Q|4hC_{bnbhlzJ|ZgFjl;C0)hjGos94go2tCNAWN-y^aadQ%>buo2Qt z8m;bo@r_u(O^E4z%jwJx+o}2E%45vV48hLc9;ZuE+v7^)I`7iWx8}#u?n>R2tJRHS z$I}6VXHdbL8EMp+4M&3|J#LV1I_yU2Z29Aj;Db`@Ma>otM86pU;#9X848&L3M=dN^ zySa~bzUM5!(l})cpYk<*&`3hQ6VeyKAr?L1w40?ARP$@oQfx5s9$vb+nFi2dD4EZ> z@%7-`Q6B~RB8&dxZk5M=dh(t~+(JB1iTlX(=fL`Bw>~O?_rMX~SstOjk0S0W2jrj} zgX?KF^WlE7$6nvK(x2?_2VC?t51eGBCZW^;yYbI`eBx%umK6 zpX1DmS;ooM`wKj@<+@sD321`ssq5phi2KIH^a8!}jy(8fd7GfQr=rgF3>By6^S3yN*a-8%A2HmaqSC0hpv~mL4{zbH!RVC1hH* zdJL~Gw2x@fLiui%pJ`cceyWh5V9Otw22KFazL_X9V4U_FH-4_eS;Q5|>pUJDYPk~Y> z(L8G#>v_P5&1uxRotoB*+Nxm*E?J{%5BAtwuzY~uCmQ4ES+9}IZdo(ZikLoNDsbg1 zGbR`gOdgJZF&V@lpYfDFRX zS{LT{%mT&ZVdR4X4YJ@nH9TGp88Zb_Gb(!vJOiZdRiyaO3E#8+d{?Ss^qu?T*Gp4- z`{RT+u%g*t6okFLNcNEs5uHIQe`#dlhx7xYl%Os_Bw&dRUcW>9%1# z1LtAuwhKkm7)4m^WsO_;`LeHQq?!BzP;}#)= z=5jEQ`(3h7xeYH{8z7b7;o|n47??}FamymC=;A?c6oUn11b-p3y?f8rVgZu`di)|*Y z5vF#xVN^s;$7B>hV}Hhwi@z*x+2w4Dj);&`_Q4u;rX@u3{bGNv_EYTb#AA9~5@q7#TI5|oAZ|Jcq|iG!7=MAf+U9;HTUc_J_5Eem%&_2P zGrLtak)kb3ow3O0yQ>r9n4~C+*LP1S9q+{WW7l-68E%7=;_INAT-7r|doLA?*(USy zILiqEoyayZCJhYK4Z)jU`GJ#n4sMV4m(G|`jHb7j)+&NZK+$3&wQlL%JsLWCto-|Q z*n?Kjqxkc4wAj#5g{9X=zE}SK_qjt0f+H;G{8v#X=H`+GTGovojT@=1i|?=^-&+e0 zT$|TaVi5h~AAwi>sR&f>!lXEsx~9Po+u4!H+gus0TK9WZH($T?@Zt`@HFr$E3>~8@ z4e>o$?bOcjYN5UpxcD7=>aR8hbgMNWKw-~@`Od1(i!SfjN}JLfZCid2dlhh_LZE?L zX|b;Yuj-b7uXR|G`fR^3t|K5Ji0`g08o7Rsw;sc6tE!?x8}yPiM*m?~y$;5+l==5X z4@G2>fG>2$ysHdBNL-W*{4%Lqbh!mxAc{^Gd9RnncZO0lo!3_`O>tX)fBv{#5DGCq z9Tg`lL@3c)H8L_)`NWTIk(=XI%5h!>Mc4D-_+R|!hsu==BwYmYHm%|1{@$PZwA?j{ zVN9)FcxY%9v3o?Q>Qz-$Z5(Hcj4h64`kb(h<*DIo$l%t>Hj=?y%GMN5aI(*zZiN%E ztyhSX#@Df*zG&l~JsTFx@3!J3z06PdQqs3mS-Rt9``{*bhIh;pBU5K}y4`ftLX)c1 z%ErK8z1VSxZ>awgB5$4gC{F6G!SGzQ4*|hfXZ&5wFxc!2=!@vdMi*?}ZXilY9=I@w zanz!r1<0so`V-selPEF(Nj9r^dG?OO`10T2j*Je#Eu)Xq_)5$DNv2tm4$xDyZrj|h zO`qi=0nM6~-nZ-V>iRfB`$|ljEsMi^_tii7+{eK0aKV*?8MjH){;j#aS%XYWn;ZFQ z9%GF4&bt$I?yD!=TbTsDo-5Z|8)sGK;U5tNuF%<8BP^hm;IjKJWxqfSDDYu7OO-nx zHiG&hDuH)1Tsh8APBWW0bb&hs(y`!%_nP*6t_{pX@dXc_I=&ImwxS{>xt~}2xWlb9 z-Ra%`x(zsOSU69ZuyPVV5?1m;Z07@B-X{vbRC?sB59j0Z zy;qR>Sv|SrK1PYDfKE5$zHl!x5_Yqy3`F95BmrH;$w0V5xiHi%Yi!^zh z+0V&%i}7*Jo~ilL-HitghP)gJXW5#Hd`2}VQmQwKau|}?&KJ&vZ{!o0QtI%@uF_gO zsl=F=kF)Z3+NFaVJE|75V8VV6cV;v+75BT1YfpYtR#!LYgK~3opRP)?EFkXRLJ!A9 z$BAW=T8tREgC@GL3K!koAZMqJrgOEz4H>PTC1sx5LO)%fY8(= z>V$2XXZp>uZ?+3rGcEy!C8kr5cxyqF@tSt1?!PCdO$M-05Wj-Pm?1A9(N`!!VsP~I z)!@}ivAv?UhZ`c)gZI*6Nh|J4%3Ab9*yoCACppwVIB10^eq4aG6dmg}e;~vIvpvxq zvHMp4zE3?z@)t=+iA8Wd#V9u589inmSVO|YRi)*!ZD#8ofUkC5CALzMdEZrVzs$P2 zw9cAe244#}a~OR6CRoqUD%E^f%g+dZESeeI&ellA z-ns9LnNn*bg73TjlUS>%!#9l}=Kw0*H8hd}LwEXH zct7{^KF9HW9P=MDd#|)FL7rvt8GQKzpu4_zRq5n10 z`LHXH51MvRGT6B7H_KdC%lAJv{8HrxSV1&dLc;>TI76$r_;*}jm(~V=-6_!`4KfJg zFqHWJ{0ijuyh%urn4VtlF8}j`U7J8LO>%}eE_)BSI^Ozp3?H787s`h#a%=c*ekmRb z>?9S#A!BOkbp5e^XnWYf!l(<07b64{2$7owGaefSDkyf+56qh>s#9~ zp0r+4)P+UaC3R{F$8qwWir)^Mp=@>oTm{}QOry+KR^?yXhkd?9)bCJZ-=QKu$~@2d z^QXCHyqkl=+u>n9^5;)KU>#>XfEo$>cN(NpH?i%>15r~nZ)bBU2JeJmhVi$621e(vlu;McC6*Ac2H z_l0zp4iPTxP8ufr{)N;`U$sXu)fG+0%gGm`7#+t>%tX?@6I%|=Z!?d4kYGihSfL*O zcPNtB2CooBh&1C$!`$3bDz@-Zyq!7lNfwf(s&lHct)1)X>TkXBPz}gOp`^&f$FT_|Q^S6(y_6X8G})9L3dDuF%in zQR6>l*4MYc7|fQIR=gN@kee_o9kco)JsA_5MIK~?xs|A20niUBHXLP1RxJ`d+bZ^&bmO77d*q zk6U72u*s`8C@P<6VV+OApOM|AWoQq;93Ix?ohUPopQZkayUWVNZ2etK>D;qE$7G0?^ODcosr)D zGL?-G&(JA77UmbfygWRnkOmK(Df$g9aGCkoU)MBb51mn0)%MQdprXl_2o|W+jSUMB z;%vBgkeh|1C93g}zf9y`*BE7*ndRhsos-%vr=b_qNk{u$RFa#!SXjPB&oDlpMDq}Z z21S0cbbgFYNcO+4rN1Hi6Zy8bc4f4w^Y=RBWf&s2R(6v+zW?Ner$@PLYFKC-Ynyqm z+u6o?%We;MdN!43p{86V^~QE+X=uz!e_$Lh&U$96pnHDPdrfUqWNrmP*nMJi_cF~4 zy_DK2H}*31x0{MG;}Yzv_f9^a z5_HlEpYd!t6S3pJ2%jmrViOL9Pu86g>~4nT zp_DHP=S0J8i@7WP+}i1m@@sj?kxc|GDqv-6vj!8+ScWFdoVkex?HN&VXsD4*?*PSw z|Li1GHjFW5>BKfV8fP4R3kxa|Hp+4GqZAQN#awu*JD#N#7nJuu_d#s1XZZDyVmpCu zukR@?RUpP>!LQ-GXg)L#3rVKlTv&|jzmEa4y)^MAbDT|W$AZf?$} z{C?id8`!7K;LxLk7#R(+!Gcy_S;qYb)TV9hS6+TQaj1Ts)A}aHpJfyh6yzn6&)P_xk*WFH#B0jqM^#m%W+Ius^Zwm z^bD=b>)9rb);D{!i(B{1DzT!I`pg|oU$7kFetOP5uCA_b?(7^x@y>t>>+NO?IFa(q z7iIoFo(N9hz}9AqF1*0@M@PEG#wERWuvac=J3OUv!050#n`^o-*WGLt78L3hEFo&q zZQm2Nc>DMZEgfCiT0ta%;cd!=X1LfnG9FOb4uBw6f9?v~eUhuU z5PO$G3fQ0WCTisdO^!d5h~M2JYEo3PtNa`h))PP?W(RA^YU(RSeOyXhvZWgY`khBd z@5JT}(vkVFZv>>sRIQKGe@hRdMZll>=CN<}iH)=vVU+zURp(X4AZ^ajHni^DbxN^* zI>*`B8Noz3Sp|z!sX;T-riMmNUY@>3y=S)b0IlDZ1r#cy;&ond2qa#l(NT{*Us6+V zSiJP8FP>NeTG(=ytClwqyHf4D4}*fFJsNu)cLy0TQCW

d*yP`7k8&-Trrcd?J$Q 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%0ATwu$Rg-qkdHt74lk^Ii-k}wuNRJc8AE0x_S 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", { + class: "fa-solid fa-bolt" + }); + let $triggerTitle = $("

", { class:"section-title" } - ).text("Trigger:") + ).append($triggersIcon).append(" Trigger:") // Trigger Section with dropdowns let $triggerSection = $("
", @@ -189,32 +193,43 @@ function generateWorkflowUI(wf, wfIndex) { `wf-${wfIndex}-trigger-event-type` ); + let $triggerIcon = $("", { + class: "fa-solid fa-bolt bckg-icon-2-line" + }); + $triggerSection.append($triggerTypeDropdown); $triggerSection.append($eventTypeDropdown); + $triggerSection.append($triggerIcon); $wfCollapsiblePanel.append($triggerSection); // Conditions - let $conditionsTitle = $("
", - { - class:"section-title" - } - ).text("Conditions:") - let $conditionsContainer = $("
", - { - class: "col-sm-12 col-sx-12" - } - ).append($conditionsTitle); + let $conditionsIcon = $("", { + class: "fa-solid fa-arrows-split-up-and-left fa-rotate-270" + }); + + let $conditionsTitle = $("
", { + class: "section-title" + }).append($conditionsIcon).append(" Conditions:"); + + let $conditionsContainer = $("
", { + class: "col-sm-12 col-sx-12" + }).append($conditionsTitle); + $conditionsContainer.append(renderConditions(wfIndex, `[${wfIndex}]`, 0, wf.conditions)); $wfCollapsiblePanel.append($conditionsContainer); + let $actionsIcon = $("", { + class: "fa-solid fa-person-running fa-flip-horizontal" + }); + let $actionsTitle = $("
", { class:"section-title" } - ).text("Actions:") + ).append($actionsIcon).append(" Actions:") // Actions with action.field as dropdown let $actionsContainer = $("
", @@ -233,6 +248,7 @@ function generateWorkflowUI(wf, wfIndex) { class: "panel col-sm-12 col-sx-12" }); + // Dropdown for action.type let $actionDropdown= createEditableDropdown( `[${wfIndex}].actions[${actionIndex}].type`, @@ -242,10 +258,16 @@ function generateWorkflowUI(wf, wfIndex) { `wf-${wfIndex}-actionIndex-${actionIndex}-type` ); + $actionEl.append($actionDropdown); + // how big should the background icon be + let numberOfLines = 1 + if(action.type == "update_field") { + numberOfLines = 3 + // Dropdown for action.field let $fieldDropdown = createEditableDropdown( `[${wfIndex}].actions[${actionIndex}].field`, @@ -279,7 +301,7 @@ function generateWorkflowUI(wf, wfIndex) { }); let $actionRemoveButton = $("
", { - class: "pointer remove-action ", + class: "pointer remove-action red-hover-text", actionIndex: actionIndex, wfIndex: wfIndex }) @@ -287,7 +309,12 @@ function generateWorkflowUI(wf, wfIndex) { $actionRemoveButtonWrap.append($actionRemoveButton); + let $actionIcon = $("", { + class: `fa-solid fa-person-running fa-flip-horizontal bckg-icon-${numberOfLines}-line ` + }); + $actionElWrap.append($actionEl) + $actionElWrap.append($actionIcon) $actionElWrap.append($actionRemoveButtonWrap) $actionsContainer.append($actionElWrap); @@ -301,7 +328,7 @@ function generateWorkflowUI(wf, wfIndex) { class: "fa-solid fa-plus" }); let $actionAddButton = $("
", { - class : "pointer add-action", + class : "pointer add-action green-hover-text", lastActionIndex : lastActionIndex, wfIndex: wfIndex }).append($actionAddIcon).append("Add Action") @@ -317,7 +344,7 @@ function generateWorkflowUI(wf, wfIndex) { }); let $wfRemoveButton = $("
", { - class: "pointer remove-wf", + class: "pointer remove-wf red-hover-text", wfIndex: wfIndex }) .append($wfRemoveIcon) // Add icon @@ -381,6 +408,10 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit } else { // INDIVIDUAL CONDITIONS + let $conditionIcon = $("", { + class: "fa-solid fa-arrows-split-up-and-left fa-rotate-270 bckg-icon-3-line " + }); + let $conditionItem = $("
", { class: "panel col-sm-12 col-sx-12", @@ -388,6 +419,8 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit wfIndex: wfIndex }); + $conditionItem.append($conditionIcon); // Append background icon + let $conditionItemsWrap = $("
", { class: "conditionItemsWrap col-sm-11 col-sx-12" @@ -419,6 +452,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit "condition-value-input" ); + $conditionItemsWrap.append($fieldDropdown); // Append field dropdown $conditionItemsWrap.append($operatorDropdown); // Append operator dropdown $conditionItemsWrap.append($editableInput); // Append editable input for condition value @@ -428,7 +462,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit class: "fa-solid fa-trash" }); let $conditionRemoveButton = $("
", { - class : "pointer remove-condition ", + class : "pointer remove-condition red-hover-text", conditionIndex : conditionIndex, wfIndex: wfIndex, parentIndexPath: parentIndexPath @@ -455,7 +489,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit class: "fa-solid fa-plus" }); let $conditionAddButton = $("
", { - class: "pointer add-condition col-sx-12", + class: "pointer add-condition green-hover-text col-sx-12", wfIndex: wfIndex, parentIndexPath: parentIndexPath }).append($conditionAddIcon).append("Add Condition"); @@ -467,7 +501,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit class: "fa-solid fa-trash" }); let $conditionGroupRemoveButton = $("
", { - class: "pointer remove-condition-group col-sx-12", + class: "pointer remove-condition-group red-hover-text col-sx-12", lastConditionIndex: lastConditionIndex, wfIndex: wfIndex, parentIndexPath: parentIndexPath @@ -485,7 +519,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit class: "fa-solid fa-plus" }); let $conditionsGroupAddButton = $("
", { - class: "pointer add-condition-group col-sx-12", + class: "pointer add-condition-group green-hover-text col-sx-12", wfIndex: wfIndex, parentIndexPath: parentIndexPath }).append($conditionsGroupAddIcon).append("Add Group"); diff --git a/mkdocs.yml b/mkdocs.yml index 4baa145a..d877579d 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -41,6 +41,7 @@ nav: - Reverse DNS: REVERSE_DNS.md - Reverse Proxy: REVERSE_PROXY.md - Webhooks (n8n): WEBHOOK_N8N.md + - Workflows: WORKFLOWS.md - Help: - Common issues: COMMON_ISSUES.md - Random MAC: RANDOM_MAC.md diff --git a/test/workflows.json b/test/workflows.json index 08914fc4..cfa49cab 100755 --- a/test/workflows.json +++ b/test/workflows.json @@ -44,11 +44,7 @@ "value": "0" }, { - "type": "run_plugin", - "plugin": "SMTP", - "params": { - "message": "New device from Google detected." - } + "type": "delete_device" } ] } From 5d01af1758c604247506de76da9bfa6d62748cfc Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sat, 29 Mar 2025 17:21:29 +1100 Subject: [PATCH 003/667] wf work --- docs/DATABASE.md | 69 ++++++++++++++++++++--------------------- front/workflowsCore.php | 8 ++--- 2 files changed, 38 insertions(+), 39 deletions(-) diff --git a/docs/DATABASE.md b/docs/DATABASE.md index 08860990..e55f4303 100755 --- a/docs/DATABASE.md +++ b/docs/DATABASE.md @@ -1,44 +1,43 @@ # A high-level description of the database structure - ⚠ Disclaimer: As I'm not the original author, some of the information might be inaccurate. Feel free to submit a PR to correct anything within this page or documentation in general. - - The MAC address is used as a foreign key in most cases. + An overview of the most important database tables as well as an detailed overview of the Devices table. The MAC address is used as a foreign key in most cases. ## Devices database table -| Field Name | Description | -|-------------------------|-------------| -| `devMac` | MAC address of the device. | -| `devName` | Name of the device. | -| `devOwner` | Owner of the device. | -| `devType` | Type of the device (e.g., phone, laptop, etc.). If set to a network type (e.g.: switch), it will become selectable as a Network Parent Node | -| `devVendor` | Vendor/manufacturer of the device. | -| `devFavorite` | Whether the device is marked as a favorite. | -| `devGroup` | Group the device belongs to. | -| `devComments` | User comments or notes about the device. | -| `devFirstConnection` | Timestamp of the device's first connection. | -| `devLastConnection` | Timestamp of the device's last connection. | -| `devLastIP` | Last known IP address of the device. | -| `devStaticIP` | Whether the device has a static IP address. | -| `devScan` | Whether the device should be scanned. | -| `devLogEvents` | Whether events related to the device should be logged. | -| `devAlertEvents` | Whether alerts should be generated for events. | -| `devAlertDown` | Whether an alert should be sent when the device goes down. | -| `devSkipRepeated` | Whether to skip repeated alerts for this device. | -| `devLastNotification` | Timestamp of the last notification sent for this device. | -| `devPresentLastScan` | Whether the device was present during the last scan. | -| `devIsNew` | Whether the device is marked as new. | -| `devLocation` | Physical or logical location of the device. | -| `devIsArchived` | Whether the device is archived. | -| `devParentMAC` | MAC address of the parent device (if applicable). | -| `devParentPort` | Port of the parent device to which this device is connected. | -| `devIcon` | Icon representing the device. | -| `devGUID` | Unique identifier for the device. | -| `devSite` | Site or location where the device is registered. | -| `devSSID` | SSID of the Wi-Fi network the device is connected to. | -| `devSyncHubNode` | The NetAlertX node ID used for synchronization between NetAlertX instances. | -| `devSourcePlugin` | Source plugin that discovered the device. | +| Field Name | Description | Sample Value | +|-------------------------|-------------|--------------| +| `devMac` | MAC address of the device. | `00:1A:2B:3C:4D:5E` | +| `devName` | Name of the device. | `iPhone 12` | +| `devOwner` | Owner of the device. | `John Doe` | +| `devType` | Type of the device (e.g., phone, laptop, etc.). If set to a network type (e.g., switch), it will become selectable as a Network Parent Node. | `Laptop` | +| `devVendor` | Vendor/manufacturer of the device. | `Apple` | +| `devFavorite` | Whether the device is marked as a favorite. | `1` | +| `devGroup` | Group the device belongs to. | `Home Devices` | +| `devComments` | User comments or notes about the device. | `Used for work purposes` | +| `devFirstConnection` | Timestamp of the device's first connection. | `2025-03-22 12:07:26+11:00` | +| `devLastConnection` | Timestamp of the device's last connection. | `2025-03-22 12:07:26+11:00` | +| `devLastIP` | Last known IP address of the device. | `192.168.1.5` | +| `devStaticIP` | Whether the device has a static IP address. | `0` | +| `devScan` | Whether the device should be scanned. | `1` | +| `devLogEvents` | Whether events related to the device should be logged. | `0` | +| `devAlertEvents` | Whether alerts should be generated for events. | `1` | +| `devAlertDown` | Whether an alert should be sent when the device goes down. | `0` | +| `devSkipRepeated` | Whether to skip repeated alerts for this device. | `1` | +| `devLastNotification` | Timestamp of the last notification sent for this device. | `2025-03-22 12:07:26+11:00` | +| `devPresentLastScan` | Whether the device was present during the last scan. | `1` | +| `devIsNew` | Whether the device is marked as new. | `0` | +| `devLocation` | Physical or logical location of the device. | `Living Room` | +| `devIsArchived` | Whether the device is archived. | `0` | +| `devParentMAC` | MAC address of the parent device (if applicable) to build the [Network Tree](./NETWORK_TREE.md). | `00:1A:2B:3C:4D:5F` | +| `devParentPort` | Port of the parent device to which this device is connected. | `Port 3` | +| `devIcon` | [Icon](./ICONS.md) representing the device. The value is a base64-encoded SVG or Font Awesome HTML tag. | `PHN2ZyB...` | +| `devGUID` | Unique identifier for the device. | `a2f4b5d6-7a8c-9d10-11e1-f12345678901` | +| `devSite` | Site or location where the device is registered. | `Office` | +| `devSSID` | SSID of the Wi-Fi network the device is connected to. | `HomeNetwork` | +| `devSyncHubNode` | The NetAlertX node ID used for synchronization between NetAlertX instances. | `node_1` | +| `devSourcePlugin` | Source plugin that discovered the device. | `ARPSCAN` | +| `devCustomProps` | [Custom properties](./CUSTOM_PROPERTIES.md) related to the device. The value is a base64-encoded JSON object. | `PHN2ZyB...` | To understand how values of these fields influuence application behavior, such as Notifications or Network topology, see also: diff --git a/front/workflowsCore.php b/front/workflowsCore.php index 561bd6b6..c27c652d 100755 --- a/front/workflowsCore.php +++ b/front/workflowsCore.php @@ -331,7 +331,7 @@ function generateWorkflowUI(wf, wfIndex) { class : "pointer add-action green-hover-text", lastActionIndex : lastActionIndex, wfIndex: wfIndex - }).append($actionAddIcon).append("Add Action") + }).append($actionAddIcon).append(" Add Action") $actionAddButtonWrap.append($actionAddButton) $actionsContainer.append($actionAddButtonWrap) @@ -348,7 +348,7 @@ function generateWorkflowUI(wf, wfIndex) { wfIndex: wfIndex }) .append($wfRemoveIcon) // Add icon - .append("Remove Workflow"); // Add text + .append(" Remove Workflow"); // Add text $wfCollapsiblePanel.append($actionsContainer); @@ -492,7 +492,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit class: "pointer add-condition green-hover-text col-sx-12", wfIndex: wfIndex, parentIndexPath: parentIndexPath - }).append($conditionAddIcon).append("Add Condition"); + }).append($conditionAddIcon).append(" Add Condition"); $conditionAddWrap.append($conditionAddButton); // Remove Condition Group button @@ -522,7 +522,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit class: "pointer add-condition-group green-hover-text col-sx-12", wfIndex: wfIndex, parentIndexPath: parentIndexPath - }).append($conditionsGroupAddIcon).append("Add Group"); + }).append($conditionsGroupAddIcon).append(" Add Group"); $conditionsGroupAddWrap.append($conditionsGroupAddButton); $addButtonWrap.append($conditionsGroupAddWrap); From 20342ed0b5bf59b0eff0211031ed7ee8eb06f754 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 29 Mar 2025 02:48:22 +0100 Subject: [PATCH 004/667] Translated using Weblate (German) Currently translated at 89.7% (645 of 719 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/de/ --- front/php/templates/language/de_de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/de_de.json diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json old mode 100755 new mode 100644 index cf9dc9d3..801769bb --- a/front/php/templates/language/de_de.json +++ b/front/php/templates/language/de_de.json @@ -799,4 +799,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "Speichere die Änderungen, bevor Sie die Einstellungen testen." -} \ No newline at end of file +} From 371e996a25b210302817ba25a6d05bb217834a80 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 29 Mar 2025 02:48:25 +0100 Subject: [PATCH 005/667] Translated using Weblate (Spanish) Currently translated at 95.8% (689 of 719 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/es/ --- front/php/templates/language/es_es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/es_es.json diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json old mode 100755 new mode 100644 index 21468971..a0bf457c --- a/front/php/templates/language/es_es.json +++ b/front/php/templates/language/es_es.json @@ -797,4 +797,4 @@ "settings_update_item_warning": "Actualice el valor a continuación. Tenga cuidado de seguir el formato anterior. O la validación no se realiza.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Guarda tus cambios antes de probar nuevos ajustes." -} \ No newline at end of file +} From e5f769846171e337760a3d5c01f07ce0edc8247b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 29 Mar 2025 02:48:27 +0100 Subject: [PATCH 006/667] Translated using Weblate (French) Currently translated at 99.5% (716 of 719 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/fr/ --- front/php/templates/language/fr_fr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/fr_fr.json diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100755 new mode 100644 index 1cb37acd..91fc16e4 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -718,4 +718,4 @@ "settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. Il n'y a pas de pas de contrôle.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage." -} \ No newline at end of file +} From f25d6c18e5227d1930bee991332004dde7aa0f7d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 29 Mar 2025 02:48:32 +0100 Subject: [PATCH 007/667] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 86.5% (622 of 719 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/nb_NO/ --- front/php/templates/language/nb_no.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/nb_no.json diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json old mode 100755 new mode 100644 index 7f1c4e43..f1feca40 --- a/front/php/templates/language/nb_no.json +++ b/front/php/templates/language/nb_no.json @@ -718,4 +718,4 @@ "settings_update_item_warning": "Oppdater verdien nedenfor. Pass på å følge forrige format. Validering etterpå utføres ikke.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Lagre endringene først, før du tester innstillingene dine." -} \ No newline at end of file +} From 67db3c15820de14d5baebd9c5bcbf1453f6f6cb6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 29 Mar 2025 02:48:42 +0100 Subject: [PATCH 008/667] Translated using Weblate (Russian) Currently translated at 99.5% (716 of 719 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ru/ --- front/php/templates/language/ru_ru.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/ru_ru.json diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json old mode 100755 new mode 100644 index 868a26a2..6581fcfc --- a/front/php/templates/language/ru_ru.json +++ b/front/php/templates/language/ru_ru.json @@ -718,4 +718,4 @@ "settings_update_item_warning": "Обновить значение ниже. Будьте осторожны, следуя предыдущему формату. Проверка не выполняется.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Сначала сохраните изменения, прежде чем проверять настройки." -} \ No newline at end of file +} From b671abd93fbe2c0a9c296bc096e5c11b5b5123c6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 29 Mar 2025 02:48:30 +0100 Subject: [PATCH 009/667] Translated using Weblate (Italian) Currently translated at 99.5% (716 of 719 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/it/ --- front/php/templates/language/it_it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/it_it.json diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json old mode 100755 new mode 100644 index 49a1d645..ad693fcc --- a/front/php/templates/language/it_it.json +++ b/front/php/templates/language/it_it.json @@ -718,4 +718,4 @@ "settings_update_item_warning": "Aggiorna il valore qui sotto. Fai attenzione a seguire il formato precedente. La convalida non viene eseguita.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Salva le modifiche prima di provare le nuove impostazioni." -} \ No newline at end of file +} From a4ecd7f5712ce84ffcc6facb8199c34265c29437 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 29 Mar 2025 02:48:40 +0100 Subject: [PATCH 010/667] Translated using Weblate (Portuguese (Brazil)) Currently translated at 61.7% (444 of 719 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/pt_BR/ --- front/php/templates/language/pt_br.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/pt_br.json diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json old mode 100755 new mode 100644 From 011067580611c4c4933273756670cee3ba7436b0 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 29 Mar 2025 02:48:35 +0100 Subject: [PATCH 011/667] Translated using Weblate (Polish) Currently translated at 86.9% (625 of 719 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/pl/ --- front/php/templates/language/pl_pl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/pl_pl.json diff --git a/front/php/templates/language/pl_pl.json b/front/php/templates/language/pl_pl.json old mode 100755 new mode 100644 index bad7b4be..b4e13c25 --- a/front/php/templates/language/pl_pl.json +++ b/front/php/templates/language/pl_pl.json @@ -718,4 +718,4 @@ "settings_update_item_warning": "Zaktualizuj poniższą wartość. Zachowaj ostrożność i postępuj zgodnie z poprzednim formatem. Walidacja nie jest wykonywana.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Zapisz zmiany zanim będziesz testować swoje ustawienia." -} \ No newline at end of file +} From 7054c44976398f4dc2449b3e687dddc6150e2241 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 29 Mar 2025 02:48:50 +0100 Subject: [PATCH 012/667] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 86.7% (624 of 719 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/zh_Hans/ --- front/php/templates/language/zh_cn.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/zh_cn.json diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json old mode 100755 new mode 100644 index 491dbb39..be37c814 --- a/front/php/templates/language/zh_cn.json +++ b/front/php/templates/language/zh_cn.json @@ -718,4 +718,4 @@ "settings_update_item_warning": "更新下面的值。请注意遵循先前的格式。未执行验证。", "test_event_icon": "", "test_event_tooltip": "在测试设置之前,请先保存更改。" -} \ No newline at end of file +} From 3c31a85a6867f3fe3faace36eb559462a1184ab0 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 29 Mar 2025 02:48:17 +0100 Subject: [PATCH 013/667] Translated using Weblate (Catalan) Currently translated at 99.5% (716 of 719 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ca/ --- front/php/templates/language/ca_ca.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/ca_ca.json diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json old mode 100755 new mode 100644 index e6d539b2..261d64ca --- a/front/php/templates/language/ca_ca.json +++ b/front/php/templates/language/ca_ca.json @@ -718,4 +718,4 @@ "settings_update_item_warning": "Actualitza el valor sota. Sigues curós de seguir el format anterior. No hi ha validació.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Deseu els canvis primer abans de comprovar la configuració." -} \ No newline at end of file +} From e957453d3351213532d1b16bdfd446f24b8f1829 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Sat, 29 Mar 2025 07:57:55 +0100 Subject: [PATCH 014/667] Translated using Weblate (Ukrainian) Currently translated at 99.7% (717 of 719 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/uk/ --- front/php/templates/language/uk_ua.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) mode change 100755 => 100644 front/php/templates/language/uk_ua.json diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100755 new mode 100644 index f59a8ac2..238f6fa5 --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -8,7 +8,7 @@ "About_Design": "Призначений для:", "About_Exit": "Вийти", "About_Title": "Сканер безпеки мережі та структура сповіщень", - "AppEvents_AppEventProcessed": "", + "AppEvents_AppEventProcessed": "Обработано", "AppEvents_DateTimeCreated": "Зареєстровано", "AppEvents_Extra": "Екстра", "AppEvents_GUID": "GUID події програми", @@ -718,4 +718,4 @@ "settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. Перевірка не виконана.", "test_event_icon": "fa-vial-circle- check", "test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни." -} \ No newline at end of file +} From e35a3578dd78610ac5925562f9f7ee53ffd1652b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Sat, 29 Mar 2025 08:00:34 +0100 Subject: [PATCH 015/667] Translated using Weblate (Ukrainian) Currently translated at 100.0% (719 of 719 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/uk/ --- front/php/templates/language/uk_ua.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json index 238f6fa5..c6dde955 100644 --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -8,7 +8,7 @@ "About_Design": "Призначений для:", "About_Exit": "Вийти", "About_Title": "Сканер безпеки мережі та структура сповіщень", - "AppEvents_AppEventProcessed": "Обработано", + "AppEvents_AppEventProcessed": "Оброблено", "AppEvents_DateTimeCreated": "Зареєстровано", "AppEvents_Extra": "Екстра", "AppEvents_GUID": "GUID події програми", @@ -225,7 +225,7 @@ "Device_TableHead_Name": "Ім'я", "Device_TableHead_NetworkSite": "Мережевий сайт", "Device_TableHead_Owner": "Власник", - "Device_TableHead_Parent_MAC": "MAC батьківського вузла", + "Device_TableHead_Parent_MAC": "Узел родительской сети", "Device_TableHead_Port": "Порт", "Device_TableHead_PresentLastScan": "Присутність", "Device_TableHead_RowID": "ID рядка", @@ -465,7 +465,7 @@ "NETWORK_DEVICE_TYPES_description": "Які типи пристроїв дозволено використовувати як мережеві пристрої в поданні мережі. Тип пристрою має точно відповідати налаштуванню Тип на певному пристрої в Деталях пристрою. Додайте його на пристрій за допомогою кнопки +. Не видаляйте існуючі типи, лише додайте нові.", "NETWORK_DEVICE_TYPES_name": "Типи мережевих пристроїв", "Navigation_About": "про", - "Navigation_AppEvents": "", + "Navigation_AppEvents": "События приложения", "Navigation_Devices": "Пристрої", "Navigation_Donations": "Пожертви", "Navigation_Events": "Події", @@ -714,7 +714,7 @@ "settings_readonly": "Неможливо ЧИТАТИ або ЗАПИСАТИ app.conf. Спробуйте перезапустити контейнер і прочитайте документацію щодо дозволів на файли", "settings_saved": "
Налаштування збережено.
Перезавантаження...

", "settings_system_icon": "фа-твердий фа-передача", - "settings_system_label": "система", + "settings_system_label": "Система", "settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. Перевірка не виконана.", "test_event_icon": "fa-vial-circle- check", "test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни." From 3f74173245122dedc5572ff968a48249f0092d42 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 30 Mar 2025 10:25:03 +1100 Subject: [PATCH 016/667] wf work --- docs/BACKUPS.md | 11 ++-- docs/NOTIFICATIONS.md | 6 +- docs/WORKFLOWS.md | 2 +- front/css/app.css | 20 +++--- front/maintenance.php | 17 ++++- front/network.php | 2 +- front/php/templates/language/ar_ar.json | 26 ++++++-- front/php/templates/language/ca_ca.json | 26 ++++++-- front/php/templates/language/cs_cz.json | 26 ++++++-- front/php/templates/language/de_de.json | 26 ++++++-- front/php/templates/language/en_us.json | 28 +++++++-- front/php/templates/language/es_es.json | 26 ++++++-- front/php/templates/language/fr_fr.json | 26 ++++++-- front/php/templates/language/it_it.json | 26 ++++++-- front/php/templates/language/nb_no.json | 26 ++++++-- front/php/templates/language/pl_pl.json | 26 ++++++-- front/php/templates/language/pt_br.json | 29 +++++++-- front/php/templates/language/ru_ru.json | 26 ++++++-- front/php/templates/language/tr_tr.json | 26 ++++++-- front/php/templates/language/uk_ua.json | 26 ++++++-- front/php/templates/language/zh_cn.json | 26 ++++++-- .../plugins/notification_processing/README.md | 62 ++++++++++++++++--- front/workflows.php | 2 +- front/workflowsCore.php | 56 ++++++++++------- server/reporting.py | 4 ++ server/workflows/manager.py | 13 ++-- 26 files changed, 470 insertions(+), 120 deletions(-) diff --git a/docs/BACKUPS.md b/docs/BACKUPS.md index 1950f393..217eab1e 100755 --- a/docs/BACKUPS.md +++ b/docs/BACKUPS.md @@ -4,20 +4,21 @@ > To backup 99% of your configuration backup at least the `/app/config` folder. Please read the whole page (or at least "Scenario 2: Corrupted database") for details. > Note that database definitions might change over time. The safest way is to restore your older backups into the **same version** of the app they were taken from and then gradually upgarde between releases to the latest version. -There are 3 artifacts that can be used to backup the application: +There are 4 artifacts that can be used to backup the application: | File | Description | Limitations | |-----------------------|-------------------------------|-------------------------------| | `/db/app.db` | Database file(s) | The database file might be in an uncommitted state or corrupted | | `/config/app.conf` | Configuration file | Can be overridden with the [`APP_CONF_OVERRIDE` env variable](https://github.com/jokob-sk/NetAlertX/tree/main/dockerfiles#docker-environment-variables). | | `/config/devices.csv` | CSV file containing device information | Doesn't contain historical data | +| `/config/workflows.json` | A JSON file containing your workflows | N/A | ## Backup strategies -The safest approach to backups is to backup everything, by taking regular file system backups (I use [Kopia](https://github.com/kopia/kopia)). +The safest approach to backups is to backup everything, by taking regular file system backups of the `/db` and `/config` folders (I use [Kopia](https://github.com/kopia/kopia)). -Arguably, the most time is spent setting up the device list, so if only one file is kept I'd recommend to have a latest backup of the `devices_.csv` or `devices.csv` file, followed by the `app.conf` file. You can also download `app.conf` and `devices.csv` file in the Maintenance section: +Arguably, the most time is spent setting up the device list, so if only one file is kept I'd recommend to have a latest backup of the `devices_.csv` or `devices.csv` file, followed by the `app.conf` and `workflows.json` files. You can also download `app.conf` and `devices.csv` file in the Maintenance section: ![Backup and Restore Section in Maintenance](./img/BACKUPS/Maintenance_Backup_Restore.png) @@ -29,6 +30,7 @@ End-result: Full restore - `/app/db/app.db` (uncorrupted) - `/app/config/app.conf` +- `/app/config/workflows.json` #### 📥 Recovery: @@ -43,12 +45,13 @@ End-result: Partial restore (historical data and some plugin data will be missin - `/app/config/app.conf` - `/app/config/devices_.csv` or `/app/config/devices.csv` +- `/app/config/workflows.json` #### 📥 Recovery: Even with a corrupted database you can recover what I would argue is 99% of the configuration. -- upload the `app.conf` file into the mounted `/app/config/` folder as described in the [Setup documentation](https://github.com/jokob-sk/NetAlertX/blob/main/dockerfiles/README.md#docker-paths). +- upload the `app.conf` and `workflows.json` files into the mounted `/app/config/` folder as described in the [Setup documentation](https://github.com/jokob-sk/NetAlertX/blob/main/dockerfiles/README.md#docker-paths). - rename the `devices_.csv` to `devices.csv` and place it in the `/app/config` folder - Restore the `devices.csv` backup via the [Maintenance section](./DEVICES_BULK_EDITING.md) diff --git a/docs/NOTIFICATIONS.md b/docs/NOTIFICATIONS.md index 656a3ac7..60db3f04 100755 --- a/docs/NOTIFICATIONS.md +++ b/docs/NOTIFICATIONS.md @@ -17,8 +17,8 @@ There are 4 ways how to influence notifications: There are 4 settings on the device for influencing notifications. You can: -1. **Alert Events** - Enables alerts of connections, disconnections, IP changes. -2. **Alert Down** - Alerts when a device goes down. This setting overrides a disabled **Alert Events** setting, so you will get a notification of a device going down even if you don't have **Alert Events** ticked. +1. **Alert Events** - Enables alerts of connections, disconnections, IP changes (down and down reconnected notifications are still sent even if this is disabled). +2. **Alert Down** - Alerts when a device goes down. This setting overrides a disabled **Alert Events** setting, so you will get a notification of a device going down even if you don't have **Alert Events** ticked. Disabling this will disable down and down reconnected notifications on the device. 3. **Skip repeated notifications**, if for example you know there is a temporary issue and want to pause the same notification for this device for a given time. ## Plugin settings 🔌 @@ -38,7 +38,7 @@ Click the **Read more in the docs.** Link at the top of each plugin to get more In Notification Processing settings, you can specify blanket rules. These allow you to specify exceptions to the Plugin and Device settings and will override those. -1. Notify on (`NTFPRCS_INCLUDED_SECTIONS`) allows you to specify which events trigger notifications. Usual setups will have `new_devices`, `down_devices`, and possibly `down_reconnected` set. Including `plugin` (dependenton the Plugin `_WATCH` and `_REPORT_ON` settings) and `events` (dependent on the on-device **Alert Events** setting) might be too noisy for most setups. More info in the [NTFPRCS plugin](/front/plugins/notification_processing/README.md) +1. Notify on (`NTFPRCS_INCLUDED_SECTIONS`) allows you to specify which events trigger notifications. Usual setups will have `new_devices`, `down_devices`, and possibly `down_reconnected` set. Including `plugin` (dependenton the Plugin `_WATCH` and `_REPORT_ON` settings) and `events` (dependent on the on-device **Alert Events** setting) might be too noisy for most setups. More info in the [NTFPRCS plugin](/front/plugins/notification_processing/README.md) on what events these selections include. 2. Alert down after (`NTFPRCS_alert_down_time`) is useful if you want to wait for some time before the system sends out a down notification for a device. This is related to the on-device **Alert down** setting and only devices with this checked will trigger a down notification. 3. A filter to allow you to set device-specific exceptions to New devices being added to the app. 4. A filter to allow you to set device-specific exceptions to generated Events. diff --git a/docs/WORKFLOWS.md b/docs/WORKFLOWS.md index e68e7d58..2fecf72b 100755 --- a/docs/WORKFLOWS.md +++ b/docs/WORKFLOWS.md @@ -56,7 +56,7 @@ Below you can find a couple of configuration examples. ### Trigger: - **Object Type**: `Devices` -- **Event Type**: `insert` +- **Event Type**: `create` ### Conditions: - **Logic**: `AND` diff --git a/front/css/app.css b/front/css/app.css index b697f8d3..68057e05 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -1141,14 +1141,14 @@ input[readonly] { .settings-sticky-bottom-section { position: fixed; z-index: 999; - background-color: #5B5B66; + /* background-color: #5B5B66; */ /* opacity: 0.8; */ bottom: 30px; border-radius: 5px; /* margin:1px; */ - border-width: 1px; + /* border-width: 1px; border-style: solid; - border-color: inherit; + border-color: inherit; */ /* width: 87%; */ padding: 10px; } @@ -1530,13 +1530,13 @@ input[readonly] { justify-content:center; display: inline-grid; } -.networkHelpIcon +.helpIcon { - padding: 5px; - margin-left: 5px; - top: 55px; - position: absolute; - z-index:5; + padding: 5px; + margin-left: 0px; + top: 47px; + position: absolute; + z-index: 5; } #networkTree .netNodeText { @@ -1975,8 +1975,6 @@ input[readonly] { right: 0.1em; } - - .workflows .remove-condition { z-index: 1; diff --git a/front/maintenance.php b/front/maintenance.php index 30b21e72..34df64d5 100755 --- a/front/maintenance.php +++ b/front/maintenance.php @@ -209,7 +209,13 @@ $db->close();
-
+
+
+
+ +
+
+
@@ -429,6 +435,15 @@ function DownloadConfig() openInNewTab("php/server/query_config.php?file=app.conf&download=true") } +// ----------------------------------------------------------- +// Download Workflows + +function DownloadWorkflows() +{ + // Execute + openInNewTab("php/server/query_config.php?file=workflows.json&download=true") +} + // ----------------------------------------------------------- diff --git a/front/network.php b/front/network.php index 152af707..a563c675 100755 --- a/front/network.php +++ b/front/network.php @@ -22,7 +22,7 @@
- +
diff --git a/front/php/templates/language/ar_ar.json b/front/php/templates/language/ar_ar.json index ee232896..11fb93dc 100755 --- a/front/php/templates/language/ar_ar.json +++ b/front/php/templates/language/ar_ar.json @@ -244,10 +244,6 @@ "Device_Tablelenght_all": "", "Device_Title": "", "Devices_Filters": "", - "Donations_Others": "", - "Donations_Platforms": "", - "Donations_Text": "", - "Donations_Title": "", "ENABLE_PLUGINS_description": "", "ENABLE_PLUGINS_name": "", "ENCRYPTION_KEY_description": "", @@ -367,6 +363,8 @@ "Maintenance_Title": "", "Maintenance_Tool_DownloadConfig": "", "Maintenance_Tool_DownloadConfig_text": "", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "", "Maintenance_Tool_ExportCSV_noti": "", "Maintenance_Tool_ExportCSV_noti_text": "", @@ -672,6 +670,26 @@ "UI_REFRESH_name": "", "VERSION_description": "", "VERSION_name": "", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "add_icon_event_icon": "", "add_icon_event_tooltip": "", "add_option_event_icon": "", diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json index e6d539b2..41d95def 100755 --- a/front/php/templates/language/ca_ca.json +++ b/front/php/templates/language/ca_ca.json @@ -244,10 +244,6 @@ "Device_Tablelenght_all": "Tot", "Device_Title": "Dispositius", "Devices_Filters": "Filtres", - "Donations_Others": "Altres", - "Donations_Platforms": "Plataformes patrocinadores", - "Donations_Text": "Hola 👋!
Gràcies per fer clic en aquest element de menú 😅

Estic intentant recollir algunes donacions per fer un millor programari. També, m'ajudaria per cremar-me, i així recolzar aquesta aplicació més temps. Qualsevol petit (recurrent o no) patrocini em farà posar més esforç a aquesta aplicació.
M'agradaria escurçar la meva setmana de feina i en el temps restant enfocar-me en el NetAlertX. Així rebries més funcionalitat, una aplicació més neta i menys bugs.

Gràcies per llegir-ho - Agraeixo qualsevol suport ❤🙏

TL;DR: Pel teu suport reps:

  • Actualitzacions regulars per seguir les vostres dades i mantenir la família segura 🔄
  • Menys bugs 🐛🔫
  • Millor i més funcionalitat➕
  • Que no m'arribi el \"burn out\" 🔥🤯
  • Menys actualitzacions d'emergència 💨
  • Millors documentacions📚
  • Suport més ràpid i millor amb les incidències 🆘

📧Correu electrònic jokob@duck.com si vols contactar o si hauria d'afegir altres programes de patrocini.
", - "Donations_Title": "Donacions", "ENABLE_PLUGINS_description": "Habilita la connectors funcionalitat. Carregar els connectors requereix més recursos de maquinari així podries voler desactivar-los en un sistema de baixos recursos.", "ENABLE_PLUGINS_name": "Activa els connectors(Plugins)", "ENCRYPTION_KEY_description": "Clau de xifrat de dades.", @@ -367,6 +363,8 @@ "Maintenance_Title": "Eines de manteniment", "Maintenance_Tool_DownloadConfig": "Exportació de paràmetres", "Maintenance_Tool_DownloadConfig_text": "Descarregueu una còpia de seguretat completa de la vostra configuració de configuració emmagatzemada al fitxer app.conf.", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "CSV Exportació de dispositius", "Maintenance_Tool_ExportCSV_noti": "CSV Exportació", "Maintenance_Tool_ExportCSV_noti_text": "Estàs segur que vols generar un fitxer CSV?", @@ -672,6 +670,26 @@ "UI_REFRESH_name": "Auto-refresc UI", "VERSION_description": "Versió o valor timestamp per comprovar si l'aplicació va ser actualitzada.", "VERSION_name": "Versió o timestamp", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "add_icon_event_icon": "fa-square-plus", "add_icon_event_tooltip": "Afegir nova icona", "add_option_event_icon": "fa-square-plus", diff --git a/front/php/templates/language/cs_cz.json b/front/php/templates/language/cs_cz.json index ee232896..11fb93dc 100755 --- a/front/php/templates/language/cs_cz.json +++ b/front/php/templates/language/cs_cz.json @@ -244,10 +244,6 @@ "Device_Tablelenght_all": "", "Device_Title": "", "Devices_Filters": "", - "Donations_Others": "", - "Donations_Platforms": "", - "Donations_Text": "", - "Donations_Title": "", "ENABLE_PLUGINS_description": "", "ENABLE_PLUGINS_name": "", "ENCRYPTION_KEY_description": "", @@ -367,6 +363,8 @@ "Maintenance_Title": "", "Maintenance_Tool_DownloadConfig": "", "Maintenance_Tool_DownloadConfig_text": "", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "", "Maintenance_Tool_ExportCSV_noti": "", "Maintenance_Tool_ExportCSV_noti_text": "", @@ -672,6 +670,26 @@ "UI_REFRESH_name": "", "VERSION_description": "", "VERSION_name": "", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "add_icon_event_icon": "", "add_icon_event_tooltip": "", "add_option_event_icon": "", diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json index cf9dc9d3..629a80a7 100755 --- a/front/php/templates/language/de_de.json +++ b/front/php/templates/language/de_de.json @@ -256,10 +256,6 @@ "Device_Tablelenght_all": "Alle", "Device_Title": "Geräte", "Devices_Filters": "Filter", - "Donations_Others": "Andere", - "Donations_Platforms": "Sponsor-Platformen", - "Donations_Text": "Hey 👋!
Thanks for clicking on this menu item 😅

I'm trying to collect some donations to make you better software. Also, it would help me not to get burned out. Me burning out might mean end of support for this app. Any small (recurring or not) sponsorship makes me want ot put more effort into this app. I don't want to lock features (new plugins) behind paywalls 🔐.
Currently, I'm waking up 2h before work so I contribute to the app a bit. If I had some recurring income I could shorten my workweek and in the remaining time fully focus on NetAlertX. You'd get more functionality, a more polished app and less bugs.

Thanks for reading - I'm super grateful for any support ❤🙏

TL;DR: By supporting me you get:

  • Regular updates to keep your data and family safe 🔄
  • Less bugs 🐛🔫
  • Better and more functionality➕
  • I don't get burned out 🔥🤯
  • Less rushed releases 💨
  • Better docs📚
  • Quicker and better support with issues 🆘
  • Less grumpy me 😄

📧Email me to jokob@duck.com if you want to get in touch or if I should add other sponsorship platforms.
", - "Donations_Title": "Spenden", "ENABLE_PLUGINS_description": "NOTUSED Enables the plugins functionality. Loading plugins requires more hardware resources so you might want to disable them on low-powered system.", "ENABLE_PLUGINS_name": "NOTUSED Enable Plugins", "ENCRYPTION_KEY_description": "Schlüssel zur Datenverschlüsselung.", @@ -393,6 +389,8 @@ "Maintenance_Title": "Wartungswerkzeuge", "Maintenance_Tool_DownloadConfig": "", "Maintenance_Tool_DownloadConfig_text": "", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "CSV Export", "Maintenance_Tool_ExportCSV_noti": "CSV Export", "Maintenance_Tool_ExportCSV_noti_text": "Sind Sie sich sicher, dass Sie die CSV-Datei erstellen wollen?", @@ -751,6 +749,26 @@ "WEBHOOK_SIZE_name": "Max payload size", "WEBHOOK_URL_description": "Target URL starting with http:// or https://.", "WEBHOOK_URL_name": "Target URL", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "Webhooks_display_name": "Webhooks", "Webhooks_icon": "", "add_icon_event_icon": "", diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json index a0eb2ac3..92c14b73 100755 --- a/front/php/templates/language/en_us.json +++ b/front/php/templates/language/en_us.json @@ -22,7 +22,7 @@ "AppEvents_ObjectPlugin": "Linked Plugin", "AppEvents_ObjectPrimaryID": "Primary ID", "AppEvents_ObjectSecondaryID": "Secondary ID", - "AppEvents_ObjectStatus": "Status (at log time)", + "AppEvents_ObjectStatus": "Logged Status", "AppEvents_ObjectStatusColumn": "Status column", "AppEvents_ObjectType": "Object Type", "AppEvents_Plugin": "Plugin", @@ -244,10 +244,6 @@ "Device_Tablelenght_all": "All", "Device_Title": "Devices", "Devices_Filters": "Filters", - "Donations_Others": "Others", - "Donations_Platforms": "Sponsor platforms", - "Donations_Text": "Hey 👋!
Thanks for clicking on this menu item 😅

I'm trying to collect some donations to make you better software. Also, it would help me not to get burned out, so I can support this app longer. Any small (recurring or not) sponsorship makes me want to put more effort into this app.
I'd love to shorten my work week and in the remaining time fully focus on NetAlertX. You'd get more functionality, a more polished app and less bugs.

Thanks for reading - I'm grateful for any support ❤🙏

TL;DR: By supporting me you get:

  • Regular updates to keep your data and family safe 🔄
  • Less bugs 🐛🔫
  • Better and more functionality➕
  • I don't get burned out 🔥🤯
  • Less rushed releases 💨
  • Better docs📚
  • Quicker and better support with issues 🆘

📧Email me to jokob@duck.com if you want to get in touch or if I should add other sponsorship platforms.
", - "Donations_Title": "Donations", "ENABLE_PLUGINS_description": "Enables the plugins functionality. Loading plugins requires more hardware resources so you might want to disable them on low-powered system.", "ENABLE_PLUGINS_name": "Enable Plugins", "ENCRYPTION_KEY_description": "Data encryption key.", @@ -367,6 +363,8 @@ "Maintenance_Title": "Maintenance tools", "Maintenance_Tool_DownloadConfig": "Settings Export", "Maintenance_Tool_DownloadConfig_text": "Download a full backup of your Settings configuration stored in the app.conf file.", + "Maintenance_Tool_DownloadWorkflows": "Workflows Export", + "Maintenance_Tool_DownloadWorkflows_text": "Download a full backup of your Workflows stored in the workflows.json file.", "Maintenance_Tool_ExportCSV": "Devices Export (csv)", "Maintenance_Tool_ExportCSV_noti": "Devices Export (csv)", "Maintenance_Tool_ExportCSV_noti_text": "Are you sure you want to generate a CSV file?", @@ -672,6 +670,26 @@ "UI_REFRESH_name": "Auto-refresh UI", "VERSION_description": "Version or timestamp helper value to check if app was upgraded.", "VERSION_name": "Version or timestamp", + "WF_Action_Add": "Add Action", + "WF_Action_field": "Field", + "WF_Action_type": "Type", + "WF_Action_value": "Value", + "WF_Actions": "Actions", + "WF_Add": "Add Workflow", + "WF_Add_Condition": "Add Condition", + "WF_Add_Group": "Add Group", + "WF_Condition_field": "Field", + "WF_Condition_operator": "Operator", + "WF_Condition_value": "Value", + "WF_Conditions": "Conditions", + "WF_Conditions_logic_rules": "Logic rules", + "WF_Enabled": "Workflow enabled", + "WF_Name": "Workflow name", + "WF_Remove": "Remove Workflow", + "WF_Save": "Save Workflows", + "WF_Trigger": "Trigger", + "WF_Trigger_event_type": "Event type", + "WF_Trigger_type": "Trigger type", "add_icon_event_icon": "fa-square-plus", "add_icon_event_tooltip": "Add new icon", "add_option_event_icon": "fa-square-plus", diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json index 21468971..490403d7 100755 --- a/front/php/templates/language/es_es.json +++ b/front/php/templates/language/es_es.json @@ -254,10 +254,6 @@ "Device_Tablelenght_all": "Todos", "Device_Title": "Dispositivos", "Devices_Filters": "", - "Donations_Others": "Otros", - "Donations_Platforms": "Plataforma de patrocinadores", - "Donations_Text": "¡Hola! 👋
Gracias por hacer clic en este elemento 😅 del menú

, estoy tratando de recolectar algunas donaciones para mejorar el software. Además, me ayudaría a no quemarse, por lo que puedo apoyar esta aplicación por más tiempo. Cualquier pequeño patrocinio (recurrente o no) me hace querer esforzarme más en esta aplicación.
Me encantaría acortar mi semana de trabajo y en el tiempo que me queda centrarme por completo en NetAlertX. Obtendrías más funcionalidad, una aplicación más pulida y menos errores.

Gracias por leer, agradezco cualquier apoyo ❤🙏

TL; DR: Al apoyarme, obtienes:

  • Actualizaciones periódicas para mantener tus datos y tu familia seguros 🔄
  • Menos errores 🐛🔫
  • Mejor y más funcionalidad➕
  • No me quemo 🔥🤯
  • Lanzamientos 💨menos apresurados
  • Mejores documentos📚
  • Soporte más rápido y mejor con problemas 🆘

📧Envíame un correo electrónico a jokob@duck.com si quieres ponerte en contacto o si debo añadir otras plataformas de patrocinio.
", - "Donations_Title": "Donaciones", "ENABLE_PLUGINS_description": "Habilita la funcionalidad de los complementos. Cargar los complementos requiere más recursos de hardware, así que quizás quieras desactivarlo en hardware poco potente.", "ENABLE_PLUGINS_name": "Habilitar complementos", "ENCRYPTION_KEY_description": "", @@ -391,6 +387,8 @@ "Maintenance_Title": "Herramientas de mantenimiento", "Maintenance_Tool_DownloadConfig": "", "Maintenance_Tool_DownloadConfig_text": "", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "Exportación CSV", "Maintenance_Tool_ExportCSV_noti": "Exportación CSV", "Maintenance_Tool_ExportCSV_noti_text": "¿Está seguro de que quiere generar un archivo CSV?", @@ -748,6 +746,26 @@ "WEBHOOK_SIZE_name": "Tamaño máximo de carga útil", "WEBHOOK_URL_description": "URL de destino comienza con http:// o https://.", "WEBHOOK_URL_name": "URL de destino", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "Webhooks_display_name": "Webhooks", "Webhooks_icon": "", "Webhooks_settings_group": " Webhooks", diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json index 1cb37acd..04b85df7 100755 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -244,10 +244,6 @@ "Device_Tablelenght_all": "Tous", "Device_Title": "Appareils", "Devices_Filters": "Filtres", - "Donations_Others": "Autres", - "Donations_Platforms": "Plateformes de sponsoring", - "Donations_Text": "Coucou 👋 !
Merci d'avoir cliqué ici 😅

J'essaie de récolter des donations pour vous faire un meilleur produit. En plus, ça m'aide à éviter le burn-out pour développer cette application plus longtemps. Toute subvention (régulière ou non) me donne envie de poursuivre le développement de cette application.
J'aimerais réduire mon activité principale pour me concentrer plus longuement à NetAlertX. Vous auriez plus de fonctionnalités, une application mieux finie et avec moins de bugs.

Merci de votre lecture - je vous suis reconnaissant pour votre soutien ❤🙏

Version courte : en me soutenant, vous aurez :

  • Des mises à jour régulières pour protéger vos données personnelles et familiales 🔄
  • Moins de bugs 🐛🔫
  • Des fonctionnalités plus riches et plus nombreuses ➕
  • Je ne me retrouve pas en burn-out 🔥🤯
  • Des versions moins à la va-vite 💨
  • une meilleure documentation �
  • Un support meilleur et plus réactif en cas de problème 🆘

📧Envoyez-moi un courriel à jokob@duck.com si vous voulez me contacter ou du je peux ajouter une autre plateforme de soutien.
", - "Donations_Title": "Dons", "ENABLE_PLUGINS_description": "Active les fonctionnalités des Plugins. Charger des plugins nécessite plus de ressources, il est recommandé de les désactiver sur des systèmes de faible puissance.", "ENABLE_PLUGINS_name": "Activer les Plugins", "ENCRYPTION_KEY_description": "Clé de chiffrement des données.", @@ -367,6 +363,8 @@ "Maintenance_Title": "Outils de maintenance", "Maintenance_Tool_DownloadConfig": "Export des paramètres", "Maintenance_Tool_DownloadConfig_text": "Télécharger une sauvegarde complète de vos paramètres stockés dans le fichier app.conf.", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "Export des appareils (csv)", "Maintenance_Tool_ExportCSV_noti": "Export des appareils (csv)", "Maintenance_Tool_ExportCSV_noti_text": "Êtes-vous sûr de vouloir générer un fichier CSV ?", @@ -672,6 +670,26 @@ "UI_REFRESH_name": "Rafraîchir automatiquement l'interface graphique", "VERSION_description": "Valeur de la version ou du timestamp d'aide à vérifier si l'application a été mise à jour.", "VERSION_name": "Version ou Timestamp", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "add_icon_event_icon": "fa-square-plus", "add_icon_event_tooltip": "Ajouter une nouvelle icône", "add_option_event_icon": "fa-square-plus", diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json index 49a1d645..6545327d 100755 --- a/front/php/templates/language/it_it.json +++ b/front/php/templates/language/it_it.json @@ -244,10 +244,6 @@ "Device_Tablelenght_all": "Tutti", "Device_Title": "Dispositivi", "Devices_Filters": "Filtri", - "Donations_Others": "Altri", - "Donations_Platforms": "Piattaforme sponsor", - "Donations_Text": "Hey 👋!
Grazie per aver cliccato su questa voce di menu 😅

Sto cercando di ricevere donazioni per poter fornire un software migliore. Inoltre potrebbe aiutarmi a non andare in burnout, in modo da poter supportare questa app più a lungo. Ogni piccola (ricorrente o non) sponsorizzazione mi invoglia a mettere più impegno nello sviluppo di questa app.
Mi piacerebbe accorciare la mia settimana lavorativa e nel tempo rimanente dedicarmi completamente a NetAlertX. Riceverai più funzionalità, un'applicazione più rifinita e con meno bug.

Grazie per aver letto, ti sono grato per ogni tipo di supporto ❤🙏

TL;DR: Supportandomi otterrai:

  • Aggiornamenti più regolari per mantenere i tuoi dati e la tua famiglia sicuri 🔄
  • Meno bug 🐛🔫
  • Funzionalità migliori e più numerose➕
  • Io non vado in burnout 🔥🤯
  • Rilasci meno affrettati 💨
  • Migliore documentazione 📚
  • Supporto migliore e più veloce in caso di problemi 🆘

📧Invia una mail a jokob@duck.com se vuoi contattarmi o chiedermi di aggiungere altre piattaforme di sponsorizzazione.
", - "Donations_Title": "Donazioni", "ENABLE_PLUGINS_description": "Abilita la funzionalità plugin. Utilizzare i plugin richiede più risorse hardware, potresti voler disabilitare questa opzione sui dispositivi meno performanti.", "ENABLE_PLUGINS_name": "Abilita plugin", "ENCRYPTION_KEY_description": "Chiave di crittografia dei dati.", @@ -367,6 +363,8 @@ "Maintenance_Title": "Strumenti di manutenzione", "Maintenance_Tool_DownloadConfig": "Impostazioni Esporta", "Maintenance_Tool_DownloadConfig_text": "Scarica un backup completo della configurazione delle tue Impostazioni memorizzata nel file app.conf.", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "Esporta dispositivi (csv)", "Maintenance_Tool_ExportCSV_noti": "Esporta dispositivi (csv)", "Maintenance_Tool_ExportCSV_noti_text": "Sei sicuro di voler generare un file CSV?", @@ -672,6 +670,26 @@ "UI_REFRESH_name": "Aggiorna automaticamente la UI", "VERSION_description": "Valore di supporto della versione o della marca temporale per verificare se l'app è stata aggiornata.", "VERSION_name": "Versione o marca temporale", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "add_icon_event_icon": "fa-square-plus", "add_icon_event_tooltip": "Aggiungi nuova icona", "add_option_event_icon": "fa-square-plus", diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json index 7f1c4e43..cd6b5940 100755 --- a/front/php/templates/language/nb_no.json +++ b/front/php/templates/language/nb_no.json @@ -244,10 +244,6 @@ "Device_Tablelenght_all": "Alle", "Device_Title": "Enheter", "Devices_Filters": "", - "Donations_Others": "Andre", - "Donations_Platforms": "Sponsorplattformer", - "Donations_Text": "Hei 👋!
Takk for at du klikket på dette menyelementet 😅

Jeg prøver å samle inn noen donasjoner for å lage bedre programvare. Dessuten ville det hjelpe meg å ikke bli utbrent, så jeg kan støtte denne appen lenger. Enhver liten (tilbakevendende eller ikke) sponsing gjør at jeg ønsker å legge mer innsats i denne appen.
Jeg vil gjerne forkorte arbeidsuken min og i den gjenværende tiden fokusere fullt ut på NetAlertX. Du vil få mer funksjonalitet, en mer polert app og mindre feil.

Takk for at du leste - jeg er takknemlig for all støtte ❤🙏

TL;DR: Ved å støtte meg får du:

  • Jevne oppdateringer for å holde dataene dine og familien din trygge 🔄
  • Mindre feil 🐛🔫
  • Bedre og mer funksjonalitet➕
  • Jeg blir ikke utbrent 🔥🤯
  • Mindre forhastede utgivelser 💨
  • Bedre dokumenter📚
  • Raskere og bedre støtte med problemer 🆘

📧 Send meg en e-post til jokob@duck.com hvis du ønsker å komme i kontakt eller hvis jeg skal legge til andre sponsorplattformer.
", - "Donations_Title": "Donasjoner", "ENABLE_PLUGINS_description": "Aktiverer plugins funksjonaliten. Å laste inn plugins krever mer maskinvareressurser, så det kan være lurt å deaktivere dem på et system med lav strøm.", "ENABLE_PLUGINS_name": "Aktiver Plugins", "ENCRYPTION_KEY_description": "", @@ -367,6 +363,8 @@ "Maintenance_Title": "Vedlikeholdsverktøy", "Maintenance_Tool_DownloadConfig": "", "Maintenance_Tool_DownloadConfig_text": "", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "Eksporter CSV", "Maintenance_Tool_ExportCSV_noti": "Eksporter CSV", "Maintenance_Tool_ExportCSV_noti_text": "Er du sikker på at du vil generere en CSV-fil?", @@ -672,6 +670,26 @@ "UI_REFRESH_name": "Oppdater UI automatisk", "VERSION_description": "", "VERSION_name": "", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "add_icon_event_icon": "", "add_icon_event_tooltip": "", "add_option_event_icon": "", diff --git a/front/php/templates/language/pl_pl.json b/front/php/templates/language/pl_pl.json index bad7b4be..3c3e1c21 100755 --- a/front/php/templates/language/pl_pl.json +++ b/front/php/templates/language/pl_pl.json @@ -244,10 +244,6 @@ "Device_Tablelenght_all": "Wszystkie", "Device_Title": "Urządzenia", "Devices_Filters": "", - "Donations_Others": "Inne", - "Donations_Platforms": "Platforma Sponsora", - "Donations_Text": "Cześć 👋!
Dziękuje że kliknąłeś w to menu 😅

Próbuje zebrać trochę dotacji by ulepszyć to oprogramowanie. Także pomaga mi to się nie wypalić bym dalej mógł ulepszać to narzędzie. Każdy mały (powtarzający się lub nie) sponsoring sprawia że chce wkładać więcej pracy w tą aplikację.
Chciałbym skrócić mój tydzień pracy i w wolnym czasie skupić się nad NetAlertX. Dostawalibyście wtedy więcej funkcjonalności i były by one ciągle udoskonalane i posiadające mniej błędów.

Dziękuję że to przeczytałeś - Jestem wdzięczny za pomoc ❤🙏

TL;DR: Wspierając mnie otrzymujesz:

  • Regularne aktualizacje by zapewnić twoim danym i rodzinie bezpieczeństwo 🔄
  • Mniej błędów (bugów) 🐛🔫
  • Nowe i lepsze funkcjonalności➕
  • Nie tracę zapału do dalszego tworzenia 🔥🤯
  • Mniej pośpieszne, bardziej dopracowane wydania💨
  • Lepsza dokumentacja📚
  • Szybsza i lepsza pomoc w problemach🆘

📧Napisz E-mail do mnie najokob@duck.com jeżeli chcesz nawiązać kontakt albo czy powinien dodać kolejną platformę z sponsoringiem.
", - "Donations_Title": "Dotacje", "ENABLE_PLUGINS_description": "Włącza funkcjonalność pluginów. Uruchomienie pluginów wymaga więcej zasobów sprzętu więcej możesz chcieć to wyłączyć dla słabszych systemów.", "ENABLE_PLUGINS_name": "Włącz Pluginy", "ENCRYPTION_KEY_description": "", @@ -367,6 +363,8 @@ "Maintenance_Title": "Narzędzia konserwacyjne", "Maintenance_Tool_DownloadConfig": "", "Maintenance_Tool_DownloadConfig_text": "", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "Eksport CSV", "Maintenance_Tool_ExportCSV_noti": "Eksport CSV", "Maintenance_Tool_ExportCSV_noti_text": "Jesteś pewien, że chcesz wygenerować plik CSV?", @@ -672,6 +670,26 @@ "UI_REFRESH_name": "Automatycznie odświeżaj UI", "VERSION_description": "", "VERSION_name": "", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "add_icon_event_icon": "", "add_icon_event_tooltip": "", "add_option_event_icon": "", diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json index 410c2db1..69a2398e 100755 --- a/front/php/templates/language/pt_br.json +++ b/front/php/templates/language/pt_br.json @@ -244,10 +244,6 @@ "Device_Tablelenght_all": "Todos", "Device_Title": "Dispositivos", "Devices_Filters": "Filtros", - "Donations_Others": "Outros", - "Donations_Platforms": "Plataformas de patrocinadores", - "Donations_Text": "Ei 👋!
Obrigado por clicar neste item de menu 😅

Estou tentando coletar algumas doações para melhorar o software. Além disso, isso me ajudaria a não ficar exausto, para que eu pudesse oferecer suporte a este aplicativo por mais tempo. Qualquer pequeno patrocínio (recorrente ou não) me faz querer colocar mais esforço neste aplicativo.
Eu adoraria encurtar minha semana de trabalho e no tempo restante focar totalmente no NetAlertX. Você obteria mais funcionalidades, um aplicativo mais sofisticado e menos bugs.

Obrigado pela leitura - sou grato por qualquer apoio ❤🙏

TL;DR: Ao me apoiar, você obtém:

  • Atualizações regulares para manter seus dados e sua família seguros 🔄
  • Menos bugs 🐛🔫
  • Melhor e mais funcionalidade➕
  • Eu não fico exausto 🔥🤯
  • Lançamentos menos apressados 💨
  • Documentos melhores📚
  • Suporte melhor e mais rápido com problemas 🆘

📧 Envie-me um e-mail para jokob@duck.com se quiser entrar em contato ou se devo adicionar outras plataformas de patrocínio.
", - "Donations_Title": "Doações", "ENABLE_PLUGINS_description": "Ativa a funcionalidade de plugins. Carregar plug-ins requer mais recursos de hardware, então você pode querer desativá-los em sistemas de baixa potência.", "ENABLE_PLUGINS_name": "Habilitar plug-ins", "ENCRYPTION_KEY_description": "Chave de encriptação de dados.", @@ -367,6 +363,8 @@ "Maintenance_Title": "Ferramentas de manutenção", "Maintenance_Tool_DownloadConfig": "Exportação de definições", "Maintenance_Tool_DownloadConfig_text": "Baixe um backup completo da configuração das Configurações armazenada no arquivo app.conf.", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "Exportação de dispositivos (csv)", "Maintenance_Tool_ExportCSV_noti": "Exportação de dispositivos (csv)", "Maintenance_Tool_ExportCSV_noti_text": "Tem a certeza de que pretende gerar um ficheiro CSV?", @@ -465,6 +463,7 @@ "NETWORK_DEVICE_TYPES_description": "Quais tipos de dispositivos podem ser usados como dispositivos de rede na visualização de rede. O tipo de dispositivo tem de corresponder exatamente à configuração Type em um dispositivo específico em detalhes do dispositivo. Adicione-o no Dispositivo através do botão +. Não remova os tipos existentes, apenas adicione novos.", "NETWORK_DEVICE_TYPES_name": "Tipos de dispositivo de rede", "Navigation_About": "Sobre a", + "Navigation_AppEvents": "", "Navigation_Devices": "Dispositivos", "Navigation_Donations": "Doações", "Navigation_Events": "Eventos", @@ -671,6 +670,26 @@ "UI_REFRESH_name": "", "VERSION_description": "", "VERSION_name": "", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "add_icon_event_icon": "", "add_icon_event_tooltip": "", "add_option_event_icon": "", @@ -717,4 +736,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "Guarde as alterações antes de testar as definições." -} +} \ No newline at end of file diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json index 868a26a2..3910b2cb 100755 --- a/front/php/templates/language/ru_ru.json +++ b/front/php/templates/language/ru_ru.json @@ -244,10 +244,6 @@ "Device_Tablelenght_all": "Все", "Device_Title": "Устройства", "Devices_Filters": "Фильтры", - "Donations_Others": "Другие", - "Donations_Platforms": "Спонсорские платформы", - "Donations_Text": "Привет 👋!
Спасибо, что нажали на этот пункт меню 😅

Я пытаюсь собрать пожертвования, чтобы сделать ваше программное обеспечение лучше. Кроме того, это поможет мне не перегореть, и я смогу дольше поддерживать это приложение. Любое небольшое спонсорство (периодическое или нет) вызывает у меня желание приложить больше усилий к этому приложению.
Мне бы хотелось сократить свою рабочую неделю и в оставшееся время полностью сосредоточиться на NetAlertX. Вы получите больше функциональности, более усовершенствованное приложение и меньше ошибок.

Спасибо за прочтение – буду благодарен за любую поддержку❤🙏

TL;DR: Поддержав меня, вы получаете:

  • Регулярные обновления для обеспечения безопасности ваших данных и семьи 🔄
  • Меньше ошибок 🐛🔫
  • Лучшую функциональность➕
  • Я не выгораю 🔥🤯
  • Меньше поспешных релизов 💨
  • Лучшая документация📚
  • Быстрее и лучше поддержка по вопросам 🆘

📧Напишите мне на jokob@duck.com если вы хотите связаться или если следует добавить другие спонсорские платформы.
", - "Donations_Title": "Пожертвования", "ENABLE_PLUGINS_description": "Включает функциональность плагинов. Загрузка плагинов требует больше аппаратных ресурсов, поэтому вы можете отключить их в маломощной системе.", "ENABLE_PLUGINS_name": "Разрешить плагины", "ENCRYPTION_KEY_description": "Ключ шифрования данных.", @@ -367,6 +363,8 @@ "Maintenance_Title": "Инструменты обслуживания", "Maintenance_Tool_DownloadConfig": "Экспорт настроек", "Maintenance_Tool_DownloadConfig_text": "Загрузите полную резервную копию конфигурации настроек, хранящуюся в файле app.conf.", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "Экспорт устройств (csv)", "Maintenance_Tool_ExportCSV_noti": "Экспорт устройств (csv)", "Maintenance_Tool_ExportCSV_noti_text": "Вы уверены, что хотите создать файл CSV?", @@ -672,6 +670,26 @@ "UI_REFRESH_name": "Автоматическое обновление интерфейса", "VERSION_description": "Вспомогательное значение версии или метки времени, позволяющее проверить, было ли приложение обновлено.", "VERSION_name": "Версия или временная метка", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "add_icon_event_icon": "fa-square-plus", "add_icon_event_tooltip": "Добавить новую иконку", "add_option_event_icon": "fa-square-plus", diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json index 4e530b90..7bdfd9e4 100755 --- a/front/php/templates/language/tr_tr.json +++ b/front/php/templates/language/tr_tr.json @@ -244,10 +244,6 @@ "Device_Tablelenght_all": "", "Device_Title": "Cihazlar", "Devices_Filters": "", - "Donations_Others": "Diğerleri", - "Donations_Platforms": "", - "Donations_Text": "", - "Donations_Title": "", "ENABLE_PLUGINS_description": "", "ENABLE_PLUGINS_name": "", "ENCRYPTION_KEY_description": "", @@ -367,6 +363,8 @@ "Maintenance_Title": "", "Maintenance_Tool_DownloadConfig": "", "Maintenance_Tool_DownloadConfig_text": "", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "", "Maintenance_Tool_ExportCSV_noti": "", "Maintenance_Tool_ExportCSV_noti_text": "Bir CSV dosyası oluşturmak istediğinize emin misiniz?", @@ -672,6 +670,26 @@ "UI_REFRESH_name": "", "VERSION_description": "", "VERSION_name": "", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "add_icon_event_icon": "", "add_icon_event_tooltip": "", "add_option_event_icon": "", diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json index f59a8ac2..f1117969 100755 --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -244,10 +244,6 @@ "Device_Tablelenght_all": "все", "Device_Title": "Пристрої", "Devices_Filters": "Фільтри", - "Donations_Others": "інші", - "Donations_Platforms": "Спонсорські платформи", - "Donations_Text": "Привіт 👋!
Дякуємо, що натиснули цей пункт меню 😅

Я намагаюся зібрати пожертви, щоб зробити ваше програмне забезпечення кращим. Крім того, це допоможе мені не згоріти, тому я можу підтримувати цю програму довше. Будь-яке невелике (постійне чи ні) спонсорство спонукає мене докласти більше зусиль до цієї програми.
Я хотів би скоротити свій робочий тиждень і в час, що залишився, повністю зосередитися на NetAlertX. Ви отримаєте більше функціональності, досконаліший додаток і менше помилок.

Дякую, що прочитали – я вдячний за будь-яку підтримку ❤🙏

TL;DR: Підтримуючи мене, ви отримуєте:

  • Регулярні оновлення для захисту ваших даних і родини 🔄
  • Менше помилок 🐛🔫
  • Краще та більше функціональність➕
  • Я не згорів 🔥🤯
  • Менш поспішних випусків 💨
  • Кращі документи📚
  • Швидша та краща підтримка із проблемами 🆘

📧Напишіть мені електронною поштою на jokob@duck.com, якщо ви хочете зв’язатися з нами або якщо я маю додати інші платформи спонсорства.
", - "Donations_Title": "Пожертви", "ENABLE_PLUGINS_description": "Вмикає функції плагінів. Завантаження плагінів вимагає більше апаратних ресурсів, тому ви можете вимкнути їх у системі з низьким енергоспоживанням.", "ENABLE_PLUGINS_name": "Увімкнути плагіни", "ENCRYPTION_KEY_description": "Ключ шифрування даних.", @@ -367,6 +363,8 @@ "Maintenance_Title": "Інструменти обслуговування", "Maintenance_Tool_DownloadConfig": "Експорт налаштувань", "Maintenance_Tool_DownloadConfig_text": "Завантажте повну резервну копію конфігурації налаштувань, яка зберігається у файлі app.conf.", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "Експорт пристроїв (csv)", "Maintenance_Tool_ExportCSV_noti": "Експорт пристроїв (csv)", "Maintenance_Tool_ExportCSV_noti_text": "Ви впевнені, що хочете створити файл CSV?", @@ -672,6 +670,26 @@ "UI_REFRESH_name": "Автоматичне оновлення інтерфейсу користувача", "VERSION_description": "Допоміжне значення версії або позначки часу, щоб перевірити, чи було оновлено додаток.", "VERSION_name": "Версія або позначка часу", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "add_icon_event_icon": "фа-квадрат-плюс", "add_icon_event_tooltip": "додати новий значок", "add_option_event_icon": "фа-квадрат-плюс", diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json index 491dbb39..bd235f3f 100755 --- a/front/php/templates/language/zh_cn.json +++ b/front/php/templates/language/zh_cn.json @@ -244,10 +244,6 @@ "Device_Tablelenght_all": "所有", "Device_Title": "设备", "Devices_Filters": "", - "Donations_Others": "其他", - "Donations_Platforms": "赞助平台", - "Donations_Text": "嘿👋!
感谢您点击此菜单项😅

我正在尝试收集一些捐款来为您制作更好的软件。此外,这将有助于我避免精疲力竭,这样我就可以更长时间地支持这个应用程序。任何小额(无论是否经常性)赞助都会让我想在这个应用程序上投入更多精力。
我希望缩短我的工作周,并在剩余的时间里完全专注于 NetAlertX。您将获得更多功能、更精致的应用程序和更少的错误。

感谢阅读 - 我感谢任何支持 ❤🙏

TL;DR:通过支持我,您将获得:

  • 定期更新以确保您的数据和家人安全🔄
  • 更少的错误🐛🔫
  • 更好、更多的功能➕
  • 我不会精疲力竭🔥🤯
  • 更不仓促的发布💨
  • 更好的文档📚
  • 更快、更好地解决问题🆘

📧如果您想联系我或者我应该添加其他赞助平台,请给我发电子邮件至jokob@duck.com
", - "Donations_Title": "捐款", "ENABLE_PLUGINS_description": "启用插件功能。加载插件需要更多硬件资源,因此您可能需要在低功耗系统上禁用它们。", "ENABLE_PLUGINS_name": "启用插件", "ENCRYPTION_KEY_description": "", @@ -367,6 +363,8 @@ "Maintenance_Title": "维护工具", "Maintenance_Tool_DownloadConfig": "", "Maintenance_Tool_DownloadConfig_text": "", + "Maintenance_Tool_DownloadWorkflows": "", + "Maintenance_Tool_DownloadWorkflows_text": "", "Maintenance_Tool_ExportCSV": "CSV 导出", "Maintenance_Tool_ExportCSV_noti": "CSV 导出", "Maintenance_Tool_ExportCSV_noti_text": "您确定要生成 CSV 文件吗?", @@ -672,6 +670,26 @@ "UI_REFRESH_name": "自动刷新界面", "VERSION_description": "", "VERSION_name": "", + "WF_Action_Add": "", + "WF_Action_field": "", + "WF_Action_type": "", + "WF_Action_value": "", + "WF_Actions": "", + "WF_Add": "", + "WF_Add_Condition": "", + "WF_Add_Group": "", + "WF_Condition_field": "", + "WF_Condition_operator": "", + "WF_Condition_value": "", + "WF_Conditions": "", + "WF_Conditions_logic_rules": "", + "WF_Enabled": "", + "WF_Name": "", + "WF_Remove": "", + "WF_Save": "", + "WF_Trigger": "", + "WF_Trigger_event_type": "", + "WF_Trigger_type": "", "add_icon_event_icon": "", "add_icon_event_tooltip": "", "add_option_event_icon": "", diff --git a/front/plugins/notification_processing/README.md b/front/plugins/notification_processing/README.md index 49ae450f..9fad5a26 100755 --- a/front/plugins/notification_processing/README.md +++ b/front/plugins/notification_processing/README.md @@ -1,18 +1,60 @@ +# Notifications User Guide + ## Overview -Plugin supplying settings for Notification Processing. +This guide explains how the notification system works, including its dependencies, available notification types, and device-specific overrides. -### Notify on: `NTFPRCS_INCLUDED_SECTIONS`: +## Notification Dependencies -- `new_devices` - if a new device is detected -- `down_devices` - if a device with **Alert down** enabled (on a specific Device) disconnects -- `down_reconnected` - if a device, previously marked down and notified on, reconnects -- `events` - if an event for a device that has **Alert Events** enabled, is triggered -- `plugins` - if an event for a plugin, is triggered +The notification system relies on event data from devices and plugins. For notifications to function correctly: +- Devices must have alerts enabled in their settings. +- The notification processor uses the `NTFPRCS_INCLUDED_SECTIONS` setting to determine which types of notifications to send. +- Device-specific settings can override global notification rules. -Check the [Notifications guide](/docs/NOTIFICATIONS.md) for more details. +## Notification Types -### Usage +The following notification types are available based on the `NTFPRCS_INCLUDED_SECTIONS` setting: + +### `new_devices` +- Notifies when a new device is detected on the network. +- Only sent if `new_devices` is enabled in `NTFPRCS_INCLUDED_SECTIONS`. + +### `down_devices` +- Notifies when a device goes offline. +- The device must have **Alert Down** enabled in its settings. +- The notification is only sent if the device has not reconnected within the configured time window of `NTFPRCS_alert_down_time`. + +### `down_reconnected` +- Notifies when a device that was previously reported as down reconnects. +- The device must have **Alert Down** enabled. + +### `events` +- Notifies about specific events triggered by a device. +- The device must have **Alert Events** enabled in its settings. +- Includes events: + - `Connected`, `Down Reconnected`, `Disconnected`,`IP Changed` +- you can exclude devices with a custom where condition via the `NTFPRCS_event_condition` setting + +### `plugins` +- Notifies when an event is triggered by a plugin. +- These notifications depend on the plugin's configuration of the `Watched_Value1-4` values and the `_REPORT_ON` settings. + +## Device-Specific Overrides + +Certain notifications can be disabled per device: + +### Alert Events Disabled +- If a device has **Alert Events** disabled, it will not receive notifications for general events (`events` section). +- This does not affect notifications for `down_devices`, `down_reconnected`, or `new_devices`. + +### Alert Down Disabled +- If a device has **Alert Down** disabled, it will not receive notifications when it goes offline (`down_devices`) or reconnects (`down_reconnected`). + +## Usage + +- Review the **Settings** page to configure which notification types should be enabled. +- Ensure that device-specific alert settings align with your requirements. + +For additional details, check the [Notifications Guide](/docs/NOTIFICATIONS.md). -- Check the Settings page for details. diff --git a/front/workflows.php b/front/workflows.php index edf1b448..c0fe96ce 100755 --- a/front/workflows.php +++ b/front/workflows.php @@ -8,7 +8,7 @@
- + diff --git a/front/workflowsCore.php b/front/workflowsCore.php index c27c652d..acdab582 100755 --- a/front/workflowsCore.php +++ b/front/workflowsCore.php @@ -12,13 +12,13 @@
-
@@ -46,6 +46,10 @@ let triggerTypes = [ "Devices" ]; +let wfEnabledOptions = [ + "Yes", "No" +]; + let operatorTypes = [ "equals", "contains" , "regex" ]; @@ -65,7 +69,6 @@ function getData() { $.get('php/server/query_json.php?file=workflows.json') .done(function (res) { workflows = res; - console.log("here workflows"); console.log(workflows); updateWorkflowsJson(workflows); @@ -150,9 +153,19 @@ function generateWorkflowUI(wf, wfIndex) { id: `wf-${wfIndex}-collapsible-panel` }); + let $wfEnabled = createEditableDropdown( + `[${wfIndex}].enabled`, + getString("WF_Enabled"), + wfEnabledOptions, + wf?.enabled ?? "No", + `wf-${wfIndex}-enabled` + ); + + $wfCollapsiblePanel.append($wfEnabled) + let $wfNameInput = createEditableInput( `[${wfIndex}].name`, - "Workflow name", + getString("WF_Name"), wf.name, `wf-${wfIndex}-name`, "workflow-name-input" @@ -168,7 +181,7 @@ function generateWorkflowUI(wf, wfIndex) { { class:"section-title" } - ).append($triggersIcon).append(" Trigger:") + ).append($triggersIcon).append(` ${getString("WF_Trigger")}:`) // Trigger Section with dropdowns let $triggerSection = $("
", @@ -179,7 +192,7 @@ function generateWorkflowUI(wf, wfIndex) { let $triggerTypeDropdown = createEditableDropdown( `[${wfIndex}].trigger.object_type`, - "Trigger Type", + getString("WF_Trigger_type"), triggerTypes, wf.trigger.object_type, `wf-${wfIndex}-trigger-object-type` @@ -187,7 +200,7 @@ function generateWorkflowUI(wf, wfIndex) { let $eventTypeDropdown = createEditableDropdown( `[${wfIndex}].trigger.event_type`, - "Event Type", + getString("WF_Trigger_event_type"), ["update", "create", "delete"], wf.trigger.event_type, `wf-${wfIndex}-trigger-event-type` @@ -210,7 +223,7 @@ function generateWorkflowUI(wf, wfIndex) { let $conditionsTitle = $("
", { class: "section-title" - }).append($conditionsIcon).append(" Conditions:"); + }).append($conditionsIcon).append(` ${getString("WF_Conditions")}:`); let $conditionsContainer = $("
", { class: "col-sm-12 col-sx-12" @@ -229,7 +242,7 @@ function generateWorkflowUI(wf, wfIndex) { { class:"section-title" } - ).append($actionsIcon).append(" Actions:") + ).append($actionsIcon).append(` ${getString("WF_Actions")}:`) // Actions with action.field as dropdown let $actionsContainer = $("
", @@ -252,7 +265,7 @@ function generateWorkflowUI(wf, wfIndex) { // Dropdown for action.type let $actionDropdown= createEditableDropdown( `[${wfIndex}].actions[${actionIndex}].type`, - "Type", + getString("WF_Action_type"), actionTypes, action.type, `wf-${wfIndex}-actionIndex-${actionIndex}-type` @@ -271,7 +284,7 @@ function generateWorkflowUI(wf, wfIndex) { // Dropdown for action.field let $fieldDropdown = createEditableDropdown( `[${wfIndex}].actions[${actionIndex}].field`, - "Field", + getString("WF_Action_field"), fieldOptions, action.field, `wf-${wfIndex}-actionIndex-${actionIndex}-field` @@ -280,7 +293,7 @@ function generateWorkflowUI(wf, wfIndex) { // Textbox for action.value let $actionValueInput = createEditableInput( `[${wfIndex}].actions[${actionIndex}].value`, - "Value", + getString("WF_Action_value"), action.value, `wf-${wfIndex}-actionIndex-${actionIndex}-value`, "action-value-input" @@ -331,7 +344,7 @@ function generateWorkflowUI(wf, wfIndex) { class : "pointer add-action green-hover-text", lastActionIndex : lastActionIndex, wfIndex: wfIndex - }).append($actionAddIcon).append(" Add Action") + }).append($actionAddIcon).append(` ${getString("WF_Action_Add")}`) $actionAddButtonWrap.append($actionAddButton) $actionsContainer.append($actionAddButtonWrap) @@ -348,7 +361,7 @@ function generateWorkflowUI(wf, wfIndex) { wfIndex: wfIndex }) .append($wfRemoveIcon) // Add icon - .append(" Remove Workflow"); // Add text + .append(` ${getString("WF_Remove")}`); // Add text $wfCollapsiblePanel.append($actionsContainer); @@ -392,7 +405,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit let $logicDropdown = createEditableDropdown( `${currentPath}.logic`, - "Logic Rules", + getString("WF_Conditions_logic_rules"), ["AND", "OR"], condition.logic, `wf-${wfIndex}-${currentPath.replace(/\./g, "-")}-logic` // id @@ -428,7 +441,8 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit // Create dropdown for condition field let $fieldDropdown = createEditableDropdown( - `${currentPath}.field`,"Field", + `${currentPath}.field`, + getString("WF_Condition_field"), fieldOptions, condition.field, `wf-${wfIndex}-${currentPath.replace(/\./g, "-")}-field` @@ -437,7 +451,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit // Create dropdown for operator let $operatorDropdown = createEditableDropdown( `${currentPath}.operator`, - "Operator", + getString("WF_Condition_operator"), operatorTypes, condition.operator, `wf-${wfIndex}-${currentPath.replace(/\./g, "-")}-operator` @@ -446,7 +460,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit // Editable input for condition value let $editableInput = createEditableInput( `${currentPath}.value`, - "Condition Value", + getString("WF_Condition_value"), condition.value, `wf-${wfIndex}-${currentPath.replace(/\./g, "-")}-value`, "condition-value-input" @@ -492,7 +506,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit class: "pointer add-condition green-hover-text col-sx-12", wfIndex: wfIndex, parentIndexPath: parentIndexPath - }).append($conditionAddIcon).append(" Add Condition"); + }).append($conditionAddIcon).append(` ${getString("WF_Add_Condition")}`); $conditionAddWrap.append($conditionAddButton); // Remove Condition Group button @@ -522,7 +536,7 @@ function renderConditions(wfIndex, parentIndexPath, conditionGroupsIndex, condit class: "pointer add-condition-group green-hover-text col-sx-12", wfIndex: wfIndex, parentIndexPath: parentIndexPath - }).append($conditionsGroupAddIcon).append(" Add Group"); + }).append($conditionsGroupAddIcon).append(` ${getString("WF_Add_Group")}`); $conditionsGroupAddWrap.append($conditionsGroupAddButton); $addButtonWrap.append($conditionsGroupAddWrap); diff --git a/server/reporting.py b/server/reporting.py index a2221c1f..b6a761da 100755 --- a/server/reporting.py +++ b/server/reporting.py @@ -45,11 +45,15 @@ def get_notifications (db): json_plugins_meta = {} # Disable reporting on events for devices where reporting is disabled based on the MAC address + + # Disable notifications (except down/down reconnected) on devices where devAlertEvents is disabled sql.execute ("""UPDATE Events SET eve_PendingAlertEmail = 0 WHERE eve_PendingAlertEmail = 1 AND eve_EventType not in ('Device Down', 'Down Reconnected', 'New Device' ) AND eve_MAC IN ( SELECT devMac FROM Devices WHERE devAlertEvents = 0 )""") + + # Disable down/down reconnected notifications on devices where devAlertDown is disabled sql.execute ("""UPDATE Events SET eve_PendingAlertEmail = 0 WHERE eve_PendingAlertEmail = 1 AND eve_EventType in ('Device Down', 'Down Reconnected') AND eve_MAC IN ( diff --git a/server/workflows/manager.py b/server/workflows/manager.py index 709713cd..40e8f503 100755 --- a/server/workflows/manager.py +++ b/server/workflows/manager.py @@ -55,14 +55,17 @@ class WorkflowManager: # Check if the trigger conditions match for workflow in self.workflows: - # construct trigger object which also evaluates if the current event triggers it - trigger = Trigger(workflow["trigger"], event, self.db) + # Ensure workflow is enabled before proceeding + if workflow.get("enabled", "No").lower() == "yes": + + # construct trigger object which also evaluates if the current event triggers it + trigger = Trigger(workflow["trigger"], event, self.db) - if trigger.triggered: + if trigger.triggered: - mylog('verbose', [f"[WF] Event with GUID '{event["GUID"]}' triggered the workflow '{workflow["name"]}'"]) + mylog('verbose', [f"[WF] Event with GUID '{event["GUID"]}' triggered the workflow '{workflow["name"]}'"]) - self.execute_workflow(workflow, trigger) + self.execute_workflow(workflow, trigger) # After processing the event, mark the event as processed (set AppEventProcessed to 1) self.db.sql.execute(""" From 587fb6036c8df6c77b78d583a05cfed5dc109b45 Mon Sep 17 00:00:00 2001 From: Sylvain Pichon Date: Sat, 29 Mar 2025 20:34:51 +0100 Subject: [PATCH 017/667] Translated using Weblate (French) Currently translated at 100.0% (719 of 719 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/fr/ --- front/php/templates/language/fr_fr.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json index 91fc16e4..aedb90f2 100644 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -8,7 +8,7 @@ "About_Design": "Conçu pour :", "About_Exit": "Se déconnecter", "About_Title": "Analyse de la sécurité du réseau et cadre de notification", - "AppEvents_AppEventProcessed": "", + "AppEvents_AppEventProcessed": "Traité(s)", "AppEvents_DateTimeCreated": "Connecté", "AppEvents_Extra": "Extra", "AppEvents_GUID": "GUID d’événements de l'application", @@ -225,7 +225,7 @@ "Device_TableHead_Name": "Nom", "Device_TableHead_NetworkSite": "Site Réseau", "Device_TableHead_Owner": "Propriétaire", - "Device_TableHead_Parent_MAC": "MAC du nœud principal", + "Device_TableHead_Parent_MAC": "Nœud réseau principal", "Device_TableHead_Port": "Port", "Device_TableHead_PresentLastScan": "Présence", "Device_TableHead_RowID": "ID de colonne", @@ -465,7 +465,7 @@ "NETWORK_DEVICE_TYPES_description": "Les types d'appareils autorisés à être utilisés comme appareils réseau dans la vue Réseau. Le type d'appareils doit être identique au paramètre Type d'un appareil dans le détail des appareils. Ajouter le sur l'appareil grâce au bouton +. Ne pas supprimer de valeurs, seulement en ajouter de nouvelles.", "NETWORK_DEVICE_TYPES_name": "Type d'appareil réseau", "Navigation_About": "À propos", - "Navigation_AppEvents": "", + "Navigation_AppEvents": "Événements de l'appli", "Navigation_Devices": "Appareils", "Navigation_Donations": "Dons", "Navigation_Events": "Évènements", From 4d401f60dcdccc2d44325c6ea98558c67775c5b2 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sun, 30 Mar 2025 00:26:29 +0100 Subject: [PATCH 018/667] Translated using Weblate (Portuguese (Brazil)) Currently translated at 59.5% (439 of 737 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/pt_BR/ --- front/php/templates/language/pt_br.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json index 69a2398e..8de6ff23 100644 --- a/front/php/templates/language/pt_br.json +++ b/front/php/templates/language/pt_br.json @@ -736,4 +736,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "Guarde as alterações antes de testar as definições." -} \ No newline at end of file +} From e0c06548ba30783d97bbe8a2b337f0d0ae475dc7 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 30 Mar 2025 17:29:22 +1100 Subject: [PATCH 019/667] wf work + fa upgrade + css cleanup + network tweaks --- docs/img/WORKFLOWS/workflows.png | Bin 91194 -> 131669 bytes front/css/app.css | 29 +- front/devices.php | 4 +- front/index.php | 8 +- front/lib/font-awesome/all.min.css | 9 + front/lib/font-awesome/brands.css | 1516 ------------------- front/lib/font-awesome/brands.min.css | 6 - front/lib/font-awesome/fontawesome.min.css | 6 - front/lib/font-awesome/solid.css | 19 - front/lib/font-awesome/solid.min.css | 6 - front/lib/font-awesome/v5-font-face.css | 22 - front/lib/font-awesome/v5-font-face.min.css | 6 - front/network.php | 108 +- front/php/templates/footer.php | 2 +- front/php/templates/header.php | 19 +- front/php/templates/language/ca_ca.json | 2 +- front/php/templates/language/de_de.json | 2 +- front/php/templates/language/es_es.json | 2 +- front/php/templates/language/fr_fr.json | 2 +- front/php/templates/language/it_it.json | 2 +- front/php/templates/language/nb_no.json | 2 +- front/php/templates/language/pl_pl.json | 2 +- front/php/templates/language/pt_br.json | 0 front/php/templates/language/ru_ru.json | 2 +- front/php/templates/language/uk_ua.json | 2 +- front/php/templates/language/zh_cn.json | 2 +- front/workflowsCore.php | 34 +- 27 files changed, 131 insertions(+), 1683 deletions(-) create mode 100755 front/lib/font-awesome/all.min.css delete mode 100755 front/lib/font-awesome/brands.css delete mode 100755 front/lib/font-awesome/brands.min.css delete mode 100755 front/lib/font-awesome/fontawesome.min.css delete mode 100755 front/lib/font-awesome/solid.css delete mode 100755 front/lib/font-awesome/solid.min.css delete mode 100755 front/lib/font-awesome/v5-font-face.css delete mode 100755 front/lib/font-awesome/v5-font-face.min.css mode change 100644 => 100755 front/php/templates/language/ca_ca.json mode change 100644 => 100755 front/php/templates/language/de_de.json mode change 100644 => 100755 front/php/templates/language/es_es.json mode change 100644 => 100755 front/php/templates/language/fr_fr.json mode change 100644 => 100755 front/php/templates/language/it_it.json mode change 100644 => 100755 front/php/templates/language/nb_no.json mode change 100644 => 100755 front/php/templates/language/pl_pl.json mode change 100644 => 100755 front/php/templates/language/pt_br.json mode change 100644 => 100755 front/php/templates/language/ru_ru.json mode change 100644 => 100755 front/php/templates/language/uk_ua.json mode change 100644 => 100755 front/php/templates/language/zh_cn.json diff --git a/docs/img/WORKFLOWS/workflows.png b/docs/img/WORKFLOWS/workflows.png index df1bab6c127b54b43820877ef55a70c0a08987b6..ad86ac70bfd179202ad70cf5e1fbfb5c85864b61 100755 GIT binary patch literal 131669 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

&TSY6e z^zmAgLuC0{CTF_l`5C|0>ZQ17j#^M64j+_{UW(n>%qi1bK)@2}lLGR~QO13Q#TKDE8#=-Hdm`{~g zT=tTzPoFm9zMj1$q`Kt47MeQbFc_|_3w}ULhu!{(Dgf9BV4dqQ;u3lhC-`b7Jatk> ztO0IixN2-)_wul(c<)B2TU%~^e_*(*)%cOJz*Doh{8UY}3u;@nj|=A(8@NrCxNC!N z0FO4lUV~&@iM-m09QD*j*5%{s<-X(2Q=@XCcv@}eR~p|JbZeAK;t#g1d!J2|X5Q!c ztq>td|EgSz$>{rCzXZhP*k1s8wANLFYxE3<#qasN7(jC#T#{pVH4JF~nG%dCP%)~j_2P(M^>%-cv%`PzlmF@e z*tPePQp3m&swsSA7{O^I8DJWll(W_+n{whNaOo_(rBIHNgv9|+9$E=A=uCB&0 zLymISGpez%jh@NUEUfV?eGvLM7u*Zhdsqer@6QqsRUC>qn39I-B))#VYI<{=UEMHq zw_@+AFDr!N8B>;z zEZ1dVY~tBlAiUQ4#_-t8*dOSBG~xfCxuSW}?$P80rCf<^Nw!69fctPB<1JYc zJdX@Ci=Q*b@6EV+Oz3{57ucy!F!5l@h0?#9KD^Mskb7vTi-nn5D+Dz2u9UPqazG`l zR@vTT7%Pg8I;kiq;(ID2$R#TRtrCQ9n2P>5a&79u5 z-;WY^Cy%lbkZECx*oZW3;tj~5#^rp$9!@3gprJU?=%S=_w~?CCR_cyAkZqZD;Appr zBqk4d8nI`;&=`kMQLlPw^xerW2WDBk4K;!5Z`m(|Q(twzvQWs;(Ou4VWuxg#l{moB6-9D4 zGwoZxW_@;_3cuk`SnCtOJThTv*TTO5DA;Pcw{p`Wf-Sx|&MmKFco94_uqHS^ck6w= z5blIl&!Oe4t)SfUpKPb|XRVho%1=S)XZce3kMuN@>uTc|s>66t=Zph1hlWNUQh6__ z8KP*%2TnoJQ%w`MWL1e>*%&2WWIQ^G=t{v!iSZex56{5$hG{E>_@cpr+x;*$bvS7T zjvb06WUloqbC{VrEq?rPy>Rzm+z?4QEYz`(UwPHmNB2=0t$>;N4{X9qRVPXzWk(0a zC2a31_DB@+b>1?pW$MidjiNGlQaeRy1EUQSoWvXLMxK>J*+3fSseYbkttaYhhPc;UvwyP#Ji-3Av`Ag`Cbne z%+K?h>(SB54TxHDXL$Z#L7@W+5XPUxAc+1Py1N21Ns#yw5i9nxp&}3pQhB)l9JLG^ zGtf9;S6s~IA{+u&{t-u)e0%aBKuEgpup4_D#8Imy!hscO)o=` zWN$uW7?Af@NdO2cN7?Euh$phUVD!s+AJWqd(4pfs=N1@se(T&|z#q4I@Ox_^a z?#BX%&T@XaR|DV%ep0vjz>RLphabua|Gw?-84^*}L>llr4%})$>sJI&lbX6%Mu3qqpg0c{fYygvP5M=P#{<6D zUqe^!gXR5h2`u6Jqft5!DT^Q{x%)!bve-;=mnhp5!IiSb1R=|U6u{i-3<-VhbjVRNc_gN&j3#Hj8y*~k;r98$zjNi_xRRW*)#8cIl4h)0@9X3S^);J5@q z&LG3Ovol(4AnCYEl&;lM|3-I;gTkw3>H+s+V?u*%WsMRy&5^I2C(x3PC*nnYw_TXV zKRa`!9AVU0Pw}Zk=N$;a#AnVP6(EpiuG8#;$S8XWI$yQcS?gGuq>*728%JtjP)|Gg z4>5veHxG2ri4e>-x>^_-6Gj_mFCOOzloi;;>`B{Iw+M{J_|4Qz58iE5nLxqRSAn7e zd!mFBkYd@{c`xf9)uh(c9*1;O4?Y%%K|TyRIa~oZ`*BPzLb;!dJ*qDjR+bkH6%6aK?`goK$Qw=a^P<2ktcy-PDM#sN8)q`>7Kk(DxthE8 z50X1(NM;f==4pa9veEda61G7u68XiS+Ksw;=RNODBM;H?13z4kubu1_73>vDFDH4y zw=IT9AGtcRjANc4aE6xcOmm7Dm^+VuOu~s@GkS}EX*MH=JAhz=*qgFy{{)2@q2XNp zsfc!ImP_U?*Di(2aLO`OJTn8zcXYKl9F*O-FN+2qg1iW&_Y^0k=?)JP=Gd9^D9oXf zE#0D~iIxKrJ{ndF4wE~gRS50gTs4z?)H3Qxr}+HYH7%y^SRq7P+1wnb(Jx+82gFFk zPBI~aGq8u%_mw8tL==iF)2M1|8)_RTCI?$5*B(CBe(c?&S<#mqGO`RF1%umAmJ`<+ z8E=ej^!_zqp8Uh z<<19@V3#{u4HHMsNR=cwjwPEXJ0cTO8MOj3v$WhjFGQGY>CGx4srA@qq%<_@2!$oW zOC{pz3NX45Uj(*ipdTHuFK^$Sr(&fXY)DmHe-7;Hi(U;fgNzv9@y4+~vK; z&X@Kc0V5zMelo=JAmA&~=IYl~lZ{6iOaN&T{91e&ViUkARD^H757n_5LJ<} z;0VuHAei`9r1_6|!2Mo`fDZWunC1L&2qw+{31wOKX!kVkpkSh3f1D5t*6)WU?7L#8 zcpvVO;WD=*RO*qiKyU`;yx%okvgAF6T=)+e*1-#f*}njqE5{UM6!$pIUbuw26D+}U zW+ao+o^n{NjnTN}(uS}x)Qq_W%j@{eb@a^gnC<&cmB^0e8Fm(Ssr9d++I*N;k%6=f zLH6imv~CW(2uZwy!gqu^3Y1_U?iuvsQi7w?4x#Z(ebuEMA!`q{$FDIIw+++k>1gc! z>P-IQh#b`+XU`9}^!!Fa!=U`ho;I&M{@0pdo2M<~A#>jxC_(pM(_4gSxp)!!<(=)S zh3vG+3p1w}DkD?;U*^Q`%`T>=((OA2 zxTe$Z`@^@rPG2&{m=Q12?{ivLcoD4r3~Bz(mkMiFY)0UwCkXW4^hW;td*WB_9N}E4 zDFn}-za-*+M`Ztd!}c535K*e6AAAsa#0%#mi5>I7$y`x4!*G(<#{C%_WWg?|b3jcN4oDUAXVPY8kI|yI%HQYIN$k zJ=4Z_T8|>UeF{AeC|PTSx&^wVQeXyib+cc5`j}NmK932Y_X-vt8XdXf-9DJG6QNxd zBh)g`@8_tukKX@kt8{LWJH^4C5l@>yFI!{3P-{5g=M5ZYl)jNWsqMNB$}8$!E8!}& zDdwY0#&k{EBipKX4;^w~tw`L$tojtH)neGzm-D9H?0EGm1kNGlE7^6UaJfxm_*&nh zBU{a?^px-2$Z*K*(qYKqT+{$u-rOiAHlP=<{RHN=!HAOX?5vKr*Wd!DP#p5Ud6v`A zs6apH-Kfqltb^sN3#xZ47XDD+Ed-5^hFi@@=3A@_^F@;9Aa0W;p>6ekI+G|i4W(tR zPF3Sy3vguqO8Ez zz<`!hf}!qu^)T+MljS0ZFV_6~c0LyEkKVnAH1@RmvoZrRE(MW(XiyBUjNWZHwF`Ll{W=UVD6S=%X@uUCnvYB zAfn^P^(NrC$UtL8^h%~253iNsEqvoBaQL#^ zZ87%Yed?O2B)O^bYINTq^XQG_j6csG-^z+-O*P9B#x_cTM+-`DS|^;|3CH$nekA}c zL<~*=g-2+4a7t$t-~;FWjEc?p}=N!@DNU0^Fx*#HrC$q^uX3=OYEd zeR5YIqLl5PM2n%1?bXqc5VEPW>(X=5JvH&o)>5O-a62XVaig2}PR+bR1Xb(1dv;4v zn&uOU#c#`tmh;ll{L!W0!o)OzDO-*>cnZAA*M^(pu(jy}wGe|Vb%dV4hHET#dVHBv zj=rVm^kqrTvdr3&uxi}9Q*=C%`X42mGRkf}!zob-Ea)60Pk8-8DL9f*{aqyB%;WiG z>_+FLZ#q4Y(u3tA`QW>q&*Yjv%E%RxWrY@>s@RuTmfaejH17n7NM%?)bAUV59e4*%n_oNvoB9y#|`x*ZZ#l;eNe2P_N%=$%#+Gn)*dA? z8X3L%*i<1y=XiSb1Up29A7yVriWHNy#8+_sdy5$C?M5@ofU(oMApdu`Z&gjC3f#4} zCRJaJO^sMnvw-sJnqZGCXGuqIsyiGygQvY^JPKh}6YCQL7w>!L@_Ha!_7t*XLBd%Y zZ1|C6`MUm2a^c;-#^--;@xw2z^-L({dm{;sTx%NbkHSoh;$3zDdXK(S&=J zr(aqR)5&{m*2B}+wFivYRWuW>;8<{JhkJdz8vFZ%7$Ir-Fce+r(44*h75gEm<4G5Ro0E zQ(RtzNzNc=ze7+-=h`4BPcG-1-XPMj3xhacn;4TEp+{6*k+IVow`a(Ju-eJhdv8wu zrc-yb&DM%D8KOg1XC`4I~@#M9vY0XzNuKyA>>J!}1&7&7|C=Uf1PyZ~SZ zb{AH}S+!>d1^vH?{|y-XXQ+xC!Sk|phV#p$^PpMUwvj8tsxwlI+$w;;lm;Lr0kP`i zF4P3hwNpkB+Rx7zE%G8wT>8m1!sA2&1fS*qN{@jV#jKkIJXkz^B1PUKCrE_w;4pP0 z)k8GhgEqmznzfU~gt|04h@6T>d>2gO48c^L-HBgOh$OL~w+_{|4q1I3j)zGa9Vf#k ze3gM>)xe+gMYp6h&&tp(T%H_@nn`ke{8OB%ph$oWivMF}r0sz%sjJw$i!fanS!Xq^mdE_kUih;ciz1)3Ffak zld@w=4jyC*I|wB2?~C{WqH>y2Mz#W~8X)_-6;}H=5QbFtG=0ZJZrxtCeJ&Xctu?`_qAx)BfH zEZhN1!r8=AYFSnw<7H$7VNeS=a=~YM9Zos8qd7}53-8Lj{}&HzqUm53t#Z` zvG$$Ahb;ST!?$nGcHBUb&CCcDd-KJ|E=<>{ixHkcy?J723L+YA?AaTCk5M{hAgQH< zu$##l;yIuk?liEb z_6F+zj2Wn(zOWvYwc+HGuRnyePIWRJjQ8H}#lD3pgBJ8>sdL=JWpNh)IPH=97& zkkQ9&Ka{AHku5lmN@6SyOHD&<2?r8Y20{tx4sBe>fz>NGcoSd8_MEO=uy%tA#IRQ+ zaOCw2JjwPyHCL-`c6PoZxpjYtWr-lBdvdPMskc=fyU z{pYofG8&jW1G)H~GX}|MXgJ-HgmCFq_VlUC_A%KmhIax-LK{iIf!`Wl0K3`zhQfr7 zVw2BPoxxO!?K!*cxA9V7iQM zkmN18nPA*PQFLs|f0PFT@L(}3@}Jz(I;b%fsy`^|P&OJP*J;SaZ4kh5f_uT4&ekJ~ zwl=a1%zKtehRL!EXaUT#^F>wFETaN}W{E0@jueZE6~GGJ3Q&~80E6sapeWd7??x2t z&)Vha8mvU&FR^b`X+L+Hz!V8mikBnmDt(#WtgHlz+n|e-Y>!vU*N5c}J}+-b8O&Z} zufinv2>UVq2BI6|FiW0+6D%{ydmi=tWG4g+QSa!u-)5D>&=qm)+cSLs#q70tTf8{o zlYUbqszW-w!OYzjhUrr82X@(Vd3$aoGqs5F%}<3Ni@+8`Wka>z$-Z&i5(jaaBl;5z z;9^>6ZB1deZc#dK>fI zpLme;4ip8baBh{6BRC~m#&|=VqX;aAA^dsk&xEpS>QoYqLd~=&E%y==Q9P+q%=~$) z*(nvz-nWMH>abHR+!F{}dp)MFm3NKlstRz51Ny?g@N5&NJi^#}x{-eBXHxHj_UH(c*24uikvr3uOauro@5=X{Z{f z*kjx0^|P$4?O5DnRl-besJI$rzbtGm5)uDM2?vc3QN33N9$Qd6tJJg@=MT2zh~TT* z(Qk=gdRbG6`Vr5R(U~oukvSux>)dAjEeUTbq0}@lD{J>8J9ckKF{xaQ3PC`^$LzKS zXlJFAWjs~7Q03GnCu3Nkcf2fQs*l^U&+^xdaX1`? zV}gI010-*EU+)LcoHze`)Nd8}e=h-wU?&GRp?YUL5K&hPe$L=*e&&CM%BouoAh<5qy^0qY(&_LegrY`@ zh?}qZVeVF}SZSPk*mnd%*?Pa^lRt<85EUqcdKaI*uWdJ&+g}|?KGE0^E#hdt`?`I4 zI?yL*wEQO4{&bF-K?`4^{EcQ{4>!sAi=hae22n-WE|j*j75`StQY_H>DX$XF_atX+ z#W;)Cue;EWZWa;2MiX3nUM4Ye1-4rcjK@X9XrhX}1y7JD#zM1BTw}#Ph}5GYdZ|tG z5!VN&<;q0%12n$?%Ga0$l3kusHPz5ZUHXrqilKQ{@uIF#*1WZ6`iQfnBw@?Ca+bj! zy3(5@!YIp*vPfQ088s^yxAc(pMo#o)?Zu@z87QsB7}JsqLsh)J3`%?Zd|Cek|Ni5T zz?Y7eKwoklcWDE>TX=Ju*wsN{a=VK=8JVQ%(j(JI=>S&qpf@j*-__T%fa%dy-jR2s znQ~&fE3HKw2RXNrxRxy+dp#hWZ$XHZ&^G8?k5u zf-7?}VaemJ=e+QlkI+Y?bloE}Of6a~%!bByt0Ra~$ZQypO+!3^%TK#M`~n2+biiYO zcSm{X<(w@i4ZNZJ%xOQxV5K{vF`mQbb4o*c5ETV`zJX)_EY5Uw!8(=24{dSxV3yzX zcx^KN<{mK?r!pxn?O!4`W=XMZRT?wrTQWZSE;Yr``1& z`IHfhowc*IFue|P3O{wKNm>wpb|HclfR6MgEGFO&w*i1)<{l+H%;xL9I9%kPxzdOoCjKN%X%Ztbh-ErAKqtbI;AVp( zz(bQgh7wU5?yYCezImDUc!n-PIrL4V`*DtXU4({J_B(-*3@mtAd;Np|3QS())n%p^ zyblsb(dGN5SY<+=3WfDOFle+<=!^^@;ieb#C=4h;sVrKMvPP~c@*r{*z;?3=6=rD{ zwpn5Ud^JRMJq!a+IYlsli4VQ^!U5~|N4OOGoDLhJklvKWzQu1Jm+h=Xv}ONFIeM*n)MURB@5 zlbq<5Pi^Hf=;AbonR37e*(yAdsqN#Z*I+$cKLh9B%BgT-C2;g?DHo_bR2o5eO-Hqw z4`-rS`H{P~>@9ap>~wo}jaj}dGbBowsLuV^8)LAen%lJIjRw;;4%hK(U;W zRw&b{+%fz-`CDX9HX^yEalPnt2@)q^~&^e9k_^C|?jUxV=3(5bF05pStpK>ll_loM3I zOBuCfR}4oKXRifs+S@2i0LndYQK2L0o+tOg_eVeGSC6Lff)UvaoQFGW_pKh6B|07R zBxQaX*{_zx{T`II%|!FCzJNV=g-k}{S+E}ll&>ox=_zd_HnFajVYo*P;Y&bwugcLm zHMkggo`f4)ve(fbMJE9zMYo)=;7nck>Aj3ST~f;T7>nP5uaY#i4XKcMGfn0Nz_;># z1z&{ABq=IHgt|~uM~*m4hL8mHy zYhK7ElZnXCF8=gAw>VXyA8!pma)F7eJ~t_*lY8^!SkVy7oHq*lVJ%tIsP3_SxxQem zjZ574ND$y%2iSImo1B3$O-xQ?!bPbx-ODbcl0?glJu#dz=SCl;u1iumKcDsNslky_C#J_=xv+BHI`l4$iYTM9 zZtULrte4HRs*m6DtyAW^XkN&N@a|$mYjs?n+u~OsdcO^(cJzz|(>!}R5Zf19vrF6u zuLJ3boUQDG@qev6{TJ%=Kl#r5-M9bCUozYPOZMEzb&>_9m((~2?Wl}_aEkvEXj$m3 zS8+@8`mnanO|SCX6l68=aTPUWl>=Zib}9+z`ZYk<_r~2wHo(-h_M|CWgA3zQeVL6L z-`Xb4zcKRpuKF64>H=9-#5@OZzBHgpcp+CcpdBnXa)h#T{M>-)gxp?R= znDjF<@V^2T{BI!e{7($TZ}7;3?E>ym#_pNC<;HKx*J<(mjOX@LdCgpa#+C_Hranfe z8Y1&ZuN1_IMnYGaS+Nti7RT&cvC=`)^%QDP1?RkUv2)jreZrl)fw0;5O{qxpiv2}@ zVa2!P=FylIei)_%%pCgY^@%~Sw}i_F1(7d5hJY9$i~y)8pgJ&zO67wCjxQci{9bpD zeA1G9GWil3cb6V=fzD@PD{n>N)Mewm@F{vDa^9I)vk@Z0)a1t&XyL5_0Tql&o^15+ zd@qN+b?#Fg(VVb1g?G7rj!hR~Zjspa0p}DoNlj*SIme7tm|gzTXU2w)mP8X5-$DW2 zlyfHC&NKXaIKX50K^MM__vlRux`~i&j*3I#D~@)jBr$An$-+T9(%>r0%*yArGaSRy z7cJvhk@>bDQwgd1*&yLhCgp8RtjK*?uvZ)Pe2t^HHPLq1Gie{?9Uk;#La-~C+F!C? z27i=z{`ONY)zK*Vmmv;P0}O9FV^Mgc2tz}VMFPqMG<*7B8o5oOhscRz&JiPX%UM5A!OrUNi&&jMtif1+Np zHmG@YL0Q69To^?mo-fH38OdFWuNjkf^Q{{&X@1{f3EhKic@PYols-_s`Gn}0xQIgL zD9wym{WD#LwBBSUo~{-JI4M$X99hC6O_<@t&AKWW#S;}w9Rom<4^h5l9LE?x75(Pgid(T zSRn@3Bvwjx>SJcA=E3G;>fjy9K~%CKQ5&ft1_*E9K^dB0%8al_WrUx4wf zH$z%#DAC^l@^725Zx;$SJKY|$QuyKC+O3X)=KBlVoz|W5NAni7mUk%)eS}pk@y9&M z>NTYWP)>*7MI^!1Ab3!hP~G}rM!Pj|y|Ow11XZl5sHzha6Swjnt4m^?<*^hH(kJ>0BL}`VKTPT0;PAw71O3Pyy-uqU zcJk1)xMH%ZXRp)(W~EP#5+0_bMBnA`Eb2(_nUfTVyfl7AiOVxYcJ^8eH_?CQ%eS5u zsA%vSE(t6_3ECP`cKeDZ)76D?A3sN@x%zxkf{A`mzF}ZpAUZmYdh10T6&ArI`T8{D zuQ52T49pZNuXJ)5>$i$ayPH6<62KQ=Qdb$8a7ZFR=bfOQ6M{~6gpLr5l4N9Y7Qaw; zFtP|utIOv4BP4xh&@_ahI-y6Dnl#>CuPY6ofXqy`%F7ad0bz8+7af z;TW*w^cHs`3X31_2`_@+bbrf0EVOrZ+jPsoZar8SZ1(MxZXE+R)Qlf3v)1zx2MLv4 z5mYcyq9&JPls@tJQ3LHm3Yeccel<08jWoVD<2s|FBYF4UZd-w7hH#X+s!=WIqs!JO z8lb-om1|wNMBwE~Pm#+P3;vm)eS^A6TFdH)t=f= zlYvc3{>$1&iZcXWA@dWDF&2K9*79#XvR#W<@-nAVMwK$mhWQS5HL&O8MC5eQJeo3i z9ZF5y)F?*x!-49Y#v~@-nGww=1f29-%Sv4f^o=D(#q#O2?X&*c$a%8oUqi(GAvKN*}$07f3hnAIVq~Z>N*NtugGR8hr}#%7Z3He~k2;W*TK|Fp8J}KHotf{w9XX za=5Q=g;x=Dgta)!=qf_;y+YL=u(>0LfJ7I^P-d!E2ZtG!kM^)%DNTKu+_~XftF+{? zdnij8|6IDA&cBU#lzh_!l%9cp$R59&t=<@b%kk(Fxg5ek_yHN}_A?asQ3o*IzczjY z#mT2&0I7I%Z5gP_$o^a7LThRW=YRS`e{gSCCqD@O1HH;MRxUmBM&2- zMpK2pf$u7xq9lrC$V8xEN(b-fQzh#+*fmi(lDTAC5$6|Sl2`!}?*|FCUvBem3id1u zZ-N+gp~%ZkGac@b!^4BjQ}&XQsbc%w^)9R!MR?L7#v=o30PyBUGmBIYeSp>;ChFRP zD;a=;TTX<~)FLqbsw+P2VdV1ggRfFy^K-_ANGgSKXhn^Jn`!k-F>=Fz)6^e`H4vmX z?wtJK6m4^f7(th2Q7sd-=Z)_ZKd&<5aLXMqgDR(Wl*VyCaM-yBV`i1`W;1sZ|+Sce9g!L2(?z~YP zJ-jCFn(xkX7sb!J%TmzEUM$T-S~xswP9DPPzDynPJPSk8hPNvo+o#Z>t88p|do(Xx z)QZ2b$Q3Eu0nt*y)7glRa^OjSATf{Kl~)Z5x~@_??q%FS4aWFO13%|ynF0uc<_pgr?r`GrK7b5+i3ey5b zl7RZV2y-~!^lBQQ{dVbh_zSS22EaqmUjR5k%tskyAX}|wRK$oUNZF7Cj6M~~-dsq( z+5ZJ70~2thJ7+NauX=?6k(#FO-m(ynz8nL=cki4s1Dt-(!z-+NpR^W4ba zJi0L+Iy2}$_3gbZsh>+-5Y_*@v_dsmQ$u{6<|k`%Md5RoO;W3&{;CuE0K!)sBRx== z;VRK5+X;N%lkFS$x`z!&6b{M0egwq6o%jEh9)U1O6crI&X$#2$35lj_12LBaR|-w( zN>h-B)eSY#Uy{%_9y2NCVHM}a(Vd8I`_un=qRpK|1vV*c47=iDyUWWas7%>{h=RBa z5%ULmc<}NwT+HZjwF&CM2oIS1B-63P$p(#0)6{ zG@D~6Y2|CQgfQPFj_PKN%N}ytL5(zqj2iT|M=c1q`5*>3$-_QUlKivuvi4WiZ>xkU zSl1_T5i^n_*-!`n>2yGRFOafoJ{$N$`40*Cw(5ELa7Qe@o_ zSzu~tXKd%@!UomR$?eOOHhPWk(cupU%~$e1^HLbEqBiebMuDI09~7)_bZ`-@8^YQu zs~%(rDo-&fC3=8ZcxJ;gNt-zB*7Ue97rLHm1n{n=F~B^EtOzVC7MJ?5oI0-TWf>U^ zAI{2qf7FexuZeC4$P;L=V3v9AkCa-bcP2`Xs+UlXHG)j;r@ZP)J73ZV0MXU8F=Z6e z_tur+jU>7VFZ%e{+!Hztu+FjhcR7^)D5ZF$fLnr zr64@e-G!@o0aY5=iH$Eel%ahU`=J;P%uibn;5)p`Vv8M`d`ZNzP;;3$@o?eFSlOR{ zTga$QZo^05`AO8JnR^c{+9bWcJX9mu{|W#v-Pt{0WWuwIp|J+-8vahSeAr>Pb4h z!!dTg_V=e!+4po4j13J_Iju2!tm&1#jw)tV^BqeY=+%0<9?7-DeN=#l3w_#;ld5#Q zTYM;Pz&&wajsCN^>-lTbgPzhNr!`6faznILc)X5i-EGdqcO01jo{yGT96!@R9E{3H28OEC! z*N)-*DdWL>n74((!vY7hH*ybu0p!C3u>z0dAq#C18ssZ&BglZ0sA$E>R_&#C1CxEH z1H(YAgHERl6nI>&!3e@#IwDvdU1tXeUa|&tmKS2FURu{HxG5v(ZyRFv|8l^!7WV ztQ(I>ESwDVClw+@+=IIMok7=@yFrgXvpid@P>giHSPsAqKev9Pkk1TqyC-~ReUE1c z(@4&|@4KJ5pX*Jy8Lj#us!OG&>4~G1GUOF-WSnQ@;nMs})q^QVPwy~T zeq@1Y0!zj?((HEu6Fig)Wa<&ui?3m{ir zGh;~czKNt`eqY--WRKq1D!w z)sPjt7|J<(cGd?;_lV1P@pYB?P(PNx- zMI8}1p;6v|0yZ$Pq0(3ZwXL)hEghPFS8gy6<*pgiV?@bKpc&gJ)PM11RW(q124Y+p zHmlwY_c{n_s?^+ZAvvoV8YDyAblU2TClg~hYs^`h|kJeku2Dyct0GmRcRNrKCd38xiGCIOLqfT(TB3h zb1|jKJ%h&qe^VQca5Bu-)bC)&+RgTonwqSL74%V@8tvJ4kc23x1gGv~me zE{;m0FKY3IN~gn@b^;fH3` zBSYtXrggcwrdef)N|W0zM0=%|Nr2zwWgX3)c=3u|i$a3JW$@5`xZ#MeVdN7hF!p4% z&XQn16={Nlj;?=#a=ZPw2lPt17YR>ES>_ot$XASptVt^i7QoI4NelYgZE1WN;Mz^2 zI7zQB_aIc*Gwt)b{}Vfx5(Cw`FnHfywWhjwEHr(~x%nqJU{ytFcn-WFvZQeDwD`Iv z&&`X0W7;b;Nm}JQCgEE!G5qBITOrP$Ge7lfD;0hn;<-Le(vX%p+>{4EW|aF<9Sv9b z4llxYl4U|Y{-X(MW66Mr={@{k3*|9P4>fBCBU@g%-jno_cLTCX9O-QHKCR)-tkmqu z`m$`}hB^jSS_eMuA?+4dA>g=BF=6jze{_z7(!HnBp}G4{rPFit<;oP*QOjlVG6J}H z2>dAp>7A}%9I59NW3`w^mA~W91(ZP?Qe>k-NFDU^8 zGrsu@w|y{923#|MVc_m7&@g_hV3lq(_4?IeKgsTaiSA*Xa9n?9#!crU1`ySKogO@> z{e79NTGBj^_0d8ad*yQ9wLdFFe9A*{0Q-1c-N7L^1jfX!_cLsf{bi zYc7IDRcn)~ibLBSgdO?2Q&G7>1|29DQ`%EAZd`G3^ z=m`=N-JHori4cUw)fZa%n65{0S15&J+k3`qWkm&D6LVu{F3BB1L3`<7A~ zRJq+ok%(PlzzLc%3I>v0t;Y`VjpTOjbn(&s7AI6};8C2$D6Qgu*>?V7QVrlpaPu+h zpPE)6J{`dLEf37Uwe|mj)8U`}2uNa7C6f8wE70jV%4Uj7YI>>gbF=%YO!( zf2s9`_>QlfifF>S#ISJQQST*14d zs+G4%8a*XOqn947F~=QN`HrO~HIe)2eC*jwRUe}gu#{BW2r}gynyZNp{har1NpJYw zHF^Z*t;LJ>pqkdSxC~I_lmOWea;5UF^UmrS2kjxtMc$uRwu-RlC<}x%tsbXHXPwBa zG<`iWEekx{Zk)dG!xRXuo^5Wft*)3{^V(f|pJW;C&=y2gYc$bv zFE?E)kx@G7ih``~4<=*NNY@2%IXtUJe6x_^A?|dQJ)dX2ni>)8Ok(;>XDu(BmlIRV zy;Gy2qI&XzEGunZh)>?2MubCFuBCt5C*ygy;vANtl93~GU5Rl*?ti5Dk?(NtB|iSC zDH&sNM#jIu0qL(Cr~m9K`itZLFY&?rT~_O+d-*TGS2cs{r&iZA58#JZ6ij1#G=5F& z>akzwy^2U-i~F@xG0d{mTlfUtmM96{sou^1*jp!?(mcY3oiAuo_vMSjj|1iPbU>#q ziW?~H$t(C`VIQ?0YqhpRwt8A}^{$1^8)v+ucFCY)r69v`3Blw!zbI7%CYwg|ZE!1eDRyjin%8=71-T1dujIll}( z?JV zrl9(k%Z>8xcHgp@X^p$7`&Ze=r%!WV2d31xp|TdC7kT@hO!pLR_-H6jx;%*0{m{u{ zY2@XeC^ZuQ6;*CZuFGz#Px7&GM?jVXizZdbtsJzrJ;}&DPa9^E#-!)e)51^*C7!*k zQZCk()LE2sESF?*n|!A}w{Bg>}! zRYr!k&kXkm{m*7q=dEvPQFCFf>!EBr%_K?cp9}ai8NQxrk$o&6d$wTtqk(xR)*t+| zjL>&r1>d$w%J0!TZy`IoY~BN#%(`hq4|R@($fM?)4Z;3>Fu{^Ljb9)w>aBII`{j!1pHGo)2H%Lv+8V_=s1VAWp*#w} zh)scW&tGZ739BMPKGwPW_vBMm`^gi?Rc`#l)sXXD95ec26)Vmarp2|XZ zNsa2SRf#1#_3`5~Owl@q$mNk_kkOaW8Giv$Qg1dWYDD!NiFFi~)tS5FzDm&i(KV(U zez9psJ;9r|;isNB=YSOra!t(OtLicDXJt!!4zSE~ug4qTE+fd)7tl96QsPE)=Yge} zdvrb6qux_@uP$xckZK71VV;+8>QkaHodkIYM(*GTu2}-ZqhO_Kz@7s2?XBs0k=KV- zZ1{^mO<%ok$DBx>HXUmUQwB3bQHj~z^Yqdbt{2Y(p3*O{<)eTp2d7>ldHBdS!7~9PhR|I zYi+u)O8#dG^-z_S6Q8A5_|~#jKxX8^D$@k_)S`HBn+5@nXWyPSu2ZFhzct^ zZ)Vk-;boUzkX!PheD?k<_nW@D>T{`t>UqWfvHE% zoPulYC=zSeBth|lN}9Tbs}R0xN5&Ni98!9%-=bGhyU8^t%QwhPZzM`5fr#N; zQY6QpTma`g&hBL%nB6L~DDj>(rUkbiwl;HF%+evpyw9N16E<|!&z)!fXqOq-Wkl{@ z27GunN?TWbWIG`aKAAnW{EkEfF-Nf#6&D(QPc~h!;XZt5(;^x;MJK&lCl{${C55el z*c}eRV*T>E8A;beBjY zD4>9ZgoLz6iG(O!3ewUbAmR)tprn9+BEldoCDNgEiF8P}pmgUjd^etTk9*G6d%knt zcXyBbhs(@7Q}_Jt`bXpr12uUU@~r@rYU-_A`9lQYKC5#lQs~4 z3i{#g)L$OX$NmpJ*j&o0S{lpMj1YD^fNr!4Zk&7h&k57$a&&09>6k7r>vB|uYsy*F zNy1RppmSb$%x9Wvh|V-s(ISbc-NFWxX!7{jp2UW$Ie!Z|{k@0Jzdm5{``!Wj-zpCE zpZ>J}`oPUk5AiRm1=NDJ^qMPF8CD6OZXGci9liKUf3UhNPT>>+cc%{W0$is=^ed@* z)O*ScZyEN?TMnT9QCqm!ehb<-x(tn7wEr?&OO0RBtJlR=yQVa2#6Md{#SCtGTE@|y zf5Cl-flN+GE>MlY{RK$d<73ettGc>e3KV?pNx<8omdqkYE9m9oV2yteJR;QoB z8Y8K^@ddR+p+7ieWFTi{g%!~zmgy)*7v<*Ua8!CKToshdBB~@ZSM`QvLBDWXlm)<@ z&WLczOp&?QL3;OOd$V0Kp5Gc&cpI&f=NdA-!aa=i9rV?HMEp`!9tLQoIKQ40zf}dq z8|9iiHUYzmWx50ph7`C89nR=3M)Au_d%SYoj*+DW^A2bqa`>3S0b~T2@2uk2$v|}i zLuz*&^2)me#(M7?Z-Zvj2QVxgW3i6~m`N)`(QhE8n_W_$j#Hzt;2WQyJ@cnv#2T++ z8G!wB08O4?+wP$Vx;NAQZAh{|1>Sz17ln5K&4D49@9*|~CBIwAf5U!bqAYaI)!~Uc zkE5vc+Hso>3ggf2SY(Cpnl{?DuaL9-JZA}PoqAs2WH3{Mj$fK7HEGgt_VbFI0m(}X zTdVg+{j3_C%yKuy@1A%nW%*DLKMU2!y4+80z~(#gLTb z<>{Q1&(t#)dbn!>>6?WF)J_bY!q$8kN%TpP88Lf)I_87S{N>VRi~C1v6dFD!z8}y^ zPx;(?OX!gbi@09iJJS*ZWr|wvtoH$#ipTDVHdb;DpPw-vUl6D+)ee|iq4q@`M~=9| zuYh7qfNlPeS{i;*II)ntyB&+iz05t6GHNLh{5)Q~7{1XwUp7=BzpI>U2ppjJM?_=?C=nu})zim{VU6!^5I$053nbc@6ohqK86DY%+rty|t! z_5QrD$x@RrPSgm@Oh}2wNz=Ul zt9;W_qz;WYVv9h%MqRIjNJ{s*=cL0ULeW?ijH*Zv| zjqsv8QS7e_r1C&LFKz`sIXW)qGyeU(zOUgg*v6DLRp?F1yhPkqp_xJng*Q~M8aW_! zoDhU!4`9|lq>+y~a&86vreer=+WH|A*f~FKxqMMc*X=qhp&-|7TVQ)~(?)DiRLjQm zfk9H3V(Rh7Au>1!i9s}d;AF)n@21*dzH$D|{{6)LILR*brm%LABm zAYS9UD47A`_kbu3fzL$jnCZ(WBT{D*YmEn}nuYt;>C1}w75h0U2WpNz6>L9RE;hDP zFi7~uWKQQ*r{JKdX_05ysDP;oGaJigI)Nj;ChnD(teu!{s@pPIYA=*_(|Wg{`0?T4kA=aeDTUEbr@G6BFO+wr2lPkZ$-||& zAQNkA5a)zn2RUE)LZaV;~{R?5o{ zKQXkQBC2mP!>C%-ILpz8XFN7tzO|`Eb?)s`cf0JVS5Z1aRopX*1M*tKG~BC+Wa?*Z zlZaw(ykZC`Ns&piCN;HxIcSZCU^<5tiQ}2Bds*kqB3=@X*RRhx!1Ci~L6(>e7)Ox- zNy=1DeEw(5ct7d){Cx8WBPA7`&9oJN0GXwmu}D6uMhFU$?hp>{>w_Fju>ENt>Ba&Y zxE_J4iU2+G?*>Hus);2m8$X;c=k-WaO8d-jEmRs6FBH$kH|+J?r%{`W$#hj{7vS{7 z;B?zYBdtr)$4E+|&zDBg=i2aOJbh6b#J>~BUyIYL&3QG|4i8DPR2?S~s@vu2rLnr% z+Is+9?upX&kuYKuUErSdHVvM%>ew2iNW4ZOWO0gxWX#EpiA->mbY##nhB%=|(3WFE zS&DyJBUL@Gl$p!{nJ^%7eH0fnnHn=XLa$??T-G$>({0KqtzL~f-u|g_0r8;F;)s*& zFmVz}ScrctQi%Hw+;lVNNU(7Y-1gN9ci$V&>+T(b{F&LG*L=kgYc%BE@s}?V78z45 ze(XN$r2$mC2PW0ucDd3!RGfRoT`$An278(V$f}PW?NWO?Bw@VF zQ;mMxO&w0a9r<{5SkEhDv7uS%ZL7ZN>ofF47uv%en{gy8X&;X;c5-Llc$1$OpijSV zuNYIUL?*zUpW*tJqM@V9l;nQHI+9>uwEt{c`E{&at$14=Z;rTDPi4i02cZkf_z&-2 z*Yu{qz^8xx+(Qsn+0Oi%Q)xeM^#8ao2zQVAhNNfcf8Gsw8FTYUuBSR>w@jHig z5Db7vSHTRKk&{8HV=qYUE5qMfV)TH6qz3&4K4d@5jv4v^40Z52ZW!-lU40!E|F`(| zCu1MK5vt;J!e0iWOH$E3oMBuQFJ`ySQN4&sj=9iP8_wy0c$C}`;ZViIzc?gOIoJ6l zaDY0nfE#1jHtSkpBukloBkH4xh75hZqaOo*h2-oTzDA7x?FOya?a1X-w(_XL-JsjC zX5G=cWM>E;-5noNI+n^D6pN73TZtUWv3Ik#aVH&4=bFK ztYn6P2vc+y>o-38?=J;nZQb?-;Qolsxxv8ryxLc?(~WH(>)((&xnJ%hVaF7{asX+Q z?zI6)%kICeA{`wr%69>s1y17_%S-dPyPH7L7XI`lD>%mg?OZEArW+#rAl=wv(gZ)d zoHECuP5n=P%ERTjslY1F4nR(1wbr5zVx+fU=rO+K1u4Wn%6J9IMGsDQkQt1Eynzm* z>iYxVm*ihJhB^tQj&SDJEM)p(It(uBN%aAOe~cs0EYOCqtWs|P$Dy18q{Gklj)46X ze+pG6Mlinr5YW-JMW9U%bL+47ALh>|LBK1iwi9rej;m;+@5HYiX54)-Ij9|}>BFQt z_pI^GD*XLnif&?Eu{L!8Jvq$6YkS}`O$QL)VW$24wZE^)pVdy}I|>9fTFl2t)Gl&W zf8>haJK?TwtI$x z{rc%d^5dXg*>gZ+b#jk`bWa5}8^+a6$`af}w;+Lk(_%g4xU(>7O>J);z;GejXK0Vq z{Y`i^f(W$h#JkXYQsdG%=D_iR)XFP<8Hp(XZxaL{$F^;C*wc!c82G3KiXD1Cy4E7K zl!vB-%T%8N2?gfr5PAMpuAKLAVd0{7(cxeAV-qS z+Yc)zOm{D;)~1{GACLEcJ^X1mDCz*R`5@RF_$+FeuF&cA{Ynz)9nZTU=YO+z870+Q zF0l+?LUnN`mWyg+#dGXUqR(kXINQ4&n`vaPH!Pu%xVlm>uLqbXY#Ov}9VPF4`?Z z`&cCiykeRg+^<8Mr-iLU>i_ORf-|5gY`jIk697#DRPqktke4>7R2=0>vgoA!ux*c) z;Xtp!&m}1fUO#}YFzqGoTp{~HdqF%G4|DJA#40ISew)moaZWy{cfrr%S{iOTD*~w6 zJ`~g#e7CGdufTfqa)%$mD-q_9dIW1}Zux7nXJuB$smbvtMv6yiS#gdb$AF-;q0Wdd z9^K-AqTKuQ?#kK1^-3`Rv_|ng^-Sc`w_Kk^0kIW9L+>dcdvL$GqeTXWrSDLvz1fp z)d!~UCy8ozxl)!8=7+w?N0qeEGOT^F!~}ouo%Tt3Z1;3Q`e+&~Y=1{;gsD*-7axr2 zFkOLvkVl&*L_J7@kfg6FuG>G9#9I#aFTaxHURJj&AIMr%xOIm3{HmBEJNvsjP@9T%YwAn}a3NxnR+ zSPk4>d%M&WulnP6CIZ_ws#p|Wql7ig z9YCwp#k)BmSJzc+OA^Rg9!2?F*`G$cDn?n>pi`u_6joD?gN+E2K9)E!IX<`)AXI9x zdA4&zDZP)auEyA0l~*4Q=ud(}pG1zj3*+KK_Q!rGs?>Q9%L6|H`B zkqdl>4TH(X3$Wh%+yZGvTzp*-s@BabIJ$7M6UBr*L?!oxYw;Av+RftuX->5mq(E7` zdOOZp*l%!8P{*#_c5uGAg4|qJ6=zld*i+WMcHE#V| zl$31noiBI{^xqf~4ZF%`U?D-nFbP0ide9rQ7uGR;@m??c^#lt`P3k|W(%hXFv%L~D zwJL@gvW>*c5u9trDhOX>;zU@ zDo>;EeMIRKnW_8CDCE>SQ2JbQWt7zjGw-&~=1G$4%Ms6<;!&z(U2i_JajF+_8kE(3 z$)*MpIOmVTwmQ?E`UBuED87H{U$^Dbm$$rOR$o4l+bUC^(0oTjJ)Se|7p3 zJFQT{_yJWp5~e?)8lUuelcLTx(V!Z8+feeeOIlV|%PZ}7nN2LuV$t*d zcJAV90T2+k_&vo`n5HrVpi{dpElMj0HJK0y^In7k5MoOUqyA`Z6lg;CUxwT6+|}MZ z)vwTZw9+~L?i^fgH=u!F} zDUheA$1fcKfsS`b9EB~As=LFFOEa*I{zItrq z2BxhTpg{D;eT0cB_M{_&*+al>VVUAhLFAQ?H~JBY3%}lQ07(%aKzG`)g!OJxHI-!3 z4#^0 znLQAL{l@IUF9j5bTi~~37%)k9K~CXV@dO+g#=y0`Y3Mne@p&ijb^JNp4>VOM;+KTi zUS7zPXWHO9fJ&tz`AEOmh+$~n`+-{#!F^zs2YUR?7W{Tk{kRFqlw3@mo(TX635&m= z1~fMH{a6nmhizEc9n&wAgdfoz4rDv*7eGaHCg5&91h-QIC73I~m5*Lsqj!l4|6jp=|Rz?79fG=hqriuEHZ_|E|=vC-%v@7mc5q2NdV zH**NW{P%AkK*gi))p40}faa*tBB2F{HqB;I~Uw>DTe zrV(ed?$D1b=geo(+a<-sWxNndDl)q5L9Uq2V#_z*bme30^BP)8$oeg8c`5Ze(rtY|d2R9gld|;ybGfm*}AA%gg@vxlqb!mYchF=@NyH%CZ;DyAui@ zP;ol}ceq}4iD=sWi?slc^#FNFEce#>11VlFk%$!=nq#0&H^7nD&SBR(m z6J*_~Rf}UrbnVQv_+OVWu@eY+2f4CtOeX&lh3St$;Fl8y1EI)@>D}Fq@j^T#w?1fb zit}YqxEeSp&bgl~j8V3EV#Hx$5-vZh8RlJubxa1g08;qIb^YQtCm_L-^h0oC;Qd6f zwk!$W017Il@JPu12j6)g!LJIE!)Ut4d>AZ}rk*aSPnbMbNzdPh3n}fh!@xm;$+EW! zFPD0RB%xSBOQwKXkYH4cEcZ`5`k$co(j;y_k?xZCqAByD?WGe#!GY6)vPtHb>^aa) zH$ByHqViU7FBf+TE>J6!L=6lObBYln+v^$os79z{qVZ(Z<>eim*fCEUQ*HZrF}iRp z-7mECVb%5%a+P)>Q`B}>mmXtK$I5k|tRtHh9(ZXjJ!CB-*WrHRMzoz!xbMZOYuCKP z0Bxcgy?dNh0qsmT>O)VW;*xlysUy4GK$1@}5w1Lqc$^0kW2=6Iy_?%Kue>KtG0}2# zUk@iNVv&}HxYKr_JXRgYC=u@Va&&0cZFQ$e*r|L?vc2s2LoNphlQr%h<(J^-XCh?w zA$Yd^+5kcj#ga5IH*&Je#j~H0xvW@c^g8Sb+*N5zz~$H!aFW4qL%ncvvYN*6uG7iA z&cA)T#qqV404MdM=+XPcYuIK}IWl3=bkw&={nj&7ly#!duLa%GbDh%SA5zS)TbsFa z^Qxa&Jq?EJwHyg2nEB?YV*7dyPy&&w4ow&AJ zGAaL}S-)Khmsc-V@rXlhT&jcJ8N8P0nqA>d)#TLAQD<6S>PQUbNelwqw0o>KE4Jc8 zA78P1K{Fz4(y$tEX8o*7{Ps@F$wvvBNJ7ZxkT4KOG1Eg!bRFy@78@>00e%{3#6N&1(Wo`Gj5K7s!4FJrL2%tIAQ@Jyy*lkKF&u}?5h3-rY zzN7_^4i<5!5PTCD{7QxK z#~k4gGDbIt5$tKs{Bz25|{FYQLsclq!pS=QAN2z~Mlr2fpf08q4yEE>uW-84{ z3}&J$COh6H?zH2a{ieeC*Kp=PTKJEpl7I4gct#&tOnmiEAdW1A9YC%i7rp@>2DxxQ z)0Q4U1uE?K0{q{f>ye}O)n3DspDba-6UQzV0Kj7CUKYS6vY_VxxhUtj+1uc&&8{A zbiUy=Tuu!)Ti$yPU0cMu;ltO6B(WZ>Y;SW*9(XQS+3g});BzN;RnWxr_-YO{sPJQ}l%%gB86ucXEpu^J1W}v|n)nf2XDUWgGrA zGsnJMj1X(bMg$~61klYe4E{viP6XE{_$s+tBA~GToQ9E|43Ip*8%(VTfh_K0ANTGv zxgXXZdzEcm3^NE!hs+V|)>;qAj$9D(aZvctYyD;X3a%nr>cfB(DRPgWiMTktBm49uP9!F+UUZ>zQoq0QpQpM}O)nY0%N|Sg`Zm;^fB-rki+eCqnUCv;!LFFeYtyUEqMr>LWhM{tx4n~xnvO}}Mo z*>DkR?Jf{oFj`sKpuZ=$3K5b)5Oh?Uh5-Bz{0G2Szhc=xdjP^#8rAoJ&W#K$CCp6` zG#Gn;EXD!E35|StrDU%=$8p$0Zb+zYSz@w=t12}Kel@qhMql!07v-mSV&oTgiu+a> zFoF7PKih_JD}wa3@@&O(i0MXj56D0zn|NQMT_CS;V@(ubD`0(_u>+_Gl)SXpKuI!u zH)jS&dHm^~CMo9eXhQ=G!epfAsxf?asJckzK^y~!8ZZzX#>RLu0W42RuYlHE6Kh1c zlgi(N+W#7>_^FNjk8ferJ)hJUBDr`haW??!3(@&#xKhkACw-LH75f3r*tOQ%VW3lT znKd>d-13{({&Ur+34W+i-?=bXees=yh+r*mGypZ*H^P0PV+Iv#!xhKDD5ZxJn6|!! z@&}WaADe;W9b9D^m&W~m;rHeFLmGuB8FRhT2B<7Kxcv#*L|_XJ9=3_nFUf$Elk%(Y z{x%Q&&)?}F{3lweB(q>uIyv0-7?UHd{^;AO`|Iq`S^}61PY09X1d#YA_{>ZA=y?R` zIi{W2_^oy%=J(6KFUbFeg}}yq_(|lTKgI6)v0V*euu3#y?ZucJQbqipqX$N>M!~0b zlYBuMfAb0a%`P1z*+sflAqymzucNmmc^d z><3MKsqJx=7@4_Bgpb1%PXNJW@>(uKGZ1w)ch{fT?Xq?#*6-q+10=xqtrmS=pm z1}1h}NBDW4XQRFDKO{HjdZ{WShKn0SK@2(P-Vy34I3l<_q%%;yHq>Bhc_}$tJmp#y zNhj3EN%*RX28la+jMxvYa@=LJuxsoXQ=mpSPpbK9*H%#G3>2=^2VHJr34jtOTc}mq zr`pH6Zun>xcZ?TDxf9OE$+9AfM_{xBKx?OsZ;??Y&=6|SI>`c88gouwu^>)73n>pwdy4iu;F1wilr z8UvDyM?o7HJv{lK+-yHSuer3SWKZ~c?2f*q;hyLGT!_F3Lg>VHs>goJuFETHz6aCA zQ9YRjy0$*}hOwCei4@R#MJbMjP6Vg^_AXn%Nax-KYN3jLOog%s29E{gUwb^5z4bgO zD|87np7Z13{1nG~u|bZ~l&&q9 zHPJIySFq^HscuCPo7!^f>eI5sEb6;iiHDU)8}px9r(q32kYV=#I$S-?Km)@zXM46X z{lL`HTz6Zti|pX+`yJevnp4Jm32Je&nCoxF)S>UB||sddpmmvHM=GXeNMYX zD0Hzp(qUtdbe_D$>h}P3>SGT%wl-i&|K| ztl5fHn4(DRqU9WaZmv5Q&*}%8aIE)n5AcdzB5$S_e@S90U>ZA_PIEIvo*hF!&9*=a zUw(utzaurEvx;7$$kWyEJihj^8{=*7KgZqGI(~I5t=S_yn4vF=^E`SRSL*&?dm4~5YmPAU=^(ORAI@eWemZ? z#G-H*=I4{9kv!g>cOI-K%7|Vl#AGDb*dbCgxbqga>y4qnL7Gez9*R50i}?UBXTzLEO`^EhH(~ zKJtz|a(i!r(8h?q%q9abGoesP?_{W>VePmMW>6uR^AnH%Zywn`Vs$QgIxt<|df<*X z4>v1C{Y5`o#s}hLx5I`37|HWW zUTaCt2+h@*w;e7`yqbwt_5@1PZLc8A;5`y)+T$`3t(F*Vs8hG^oA=Ti3aAz376!OW zR%fu(oVXSY|wwKNvo7${lz!IX{R`TDktxvvYmFPuf*8vvuQ*`6B6G)^ehZ+l?gZdoO-pueK;q`&Me+! z0am{s8ABoO?CEFY^wF7&B?yE+)jZgPAz4Ztzj zp+%$n{(AxodHbO)Yv{IV;mB!I`pp^o+FFp+v`q$vj8N02pOrvLJ*`Yt~Q?Vc9H@B7dw$1ZNgQ#!~ z?G?X@gk@%TQ&}>=y2GT8-Ux6L!EfkR$NcFx!qB%&QsSTU4uJB$W_5G}wk3WnEI|UB zK;YsQLg1`hvjWXLAsy8A*N7&6hq(~*%co*@Gi5=io>8OL58FmUygQ#j-{{y)G`tJFBM5m2#jl~`x0;Zc zO(3s{Uk8*6Dv+d@B0!*MKX~tnEeI3d1R5}H077%89k&1I09qS@j|xKY8&aq(rmYr; zsUJX6BpUYDq^X#@uHE;$*;tcu`|eek9fIzCT5{hQEF6sLO_++ea4fnX^Fgru6|4{A zMc%6mSb2c3Ee2Z07pEPU?_Ctfw-2e7+x1$oBZ7kdphZXF4y9_TRzs_#yDG|}^53Ps@nn19Rx*w_Cb$vZ-*jJzNR^+2x zaqv`;mE>6D(LjZ=!ZCJ?)Cb~cUv3+H(zU@S(#9$@QR-B<#BirdX)rEPgw^>F6Z>=Z z>z|JD|Bk-?50_wM3lo8PV!dxW=RY%>ua0Thd6s9Ml4KgeZ*L!5wK~}tbT=QS0fOio z@VjbT{;QO*YD2)u+daC`QSmg*>;>mnzX=Kge;|4k048CR8nK_b`p`T`YSt9A`{A5l zs&Slor*Sl7a1V(N#G1q%$14_WLg}hftqCViKQQpPklN2u?84rKv)7P*?a5eNF_M^D z)}S3FOzQ9Iue{^xjuLz|cp(A1VhO8b@mA|1Cf@+AIGECx(%KHiNgZE$UB^9~yk@mx zwRS#AD2pf{;H6ruLJUl^b;RK|1Cct0(xg4n@OG;42fLd~NA@l#Y@YVECF&eJI#@RK z=rJ~;eoV<|*b+9-5bDBc4JUhgt=mLJRiD000g(T-*yF3bCa$z)3uTEr=Zt`?B_)LOrzWzrh}~)j3Ja`Xa|wUQGmw7` zF|d?eBf+Pwnpc6$+JDx9zRrSRm6|{I$e5+tHM?(QR@V(CWtcJ4(#2u3YJePfV4DhU zb=-zqTcz}MbZ(NgiI8)OsdOd8R1-foCaJ-%OnOcNKep%GX8;|uL zDm-myI}yo2W1OP#&>WMg=|aMTlgOEZpXg- z>&mo@0MrA6@qK$);_-Q2WqS%OQl@)60y8_$ob!q<%>-ElK$TtDsEn{v(XkwW_Pg`K z0;~0WnKIF&XdNVpI1w{(+I9G}X*eM20zZDVT}53lvR+}Xx;w!;EF`-3r*r!;WUw|sT&T?Es#qz6In~$xXlCC zz(Lxql!D@-?z4U+CgDdq(P%={v3wP=_Y9C8&aS`V+=BKITI*5=LH?F9ES&c4C1 zyf>mc)Ci;{i%}_O?k?gX2^_a~TgCFDBnWhlhh8+~5wO3bF~R(LiGnqmq?hHRee@%J z8e9lNLc77ydgiiz7HxUPMwg6Q0man;d6tg>AMa%^oyW&L#elHbj<4<5_Ms=V%;LFx zlf1*ctdv@q0*BexO6a7fqpyKuL<@B7=XcsaZ$CALk{$glNJ$z71<^q{tezwaveHCI zV&m_(J zchs>~cKkoyxVg`cq4vXf;0N%l_u$K7!~fw+RlH!~LHa)S_L~J0p~*;s(y+S3y)b~w z`?h-a-!u&g3!9V1QOJU5kL5!*ZnyvM+_V@$@W{P)HgmjKz2!91Fj}ZFw&A2sR+MjlO>c^hxPawWW`s8dSHp+z~p4d)BQt3iX z7g%v_x>YtINdhJ-*YwmTEO~fXPsu#xHo-rpH*FDp!y3o^ou3_mkH%KBm7- z?PqI}8C@*5{8fqbhj)lST8QjzHyD8l!SlaZM+R6{VWzofs7)l^w?D%#x5$2G$R6V| ztl_<*G_m_T=WccEVIZx`fu8%vp?ZFDI(fXnC;;0tR$-2OA94K+^jZ2SPu7isYxIw9 zpIMS7`@zZlHNpnWjskn?ZHue<%cv{EL({X1153td5?LR#UwD+=6{3Wp&?pX)Z(<#k z+1Q?FzL+EPhNLZa{0{B@^%TCdTCl_n7z1TqRO~Vc(n>YVO@u|VhsL*ou0GrKpmrT zQPI|d%6?Aexr%+DE@*G`6E;cYCnm|vxAnVhu z7_aA18OgJ}p4abm)`lzLMx1B{`oK*k{tD+w7G+8NPaya{eY2^5uQlN+1Wy8MHAi5; zXar%V3PC9^?z_|gOZxN)qYxRiSw}{p1i?0t7_BX~(cJfr&w5GtLb^zTbLqx;X%fng zJL))^fBSO(6#>Fm_$RNsy$&5oiA6^KF(>_|r!2%iE01K;BpzzWTVnK z7xX3ET*<{HR@sRVUWCp_utSyWNKDL5 z#Q)VzL6^NJ56KlDFgRp+w?J0E{p0*u@rAEf#pGWI9AQj^f}A)WxW&R}g5p!R+hH?I zJCmnAqd~>E0qx$j3&bXmftqj}|K0dWY25EueP4-xunDTfUY@X9JD2(vD=l`~v5pwE zh}lJn;xBYzZXj{~|7{4PmVVlthRZqh;-7@6iZXtw=#Z&O<3FGo^t*lfnBAX&)a(0F zaie#TgrLjvoBU_Lx>T5E<)>cq-n-JkhD5hST(M;(o@rU@WqXV&t{=`6Z8PeIg*;e2 z*FZ;Q&dli@t~Ae%VKYa#z_V&AcI9*z?yUUTI2 zuzDHL!5Ts{u3#5NQk6L;So2xsJOnV`Rcr;LKAb7nsI6lS z?#^Jr^uZJNA+?6QdLlmt%10MQ=;!CMc04p?Hxi=Nrkzc4B0bLzmAx*16?Xk?e$0qM zh-f5RPy%16zXEgs5uV1uO~4|rLK3=-(63NEy>9<lXFBse42{oDjEi`>epS2}^SP(PpSiYMi;OvY5&-H@;;Ll}?zKN;@Zg z%xa81U&UfVdvoEX@54R`jk`SmtL*rk~G$Hj_s?p}0<*WS{**tjJiU|h%5LeEKmOTi=T(R(ctK6pWHy8P2MGxqF*+;>?MG zD&?2)XM?<}w2W|1BA61~wW~A~#%(F)WRwR($@;A&?UHz=H9{%3I4E+y8rc0@Jvnt3Ts5i97hlm4RuBW z+q$^b6&S{bD4Kxj>RDR@-M)A-Lu4KY*Lm4#(ioMgduv|9#f+Ai@6q%FeFiqAGXZqd zgL1i@Ts#&<;bYCLT3s!B&s^WJG}h^-FTRqiNlT)G`u|z&F;ehq$$Ll@>@S@J}goKV~5jJ+-h%yV2 zI(H^{inE#H0>mSX8GR{Y2qWapv5>pM+o}?`Tet;B^R{mq47RE^zSv_doN^jkz`Pgd zKw^n;&)rkEx3$7+V!=jV#i;pe5xTc4n_JPxo`2kw>CKvRvHeX_UWkMk((PG?<9yzd z6zJv>rzWnIJlbvAxiFtxUUHqYyeq>{RkP;KTMcHstC%M&9QP`ZqSVGD=+(OJsPAe$ zb@-s=cJ9bvwc&{V+490DrK~;@n#?!@4;E2%5mp~q>Vy=5yMA?It(*EbqpNTiO2#Th ze^ABQi9%$m$j$78Fp17<1plzw-N&#>)cN-HC1UqMFnb;SXh7Gn{4zd`0FtS)*40c@ z!|Q50uEf^__@@av1M#1LJ2+y0^Nn zu6tVe){RG*Peei|ZW?fD>b=d#d|!0#ZK|6WCx=}4w0WdYlsPjM>!h=Q*Wnc><7@98 zFYSEMp6$9IZzzQMBy;5R0G4D1t(d|XJM4qesTJ;3T?NkxM%8h_PU4tmHJASv(isuVoNR-q;2R{+hvO=(4?AlWJ2MoK-YHvDD=AxkG%NIkQZr zep&i>X%GR#Ev_`dEjh6GuEwa_Hfw2ZvpAvDMLB3=jgmnMj7$eGTIdwnXczU^pRhT4 zqkuzdakrWj>R4ZATs?3YsWeX2eCrwR*ruK7-#6bXD} z@G_2?m1r^>8)9`UdNj~tdUUAC)}e9j{A;psehVwJPl`i*ZI|Nppc2ywWAe{Vdd(>| zyOD|gEDbl?4V7rU4Z>%A6$kKHAMu5Qu`DJk_mn{mbbrwbPX+)}L{IIf^RnueS1c~! z-jc`*fReq^jAz|&mNecJm&LwJeI_2vvY<(j$Qprwpj!|DRN^*KL22ASXtg!M+GEFk z^Ibtc#faicwRVEsDZ-FGB#y3oXze+>RGxyv70piMyA`!apQ;p_+f3!)#t^5fCJ24G z!nUPl`g!)OP!aXZCTA{c)lmN2X54E|m2s-K+i`mQYvB}DG1w!~*I&+RZGDKjul?Hk z%xGi8QN=hZuCO&S*?Z4Nt8pYCQ7!XZJoCCwrox?+Hjr39ztAK&e{hIY@3vL@=KybS zGxNsvX~4Q~ZSqS7@>6s958RT!hRkDtNi!U6B6b$wz@nw`5nEH&{X(qzLo@%6LERjp z#1<%dHT&sY!Gjh^YC+q04Y2*90Aldv9QrPxRILE0!2&~gTleVJG5`){>Zax}ml z_P7ED>?`om8h|~_u9%s%-`fW8L(LDUeW0!b2M|Q-QZU1qUa>R|V2Iye_WL6Ifh_?> zT-S_|<;;icLkRGpfTjG~c;FAgAWZY^C;FLg;*Vj=|H5N`1XY6TKOc7fZ!W`+M)H4h zkQ41KVD#>e4V9IOkv_9xK$}GRJ5``g6vEd=?BBzEfkNl^8{gO9yB&Pr3qPC(QCu$c z`m}Y`VrA@;jtqCt2V%GUpcZ0vNO%07lj#1v+!jBcr~f?c`fqk>Rew`S0W9bLNd?9q z87cnFpZ;Ht1Tep9vLkWZVbVukNjFZTw|_uLGDPCY{HjZ(T94nslRJPg4kc|dLuTY; zkm}eAQv1sAx0V<^U=*kZ{RTc{Kh1u)sK59N-u!fzXvP0wLikM0UCLfp%LLnSB~w$b z+2EkD#~QE(YiQxF0E(?woN-dc6HR^q;n+BAo77)8V{|sD%`WXS|D6du7DpD=jR}Nk zJoYx7F^#_U2f{Q$wfQ}hc1)@RsKAgiTydd+#mdD`gH$|?W`-F<3e)|F!Aft*^^`uH zQNq*D_B>BN+rBwsnT7S5)86R}j<5x`pJOkAZCSf!*uFkyq42qd#hpS5Bev)D$&3-r z#JQ#jgCO>Ws_VT7_HF$dspT*g&$F$G$Kq41Zq+aDuC!M~9{VUqkQjZ-O;fY6N&FFv z8CL4&Z+3Q9Z(DM6%OH3hXyPgla3oeS`vvPZK$wvxXKE4}kvL5F?wN94qRXwBEL}9o zYx@Bzg_-9bs*XMim9K*|Rp@mh$3i4du8hp$mU?U9oYXmTcZbq+TIOR@6a#T^oF9UV z*SB1C*Jh4myybHKcKgLGlU7-R1Q8-*dTG{U&I1Vke`PN0AKNg$kw3%k{Y}}p9TU76 zL8dbSU9?PZ(-n3eg%p zp*x~PP-aSd9IvSkx>Z3Z$zd(Yw^IK`*dL{v(K254`AB1d&C_rk89EH{C}vpk5ubBw z(&X;?6I5Yi_N11MeU<}vbJJ2X2kJ%#-gf%+PYyidd@>bmus~7N@&f!^BrO*~;tQ%BaTk;sU$EY*Rkm_Ya(BMcaia^}Bv7Wp{$}-wh+&*AHK#zC z154PwV#pGH)5?gkU>W|PK#BsksfMqHVL8F^bTO#Kl?GZ^^`V&bFvlgVG!1}OexFL- z|6euc+7CiRf`?Xvk)41}hL2Lhb z3XCr;F&AOD0m_Yj|AW{1{qOqID`|cZT>bLFGt%Jc##?pJqV_E@F8=#Z zuz%d#zj_}2^I7&Ed-}gSc=)4yuW#MU;d1^PmGQ9jT3_tiB4b2)hGUtB+Z|Nl7cW^E z)B?Gu40SLKDs%vCHN%5Xhk&U8d@VrQDQ_s|qsvS|0g189^REoi{Sv>a*8v{pZg-mzbKF%BH;Pu_r<5EsR! z=Z{(`0(=GfD9d6Usd3J3shQx4{ngP)x$5t4|9$blo8I@0_g6c1=wl>b>_#TUDE1f{ zBn-AMlWwHkZ#w&>sFHFb_z)b0%O>;amun&50_-=Z(C5kFl|VvOda|TL-I5aK3G`nz zMweoswiRuZJ1Dpq`lEfU_!6Vi+5ea>jU=_YVr86n|CZD)9vG>X1+GVyt;T%N`E|uchrJWj^rSsHy@|Nk5EX;!-*!ygQ@Sh!sL|t{v0ze=(-{N8kU`;OSgE z0U$`ZU$N150DU?ErWJ@~_b&n$%JCrauo4GrQor%5l|z`l5)k0MZ@kRAkJT=+=yH_~ zDD-t5K;1=q(+B~SCeT2T<- zK_rxJknRqF8Adt<=?0}6>4pJ@;rF@s-RGXO&$;L9)92ow|2g>0%s211-gm9_thJse zJ@J|Oa^X`!f-4B#osI^^s@+d<<=Ga|&x<}(k6M4Kuh~**#BZaL+a`-B1J%L zWifx1M$X{Dgf5iWZTzmSv!OP7JL(~<`q2E@oG{<6HI-|T2IAcU)9!Zg-1&UYOfP;x z^~co1+Pl7FCwG~b47DOa&8r`{Y7icCv%UnoCkvs={Xsl>Dt#@~-1jqU@T^3NITgt@ z-Wf;VdCY`JzJfLSneF;rqR3mV1~*&}nj3LExiS%@x<%9w<#EH|5)L|<%;C%cb&FiK zMlNe{z1Pf?w)N)d=xq=jVOowiurx9x*B)|){!QzR=IiD7V+pUOjbe|b?FjlN7dhIm zlNsNT3~-ug-26JXp?Jd*g*M#4+-tW`B+m}hl|#>Y;2#P0L#b8Tpc$JmgcgdEbu!G| zL{F$h2+b!c`qyZ-+1zw(RI8xatvRRt!ma9NWj#>+h`Ogma)0`ZEr_4$pbr-_Pa^2ib8xf{bMTWHd!i!?gVJ2t|y)o!2H!rjGxGmXTbwXi<}>imfAfk->Zg=l$}6zMe=POGmoi;$Z) z$$OKlnW#GkAE8;&gZj$|JuPe}320JA>bFGnPMa-`)n~h!wTKcSR2OIoT_K7C&{6Sx3zHV+bRXKBW1g*`4H42AVX-JTOKjoIuzTE4Ll7L0R;bSt5g=4V zZFse=+Sp$^NS5S{z?9m)E6HUQRLh}8K? zMik(ZX?QN%+X|&Nb?Y#9c+odcxU`xh`Em^O0&z0HE$lC!zUaVU|y#yd99xx!d?g`+;cUGFUe zo>8)o)Y2@qCq45P8e~t)VxsX_ek@|_+O+@<=)3EQRbN?Gz>{@mJ7zZg{UioTEJ!9q z_3puZY683fJ7i^qX2_i5@Uas{;{77}A{J;@6K6i2s9v$RK4s~nRFkqPR~GP%N5QS` z-g!2KpKR#Ha%y6A$a6Vj9=z_#*T3#nSl{r4H&Z?Mb1cnP(lKV-4R;A|6+w+DEk z0)B=N+x`J)899mt*b-M8H$Hr?qA+pWk23yw@Awz*^`G>1v=M|RN|+JYUmd{yB9)0V zx1?Ryyx4mtN%40>`)Lbhh}~dREx`rGkdgF*$j*C{B(Ihn{K*UMMsLO&9Bgr1>;j!+ zjN{02IUqj;TFp9vRx{BdAREO3#HN5=G-%^VGe9!=i*SelQ`ln|CG(m%!7uIOxH{gk1?xjl3XK#e zw>$S&$(Is_NG{A=#sF5}A=`eqt^U890A98LOO~J5RhI9oygkCtx_pbOqHG8u014ebn zAZKeAm{-ZGe^QTffe<)#e}P`u_ji7XV#U9+us_>3JQo}FVl80mo7Tl*GlRpB4=das zQq|k|wv>mCox^dmL~2`WD@u$>OIGvkop~v(HmrwjSwWz9C4^UwIDAY)lr9yl()ui1 z-Ib?cg9+17HTX$chStzqVkQIKYr)X{;$RljN`No z#d9c{{V$bG5tn2A3b4U~r#q#UU{wnKR?PXNLcNCtRr+-_W4g%Z1s_rP2#Q==YYpx) zyPNDfdqH!JakWj8wk7-QTnT&C@u1&HIG&G7xboSGEQ2#!U)xfYB181dPyB~35tS$r z0F^FH8yGTrT*nF|zQmWHaiAEP9z@9XPXr_==fx05X{Z{=BMB_)pN5DiD5T&nnI&fv z9XCRydN)lD(D*~UqBJoa_QR@aM$kSAKL+P|ibl6;Bu3PH9K9dswy5=9ve?SEv)X4$ zFN)K7$?zdS3x5)f^r9XaznO?x?-R742(3)LpmVB@yh+yDCP!uD9vP7yk!~CWY8e;S zby~RkFn>+Qq7K{uK9lIS;~n(T+MbM_^2Y$!ELnb!bM=2Tha!(rF$z$LI5qnv=#6*l z{n}f{K#gEim({B7l>eY^+~4_PC!WUHq0jk{eD2B$Y>rh=1eT=7rEhgUjq~Kz16W>6 z3FXuB0I3<-+bL)mAU<0yyaCLjGJNxz`>z**A9}+lQWK8{6yy`seHDeQ-e$AO;rV9I zJB0ZuVfJFrw&t|sDWf)q z!~MBdd%qBD$+?G1^R{=1KD$QUP2am&gh7;T*Wn>}hYn5si602`4HIPg%O3e3d!&9p z=D+zG4~_a8u)``IsEHz#FfD(6qCz$Z4STP=Er4QF`4ZIf@Ytpb0zMUEjvqFQuN8H^ z1VwjEC!ch1qkaB0YyDOO9%8>^zN}4;hv88D?xCnO7bB*m+^qGR5!%yJ+48H;K0sfE$Qq)1uRWRo(IxxZiev6j zy3UBmsgD^BfQ#p0Bi3&^-SF($#$`&X(QRJc{fv!M6qTL~@WOL=(^X{n%E00;APlf@dR~HvoLoN270C-JRK)Vg9Qp1_GwHAKdG_c{ zzWKQ9?vB$O3t>tI~K_vpE}NaTw1vai;Pw8F_vq@hskP~J_m%YR0Aekdav-b zmltL)KXR1k!OC@3Pv!hM8<8Smfm_gkA^ssEWF>^DA@ z!^r47#it-h8mfOooT!p3)g0}Kf``$D`1O4PXA)4rE$Rp6Xnv&p^dx9vlRK!^i}%N0 zQ5`F%mmsqP%C3Wlq2~^vUl#fM?xOu#dgYfLg%-Hbk2rb*9N3R#L$Ci^!-rpP={I;_ zG|Um3+j_ytrapB4xmpST9&ray6&z2Z_(}8t4(LOo`l=>8dMyYPVKHtsG}upm65=GMRgl;@Q5jwIzPD5&EiebsnMv68ocngn>227^b3F zlji^;e`0pSE(Hpuz<~pCAo?`_3h8e_K|$eOFV>Y;B?vI62C$yw5^*tbV(VwEiR1rK zl>Pvz4aBVl|19;hP{U*KUJ>;Snz!R$U=Yr$+NGC?Gpy0Fu#|6 zu&Mik-iW8;PC(9pu+DP;3lh}0*urtPDRy{6HWYt14e8$h-LBI!(E0AY1wMt~(XMx- z35T!gXh7urd2RoeD!5Ur?p*L{UBnmFmG*1>)c{@j6IamC!~!UO0_yEQbhNuCSl$2$)T1KL$yOvpmN0 z#RtiAye{EZ#6!f%D_nvUYepTvl|0sM86s!Pb{lwLs76nnT`-}GeaDAi@UIDGf1}I! z)5Teg$onh(FU4>CSELrgcaH{&rkMkhr>dS02S_t-)8R#nU$dUfW1jF~|D%r}^JW7u zUM;bWyhHAUft}y4@%iBmjEIetoi8K=aeqJf|E{Kcbg@qcd-Jz0oN3RlWw!?)6j35( zKjlD5uajch0RMsoKi)yAWVMQ!tmS((_Rn5|o*loM4DS#?-bHtiKtwua=&Z##A9E~! z)t>sQU{qtCYQ7TR+g0IXWOCb9%H3nZ=T6<;VLWTm6Yx%sywuE9BaeE?QYQb*=pK!k z?gPBl-YJ7%{h-a&7x{@Oys@Ok@v+=Isbty&WH?Mus+W%;s z{=_4~)SW3n3;;py<`$9^KOnrUzgSOO4q}q?$v!T!n>odbeoEKJz{hVh@-Xdr7~VTZwkb{3!mheCRcSz+4NRL?&T6wB0xgc!4RL$Ug< z^@Hxa(h+ye={@!MoDLgtTq{|vOgy6;WMv~D(LN9`!OI2<;H4iPk%JN;fi-?gb%R!d zlI^byRNykX_Tw7guDOUS8Cj2i_R3p&1&EK`m|w|0o^c!F_Omm(p1lie#g@~)lJ)@k z@zljfQ>d|qj8F!H6G4H(tzP^%%KdFKy((Y}c4eQ^f$HOa*F2tIIsas(Ft0c$5#;WQ zuB>W5epVI#62D|bBb2ADw>%r_WZUZsm>@;w*DB+WMyxqta^^f%)Xyyf zMneJ}d``tBNT;-=uD$q(&0r@^Hgjiywl%%H=`IN*C$r>nzOiux)>hSr6CfzYN zTI~0l^k0rvWFq3onXmXzFF{}cn|e?N7AA-t#OHdz>!F06|Go6i+Ex4f`~YC8zn+I8 z?Q6WKz6f8@aT7B=cR3DE@a{N%Zq|RmyJ}|rzMl+WmFS!JmFm_n#~eDrr?kBdY``-H zL{m`D8z6S$QMI%e7)r1InPtX-*=s<_zW5S!G<=3b$YuZ6(#KsX*-=B9Ux9&~PEdjs z^?{nn<^(i3r8?4J7kdsan&r5AxY-_}dhNF(wDw(_=6pDUMDMJNGW$SJDB4^&yP}`v zsk=aD>Q?x1kZHUGGjz^P=@=uTxBFcdaJ?+?nXYDpT}w~xO@=zW>xQ-4qEYsgh1h4A zV=n_HuIrj4In42-MmmroXu_PSsxHW5k+q+y2%2vjbi+nnNVZ?46@a2pH?-)kS>&zZ zT+_041ngNR+bdprVBy&Y*8tyxBWYsrY=;RT??It&@i7kbZmDQaWRSKswfXSo` z)5}{4lEM-`fu4^bt;~u$O96lTEs9&GA>YYdMW{aany6i5Om)}j7yNQtZRl2q14no+IezWCb&b8j^&Fw3ziJ;YQzo|6@*NAN4yZ1$lk|BKI zlztVBZhL3UhyBXc&p-L}AiE|pf6!xbipJd-L?DW22O$Z8nWDN5Ja;PX;4b~sH*&c^>3AM%?(ivKzoNJ~c(N=KQ?9*L78|Nl@=_-h0p(7u@} zhqD6`6X@`6pcPklKOKWz;9CfQt%r9BF6j+ zo-K|*|9OB9C1kF)wi6~I-Ks2kKNifeV_oJ!^wGmL;SF>AM^@PcL~%Z9J`1~gLiHWB{)<7$?_$bdB8T5}$p0}~UP-Z~ zyzV{#1ThR~QFh{lb<@!Y=~p|Mqs4DX6Y486`7qECKH3o{I>lWFsNj>#qo%KR6XGNS zG*5=dP5j``u6=?^m^#18Vg7Sq1;HH**S_J_n-n>)<+=k|PPa3+kSn+Ah&m~1jYB{c z<%`TLP_&%+a4Lk+qrsA`hE@;KFVNbm8baL`jrnCwwa9Fvl^0mbA70>@r9J|MdV=RC zyZMHB_<2a+H3KEwoii9Abq>0pi;I0e;FWwZx>XM)R6&S0&s#VgD}fa@Q!BE5TwlAeqwDPWW=FNpa`2^oiZoxE1Bj(>=U*o&6;s(5d3Dx6QFE*<%4huZzt(DFG=i`Rnl-8geEs zB5yu%hZtMEjn&HZS4|F>TeZPvFg8ZdXh3+G3cJxH9yI5!@g;s4-pYzxvS0`iCCf!8 zMr*M)3hfbSGE65uQpEjYSv3%j|K)3NQi=6KJ8xASgt=4Z<;$K`TTo>s7uxKHD?Xgz zuXmP|Mbio`#>aLrM><7-%{MV4#;N6Fj7P=Xg9aiRNCbgbU&DgQG(6swJOO8ye$Wyk zEazgu5aS@WHlcL)Y)u3OKiLgEhTGt`7-;L@*1j<_h2QV8&O@_*2a_S2d2c$A4(Q=h zd6E`|vRPe`bFdurEyXp-<#dCXqFZ}z`Z^y@@R^aNUt8J5s;HEqx~DnNBPp z?!)ja&32^cRus!Ak%3ad>aUafOxmLE_)gLr`A}k9x9<)Ki9kz5T_2$z);TR>t2=_~ z9+=cO46rAJ$c5J0KE`U_npCh00*#2`1U?<`e9T+oWWt-1r!(33H8W0;w@>=xI~ngQ zH(&{bxG#>H({W~qcDEzTCiIeO!RqqGDsrM3H|SuMN`CFen6luWY$N+L`F0B(``2nHKBv;c>dDY(96=MEe}j zXZTeb^}p0V|E_#8#PN37T3Co-;z1Pq%^5k5w+(~gRje%^cok-&A7nD`c}<-wVcuTE z)t&bucnfvoNUs|)P*V@u=yY9yG~j~4U9IF~*vn+}iJ&+7dtUu-U**8-V3LVol|>ad zq7Ug^k!5kWs4({t0wP`&;=C||AWe#f>g(`A3sdKc(U&8|N>eW;Gf6qHob5}>h43D* z_pN-!GL2nyb1d?3%^Z%BhL7YnU@i&i3uF>?-vDuSy$--IO1&-xVu0_J-)aJ)FA{EBO`cS1`+eOn zNhrd7!Ml$x<;N@ixI-Ak9Owyg%QSx@;WDa0mgn(SS7DT<7cQ7@;>n6_5JULjszCD! zpbQ#f%RLPvElqO-PvU>q@%7kWiMcZhHEc6+vz)f@iy+E$Id7+#t&tf%1{9Be)^~ln-@V1~qASTtE2k zrds5C`Y*fzckOZcn0-Obpse{a;x%vTDC#HX_VNW2aSwVpaGtas9vDryyiR_>>B}#$ zN=J3{s}1lcQ3b_oT}DGb4Cz38Ddt-fDjcQ=t9ttomr26nb-`>HJxs_s_%sKOI>Ne)HuU0G5f) zM6Q^}ji&$0=P?5c!#a@ZbljLfTrB`Mqzx8Z93udlUGSN>h5mcEBLkiLpEcc*(QpI6 zOaTBK08N2{%JN^^)`cdHg`EQ;qlp2%a92Wmz4mW?Dadr~PPLLaU1S&(t>!lT1-W6! zo6ka$AW0|cI_Ld|@36bXPo)9A_uxNqpMN5p{Wm<0ETKoEThOB@%9JJ{YdkCu$Lxd& zp2m5`A;@YGknL0|EC2(easVqpza~HsY5LQ^s2(%Qz47Awr)klsHL-(HVAk~O&%>he zz?@2I*(J!k_xq?QLyaQx2y%Y>)12tW{Dcv6w$w-w#vy)B8@5Af)((UV-hh7oIV&WxgT}@}`V>KiXr9)6*&2mf!k6z4OQg zkITUMY)X^XEP-~04<~b&+9R|6yDXq8@z1Q%{}|(tW>-=A6Ij-t4DJ54fBauI%!4-S z8r>A_>e4JqxRNB;m$INkIhpXfB#2_hzYyV|B&bnob?lK7 zK;Gjqijp>1s_6qx7jRPLB^q>DaStE{T>pvd)qI z4e(n^o9`KVOx`~dlAW+G*{`C^Xa|(I|0q`dYw8ofi>?0UgNeV6u>Z=tMr)i)yT#`V zD=#SvIK;Poo61pP<$P!R%XUZaa+K)HFam3H^l!9Oo{r}PEolKY#SmO?^6Ack$@N~w z*p9#`IS-EeM-f-)r_a;ptZjDqxVKqp+`ol~g8KF8tbyf|rXok`_n z?PwO^Of5bVQPa_6I6ofR4Mdh~L*1C?W3Nnvru=A~fk`?-MF`COMbbS&w<^(hTLzpU zC?G9!WBY@oGd;C9Hs2yG!6YK-_+8Zy%r!HpO=nG0C#v}km2-qeguGoPM#$ByXsX56 zz36<;U1=AbP6CD1MRS}Ab-!Ajj0wgc!?K-mdfis_wIwE*Bd#VcZry!ev)hr&`G};B zQmoB`UG>wMLe88BXRF?bFwmXx^~?-;C(itYoph7k5B^~O66CUyR^#$^G;ASA9Memv zwZS6)w|N# zHZkd{DPcgU?P~S3rlBIPU4U-*=pKg(-y|9(QHUgYR{N-#2@7ZfBz(Sznc|-pdJ`<9 zP*onTG&MP`j5|+uBqg7<0qH>-QEs97$Z1oT_+lZ=X zy$)E{)#S8;GqD|@14lm?v-S7>_a~NSKwy?cBplq zcK2N;z_Xu)x&WFEzI}KuHh&`;1(Ciu2Xf`X7at)l%*;qs`1uJi?~vJS3o!F2D4t%> zp6pzL$|QY%eD#k7|89go%i5XQ>cklBIjNJ<_PaltFVu)-O(qI zm;ZdD@0nynT=b-Oe~sRuW`1RMd@2hkzlM@Hb|)Fx>Rvhl8e(}KpRWnU3>$cbWSGF4 zHNJI2@}k&gOuVOA#xNL8sYrF4j)P)DSY>{TLS%MJ?#a(&xXqJ0TN3G61Y3rsnQP&; zZEz=*)92xl%&nG_pmjZW)onYr*KT#0?^U_RgE?y&rTsZ~-pdHXb8#&Z6ocSsXW623 zRn*133&d({R9xMsvP9Gc6hG(ZhN81Ie`9KAJ*u) zU?M0K3Vz8P_4TmmQzEOK^IifOXOj|tOo;JqDg4^pt0MRy(ep>+j@?3f(kg>CTkJNP zPSAr%VY@yN~131aGf6vOQ%n2eQXf+*ybdgeVP3OWzBmaa<1K*obY+D zjl5A%EJ_>xG+;w@gl7Z0@uo&q@%|HEHzTDhOASwS&+xElbwK@9yN&P4Y;uO#kU|Ch zZWzAg;00)8PT1pQ`n%+K&Z$@Xv4?y(tY~mY9FNQ8MTJtHOs{F26=zbKib_0no-a>D zC#4MI)WUNRr$n(Ll%Yj%;D;e=3PBX0|fJHr@2{b_Yd&qP;0BQnEpFJEq$le0z^u=TicF zIBxdbve&E=o}6vj(*%yxF*vjMxC#b|py&~%cAyuVJus14vb}7Yt z^2Y&Ac#n}S)J?JawwNG8*T)NtacP$zoFgY2B0ZLGD8}l>QFOOb;^~RW>tC?F#Xrs& z?@xJ7`EUe!8qFuE?UuqE$|xVrdr&6Hg;IWwNm_9;g-llzgug0c$xiwzgJVnfLJ9NM zUamh7d$V!A_najXfl}c2)=D*r_;Hc@`R~CaK0NkusN((HymV!!?Gi*~u5*-Ih@y#q z^1x~$+1>9$$IWz(%r6XIS5EuJ*41QGPlO3waX=un3EH+4dWl_*K)+j(uxSo;c$kbZ zppq5g$w#c`wF$nR6N6vf|JnY5BuKUxQPzBt*zp!AknQTDW5K5*5)hedS!VMs2aHHPs3rk6`cqHqmOW6oO5$o_NroHYtVJvV!LORT9ho<1pwMaxhG zqq;p;1cs(;&7=iPZ)!@k$C~jAFitQKl70*M4ZSDF^wHfQ+^^Sp4kvQ z%7vNXK4t?OzKmVMzvqOzGVk|7O3yj&G!WziwiF{o(M~WG7-g)#8mnR8?4PeX=Poo! zUB2&El+ zqcZJpI}hJkQw7*^isNW4?tgNcv+X8-8+vmKf^Z0a_^IytO;^9t@%2sjaO6Ej0?2@> zGC;ivv>&`HE4&10e33rrr`^EEL%( zp3?oes~->|=iV*zh5I5oH#+&KsyW za=#casTbORebdN!jGiCKx>%%o%wwW(QfajDPx2O zR~L<`)q(SIE%{`%PoEgYP^cJKgL}sc+Hk-oY4B3Y3GA&lJ5}nwfF#*P4c4lSaD~}+ zhF@ScbX@4PLb!o@5XIlK=E$Z;0NcHBH%C|m;69X>Mx805n8J^&@R37EvCm>-Q)c_p z+mIF79~b;shadLvNBhEUJWQC2z@Mjav)dyuk@=me#GExK>Ve&OUY`4D-7q>8CdA~H zBhVgL_VKJI>0z8%!11t#1uS=3tY>wjPecir<`7YAO}ly+s`kUbx&Z;%>j9W8jOo>~88 zVrSftnpSEAc78O>on#}rycnl0zh14iXhF67mWri(V=~OLP(76Fp!X{zshqn&q3-lv zQ9T6H1%VZrWvR0@skNptnI$n_Xj&vjq${D9NnKA_wKf(yOQ_Q8j zd+WiFh((F)j4k4!p8h(w5aKTAeOQU*MX6l}O z?kj=|RjU~#8->BrU_k|&WhG_%+{dbp)4CpTct2!dXwdW8LO7w0&dizyku3Gr*K!!K zUh9p1ejIIO>edHn<7{Z?wwq{6m7?J zOwRc4=MJQ<*u6CLm!QZ%HNgFRy#yU{86+4%W(pziP_HgL?q7l&a!_O_nZ8n^4|ma} zThsO*tU->>u~7l6d6=jpMWoz;G>s8zRTIgHe1BN)o$4*|OFE1;gDixXv|T5h2D6JeCv$L4N=^}Z&?`Rm%~(MTmzn_i6dZ(V+k%} ziS$#2Elt$Ubaf_Dz?-%V3GgjxSautO>O>a0Md&R?RHZ&fX@iYk$V3iCdK<)6NZI+i zUy*V=&=M@q(jk5mH`S?qYTaA7G)ga}{!M|0#AO)_Tdf$FgND+pjvujl(MnfFt?#cL zOA&xg&sOF|@kICQ?%q-@7} zmFVi)R1WKq)I__7vvp}PcPT7fQ{hBI4_Txa=qje?k+0X=+MgQYHsgPqtq}=Bc~J17 zF!oI2Jqj$&0wM;UTikrO&X+&babDymToRu0MS$xGZ%A_0!w9>WhmMv~oFS#zoA7A^ z+S$s2QtzrlEVcea*q|murGR!%thrabrs(ulKta$TsIC=ms*fMbpRY0Z{a$l}2!(Bt>XZb(!C#6};o)AvG#M`2-pM z`9SexeRd&!r8jYlU*eZpAHg(qPr-3d*ORC(ibi>BHHK{QXQ^3YkrtN4wzad^QLZ>> z%tIgdTqj)R?lCPL%j#9av3-g{!Jl%-c9=Hfiv%|ezD~C3^w@aKi`{g!YNL2XB+uBp z>_1sC0kz|PZ6fh{+`ENj&R3?B^b^}kEQd3ckz7cdr+ykbHsK_+7%^5@ov#+MQ0AOE zra7v!enB9-yAuElC)MxF`}Uz}zZD~%lYBc99>yPGl9C-8OM&TgDpu0v_{z8c;N1C+xVedS&>|2(AI4PLX^v+&iH+Rq z87;W^T;mc1hp2XMEGt5PvWLG#H~0HEs-R6k)$sEZ4=vP zFWSEZ4MiT3dcXC4{>zaC%Ace*Fc*^Hr>DEH5P4+oMLH)I;(Ok#FH#>p-`F}SH4N>x z(7^S=rw`h2>anOYnLhtS`5L|Q#dy!ce%~`mvcgIi8%=hohqGucW|G5vIkBTfsa6Sz zisFo%{v~L|H9VwFYld?)THWUQH=TPj8nl(>V|T{TeHHe7lFO%ky+DU$5d6S1sDMBY zhk#J!O1W!U$;feXWLO+jJ$`!XNDNyCVcIRVJKnmbtKL{O;;C-ry04oPBvLEqeN%{w zt=+_U;srbgjgla(jG0D?N!>&+A%S5L3)axET~Sd5uhq?(Y>^7NH`JmQt&*P_r%`tp zIz3uqUZ1+$k8VCbp|pE$K0{vN#iWO;?4_yZ!9QbuM8LGB!;}($(6$Y_gXwawZ)`fT zpHzcK;B@7*I?KexTDL>@)miN!ce6^YnAzrBwVO#VE9-%dj)CLYJNEmqO7eMX&h?gV z#UzQ{tvBCp(cq6V)r_J#D7$PX6|0Hct*_3MmhE4CgZ9CC!l5ShPG)j;q3l6H`(Q1c zgZtGMtY)?${u`N&y`SOQBYQyyYYoknrPy)awY;2KE9*S5-TQJ@Nnq!(QwwUM7N7Wlypz zCol{K<~fq3kbfPm5V#o?|FSE%U+n9!RKzevA=yF+5y#+IgN|MuJXZ|JEiLG}u=g`e6>D7v_Wp%~zVuRpdr9~W5sRqJa%!P}#|c_9{K zyK+>W3|5u)bS9_CzUg!G4k<+;8!g0IK{1n7alE7TY{1Shs~aZ}jEtj*eG;u2dnh~2 z^VJPNhNaB>g@sHf3<7UM@V+R{cLxh)EtDvDa9b2xYiP&D=Dlo~j^gpp64!JSp|vBe zx&y6V7j@1}T$24Z8ZVzRy?q3a45RRSey{Y&8uWB&tYG?RhMiU00wNR#rNu+o=B zGu;!E0B3>L3aiq zw)V;V_VU|U7I}WrNcf%MEk<_DB+FZn8M6eWj2IG0jo4HcQ{pWhP7AXjuLn=NV3EMGLmA!_R)8H*fNWal`5^;y>RJ@|!Vfgn*> z8t_ur3obzhm4I%QY2$(Ms|zUns3kRV>~hU*V{8f4;Y49)7_ zvYULDO21N4;eR_a=1suMajNkSGeqGR;a4om@vL?*WZ8<>IR1-#qYtF_7U+9o%B)}| zb%`SA^Vj_|)-FM~o_a+VfNLy8UbAzf9=UZh-i52@po4_H;#uzjNVr4a$N1q&-BeeJ z?82IadhCHn`Wm0(FnFe0x~xd_Ap+vCKq+?ftDdXI%*3Kf zh}`nz6v_VTV@kG2!ZxfK|9EquuuTpI&8bEDr)oOIThu&yJcG#8#`mW)Sn4nJIn$%# zYD8-+VcXEEo!q=EvDOWfJ*;StTvsP3waQA%@%}+;d|Z}F94)J52D~aJAfoeQOpuDq z{+Hzd)*h{n&1LfL#CzG-C42jXUR_}|z=Jh*+qWz9~qe#*$ z*XTAC1WSi(f3SRCU+?ut4~=Kw$3hwYAgs#&s{F-ajN zck6Wr*Wt6e3@4S`MQ`%n7Vi!Qh2)TRn#U#%>6$}pEi4=r=Zg$5tm4K+?+gmF@*s&f zPKajKj%jG%BMjkkl5cf0X4y;6$`W0cYZC$p*ZZoQ@|9Gw{Ee{dh26Q+qIqTv(4@#V7UkSz> z;lu0`dTSWZzbWs$;t-3Y)W*JW3F01K8ElS`APX996$`N1kBVP4;t zyZ72tK7aC?W=|Tx-tk=Tvp6tB!%-gMfwPqHRP7-yKEB(HDByfl)0{aCo04>0cu+Z9r@f!20B(>Kn69U8+}HFDnn}cbO0;TO!b4W@NutxTthCWWSGV?TojGt@m^Odf zb$#~J*ztsPAawE^*M?rc;#v(uT?7m76qlJ8cZl2;26{whiut&oc@0M*n9uoazif@Y z>;Q+jbtKm5?NjcBh2nTg<_q2<_-Am+ab?EZ4GW6tfMDab#d9=%_;5)S|3Hxp#jR_x z&sbtj#B6tMI~X!>DphkQFD9oO<<(DiR=?d<$f2-Kkt99;GSjJBG&pJ9>$q=R--?}vA5U*FLd>ugs$!M{_Cge_5I$~ynb$MC(iqb zl&#!`#8?V~w5i-2w@!uiV@+N7Zjs)!u6_-+zoQu1jD?2IVU3sHgv0YGS8jRs8slD( z2`FFKLsU7~G@9V#wVy+57Ln!+@*0ZHwO8+yp%w) zut2>lsO;WXK4vp!%91E~a863iRH7q^Rh_WKbo)d3`~vMAriGKSwfZ3g`VLs_jD(+C z5z!V5$RSIwf>Cu@KwzHQK>1E=W*nip(m%+rc+qaK0Eyy%x=WDz9k&2l{;?pR^MLEd zV+_u&mJRLioIEv{H;6o?u|QquB2|!IEA{fO{?g)zU4oF48xeNcg8yo zo#fMbWw5csHZdhtMsXC;KDR7o*C?VWdjC$gZMC1(*wA(1f!&`t&|I-!wq|jn8Xae-a$cM1-xs;wD!1F0#qQq_ zo7Zz@(iot#)3PU$t&`LHX?QAcqP3M?n&hDUSr`2rSkktnN%Ymax^HySN%EG+a}`;S znj&awBC<4GhveIcos#~#|9oaNxYI#Th?%i8C3f>{YzV3+rn)CpnPrZ`sw@BaQP5Lm zRv%$Mqjh-tM7p1Af=h6smGwcy=aPiu2rN;Z!dMf95Eg|@3kUP;(a}RFbj8X_j_1$?o>VP={=i0&M7hCZBAkZcmiHZog;y zv~%WrWAl~@aV@s6=Fg1pL+=f@cGX6E_Q@%jLM73(lg5ioLXBhwxr>rQ?GkEO@=Gjj%g; zL-77}qB@J()5Ih=6gF%ljXSZUQHR?0SI<$1Nznx0b`SoXoqH3=q9>a$1Llz>q*0-j z`)msYcP2O9aE!3ugLL^*Zln#NFGR>*$~f$S(NxIw0deb({EKDy3Mp(RGSdJk(OFw$ zV|sM-&30j3t;8pXk+dthbVQ}HA!yAaPa${g{roho#x6Wy8#c`(MqnOyBKS%t=0wo= zDaS&bEko)IlHg&I5%F%cpE`qMQ+tlZaEY>NJoiLw@l2c!Gd29{k>I`gwb2X(b)!y< z#hxk6x}?#99S<9tx04?S>V#7t4sdVjHai4bZ7c+=wpN{ib3P?bJ|rp#un-*}^^HwP zX?rO2u3cbMr=i8(Um@5+fP1H*K)2T$`&s_b*(ZLryfNKoNggoNCUKgv@qHJ9iJG!w z?7(0{M=Bm2VWp&Jc>!iysM3b!1m1WeaTf#2m-P8k+()BMqtqVNRHFRhXwQvUJs^Sw zq5zvtDt;bCs^oRa`_es|QFZKv!-I^g%%e#+1zr5jc1f%18mOvA*vlNZBo?&?v1 zb#;dhFs2<%H7m6`qPi*4HI$JaZ^;y#;uwclDiv7xqBV64rYlt%;NWS|F~Qpkejf_U z=q(BabgoTkI-is#gR^8=d1h8g_c%S|_@UGU3WLyYeucoCS$VdbZz~mrCT^QqJgmhQ z&c7{t`j$<$6p3T+P;ig;G#ft1$UJ`7tT0whUHzq@g24H6(0 z#Z{EBi31wkT}6fn8eDicUxG4%)|w&ps+S;QFJQ4yxPaU)cV9co_#BCkx<8-)WR-Z4BE%q9q9gkF{xQUeXFgrRtzAgQDoy?xadryl9GuH=~X&2huN$^~jjn`%z~Tb|y> zs);-kQTos8da?#?F}zlO8Y;*#vJkbealgdg_f?_ZH^!-u6pVL1^1Ilq!ki|tH zp#YX3c3)Vzo+Is>7aV&_7d3sM$Waz6I`C6+@V5}2f9Hf7*=?_ApdBwh3iRu$+Loi^ zXCP&+B)!2xKSb60}gX-Z=K0 zZ@(MJskwk?bCk{OpkoKJM7vvq1X=^c>!neriYS)wqj-E|1yZa>?8gN^*5UtSd!YBU z8sJSy)X%7;GEpT5+UfE=!=NjF5ktv^*Xo$@SI3GTzH)$OvtHC-$>C^~CLajkX!7R!gA)~EGrq3H*O*Mo zSrNB9(|sC|1=^Q3$ni2Iczbss14sSNb}SUG_8ckgG(&4w~dXbB27M^J^EK zcVW^BVFPxzzz_HPBMkWwj{TXi)biV?qD%&PV{x86XxeLAJx%W=@fKAs*&9t7`;EdoSt7jP$l41WO`j`&XU2cCxX^Ec9? zzLN+}x)>bvaeTf6g#x63Ki=|V#eNvfkNxs*J}yj0$^Iua>gQoG^b#gDK0a#v_YzM`wvI}h;OSV;CR&XNG%W4Qe z8!mgPNE_&{rQ)EOSTpLTyR$aaQ|UF&Te+K)_ZBsxqdons>RfD8YUR<5Rk1ch2-0N? zTHt%^YQDfxH0`W#3=!gD(K=GS#l{2G72VR=Sng>g;t|8PwB0xnyculaQcw@I>uM*% zeSl9(R>==x{;uFu!k)= z)VKqeklgMg4L`j-%CJ1ouS^$VYqLCwqM9ic!hej2CEjTCYGkr`?s^5xw4qrsrm@U0 zOxRDEJ^@#L%{=wFPgedbYC*>ClXEw_qlpS>+4jadY;wCX(<@w*9BN0HCwLQj2$^=b zIhh>osP52=@p$weYP1=f-=_7|yl!D{5&CX*ivqg(u+-!#0=$uCek#Y;i_rbGu>@RhOF z16d3=OAGp><}WGX`@B~VUZGi4Kk3ehh~I)_{x3umvf4oJ=#dmGR zd+RBdur)cl2&=0~%K|Nf(Oteu>kYlKOxStyK}kqUnZ-S+Ox^5i{iI2alv*JY?y~D0 z4kionBf{TG9jQgEl}UW?8o^a?6YuNd+G)80=*h;kyh^swA#mxUYwg);i;3vRs1Rqr<$)BxTOrusy{r|ay2vf7AE`bsRE8sm!8hE-Tus3I z)diiKXmyEmaTzm^ALFo$fZR6@KZmbqZS;QpTEQVdo~PYfSE94Vc$OD<{87W*ftQ0v zNqQU#T=K`Ee9vmpKC_ur|G(DGGpGsf&Elbm@=`1)5Q-?E)PQuv80n!1NSCe#q)81( zP{3HI(h-mrKzfyyP(l#{K?p4YLX#2%Y0?D(1YCA@-kqJ$fhf}!d@!J42+izrRx&UiJs*c zMorZ^II#osevvX~l>zX~-^{6HMN458itvRm3;}D&BNM zyzfn21C^i?Y-2JQ^$zfInc225bWrzh5v-7Qb8wdz#59Iz-2(-5s7M};pleAz22ZVM`w*%3T2SqNt! z1Z97q&=Dtsz)FYqWyRLhGtBaROhZ-|3<~Q!ym#!{y%wM;2T5}4R)Fi6S7cqn{@3%&B!CVNy7#INB#EnqKv+`V8|f*3QzbY6M-u zYfwuvA?c#^Bj??rHu>k>7d{fRnuqU<&QmlvC*LB^x;ii`OzGP-Zk8YRM;5JCJ9HP? zEZ18aEKW^HF@4*U5M|Z*YyDfS;gvXLKmix>hXeB@^|RSlN_Zg)(f8ReDU+>A&-)^* zTs`%OQP6hGdfr`~Q^u%67+5ZNu0mU%SO2~H!?m>qY*SOy(}x~8(N6Qexfu*d`jRI) zfJ>@5Y>^>+ea_{Ov@&Wv?$DzV6Sh5R+>j3Q3Sh;_)Tt|{o1DMh3v*?JkYrT3oA$%} z9oVQTJ6~Uv;`onahOGJ`Qwi+6z?m%U%XJa%pGXyr%_Q5#Bt0Ic`cLlhEA<0~k-t0z z2$%*fc7j;)1>}X)>D>6zYE~b^FOR7iUo9cLvG^^2eKt$O;e-j&NoW489%Ib6kI5HD zKK!`;!MjIWjWI`Yt@Y}JTlR&VO@-JZP-Am#tiIKaXg!i`OMKe(FA~V@1n#@_3}Ic@ zfDaI|>x*A4AcFOYu9drX)&^2IqpvHEXiM(xw21Ck@Ln+5FV>C(FzX^30V)R`wQRzMaV*KScD`F8PN`FV- z9HQ2&I>~ehEL~vQHqjb?(_^~{hrgMz1@4*@pE)BQH)~YdV?IS+m%Z94`@35% zDbk{sV9F*zcyTi+xp+8|8+mSS^X`|;@AksO=rxi1Hs1=fjp~{b9qJsQyt1|0mlVx; ziGx6(l57>Q696}(8@Hh;H8xW%r8@`)x{ityKdY1XEjvR) zLjaowWpVFSoL3O{A%4m4C{U`XyoZmW9#t7uY42jFY#I~OR9KZ z1KeWbEiM2&p4A%QVb%ZlB<-IC1AATCgYPqg=;}OIOFT=q_|ck0(j;5{B0U(Zgh{b1yFC3Y z#*^-?cQ-)B1hORb>h9{NN=T@Kt9rLaO85BGHce^w_i70N3hFT4dzeuVaqm&Gu${Tm zB0aTMq&|u0!YRqQ#q(xpaea33=Nq-yXS=$TGe)e6C=0Wgzu5TVh-c(S)ehX!eqRD> zf{7wOuO+TE$yj-c|CL#OJncvFX{~7)RTxR1dHNXfzB9osT_)7)Vx`lll-JKF?rG&I zpwKz$?G=qpT_F*L&M188a5<{d(?Fu2rk2)EyK28=`O}AJ8g1&K^b%VEv6D32LVfn~ zpVRNNR3qo7OdmdP{_BlSwAA>4j`9KWl>c|@B>Esh^srZe!QJ?H77)b(u97+4aZP7kC1Z-!*-ips% zgAGJ94MBU8QwZk7-!wzkXIoeC_5-ZLS-Z9sQ|lzd!^+mw`+2zp@ZP&qUJycg&x>$hq4L!0ktW?FCJAp1~bCRR)h_B*)I_(m}7L@Xj&*-LI7OzYv|4;)a_SL`$|L8h0mTTD1ydSSmm zG@v&BQANI1S;hQzq5%!${`-RGFl~HUkoT9}vkjl4 z-Zcsrj2#_xp`?`1N1iWs+oI|`?&%QgV%&|1b!&z_D?raRP!=o-pw9<@*wXqRa&mDwBpgL^CUaP}VOodgNJT@^ zs)-Ya(=vOJz{?W(G5cZ6M@5)>=UE_?WrlKZ-oL{nPEBfO%ouhNy{Gvp%RO1p8_G*_ zGfkgMT|GX(G6|3LTJvj*ux2lM5xuvU?i}u%Z04A3r!ttyek{@TbvTA+v*d1)0WEC< zCT7^mQy}UkOghLL+!csuV_l}pIsr~4?Vu%hdbR$n>B`0r;J?5+) z0MwlulT%x$RclB(w&=iK^6T?GP^Sj2UUY!3Na|>p7V)Vm*$XujnO7z6Tm~FFczz zagZ4oHuO&8L&6Zy&J!N`BaJp<-N1RZ(xs$jIX8>1>rY52VLA(0_PWY50Ja6eS)C4v zN1$tp(1>Q0X<=eMk>-^@))p$CVW&bqGA9aS>zW^t!2LqEzO9CTh}hR;2JqokFMny@ z3XcQ}l~c2A<8+9Us8NgI`$Tu^=+r(qz_-=$wZ)UaQrM|}37hkmbhuUhc`DJA0cJbI z(^1MsM+;N1oM!8eJ}=9TLdSOD`1(35ar^<^T=R+WbMbd{4XIDQES}s%CKPn#Al_?Kk>y<;QeO-}huFh8KUM3!FAm(+w%?HBljtTS+cl_t zp+^dlnyqHZ#O6CMPqUR{Q*IOThqlk9ojn5h`&#Nu%k-~|iOuWs+&qo}x-w5@#sba| z1o#o!+ef;s5cwo^2R6iMH;#>?zSTII+bLa1_xe~qGX@XqDB$v($=Cp#GhmrZ4Zk)D z5wL@l+{`L+wZ;?#7LVf-KUN4fG)Qu}RSL*twTXhggGCv7(7GB+hw`wF#F>wj54>Df z^vmOE11SZqCIZLK-FVx@OcL-rB5bm~{)Bzg;_dm4KDM7jP7PtSF6ZLx>rx`;e+H3z z_ymt<+2Q*d{)K|0QR_50ufV)zdvN_D)>tX2$j6wdfVc=%0mVDw&KM$FrO;Q8Q*i z3=e{NJH*Nz@Tn6O3*Bu8&1BzYSpvhPuGDkv83L{1PAx;C=mnR5ccZBUNf+7J zyW=N~NOd46v~hDDGa#`dtK(@+HWt(t@`&*PN-kLO+;n8bhyoWltt&z+ll_YZC|Qcz zbF)A1Eax|JOm0GEbuENeck=x6&%!D9B2?~$HD9Mp$k9emdDLPAq#AlwT!Jb1p%I?3-@IMgETQcshh$C4lG&4_*ddkf(zs{`7w5#T)d| ztWqvAVp0Cq%`MB*!o)Mw(i!|TPn^b3T?+&OiVZK;l)m~hrOGL+&k354r%o<3>%k-C zSmWhX`EH*2s)XBce*k*|bC%j+`XU8(X6IkDLF;#hVyx zQ%!uIGhFhLysxIUlDMAAW&dx#dV2HyuEitd>DW$dq~w(XEQkYaExpxHf9@!MsQ3-l z70Sc&%}Rob=YbDiyjHz1NTC;T_F8 z{e4vYT8rH4=+jDCt^e_Rk`6R-dN6)&`=`}{c&WXmpOeUhVB9@XM_xkSbjKE{QK++7?4VecA6V<{R{_Q)zt#@*{&r#L-%z(j54 i-yxlUmZto!vbhZ_NsskTny;jw%SyP^RSEQ1HBoaJ6JQx@llC;!E6)-S}V=ypCUjWSeHzRfoRbXJGVA3B& z)I1E1J7GWTFS;_e{qT19cm@=PFoN`UAg5GGp-D^<7jN1IDLjmh%dTDyJy8tCspcko z+`pu60o{&)LQP$5^OU#i!Vo}Zsq1wSbf8zO{}htmZ*&Oh&w2qiE=H&=ciEkHnfqYw zRjvCvE5^Hd9oA@eZs7s-CDq)#?Vz=e&!SNQ}c+r8>vrgNO09%RN(SO zTi(qE*%vzP;oYmZ@hM^FYGrW-3`Du$CQgo+PL3Wi;B&H?P*kwsu$0HikUM5~UqgKB z(B@w;!NrBql%S}h0(2!S%*?uJ6S0=IW>;={PIY|yf!+_`R)|^5FA8*m@|f-dhG}UDwM%&zlzsUcugeYwv`jGbd+uZiXrC^_A?i z{ez^`!lCAlhEZktar^=Mw{!td0F7}TKLd3m_4|n6OWcaz=k-2477?gE>npR-qBlh! z-J|f4$Fb^H!z~PKWKkyPgA$>%wArsu5~GF7^bqk}5Hg^X>sNZ? z<~f3Ib1G2p^ZLaqP6~PG<#VB3dPF1!XnA^&b@$Gyd|Gpmy13|9aleVWzPm;4+(1WV zOke0AcR%mue4i1n(EFW+28lLj7NM7T&1j3#3g6=Mxot!_kcD=k{9}F&PRYY@dnMr1E zaK*XU?VlVTbAN!f{0xe>gw_Aj#WS4S<#$z&G33%0oz1>K?$o#z|HsO{81^OjTXNyCr^aeWN74C@@Yw~BBMEPz{&4eKptRsTrvTvN zqvyzNiYNN<2_5u}`>u~w@~ZV&qF{o#W`bFg1-f&R>5u_%@_A_#uG%>2nMa_HWWRlM zcTCs0x?Yk{r1<;rB|o*KBpEn$?cTJ;)=7|{TmZ{Rv%iB&T?%L8=tUpQ62Fj|4F1`u zyiZZc!^mj^!1G0>2y=6PA_Ght9g7q^x61k2B3Q4Yl~KPlZ&yqX#Tf&4(5rU<&4U}# z5+mR|uh)}Q=|DVA(qY30%-m(_lY~Z}AbyI)FI>uFcCa?&vcEmzTo`JB=m|DcGZ`Ut zO{S0#Xgx?Lz1$>wx$dd|CCVNVWNeFhPi)D>)4JXiJ(6fG#LjnC9;UVu`&Bby`rV-gRiHGRwc6z@mbQBy*vE2F! z`_Z97rO4|$mgbwB3ZH3djREMf#}HJp-!J@nJ15z6Wvy#uPiY@VN4F%(Iyj87cr)-Q zY6A@}qbuP@BhHhzMEa(99=%(}LN6_7ty`!Kb%>a$qwpu5G_d@Z!Loh}2T!*{X7FfY zMrr1|wVI zp?!Rue#;y~1HEHSPh!XvHm!l)IPbQduMIr4CLWnuK;|Ed zd7%RAX;O-C46(Xb=I@qFh(CAsXTmx3E?P|7Atw7t0Z~s&cHGgLoqc1WOY&hVbeuuI(-%XA=2ud%bZJj_ zT<-eQ<5mk{9+-3X=$LN)S#!ec+?OJe8 zGg&uEAc`G8oQu0t$|stAHP8dYyqL0L{B^L(25|fvWZ|V7U*(4>bO4{M_P9VRcs#%Q z7UcL>O8BPCMJ7!dte>B4o^CiUhLVZ5cB%Mqrjp|?4}qK`s+UI71@1ZEkg0FjG&gFm z{lbqpl8@t=vlgZVwRaXR7P8+{Iv*&OnrT(LZekszl#~*D?q?(~*S*h1V+ptl33hze zJ3Q;G=BSps{ksP~N{-u9cT)Mka0y|KZ&6dS*mZKZwFx;>n#%y5Hi-3@jk}01ak|@p z4;;;5Qg&tm=|28%_zxu%i#wvyFBFl5u*6ZPXd^EU4zlT%>D0I;uakz^NtG%eZG$Ix zD0rn_KPghBIq~kC33ia1%ezzW`uRKgMm4zJjMP3`dwN-QthO!E4#Su4DoEZHUJG?3 z&!D?`jqXu+_QPt${`{TQHuEE@b%mi_ZZxJ*^{?z+3=3Yt&#E3Ys&=hNLO)2HWS!i> zmEj|S&OakV_%Y{&O__yqVlkn@8nt3{ARLOBok|IQ>Ud&+Mor_Xv|(%L%3G4AQb0gp zZ$F&#{!M?O3(zQFEjMS7j*HmcB7{ytWTe<7GAHj`?l3xc zkT}GrP<_LO>TFoLeWv$4&E7Gb1Fm-{zUu?;j|30FlC$2kE}B(E6{F|_D4}o6uZQ{b zRAU>ef}vmRWg83)&}@EQmg}BeP7;+-J*4cbPL{}Ye^@qr-pq;*oL+;y#f5JN-g6!5 zk|ikYVenG{Bz+zI4XabSuHt7CT%{h{_;#RCFZa^0dHi2HR@=Q7S8dAoJKk)|5OBuI z)hl*>6!fd8Yt!a#Iwf8AaSc#=bt&(WEELDoRLcR94RhNgt3|C~TFnU%jH&V7W~%K{ z-gv#m6gDb3qQD6Z-?Gvd#_L*?u3!)I;`Gv+nXpjM_D9K&uZ>$BmmuH;hxgE@&(8G7 z#c!G^>3-<0w`egG#cB;@edW~Yn<@<3(8>xJS#TN1Y@jfCd6jHUGUVb39LLnJa;x~W zS9?lPf5Cb|L6K>6d>T@DR`V%U-KAJ6@ONjUQ$KgHSqWlUimL{cCVa0U_@V3bwMIED zpe8%?i8L@dhBr(CQ2%%}Ks9Q-O8GC3Y~=1McSOm2YaSO^al z?k$dfdP^S$x{4vqRHwd}Wz*wSa@2jQ3SJf*LChUw_=(^{o{3dC%UOF5mC=n=^1!UZ zxfC1UI>MKrtL*G-C1Z0^ngdHx3)S%4>XWs0O(y*|AX02>o!^U>w4!Ws^M;=;od}3{ zUT>kBA&v}0>jn|47a5sXIpJKpmF8JRJuB5W-A}Fxdy^vqhUIm;F}qF){R^Ln^eJAp zUDZcDYU4h!feVp;d|_yVfP{oZT3#MYQBjeWfg$Db(F8beGj|riEPtKajscPP#p!jUqd~!-T?t5S|C6-9 z_!l`I;CVAymJ-vyW-U8s=RN*)KmCqML7_XKKy&+M`%9~$PGo)^A57`u7vU$@+O&;= z`CWg(dX*-on3S_lU$kwC<$=rDy%ed3vEtCnIgAGYx%C8(>b!(3h^I@(r1+5OQ}=tp zXru@@cOmB)ko0r7@=@&!vNlHWX-!_cEtDLYqv5$*-i1d!+Ji$wU8eQ7G)-a6cUe8RqiVzL9FF1Akx*RqHFD`BaCmV3a?Blb!okZ~o@Dbsf&^_r=fc>!;W6uB2S*;yCa^1h7YQv-ZP94(wU(Y`=0Y zxhk#Wc_gJIHPr8zwp6z(4?SFM|CHHyi~O1AZ|Jphwppjllst`n>Zzrb@%&p-C~2+T zouJP^PmiJdim#huIG$wK#okvUk`!ta6q?lV)*Y?s@jQWgn;k_Z9Stu!ns5Kmocy4& zXdix0P z>*RNY>vsgRe`RSfV-- zx}|A=v<(91cZ=q)c7u=EE{2lO1a9}E4$Y>MxJM)4(iRH}ReLRk+SyEY9<RRNFUU>N*jd6d@u5;qg{kr$R$KO*3S5Lss*Q# z`;|2Kyoadukf@Jwm<>|O%jveS>;jAOi;Feb*wdq%o14i*G+nA>JjGip4LWt6UtR{+ zCiR&NTN#Rqijw$+w3CvO1{Q}GQNLAaR$s=AwcQ*IAecqo-Cbw0&jyeNz`Gk6<$HK| z;Lo>LR;sC}r~sLmkcYjbrL7`&_V#4Fz1x9QR5D{h&|!L9oE!qz>C7(T#n&d{uX~eO zV*AA+(k1>p__@0%g7-ao8;*Tbzf51kkkCVTTHD&jiYjGQlnq!5XBA{uek52pDvOn~q_yz2LpRl<3)FZcde87m{ zzdb$3Wk2)oQ{zRkDuAaEhd`t5RCR`M=L*EuCNEI^82-*mdwRd@F2k7~QzD;|v;ml> zW$i;A@pO9F!tJ!SNlWEDB*<85tov%5z0OX#!PXFy^39n+bG=i=`c?SdwBy@iyRt{B z7Y5B2bIdV-6e)(a=NoTr(lvDeZW5AlN%@oz2uJp)mhD%VUr;PkSY*AB$6MWMWxHKa zv@9i39UZNl0qg;D&BearttqQcUsYPhsD#0j>U$UB{gIRvB->RhFb|w~fhS(kF}=G# zhO9d<;Nq{fJD-os5mre>77K;18qy&Uiq6$Vx1%$87E(&K(mfy^E~oSDC03fL?v-7Q z`m$)NMxkBJOGrO>LhAYES+H8VX=-;MMP7&$CLNHM|G^MYNsnOUZ4}Tu%?yKZjr-Og z+4qDFKFl_C=8(zUjvYp@YPZszN1wV_Pd^#PzirhI=k0cjB{th^zeZO?%0Wpn}UK0Q(#7G?p7x}wHN5x3oC=?mp zBk43Q4msgMWvRgv1K^q4@PVs8)`)e-YdG!%w_2^dykY>Uy-9_rWO#Ljpv&6OkZ^@u zUmvA85s~^>@yu7Jj@eKoZ~hX!YWwGCvWhaRQC5vQh=PK`9DFZ5%bUowUDijhL$BRU zUdO&M!}Psl*+2Nwn7Faa9-`ROOH-S$nbV!_{M=*gG6K`K)il) zz401&Ps!x>d!S?jU99ib-mUC7oV*iP=0=FP%i`y)5Q!YGdEFjK4~D|ciw>oq6U!vv zzUFOz9qZDR=1{ZX$J^RC!Rb|vWsr~mRaue5l7*;^OiQ&enNKa*hX3Q9XDcF>pZqNU!(-Zq`{}a`7tSIHygmc>68+cPV0zLU#^RV6k~3Y} z6>N#oyiQLMg}&Fz#>wa%i4#U1o1b?cE{N)GY3yI3{uCy)c7mo7*<&BmyNkCT8x;Sl zI){RK5K2Wa$gL&VJ>!b@E1M*2NFH3>cZR8>i%bXy(hJi$@~z?N+F@?gcBsCV(F3X?d{#MRC)=K5`0D7@wCY-O2ky2wtUBS z-gaE`D_$wq@9=6}R;n!#Mgir%!omRz`fWc^D}tUOuJf3Qav&?X)OsYhOGw_s=osEd z$J2&qrJ`noa7N=iA^$*a>0gcPGzY(b4{+qA>NeYFUi`;PFaX}hoG=}ErB^(Klt(s( zPhULuUblr_`=JUn+UI)^VHsG13XiWh$c?8x-n}Hd<|=+IPoP=HnT}wWf8>-aSI?q+ zprucB%9^=Lsooo=-V)EYr9VmZCTsng#K(BeHzcPpGcCpRL7gfywY={Qlx6jNyb;Do zRZ@2#*!N0O0>9JDGSoLBjQjG0G}_dZ6vlUnb7l~9LbZx|i{diIvM^ZywX_-HOZRd} zu~zWjb1;=q2@_os7W-*E?O4E6TJf&$t{!+Fy8{0viZNhz!0tveX>1Yo*Mm%SEdl#j z*$ZN%p=aD!QT3ROl@!|~T|9teeR6G+63zOCH-4T-X;g3bp#P;HU19H=ye^^;fmJlw z%w8Br^U&s?B?&_oPR#t#+nq_PG~H^@z(StL%WaP(gY08xbUE>UE$cnbZB{&cxDmj z`N28UF6*47v^)OG^R> z5_J3^n=cL!q26|O=bd~q-UQAlFrG6WaC~`4&cqAP7QY59<3yMYEzQZ-*;j-UhgoPS z7B{^oI)6R%LvF*qAlDeC%~QcPUQ%M8{*qnD`~DCmc7~ER(lj->%r(5{IY9)paS?&w ze&W0m*~O(#rg$^1?^0kEkX5d8LezzywAmy4UcE9E>l@#!qWU`BP0#3Qd133@)L)%i z>Hl(MnC{^Jv@(Q#b(Qy~_qxUWYJzJ;(lb6duBhVw(q1#bkgeUPkau5ot+j;02j{!> z#D=kRCe&&D3Lw_2?*VCFmcyp`-S;@+B?Yh*{A`jz>@6k=!%m;ZW`yMr?-25j-dR8q zZo?3J2^-^mz5bZ{e0qxrcXyZM59?WN+hr3+nW10Pwj(0Hk)HVp@I+A4(gE)9XlKS# zKZ)Hpl_d3y8ttc)imSJu*Wo^Ct6VAn2M7f&#efOr``h>?EqPuTD&S=C&VHlBG;KX~ z6mmD^*o0vQ9u;kq9uYD_ygVPAey(@f;Zd8vhl4;$Yo-t}8celhBi}W=z~?H;lxifH zO;ZBa2}a8>jhjLuN((uE>pfP5sP$akCF*Vz5a*-{?{Rs1sEg?kw6_w<@Sp7o_n{Cghrg6kfBTJ6Bs; z+|u$F5&~o>INu)QS=rhq-PkNfp%{F7ls=Nivt^6MVNN^u+}z_>wyNsyUx&HOPDn6% z>;yn;T%)4!?KhzAK1$(QeK(fw2J@Ir7ipx9q&^V({QJib*B>P$=;$T@{+CO&=d!*w z?-qh;!Bj1;jin(m&}d?l>9<1b9S?>$_yo@yquPas!Apz!ZCV$RmgL`(o{a!pSnla( zC5K9*!LbT$EESNWrXNA%tdB-~!4@jCkXQz+boUahWkQ5*FvoKBefC`21Qx9`ch}Is zVY3U}z^1$E#ntA=dg6+Y6^hGid2Z55CSzUTt)F}Uo@ z11Ie(do3S^h0>SV&tx13cou|bY4g5SzYaN!xOZI9{G3R^bF;ymh2I+L&{A7a*Na|TWTqtJ^l+t@IvMf=2pZg0c&?CZo zb;4i5Nz4iQx`6M{@IKbX8L!Kes*OpM%~n^lSuYf8KQQD)TO%@(jqcg$r@?+dM~+EXXlI*f|ZNUh$M+ddu-fb3GN>|5BD?3g32A$-oe!%*%b)kNX0T$6=FL$S~i z(c#KH=4%Yuq*Ffb;V2EZmQ9-3_IKf=+Le|jXD61vEWs|yH)ceBpu0u8UoB3MSbfl* znzpWxkxo(#)LGuXxLrZNjht|*%Ht#Mn<9*aE*+j0(E1`g((2q38_Q(u8s7LgoyIY$ z0ivU4l>$gjVA{pDlq0tY_;N zR>gvHba$afD)qTT@gRp|ZPLT(t-BPg=<=F5s~MOk z5UHBV4_2xwG>`U#UkLmSaZz{jFV(Ja-*Ow$b~EeZ>>Bk(@j#Q;6^1Y6KColFcA6W{ zdt9-0M^77XUD6q^gUtRsg$*bPZYirim-K87^QubAzLvQ)E-(kAqZ{k>a!LKqyWMa5 zaP>~;jI7f44+1o2cjv?IZ)0Yy^9!^>LaFiLm12JPmlA3&Wl4%vnp>SfPh#tPG9Sgp zY-OA*I56R=V5y&m0;XTTpMh+%8)(?1x;j|rR~sN`4kHU*(TR3q1uu6s(`C(>IgRk8 zjo%y;88}l->c;RVJwjbozwPkfh<|B9Pg+MJt=w1o`guG^36yb4%1kCzwdt?( zWh5S5xUh98i8_+Yuh=d#%R%{pQz#hN-9SDC{E(c&evt*0tB&}9c*R?(Vtvcrq8pZ!U%8^d;g7T@VImui>;3_0Xw~DHhrfEEXFjcl-Krg@g7TS>w$w(P z$&A@e4r#bt4MW2}|5tE~%Qvc5!NgLRITje`RgTnM>Wy{-dirzT>SO{D)`ReO@B0Xoziml)_ocAZ_oP&5M{yxLs?gYuC$jsCdU)d6=Px0iEJd&#cxM13_Ou- z$3B21sUMjmG8Gdj%JH3LjbeTnfx-x5T(1I{cXYNn?HFlKv#%9csL!!^ful5MbR zx<8LcS0tkWfPo$9xaJ#eE>=2f`L)L^Kki|H6U3noxhN-}IVg|kLL1_~{RRA1MS7q~ zqSWZAsS)oHabTcUPf|YmvOxr{Z^_PTel{rd?UBj1!-XI{Lf*U@^qjG9x<)3%;P$y%;X_x&gWDG z-$-Ob`C6K_lz)+)J{BwEPsp(bdBN{Ud1yUpC$>(Zob_H~9^NPJVT^- zCSC8d;@CHQ#LAt7T|GmPqS{9;GY_s_LU+^gz(sW=mNh=(3Dj2&Pqx-z;{`X*f#-$e z)2!FxU_sF^T3*pQiEOV+8tI0ukVDtQBQbHc|6~uKTKF1r6k1n{;bsx*zGj~i<^CE^ z2+F42cwOKMZN-)&w-;3ib&Utx6J}{$n(OcXxzAPj;^0S<7E>}H-qulUM(PDKYaNrX5FHc5 z;D}SaN``rSMeHc##3s~Omumnhh3#xg(kb9^Q;`&;apDrJi4S^68>T6V7QX2*J9teq zOK&nkm_RGdYQiTChPvg7-|8hM3O2Y;6qdU~Cb}#Raac%Ch#1mWO3>CTL7vVqGF}37 z7&BkZAyiTKs=q6y#0&RW^&3B^+pDChdah`hf3j?1GU>r~=M7`gZ*2&=YO9bn|%%hQ`3 zX(yGj%aNcqm)u1JFEm{2T8xPt!$`V_r3Ee(k~FpLQtRc|QG;fBpRbaXM|PQ)e@x?| z{At{{h@Uepw5TW?=uIDlf3(_C0-4;S?P;yY*Z5T^$w?#4nXVn!n%6<~UEXyzKE!lf zi8M-vYqfQ8RC|_-pDd8xUDh?ey|*{vQ8K~RWn@gqQ+@I4@p-cnTszS^W=_&y%8x%( zcOUQrTRdr;PUhO(#+w@g5gDXqSL~a;VCl6a-BwoKoVF{YIt6FNIGI|-7hAmZtv&1e&JQOoRRAE&TW9EU>5%!>&uXL7nWK)| zL7NkwW!_EpM>F%!$6RE9nCK(h`@kdbX@)OvF0pa;drzz-J>!V~QK0f9iipH~zine@Ivvo2WmAQw_| z6~@lZ20lykwaH0dN%600`X4WSmjdxY{HPf9XMET13=84?tfo$_={}#8y<9k|mUU9z zjKElZIu>+taY?2KNAZoTSya=M-JHxyN=acD9lhF}$W#prQ1x{OYyAN4<=;*AMT28) za1a`29%cQ2#jKunnC};^o~_Un-o2;r%<0Jq5qX7A>}~deT5e~j?@sH>)8O!;;=0cZ zN7?r>;-}aFylu+k&vZPH{+5+eF&2^LddYLi|JgQw22B+r?C#FRO-I8wVC$^jPI0`Z zuYWm~?x(Ln$Y)K}VzK502S7{->d-5ztW1F}D|0^R^K5lJN;~%5)25}RP4nE`Omf}) z${pNOy;39cj@l`i@7hu@amL5yZGb@F0HOc!h;gK%6pJAuA+rA?t(41T2pG}HsM^Ba zi4du=vGL_?mV=4CI28z2k$~BFU(5dVlkCDhv-MZwT* z=CRly2$w)UM}?y`jf59|?M}Cx9sO>miiOJ53eEbWjs`WDujw4Ng9@2gN z6fhd3Q3%8G3q0``Xl^jD$W%&BYN5X5&8pMt|K)l{GHAbvJ_jQ1xXunf2ShQMxx*cd zOH5jPGc_^WxPskTb6@9#@-DpnnOlNn%#VE2QPk@B8`TT+Jq>qR-+=et#`$o^Y3b&t zy_oIUdZ!Hov!rnm8IMD|yCOO|`tD<+&Cpd>2Jx+|cAd=~@wcz(sc9KqC>{6E7s1Qx z$kp86Qlgdi`1tr@52x}J35DG9I4sK(;$xzcf~$R$ql_MSq8`@5mW2|FLww19AGH2= zYy)vYsEUHLiv|}L7d`4%mQOS3m?=1z6`3)}8k(B6TAIjGGebHHs*uNAYJt7o3en?( zE|%uQQ~EVcJ2J|f^54SlZf~WP91|GyoAka42MN8Ni*2hLcA11KgO;Wnvuz0t0sdaq zmHOT58MoDj-E{7(RO;@UDY=E^U3SCBw2Vx>8RA3Zg7bCY1ur!DmrJY zcy|f!qB^9U+|vI9;;4W%3Kq%`0Y(b3T;EgA`}+M@_<*dM%8uJZX89t_CdQSf0vS07 zbYn&dBq6xn_NpcgQ86)*$~;sY9L=&y8cCj!XwoP5omNO@DL%m4(p(85xM7EFrkP<^ z%(h-k?9k%$G)UpHN}o#uH_0d0eQ$?WdR!{KC!f@GOUUm!;zN%LyT09lbAnqX{*NY? z#{sz3@YJA-50uB-BJ$J!SB(70S8k;516{-7OrOkZmJwC?D*f!Ebrh)LxA&8FoBizc z^b1j`{1!u5gC)aMf}+r?mUVHXOpF(Z`hwG1^S@U}4)4zjmDn~dUqk>(`>IgF{wHtX zyyp#I;)nqd3*s zxWM4+Xg)WJC+Yn^<7aq(m>_n;@ipjx{5b3fFK+>P_cjvRe_|ds8(f+sKafdPQP=W4+UQWmB|BVwv>{Ykx!aQywV?WY|*0~euE|M z>Xly(Y-$uq8BUi1X!)93ykz`mb(|_E(8AkeP5tN|DRA&E50wmo$ZMdC@ikqB3;KbA z%P-ukHu&oPFWd%gr;%c&W!$8Wxa$lCA|@Be1C8ogti%hC7#he>BrQTT^T3w_zQKau z9o!9SQIyVP1}=l%T!RG_Cy6fJKRRpf!y+iHS%(h5-e8>^Y_P+_&?kt5Z2nWh1WJnu z!#x#>@VF4k;~1aCPX)loPF9t>h_~?#ZXLj~#UkYi$H1nzA2upQ)FLpdnQQu12px}}t69`W63 zp;Z}tuSH^X?-0z@v3wu{W27q+VWW9!sdV^Llgn-`XSFugVK|x_`clEshcV9mUYnlg z0aHgp*;Tg0xOUQGP-c3@dUFyuf3T@IY6c5ULR0UW(^-2{px_e2Rg#mx@G084mQT%o>W8eM zcY(n>L~#EMYDr{4)?t72?f>{SpT!$Cc%)fuQ~*H~#E=%c5;JCV0nY+8S#TQ`VVIEs z#+zcuIxvTxNwu{ZE!=}q-ViS(mdKrC<^_vHdkm~j1DPw$h#@ArGPKgn>M$dRIR@V? zp}N6#IHVkQ*?(gqDB^=LOYI$8!%n=kO)OL=$I=|!bVC~IT_w-wP97ODi=f!(USVOW z{>6=ky=qI+hkP ztFwKl3=Awk*-!kKt`p!Nzue{f3qpK3JR)yCa@ugr5t%V@avt(lTE#<5IH#`S9P5Dl z6wnCw(;9vt=!rVFr*a#4FV;KGl#s4^%Xgx_-Zh}+$_I)B5p#lFB~Tqf&*km;rsocR z&qMMt{j`^`23^Hpl|gGMVGlmIHW)6W;lJuq#`ijYzvqg@E`%s#HVM%g`jWmu^+Ot7 z5EHO~R0q4f2!S)ILHH!>a5=9H4~WMZ`Gvo?Rf zef+C9-#`K8u#!G;!+;h!b|kdfTrDvaVYL%KEUGRnNKyiLe6?p9_i7Ob3`XWw6o!HR zxb9q{K!}T&01`EB3ZY6|7cGGGRMg`T2I29ayP~^Rk^X99D2OEe0r=3;7SMVV{2TuX z5h7U`%}p;@EnuhL-n6O~t|`4;-Xs%+pS2irSkb@|f(#alQ6lj4L;@9RMcS+!&T)dn z6B;?;@zi@Zuj$BTaWBHg1l8Ed8EgEj-5&o`YA^J>XMs4CJ*~ksHi8s)FgomnY#Sd- z^$FzmkG^`3cq!9bvUw^c^3w+RP|^rm$(sIrDyvwy3Bu@4x{@LegWA8c#%Y0lJzMd<_JbY~GEIc7hI$_3P{z~Q*uqH~!_PXG)o zU19_boQSwmG@eAHiSN;uWr|7+#0V@JdW+46`nV7S?rdF2)_Fc?YLCr@;>5sh9C2hB zLS)VUbY{<90sZ1MK3IFmtL9p|!s+Le3@dD&>xPM{vn8C@^*uc27VX=fsa*MC+=C?S zPd9qw@X!&6Ac5y)LQlrv*SptiYLSTAauIqYOxLOp@9~$+2%ea93(?lmcaJyF*YFVA zNP``dKf#PoSf7j74Tiz5<+Y6f@($A!H5m<#4+6T^l~0(1s~2hhGmN#`J`Yz_>E}Ma z>7E1ZJyQs>(i1x^@R|SWX5RgJi=E{?(gf1S=ro(Zt6c-MvS8{~x*aRv7+@kk69a&lHkAO}K7}9z*Q}2V zm86b8xf5)ceSb4IO9O~5W5RouAt0=6g=)f-CW~bp_Ts_BAxvS0z*)JlQDZE9u7g9? zI_&v3Jvtj_CbAY~SK_3@iq@b*a-wd8g@flKb~y6do1PpuxiuWP_rb^GFJiN7+QHQc zH3*Fqbm1f0DP50x4gtdHwfF~a)`R}fKf_y1@_%%oZ5jBvyWZ;$x;1KbzgMdDn z7Hf!V-e6)>cXSWg&uw_=ixW@N!jf74sa<@C!PVbmget3Dhyb}bLrnztk8Wh>b|I&t zi)4Z=@iTTTI~#Ixz-B2NpYIRg@VUp`aDb7RKndjlI=WCkRI+eZITZk)1syilPzGkY zZCo-R+Jpm=U{Go*y8cR*h5ZeGTYyT7tu+w}%?(McN4oF~Nk>U402Ypqk?T5bj!&Vx z@xp0NfenQdPsgP6hf8BXAe@~r@S0f4O+5dX5>oWAz7}7`&M41pTJRVX8%nv*69w6R z_K$c-4R|>gQ5z&_UjB8e8l!}s9TgMNJ_I=;X^#W#@JGe!R^iwtqb>^l6(w>80FU}- z)z(no-f{ba^xU0{2S~Mvi!ZegO01Rv;w#9uObhd2WPQX*pCD)vATV6?8>lx8-m{M! zZ;>HUAb#fw!^7_p8_QRSVVY??t;k;Xe(xP64=+;X)H9dRz}`{rF{`OSL&Hv}e>pEnOQfW%go!PY^vEupd}2w;t+zrsXpQg@O%=kz)cw_a^#u6-eTH--v|f zR_Vh6$ZxY_32hvLSV7Sgk9m}L=xSA<7&rR|T9mCIhD$NIT9kWKBTQ>A}rksynu5 zKxb*_l=?e{+JBnRb`fE?_O;ch3q>Kb-{CA?5#JuRj9{@jVrUd=Gl3o%8hnDOleV4%U0BL42Ra|Eujd z&;aGsdKYD7ReW}HlQAS|5?kan|1)8>PmQMk`strO#DXx8RuzkluPQk3A7T;xZ@OqF}1tcKZRFDf`gM@AV^qi zYA)oaMJT_0&+pbS9A7*gPSkJXi;Dg2K=%)=oHhM#-jR_5ki#=J?6mmKAS0Vj5iXc& z$LA(xa_Qp)WQA7nY+c+9cHiLm=vUbEPKe+T0Rye!g|)RJY1LY^vT01I@q!+P!;8D2Fs=t=*n6O(D99d(xDxDKi*D_B4*bfDM6FZuFx^_HI`r-8zLxH7LH8XcQB0p~ zFbj71UG5!KOWVocwB*9PceO$C|HHS8G)P%?LtaKU#r}{8X$1w&ko(_>V$R1SXjY+z zFZmLEr~BK~;)CL|N`}<5WeAjT``vG+)xr%#<~Pf(TSxl{LAn%{)7hK@J}+VNTbr9? zU0q%88eQ$tc0VMuduSftLnzEgEN=h6lvK>|(5rn)(@}H`;qxt?Zr*D#j`i_zS?l~h z$&Vk$mQ+g$zjw+nROTxYAIu~JSLND) zO-Olc8f1W?0cC+17zx_2_`Jp2@^@P5DMcgQ&za!d4e@R1TL*J}IbG8@I6VwmUKb>n zrZjf2w@#|@+$8-?zH7cqIx4#ZnxUw3eZp|Qc;=z)@a#vue16tzou4JQS#(HHrB;Y& z5C0<+9ZRib@HAOeeP=vyPEM|g_xDh(&OGn#G#)#@PYDC*|n_A;k}P;>`AcIaH@* z=%B52a;h1dNSDQ78i~tM{9;N^KW2Vb|MXr=B$qF)KGc3l>j+<2;i}Rz?#f*36?97 z+#d)Mcpws>j!u+AXo+HM7+N^jaEy@b>r5V~|lyuUJ}2 zg7=o^5@aaLck$E9of_>T_r4W;dguQuXO|PHLt&~A(ekvF4A;Byjmifbp~7MG@AXlh zPpSBCW#1J7S_`Zxsuj1#GhL0b4#PzdiwfB-|Dv$iv&CQ1rqaq#P5Hzi2&7* z+)5rL5IkC){m!^7{3U5zeMS%Q9!cSzw9w|Z|9aIlLjW+r+m~DG5ox>LHc7MD>=0i` zIv1aepmUOiO{ z4MYL`@K9_mySx?i^w{aVTUR>(bq|aG)j(h0e7$7SveJ%rZ!~0iTpMTi!!iHe=^B9z z&Yp)i#c?z?BOBbHc?}z54?K(ug7eiS5KuuWIKoOpOY3QtP|r;vrW0tTuHGnpXdWFO z-(N0)m|L>4wZBiji28Z$%df+M7O=%+%s{w5pbO&HLD^r<4dQ{QkE>~KYt3|y8tk&&^HXm0^vViT&Ws%WeCq)%?+!f=#JmZ*vtaUbHULS>()cy#Ud{*R03APUyp+VCXsrza2}2QbCvd&Q0!y` z1qJtRPJ7R^7m`IthkrRe=LQmLf_X3*?oU@Sfvyqgp?qSk{Yi$nyup8YoKhI^xvyKg zAn)}$wZTHh%&htg>|OlfM%(VwH&O3y@asavXaViE)yrmeb=ADTSf13|V5mxD*6+m{ z8S}QC-EH)?xCT~KT2VnEh}Xaz-3D*R%ovNDmP~|BWZ|r#Ne1RvDmRxn49YNE#Sf(d z3n4MQ=a7eg8uo4R+a)q&Ys3g31>8=gY??b^*N;|gy@y|IakQT<0-?hsdKMcgao0BG zbjQ2$&QMjKf?kQN6q%leV}72>gLKqEB#ABZd229wkSLHc(v4%iTU#r_WxpWgQ%WZ6 zFf$EJ!cHL&BY@kqO2c`2HXnG!Q={EV@k2^pn)Ssob;rxTs$mPikrsmD9Rcd+A^cTD z>@ode45ytr=c!8s#?(&wonDQ#6FoPRU!;)Dl^^A#fB|=TOXou%jKwPor=_QY_& zXATypcX@Dz0=uC)*Xs02-Pzq8hnNUmO#IxU{jU~aIl{*5hZE%07OPH|Ltp%D_VN2# zW_Nt|QvS=0aiLObj)LFcV?K_part_*_?>;USgp#6{o>+AB-Y0th-fJbk#gIvls`^S z7lV@{w3v_WhsnSW+yr)C*GNi;e{rc#_$=3#o7ws-*r#C90rda?uDQCpO3b^vy0XLj z>gasAm{HBNe2}*fQI9sgCuZaZ9$TF+yYMfYc<|4ErhA$J6-Gnl^oG=4e*8G1pWu_* zZZ>Md4m*{;D5ah&0?EiN7epytf)xQCgzolIloQc6wLv2I_MA73o>x0+d;FxV@v$mE zyTUux6?uUiG9KUboSQG@$JDF_Z$SfX*PIayw7KphoXVcPVgIP%i-kA*mvdj zA^&Lap@ZrO#`p2gm@UuZL>8@vQYtFgxOH+*XpA&m`4P#-&HW0h z&`+|~*6=buoYK$`fkh+ifRNbT%Xc-lz@1p#kvYg2|3XlRhU6nidJ9j=F{TIrQ$?=1 zX&jQ{5+Q0dGqY|yWx8?QugKY2*B-7w{lOkeqN2vd-LmSG#V{z)QdxO3q$91yaB9=gD~JTs(n>vq!C==|+h*b-9K18sET zwyK(1$Yt{#4mGZyuONtr7fyr^(n1F-yqU&mRFDr4f)kkN1h2zFCtOilYKAd8)Z%)Gw7mpv1> z@7u@{(d&r>L=5N6pCo#~GaXoxy?|Lh(|jJN3lML^8RJqvaHLrTwq4iU89~x5>%l+t z#%xPxAK2{MHvyk+YO)em>#gNXO}~-NHO%}#$%D95a9$5seApa26aXFo`FKiO6^r-@ z>G<}YZEDET1P*~Ogz@lv`(lmRQ9}EZ@DjvQoRp*SJ>i`DeJH=KuRlQHAW6&^c3P*B zq1)BWFz97O@j&6RiLFe_?R@~fVLW+EJ2r&)QjD-ciV8jvOLgpxDG8OEX{)=J_dI`f z9=E6<)m2~JJiFqCN!Gh~S0M;i^glJMlj&Y&!;ItYDzCvJxCt_H3m9xh4X=e5#Z0RA7g zzA`M1?D-l99uk5(B)F3R!7V^=cXx-N!99Th!JR;G_rV<|5ZrxmcelaeZL+(+-T(8v zpXN(X_wBm()~z~q>a@vs#WGF~jw#4Ri%w;~G;72Y$ zCX@hH7)cf03>Ge%YQNtQc5heo5MFAYweCwmcoA>Bbs7FU2&KDRP->_U(# zpbyd8D;L4a5rZ>B#sX7Pym}>F#>Ku|V@k^)gGP(|)-LEWT(vC5o^e=GBDi}I z!#1y(3Bm956t&=9R?NBXAe7gxiXKNDQ-8`8zo26+V-px#cJV$bazJF9rsN&PD8vG4vYTFokCCW-4ZmA&8*GGfP`5 zj;YuSg^lNiWY&J2HZ!ND)X_Z50z;IJP9NzJ)>CsXhEnJ9zF;xEqx^=3nuI^3^Agjg z%(3E$P39y)EZMh~ArLF%lEtF6R6qBb9V(GA$OOk=UY+BXiHfZbZ?Uz4e=R|4*G`W= z$5T=tZYBf#8-zo_B`G0uHScUs6{cEPKlbsATYXAO$i89sJ#jvJNrYx82Rf1O;Ou+I zN#oeL^v5QgJ^=>t1yO_c>j3{|CqC+FC#q;JMg+sH`uW7K{%}XS5*EmqlMHBwy^x)z z77~VUR|5PL3$*)`TQXq4a;O5OylB7cDLABuPrVan#-W4la>HwRpkf(6`%`p zgT4foA9Rs7^?EG`Y=P1=xhfp*y74`p`muum^=)jyPIMl6s_DnI%tb9G+-mQrobloo z+?*@KiFHUlB=gc(sCvP$Jd>XZt$}hr!`9twQ{fN+XP2)4tP&f9a+PD8Fq znM|y=W@ma&S*&vUqx+W*c8rX#uOQp-OAQGw^VTlia(7+rT3hesBI6QxgP<6GF1A>Kfr-8~CS zOr64yanrIa@NgmoPj*1Z)(Ou91=p77Q0-U}NUxqPURy+I*-1H^u zhj?AJ1|KlceCm||bWfe0bhFL(&L{R92(4~K0c^#45w9sJ9@C|%{sj-pM*|h)ux}t` z?~BXlLIPd<#$=j-tc8@{D05U&e&m0U=T==p!h-s*%VN50>Vo#S$!WLi3?`R{2CAzS zYBq*`PeQ6oU!p7!_tzFZ$8n+did{d|*|cD9UyY9N#+CpR;A^y;cYT2?MmylnGqIKc zz1ipc*2j;+bh|LCiYy$pSZV|-d7ns0)2Izo zpx9bW1rjXX0jNy%rlTsqJmLZunU;13k#S_=Jwg@6`PB(r~H^fl#W{nG+A6WYPi$#Tbh0JDaVkZj4J_2-DOJnf`@YP)q9KailpD z@^BE{l~Xj7<3#OI`KY5q5%Mr*DlONKE6=L7-wUz{f&x z6~PW17$d8~U*sIqLvWCdOcwI}B@ba=Pw-uChQkp%2_EM03@tmear!~Y_4NfctPhi{ zG$_{@1+_z3DBSjsTfaCA|40=2nBK&fpOcdukBulW3!qTohbOMq{k@piE*m^V^HYE3C=kl*W z_9qOOJZYJb2hg#&vLCN{A{=-;5#(CjhKoi4dS207ZmjnJMv`s&kmEPtzBX!*tv+YI z&B!*rR`R!7PnT}lom{af0ROKTXT$N|5i@8+x&5r49+Cft=)3mBR_ne#6kMH+2kmua zA`g%P5!i5=XD-_x=8FN~J`Bkij3P%*q#$J3DW!=#drx=Wv&+;2U_;;@=uewQfcWp9 z@8Ep^puF90Q0MteC8Fy)@PG<(C_YJf!2P?%8IQs$Qh(U?#jm=|x90aX+X#Qdkn>NX zM&9HqhSTOk7)j5Nqd@-@&XYQjxq@d(Y+1F-F+3O{J>idn&Avea=cYH3Y(KW;mGp~1 z@|aPx;s4egXyIIfpKx(o?N8wx_-_U_J-|>GGJtb8M>2Z-U)b}lJF?7kLv%E>ILH;e z!{zZ?wl=4|gt&wR331Qcb=_X$`B=a@SDSme{{ng7pW+5u$hXh+xoAVj#&XKbhhcW{ zmRSU^w|o=6G|ywiyO^7sXLkX78N#-R(9r&o%Z{VqQY*pHrj0O%n|Iwad4LjC`gZE{ z+286>e}GGnK73vvsO_!~@5M?h02}=zPJLpp^fVncGc`}`Ert`A3L|A!oGh`AU$80pQmh23aM@xK8$VNn-0IRd%;XSw)8o*IKaCx zYRcjNV5C0qfI5Nlb#2iSuPZ;*9*4~-fnPHPFhcu#RBcG4en>(K0CW4Pjh`MPDy!le3#bePA1V3 z8yhO z(ywXGZ*5M_&*K1Em#NC>T{EAhU6Z*4r?#|o6*~t<^6YOL%KcQ5)YZK`2E3v4*wVQ= zqIRDx=%<-V@1THyfF7o+Wv4Qo=n8EUnc^VE23rk^PX>@R~1h?l+^$+#k_K%J$^O}|x1!RJa zN-C;;;Jwzx zKD7Ss>XMYuNK!n;ijB=h`5>gNok9@07O>iKWl6JPX9095R;93&-;FRKGY@>mm0@@SkNp!zvA|)SRJ7wIa0qKJ7LYJA- z>D4>UHp6ik?s8hrb$)81C6#Fc`C(<#9 zfj{%`#5Ih5>ipd3_Izqctgxy%iLDx?KO6VG$8+m0e@W$`h2m)`8DcZ{5Rk*D zLu=OzE&5GEiOSpTb6=!5x+7w)uky=oeM^!-&lB3PMMcXcy7)NBTj_XVB{JcAF{HhE zaPVS-PqmU+w>^ne;fQU0er7z+SG#=?`FU7XXt5?neFS%fyr&(YGI#%S=kC9o3{Z?y z7K5~%UX)9Fe@d-LacigWIgVFfFP+wpJ?{+7jL=?Z=UdlJ)jb6?Tx7Xj&Vx-ljBPJK zb~Cjvth@r_664zwNnax=;GT9|F2y&_YRy!fNxnLL{c4Bz35>@=vze`&bX%@s){V=R zPL$+o-tLYdj;Rjo>^kyUKYn9rW8t^t{e0ry!g!q9c{Ly|lW?GF_yEa4@Y(worL_4L zan#eZ@XA*6BQ{5Z`%!eeqgp^;ZS4_Zgzf)0C)X!eapb%5Q4=w}zNx9{S4LH~?!!j9 zFXP!3OO*2-Cw?)iw!VIOA-*z9U~^mf(&9;F|23UqUH@EG?0<=~21>7zSlbWbv;i(5 zs9qSLPS&h5V~YK7B}AK?dl7F!e0;;N5^8vnIHPjur4*I^TWg_{(fq^}O8g*u+#6buz55}uU%DwAw%Y^Ddv@AIsNi_2TSk(fvyQOu?3rC|~WsNy%< z&E0t1=HOnVrs}4OuvF#w0?10-Ym6VN{{LmfkRR9obw^78__Qsvt%T*BW7e%zX;wg> z#j80-ClRpWXsZ0=P*G9oa-gML6q{lK^de2q)6ufJR_95j8;yoJj4-)<_5pWaj4;iPlnx=h7*SIdT554s5 zVUKb~;Ko7SQUagKQfB1+hl9>%ND4dolFS*b!~7HLm(UXql>XF$&S9w!pFSOI*5u_; zD+i@7x{*;b-y&TZ8#CgG>}zXjMbS7+uZzROBO2WK2be>}Rnxk!uCGJbO5T@pl~q+? zJ$T@um`%P}S9f!Fm$s9yn{OB|;>K}WzWmP!lNg?ggU?*YNRfFbE$KJp_aXiZ=CLw6 zGPU&k#J9hY$RwWiS;aJ;S?6&41m$-;!~`r@iA2@!BkT=?#L`eXx#to8im2=C?2Pe0 z%_vqcWtAK(sqiHV={Fzx`R=z*$IS&T)vhJ78=lSkX%NL>JcGK)%vi2joem=0* zKkx+PakH5PQQVcCV)@Pn*kaNXY2F|A0d!&Q!w(KXGcJgoodfLIro)jQ3v8EG$u=}Jk^@JnN4#}2@i9mi--}L6E z6ONIg{H9;(+)`Y?I3mQN>z;C}%bA>#McM7uTe{xNI@)t!}+W++J6~ z+|vmlJRF?fad|g?_AhWXwza~#Z~ z%!RRF%0+gNiUg*odB!+txtH{{#Dm6%4}*WJ4C$iW4e(F%RQ?;JqW$p`d?-*+h-TUe z_~Bm6lxC&nWxEVI_a}OEYd|6Gc!|3P0dUV0eUd!n%+)IhKDri18ehMGmk#}Ny7Ah zL|ZdVV1=`VJWz&zk`M3(#3?Fm7kEyDs1nXVStII0Rt%9=w`tyL$tlTHdwr&{LQ>k& zS{}(i!7mG)oi8whQJFmrzZ%vgot`?*AoRL9c8YfPbE0&Sb8wKngt;rvL%V(7jl`+RM_WP6)@jC3EpMPd^VN&sU0(t(&R~Vpt z!YeWFB?;%!fMEL;U4lLMWJfull7>c{C&OOeB{VoVib>pD+~JZV?a$NnkuJZE1ffAr<)b9Krs>WM-VBnFc)VBf>PplHM)YO0f zNDGJclzoW;2ci>@?(~L_SpJ`M2jS_ya0>ZN(m;<>c>P~F;NMmUpFa_=Z$N34(STtH zs%I0TS>&W!SlnJ0KhrBl04#;?bgKy^(Bq?7gS zYlR46o`6AnLX+$7@s%b!O4r+8FLN7c5Y_J`G9Un?Ca2@7di07W`4k!HS@ zjhXx5{v9lu^}A~)GhTP?|342T8W5Rt_%>^+x@=kK;NlSN|2J`5zJ)j)+s*T&*3$aW72rH7$4|xYr)Xv#l>3jwAb(%@d>H6Jo@bs z9u4tUz%-KH-miuTuIb)$Nk6ijLr>4!9;e&O(8%)i=Ia}4C2eK?vLG>(+j;|_smPx| z#DJW^ijBjPMB}eH1iu!FkdW(PdEiff>3LcG$^~=vsi}rlz2p@qr>lrnDQ=?g{fVID z2cJdnoCMUS^vHB<96U)8@6?O<2Uy&P7?bRZmi-1%60EWpz=cH;H4D3?9L)9CQnm*5? zpwE61v7iS8&YL_pH3|fM)4x5fWq5gOoZ3&LnpU=KV_m|@X?%nVuto|DH6NewqQ|{69WygAr>1#+ zl|P7$u%>oL4bR+hzwmBjveldg?yhNce4IaXK7PjYg2(BPdoW{x>&i9kuymsu8e(2u z-8JGmbnBcJf5Vy!P>sE}%4kfVVOz`!CTk~e>=!CK;^{ehK#DWu(ACqp4Kbl(t45N# z^*yvJK?2wCeb-vtuFxzR;H3!Cx_@Gt9lt+ zrXb6l>ppuximGMn!(5v&xY_fvOtYQK<7#C2mS)+B?DaW~JTaTkX>LDT=j5QQlCttf zjk?4f=O@tmhcz3VZlNPB z!T)q(*)9TL$;PpK8S#Z>@w=N8i&B#7Yw9RRFp=2`Y-~|W3MyL z7Tt|%0=>1hkxJC>k`FTsg*i3k)101MwNsr6iv+OEHhJJ)CsYff)9k6WAFk}c;)zek z%@_kY+4!_#y?fQ0eWH;i z02x@HI?xtt$WIo)G|YeF-TB&3zs)ck$oM%V3vczWzO4J(zT9f6@7usq1%)%_jiTUCGWCt66{v-+p<>Ye&>Bms_9lS|5-f z{4k{ZUKNYzA1=U({4ggV80@Tm=e4~SY2VUXX*6jSJK}L*6~Vp8Q8;yjtn|xV_+X#k-4W;SA!wnr13v-=X4ac?vZsWP93SOKGXTcttg$5)xn$DM?{=4vGDt&!T z<*-EgsMbWdKz*{I>JCy&z^#nF8V*0oWbnMboz#iU3!ABpx5okxqj{#73D-Bvn2GO& z&Gc=N`?&J`mk-Zyg1emB&VgP`0L^{&Clnia318AFMk+d08n7_9@M$a+t`=GLNBhwF zz&%Sdtsbbo`Mzt9xOs^`-jR3er-_ntn&Nv+u<8~w{64xjJeS7UzAN7Qd!%FLNldgYm{S) z^Ps)y;i$LN>+eA(<^*br1&CI5_xLFT3SiF*D`H zN{_L{M}aRwOz1CPM)Q?q%@ZX2wvmQh^O+fK! zfK2pCV6dogSgkz`eQe&Z@dl75d=&INf+d-bUv&2o9SWfo@_UWqhYT$nbHMFqM2mond7*Zu_O99x_SYoI^`B01 z@UZr6j|gNc@UWmFg+LG0i#8rExaTbMmu=-mK9`=4M@@(jMPotz`$K;ImYC#Zt3Hni z`mm$leRscx#xk3qdc?RainU97c&d%k)Akg3b>I&~diJVvzSR}4K)9H|0&HAcD z=EN%eS8Eb-oQ0&E3}WSk2Li)D&a8P}ez~-)Z1`*f-&VzCaY|U~MFHFpT$Az6TQ7{) zbaU}6@awkV(@rsj0vMbOxFH6=VL2>KS4ZG1ONlrBx$vuZjmK8Zz*U63=>U@!{8C~F z;0`Y1hh*O0KSRuL-G?~zTc^C&fBlYb6o%t&4^(JkGw^og2n}SXq7d{RF%}MDxw>jJ zcm$+3UCgmL4Hy^6_BuK$l!JtZ-J)^==mm?75&N;G&Fy`FKze1KtIHT zV`iGnkAx$^rc@ohsXt2XJCNssB!%8bAEu}p@$mA5r<28-!gMd()J-L*mHui2Y^-2N zZ7rRUQyh=D?D%1CzQa6%_Sz`ktg@;qoQ2d^M6z2Vyo-#>e#GwqN7vr^U>2KA5m>M6 zkw43dN)hkB9FbD-8&8rg&Cce<2U@)^dhGn(%t7Ge(t(a+j{rgXygFOBCv1RGSN+2B zCMRDjoiBXIlYxXL`fA}+dsP~~O}kt((zUcmb*k;e^-kmQ+s`tw(|dbli0Pj#Tf5(9Gd{kT4B1;jJa?L{(Z+G9bjwx4W}Lln^#lzD_)!h{~Aj#|w_|il7jWNVt^VB^qa!f2p?6S46*~Y9>VKEx$uL*g*77{=EEGaxrYA zLe1}h0A{`H1?3wI2!C!4dL$Mtn3RZ!7wOH7FU&`C^Zbx5yV35Oi1L~`R}1cLx;pH- zKC$+Ey<9sX$a6;Ydm|UZI=S}L0x$`-1|0|w8#}264G5x4n-WG2_9x(Nbh#Vk+JvHV z!hi2cdK1PK#>XD7qt2;YxNCZ?WUQbhu06oGG+)BpCG}Kh;n^7imj3e5-?X2@YQlRs zjo%Emr$3Q}DCG@f&DL;wA}j>!y~daPgaS+v1M~!5GlXdZT5u~I%Fjidsh>u=AMkLW zX_!Q*?3MjQs_$|>d%TOh~4KGUE zF}I7^94ghs%Cd$_6!SGt3qZ+&|#XZhg@j8;NOLVNiAH16U&0Yhg62{8uZIl2tN^ASW?r1a^Y0`P~l7A z$`U^5piYr6biaapg}OK%w4>~o?R1tF`jz9n2HkqVyZJmV0y+PWeH@L&{>GnEFmB0q#%(Gbyh|Gqt4q?;{glB(phJzmXz-yqX8=i~ zv_V}5EeKr&?2fSMci)(BG)dTM1H7*SFi36$_6BTFMCUT!LP=-Lu`gUx{^W}IbkVe#~LHf{k*D$rdPrFeU zRwrhJ&`kv@7vejVdYXWYC(B;7z!j8}5)c#?^96ZqXu<3OwMnyR9({JWCKi>;V{Vjv zQrx(p?59irJnK#jwqzDfBM7HU`;(M-EloUbW&+Hbn6YsQ&ERB`LBzC zhk#1qR#sLpF)&tCHM%=ltb;U#Q@Nk_S8Lziph0Be{2mz9UUt{I`lo*m10T{n>$FvR zdZRz1BUOgUcxiBHX0m{l`Z3zydb+HXmZ!}M1Ntd2FeWvY;-bcRY(&A1lmX-}2F#iH z=XJ#buoc~Mv3OCjvo|05(+h&Y8osCzkC;d ztzTuznxTVC$^@a|Xp(At+3@%G2)4J&8Iii2aq);q@Nk|hT{ zS5p0YhIJ_@+jK*QXcR*?1*jw) zH8$;gQvAny2+$7K1twl8DWEw*jFrPo>htGn|LxgXtB|nZm`H&;A?7qe^GaJ1ZLuyf zI$k#krKz&`kP`>@%Y(X{;^MQ~cfAAil+(_&a92xFwT2Iu>+9GvKr-=D&{fUD(_^1C zArwl%%q%yRpC@T<9@L=bn%oA{w3gGCy4O4|5W%M1K9V}Iy5wC5gC}>Id&9>G*vUTw zoSafK)uJgis+kHJv-~V`UI~6FJurVmbcmyKP6!fb$ay?;ZKH8VK%l zv_{EF-`A|BtxX|#y@H;T-ExmB+j{;xc5G~d66m2wz94$DhFa+s29q9x6OMRA#`js{ zI5;z}QA^6@fEBE*t4p*@aa{dcmP@ayOs2A2YWQpWf5WFll+uuw^83cmz#De zcxM;;3SAwYX1EL>-&flZ|kve?1h14f<^9t^|Zo(lLsWlbwfCN1i!zGb4*`9v9S5x z010L368y~Z$oo>-%d7eBnCww;$lFH@nn)6bMCPvY=KTjf&kelO8K61xl zDYo$7w6krIxVP(y6h$&_T&mxuhlq&C&g!doDBv+cj08@raxV6_Z(amg2nchvy))zH z>)R)5i0eki#*@5Duk+=6s4=u|knSNl7&kfVCfx3;%FlKSiN<6!GhCN^Zfhk2n&4P! z$jJBP1WImo_wdy)f>MPXeVf_M*OH%n|ZHgbZ*X? z`n%gM+?-07KvA;l(%T{4!tR&TlEjOAQyRufK@LC0rr&<}d>K6{CBR;9cT6i}fSy*d z84tLwWp4z7NC)$9#kYZVehaI}{isz+IL(Or(a8vD!#nnZHZ2+n_|l`FBLUM7lh8XU||IyFjSgKC)`ZmqU9XT z>6>MhJ@>y~yd`@JUdmFuEcag1K0Og9lW>&!o>OGktO|=6eHBY1XW_W_!hegj`&(VB zy#KKFCu6g`=8V~i-B|z2B~Nw4_e#w%o9JND!b>4_*E;{t^S^_G)m2r0ged=r&<&r> z=CGZo4I!k8R4QODFL=AAsiR}_5bjw}S~@5?e0KKS1lm;+GEujU50J8n{YfzHI)c!p zy}esD1wZ#Px1is8+@4Fy4E>ZvO(4X%pKow7d&C^9305=cZgE{{N7$LX{XWtf(-d>d zoDbuldWrPMUDu&%jJn&wG?~sJlr-&8YZOFG`;jP|mo7a-VAI+EDl)nbU13UV(45*_ z?R;((>VC~(Fx)#se}8|^D)5fE`=~{}5vLyTd{)(;g|n9vO+-Jugxeo4;1w+_qD^dH zJ)j=@zO<6gvd}aw3L)_)iMs0*Crf^?SyCjA#fsf@<428gd(qu^`EZ+?S*Dl0SVIlB zS6bWjxt#BOJKOPLUz0mi9_Cxnw|RkhK^V^)S?K}DRnixa8rTyT1pDfmWSy`A&WFeX zZt{f+9&Vrnh6~ZBKbJ)Aaw(ooD{_ueR){K>Y)l3EBpv#R4Bvq8EFR#ys%4!hUG^v| zDvQQ`)`_K`fByWrN5C8PD+<}Z8jN%EHy?73NE%kRY#?>A16JDQw<133Kelp50Haa2 zAKo!b+wNF|z`FWrzCt_4E?N7n_soTuIC_0RHbv(1dD0ixWHrYR9~03RedXDNKKAvO zxx*-QchmF;`KF)5MTUp>-J=UIT2Gh0pGrbs^pqD?+4hVe;q=)~$P)`Z z_ujlTyZ5%%OVb(I-r*OIOxgC)whr~$C?4)L-&IF?MV=gCNT?(|xY3_T#Udz=$==9Y z>=K4vIOJ!Xkd$i&MlvL?VF`!wa@u^_ir*0B9L+55_HpEwIlN$Mt?Rs#L;upFnj9&GqUD-H9gwBgJa@YzP`BL`YY3~&i{U7MZ^ldgjGHYw-%ep zlb4Ox7!IDHP~#ObMQ3pioXYE0I4~NXeQhtj(LlwML}uFdz3oEPH0(O>4Y~s}yxx?M z#l~W#Z8yzz`^nO1f8taVF(pvRKAC1=X%dH=ot;tfGDr(|Y}$y|G|qmCO*oiuZP92K z?g-N-IgUzAW#ZhpI*ZJ7wMo#Axea?%^-2JKj-6B9&vZ=PzXw`{mpdS2OcYMdQ{9qOQ!FPkz3 zz8;VTpHPQxUfN|w5U*HY=~5{R0RyWE(<{!c?%%@BSyG?xq(|7{$IySNdFrFH2NrpIf6&*#eO$&$&Q8&h} z2A8>0g~_)t20Yb#}#0-G$y&9GJ^Cz`{Q^W}czi>ClBl#gAl!S#s+3$G@VlAXu+a;}9^ zCTfFOtK5tNotSibhSUj9n*YRycC^b{^n7PbGt_fv-o(K8OHJ|}tvy=SRBWV)a>;OEQr zU>L}|3e!JPK70{endr3f`y_{B@CW0}vgzS&uE5I{&r1u~Fv8eGq+rD6pxyDoD1~A7 zRlM;uFe!{HFou&4j58G-lr?%|IYw8jqXs`df-Vp+92nse^JA4X z^kZ-q4KYNxRr)(#-s0mjbwE)B%@2`|aGjYyZY8mKlJhY*VF|3Zx5 z6k%PZxQ%`d0Ut4v2t@?4-O7(27An`Y)I>ClkoW!Fy4|jlk^jzB^wfZ<6Q`m8yQM$G zS+d_1iH)pPuUm?W=DYEd^fVXGcdwR4Z%RZ;3(5!5ihR_1OkKcBIPOci9I{j8vgkLO z2q=>N&GRsLJ(P ztTISLzx?VD$PLK}Zl*|XwO#N~Ms>B?O}?2j{=5*v;3&fI76;olR#Df^z_zW_EESCr z7fBjTDz)+tkOn8`kCWgiBPD}bLiP1#myK4uEWKY1$YkdiR#TsogFMC6N#jx7q+!kd zy(`WD{w+c1bMk$eR~J*rC-uMzginSmqfB9TIZ(Su?4(DGo65(_;0f!nU7&`LzRf3PV0!*C-qpj@OPiANw_kmkNtB3$9ktfC?PJ8h*8E zsgB;b)^1qaz~utCSy*}lHUu?HT~1J$VE@L|E668~WtW4O{tIOk9X^Wwoj4jOAZ6vh zaz1-mSl8@5#0l8_;}Vu}8>Ic2Ial8mkgF_%?ZHO`%o;h1`UGsp+=Y7o6uWRyD@U#1 z=L|j#jxTMcfs7G|A^zmF;6&7V<-Sqy;b1`{8$;skO9-dkoSebshHl;OhS>K`+~j=i zxoH>>-I!1!W!Ol1FmjXl#`>>64nvxL+3K^mK*Q$`R7o3@)SxrO&r(3npv>w(L2p0= z#LBehUEP{P>)9aa!LUjVmjsl4Xl(Q2_7M3P&1-qeER^m_sUe&kA$ExLhK>% z5enIc-|+`P8lK~3n}0HY6$3>Catd-PM!o^cFIpqEzj(;^01l#0?tBrhUCxNVx-Ha~Xhu^K%==ZVs-V@C<7zf>rFWpDn2|ix5^#)2O;vL|zdYU_LvbFr) zH!sWEd=WnDS;kIy6Os>u|677zaOi-giUqEzTmaQg?|&l)523`ix6q8H6*6E_5ww=qf z*Y?*@KT?#|P8o{J<8w?WZn|Y|P||zD-_mkA+A~Y!rx*$L-Df#Fn|Kg~b(zA)^5jyZ&@H z-W$$)aW2HH8|L7o)rYR2Je_j!K{ZmH|#cRgXYk=NRuI(PS_4^pw?&5V?wQQlC?ihxVBlj{16^Ehl2+g>;ks8N##C9HL zvp@0JxQZ9^YZk1+x%|Cr;x^s?9Wp)W2GtD*GF`6A@OUl%m`%($XTCgBad8gqJ-UCm z+&FXEN`!Y2ZA!ly%Z_=4$Fet78k^pBS_Dv=`i>su+i0vWAa<>1WdIAX*SkAHN=&TL z>%14`I)2vnuwf4rvQEZ0XV-lCxHJ3^+I+mv1}M%J+)fifmU5?l?w2r~uJ)G?iBBR0 z1+A0$o-1>EOk=pOmDT~>u*IhrTWRs15U#tZ&temO-k4XnJ?^4EG+etH8D-6SF!v5m z9>)HNeiO-e>}Lasq87ZrW*Klc%mRS|cPU|S!^0z&PF=x1!d}g2kzw^Z=yBlI8$05( z=>H*P8F0n9e(L@tcqa=>54B!fb4zg(7khRMd1QB2`KL>dH+DJMRo0pYkA1Q7J&``p zEP(Ldw>Y+N`fb)KV#%rQ^W}M8K8<{D+e3%o+wxR?-w!^Q>30dumn-6@6Kj#Z@;GHq zPL47k?uO-369n%CA2sxR4%AN{y3><@MCBrdm9sA!o&Pn<7Aj}(=&B_wzv1W;-pIWzM2nPM-OHGjv5vZfws4?c>1i~B1#8^Z05P; zZN9x5pIotVfWajC8r7-<;{YYo$&2Jl+akk5jeWOD|vpV4+9TG2dU_Jzavy!(Q|4hC_{bnbhlzJ|ZgFjl;C0)hjGos94go2tCNAWN-y^aadQ%>buo2Qt z8m;bo@r_u(O^E4z%jwJx+o}2E%45vV48hLc9;ZuE+v7^)I`7iWx8}#u?n>R2tJRHS z$I}6VXHdbL8EMp+4M&3|J#LV1I_yU2Z29Aj;Db`@Ma>otM86pU;#9X848&L3M=dN^ zySa~bzUM5!(l})cpYk<*&`3hQ6VeyKAr?L1w40?ARP$@oQfx5s9$vb+nFi2dD4EZ> z@%7-`Q6B~RB8&dxZk5M=dh(t~+(JB1iTlX(=fL`Bw>~O?_rMX~SstOjk0S0W2jrj} zgX?KF^WlE7$6nvK(x2?_2VC?t51eGBCZW^;yYbI`eBx%umK6 zpX1DmS;ooM`wKj@<+@sD321`ssq5phi2KIH^a8!}jy(8fd7GfQr=rgF3>By6^S3yN*a-8%A2HmaqSC0hpv~mL4{zbH!RVC1hH* zdJL~Gw2x@fLiui%pJ`cceyWh5V9Otw22KFazL_X9V4U_FH-4_eS;Q5|>pUJDYPk~Y> z(L8G#>v_P5&1uxRotoB*+Nxm*E?J{%5BAtwuzY~uCmQ4ES+9}IZdo(ZikLoNDsbg1 zGbR`gOdgJZF&V@lpYfDFRX zS{LT{%mT&ZVdR4X4YJ@nH9TGp88Zb_Gb(!vJOiZdRiyaO3E#8+d{?Ss^qu?T*Gp4- z`{RT+u%g*t6okFLNcNEs5uHIQe`#dlhx7xYl%Os_Bw&dRUcW>9%1# z1LtAuwhKkm7)4m^WsO_;`LeHQq?!BzP;}#)= z=5jEQ`(3h7xeYH{8z7b7;o|n47??}FamymC=;A?c6oUn11b-p3y?f8rVgZu`di)|*Y z5vF#xVN^s;$7B>hV}Hhwi@z*x+2w4Dj);&`_Q4u;rX@u3{bGNv_EYTb#AA9~5@q7#TI5|oAZ|Jcq|iG!7=MAf+U9;HTUc_J_5Eem%&_2P zGrLtak)kb3ow3O0yQ>r9n4~C+*LP1S9q+{WW7l-68E%7=;_INAT-7r|doLA?*(USy zILiqEoyayZCJhYK4Z)jU`GJ#n4sMV4m(G|`jHb7j)+&NZK+$3&wQlL%JsLWCto-|Q z*n?Kjqxkc4wAj#5g{9X=zE}SK_qjt0f+H;G{8v#X=H`+GTGovojT@=1i|?=^-&+e0 zT$|TaVi5h~AAwi>sR&f>!lXEsx~9Po+u4!H+gus0TK9WZH($T?@Zt`@HFr$E3>~8@ z4e>o$?bOcjYN5UpxcD7=>aR8hbgMNWKw-~@`Od1(i!SfjN}JLfZCid2dlhh_LZE?L zX|b;Yuj-b7uXR|G`fR^3t|K5Ji0`g08o7Rsw;sc6tE!?x8}yPiM*m?~y$;5+l==5X z4@G2>fG>2$ysHdBNL-W*{4%Lqbh!mxAc{^Gd9RnncZO0lo!3_`O>tX)fBv{#5DGCq z9Tg`lL@3c)H8L_)`NWTIk(=XI%5h!>Mc4D-_+R|!hsu==BwYmYHm%|1{@$PZwA?j{ zVN9)FcxY%9v3o?Q>Qz-$Z5(Hcj4h64`kb(h<*DIo$l%t>Hj=?y%GMN5aI(*zZiN%E ztyhSX#@Df*zG&l~JsTFx@3!J3z06PdQqs3mS-Rt9``{*bhIh;pBU5K}y4`ftLX)c1 z%ErK8z1VSxZ>awgB5$4gC{F6G!SGzQ4*|hfXZ&5wFxc!2=!@vdMi*?}ZXilY9=I@w zanz!r1<0so`V-selPEF(Nj9r^dG?OO`10T2j*Je#Eu)Xq_)5$DNv2tm4$xDyZrj|h zO`qi=0nM6~-nZ-V>iRfB`$|ljEsMi^_tii7+{eK0aKV*?8MjH){;j#aS%XYWn;ZFQ z9%GF4&bt$I?yD!=TbTsDo-5Z|8)sGK;U5tNuF%<8BP^hm;IjKJWxqfSDDYu7OO-nx zHiG&hDuH)1Tsh8APBWW0bb&hs(y`!%_nP*6t_{pX@dXc_I=&ImwxS{>xt~}2xWlb9 z-Ra%`x(zsOSU69ZuyPVV5?1m;Z07@B-X{vbRC?sB59j0Z zy;qR>Sv|SrK1PYDfKE5$zHl!x5_Yqy3`F95BmrH;$w0V5xiHi%Yi!^zh z+0V&%i}7*Jo~ilL-HitghP)gJXW5#Hd`2}VQmQwKau|}?&KJ&vZ{!o0QtI%@uF_gO zsl=F=kF)Z3+NFaVJE|75V8VV6cV;v+75BT1YfpYtR#!LYgK~3opRP)?EFkXRLJ!A9 z$BAW=T8tREgC@GL3K!koAZMqJrgOEz4H>PTC1sx5LO)%fY8(= z>V$2XXZp>uZ?+3rGcEy!C8kr5cxyqF@tSt1?!PCdO$M-05Wj-Pm?1A9(N`!!VsP~I z)!@}ivAv?UhZ`c)gZI*6Nh|J4%3Ab9*yoCACppwVIB10^eq4aG6dmg}e;~vIvpvxq zvHMp4zE3?z@)t=+iA8Wd#V9u589inmSVO|YRi)*!ZD#8ofUkC5CALzMdEZrVzs$P2 zw9cAe244#}a~OR6CRoqUD%E^f%g+dZESeeI&ellA z-ns9LnNn*bg73TjlUS>%!#9l}=Kw0*H8hd}LwEXH zct7{^KF9HW9P=MDd#|)FL7rvt8GQKzpu4_zRq5n10 z`LHXH51MvRGT6B7H_KdC%lAJv{8HrxSV1&dLc;>TI76$r_;*}jm(~V=-6_!`4KfJg zFqHWJ{0ijuyh%urn4VtlF8}j`U7J8LO>%}eE_)BSI^Ozp3?H787s`h#a%=c*ekmRb z>?9S#A!BOkbp5e^XnWYf!l(<07b64{2$7owGaefSDkyf+56qh>s#9~ zp0r+4)P+UaC3R{F$8qwWir)^Mp=@>oTm{}QOry+KR^?yXhkd?9)bCJZ-=QKu$~@2d z^QXCHyqkl=+u>n9^5;)KU>#>XfEo$>cN(NpH?i%>15r~nZ)bBU2JeJmhVi$621e(vlu;McC6*Ac2H z_l0zp4iPTxP8ufr{)N;`U$sXu)fG+0%gGm`7#+t>%tX?@6I%|=Z!?d4kYGihSfL*O zcPNtB2CooBh&1C$!`$3bDz@-Zyq!7lNfwf(s&lHct)1)X>TkXBPz}gOp`^&f$FT_|Q^S6(y_6X8G})9L3dDuF%in zQR6>l*4MYc7|fQIR=gN@kee_o9kco)JsA_5MIK~?xs|A20niUBHXLP1RxJ`d+bZ^&bmO77d*q zk6U72u*s`8C@P<6VV+OApOM|AWoQq;93Ix?ohUPopQZkayUWVNZ2etK>D;qE$7G0?^ODcosr)D zGL?-G&(JA77UmbfygWRnkOmK(Df$g9aGCkoU)MBb51mn0)%MQdprXl_2o|W+jSUMB z;%vBgkeh|1C93g}zf9y`*BE7*ndRhsos-%vr=b_qNk{u$RFa#!SXjPB&oDlpMDq}Z z21S0cbbgFYNcO+4rN1Hi6Zy8bc4f4w^Y=RBWf&s2R(6v+zW?Ner$@PLYFKC-Ynyqm z+u6o?%We;MdN!43p{86V^~QE+X=uz!e_$Lh&U$96pnHDPdrfUqWNrmP*nMJi_cF~4 zy_DK2H}*31x0{MG;}Yzv_f9^a z5_HlEpYd!t6S3pJ2%jmrViOL9Pu86g>~4nT zp_DHP=S0J8i@7WP+}i1m@@sj?kxc|GDqv-6vj!8+ScWFdoVkex?HN&VXsD4*?*PSw z|Li1GHjFW5>BKfV8fP4R3kxa|Hp+4GqZAQN#awu*JD#N#7nJuu_d#s1XZZDyVmpCu zukR@?RUpP>!LQ-GXg)L#3rVKlTv&|jzmEa4y)^MAbDT|W$AZf?$} z{C?id8`!7K;LxLk7#R(+!Gcy_S;qYb)TV9hS6+TQaj1Ts)A}aHpJfyh6yzn6&)P_xk*WFH#B0jqM^#m%W+Ius^Zwm z^bD=b>)9rb);D{!i(B{1DzT!I`pg|oU$7kFetOP5uCA_b?(7^x@y>t>>+NO?IFa(q z7iIoFo(N9hz}9AqF1*0@M@PEG#wERWuvac=J3OUv!050#n`^o-*WGLt78L3hEFo&q zZQm2Nc>DMZEgfCiT0ta%;cd!=X1LfnG9FOb4uBw6f9?v~eUhuU z5PO$G3fQ0WCTisdO^!d5h~M2JYEo3PtNa`h))PP?W(RA^YU(RSeOyXhvZWgY`khBd z@5JT}(vkVFZv>>sRIQKGe@hRdMZll>=CN<}iH)=vVU+zURp(X4AZ^ajHni^DbxN^* zI>*`B8Noz3Sp|z!sX;T-riMmNUY@>3y=S)b0IlDZ1r#cy;&ond2qa#l(NT{*Us6+V zSiJP8FP>NeTG(=ytClwqyHf4D4}*fFJsNu)cLy0TQCW

d*yP`7k8&-Trrcd?J$Q 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%0ATwu$Rg-qkdHt74lk^Ii-k}wuNRJc8AE0x_S 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

-
+

-
+
diff --git a/front/index.php b/front/index.php index 291d3277..b9be1d13 100755 --- a/front/index.php +++ b/front/index.php @@ -92,10 +92,8 @@ if (isset ($_SESSION["login"]) == FALSE || $_SESSION["login"] != 1) - - - - + + @@ -112,7 +110,7 @@ switch ($UI_THEME) { ?> - + + ${collapseExpandHtml}`; }, mainAxisNodeSpacing: 'auto', - secondaryAxisNodeSpacing: 0.3, - nodeHeight: nodeHeight.toString(), + // secondaryAxisNodeSpacing: 0.3, + nodeHeight: nodeHeightPx, + nodeWidth: nodeWidthPx, marginTop: '5', isHorizontal : true, hasZoom: true, @@ -811,8 +831,8 @@ function initTree(myHierarchy) hasFlatData: false, relationnalField: "children", linkWidth: (nodeData) => 3, - linkColor: (nodeData) => "#ffcc80", - onNodeClick: (nodeData) => handleNodeClick(nodeData), + linkColor: (nodeData) => "#ffcc80" + // onNodeClick: (nodeData) => handleNodeClick(nodeData), }); console.log(deviceListGlobal); diff --git a/front/php/templates/footer.php b/front/php/templates/footer.php index a6402881..16169163 100755 --- a/front/php/templates/footer.php +++ b/front/php/templates/footer.php @@ -30,7 +30,7 @@
| | - | + | | | : | Version: diff --git a/front/php/templates/header.php b/front/php/templates/header.php index 889124d4..5305752a 100755 --- a/front/php/templates/header.php +++ b/front/php/templates/header.php @@ -59,10 +59,7 @@ - - - - + @@ -421,20 +418,15 @@ -
-
+
-
+
-
+
@@ -108,6 +108,8 @@ function renderWorkflows() { // Generate UI for a single workflow function generateWorkflowUI(wf, wfIndex) { + let wfEnabled = (wf?.enabled ?? "No") == "Yes"; + let $wfContainer = $("
", { class: "workflow-card panel col-sm-12 col-sx-12", id: `wf-${wfIndex}-container` @@ -121,6 +123,11 @@ function generateWorkflowUI(wf, wfIndex) { } ) + let $wfEnabledIcon = $("", { + class: `alignRight fa-regular ${wfEnabled ? "fa-dot-circle" : "fa-circle" }` + }); + + let $wfHeaderLink = $("", { "class": "pointer ", @@ -137,7 +144,7 @@ function generateWorkflowUI(wf, wfIndex) { } ).text(wf.name) - $wfContainer.append($wfHeaderLink.append($wfLinkWrap.append($wfHeaderHeading))); + $wfContainer.append($wfHeaderLink.append($wfLinkWrap.append($wfHeaderHeading.append($wfEnabledIcon)))); // Collapsible panel start @@ -157,7 +164,7 @@ function generateWorkflowUI(wf, wfIndex) { `[${wfIndex}].enabled`, getString("WF_Enabled"), wfEnabledOptions, - wf?.enabled ?? "No", + wfEnabled ? "Yes" :"No", `wf-${wfIndex}-enabled` ); @@ -210,9 +217,10 @@ function generateWorkflowUI(wf, wfIndex) { class: "fa-solid fa-bolt bckg-icon-2-line" }); + $triggerSection.append($triggerIcon); $triggerSection.append($triggerTypeDropdown); $triggerSection.append($eventTypeDropdown); - $triggerSection.append($triggerIcon); + $wfCollapsiblePanel.append($triggerSection); // Conditions @@ -323,11 +331,13 @@ function generateWorkflowUI(wf, wfIndex) { $actionRemoveButtonWrap.append($actionRemoveButton); let $actionIcon = $("", { - class: `fa-solid fa-person-running fa-flip-horizontal bckg-icon-${numberOfLines}-line ` - }); + class: `fa-solid fa-person-running fa-flip-horizontal bckg-icon-${numberOfLines}-line ` + }); + + $actionEl.prepend($actionIcon) $actionElWrap.append($actionEl) - $actionElWrap.append($actionIcon) + $actionElWrap.append($actionRemoveButtonWrap) $actionsContainer.append($actionElWrap); From 114b5a262157b1e1d38ee26527cfb7fefc67d02c Mon Sep 17 00:00:00 2001 From: Massimo Pissarello Date: Sun, 30 Mar 2025 07:24:23 +0200 Subject: [PATCH 020/667] Translated using Weblate (Italian) Currently translated at 100.0% (737 of 737 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/it/ --- front/php/templates/language/it_it.json | 52 ++++++++++++------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json index bc58d120..dc52cf66 100644 --- a/front/php/templates/language/it_it.json +++ b/front/php/templates/language/it_it.json @@ -8,7 +8,7 @@ "About_Design": "Progettato per:", "About_Exit": "Esci", "About_Title": "Scanner di sicurezza di rete e framework di notifica", - "AppEvents_AppEventProcessed": "", + "AppEvents_AppEventProcessed": "Elaborato", "AppEvents_DateTimeCreated": "Loggato", "AppEvents_Extra": "Extra", "AppEvents_GUID": "GUID evento applicazione", @@ -22,7 +22,7 @@ "AppEvents_ObjectPlugin": "Plugin collegato", "AppEvents_ObjectPrimaryID": "ID primario", "AppEvents_ObjectSecondaryID": "ID secondario", - "AppEvents_ObjectStatus": "Stato (al momento del log)", + "AppEvents_ObjectStatus": "Stato registrato", "AppEvents_ObjectStatusColumn": "Colonna di stato", "AppEvents_ObjectType": "Tipo oggetto", "AppEvents_Plugin": "Plugin", @@ -225,7 +225,7 @@ "Device_TableHead_Name": "Nome", "Device_TableHead_NetworkSite": "Sito di rete", "Device_TableHead_Owner": "Proprietario", - "Device_TableHead_Parent_MAC": "MAC del nodo principale", + "Device_TableHead_Parent_MAC": "Nodo di rete principale", "Device_TableHead_Port": "Porta", "Device_TableHead_PresentLastScan": "Presenza", "Device_TableHead_RowID": "ID riga", @@ -363,8 +363,8 @@ "Maintenance_Title": "Strumenti di manutenzione", "Maintenance_Tool_DownloadConfig": "Impostazioni Esporta", "Maintenance_Tool_DownloadConfig_text": "Scarica un backup completo della configurazione delle tue Impostazioni memorizzata nel file app.conf.", - "Maintenance_Tool_DownloadWorkflows": "", - "Maintenance_Tool_DownloadWorkflows_text": "", + "Maintenance_Tool_DownloadWorkflows": "Esportazione flussi di lavoro", + "Maintenance_Tool_DownloadWorkflows_text": "Scarica un backup completo dei tuoi flussi di lavoro archiviati nel file workflows.json.", "Maintenance_Tool_ExportCSV": "Esporta dispositivi (csv)", "Maintenance_Tool_ExportCSV_noti": "Esporta dispositivi (csv)", "Maintenance_Tool_ExportCSV_noti_text": "Sei sicuro di voler generare un file CSV?", @@ -463,7 +463,7 @@ "NETWORK_DEVICE_TYPES_description": "Quali tipi di dispositivo possono essere utilizzati come dispositivi di rete nella vista Rete. Il tipo di dispositivo deve corrispondere esattamente all'impostazione Tipo su un dispositivo specifico nei Dettagli dispositivo. Aggiungilo sul Dispositivo tramite il pulsante +. Non rimuovere i tipi esistenti, aggiungine solo di nuovi.", "NETWORK_DEVICE_TYPES_name": "Tipi di dispositivi di rete", "Navigation_About": "Informazioni su", - "Navigation_AppEvents": "", + "Navigation_AppEvents": "Eventi app", "Navigation_Devices": "Dispositivi", "Navigation_Donations": "Donazioni", "Navigation_Events": "Eventi", @@ -670,26 +670,26 @@ "UI_REFRESH_name": "Aggiorna automaticamente la UI", "VERSION_description": "Valore di supporto della versione o della marca temporale per verificare se l'app è stata aggiornata.", "VERSION_name": "Versione o marca temporale", - "WF_Action_Add": "", - "WF_Action_field": "", - "WF_Action_type": "", - "WF_Action_value": "", - "WF_Actions": "", - "WF_Add": "", - "WF_Add_Condition": "", - "WF_Add_Group": "", - "WF_Condition_field": "", - "WF_Condition_operator": "", - "WF_Condition_value": "", - "WF_Conditions": "", - "WF_Conditions_logic_rules": "", - "WF_Enabled": "", - "WF_Name": "", - "WF_Remove": "", - "WF_Save": "", - "WF_Trigger": "", - "WF_Trigger_event_type": "", - "WF_Trigger_type": "", + "WF_Action_Add": "Aggiungi azione", + "WF_Action_field": "Campo", + "WF_Action_type": "Tipo", + "WF_Action_value": "Valore", + "WF_Actions": "Azioni", + "WF_Add": "Aggiungi flusso di lavoro", + "WF_Add_Condition": "Aggiungi condizione", + "WF_Add_Group": "Aggiungi gruppo", + "WF_Condition_field": "Campo", + "WF_Condition_operator": "Operatore", + "WF_Condition_value": "Valore", + "WF_Conditions": "Condizioni", + "WF_Conditions_logic_rules": "Regole logiche", + "WF_Enabled": "Flusso di lavoro abilitato", + "WF_Name": "Nome flusso di lavoro", + "WF_Remove": "Rimuovi flusso di lavoro", + "WF_Save": "Salva flussi di lavoro", + "WF_Trigger": "Trigger", + "WF_Trigger_event_type": "Tipo evento", + "WF_Trigger_type": "Tipo di trigger", "add_icon_event_icon": "fa-square-plus", "add_icon_event_tooltip": "Aggiungi nuova icona", "add_option_event_icon": "fa-square-plus", From b156246cb06f7a1fdb164bcdddfb6613b467db74 Mon Sep 17 00:00:00 2001 From: Ettore Atalan Date: Sun, 30 Mar 2025 16:24:05 +0200 Subject: [PATCH 021/667] Translated using Weblate (German) Currently translated at 89.2% (658 of 737 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/de/ --- front/php/templates/language/de_de.json | 40 ++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) mode change 100755 => 100644 front/php/templates/language/de_de.json diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json old mode 100755 new mode 100644 index 629a80a7..7227e276 --- a/front/php/templates/language/de_de.json +++ b/front/php/templates/language/de_de.json @@ -16,8 +16,8 @@ "About_Design": "Entworfen für:", "About_Exit": "Abmelden", "About_Title": "Netzwerksicherheitsscanner und Benachrichtigungsframework", - "AppEvents_AppEventProcessed": "", - "AppEvents_DateTimeCreated": "protokolliert", + "AppEvents_AppEventProcessed": "Verarbeitet", + "AppEvents_DateTimeCreated": "Protokolliert", "AppEvents_Extra": "Extra", "AppEvents_GUID": "Anwendungsereignis-GUID", "AppEvents_Helper1": "Helfer 1", @@ -30,7 +30,7 @@ "AppEvents_ObjectPlugin": "Verknüpfte Plugins", "AppEvents_ObjectPrimaryID": "Primär ID", "AppEvents_ObjectSecondaryID": "Sekundär ID", - "AppEvents_ObjectStatus": "Status (zum Log-Zeitpunkt)", + "AppEvents_ObjectStatus": "Protokollierter Status", "AppEvents_ObjectStatusColumn": "Statusspalte", "AppEvents_ObjectType": "Objekttyp", "AppEvents_Plugin": "Plugin", @@ -237,7 +237,7 @@ "Device_TableHead_Name": "Name", "Device_TableHead_NetworkSite": "Netzwerkseite", "Device_TableHead_Owner": "Eigentümer", - "Device_TableHead_Parent_MAC": "Übergeordnete MAC", + "Device_TableHead_Parent_MAC": "Übergeordneter Netzwerkknoten", "Device_TableHead_Port": "Port", "Device_TableHead_PresentLastScan": "Anwesenheit", "Device_TableHead_RowID": "Zeilen ID", @@ -499,7 +499,7 @@ "NTFY_display_name": "NTFY", "NTFY_icon": "", "Navigation_About": "Über", - "Navigation_AppEvents": "", + "Navigation_AppEvents": "App-Ereignisse", "Navigation_Devices": "Geräte", "Navigation_Donations": "Spenden", "Navigation_Events": "Ereignisse", @@ -753,28 +753,28 @@ "WF_Action_field": "", "WF_Action_type": "", "WF_Action_value": "", - "WF_Actions": "", + "WF_Actions": "Aktionen", "WF_Add": "", - "WF_Add_Condition": "", - "WF_Add_Group": "", - "WF_Condition_field": "", - "WF_Condition_operator": "", - "WF_Condition_value": "", - "WF_Conditions": "", - "WF_Conditions_logic_rules": "", + "WF_Add_Condition": "Bedingung hinzufügen", + "WF_Add_Group": "Gruppe hinzufügen", + "WF_Condition_field": "Feld", + "WF_Condition_operator": "Betreiber", + "WF_Condition_value": "Wert", + "WF_Conditions": "Bedingungen", + "WF_Conditions_logic_rules": "Logikregeln", "WF_Enabled": "", "WF_Name": "", "WF_Remove": "", "WF_Save": "", - "WF_Trigger": "", - "WF_Trigger_event_type": "", - "WF_Trigger_type": "", + "WF_Trigger": "Auslöser", + "WF_Trigger_event_type": "Ereignistyp", + "WF_Trigger_type": "Auslösertyp", "Webhooks_display_name": "Webhooks", "Webhooks_icon": "", "add_icon_event_icon": "", - "add_icon_event_tooltip": "", + "add_icon_event_tooltip": "Neues Symbol hinzufügen", "add_option_event_icon": "", - "add_option_event_tooltip": "", + "add_option_event_tooltip": "Neuen Wert hinzufügen", "copy_icons_event_icon": "", "copy_icons_event_tooltip": "Icons aller Geräte mit demselben Gerätetyp überschreiben", "devices_old": "Aktualisiert...", @@ -782,7 +782,7 @@ "general_event_title": "", "go_to_node_event_icon": "", "go_to_node_event_tooltip": "", - "new_version_available": "", + "new_version_available": "Es ist eine neue Version verfügbar.", "report_guid": "", "report_guid_missing": "", "report_select_format": "Format auswählen:", @@ -817,4 +817,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "Speichere die Änderungen, bevor Sie die Einstellungen testen." -} \ No newline at end of file +} From eb6820dd931f9c64cea6d6a28e7e4c2b46dd269a Mon Sep 17 00:00:00 2001 From: Sylvain Pichon Date: Sun, 30 Mar 2025 09:50:24 +0200 Subject: [PATCH 022/667] Translated using Weblate (French) Currently translated at 100.0% (737 of 737 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/fr/ --- front/php/templates/language/fr_fr.json | 48 ++++++++++++------------- 1 file changed, 24 insertions(+), 24 deletions(-) mode change 100755 => 100644 front/php/templates/language/fr_fr.json diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100755 new mode 100644 index ccdbf20d..874c4873 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -22,7 +22,7 @@ "AppEvents_ObjectPlugin": "Plugin lié", "AppEvents_ObjectPrimaryID": "Identité primaire", "AppEvents_ObjectSecondaryID": "Identité secondaire", - "AppEvents_ObjectStatus": "État (au moment de l'enregistrement)", + "AppEvents_ObjectStatus": "État enregistré", "AppEvents_ObjectStatusColumn": "Colonne d'état", "AppEvents_ObjectType": "Type d'objet", "AppEvents_Plugin": "Plugin", @@ -363,8 +363,8 @@ "Maintenance_Title": "Outils de maintenance", "Maintenance_Tool_DownloadConfig": "Export des paramètres", "Maintenance_Tool_DownloadConfig_text": "Télécharger une sauvegarde complète de vos paramètres stockés dans le fichier app.conf.", - "Maintenance_Tool_DownloadWorkflows": "", - "Maintenance_Tool_DownloadWorkflows_text": "", + "Maintenance_Tool_DownloadWorkflows": "Export des workflows", + "Maintenance_Tool_DownloadWorkflows_text": "Télécharger une sauvegarde complète de vos workflows enregistrés dans le fichier workflows.json.", "Maintenance_Tool_ExportCSV": "Export des appareils (csv)", "Maintenance_Tool_ExportCSV_noti": "Export des appareils (csv)", "Maintenance_Tool_ExportCSV_noti_text": "Êtes-vous sûr de vouloir générer un fichier CSV ?", @@ -670,26 +670,26 @@ "UI_REFRESH_name": "Rafraîchir automatiquement l'interface graphique", "VERSION_description": "Valeur de la version ou du timestamp d'aide à vérifier si l'application a été mise à jour.", "VERSION_name": "Version ou Timestamp", - "WF_Action_Add": "", - "WF_Action_field": "", - "WF_Action_type": "", - "WF_Action_value": "", - "WF_Actions": "", - "WF_Add": "", - "WF_Add_Condition": "", - "WF_Add_Group": "", - "WF_Condition_field": "", - "WF_Condition_operator": "", - "WF_Condition_value": "", - "WF_Conditions": "", - "WF_Conditions_logic_rules": "", - "WF_Enabled": "", - "WF_Name": "", - "WF_Remove": "", - "WF_Save": "", - "WF_Trigger": "", - "WF_Trigger_event_type": "", - "WF_Trigger_type": "", + "WF_Action_Add": "Ajouter une action", + "WF_Action_field": "Champ", + "WF_Action_type": "Type", + "WF_Action_value": "Valeur", + "WF_Actions": "Actions", + "WF_Add": "Ajouter un workflow", + "WF_Add_Condition": "Ajouter une condition", + "WF_Add_Group": "Ajouter un groupe", + "WF_Condition_field": "Champ", + "WF_Condition_operator": "Opérateur", + "WF_Condition_value": "Valeur", + "WF_Conditions": "Conditions", + "WF_Conditions_logic_rules": "Règles logiques", + "WF_Enabled": "Workflow activé", + "WF_Name": "Nom du workflow", + "WF_Remove": "Supprimer le workflow", + "WF_Save": "Enregistrer les workflows", + "WF_Trigger": "Déclencheur", + "WF_Trigger_event_type": "Type d'événement", + "WF_Trigger_type": "Type de déclencheur", "add_icon_event_icon": "fa-square-plus", "add_icon_event_tooltip": "Ajouter une nouvelle icône", "add_option_event_icon": "fa-square-plus", @@ -736,4 +736,4 @@ "settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. Il n'y a pas de pas de contrôle.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage." -} \ No newline at end of file +} From 2b51674e526c590a5488ec6f2373fe5ffb5e9466 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Sun, 30 Mar 2025 09:16:23 +0200 Subject: [PATCH 023/667] Translated using Weblate (Ukrainian) Currently translated at 100.0% (737 of 737 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/uk/ --- front/php/templates/language/uk_ua.json | 48 ++++++++++++------------- 1 file changed, 24 insertions(+), 24 deletions(-) mode change 100755 => 100644 front/php/templates/language/uk_ua.json diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100755 new mode 100644 index 981ae743..e7612bed --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -22,7 +22,7 @@ "AppEvents_ObjectPlugin": "Пов’язаний плагін", "AppEvents_ObjectPrimaryID": "Основний ідентифікатор", "AppEvents_ObjectSecondaryID": "Вторинний ідентифікатор", - "AppEvents_ObjectStatus": "Статус (під час журналу)", + "AppEvents_ObjectStatus": "Зареєстрований статус", "AppEvents_ObjectStatusColumn": "Колонка статусу", "AppEvents_ObjectType": "Тип об'єкта", "AppEvents_Plugin": "Плагін", @@ -363,8 +363,8 @@ "Maintenance_Title": "Інструменти обслуговування", "Maintenance_Tool_DownloadConfig": "Експорт налаштувань", "Maintenance_Tool_DownloadConfig_text": "Завантажте повну резервну копію конфігурації налаштувань, яка зберігається у файлі app.conf.", - "Maintenance_Tool_DownloadWorkflows": "", - "Maintenance_Tool_DownloadWorkflows_text": "", + "Maintenance_Tool_DownloadWorkflows": "Експорт робочих процесів", + "Maintenance_Tool_DownloadWorkflows_text": "Завантажте повну резервну копію робочих процесів, які зберігаються у файлі workflows.json.", "Maintenance_Tool_ExportCSV": "Експорт пристроїв (csv)", "Maintenance_Tool_ExportCSV_noti": "Експорт пристроїв (csv)", "Maintenance_Tool_ExportCSV_noti_text": "Ви впевнені, що хочете створити файл CSV?", @@ -670,26 +670,26 @@ "UI_REFRESH_name": "Автоматичне оновлення інтерфейсу користувача", "VERSION_description": "Допоміжне значення версії або позначки часу, щоб перевірити, чи було оновлено додаток.", "VERSION_name": "Версія або позначка часу", - "WF_Action_Add": "", - "WF_Action_field": "", - "WF_Action_type": "", - "WF_Action_value": "", - "WF_Actions": "", - "WF_Add": "", - "WF_Add_Condition": "", - "WF_Add_Group": "", - "WF_Condition_field": "", - "WF_Condition_operator": "", - "WF_Condition_value": "", - "WF_Conditions": "", - "WF_Conditions_logic_rules": "", - "WF_Enabled": "", - "WF_Name": "", - "WF_Remove": "", - "WF_Save": "", - "WF_Trigger": "", - "WF_Trigger_event_type": "", - "WF_Trigger_type": "", + "WF_Action_Add": "Додати дію", + "WF_Action_field": "Поле", + "WF_Action_type": "Тип", + "WF_Action_value": "Значення", + "WF_Actions": "Дії", + "WF_Add": "Додати робочий процес", + "WF_Add_Condition": "Додати умову", + "WF_Add_Group": "Додати групу", + "WF_Condition_field": "Поле", + "WF_Condition_operator": "Оператор", + "WF_Condition_value": "Значення", + "WF_Conditions": "Умови", + "WF_Conditions_logic_rules": "Логічні правила", + "WF_Enabled": "Робочий процес увімкнено", + "WF_Name": "Назва робочого процесу", + "WF_Remove": "Видалити робочий процес", + "WF_Save": "Зберегти робочі процеси", + "WF_Trigger": "Тригер", + "WF_Trigger_event_type": "Тип події", + "WF_Trigger_type": "Тип тригера", "add_icon_event_icon": "фа-квадрат-плюс", "add_icon_event_tooltip": "додати новий значок", "add_option_event_icon": "фа-квадрат-плюс", @@ -736,4 +736,4 @@ "settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. Перевірка не виконана.", "test_event_icon": "fa-vial-circle- check", "test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни." -} \ No newline at end of file +} From d86c2a50230a0f92dedfe361663e6eec342a8eec Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Mon, 31 Mar 2025 08:12:32 +1100 Subject: [PATCH 024/667] Move ObjectGUID to the end --- server/database.py | 4 ++-- server/plugin.py | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/server/database.py b/server/database.py index 6a460c7c..8f09acd2 100755 --- a/server/database.py +++ b/server/database.py @@ -542,8 +542,7 @@ class DB(): # Plugin state sql_Plugins_Objects = """ CREATE TABLE IF NOT EXISTS Plugins_Objects( "Index" INTEGER, - Plugin TEXT NOT NULL, - ObjectGUID TEXT, + Plugin TEXT NOT NULL, Object_PrimaryID TEXT NOT NULL, Object_SecondaryID TEXT NOT NULL, DateTimeCreated TEXT NOT NULL, @@ -561,6 +560,7 @@ class DB(): "HelpVal2" TEXT, "HelpVal3" TEXT, "HelpVal4" TEXT, + ObjectGUID TEXT, PRIMARY KEY("Index" AUTOINCREMENT) ); """ self.sql.execute(sql_Plugins_Objects) diff --git a/server/plugin.py b/server/plugin.py index f07a6af1..4bf3b361 100755 --- a/server/plugin.py +++ b/server/plugin.py @@ -797,7 +797,7 @@ class plugin_object_class: def __init__(self, plugin, objDbRow): self.index = objDbRow[0] self.pluginPref = objDbRow[1] - self.primaryId = objDbRow[2] + self.primaryId = objDbRow[2] self.secondaryId = objDbRow[3] self.created = objDbRow[4] # can be null self.changed = objDbRow[5] # never null (data coming from plugin) @@ -819,7 +819,8 @@ class plugin_object_class: # Check if self.status is valid if self.status not in ["exists", "watched-changed", "watched-not-changed", "new", "not-processed", "missing-in-last-scan"]: - raise ValueError("Invalid status value for plugin object:", self.status) + mylog('none', [f'[plugin_object_class] ERROR on objDbRow: {objDbRow}']) + raise ValueError(f"Invalid status value for plugin object ({self.pluginPref}|{self.primaryId}|{self.watched1}) invalid status: {self.status} on objDbRow:", objDbRow) self.idsHash = str(hash(str(self.primaryId) + str(self.secondaryId))) # self.idsHash = str(self.primaryId) + str(self.secondaryId) From 2c445ccaeb458311ebfe88600aa5b5a0b4d2bf1f Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Mon, 31 Mar 2025 18:04:56 +1100 Subject: [PATCH 025/667] wf work + docs --- docs/DOCKER_COMPOSE.md | 39 ++++++++ docs/NOTIFICATIONS.md | 5 +- docs/WORKFLOWS.md | 10 +- front/js/modal.js | 16 ++-- front/php/templates/language/de_de.json | 0 front/php/templates/language/en_us.json | 6 ++ front/php/templates/language/fr_fr.json | 0 front/php/templates/language/uk_ua.json | 0 front/workflowsCore.php | 120 ++++++++++++++++++++++-- server/plugin.py | 1 - server/workflows/conditions.py | 2 +- 11 files changed, 180 insertions(+), 19 deletions(-) mode change 100644 => 100755 front/php/templates/language/de_de.json mode change 100644 => 100755 front/php/templates/language/fr_fr.json mode change 100644 => 100755 front/php/templates/language/uk_ua.json diff --git a/docs/DOCKER_COMPOSE.md b/docs/DOCKER_COMPOSE.md index dcb0b677..89a6d464 100755 --- a/docs/DOCKER_COMPOSE.md +++ b/docs/DOCKER_COMPOSE.md @@ -103,3 +103,42 @@ DEV_LOCATION=/path/to/local/source/code ``` To run the container execute: `sudo docker-compose --env-file /path/to/.env up` + + +## #Example 4: Docker swarm + +Notice how the host network is defined in a swarm setup: + +```yaml +services: + netalertx: + # Use the below line if you want to test the latest dev image + # image: "jokobsk/netalertx-dev:latest" + image: "ghcr.io/jokob-sk/netalertx:latest" + volumes: + - /mnt/MYSERVER/netalertx/config:/config:rw + - /mnt/MYSERVER/netalertx/db:/netalertx/db:rw + - /mnt/MYSERVER/netalertx/logs:/netalertx/front/log:rw + environment: + - TZ=Europe/London + - PORT=20211 + # network_mode: host + networks: + - outside + deploy: + mode: replicated + replicas: 1 + restart_policy: + condition: on-failure + # placement: # ✅ Placement is now correctly inside deploy + # constraints: + # - node.role == manager + # - node.labels.device == NUC2 + +networks: + outside: + external: + name: "host" + + +``` diff --git a/docs/NOTIFICATIONS.md b/docs/NOTIFICATIONS.md index 60db3f04..291f1f43 100755 --- a/docs/NOTIFICATIONS.md +++ b/docs/NOTIFICATIONS.md @@ -21,6 +21,9 @@ There are 4 settings on the device for influencing notifications. You can: 2. **Alert Down** - Alerts when a device goes down. This setting overrides a disabled **Alert Events** setting, so you will get a notification of a device going down even if you don't have **Alert Events** ticked. Disabling this will disable down and down reconnected notifications on the device. 3. **Skip repeated notifications**, if for example you know there is a temporary issue and want to pause the same notification for this device for a given time. +> [!NOTE] +> Please read through the [NTFPRCS plugin](https://github.com/jokob-sk/NetAlertX/blob/main/front/plugins/notification_processing/README.md) documentation to understand how device and global settings influence the notification processing. + ## Plugin settings 🔌 ![Plugin notification settings](./img/NOTIFICATIONS/Plugin-notification-settings.png) @@ -38,7 +41,7 @@ Click the **Read more in the docs.** Link at the top of each plugin to get more In Notification Processing settings, you can specify blanket rules. These allow you to specify exceptions to the Plugin and Device settings and will override those. -1. Notify on (`NTFPRCS_INCLUDED_SECTIONS`) allows you to specify which events trigger notifications. Usual setups will have `new_devices`, `down_devices`, and possibly `down_reconnected` set. Including `plugin` (dependenton the Plugin `_WATCH` and `_REPORT_ON` settings) and `events` (dependent on the on-device **Alert Events** setting) might be too noisy for most setups. More info in the [NTFPRCS plugin](/front/plugins/notification_processing/README.md) on what events these selections include. +1. Notify on (`NTFPRCS_INCLUDED_SECTIONS`) allows you to specify which events trigger notifications. Usual setups will have `new_devices`, `down_devices`, and possibly `down_reconnected` set. Including `plugin` (dependenton the Plugin `_WATCH` and `_REPORT_ON` settings) and `events` (dependent on the on-device **Alert Events** setting) might be too noisy for most setups. More info in the [NTFPRCS plugin](https://github.com/jokob-sk/NetAlertX/blob/main/front/plugins/notification_processing/README.md) on what events these selections include. 2. Alert down after (`NTFPRCS_alert_down_time`) is useful if you want to wait for some time before the system sends out a down notification for a device. This is related to the on-device **Alert down** setting and only devices with this checked will trigger a down notification. 3. A filter to allow you to set device-specific exceptions to New devices being added to the app. 4. A filter to allow you to set device-specific exceptions to generated Events. diff --git a/docs/WORKFLOWS.md b/docs/WORKFLOWS.md index 2fecf72b..0eb02ac5 100755 --- a/docs/WORKFLOWS.md +++ b/docs/WORKFLOWS.md @@ -54,9 +54,11 @@ Below you can find a couple of configuration examples. ## Example 1: Assign Device to Network Node Based on IP +This workflow assigns newly added devices with IP addresses in the `192.168.1.*` range to the device with the MAC address `6c:6d:6d:6c:6c:6c`. + ### Trigger: - **Object Type**: `Devices` -- **Event Type**: `create` +- **Event Type**: `insert` ### Conditions: - **Logic**: `AND` @@ -71,12 +73,12 @@ Below you can find a couple of configuration examples. - **Field**: `devNetworkNode` - **Value**: `6c:6d:6d:6c:6c:6c` -This workflow assigns newly added devices with IP addresses in the `192.168.1.*` range to the device with the MAC address `6c:6d:6d:6c:6c:6c`. - --- ## Example 2: Mark Device as Not New and Delete If from Google Vendor +This workflow automates the process of marking Google devices as not new and deleting them if they meet the criteria. + ### Trigger: - **Object Type**: `Devices` - **Event Type**: `update` @@ -107,7 +109,7 @@ This workflow assigns newly added devices with IP addresses in the `192.168.1.*` This action deletes the device after it is marked as not new. -This workflow automates the process of marking Google devices as not new and deleting them if they meet the criteria. + --- diff --git a/front/js/modal.js b/front/js/modal.js index d3d6bce5..3b51d711 100755 --- a/front/js/modal.js +++ b/front/js/modal.js @@ -68,11 +68,13 @@ function showModalWarning( callbackFunction = null, triggeredBy = null ) { + prefix = "modal-warning"; + // set captions - $("#modal-warning-title").html(title); - $("#modal-warning-message").html(message); - $("#modal-warning-cancel").html(btnCancel); - $("#modal-warning-OK").html(btnOK); + $(`#${prefix}-title`).html(title); + $(`#${prefix}-message`).html(message); + $(`#${prefix}-cancel`).html(btnCancel); + $(`#${prefix}-OK`).html(btnOK); if (callbackFunction != null) { modalCallbackFunction = callbackFunction; @@ -83,7 +85,7 @@ function showModalWarning( } // Show modal - $("#modal-warning").modal("show"); + $(`#${prefix}`).modal("show"); } // ----------------------------------------------------------------------------- @@ -93,7 +95,8 @@ function showModalInput( btnCancel = getString("Gen_Cancel"), btnOK = getString("Gen_Okay"), callbackFunction = null, - triggeredBy = null + triggeredBy = null, + defaultValue = "" ) { prefix = "modal-input"; @@ -102,6 +105,7 @@ function showModalInput( $(`#${prefix}-message`).html(message); $(`#${prefix}-cancel`).html(btnCancel); $(`#${prefix}-OK`).html(btnOK); + $(`#${prefix}-textarea`).val(defaultValue); if (callbackFunction != null) { modalCallbackFunction = callbackFunction; diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json index 92c14b73..9da47e8b 100755 --- a/front/php/templates/language/en_us.json +++ b/front/php/templates/language/en_us.json @@ -681,11 +681,17 @@ "WF_Condition_field": "Field", "WF_Condition_operator": "Operator", "WF_Condition_value": "Value", + "WF_Duplicate": "Duplicate Workflow", + "WF_Import": "Import Workflow", + "WF_Import_Copy": "Paste in the workflow you copied previously.", + "WF_Export": "Export Workflow", + "WF_Export_Copy": "Copy the below workflow and import it where needed.", "WF_Conditions": "Conditions", "WF_Conditions_logic_rules": "Logic rules", "WF_Enabled": "Workflow enabled", "WF_Name": "Workflow name", "WF_Remove": "Remove Workflow", + "WF_Remove_Copy": "Do you want to remove this workflow?", "WF_Save": "Save Workflows", "WF_Trigger": "Trigger", "WF_Trigger_event_type": "Event type", diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100644 new mode 100755 diff --git a/front/workflowsCore.php b/front/workflowsCore.php index 2675fee9..b311d183 100755 --- a/front/workflowsCore.php +++ b/front/workflowsCore.php @@ -16,9 +16,9 @@
-
-
@@ -26,6 +26,11 @@
+
+ +
@@ -45,6 +50,9 @@ let fieldOptions = [ let triggerTypes = [ "Devices" ]; +let triggerEvents = [ + "update", "insert", "delete" +]; let wfEnabledOptions = [ "Yes", "No" @@ -208,7 +216,7 @@ function generateWorkflowUI(wf, wfIndex) { let $eventTypeDropdown = createEditableDropdown( `[${wfIndex}].trigger.event_type`, getString("WF_Trigger_event_type"), - ["update", "create", "delete"], + triggerEvents, wf.trigger.event_type, `wf-${wfIndex}-trigger-event-type` ); @@ -360,7 +368,7 @@ function generateWorkflowUI(wf, wfIndex) { $actionsContainer.append($actionAddButtonWrap) - let $wfRemoveButtonWrap = $("
", { class: "button-container col-sm-12 col-sx-12" }); + let $wfRemoveButtonWrap = $("
", { class: "button-container col-sm-4 col-sx-12" }); let $wfRemoveIcon = $("", { class: "fa-solid fa-trash" @@ -372,10 +380,40 @@ function generateWorkflowUI(wf, wfIndex) { }) .append($wfRemoveIcon) // Add icon .append(` ${getString("WF_Remove")}`); // Add text + + + let $wfDuplicateButtonWrap = $("
", { class: "button-container col-sm-4 col-sx-12" }); + + let $wfDuplicateIcon = $("", { + class: "fa-solid fa-copy" + }); + + let $wfDuplicateButton = $("
", { + class: "pointer duplicate-wf green-hover-text", + wfIndex: wfIndex + }) + .append($wfDuplicateIcon) // Add icon + .append(` ${getString("WF_Duplicate")}`); // Add text + + let $wfExportButtonWrap = $("
", { class: "button-container col-sm-4 col-sx-12" }); + + let $wfExportIcon = $("", { + class: "fa-solid fa-file-export" + }); + + let $wfExportButton = $("
", { + class: "pointer export-wf green-hover-text", + wfIndex: wfIndex + }) + .append($wfExportIcon) // Add icon + .append(` ${getString("WF_Export")}`); // Add text $wfCollapsiblePanel.append($actionsContainer); + $wfCollapsiblePanel.append($wfDuplicateButtonWrap.append($wfDuplicateButton)) + $wfCollapsiblePanel.append($wfExportButtonWrap.append($wfExportButton)) $wfCollapsiblePanel.append($wfRemoveButtonWrap.append($wfRemoveButton)) + $wfContainer.append($wfCollapsiblePanel) @@ -765,7 +803,62 @@ function addWorkflow(workflows) { // Function to remove a Workflow function removeWorkflow(workflows, wfIndex) { - workflows.splice(wfIndex, 1); + showModalWarning ('', '', + '', '', `executeRemoveWorkflow`, wfIndex); +} + +// --------------------------------------------------- +// Function to execute the remove of a Workflow +function executeRemoveWorkflow() { + + workflows = getWorkflowsJson() + + workflows.splice($('#modal-warning').attr("data-myparam-triggered-by"), 1); + + updateWorkflowsJson(workflows) + + // Re-render the UI + renderWorkflows(); +} + +// --------------------------------------------------- +// Function to duplicate a Workflow +function duplicateWorkflow(workflows, wfIndex) { + + workflows.push(workflows[wfIndex]) + + updateWorkflowsJson(workflows) + + // Re-render the UI + renderWorkflows(); +} + +// --------------------------------------------------- +// Function to export a Workflow +function exportWorkflow(workflows, wfIndex) { + +// Add new icon as base64 string +showModalInput (' ', '', + '', '', null, null, JSON.stringify(workflows[wfIndex], null, 2)); +} + +// --------------------------------------------------- +// Function to import a Workflow +function importWorkflow(workflows, wfIndex) { + +// Add new icon as base64 string +showModalInput (' ', '', + '', '', 'importWorkflowExecute', null, "" ); + +} + +function importWorkflowExecute() +{ + var json = JSON.parse($('#modal-input-textarea').val()); + + workflows = getWorkflowsJson() + + workflows.push(json); updateWorkflowsJson(workflows) @@ -1019,6 +1112,21 @@ $(document).on("click", ".remove-wf", function () { removeWorkflow(getWorkflowsJson(), wfIndex); }); +$(document).on("click", ".duplicate-wf", function () { + let wfIndex = $(this).attr("wfindex"); + duplicateWorkflow(getWorkflowsJson(), wfIndex); +}); + +$(document).on("click", ".export-wf", function () { + let wfIndex = $(this).attr("wfindex"); + exportWorkflow(getWorkflowsJson(), wfIndex); +}); + +$(document).on("click", ".import-wf", function () { + let wfIndex = $(this).attr("wfindex"); + importWorkflow(getWorkflowsJson(), wfIndex); +}); + $(document).on("click", ".add-condition", function () { let wfIndex = $(this).attr("wfindex"); let parentIndexPath = $(this).attr("parentIndexPath"); diff --git a/server/plugin.py b/server/plugin.py index 4bf3b361..cbf07100 100755 --- a/server/plugin.py +++ b/server/plugin.py @@ -819,7 +819,6 @@ class plugin_object_class: # Check if self.status is valid if self.status not in ["exists", "watched-changed", "watched-not-changed", "new", "not-processed", "missing-in-last-scan"]: - mylog('none', [f'[plugin_object_class] ERROR on objDbRow: {objDbRow}']) raise ValueError(f"Invalid status value for plugin object ({self.pluginPref}|{self.primaryId}|{self.watched1}) invalid status: {self.status} on objDbRow:", objDbRow) self.idsHash = str(hash(str(self.primaryId) + str(self.secondaryId))) diff --git a/server/workflows/conditions.py b/server/workflows/conditions.py index 801974df..c8ea4229 100755 --- a/server/workflows/conditions.py +++ b/server/workflows/conditions.py @@ -41,7 +41,7 @@ class Condition: if self.operator == "equals": result = str(obj_value) == str(self.value) elif self.operator == "contains": - result = str(self.value) in str(obj_value) + result = str(self.value).lower() in str(obj_value).lower() elif self.operator == "regex": result = bool(re.match(self.value, str(obj_value))) else: From e1197eb3f82d1e9f19e777353beafeecba5a6bed Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Mon, 31 Mar 2025 18:05:15 +1100 Subject: [PATCH 026/667] wf work + docs --- front/php/templates/language/ar_ar.json | 6 ++++++ front/php/templates/language/ca_ca.json | 6 ++++++ front/php/templates/language/cs_cz.json | 6 ++++++ front/php/templates/language/de_de.json | 8 +++++++- front/php/templates/language/en_us.json | 10 +++++----- front/php/templates/language/es_es.json | 6 ++++++ front/php/templates/language/fr_fr.json | 8 +++++++- front/php/templates/language/it_it.json | 6 ++++++ front/php/templates/language/nb_no.json | 6 ++++++ front/php/templates/language/pl_pl.json | 6 ++++++ front/php/templates/language/pt_br.json | 8 +++++++- front/php/templates/language/ru_ru.json | 6 ++++++ front/php/templates/language/tr_tr.json | 6 ++++++ front/php/templates/language/uk_ua.json | 8 +++++++- front/php/templates/language/zh_cn.json | 6 ++++++ 15 files changed, 93 insertions(+), 9 deletions(-) diff --git a/front/php/templates/language/ar_ar.json b/front/php/templates/language/ar_ar.json index 11fb93dc..8778a302 100755 --- a/front/php/templates/language/ar_ar.json +++ b/front/php/templates/language/ar_ar.json @@ -683,9 +683,15 @@ "WF_Condition_value": "", "WF_Conditions": "", "WF_Conditions_logic_rules": "", + "WF_Duplicate": "", "WF_Enabled": "", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "", "WF_Remove": "", + "WF_Remove_Copy": "", "WF_Save": "", "WF_Trigger": "", "WF_Trigger_event_type": "", diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json index 41d95def..96ce5794 100755 --- a/front/php/templates/language/ca_ca.json +++ b/front/php/templates/language/ca_ca.json @@ -683,9 +683,15 @@ "WF_Condition_value": "", "WF_Conditions": "", "WF_Conditions_logic_rules": "", + "WF_Duplicate": "", "WF_Enabled": "", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "", "WF_Remove": "", + "WF_Remove_Copy": "", "WF_Save": "", "WF_Trigger": "", "WF_Trigger_event_type": "", diff --git a/front/php/templates/language/cs_cz.json b/front/php/templates/language/cs_cz.json index 11fb93dc..8778a302 100755 --- a/front/php/templates/language/cs_cz.json +++ b/front/php/templates/language/cs_cz.json @@ -683,9 +683,15 @@ "WF_Condition_value": "", "WF_Conditions": "", "WF_Conditions_logic_rules": "", + "WF_Duplicate": "", "WF_Enabled": "", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "", "WF_Remove": "", + "WF_Remove_Copy": "", "WF_Save": "", "WF_Trigger": "", "WF_Trigger_event_type": "", diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json index 7227e276..fb4a3de3 100755 --- a/front/php/templates/language/de_de.json +++ b/front/php/templates/language/de_de.json @@ -762,9 +762,15 @@ "WF_Condition_value": "Wert", "WF_Conditions": "Bedingungen", "WF_Conditions_logic_rules": "Logikregeln", + "WF_Duplicate": "", "WF_Enabled": "", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "", "WF_Remove": "", + "WF_Remove_Copy": "", "WF_Save": "", "WF_Trigger": "Auslöser", "WF_Trigger_event_type": "Ereignistyp", @@ -817,4 +823,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "Speichere die Änderungen, bevor Sie die Einstellungen testen." -} +} \ No newline at end of file diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json index 9da47e8b..9e426cfd 100755 --- a/front/php/templates/language/en_us.json +++ b/front/php/templates/language/en_us.json @@ -681,14 +681,14 @@ "WF_Condition_field": "Field", "WF_Condition_operator": "Operator", "WF_Condition_value": "Value", - "WF_Duplicate": "Duplicate Workflow", - "WF_Import": "Import Workflow", - "WF_Import_Copy": "Paste in the workflow you copied previously.", - "WF_Export": "Export Workflow", - "WF_Export_Copy": "Copy the below workflow and import it where needed.", "WF_Conditions": "Conditions", "WF_Conditions_logic_rules": "Logic rules", + "WF_Duplicate": "Duplicate Workflow", "WF_Enabled": "Workflow enabled", + "WF_Export": "Export Workflow", + "WF_Export_Copy": "Copy the below workflow and import it where needed.", + "WF_Import": "Import Workflow", + "WF_Import_Copy": "Paste in the workflow you copied previously.", "WF_Name": "Workflow name", "WF_Remove": "Remove Workflow", "WF_Remove_Copy": "Do you want to remove this workflow?", diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json index 490403d7..60bb5529 100755 --- a/front/php/templates/language/es_es.json +++ b/front/php/templates/language/es_es.json @@ -759,9 +759,15 @@ "WF_Condition_value": "", "WF_Conditions": "", "WF_Conditions_logic_rules": "", + "WF_Duplicate": "", "WF_Enabled": "", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "", "WF_Remove": "", + "WF_Remove_Copy": "", "WF_Save": "", "WF_Trigger": "", "WF_Trigger_event_type": "", diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json index 874c4873..e931ecb4 100755 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -683,9 +683,15 @@ "WF_Condition_value": "Valeur", "WF_Conditions": "Conditions", "WF_Conditions_logic_rules": "Règles logiques", + "WF_Duplicate": "", "WF_Enabled": "Workflow activé", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "Nom du workflow", "WF_Remove": "Supprimer le workflow", + "WF_Remove_Copy": "", "WF_Save": "Enregistrer les workflows", "WF_Trigger": "Déclencheur", "WF_Trigger_event_type": "Type d'événement", @@ -736,4 +742,4 @@ "settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. Il n'y a pas de pas de contrôle.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage." -} +} \ No newline at end of file diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json index 6af5b575..cbfd542b 100755 --- a/front/php/templates/language/it_it.json +++ b/front/php/templates/language/it_it.json @@ -683,9 +683,15 @@ "WF_Condition_value": "Valore", "WF_Conditions": "Condizioni", "WF_Conditions_logic_rules": "Regole logiche", + "WF_Duplicate": "", "WF_Enabled": "Flusso di lavoro abilitato", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "Nome flusso di lavoro", "WF_Remove": "Rimuovi flusso di lavoro", + "WF_Remove_Copy": "", "WF_Save": "Salva flussi di lavoro", "WF_Trigger": "Trigger", "WF_Trigger_event_type": "Tipo evento", diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json index cd6b5940..3b4eaa6f 100755 --- a/front/php/templates/language/nb_no.json +++ b/front/php/templates/language/nb_no.json @@ -683,9 +683,15 @@ "WF_Condition_value": "", "WF_Conditions": "", "WF_Conditions_logic_rules": "", + "WF_Duplicate": "", "WF_Enabled": "", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "", "WF_Remove": "", + "WF_Remove_Copy": "", "WF_Save": "", "WF_Trigger": "", "WF_Trigger_event_type": "", diff --git a/front/php/templates/language/pl_pl.json b/front/php/templates/language/pl_pl.json index 3c3e1c21..6c0376df 100755 --- a/front/php/templates/language/pl_pl.json +++ b/front/php/templates/language/pl_pl.json @@ -683,9 +683,15 @@ "WF_Condition_value": "", "WF_Conditions": "", "WF_Conditions_logic_rules": "", + "WF_Duplicate": "", "WF_Enabled": "", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "", "WF_Remove": "", + "WF_Remove_Copy": "", "WF_Save": "", "WF_Trigger": "", "WF_Trigger_event_type": "", diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json index 8de6ff23..c73b2ff4 100755 --- a/front/php/templates/language/pt_br.json +++ b/front/php/templates/language/pt_br.json @@ -683,9 +683,15 @@ "WF_Condition_value": "", "WF_Conditions": "", "WF_Conditions_logic_rules": "", + "WF_Duplicate": "", "WF_Enabled": "", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "", "WF_Remove": "", + "WF_Remove_Copy": "", "WF_Save": "", "WF_Trigger": "", "WF_Trigger_event_type": "", @@ -736,4 +742,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "Guarde as alterações antes de testar as definições." -} +} \ No newline at end of file diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json index 3910b2cb..278202c8 100755 --- a/front/php/templates/language/ru_ru.json +++ b/front/php/templates/language/ru_ru.json @@ -683,9 +683,15 @@ "WF_Condition_value": "", "WF_Conditions": "", "WF_Conditions_logic_rules": "", + "WF_Duplicate": "", "WF_Enabled": "", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "", "WF_Remove": "", + "WF_Remove_Copy": "", "WF_Save": "", "WF_Trigger": "", "WF_Trigger_event_type": "", diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json index 7bdfd9e4..8839c966 100755 --- a/front/php/templates/language/tr_tr.json +++ b/front/php/templates/language/tr_tr.json @@ -683,9 +683,15 @@ "WF_Condition_value": "", "WF_Conditions": "", "WF_Conditions_logic_rules": "", + "WF_Duplicate": "", "WF_Enabled": "", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "", "WF_Remove": "", + "WF_Remove_Copy": "", "WF_Save": "", "WF_Trigger": "", "WF_Trigger_event_type": "", diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json index e7612bed..38f6fe23 100755 --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -683,9 +683,15 @@ "WF_Condition_value": "Значення", "WF_Conditions": "Умови", "WF_Conditions_logic_rules": "Логічні правила", + "WF_Duplicate": "", "WF_Enabled": "Робочий процес увімкнено", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "Назва робочого процесу", "WF_Remove": "Видалити робочий процес", + "WF_Remove_Copy": "", "WF_Save": "Зберегти робочі процеси", "WF_Trigger": "Тригер", "WF_Trigger_event_type": "Тип події", @@ -736,4 +742,4 @@ "settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. Перевірка не виконана.", "test_event_icon": "fa-vial-circle- check", "test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни." -} +} \ No newline at end of file diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json index bd235f3f..c310d7cf 100755 --- a/front/php/templates/language/zh_cn.json +++ b/front/php/templates/language/zh_cn.json @@ -683,9 +683,15 @@ "WF_Condition_value": "", "WF_Conditions": "", "WF_Conditions_logic_rules": "", + "WF_Duplicate": "", "WF_Enabled": "", + "WF_Export": "", + "WF_Export_Copy": "", + "WF_Import": "", + "WF_Import_Copy": "", "WF_Name": "", "WF_Remove": "", + "WF_Remove_Copy": "", "WF_Save": "", "WF_Trigger": "", "WF_Trigger_event_type": "", From 9bb21ad303472d275d4c1c44e1d046d9bce7bfc0 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Mon, 31 Mar 2025 18:46:55 +1100 Subject: [PATCH 027/667] wf docs --- docs/DOCKER_COMPOSE.md | 2 +- docs/WORKFLOWS.md | 6 ++++++ docs/img/WORKFLOWS/actions.jpg | Bin 0 -> 17578 bytes docs/img/WORKFLOWS/conditions.png | Bin 0 -> 22697 bytes front/workflowsCore.php | 6 +++--- 5 files changed, 10 insertions(+), 4 deletions(-) create mode 100755 docs/img/WORKFLOWS/actions.jpg create mode 100755 docs/img/WORKFLOWS/conditions.png diff --git a/docs/DOCKER_COMPOSE.md b/docs/DOCKER_COMPOSE.md index 89a6d464..a2eb10fc 100755 --- a/docs/DOCKER_COMPOSE.md +++ b/docs/DOCKER_COMPOSE.md @@ -105,7 +105,7 @@ DEV_LOCATION=/path/to/local/source/code To run the container execute: `sudo docker-compose --env-file /path/to/.env up` -## #Example 4: Docker swarm +### Example 4: Docker swarm Notice how the host network is defined in a swarm setup: diff --git a/docs/WORKFLOWS.md b/docs/WORKFLOWS.md index 0eb02ac5..f5f2ca45 100755 --- a/docs/WORKFLOWS.md +++ b/docs/WORKFLOWS.md @@ -21,6 +21,8 @@ This trigger will activate when a `Device` object is updated. ## Conditions +![Conditions example](./img/WORKFLOWS/conditions.png) + Conditions determine whether a workflow should proceed based on certain criteria. These criteria can be set for specific fields, such as whether a device is from a certain vendor, or whether it is new or archived. You can combine conditions using logical operators (`AND`, `OR`). > [!TIP] @@ -36,8 +38,12 @@ Conditions determine whether a workflow should proceed based on certain criteria ## Actions +![Actions example](./img/WORKFLOWS/actions.jpg) + Actions define the tasks that the workflow will perform once the conditions are met. Actions can include updating fields or deleting devices. +You can include multiple actions that should execute once the conditions are met. + ### Example Action: - **Action Type**: `update_field` - **Field**: `devIsNew` diff --git a/docs/img/WORKFLOWS/actions.jpg b/docs/img/WORKFLOWS/actions.jpg new file mode 100755 index 0000000000000000000000000000000000000000..1f9c53621c638525eafbca0b34df0032280ca5b6 GIT binary patch literal 17578 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

#y$PwD7sShhw)lN`yi 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", { - class: "condition-list panel panel-secondary col-sm-12 col-sx-12", + class: "condition-list panel col-sm-12 col-sx-12", parentIndexPath: parentIndexPath }); @@ -838,7 +838,7 @@ function duplicateWorkflow(workflows, wfIndex) { function exportWorkflow(workflows, wfIndex) { // Add new icon as base64 string -showModalInput (' ', '', +showModalInput (' ', '', '', '', null, null, JSON.stringify(workflows[wfIndex], null, 2)); } @@ -847,7 +847,7 @@ showModalInput (' ', ' function importWorkflow(workflows, wfIndex) { // Add new icon as base64 string -showModalInput (' ', '', +showModalInput (' ', '', '', '', 'importWorkflowExecute', null, "" ); } From 4aaf86f0fc8c6dc08f1e122c6ad325e2936828fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Mon, 31 Mar 2025 12:08:13 +0200 Subject: [PATCH 028/667] Translated using Weblate (Ukrainian) Currently translated at 100.0% (743 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/uk/ --- front/php/templates/language/uk_ua.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) mode change 100755 => 100644 front/php/templates/language/uk_ua.json diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100755 new mode 100644 index 38f6fe23..1a0aac3a --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -683,15 +683,15 @@ "WF_Condition_value": "Значення", "WF_Conditions": "Умови", "WF_Conditions_logic_rules": "Логічні правила", - "WF_Duplicate": "", + "WF_Duplicate": "Дубльований робочий процес", "WF_Enabled": "Робочий процес увімкнено", - "WF_Export": "", - "WF_Export_Copy": "", - "WF_Import": "", - "WF_Import_Copy": "", + "WF_Export": "Робочий процес експорту", + "WF_Export_Copy": "Скопіюйте наведений нижче робочий процес і імпортуйте його, де потрібно.", + "WF_Import": "Робочий процес імпорту", + "WF_Import_Copy": "Вставте робочий процес, який ви скопіювали раніше.", "WF_Name": "Назва робочого процесу", "WF_Remove": "Видалити робочий процес", - "WF_Remove_Copy": "", + "WF_Remove_Copy": "Ви хочете видалити цей робочий процес?", "WF_Save": "Зберегти робочі процеси", "WF_Trigger": "Тригер", "WF_Trigger_event_type": "Тип події", @@ -742,4 +742,4 @@ "settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. Перевірка не виконана.", "test_event_icon": "fa-vial-circle- check", "test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни." -} \ No newline at end of file +} From e1f9ca05b749a5e22ed3ed47c5499a4d13f36665 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Tue, 1 Apr 2025 08:20:00 +1100 Subject: [PATCH 029/667] wf docs --- docs/WORKFLOWS.md | 29 ++++++++++++----------- docs/img/WORKFLOWS/workflows_diagram.png | Bin 0 -> 50185 bytes 2 files changed, 15 insertions(+), 14 deletions(-) create mode 100755 docs/img/WORKFLOWS/workflows_diagram.png diff --git a/docs/WORKFLOWS.md b/docs/WORKFLOWS.md index f5f2ca45..059b6a79 100755 --- a/docs/WORKFLOWS.md +++ b/docs/WORKFLOWS.md @@ -1,25 +1,29 @@ # Workflows Overview -The workflows module in NetAlertX allows you to automate repetitive tasks, making network management more efficient. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete or archive devices, this module provides the flexibility to tailor the automations to your needs. +The workflows module in NetAlertX allows to automate repetitive tasks, making network management more efficient. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete devices, this module provides the flexibility to tailor the automations to your needs. -![Workflow example](./img/WORKFLOWS/workflows.png) +![Workflows diagram](./img/WORKFLOWS/workflows_diagram.png) Below are a few examples that demonstrate how this module can be used to simplify network management tasks. +## Updating Workflows + > [!NOTE] > In order to apply a workflow change, you must first **Save** the changes and then reload the application by clicking **Restart server**. -## Triggers +## Workflow components + +### Triggers Triggers define the event that activates a workflow. They monitor changes to objects within the system, such as updates to devices or the insertion of new entries. When the specified event occurs, the workflow is executed. -### Example Trigger: +#### Example Trigger: - **Object Type**: `Devices` - **Event Type**: `update` This trigger will activate when a `Device` object is updated. -## Conditions +### Conditions ![Conditions example](./img/WORKFLOWS/conditions.png) @@ -31,12 +35,12 @@ Conditions determine whether a workflow should proceed based on certain criteria ### Example Condition: - **Logic**: `AND` - **Field**: `devVendor` - - **Operator**: `contains` + - **Operator**: `contains` (case in-sensitive) - **Value**: `Google` This condition checks if the device's vendor is `Google`. The workflow will only proceed if the condition is true. -## Actions +### Actions ![Actions example](./img/WORKFLOWS/actions.jpg) @@ -56,6 +60,8 @@ You can include multiple actions that should execute once the conditions are met Below you can find a couple of configuration examples. +![Workflow example](./img/WORKFLOWS/workflows.png) + --- ## Example 1: Assign Device to Network Node Based on IP @@ -115,10 +121,5 @@ This workflow automates the process of marking Google devices as not new and del This action deletes the device after it is marked as not new. - - ---- - -### Conclusion - -With workflows, NetAlertX can automatically adjust to network changes, saving time and reducing the manual overhead involved in maintaining your devices. You can create highly tailored automation rules to handle everything from basic updates to more complex device management. +> [!TIP] +> Share your workflows in [Discord](https://discord.com/invite/NczTUTWyRr) or [GitHub Discussions](https://github.com/jokob-sk/NetAlertX/discussions). diff --git a/docs/img/WORKFLOWS/workflows_diagram.png b/docs/img/WORKFLOWS/workflows_diagram.png new file mode 100755 index 0000000000000000000000000000000000000000..016b1abaccdde91d4c3d0a797686d8e807f44f10 GIT binary patch literal 50185 zcmeFZWmuJ4*ES4GmLeFa2qLM7bVzrK2uL?9LXeW~P6HJL1EjmVyH!BCq;rdON=v@u z^1k=`y~lIx=kNDx|JWW|y;y5rbB;O2InMJOzE+f%x`=lZ4+{(HqV&W2%2-(FPAn`G zKJHog6aJ=>Y%DA)Eb04Vs;+t~6Zqq*GY6-?@U24My@@519?kehlsIbNl}N@AAQS4C za2qd``@E9!YrI&+AL;iKEmOZGKF1RXqgy3tlBYF2sb4?#NIMl&=zg3V$;Dw|;HU8{{vXfh-_7|qa{iZl`|q{-H|P9wX#AUy z|1Br~oHqY0C;z-Jf9}!0oAdAH{BuI}{kPWsTWkM0H2$r%|JK@nPMiOhlYicqe{1c( z<>X(w=pWghf4Q{(ADKWcx{Ve}pJCH@FOw;s(^{*kx(S&u24j!)+H$pgy@}ls(|D$u z+f_l3#h%1B*wi1J=zIQpVKrLPT4p`*)VTdqsr_u*$gKdfA93xRI0T|tehcRr`{aeYf1f_VwFn-YxKfLuuE88F z6*`&jI3cTz=|C*wrqy1ll6?QX(yS@_C2+#Ul+F+!}nA?5ZY;S%@ z--o%x!eg~G+-Yrmb?zcc4d zdc%6vVBu6AIBT_gddpMw^~c-&3X;xM%BeEWhpXk)4Y(Jvkq64r>bcs+%sOQyG_s#u zt9qz|c|WJgMVlPZGRL5BI={H-FI@lomEI{Be0h1%dCF^VjOv=(z@&(h+b6loZ z>pqeo_Uve_dG}APdVzcADjThBm!dd4YOf<|tQ9P{`R%GKEm3-b>o3D>opNhy3FE&8 zu5fmLj(!k+<-be3iCP}YFL&tTYjLpp>d!#V?^w`6;lXrM6GH=g@J`(C32F|fOU2cQ zmlOH@V{Dr8I|9WHKfk@VR;OpiAp7bhvTzap?hmy-jdNEaZiT%AHYuv$TZ;6@9JOrq z^XuKgfBxP?45#CK495o~495v8ma?)}ezj04Ed8i*UVTdaAn4)JjTN#Q*u`l%zT1C) z++^Zv9lr{%%tAu3s_^g6ZfrD~bVG=CWtP{VTsPJUEpV42CnQ5D{BP?CPv zIuS)+n+_;U9rW}U124=mG{ z^XrBGLcjjNe@_63VZPh%-uUwQZIO|XVa_7&Puo-QSi)mDxBSDVSzpTQ&KN$9Orrva z4cLcgJhQLU)HhvdLxho8QLvVSn>(~bLrOJ*4k#MX)#&!Tyg zDokL}YJS1w0(Wa)_Pphpyz$M(7sJ){-3d-BRB&GMPdLFZn>gxum_^jwO!Hg(uRlM? zvJ{%ex!rwdWJiEpfTyTM+=y$uA)^^T+^>jIX`o+TBsCFo-+s8X*&Ix6u{u_+@J|~& zt@S6Y41}#lIlB)-Oa8j1Aoy4VV<#yc{cGw^oZ#W6a2Uu>$NUw5q?!7LEVb+$`B?tl zegzR4$9viVX1{(ksaHF%KHoJ>{|-8gLM*e?gTL4O=6VE|#V7m-i@&-PqLvus%GtGrpj<+3F0$*B0=V&uy6$q z06Dn(q6V8kTUiY192fgU^VP-Tb*w9CdW`JZkUbbevy;Fzh+9q$T$aG{!w?Tw*d;qH z_BEwFiu|#xJXU69k^JCo5xa5Q{%FYCermX4LR~TFzpvQvEjIg~4~g0ItDUV97zVO6 zT(ssOx8ZG9kX?Xhz8U+mAt5}!i90h2--h?+_O!Fsk8fS*bKhBt{9yLnLfWxmkNq&$aa9^(8r<@N+4JzR zaguHqxNVt`3b~gY7Q^R?vmU;p4ld}56{r^RSSgfJH7nZWKObc}Yn9yp-V16Vy=Flx<)f`0P+)QGc@?(SS8nSjiKen^T+Q->u{9*0wIHC9Qn)n#ib0TcJ zOL-Uk(fBLJdsF3mlOEm7SKWWSrX9W4LT2=ql;>`>;Ny|)wTC@|wUaS_axI+gZMp*c zSs7wBN*-%WTV9=HAkpqhad+CvKG_ZA%V_-A&LLmc_i#oVzAOg?`KNR~-e*$JZT7lO zvB}$9o${_@jykn0)z&Q4OhdRXB?mjp)jmr;{YkgrRBrA?X5ar$4EbF+&xEPyL3gCf zMStp}5IotRNo#s;_UFZ$@aZ1*6&cH_wB{7>7z-@DSa?CKcVjoNPXvjEZIt_(LJV*3 zUAd^APeW)o`4Y5$5@T%rVtr12tCw3(^yqVtKf?GXxczWmc@3xZ=cou7*(?T`h}nk1 zH&x5dUc6a>7Htn_jc@C>wM0I1867IEnJ!O0R${L5c__)f1pacbrhaM_pP~X&X}{Ym zMfrYWK`Z7Wa;!%v_gxXFSJr=ZUKZY`VxtJtG5?IL<8>>|&&fy=mEzUiVJWpl2cqpMGY}M@%aQ3o6nQ)p`l#%2GT$;erFYW8mt=D2piyA@@5mc6Ctnmges| z?hT)Z>vT6^{b#NFj?BIrX{ZLE5;;~mo61=t8B6qwsOA~SSk&CGP8!uph93bTgYnoqaMNc3Dvvwx>Y6Z zocZdxQSocV%n(cje0~t+Q8IR&aY6!|LwSA73c|lrxXkRo%Q+a|Z04!= z+nWg%=$iCc7g9Jjp+;7ig<7vat($P0kIi#@JRGIx{q$wVi7FIK%ZX%>7YOLm{7=1x zEtbap&*kDM6dikh{@O|#WB#M0y_Gjerj-?Kd=oI1oi+Zq7l6Y3TfbyW_!H^7)4G~H zn3gS-tW=AkJZ{6UxPO258&n&c$b5{$N+-|Mg`L@n=94%{dXy#M>g zIB1j3s9Dq;#G~v6?(22u%~slKrYOAY40pTPVRC1@Nc}fPR)#Nv zWzVLVekJ+O@yCT5Wp*?qhX_B7npBWLPH$LCRGO)c&FA-Qc(K1!<1uo3Ac=jve*E?+ z?fEFFoi2xo|6Fn^fE7PmKkELuXVT=fy|L?+^AyVy)hytEi6qBW++h??FHgX!D`-I zgYed#qP-@~)H+U*TX@f5?oq#CVu>vtppbd5M2-Khguu}6J+)Mo?{Bzi9DTCPIO*oG z2-yDin~xq@$XV=xyHk+R<@~Jc<-|VSGir_?I;UIobijOoZ`6e)|cDqI%YRyih#hVA)as zDQ}y%BwjutG}xPPfy!(e>!kkRu(1_MFOK+hij#S|)#Qzv{_`5nWkkm6Sa-tSCb%&; z@o~d8PU{+c&rot+Egf>7x@9ek9?P$sySbM>9d$)6n%jxhw7>V{V5mOIf7>+1?g77i z3!f)klRdwtw7*YD&M%Bn15OEA9QI4LznX~0zGtd%OkU)sBb-C=6u32L)AcI`_@hqiz9Z*Wt$+uO|0m=vC)&68v>R^^nvT7P;XZJd9& zs`&A)9LCE*y8;I{Dqz{WhxEVuj~m(W`31gi14cjROOK4UBFhD@l*>qJc!yF+dsK*E z5Y^l5vi+YUo0xwt&faLUlIRiC65B;K-~Y-DUfYD7#r~F|#wace6Zc?BKoKw2_8QJy z9+u;o__-X>YMm3A0$1(~o0rU&+vmW#asuhtD`<=3i2EFK=mNWnW324ZcHM+`*kZvfa6A&g*W%sKq)CeTm z^Xy3Au31P5#7x%!<`X0TFms0<>IAl^P|bWtq*1YHw{v#1&sHZ7PU|(>C*d9Vp{)9o zXuYQcS+h%~vEB!ZWdLeS>x{NxFYILu00a&KWT=KeTwO>G>58)Gm)XUOVAZYSFOROL(-G9J_OWLbzk$CsT zN{94{HT1m(0McCEGm+T|xx_n-C9u(OMz@ptxVp%7N8u*w@wJ|S*Ls@^@%lc;rH3xZ zS|w)hbM`i81Vq*Oy~hJtYSvjTkk97Ja&)W9@b5BEYmi*v z#Icv0hE#6P`f~dj9ryLcnys#4xXvbOCT4l#m-Ei}SrYezt21{bvnzTX?mC4hk7$)o zc~@HjmqB=eZz&^L+$AzAJlml1BqRRu(;;1#SfTA6iN{MFlaitqRub4y*1&K6raGb%~H{ zC;%GS+Xbr87?DRU(0(yIPNd9&x)|KPnRM&jGV1hqx6dOQEJDH4rR;p9O&-kE;Sm6I z<8a(pDU3saD=Mn;v02UpEC&JTBBKjL}7V+u;YNeqw73E zLs0VM%pAiRgrw=eN$__>J81ddkY$;gu*F1w&@Z9rg~VeuQRM`nE}$~Ju5EI+FLb+j z%KPwobm7`8Z>x23Lv3404?C-9Pfdf+{?3rTZUIK?n#jq1a(hwj$-%OmO}ZKGeK}D| zer+6y)a#t&8mu9Ng6V5+-yfic0)2U~g=h(F2j|oM>8n@EblwXrrN)#g$%!!!s@J+Z z+0aV&sz(iG{>i+`jxT>+%0>sK$;U>Giw%=PVcMWVS|t@l&0;@(fW#{l?kx1nm}0w~ zBaK}*cIFW{*xV_*Aw3T(_6a&Weg8R{tA*Go0UX16`qzbQbe~xgh?}&7I4;Q1G#hf% zeC~9<#oEGoxj@v0>Y5J{SCr6QrMn;fTMx*?9^&6N$O|uAlE@+z+fv1MIKo_^YW~3J z!hUneuIakQ@YmPZ&eRV>cRw0!Q@6NWA;VO)S~j)yo{(@M2fL&#|c`19op|!trWG3kLy&yVipNr8DBP6dW@F48X36*-FbD+ zR_*R+d#APZJiZ09cL2){hXCZ5&=CF1Fwj7$6SIRAE8Yk5ohR3mz=)V z**9p|eL%+h`{&2ilf(7$GnaT9IPPK2Nl4r!ks!|s&Nc68Syziwpt#{ z_1o2(DlYXN|0{qpPH`k02+qoiK$%X$BWA_q2N!wz1J^hGCW}1JQJbCAlR^7#9~g$v zI%_TbXIPxh1XG*VH*|}fuE-E&mgVVj?yQV(9J0P)1W@oCNBD4sW4S*)q||z16f)DN zo_jxBl+&t;1pMpMa-=I1S&^9(nHcvu#5pe)+t+)YUzu0kEmI6@O(-ZXJA{5xu0_9 zjaatF;xZWR60^Tfy3}$s@6oh`Y>H7+at^7UlM}1iY-5~YSO!vd<1U-+w5Z1EsXso8 zEmt>}*DKi6UV{CZ5Rvh45p<`Tx+MM_&cIw(>~c|8SYpPDapj#^1;0(B5TQZfac`&& z6(8_Maq|PdM9ph?5ibg&PH;*ty$C9&|5)Ow@b;k-_EN@(0Hl!mx=gM7tA@kEa& zMh!6uZV3`Ep3Nq}nUK|FUa3e?4Ks-p@u^$%DD(CpbNl(;&$Ot;`mM>kB@CqPz=jE# zDVhiTW)vO~7VZ;VLzs`kPF>GMgK;0l362;?EuVYO9tv&wyF(OSXm*_*zhlhKO=xZP`vOvYDz&J8;jmE;i}3Z`?vy<(HSpZw?cS zGJoyQP)b&H5n&8DZKaLpwYiDH{h8*gC-XEd;UqHesz>3JE*=G4u`ZWZF`t2ak08&f zwXIq!K7o<+bzpc`==mj^q;lzRe1t9)Le9nfUJ zy5U{xF->iY7zcRb{Owl2lM9PbOl|v*c7Ep)J3+lw`0OP;D=v86h2f5X2|vO0t7ohH zMCH$a9ZUqcEm0R#{s{Agpj*H5W##NA9n@-F(NyWnmqb#7j~E7CGF#VD_|N%mIutMw zL;9TMdABwOIf-(gUy5NbsWb}D!l*f@kVUtuLQ7wahq*xrew%QabYw=7!R!Qx;8D<4 ztN@l*FSfVNmU)~`LsjGp zv-9it-l4xB(jN@kfG4yu54xe7I(U(z9=+ zaXwf~H{DJGs?soA-`h>bA4g0-!har`!7|`vdj|}M9%b(Xb~dvM4$nn>)hycS>Rpd$ z05K^1L#dDq!^b42=bT$kvu$C1lNZ=K&&-xQgzO2FiJ#aYA!!44zD{ouqb~iWhWQ^mRQ&EeXf4Ja6$Ffuu({%wUI#- zQEWmb`<$wX!Wnyzny|0h(?JVL+%v_>yvFIVYbmh#jk*zmyI1#N1>ecs(P3VtKXfTQPg?BoH>doCzK>gn>asxh}|T2woo!Ys`P zvcmB9L01{=cPpWr06vPu%p@TFT7V<6cIl6ei4Bfh(t;)yM`ARN@ zKHKZ$=nqSJ-`O<&HqPxUocg6t!?Ife-)I0)!t)FpUVsGJ{*0809Yhm>o?mA) zPqq0RREy%ZiRysz7HJtHa zLyA-kK-XBS4);#6FtLgleRG}h_NnJBGm5k;()#`cRLxhP-)_Nu=F48AAhh$np(<&8 zAnI3`S^pzVba$!zIM6VHN#-8c$!=ft`+?qe(X4l}uH8}Jn_#q*!}f&& z&22d$W8s4vl^z!TF;xso*3EZ(lG-?g5tASXpae9g>bxe_-%~|h_1q?vOr@#c|A8OP z_SirBBec>EF0Sa-Qlj@Kp$uvauT<=VP$)hC50|GAx{uj6nX(ta!^4mU=%q{#*mwG5 zS?@{G3H<~$qZ`GLoRWEXj>0toUZ#D^d!!(d{braG1-_;!yT?H@sSPKyIK^OEBpR>C zoD8`Ohd59_J*v051ms9evWm$E((ARezCgNLy1#! z-i*I;DQ>B09zonz=@+b0&6mzmdfLA1q6qH4%6YlPD}lHXm%!+J^ZVrIQVBk%CwUm- zBDqv8AeE_sX2%o-FgW@cGSNR~-c5iVgo0k{1r*^fP@O6I;T*RK?EIWpM@OI$Z^3}gbW3Zd|)&~#&qG*@?kODl`cs zN+7hoV0`hxvVT?lFy8l}}jiZ~TRHov9r^GSlOV;49Nt_Ft1}rn(ZciJTs7T^ot@g5Z6I ziVF4`vnr1qH2XHUu7aR*bG#aVYb6Vu&Sd8nhduY#g+JG7-+m680Aj{EZ4f|)=ECgK zY@Xic*#XtFO7$YDdE6Pw?~$boAWIi>Fn$aSgg}`=Bg*Ec5c<$d48L#`IQRbS4Te3$XfQN$w^akoM7QVq5o+>g5-2DPx;tT-w&^|)N`MP zF{rV3erC=wj|P%>WT7|tBfmyt?DY(vmBN5~?g9_w&vkYSZavCY%l@?3 zP6BzDojQR@<5*DkYIUAfZ3Pv|n~madkE8DSoek!60>@Vh5bVuAzHy$Pab zCCPp5;#;rMx_f!1Jo_npj_msV0}iHIx&7x_@rryjfnj<+E8lau9_1d_B16dFJCP_6 zaQpI=@1GOU3JJv1XU<)E!SFnmjP}ifDqXU$^jK2l}Df&6EuDfEy=1*k~P2{0I6$J6^CFE>*%;mnD`b zYpY2wi=jV!ww2q)_M^k~+-N*!{UAuD@H?1z3ew+MmZv+xA8kDt;Bvd|~&D6_e=gg}+STZQ##RLAB$aOYMW4x`mZKb13 zGTT$1Nr39zEk9_FzIbIGLeHe@Tv@bkHi=`>9k+^N;d=Vrc4z7`Fp4$;L`4H_VT`(; zDo-L?(+*zaeX{sV212!}kGw z5kvSRhwJqs@3f?T(IRxi3Uo=2G6wnX5sA2nR9ZQ3o7Fk5Y6}2gjA6cg?3)TX)C5PB zcoX6N!0|LFFZ}ywhogV-?RQ`P&}BIq`FhU1lEfpa;d)VDG@`0x55cvgTQCdvxd4QL zVWjWrX)VboI%s{OqF#xbYhwq?jp#0}*@H zy9>?Aw)eBGvO8vL(LvWjiN-nY-NigmN<6lErMy;Uf|`gmlu73;docPYkd%Hdjgi}byCr?AkOPH#hh+m! zdkk?y$viOo3m@L_4(rBh`P3*lTFgMJ`P43xf~G~-I$~ap4ITVWE@<2P8`VgK7PPD4 zY79QOS4py%BU@j0S?Ce(VA`LUB%Lz+~m+NSQe ziOW4o@BPHXDeYy67J0|BN@65oq~CAe(D(kG%F5|KS64C2n*!xl+}-H*cV;gUjZZuE zr^hzkv&x(wEgJpNO$_FPAL9C%wM*!f93aCDCQF5g7I%SP$XqUplm6Fu;YB#nG#U3V zF(56MZV7uGL=f44((Bl#h`4yJ67$YQ7_A^qoH6Ta=3mbWXi>Plejv$Jq0K|D*nxze z^x?K2IJ&yf7*4CLV1cy);Ahi^Ip_`Y8r<$i714815F)-X(S5YxvLfBaLATFIzw?N3 z_=XGrMWGA)GZ@{$&m9c0sq-mM`xw|hSgI7<_uA>ljXLZ#94o*B)UzDhdhAWFm>aZm z-{in`fF86y*-cUqeA2t|maP-D~Lb4v>r5(5)oOJZpge1!4i5XV%!fpfzYB*g;qH0gZOw z1ZO|UqG2Y9f0kczsY%ymVzy{xTRHfXKGmy+%E8{(-9#9WD?C0eN9HyBrcaOgKv-Qw z6e76!P`?HAy}-b?5)7c^r10ErsfH4IS7XZqh-UN3zB;eNQDEW(V;R4_5Z@tD8&66> z3)~NC>Sva5r}m$dzGjbwLqI3(d(K^2{Ky684Y4Z#I=RSh?I+5SxFy?obk8u@#9_ip zUgQ28!;bo)tr2U^u#?Vw_K^G7rSaaW(q3Vb)VqIOFSAkdwA(CR0Mx8Rn2Vau^|4m7Yd9k%c5 zfxT2jcxrP8z#ptCH3!`YG|fukzGD_gNC~DgUt(;E1-;PWvwpG23%o%i8-IOSeSS^eHdYDiQ6N4fr`uMsDg|<4Jm`+|HK}i7uibiA(9ryrRCnZ| z5Tm9`1F2CF$$Z;YRlq8{bI~?crj>*Fu28O4Q$EUX4kn^>%o}H4U!!%O3{R*uW#GP0 z2)YEpR1Dc_RNMfFT{fe6YenrWvJ9dkpaPUJ__M_VQ&w)J&<7#vBS zxErE-e$h9i_5bz)fHeB^e8$ff;4&VKd<9g}L~{pKMT=KKXON`*wN1NbF)g}puo}uv zwSgOG7X8lh^5E-ujZbGJhyQL-%8}n^pLTL)VEb)B4R%TA6Dt4E|c z!D$2H9rsl2%E}=~vn$Y&D7ekGyyurS`|WaRka zlySK3ZKvZA??Ny@6(M*mH9S$$K#f5((5DZYrx=vG9k)RP)}EnkpiG}KV?tB-j-j~I zH+&1=5gkSVs1L|iP(!ofz;U*u?A6ovl%NZ|plDy8-%XMX{II0)nfPlkF3ufD<5UkX z&FF~E77z+vuA={f>2_l^uB?gE3G|6~?332xaT)Uhf>RwN9sR@qrT$1tBA#)UZ%F!zY~%HT2<(;4WH&IPR;!!8nw6bb^lPTYVxTRPZFkxyh-m7 z)f>LHQs@!9$FmFeF-nwRkC#EAxja4{hc#l6P7DWB&{?v8&wPjz`rdx#El*m?OdEqn z0|xshz@z6X(_ro|sa~%eLz|Ym-eKlIff~jUCar{ZKXSH>{c@EMcn4XQYhW$A)6Xtz z!&$h*B*8mazgNzeiwuHVex6mc#=lT^0kMm$eY#&H0W^LQa4!|#NTeha7f5ojoL~!- zm(rLVjH5lQUJt6!HvdrLtz5;8qMdJ<1Y?Yt@42dTceq>Ku#Lkl3Kf_yrCai9JO6R( z8AsLwE#{{$3cU@c0TXzx_fNn8t62tw>-TMH4IfkUO4g0paQ&)=-_XL!`E3ICJ!%}Q z5X(Pc%y?iPjVY9YC67Q`Z>A#CUDdj^xb2oCT5a;^w-pq{H#GmV zC^n_>(QH7m*MeM}1F2x`GV>vNw8Y#9{4{vm;!)gIOQ<<-pnXA)8c4tv4Ds2BbY%%+Y znCm^3w}r-P%ivv*#=h1%&PKqH>3reu$=3;$Ht;AGc0GjR@tZ=gGW;WGk=CTPfqOLr z<3uSavQ%TNuTM_%8;*W&$ziVne!j&P0^C*=T7-U!;0FCUaVj?KT!~+he}5$ z1&sMMkdl9wQ8#}eh+dBc%zD@89Dq$m0Gs(Y#!QPFd``9~HMX_^e>v^6n^#gNOz%!N zK08yL03N`K7qd5L{odPC;h?T*)_GRqo54uSDAE%)1h@OyONj=$Gc0@Vu8gF;SiFkR zB+g>j!sfG}_e=_SEP|uV0vT!cYYbH&I`nbgBZqvs`ZKCglK678eXk1dB+dCy`p=zo z4xa&Ng9p&&eDjumk{I-MKVV78Fn?O6!{8zmlHHioshWFdbrG2xcthlU2fGZQ)NZ)2ZmXDX-WfTq0` zax$UN|2gTPE*HxaQ10RkKEhwwzpS>*o<-6%j-rtnb&m zTC^LGKPo$BKqnYMRBWf?^e>a>PfS{dK=0-3k>iaNfz!bn&%`eB=alEx+jf3^Xkrk+ zCC~fU^OUaEF7Uh+`3@#lKx2onItF6RA1a5FZXj@S6w#Wp0w`a8>OeU>UJ&uZjfb7w zn7HOncnQ0nL-`a0kTH-1!@dVm88R(a?%{Oy&va-Jyeh%Ey!~+MB&KE`#J`bHlAKYe zHj1>_vIeAmmI$~cw|^UQ`x1KxDW}==;tfbHAV;^eRCf%hs$Xgy%1alqNjHE{bFl0Vr*{FZnL|QK32IPLl#z ziguQV&bet$wJ@lp1?lvBdMT=ijMaSj$y<3hAu=Vu{-kQY-5o5#xd0X8%2_QX44I^V zxlKm?X={M)yN`BFpk-+BetcDNg6~*Uu>hm8WY&AdY`7pXT70qGJZFI>km&SL38ady zgS~Z|EQRcqCWr)~UWr1m{2t}|>KTH3)omOe&Z{V z0w`pE_%bo1;5*W=htlU@(J{NDvb01@I&SC_Pa=ZpEsC%H{_)-ineF_i2g~^rpREC8 zhUV85zy*siPkaF7IWbR`r4r{VB)5b{>({RjK>H1Xhv3EyXG`1CY3y-O?IyLxW$L+Sxy;a@Yf5Vu!;ds7{ zVW>S!HFRC6;RyVb4){GFr*OUVtw|3wq{b=2{OLiU!KoU#36hk7S>7CCt`O^N{YX1j zWZb?2>7uCqXqI)2CRZ;Qp}M+wXD$GrKOx?4>Xd?vmO%O$Cf4^XoZ;hyu1`g72-v=g z?z61Sc=0s#$Gg$yVqKs{r`BQuh077nm$lsAieLjU>G-v4q>_rFv+4+HUu-LNR?1e- z6|~YBfACfF!`*F1EI6WwVO(sS56~3G1yLNDh)=`yvm<%!u~wPBvpU9eP50qJOxwG4 zu!h&oES#!rJQSl2BYTaggj*P$b?__}fdgY0Xah6o804z*M{Ipn6odxC9O?4tvpr!d zGLHOOrM29S#^7&I3;tG+Xzg$8icwuf9e5$6I2o3?(Sp|6k4%4c*DVeM9#q?doU12?MpgvcJ7{%Q}ta;|aWlvY#eO|GZI z&^=v!_yhmmC&GyiQ~-@x9EE9@zi0~FD5-;8(}^aFs&VLHa{)o5QN~t&SDln-v}5)T zx7>{^;=bM^T}Gi_w$Jb`^`Jy@fKk;X!~fReO^%z%Q6vez)1WPrS0!kdjcXi4R-@co zxnRzW_$y-V$za(ARm7f^Ld|_Kr?{&KX$>#&FC=(+shVF#$Lx?ZSmqWaROU&K%(*va zpy`ZO0cdi|>45UnjZ9_?FDfVPY84^8Q69npvoYVu5|!=AHEepbw)L=>&P)R8^K7*K=qIRxa&%@nS z=N598=hpn51nyeOARChS=O6rL#ybqTyep6c7B$#6yumfY}dU<*co z?zFC6DGFTfe;h#mX>iMd9p^J0flh$Q4r0gGe~d-qG6v>M{d3 zC>Cg6gSqzVG&dnUC5mq_LF|mhWKE^4Jv}hF2H}r_XxQ2eFW>*qjGNy>{0-5N?bYr# zff~$OVMgXdd9nDub5FOfat;yNhw1j>VY->S;FO7aignU`dK8kYTRjLN8W6jHZ_>1kpMm;{c&6}; zK>Mh3Zlg~}yyi~=$m}219otm=brzYUwCqiiWTCP{oVPDrU>?^+rJ)jl7N1@AI!ybj zm_LU~IbiH~_oi*@`3o$!`w+RTBt6c(4UhsDaG67i+(**ZB^fG{Og~PATQSTh)vvp! zWgZ2gQrp(nK*cead$CXCp>Dza9PD(HLIS1g0Wx0@1h1%~3tU2V zAlwC3OZvy7E*>!T`9c2ce_cmv`KB#!Xv60A5>54bIN- z@X{l5Ur5aB@&Lxv#ofE5iioy=?r3eQPI4 ztV@jP4tcXhs=^2|>FcphF4QfAjX;9*{{aaU^=pc-Rey+!sH@TPd&{_G2*er8AK`Rf z_dSNLa0NUIE+kj8*1chxqN?Lt5{ewr)-RIr_JsLXZuiMr<=5^O!O+K4n1AmNXYCs0 zMtozP3`DVH?nFEDl!dF7OtC={n>Wl_$?C~Xl+u+~xe|$X zQve7R^>-1&w||%W8vU!)^rpB%JlA-)xyUl0$tsCMvpn*MU%3x1k`P-InwG}3W+i5Y ze+IZ^k9`QO<51X!qSlStm7s2K6$AZlk5z|pyOv7R0``5i%?GD)e(va17{+1j$qoPL zUYNz?fbKWKkIE8(I>NMBd>{Dfhbr}|r#qCV`vGGbE&YMrkg`Y7{UFb*lMmg5F&-VO z{wgPnY?buj<@~1|3=!U-;8q#9M?{-&ENbN~54JDwACk;@_m`Ui*bHg*nqw%I0Nu-d z?b?6my>BxEHtH)EDIv~(R00w~1?6BHCQy9q8mGv#?->l0cBD7rR}hZ->_3O6z1UK_ zt70H2wyCK?um{lArA65mBd7HWuZ@t1_vuJcD*iAd-8D)=rOX!qrK;@D0^FIf^E4J@ zcz6oVo{2E*S6t{$=sdKBXpOlT6vLLahP7WQh!Ka~fNG&e_>ybrh8?yLBjLB+5>vFw zmq|jw!S+$j2W3MiOZ+=psiFlYr_fdk3plG`VY)@p4Le6~jp4)*~9dlqR;wHDH8J??!jE|=WxLq-}H84|TeNY#Ls*du`^Q~fUn~6runv+~#}nMxgymGbCIMOA`%5vDn`LvdzO>RDx;qMUF*;R_ zi}Dsu033Ep+cN2RbJIR(<8?3=V?(lnhnk3AX^!R$m zW8jU}t%t=N^NbK#78+EeHW>y!T(km`d`&B_X=b~!t?K%S?T~$S2u`QN;fcM|2o30Z zLVJM;ZtgLB_^9_p(|#0-W0YBe8d!-SoaPC>^3PGS@b;gJx|!F<^r94kF`CDQo4LjX zF!efNg8GKej&s;?PSn`bQy7K9?3S+u_>cXPYjg^`s2KSPY+u!&G=0=Y#BpqQXex~XN5yd>rJ(}``v$ij?yz=AmzU<=0L6zPt730@%Zy|@$P(&{P65wthk0^4g+RG^Ky+uhhz*9 zYLs(@NpuVrUlKyX~mr9qSE)`s}dZH~zN0uAThsrDzq9=;=B!TObI6 z)p0xM(*M9o&8&KXQdxI1(kxqsEIVCW*n6-=#J2XSWE%5`u5*H`t-75|GtEk=(^bWqq9i?duNWe-lodxt@5;w4#MvAODi0P9rP<4B z>nCL-xG_o86ePGQb#Fn8BY+{0wQd+4H><1J?=$3_i5tauBR|2@PRt=UB(XaRo{>a1 z6$_c=9d1DHUTyjtdXjO|ETW389Vh;plVgMGZAknIAsnV+4T0eDXO(HSf#EtgiC`H0 zqXAOE^wkp?Q5qpaI#uvrY$r`B!z|`*MN!S(u+e1|FWqB^`qC^N#gc+Fst_X6e&IGt z)m3fd?k3jTH^*2%X}R{x@l=LW>D?6DI+AgZO!RGs+PWq)`<3<1Leobpf^W}7Ey>@& zguEu~D@X4O(QXo*Q?b&|Y9BoSH*Gt5hB5ty%>5|U91lPAsoXgs*%{(>rX{rL%5!KF zN*|WV6cehEVh*2Ly#^y_8n^&v9b`&ZN+}*Zp4GDFGoz@sasQneiRbQ@<3qbV-mia) z8&4GU9;{bnC_i7Y;o#tCeSQq_&=OfpMPLpp)cd+)l1f+TN0-XjV~kYFIr`qei~TOk zmXtyj$dZ|1rOKfpwh9fOHaLo9YupFuG>9tL@ny4mZ?-3?mQ^h!hL_aJ%lCNB>m(#Z z1MlgRlhAIS9;^Pt%kT^iJIxL%hO!J!q1eZ+Yf5^3 zGUE<9Nb7$2S+9yA`ef?#q}*eXfbsWr#_p>x5-JJc-`MejNdwtSVVwPjd7L=P%z(@W zK9f;muY-%AMu(=DMr;dOW@2EI&I6kSeKhv@jF($rpvLr!%T9AA^qVw2hVu_$?n(=i zVvRfoYk@7cE84aer}4T0GJ&G=Q%+@TW>0D20RA@fVN;8l$Nl|XU{Dm&vRlfD#bmSyCh^s#On1?FNR4p2aMDi7g4<8aBh zq~OHUw1z@dXqHs|$`dr_j<_Pe1knYvxi+C7Kw|a%=nRGtspL+2j?wNaJezWBC-!q1hkwMmKR8;o z@hP5g9_u{L)GSP@4#6wff85iUVdq?D45O}BK35-O#LbR#Lf0qHKuEh(WiD4}!<@9gV&p5Obw z?=SxNAh0>l-dvNCa44sY@mqjyFIax<@0Dgv9$Ak_*%MA($C}Kcy(wa)SUWqW&~848|I-50 z%K1nXUQl0n@)X{2`)=QuKaMg;-}brsMKpdIQzyZ9`|KkO7Yp-qC&?!a+#*j;GgnAuJdK|f(qpS5u}kEeT5gE|Qst%KHUSxpazhoR#j z)A&O}I{Egiy}L~yu9u+uhhQx&SJJwqf>%EU%2`4?0%y*4z4Rx&S&t=X{-UEVGU=Mr ztAPbteJCeuu6m~z($6GN^9J(DL3eT9QaWpz+?3S?hH1J-V?6Em%O+*ccHxN%pGK~w zSrq}w*xFB$f9aikUTf)&gfkzH6+fK-Ll%_zdwA)Kn(pz9qB!#VhIbeBm+w(-d?n;) zl-4wcf_oK-%ulQAby?EaVo|Z=*c;9=;fgk>*EWnc3YLbcy5BehK$+MAaH|HvUX4jj zla!5MKg2}A*&H70B641WI-a-1J2wgie}GIs-kV_-JTca3C9Bsg?GECa*4HII)vf7k zDZtDO?+z6H<+1Oiz`Q{#w9zPq8)anqRAnt4vDhm)5v~~-IBFm@$)enq{&hrsh3wiPd5GTV0 zBu;$Qyg2WUl-+8A=2%L{@umUwo^5Tlcy%9+Rq9r{^ViMpgl?BdTJ3Rs4> zIj8Tn$xqC}kXdkD_J(VuoaLIGh6zSjcQYe?;-voL>??w|%WL+;14?Mm%YUzqKcM`} z^$jEbG(!LEj4^8I7N|@9DI`f9tm9E%G2>SJVUIW32W=qaZDx6Cf3kFmxKlxxNo2gv zeVuxWHIt4$N#x^XBG6tbr$$Ww02w?n^Dv`L_G16=u0Y8CAs>SgH}?FyL34<<(W02z zm%~3UrsA>)qv43ihu0cqUB<&4ht8M$?~Lqyd06tpDCS*QU(eA^Zh=e^bAMKiarF{m zrk}O0950)%;`Dv+&Rq>#%jFhduHt%c1>N%8&KpnUV&WvQaO$X*v}!3Waj3^CBP+V8 zq;*UlUOe`&FjZaFejFfws8i)&^NUQq(ZrI+1Du^|^LE+&d`i%#da*b~e;yOa{#t(2 zO0(l*ny1N4ph9KPFZlI&gpp){L3mo^304}h>a3ygqPnW3Fy+0Ib>oY*+Vx%wZMw^b zr7A+0_O=9;|4kk!PXpi*Jowp0{aE!kZ{n;}^?7hbzew^Okxp|}T$NZ&v&6Jd+=rC2 z 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 XQMhxCMcB!QO8Bw2b6A(N)+_Qq+=#;Z literal 0 HcmV?d00001 From 578a6d0d487b0fcf731048c662f15201987ba41e Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 31 Mar 2025 21:48:09 +0000 Subject: [PATCH 030/667] =?UTF-8?q?Add=20release=20tweet=20for=20v25.4.1?= =?UTF-8?q?=20-=20=F0=9F=94=80=20Workflows=20-=20automate=20device=20manag?= =?UTF-8?q?ement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/tweet.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .github/tweet.md diff --git a/.github/tweet.md b/.github/tweet.md new file mode 100644 index 00000000..3ce4a717 --- /dev/null +++ b/.github/tweet.md @@ -0,0 +1,2 @@ +🎉 New release: **v25.4.1 - 🔀 Workflows - automate device management ** is live! 🚀 +Check it out here: https://github.com/jokob-sk/NetAlertX/releases/tag/v25.4.1 From 46a8bb66e7ff48c01070550b224f51f5f4a5878c Mon Sep 17 00:00:00 2001 From: Sylvain Pichon Date: Tue, 1 Apr 2025 06:29:17 +0200 Subject: [PATCH 031/667] Translated using Weblate (French) Currently translated at 100.0% (743 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/fr/ --- front/php/templates/language/fr_fr.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) mode change 100755 => 100644 front/php/templates/language/fr_fr.json diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100755 new mode 100644 index e931ecb4..6b5bd729 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -683,15 +683,15 @@ "WF_Condition_value": "Valeur", "WF_Conditions": "Conditions", "WF_Conditions_logic_rules": "Règles logiques", - "WF_Duplicate": "", + "WF_Duplicate": "Dupliquer le workflow", "WF_Enabled": "Workflow activé", - "WF_Export": "", - "WF_Export_Copy": "", - "WF_Import": "", - "WF_Import_Copy": "", + "WF_Export": "Exporter le workflow", + "WF_Export_Copy": "Copier le workflow ci-dessous pour pouvoir l'importer au besoin.", + "WF_Import": "Importer un workflow", + "WF_Import_Copy": "Coller le workflow précédemment copié.", "WF_Name": "Nom du workflow", "WF_Remove": "Supprimer le workflow", - "WF_Remove_Copy": "", + "WF_Remove_Copy": "Voulez-vous supprimer ce workflow ?", "WF_Save": "Enregistrer les workflows", "WF_Trigger": "Déclencheur", "WF_Trigger_event_type": "Type d'événement", @@ -742,4 +742,4 @@ "settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. Il n'y a pas de pas de contrôle.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage." -} \ No newline at end of file +} From 2889be28e426a14f30dccd6223c3343b2ba1c5ae Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 3 Apr 2025 07:51:59 +1100 Subject: [PATCH 032/667] wf work --- README.md | 4 +++ docs/DOCKER_COMPOSE.md | 7 +---- docs/HOME_ASSISTANT.md | 2 +- docs/INSTALLATION.md | 2 +- docs/SYNOLOGY_GUIDE.md | 2 +- docs/WORKFLOWS.md | 6 +++-- docs/WORKFLOWS_DEBUGGING.md | 34 ++++++++++++++++++++++++ docs/img/WORKFLOWS/trigger.jpg | Bin 0 -> 6854 bytes front/css/app.css | 5 ++++ front/php/templates/language/uk_ua.json | 0 front/workflowsCore.php | 24 +++++++++-------- mkdocs.yml | 1 + server/database.py | 16 ++++++++++- server/workflows/conditions.py | 8 +++--- server/workflows/manager.py | 2 ++ server/workflows/triggers.py | 5 +++- 16 files changed, 89 insertions(+), 29 deletions(-) create mode 100755 docs/WORKFLOWS_DEBUGGING.md create mode 100755 docs/img/WORKFLOWS/trigger.jpg mode change 100644 => 100755 front/php/templates/language/uk_ua.json diff --git a/README.md b/README.md index 2724ec15..cb75bf65 100755 --- a/README.md +++ b/README.md @@ -41,6 +41,10 @@ Send notifications to more than 80+ services, including Telegram via [Apprise](h Feed your data and device changes into [Home Assistant](https://github.com/jokob-sk/NetAlertX/blob/main/docs/HOME_ASSISTANT.md), read [API endpoints](https://github.com/jokob-sk/NetAlertX/blob/main/docs/API.md), or use [Webhooks](https://github.com/jokob-sk/NetAlertX/blob/main/docs/WEBHOOK_N8N.md) to setup custom automation flows. You can also build your own scanners with the [Plugin system](https://github.com/jokob-sk/NetAlertX/tree/main/docs/PLUGINS.md#readme) in as little as [15 minutes](https://www.youtube.com/watch?v=cdbxlwiWhv8). +### Workflows + +The [workflows module](https://github.com/jokob-sk/NetAlertX/blob/main/docs/WORKFLOWS.md) in NetAlertX allows to automate repetitive tasks, making network management more efficient. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete devices, this module provides the flexibility to tailor the automations to your needs. + ## 📚 Documentation diff --git a/docs/DOCKER_COMPOSE.md b/docs/DOCKER_COMPOSE.md index a2eb10fc..ab45863d 100755 --- a/docs/DOCKER_COMPOSE.md +++ b/docs/DOCKER_COMPOSE.md @@ -1,7 +1,7 @@ # `docker-compose.yaml` Examples > [!NOTE] -> The container needs to run in `network_mode:"host"`. +> The container needs to run in `network_mode:"host"`. This also means that not all functionality is supported on a Widndows host as Docker for Windows doesn't support this networking option. ### Example 1 @@ -122,7 +122,6 @@ services: environment: - TZ=Europe/London - PORT=20211 - # network_mode: host networks: - outside deploy: @@ -130,10 +129,6 @@ services: replicas: 1 restart_policy: condition: on-failure - # placement: # ✅ Placement is now correctly inside deploy - # constraints: - # - node.role == manager - # - node.labels.device == NUC2 networks: outside: diff --git a/docs/HOME_ASSISTANT.md b/docs/HOME_ASSISTANT.md index 2fbf29ae..15316e52 100755 --- a/docs/HOME_ASSISTANT.md +++ b/docs/HOME_ASSISTANT.md @@ -3,7 +3,7 @@ NetAlertX comes with MQTT support, allowing you to show all detected devices as devices in Home Assistant. It also supplies a collection of stats, such as number of online devices. > [!TIP] -> You can install NetAlertX also as a Home Assistant addon [![Home Assistant](https://img.shields.io/badge/Repo-blue?logo=home-assistant&style=for-the-badge&color=0aa8d2&logoColor=fff&label=Add)](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons) via the [alexbelgium/hassio-addons](https://github.com/alexbelgium/hassio-addons/). This is only possible if you run a supervised instance of Home Assistant. If not, you can still run NetAlertX in a separate Docker container and follow this guide to configure MQTT. +> You can install NetAlertX also as a Home Assistant addon [![Home Assistant](https://img.shields.io/badge/Repo-blue?logo=home-assistant&style=for-the-badge&color=0aa8d2&logoColor=fff&label=Add)](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons) via the [alexbelgium/hassio-addons](https://github.com/alexbelgium/hassio-addons/) repository. This is only possible if you run a supervised instance of Home Assistant. If not, you can still run NetAlertX in a separate Docker container and follow this guide to configure MQTT. ## ⚠ Note diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index 92bd6a44..8cb13f86 100755 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -2,7 +2,7 @@ ## Installation options -NetAlertX can be installed several ways. The best supported option is Docker, followed by a supervised the Home Assistant instance, as an Unraid app and lastly on bare metal. +NetAlertX can be installed several ways. The best supported option is Docker, followed by a supervised Home Assistant instance, as an Unraid app, and lastly, on bare metal. - [[Installation] Docker (recommended)](https://github.com/jokob-sk/NetAlertX/blob/main/dockerfiles/README.md) - [[Installation] Home Assistant](https://github.com/alexbelgium/hassio-addons/tree/master/netalertx) diff --git a/docs/SYNOLOGY_GUIDE.md b/docs/SYNOLOGY_GUIDE.md index 15b38a38..4b6418b5 100755 --- a/docs/SYNOLOGY_GUIDE.md +++ b/docs/SYNOLOGY_GUIDE.md @@ -51,7 +51,7 @@ services: ![Project settings](./img/SYNOLOGY/07_Create_project.png) -7. Replace the paths to your volume and/or comment out unnecessary line(s): +7. Replace the paths to your volume and comment out unnecessary line(s): - This is only an example, your paths will differ. diff --git a/docs/WORKFLOWS.md b/docs/WORKFLOWS.md index 059b6a79..3205e44d 100755 --- a/docs/WORKFLOWS.md +++ b/docs/WORKFLOWS.md @@ -15,6 +15,8 @@ Below are a few examples that demonstrate how this module can be used to simplif ### Triggers +![Trigger example](./img/WORKFLOWS/trigger.jpg) + Triggers define the event that activates a workflow. They monitor changes to objects within the system, such as updates to devices or the insertion of new entries. When the specified event occurs, the workflow is executed. #### Example Trigger: @@ -32,7 +34,7 @@ Conditions determine whether a workflow should proceed based on certain criteria > [!TIP] > To better understand how to use specific Device fields, please read through the [Database overview](./DATABASE.md) guide. -### Example Condition: +#### Example Condition: - **Logic**: `AND` - **Field**: `devVendor` - **Operator**: `contains` (case in-sensitive) @@ -48,7 +50,7 @@ Actions define the tasks that the workflow will perform once the conditions are You can include multiple actions that should execute once the conditions are met. -### Example Action: +#### Example Action: - **Action Type**: `update_field` - **Field**: `devIsNew` - **Value**: `0` diff --git a/docs/WORKFLOWS_DEBUGGING.md b/docs/WORKFLOWS_DEBUGGING.md new file mode 100755 index 00000000..dbcdf85d --- /dev/null +++ b/docs/WORKFLOWS_DEBUGGING.md @@ -0,0 +1,34 @@ +# Workflows debugging and troubleshooting + +> [!TIP] +> Before troubleshooting, please ensure you have [Debugging enabled](./DEBUG_TIPS.md). + +Workflows are triggered by various events. These events are captured and listed in the _Integrations -> App Events_ section of the application. + +## Troubleshooting triggers + +> [!NOTE] +> Workflow events are processed once every 5 seconds. However, if a scan or other background tasks are running, this can cause a delay up to a few minutes. + +If an event doesn't trigger a workflow as expected, check the _App Events_ section for the event. You can filter these by the ID of the device (`devMAC` or `devGUID`). + +Once you find the _Event Guid_ and _Object GUID_, use them to find relevant debug entries. + +Navigate to _Mainetenace -> Logs_ where you can filter the logs based on the _Event or Object GUID_. + +Below you can find some example `app.log` entries that will help you understand why a Workflow was or was not triggered. + +```bash +16:27:03 [WF] Checking if '13f0ce26-1835-4c48-ae03-cdaf38f328fe' triggers the workflow 'Sample Device Update Workflow' +16:27:03 [WF] self.triggered 'False' for event '[[155], ['13f0ce26-1835-4c48-ae03-cdaf38f328fe'], [0], ['2025-04-02 05:26:56'], ['Devices'], ['050b6980-7af6-4409-950d-08e9786b7b33'], ['DEVICES'], ['00:11:32:ef:a5:6c'], ['192.168.1.82'], ['050b6980-7af6-4409-950d-08e9786b7b33'], [None], [0], [0], ['devPresentLastScan'], ['online'], ['update'], [None], [None], [None], [None]] and trigger {"object_type": "Devices", "event_type": "insert"}' +16:27:03 [WF] Checking if '13f0ce26-1835-4c48-ae03-cdaf38f328fe' triggers the workflow 'Location Change' +16:27:03 [WF] self.triggered 'True' for event '[[155], ['13f0ce26-1835-4c48-ae03-cdaf38f328fe'], [0], ['2025-04-02 05:26:56'], ['Devices'], ['050b6980-7af6-4409-950d-08e9786b7b33'], ['DEVICES'], ['00:11:32:ef:a5:6c'], ['192.168.1.82'], ['050b6980-7af6-4409-950d-08e9786b7b33'], [None], [0], [0], ['devPresentLastScan'], ['online'], ['update'], [None], [None], [None], [None]] and trigger {"object_type": "Devices", "event_type": "update"}' +16:27:03 [WF] Event with GUID '13f0ce26-1835-4c48-ae03-cdaf38f328fe' triggered the workflow 'Location Change' +``` + +Note how one trigger executed, but the other didn't based on different `"event_type"` values. One is `"event_type": "insert"`, the other `"event_type": "update"`. + +Given the Event is a update event (note `...['online'], ['update'], [None]...` in the event structure), the `"event_type": "insert"` trigger didn't execute. + + + diff --git a/docs/img/WORKFLOWS/trigger.jpg b/docs/img/WORKFLOWS/trigger.jpg new file mode 100755 index 0000000000000000000000000000000000000000..f04a196ff8e9254a92d1759f011ebbe6d6c44664 GIT binary patch literal 6854 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 H{qBDNK~X@F literal 0 HcmV?d00001 diff --git a/front/css/app.css b/front/css/app.css index 9558c7a1..39cfb9fe 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -1857,6 +1857,11 @@ input[readonly] { padding: 5px; } +.workflows +{ + max-width: 800px; +} + .workflows .col-sm-12, .workflows .col-sx-12 { padding-right: 5px; diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100644 new mode 100755 diff --git a/front/workflowsCore.php b/front/workflowsCore.php index 482621cf..b7aeed26 100755 --- a/front/workflowsCore.php +++ b/front/workflowsCore.php @@ -66,6 +66,18 @@ let actionTypes = [ "update_field", "delete_device" ]; +let emptyWorkflow = { + "name": "New Workflow", + "trigger": { + "object_type": "Devices", + "event_type": "insert" + }, + "conditions": [ + ], + "actions": [ + ] + }; + // -------------------------------------- // Retrieve and process the data function getData() { @@ -1073,17 +1085,7 @@ function updateWorkflowsJson(workflows) // Get empty workflow JSON function getEmptyWorkflowJson() { - return { - "name": "New Workflow", - "trigger": { - "object_type": "Devices", - "event_type": "create" - }, - "conditions": [ - ], - "actions": [ - ] - } + return emptyWorkflow; } // --------------------------------------------------- diff --git a/mkdocs.yml b/mkdocs.yml index d877579d..f198938d 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -61,6 +61,7 @@ nav: - Debugging Invalid JSON: DEBUG_INVALID_JSON.md - Debugging Plugins: DEBUG_PLUGINS.md - Debugging Web UI Port: WEB_UI_PORT_DEBUG.md + - Debugging Workflows: WORKFLOWS_DEBUGGING.md - Development: - Plugin and app development: - Environment Setup: DEV_ENV_SETUP.md diff --git a/server/database.py b/server/database.py index 8f09acd2..0db5a05b 100755 --- a/server/database.py +++ b/server/database.py @@ -75,7 +75,6 @@ class DB(): return arr - #------------------------------------------------------------------------------- def upgradeDB(self): """ @@ -929,4 +928,19 @@ def get_all_devices(db): return db.read(sql_devices_all) #------------------------------------------------------------------------------- + +def get_array_from_sql_rows(rows): + # Convert result into list of lists + arr = [] + for row in rows: + if isinstance(row, sqlite3.Row): + arr.append(list(row)) # Convert row to list + elif isinstance(row, (tuple, list)): + arr.append(list(row)) # Already iterable, just convert to list + else: + arr.append([row]) # Handle single values safely + + return arr + +#------------------------------------------------------------------------------- diff --git a/server/workflows/conditions.py b/server/workflows/conditions.py index c8ea4229..29522652 100755 --- a/server/workflows/conditions.py +++ b/server/workflows/conditions.py @@ -57,9 +57,7 @@ class ConditionGroup: def __init__(self, group_json): - mylog('none', ["[WF] json.dumps(group_json)"]) - mylog('none', [json.dumps(group_json)]) - mylog('none', [group_json]) + mylog('verbose', [f"[WF] ConditionGroup json.dumps(group_json): {json.dumps(group_json)}"]) self.logic = group_json.get("logic", "AND").upper() self.conditions = [] @@ -78,6 +76,6 @@ class ConditionGroup: elif self.logic == "OR": return any(results) else: - m = f"[WF] Unsupported logic: {self.logic}" - mylog('none', [m]) + m = f"[WF] ConditionGroup unsupported logic: {self.logic}" + mylog('verbose', [m]) raise ValueError(m) diff --git a/server/workflows/manager.py b/server/workflows/manager.py index 40e8f503..6fc061e7 100755 --- a/server/workflows/manager.py +++ b/server/workflows/manager.py @@ -57,6 +57,8 @@ class WorkflowManager: # Ensure workflow is enabled before proceeding if workflow.get("enabled", "No").lower() == "yes": + + mylog('debug', [f"[WF] Checking if '{event["GUID"]}' triggers the workflow '{workflow["name"]}'"]) # construct trigger object which also evaluates if the current event triggers it trigger = Trigger(workflow["trigger"], event, self.db) diff --git a/server/workflows/triggers.py b/server/workflows/triggers.py index f5f4be60..04024fe5 100755 --- a/server/workflows/triggers.py +++ b/server/workflows/triggers.py @@ -1,4 +1,5 @@ import sys +import json # Register NetAlertX directories INSTALL_PATH="/app" @@ -7,6 +8,7 @@ sys.path.extend([f"{INSTALL_PATH}/server"]) import conf from logger import mylog, Logger from helper import get_setting_value, timeNowTZ +from database import get_array_from_sql_rows # Make sure log level is initialized correctly Logger(get_setting_value('LOG_LEVEL')) @@ -27,7 +29,8 @@ class Trigger: self.event = event # Store the triggered event context, if provided self.triggered = self.object_type == event["ObjectType"] and self.event_type == event["AppEventType"] - mylog('verbose', [f"[WF] self.triggered '{self.triggered}'"]) + mylog('debug', [f"""[WF] self.triggered '{self.triggered}' for event '{get_array_from_sql_rows(event)} and trigger {json.dumps(triggerJson)}' """]) + if self.triggered: # object type corresponds with the DB table name From 6fb1547fc49bbae53c0ad18ea6ddb24c05917c4c Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 3 Apr 2025 07:52:50 +1100 Subject: [PATCH 033/667] wf work --- .github/tweet.md | 0 front/php/templates/language/fr_fr.json | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 .github/tweet.md mode change 100644 => 100755 front/php/templates/language/fr_fr.json diff --git a/.github/tweet.md b/.github/tweet.md old mode 100644 new mode 100755 diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100644 new mode 100755 From f83cdc766bc32fabf28769190bd522f8d158b878 Mon Sep 17 00:00:00 2001 From: Safeguard Date: Thu, 3 Apr 2025 11:34:41 +0200 Subject: [PATCH 034/667] Translated using Weblate (Russian) Currently translated at 100.0% (743 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ru/ --- front/php/templates/language/ru_ru.json | 66 ++++++++++++------------- 1 file changed, 33 insertions(+), 33 deletions(-) mode change 100755 => 100644 front/php/templates/language/ru_ru.json diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json old mode 100755 new mode 100644 index 278202c8..1635d84e --- a/front/php/templates/language/ru_ru.json +++ b/front/php/templates/language/ru_ru.json @@ -8,7 +8,7 @@ "About_Design": "Разработан:", "About_Exit": "Зарегистрироваться", "About_Title": "Сетевой сканер и система уведомлений", - "AppEvents_AppEventProcessed": "", + "AppEvents_AppEventProcessed": "Обработанный", "AppEvents_DateTimeCreated": "Журнал", "AppEvents_Extra": "Дополнительно", "AppEvents_GUID": "GUID события приложения", @@ -22,7 +22,7 @@ "AppEvents_ObjectPlugin": "Связанный плагин", "AppEvents_ObjectPrimaryID": "Первичный ID", "AppEvents_ObjectSecondaryID": "Вторичный ID", - "AppEvents_ObjectStatus": "Состояние (во время входа в систему)", + "AppEvents_ObjectStatus": "Зарегистрированный статус", "AppEvents_ObjectStatusColumn": "Колонка состояния", "AppEvents_ObjectType": "Тип объекта", "AppEvents_Plugin": "Плагин", @@ -225,7 +225,7 @@ "Device_TableHead_Name": "Имя", "Device_TableHead_NetworkSite": "Сайт устройства", "Device_TableHead_Owner": "Владелец", - "Device_TableHead_Parent_MAC": "MAC род. узла", + "Device_TableHead_Parent_MAC": "Родительский узел сети", "Device_TableHead_Port": "Порт", "Device_TableHead_PresentLastScan": "Присутствие", "Device_TableHead_RowID": "ID строки", @@ -363,8 +363,8 @@ "Maintenance_Title": "Инструменты обслуживания", "Maintenance_Tool_DownloadConfig": "Экспорт настроек", "Maintenance_Tool_DownloadConfig_text": "Загрузите полную резервную копию конфигурации настроек, хранящуюся в файле app.conf.", - "Maintenance_Tool_DownloadWorkflows": "", - "Maintenance_Tool_DownloadWorkflows_text": "", + "Maintenance_Tool_DownloadWorkflows": "Экспорт Workflow", + "Maintenance_Tool_DownloadWorkflows_text": "Загрузите полную резервную копию ваших Workflow, хранящихся в файле hairpflows.json .", "Maintenance_Tool_ExportCSV": "Экспорт устройств (csv)", "Maintenance_Tool_ExportCSV_noti": "Экспорт устройств (csv)", "Maintenance_Tool_ExportCSV_noti_text": "Вы уверены, что хотите создать файл CSV?", @@ -463,7 +463,7 @@ "NETWORK_DEVICE_TYPES_description": "Какие типы устройств разрешено использовать в качестве сетевых устройств в представлении Сеть. Тип устройства должен точно соответствовать настройке Type для конкретного устройства в сведениях об устройстве. Добавьте его на устройство с помощью кнопки +. Не удаляйте существующие типы, а только добавляйте новые.", "NETWORK_DEVICE_TYPES_name": "Типы сетевых устройств", "Navigation_About": "О NetAlertX", - "Navigation_AppEvents": "", + "Navigation_AppEvents": "События приложения", "Navigation_Devices": "Устройства", "Navigation_Donations": "Пожертвования", "Navigation_Events": "События", @@ -670,32 +670,32 @@ "UI_REFRESH_name": "Автоматическое обновление интерфейса", "VERSION_description": "Вспомогательное значение версии или метки времени, позволяющее проверить, было ли приложение обновлено.", "VERSION_name": "Версия или временная метка", - "WF_Action_Add": "", - "WF_Action_field": "", - "WF_Action_type": "", - "WF_Action_value": "", - "WF_Actions": "", - "WF_Add": "", - "WF_Add_Condition": "", - "WF_Add_Group": "", - "WF_Condition_field": "", - "WF_Condition_operator": "", - "WF_Condition_value": "", - "WF_Conditions": "", - "WF_Conditions_logic_rules": "", - "WF_Duplicate": "", - "WF_Enabled": "", - "WF_Export": "", - "WF_Export_Copy": "", - "WF_Import": "", - "WF_Import_Copy": "", - "WF_Name": "", - "WF_Remove": "", - "WF_Remove_Copy": "", - "WF_Save": "", - "WF_Trigger": "", - "WF_Trigger_event_type": "", - "WF_Trigger_type": "", + "WF_Action_Add": "Добавить действие", + "WF_Action_field": "Поле", + "WF_Action_type": "Тип", + "WF_Action_value": "Значение", + "WF_Actions": "Действия", + "WF_Add": "Добавить Workflow", + "WF_Add_Condition": "Добавить условие", + "WF_Add_Group": "Добавить группу", + "WF_Condition_field": "Поле", + "WF_Condition_operator": "Оператор", + "WF_Condition_value": "Значение", + "WF_Conditions": "Условия", + "WF_Conditions_logic_rules": "Правила логики", + "WF_Duplicate": "Дублировать Workflow", + "WF_Enabled": "Включить Workflow", + "WF_Export": "Экспорт Workflow", + "WF_Export_Copy": "Скопируйте приведенный ниже Workflow и импортируйте его, где это необходимо.", + "WF_Import": "Импорт Workflow", + "WF_Import_Copy": "Вставьте в Workflow, который вы скопировали ранее.", + "WF_Name": "Имя Workflow", + "WF_Remove": "Удалить Workflow", + "WF_Remove_Copy": "Вы хотите удалить этот Workflow?", + "WF_Save": "Сохранить Workflow", + "WF_Trigger": "Триггер", + "WF_Trigger_event_type": "Тип события", + "WF_Trigger_type": "Тип триггера", "add_icon_event_icon": "fa-square-plus", "add_icon_event_tooltip": "Добавить новую иконку", "add_option_event_icon": "fa-square-plus", @@ -742,4 +742,4 @@ "settings_update_item_warning": "Обновить значение ниже. Будьте осторожны, следуя предыдущему формату. Проверка не выполняется.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Сначала сохраните изменения, прежде чем проверять настройки." -} \ No newline at end of file +} From befb58619b3b791c0ab68a3ceb137d8673962ce2 Mon Sep 17 00:00:00 2001 From: Safeguard Date: Thu, 3 Apr 2025 19:58:50 +0200 Subject: [PATCH 035/667] Translated using Weblate (Russian) Currently translated at 100.0% (743 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ru/ --- front/php/templates/language/ru_ru.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json index 1635d84e..bc1b3e83 100644 --- a/front/php/templates/language/ru_ru.json +++ b/front/php/templates/language/ru_ru.json @@ -70,7 +70,7 @@ "DevDetail_Copy_Device_Tooltip": "Скопируйте данные с устройства из раскрывающегося списка. Все на этой странице будет перезаписано", "DevDetail_CustomProperties_Title": "Пользовательские свойства", "DevDetail_CustomProps_reset_info": "Это удалит ваши пользовательские свойства на этом устройстве и вернет их к значению по умолчанию.", - "DevDetail_DisplayFields_Title": "Дисплей", + "DevDetail_DisplayFields_Title": "Отображение", "DevDetail_EveandAl_AlertAllEvents": "Оповещения о событиях", "DevDetail_EveandAl_AlertDown": "Оповещение о доступности", "DevDetail_EveandAl_Archived": "Архив", From 599603d9ff048be8b703e0b5ee0c7efeaae67724 Mon Sep 17 00:00:00 2001 From: Joseba Fuentes Date: Fri, 4 Apr 2025 10:25:41 +0200 Subject: [PATCH 036/667] Update manager.py --- server/workflows/manager.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/workflows/manager.py b/server/workflows/manager.py index 6fc061e7..99878c96 100755 --- a/server/workflows/manager.py +++ b/server/workflows/manager.py @@ -50,7 +50,8 @@ class WorkflowManager: def process_event(self, event): """Process the events. Check if events match a workflow trigger""" - mylog('verbose', [f"[WF] Processing event with GUID {event["GUID"]}"]) + guid = event["GUID"] + mylog('verbose', [f"[WF] Processing event with GUID {guid}"]) # Check if the trigger conditions match for workflow in self.workflows: From a12da278c62e5019cc61a818d9d4aef2e993618d Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sat, 5 Apr 2025 08:04:31 +1100 Subject: [PATCH 037/667] docs + #1042 --- .github/workflows/code_checks.yml | 5 ++ docs/DEBUG_PLUGINS.md | 2 +- docs/LOGGING.md | 26 ++++++++++ docs/NAME_RESOLUTION.md | 47 ++++++++++++++++++ .../LOGGING/logging_integrations_plugins.png | Bin 0 -> 112798 bytes docs/img/LOGGING/maintenance_logs.png | Bin 0 -> 95605 bytes .../name_res_nslookup_timeout.png | Bin 0 -> 14907 bytes front/php/templates/language/ru_ru.json | 0 front/plugins/omada_sdn_imp/omada_sdn.py | 6 ++- mkdocs.yml | 4 +- server/workflows/manager.py | 15 +++--- 11 files changed, 95 insertions(+), 10 deletions(-) create mode 100755 docs/LOGGING.md create mode 100755 docs/NAME_RESOLUTION.md create mode 100755 docs/img/LOGGING/logging_integrations_plugins.png create mode 100755 docs/img/LOGGING/maintenance_logs.png create mode 100755 docs/img/NAME_RESOLUTION/name_res_nslookup_timeout.png mode change 100644 => 100755 front/php/templates/language/ru_ru.json diff --git a/.github/workflows/code_checks.yml b/.github/workflows/code_checks.yml index b3a35d0c..70a5a6ec 100755 --- a/.github/workflows/code_checks.yml +++ b/.github/workflows/code_checks.yml @@ -25,4 +25,9 @@ jobs: else echo "✅ No absolute path URLs found." fi + - name: Check Python syntax + run: | + set -e + echo "🔍 Checking Python syntax..." + find . -name "*.py" -print0 | xargs -0 -n1 python3 -m py_compile diff --git a/docs/DEBUG_PLUGINS.md b/docs/DEBUG_PLUGINS.md index 33bc541b..5df99769 100755 --- a/docs/DEBUG_PLUGINS.md +++ b/docs/DEBUG_PLUGINS.md @@ -2,7 +2,7 @@ ## High-level overview -If a Plugin supplies data to the main app it's doine either vie a SQL query or via a script that updates the `last_result.log` file in the plugin folder (`front/plugins/`). +If a Plugin supplies data to the main app it's done either vie a SQL query or via a script that updates the `last_result.log` file in the plugin log folder (`app/log/plugins/`). For a more in-depth overview on how plugins work check the [Plugins development docs](https://github.com/jokob-sk/NetAlertX/blob/main/docs/PLUGINS.md). diff --git a/docs/LOGGING.md b/docs/LOGGING.md new file mode 100755 index 00000000..8be0cc82 --- /dev/null +++ b/docs/LOGGING.md @@ -0,0 +1,26 @@ +# Logging + +NetAlertX comes with several logs that help to identify application issues. + +For plugin-specific log debugging, please read the [Debug Plugins](./DEBUG_PLUGINS.md) guide. + +When debugging any issue, increase the `LOG_LEVEL` Setting as per the [Debug tips](./DEBUG_TIPS.md) documentation. + + +## Main logs + +You can find most of the logs exposed in the UI under _Maintenance -> Logs_. + +If the UI is inaccessible, you can access them under `/app/log`. + +![Logs](./img/LOGGING/maintenance_logs.png) + +In the _Maintennace -> Logs_ you can **Purge logs**, download the full log file or Filter the lines with some substring to narrow down your search. + +## Plugin logging + +If a Plugin supplies data to the main app it's done either vie a SQL query or via a script that updates the `last_result.log` file in the plugin log folder (`app/log/plugins/`). These files are processed at the end of the scan and deleted on successful processing. + +The data is in most of the cases then displayed in the application under _Integrations -> Plugins_ (or _Device -> Plugins_ if the plugin is supplying device-specific data). + +![Plugin objects](./img/LOGGING/logging_integrations_plugins.png) diff --git a/docs/NAME_RESOLUTION.md b/docs/NAME_RESOLUTION.md new file mode 100755 index 00000000..19cb103d --- /dev/null +++ b/docs/NAME_RESOLUTION.md @@ -0,0 +1,47 @@ +# NAME RESOLUTION + +Name resolution in NetAlertX relies on multiple plugins to resolve device names from IP addresses. If you are seeing `(name not found)` as device names, follow these steps to diagnose and fix the issue. + +## Required Plugins + +For best results, ensure the following name resolution plugins are enabled: + +- **AVAHISCAN** – Uses mDNS/Avahi to resolve local network names. +- **NBTSCAN** – Queries NetBIOS to find device names. +- **NSLOOKUP** – Performs standard DNS lookups. + +You can check which plugins are active in your _Settings_ section and enable any that are missing. + +There are other plugins that can supply device names as well, but they rely on bespoke hardware and services. See [Plugins overview](./PLUGINS.md) for details and look for plugins with name discovery (🆎) features. + +## Checking Logs + +If names are not resolving, check the logs for errors or timeouts. + +See how to explore logs in the [Logging guide](./LOGGING.md). + +Logs will show which plugins attempted resolution and any failures encountered. + +## Adjusting Timeout Settings + +If resolution is slow or failing due to timeouts, increase the timeout settings in your configuration, for example. + +```ini +NSLOOKUP_RUN_TIMEOUT = 30 +``` + +Raising the timeout may help if your network has high latency or slow DNS responses. + +## Checking Plugin Objects + +Each plugin stores results in its respective object. You can inspect these objects to see if they contain valid name resolution data. + +See [Logging guide](./LOGGING.md) and [Debug plugins](./DEBUG_PLUGINS.md) guides for details. + +If the object contains no results, the issue may be with DNS settings or network access. + +## Improving name resolution + +For more details how to improve name resolution refer to the +[Reverse DNS Documentation](./REVERSE_DNS.md). + diff --git a/docs/img/LOGGING/logging_integrations_plugins.png b/docs/img/LOGGING/logging_integrations_plugins.png new file mode 100755 index 0000000000000000000000000000000000000000..a2976cfae284d732b1a5b4346d645ff2b6a49b4e GIT binary patch literal 112798 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 badGz`nv#4_y)@nA0QlUyqoq=)WEuEhoC(3j literal 0 HcmV?d00001 diff --git a/docs/img/LOGGING/maintenance_logs.png b/docs/img/LOGGING/maintenance_logs.png new file mode 100755 index 0000000000000000000000000000000000000000..f474fce991d28e5ba3e736b24f2d5d61ae772f49 GIT binary patch literal 95605 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%0A&PG;AO$z7_9{_*c%68r(C- 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 literal 0 HcmV?d00001 diff --git a/docs/img/NAME_RESOLUTION/name_res_nslookup_timeout.png b/docs/img/NAME_RESOLUTION/name_res_nslookup_timeout.png new file mode 100755 index 0000000000000000000000000000000000000000..e650aa5d5611b5ed94223b9bbf6367845e0436ad GIT binary patch literal 14907 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 literal 0 HcmV?d00001 diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json old mode 100644 new mode 100755 diff --git a/front/plugins/omada_sdn_imp/omada_sdn.py b/front/plugins/omada_sdn_imp/omada_sdn.py index 16156907..5e3006e6 100755 --- a/front/plugins/omada_sdn_imp/omada_sdn.py +++ b/front/plugins/omada_sdn_imp/omada_sdn.py @@ -285,16 +285,18 @@ def main(): mylog("verbose", [f"[{pluginName}] login to omada result is: {omada_login}"]) clients_list = callomada(["-t", "myomada", "clients"]) + client_list_count = clients_list.count("\n") mylog( "verbose", - [f'[{pluginName}] clients found:"{clients_list.count("\n")}"\n{clients_list}'], + [f'[{pluginName}] clients found:"{client_list_count}"\n{clients_list}'], ) switches_and_aps = callomada(["-t", "myomada", "devices"]) + switches_and_aps_count = switches_and_aps.count("\n") mylog( "verbose", [ - f'[{pluginName}] omada devices (switches, access points) found:"{switches_and_aps.count("\n")}" \n {switches_and_aps}' + f'[{pluginName}] omada devices (switches, access points) found:"{switches_and_aps_count}" \n {switches_and_aps}' ], ) diff --git a/mkdocs.yml b/mkdocs.yml index f198938d..780a473c 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -35,7 +35,8 @@ nav: - Security: SECURITY.md - Advanced guides: - Remote Networks: REMOTE_NETWORKS.md - - Notifications Guide: NOTIFICATIONS.md + - Notifications Guide: NOTIFICATIONS.md + - Name Resolution: NAME_RESOLUTION.md - Authelia: AUTHELIA.md - Performance: PERFORMANCE.md - Reverse DNS: REVERSE_DNS.md @@ -57,6 +58,7 @@ nav: - Icons: ICONS.md - Network Topology: NETWORK_TREE.md - Troubleshooting: + - Inspecting Logs: LOGGING.md - Debugging Tips: DEBUG_TIPS.md - Debugging Invalid JSON: DEBUG_INVALID_JSON.md - Debugging Plugins: DEBUG_PLUGINS.md diff --git a/server/workflows/manager.py b/server/workflows/manager.py index 99878c96..7b3e85d4 100755 --- a/server/workflows/manager.py +++ b/server/workflows/manager.py @@ -50,23 +50,24 @@ class WorkflowManager: def process_event(self, event): """Process the events. Check if events match a workflow trigger""" - guid = event["GUID"] - mylog('verbose', [f"[WF] Processing event with GUID {guid}"]) + evGuid = event["GUID"] + + mylog('verbose', [f"[WF] Processing event with GUID {evGuid}"]) # Check if the trigger conditions match for workflow in self.workflows: # Ensure workflow is enabled before proceeding if workflow.get("enabled", "No").lower() == "yes": - - mylog('debug', [f"[WF] Checking if '{event["GUID"]}' triggers the workflow '{workflow["name"]}'"]) + wfName = workflow["name"] + mylog('debug', [f"[WF] Checking if '{evGuid}' triggers the workflow '{wfName}'"]) # construct trigger object which also evaluates if the current event triggers it trigger = Trigger(workflow["trigger"], event, self.db) if trigger.triggered: - mylog('verbose', [f"[WF] Event with GUID '{event["GUID"]}' triggered the workflow '{workflow["name"]}'"]) + mylog('verbose', [f"[WF] Event with GUID '{evGuid}' triggered the workflow '{wfName}'"]) self.execute_workflow(workflow, trigger) @@ -83,6 +84,8 @@ class WorkflowManager: def execute_workflow(self, workflow, trigger): """Execute the actions in the given workflow if conditions are met.""" + wfName = workflow["name"] + # Ensure conditions exist if not isinstance(workflow.get("conditions"), list): m = f"[WF] workflow['conditions'] must be a list" @@ -96,7 +99,7 @@ class WorkflowManager: if evaluator.evaluate(trigger): # If any group evaluates to True - mylog('none', [f"[WF] Workflow {workflow["name"]} will be executed - conditions were evaluated as TRUE"]) + mylog('none', [f"[WF] Workflow {wfName} will be executed - conditions were evaluated as TRUE"]) mylog('debug', [f"[WF] Workflow condition_group: {condition_group}"]) self.execute_actions(workflow["actions"], trigger) From 3ccb165658d925aebbcd809a7f402dac7c8c058b Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 6 Apr 2025 08:40:25 +1000 Subject: [PATCH 038/667] docs + code checks + deviceDetails delay --- .github/workflows/code_checks.yml | 2 +- docs/PLUGINS.md | 5 ++++- front/deviceDetailsEdit.php | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/code_checks.yml b/.github/workflows/code_checks.yml index 70a5a6ec..7dda0c13 100755 --- a/.github/workflows/code_checks.yml +++ b/.github/workflows/code_checks.yml @@ -1,4 +1,4 @@ -name: URL Path Check +name: Code checks on: push: branches: diff --git a/docs/PLUGINS.md b/docs/PLUGINS.md index ef764a6b..09c8aac6 100755 --- a/docs/PLUGINS.md +++ b/docs/PLUGINS.md @@ -22,6 +22,9 @@ NetAlertX supports additional plugins to extend its functionality, each with its Device-detecting plugins insert values into the `CurrentScan` database table. The plugins that are not required are safe to ignore, however, it makes sense to have at least some device-detecting plugins enabled, such as `ARPSCAN` or `NMAPDEV`. +> [!NOTE] +> See tables below for a description of what the icons in the below Plugins table mean. + | ID | Type | Description | Features | Required | Data source | Detailed docs | |---------------|---------|--------------------------------------------|----------|----------|--------------|---------------------------------------------------------------------| @@ -36,7 +39,7 @@ Device-detecting plugins insert values into the `CurrentScan` database table. T | `DHCPLSS` | 🔍/📥/🆎| Import devices from DHCP leases | | | Script | [dhcp_leases](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dhcp_leases/) | | `DHCPSRVS` | ♻ | DHCP servers | | | Script | [dhcp_servers](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dhcp_servers/) | | `FREEBOX` | 🔍/♻/🆎| Pull data and names from Freebox/Iliadbox | | | Script | [freebox](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/freebox/) | -| `ICMP` | 🔍 | ICMP (ping) status checker | | | Script | [icmp_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/icmp_scan/) | +| `ICMP` | ♻ | ICMP (ping) status checker | | | Script | [icmp_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/icmp_scan/) | | `INTRNT` | 🔍 | Internet IP scanner | | | Script | [internet_ip](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/internet_ip/) | | `INTRSPD` | ♻ | Internet speed test | | | Script | [internet_speedtest](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/internet_speedtest/) | | `IPNEIGH` | 🔍 | Scan ARP (IPv4) and NDP (IPv6) tables | | | Script | [ipneigh](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/ipneigh/) | diff --git a/front/deviceDetailsEdit.php b/front/deviceDetailsEdit.php index 47605d9c..01668d96 100755 --- a/front/deviceDetailsEdit.php +++ b/front/deviceDetailsEdit.php @@ -266,7 +266,7 @@ }) - }, 1); + }, 100); }); } @@ -338,6 +338,7 @@ // ----------------------------------------------------------------------------- + // Save device data to DB function setDeviceData(direction = '', refreshCallback = '') { // Check MAC if (mac === '') { From 40e090c5c6d46e6236e4edf6ba0b1344d24b9cfb Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 6 Apr 2025 09:38:23 +1000 Subject: [PATCH 039/667] docs --- docs/NAME_RESOLUTION.md | 2 +- docs/PLUGINS.md | 54 +++++++++--------- docs/WEB_UI_PORT_DEBUG.md | 14 ++--- docs/WORKFLOWS_DEBUGGING.md | 4 ++ docs/img/PLUGINS/loaded_plugins_setting.png | Bin 0 -> 79131 bytes .../WORKFLOWS/workflows_app_events_search.png | Bin 0 -> 170440 bytes docs/img/WORKFLOWS/workflows_logs_search.png | Bin 0 -> 167576 bytes front/plugins/omada_sdn_imp/README.md | 4 +- 8 files changed, 41 insertions(+), 37 deletions(-) create mode 100755 docs/img/PLUGINS/loaded_plugins_setting.png create mode 100755 docs/img/WORKFLOWS/workflows_app_events_search.png create mode 100755 docs/img/WORKFLOWS/workflows_logs_search.png diff --git a/docs/NAME_RESOLUTION.md b/docs/NAME_RESOLUTION.md index 19cb103d..dd8a5fec 100755 --- a/docs/NAME_RESOLUTION.md +++ b/docs/NAME_RESOLUTION.md @@ -1,4 +1,4 @@ -# NAME RESOLUTION +# Device Name Resolution Name resolution in NetAlertX relies on multiple plugins to resolve device names from IP addresses. If you are seeing `(name not found)` as device names, follow these steps to diagnose and fix the issue. diff --git a/docs/PLUGINS.md b/docs/PLUGINS.md index 09c8aac6..adc986a4 100755 --- a/docs/PLUGINS.md +++ b/docs/PLUGINS.md @@ -8,23 +8,41 @@ NetAlertX supports additional plugins to extend its functionality, each with its ## ⚡ Quick start > [!TIP] -> You can load additional Plugins via the General -> `LOADED_PLUGINS` setting. +> You can load additional Plugins via the General -> `LOADED_PLUGINS` setting. You need to save the settings for the new plugins to load (cahce/page relaod may be necessary). +> ![Loaded plugins settings](./img/PLUGINS/loaded_plugins_setting.png) -1. Pick your `🔍 dev scanner` plugin (e.g. `ARPSCAN` or `NMAPDEV`), or import devices into the application with an `📥 importer` plugin. (See **✅Enabling plugins** below) +1. Pick your `🔍 dev scanner` plugin (e.g. `ARPSCAN` or `NMAPDEV`), or import devices into the application with an `📥 importer` plugin. (See **Enabling plugins** below) 2. Pick a `▶️ publisher` plugin, if you want to send notifications. If you don't see a publisher you'd like to use, look at the [📚_publisher_apprise](/front/plugins/_publisher_apprise/) plugin which is a proxy for over 80 notification services. 3. Setup your [Network topology diagram](./NETWORK_TREE.md) 4. Fine-tune [Notifications](./NOTIFICATIONS.md) -5. [Backup your setup](./BACKUPS.md) -6. Contribute and [Create custom plugins](./PLUGINS_DEV.md) +5. Setup [Workflows](./WORKFLOWS.md) +6. [Backup your setup](./BACKUPS.md) +7. Contribute and [Create custom plugins](./PLUGINS_DEV.md) -## 📑 Available Plugins +## Plugin types + +| Plugin type | Icon | Description | When to run | Required | Data source [?](./PLUGINS_DEV.md) | +| -------------- | ---- | ---------------------------------------------------------------- | ----------------------------------- | -------- | ------------------------------------- | +| publisher | ▶️ | Sending notifications to services. | `on_notification` | ✖ | Script | +| dev scanner | 🔍 | Create devices in the app, manages online/offline device status. | `schedule` | ✖ | Script / SQLite DB | +| name discovery | 🆎 | Discovers names of devices via various protocols. | `before_name_updates`, `schedule` | ✖ | Script | +| importer | 📥 | Importing devices from another service. | `schedule` | ✖ | Script / SQLite DB | +| system | ⚙ | Providing core system functionality. | `schedule` / always on | ✖/✔ | Script / Template | +| other | ♻ | Other plugins | misc | ✖ | Script / Template | + +## Features + +| Icon | Description | +| ---- | ------------------------------------------------------------ | +| 🖧 | Auto-imports the network topology diagram | +| 🔄 | Has the option to sync some data back into the plugin source | + + +## Available Plugins Device-detecting plugins insert values into the `CurrentScan` database table. The plugins that are not required are safe to ignore, however, it makes sense to have at least some device-detecting plugins enabled, such as `ARPSCAN` or `NMAPDEV`. -> [!NOTE] -> See tables below for a description of what the icons in the below Plugins table mean. - | ID | Type | Description | Features | Required | Data source | Detailed docs | |---------------|---------|--------------------------------------------|----------|----------|--------------|---------------------------------------------------------------------| @@ -75,27 +93,9 @@ Device-detecting plugins insert values into the `CurrentScan` database table. T > ❌ marked for removal > ⌚It's recommended to use the same schedule interval for all plugins responsible for discovering new devices. -## Plugin types -| Plugin type | Icon | Description | When to run | Required | Data source [?](./PLUGINS_DEV.md) | -| -------------- | ---- | ---------------------------------------------------------------- | ----------------------------------- | -------- | ------------------------------------- | -| publisher | ▶️ | Sending notifications to services. | `on_notification` | ✖ | Script | -| dev scanner | 🔍 | Create devices in the app, manages online/offline device status. | `schedule` | ✖ | Script / SQLite DB | -| name discovery | 🆎 | Discovers names of devices via various protocols. | `before_name_updates`, `schedule` | ✖ | Script | -| importer | 📥 | Importing devices from another service. | `schedule` | ✖ | Script / SQLite DB | -| system | ⚙ | Providing core system functionality. | `schedule` / always on | ✖/✔ | Script / Template | -| other | ♻ | Other plugins | misc | ✖ | Script / Template | - -## Features - -| Icon | Description | -| ---- | ------------------------------------------------------------ | -| 🖧 | Auto-imports the network topology diagram | -| 🔄 | Has the option to sync some data back into the plugin source | - - -## ✅Enabling plugins +## Enabling plugins Plugins can be enabled via Settings, and can be disabled as needed. diff --git a/docs/WEB_UI_PORT_DEBUG.md b/docs/WEB_UI_PORT_DEBUG.md index 36b6af59..a1349f2a 100755 --- a/docs/WEB_UI_PORT_DEBUG.md +++ b/docs/WEB_UI_PORT_DEBUG.md @@ -2,15 +2,15 @@ ## 1. Port conflicts -When opening an issue please: +When opening an issue or debugging: 1. Include a screenshot of what you see when accessing `HTTP:///20211` (or your custom port) 1. [Follow steps 1, 2, 3, 4 on this page](./DEBUG_TIPS.md) 1. Execute the following in the container to see the processes and their ports and submit a screenshot of the result: - 1. `sudo apk add lsof` - 1. `sudo lsof -i` -1. Try running the `nginx` command in the container - 1. if you get `nginx: [emerg] bind() to 0.0.0.0:20211 failed (98: Address in use)` try using a different port number + - `sudo apk add lsof` + - `sudo lsof -i` +1. Try running the `nginx` command in the container: + - if you get `nginx: [emerg] bind() to 0.0.0.0:20211 failed (98: Address in use)` try using a different port number ![lsof ports](./img/WEB_UI_PORT_DEBUG/container_port.png) @@ -23,7 +23,7 @@ Check for browser console (F12 browser dev console) errors + check different bro Refresh the browser cache (usually shoft + refresh), try a private window, or different browsers. Please also refresh the app cache by clicking the 🔃 (reload) button in the header of the application. -## 4. Disable proxy +## 4. Disable proxies If you have any reverse proxy or similar, try disabling it. @@ -37,7 +37,7 @@ If you haven't, post your docker compose/run command. ## 7. Check for errors in your PHP/NGINX error logs -In the container execute: +In the container execute and investigate: `cat /var/log/nginx/error.log` diff --git a/docs/WORKFLOWS_DEBUGGING.md b/docs/WORKFLOWS_DEBUGGING.md index dbcdf85d..79eec5ba 100755 --- a/docs/WORKFLOWS_DEBUGGING.md +++ b/docs/WORKFLOWS_DEBUGGING.md @@ -12,10 +12,14 @@ Workflows are triggered by various events. These events are captured and listed If an event doesn't trigger a workflow as expected, check the _App Events_ section for the event. You can filter these by the ID of the device (`devMAC` or `devGUID`). +![App events search](./img/WORKFLOWS/workflows_app_events_search.png) + Once you find the _Event Guid_ and _Object GUID_, use them to find relevant debug entries. Navigate to _Mainetenace -> Logs_ where you can filter the logs based on the _Event or Object GUID_. +![Log events search](./img/WORKFLOWS/workflows_logs_search.png) + Below you can find some example `app.log` entries that will help you understand why a Workflow was or was not triggered. ```bash diff --git a/docs/img/PLUGINS/loaded_plugins_setting.png b/docs/img/PLUGINS/loaded_plugins_setting.png new file mode 100755 index 0000000000000000000000000000000000000000..6b3fd9988543c5d49af22d68fe32bc5c6b797c00 GIT binary patch literal 79131 zcmeFZRZv{twl5qY1PiVKf?M$59o*gB-MtBJL4sT3!4urwHMqOGG!Wd~zRo${*;V_$ zxpnX3eYjQYrPt^+SI?opA+tjjQbbV2P46%rE=@&rw#QyR(6ApM8K34f3P6+)^Cwxrevjuer`ygRjwpc!Bd7pO zOrsDNWQnZ?4>NZ$Pp$E?Uyn~stxUmSZp8Due)lQYn`tl7yWw>{VUR8rV<_nqf~F97 zFI}$oS~qg&W)N~V)=c2e)F1-W}x%)^MBIF%E~#F zC&i?ejSr_yu6Tu=ZxDD^-eTy0`%^i~zxwV`R?^O`xjr){(5glV-5xGf8=alU>HwSu z6HB#C?#{98#MgUp_2Ykuh7TgP+AUq%g68h;?xgP!w@nTbOQFZma9(4sUw*29e;DCu z6W(}xdyZWCqJnNCFgHgwNsU&u#N^p)@7z@L@xW+rA-mbl-7~fQ!E})g00f6jDfXw+ zC0!n`XuBM(G9ckHdNqlMwUWQa8wY6;LD8r(-KPGFF@EBOtQa^{lf(H+rFI{0KZDPP zog$V?*RTUgOuk_D8~@{h`n9MeZr5Xx1BvjRkzAqgh%8o@oJ6~;{fWHI(^C#V()K@{ zld!3bW&p^G)yiX+>WODEIc&8)d@%`;`SC@SZ6%n^a#@7MbdZ8vEGj;g(>|;|x_-Jy zQ#uUm6Pe{y9%v|uap)eI06br5oM!i`;)IHj{1%C_QZ1Iq7K^03+z>`UM4a?J8EEws ztg>I@yRbJfpgp@fixZ0^kShA7f|2!-r!#-cWi-f~W$~t8}9K-+eIF(&@O7^Ny8z^H8$lzMI z9PS4eoe#jr=}Thk4X&s{eZ1rzf!~8A1qR=c+vG@L(?As};s4D3;=R2;Ru*sQ*ItAN#P$tQlfTSdmScC@>j^e-;)mmgUA8yvTcY>=2g_O_e%p93J%pE7YW@k*nf9N~v+7W-$fg=%y8 zcn&t3afKrFa-0v>Mi=0D-}P_98NA$swdHMJ<^xB$JQCxX^yReJ>`94z&qD*P@ZKZ6 z=9mOJF(jBlFe`%vq(rTrttEQ+P((Mt-<_~ko;SpD0CW{QNDUsY9WpAQ2`1awhXMRexSZ%0RmOxi;u1XZ?lYU!^7pq6jK=nr1 zbg8zw)m)J&M!H@bka94WG7J}&P?XzxmLA}6nk5Z_x#M~+BfVZjOpB|6d7fMv$oo%3su{8o~hLGM0+#U`GJrtfItltkOX%Y>@VY|qM{4`(h+dlk*wJ$r$d4GCL204V*c{BO zr>8gB;7IPoGPpODPiZ3teM~B+-M|gM7n54?OliMj zwuiIjc$Oc%UKQ8i#i>DH<+{)Rg8kGn77+Gp)k>+7i_9l&^~v`$P5FQ-n8$?pV#aH{ zgRjqZj+cSghnfJVos!$ViHf_6-6R3tT+`8(Mv$a5$m>#cq}9(Mq1E#yBs#iWW!wRm zpEu8?ib(Nct|vV2(=iW#B%{NVqMpw_lStTea~i=rqaEv$j>KphFD_-Ucqb}#ro=1p zd5qCd1RL;e#ia`2`JwYW5{u=zyhn?*M2T3pG%roj{vHji>U@6&L-2B=tNLg1}H080JoQoyDf9V|*H2G1U8gOVCC0S@SaC~jY|J}HT?m<>|6 zo~(kL%tr^_jS%}g;QlXp^asMD967ZVR{l6Fg zgQfpFRtxxt5~>xemOK}VgmI!tCJA>liT-lUKz`ke8$+Y|i`r%24n3=qq55|lRd%1j z=%^==kOiZ2J*uo1tcrq{p(@iB=n~;>FiPUQ&|Y;&ooLM0z8RB7BZ?yQsXjOe$a2g- z$u~rzlw`Ys4^>eQif_P`p8Q2Ni42+S~C z+j$p)b?l+YxzTZhUf%|Qb;lgH)w$pQ*%AmcOh^0u!vtp<}tT#I|)$H zHSZJLcy-Cdlfww@AzJ--*Msv4mJ{$t4?zR8sern;1v7pKWDsHjFihC)&|Zn&5<+ij zfD}J}8z}!nSpWTzC=;Upedc}KlCK#+EE)t6OIk3`W4*F6iC-Tz1lXS~oXNdPr4ac> zCeDKzG&3Y#LP-$n_7J)~j$gUl{&7s+PH{jBFdm_msn6kmj^V7w#eCp z?^0KJyz&A!4v5)@1UuH}4Ulb6rWVZg%2t{UljAgBxR)s2k0Wt!}GLPJZW`?W1Z_l_GvOqR22CjosMiD z+1R@*LSvLz0W~z>fAb=?WW!oL9O*$eGF+7Kxi-_CPaFH8B;T#YLI{idLbnYiczB=o zia2=mMYnnk7cS#8RM@Jp>A0u@%9Owo?*h81V*g#8d9WdR)7{1V(a9>Xy zOsK=4XMPjPZtGHsQ$~q%C03C(#ovXL6M{%e?HV@MLw+{i1Xee7D_!k1?gDxhFZF7B zKX%`HIfF`I$;z6)3bjPppdlc!`?48zoj8eBVb5A;L^tgG$)jmhEP>h^cGH;JRS?{6 z3-MTTOMmXtv64;K}$Qk2eIl2VhsiS3iQo5BH(og#S+?2-*PDr{m?_`Q@Xme6kwy9)qA92DO39mReyH@ zUCK4eGBB*mV*k3AmRTSB8?k*pqObSdS(=RXpO|0R-& z@A)$yz1hD~{t1%kZK2h1uM1Z<~35oj1OAIzB>pZ0z9N?D4B;fJdYvc_X0J#sE&J_=;G|IxKt@yejAX} zcchZ}r?*S)Ta9SylnmmM1rIDKO7L=~VU?>IN1UR|+KdP0ZA9u}F96hArZLG&ya*}_ zm@!J1n{xc)f(qtEqMZ4|C~u=yO!wJ;8C#BMDaiXwR7xkvi9{n_E7_x9LHwYrPo?QU zjU4x{k@IAzVKe{raWhNmT~wDM3F}MfLH3pRWR22dd@EJnc^YWP>jz95&i6&98z0Yp zc;LAeqQB55RqW#nL8CmVi~Tkj(bej7!ihu!0246W+ron0$VR|FRVI;i5`V!aDA_kO zw!Mv(0Fmo-$;Av#SJ}I>E#s7S{pj~|tWBJX`-=7s1{IW=#HKHt9hgblk0A3#P&)6vY;d6_H{@2Ptx zvdL2VLG@`8ZHPt-%#!kL6U#&>J%#|8;`8UZI^qH&rmI+S1J;#6uLk&Gs$q=ymcIGL>YBHzf;YpK%z zL?v^wAbAN=l`pR()L=+#p1W+n@_5`LgDS}Ghbm7!#b4>c_^M2gPfOv^&2;Y3(bYS> zOQF+KL>63YBMst}?gom-#q1X{%syhXOYRp!vb+&JGOmwe7Znu2rL ze?#Os3G-QjIn0}%T`A=)L{CNTOiHF`#XH>q z6>0N7sSDGXGyA{;hWn?|x#G98lYy0utYa-a76!8qJINt2P-rdfM=___@7bqzd%GR*I(4&^=+Q#wWXoPAbNNj zfm!}~ywghZ||uj zc5h#UlO%qD)M)tlw6muUXO>sjQ*^+<;TH|1+x#3j@y;}RH5qif>k%9 z8cqIr?_%NA^&S7(OxjNq(O0RVk`SuVOp;8RdRsG*XXV^ptMYsg=V+k8(+_qx@{K&TjTe3`PZWd0Or z=6}QN2Prj?*Qhbce=Uy6n=kbh(Mgbu{>^|{<4ZzbrGEaKddu8mpP3l z`m0nU2s8sFU*6gLp9$D6N34TR)as0JML`IrTB;%1SIL@aN%()Zbc*-3g(xWGWF;J< z%{(^{b}do~29nvl8Pxulq+vx{9%xEy;1<$@GZ&w&#yp(@jLh- zEfJH{&NJVdMh0j8FPrR`lI>6`F9-8AX?S%CWgJIUx&Hs^cN&55O}uXbTDH6C+B1wW zW7rQ;X^}{tp~ZcpFPICEEr|IiwwVQW&DDfql zRf7X@)Ra6tJZd*z^wKDu%o;teiUR4V|EK;UA@w)81o=PYQRPxqGW<*L9c9)v2JAL# zz21tV$TwX7SrrxyMEk*E+eDqjKg*6xz!pE5D>Zmp-WGQCRDQWfK4-ri1F2he@2|#E zN=r1?9f7OI_>&%Pi23;d;@5B!4ly>XO`?!GrYUWS zN@47DxxPN%(;;i+GlN0v{l0-_wMS$cz*BA2?aBG>&sH=g8ylMzjGo&DY&xo7mDe3& zeWbAWP$EN8ws>??E2De{&t$Q=ygM2OnOeB0zrR1Y)YhZMC3{b7;PXG2|wuRn5|jAigD)!6_FHGZ~u z-8_*e@bm`pY`{A9uzp^&J7^N!eO~_^U@|kP3jA|wSTACvg$Zfc?D&*W%1g^QduT;B z9}v!k=bwZ$xVgwULu@M)ji36zE#40-4{<&8y)k6Lo*JvGt4d`$ngF-cisfcp_H0{v z=8H*clJPQK?k=KVFoWStZ8Wgw+eribvWekIj0h21u50e%y%8UZ{a0Y>$;6)@?=Djm z0It_*OE~UU9RlD#^KAiMe2+-V#4U+mYV4UFRR7FZI2xyg68iW&D>Z%nM1C3g{W~wz zNQidpG>!Mm)6I4}u@~Aw)8-(JtCxd~XcQF8yZ)J>r0wY+Q&q-&a!F4ik^LZ2<9B`) zp=Z(s80tKj*+Ds&n=MWc@SXl6;~PE=XG@>2GX zUu+AhjcW29=ww_yd$#!#>F#~1?knUjT!UnPIOJGy{TsWx)S4{jAnkhlfpl&~*BEav zFAC{ddJIBB`nhu5=yR12n1w2{1kWY{^-7^0iwwd7+~z5WT1QY3-99`VusSE*Ewb;; z))p(vqu3MM52R9;r|~&!Ie0f+?y==;$MSgHj@NWe#KH6)T^(?OcScfoE)Ex}LX(n` z(%KzJt5)31_Sr1SULvgRSDP#|oX$2Wr$%|kc&X>?bds`~Zzw#k4}k}xwvC>RfseP2ADi33H*2m^QE7l2@%rQQ z0rSk13L4i8!i>6JWtd(?u)q^GtxAj$q*EuaoY(!Mf5Wnwx0Ml6*gn6mFdR?=OJwr3 ze%)KvOf1(RRV`8h6)NjC@Arv;PviA<^l;V5#C7UE@g0Oo##k)o6rR;dNs$FtUv2Jj zlksUT?z>O|-QaGeYVl`G`;LUGbYEIAcN$$~glf1eGeL{o0!29tjHWP|Nh1Utq3m2u z3}Ncj^92BxEpqrg_A5@j}v%&r-)CQ5Zep(nB~5J#%Ao z@X*aK^9#0 z5N6@+kksaMQ})PmgnK6)sV@%N;$7KWYp{$fS*!TXlW*J?72C=G{p{U0jj38`b@$`O zWsE%U3+1sl4MW-Tz6D6!5j!7P%?E!92fyXFAuYjT)X`ANl`>uAH12&5@Hi}34`vp^ zg_OZ_xIt>ATX`~RY>LN4B%SBCZ_jtf%72R6ZijDlQQD@|Og6jPYqpxj?;`pC&n!SK zcq~(sU4Sw$AE^(@@h}i z-&T8*xm2$2dp|f;Df|?Q)&5?3u{%02tXaMNJD?!+31Z#MO&7aE`A&{nY#^8mhhL+B zVZ|jLk(K0Bnp~-b*e|u#)^4KTeq?HJr`Fpgct2c=qT7#0OVhTPsu`APR2tECti(Z@ zV?(CM{C*wtN^|2Eut-uNK@*Q>eZ-&(qOp#s7doaJP(0Kp+2j%I5zYXI6qQ2gT+1n{ zSSEcvWO0N<2JJd7+Q$0eM%{c;aNPwDgfyZTHxk z{Pkm{I-~=)qu3xdL#wJfFGE+XR+`AU=B3;=slauK4SQrc@v9L$lB!;2xpusFkA#R4 z_Fi3(=$F|@ie&Hm58K@Xn6Z*`2YDl@vJGL`P*Luu2fuohYOS#IFFI!2Y-jInV4ZR3 zlvH{q2()}95!B_=t_V2xTO#1wt9F0zio5LPk_Hm{-dlp7PTqTJ=RNYMj%M=PuR0+U zaKvwZ+41x9uqk-H%NPYMIPFL+ezp7+DAs80DdW^VTPB^vD9wRw3+Y~)>>Sdk8?#Sa zFlJjHAFpt;NY8a&9iT(kw@zfzk|gZm_7YoTtSbMeb@S!5ijSw!lWFIs9q@yJW4kQ* z)gf(pS7lnI|FR5e)|EC#_%MY4J!qVE$CA2SHkkINa^q&1Y7*&xRQ22HmRrx3C6J3p zi4btAJ5B2EE-cw2$4zYY;v25wMBQF6wI`3WdEvHPTywJk!4gk=p=ejSrAf)F=$h4L zab~iq_@7@O7G}Ef>pM_*SHKGk;tbjbMZq~&u{KS$OngKS)6<&V-kJkMiE5+ATsWoj zCVv)~<9?c_Ibdr7%&$tE+-Dz7?hrk`=5m`wE9(Orf*}D+Y#^Z@3MT92+w=arwl2K* zM&M5DF;gprwU0JkDu*45J9=4xptBruO_9~~OtHFr+Xvo7H{JJt=Em>{A-(A7wRJW3 zN?p%^oFHrwlt+n=Tn^uCroYtLEm2WQ$20T472j*cvAyXK3^2JVTcKLzkHas}ZTjPGsmpw!sTLoIlfuc*o={_U7|_ z*Q$p!-^(VFX^MWUzf_@Pv(%Tbe++hX;;14=Y~jr-Bj@;#IR$*a$^2lI#7!4o^LZ%! zQGWf7a$mG9`ig)v**$|#_?>$}FCLGZK}R4Td;+Xha-h}b(rEgZ!Mf5Vnd5g4Mohqt zX82WJraEuM+2Z0SMr_!Rk!G%Ba6-E8E{RFD`h4j)YmgzEPVDj}0@*gn5%Q{xqr%&U zJ0E9qyXvKI+MB&?f{6ITM7}>_OdORw3z^Xl{g3U=J8>du3;v9&{q^69JOGcY!`ui) zf)n_Xsj_`hSjRu#5JRtf6u}Oz#3E$yKGgE*D(Gi`>I{%DOs75{cHx(=ha^*Z@^MJJ zj1r%a`}{igAZ68%&{WmHJIE|Xu6c9@ZSP^k`_Fp|)xl944A>=!65sHb(E7`CT8%_d z;6X2Vk40^Lv;BBv#;Z)}rifb9fxDv& zEAd^oCv9=k`$yOWAQ*Sf)3$ra*Z{lCkT_ZutLgq2m17O7U$5#C?+@}iK%K<~8F_~D zpK(2u^^`zPvT30RMja2R8}n#@2*=H311v^v2* zTJ{AVvx5%rp9E(%-j`20db{ZH9Klt+00ix#bDJBbA}7zM@$2Pf9uh<$C%sc}p< z`;?y7$BIl9x=OWLs-JQ@rv@;oO?x2IKBwEPYvRVeQIRaW>7}@?C-B47f&uSRuG}?5 zlLwoK!uRr^+EO>OAq65Ujw15x(b3o}hm5ApC~gL7z;$RyV|7;cLZJzOlyi&mL5z=ht>FvlYBSPk6do&Sv@v*vmp`gAD zCJ*!8RD3KbQLoP!R)M0>`HtWg^7U|h;t@|S_sTE{1A)?3l3bUP$Qg_Hlu((TFxDw0bWHnvL7UL4)S0phT$+6x$J;Wpt+aH#UiH(@tBJGM)Ztx7JCo2 zN z9puIB(}JaD2-Up8YCZ~d{{_mP2-4lg6dKLENXCpz3_I6N^Pw8x6B~8W-xWg0f!mwdS5COrRguQl6b7tvH2E7Ez zLc2Xbdon*~=E5p}U3a#dd;+Z|?O^f}gqc)W4JmNPy+cIF)u$0Y-Vat8nE_@*5NKvG z*-+`Rf7`!FiLU1azsv1#`px6}L5!dfmkxnLx zRP1>{GxhOMZmvvO+Q}6RdV07X^1`;?BvUk@54tRDsd3ts177wkZXHK|Gzg6UsxD|5 z5JX&SxuWGWJLTsvTv44y_;i28o*~TKaEL7B_N_y8wGPu3b@cNp(bju)msCf~=2^{# zFmK*Ubbvui*U+0)@+5Ydtky8jQ?>bK*K%c0*K;7In=_lmIEfO8pafp00Gd{vQmdXr ze3iE&+oC~*@FBs~2q!4X5cxOE1|-Lh0+#c3B_9VA`x+y|ohx<`Zs3>>C9qOs|Av7H z;%jLnk^AXJ3nWSVnGnQ2e}1yALZB)$;#ru5pD4=)?yVzIEccc}!5jFbloJA+l#(F} ze)`0HebKSv)|d)&`<@5^{oQZj%#;Ha{}uDTjZkEnZu`!EX<`j& z9$@oNrLweqm0$8(dr~ZO|Cl59)5D=3T!8W|-+yPIp z9Jqt0NTczWN~w;jaR2BaV)_z1RAo799w79_`vG^U*nB_&8H&JaXOKWxpVQxx`f7f$ z%Cz`L=J6~NpVLiL$BhmE`x{XKXR`N)a-lG4YPglX%T~nYBkk5eHDGlg6gd2#v2{QmwGwU%(PYS^ zm*7@*YU&DSsyMXEZUuMPyir4w{L`H|avztO(fXRl1u{8MXX^Iw*{Ve*m5=v4m@I<2 z;VrpNZq=~^dx5^Z@3;>(Lpzkq4L+MqRKO_7E$v0XC0@BxGZ7 zi;)^miPYrZKC0=nlZ1o4WpqU%kF(1X?vNNzD2d;322QX;6@5R);#XSik}kmA24OOGi{3{H2oVy4POj=6CqJ4ZAvHQ8-I3 ze4$7Kk+vN1&5T(EHth^TdC{oRkK6;FTJ6J$=xpf9tyvbow==S2z^ypj`W8J2SiB8` zATY-|0Y5L0q|MpgRv01r3Ht7q>DbT@YH?!TI+w8w{^3IAYaS4JUS`|H^UX#uNVVl6 zY6qN*0g8h;(Yi#1W;u5viAV4!4&$DH%528i*BJp(qXS5;Ijp9~;Q_8}pD!T8Wis%I z)h=R~fW;d2fplNx&r_;`7I;E1zlU%#EVzpR5d8y>cdZgpUF?ib>Cnx{Xy6JhuKUfX zby>BkD2^qr^;~=PUHP}W-b8)F#o>|5JGe0rioeAIKzk|o*UjzpKRy+M*M^7?GO(SJ zVl$hIn6K8`0Hu3!Az?1QcJcCa5lL`{KaE}hJNuDY+EusXT6Z2RA_&S%a^cSxTBSsj zbvcO9_Yo_*DE+(E?MYj6qatM1YBhD2CG&EKW?phpdb|wA9I^>l)I{Iks|{(ZQ90l1 z=;_~vK6)^3Hh=87KICIv3kN=xx3B ze(_b{(_@#DTjOHdQ_f59_k2`mDk$%n9OMt0bw0+K6iLW&QYVz37HhrFRuw+5h-cRYi?P6z4 za5PeIn%u#yk;PgRQa$59;#9LNH}j3n7H{o=LnEfw*l&}!vl0Q^dlymZF{4C90YGXni-1UG&K4BsTwm%&89;iWga z3#NG80BhW_h;?k}pB1y44GpcipWEcOuUSg$)+~(qbJXNND3pdz<4=h)t~BB=$n~+u zrQM&{F)pJbb6jkzKFx8!jqkzWMoTnKJ%3f5!uhuOxu5kLmwj3cbijJr4%D}PC_y+$T6CN@u6qiy zZXUwlvGFD$o{waQ#E|HH1APh{R4*maxr04(djQ_R73cU|;u5hQh~>sKJ@?W0p*=jZ z-_P1Guw0|I6YM9MPwisRwulkkv;LVomcVqO@|WS2QSMJ_8eyp@d41%IMAbR$E5JtTMF|j>r;`zO_g7ls1#e zw47yrOQz#07$@y7zF1=!3Gb(X(YK|tF+rJP-M2G&vd`x>+H$k%StT$BNqaAGGe|Xt zG{~_BlajP*t%l^4^ZOaR*GQJ%ty0&e5zasLDgNU42}e&7_}=qC7J2B7QK|tNLoKM7 zv#)A<$fN?X0`4-s(q+XyC7C_^c(FbXf^hLpkOQkp%+Z7xV=OQ(5bwxvtS3#>L&bGR zU|hFM`IpYhEEgLJhtqh6YG5*GBJm66hX2^h@DY1vFyF2z3A%s~IV^~~TUktJVw6cy z$l&CT2jU(8$aBfKN8r5q5J>0ZuhU($)37wnuVZ>3x2~mPP&6_;TH~KJl@=8gT z;oW6VTm52UF!nV=9x0*@=<^zvB{Aj6?`Y-bI$ht1gtqK^2cJ++?`ot$QYSJv3<~o6 zne*)-_Ln|A$^4Uq_!OD>&zz%it=PmXA2Z3sw>sH#+$WlpIMf{r*_*00u86V3187~F zY*@~}`wsQSwG+ThpIvx;01gyzoD6LSSZ^;eOyzif=a`g+ji|@*rZt~2u+nMBGm%PI zT@Lprp137_Y(u2u9y?CjT*ydD>^a!G$`o}W>{SW+_O-Xd+xD5^6NsT?opr*{TDoWScH{Yi-*dDrrkTlF$YpKV|0p80&v2lnkF&)^sdRR7#QE&D8- zM{D-dG&?*1O^7*AGVDaskIb*}ggecW;jFxgAi zhr1459}2FII(R(t_4wTxy-_T$jQPorxkhW#EUO2jKk|e0T^M3BT}Ce~_#l(KB!t~; zNrxxF4p-&xV31GrSXUjJhPMI|SV3Eq?C*Dvv@N^Eu{=RAL8YZ$C`IJ--9^c;bzv&~kr;qQY)e&r| z9Z8*<8%7H*Ym>L%g> zG6*NAz8^7>0Kr2^oP)c!j*&JO4(#@M?~s>0?bn)YjY=E`VWeP2J}T(>I;>6UHXU)- zS>H-I%dXZ>2EG+==qRKIIBkz(k}#&`1Yl3guDCQIZZ;7VB5?=CDaexD7D+3DCWqr^)`dW{A2AHtE`%%wE}IS>Fvot<9-Qox$A3P3Vx7+Ns|?m{ z5?Ddtb^DWrAT1~ndIlcXJ@QMT7|k=u_MJ!1_-q|SWz>Ry^cDLdjqrMdmMgKYE$BU1 ziSq~z+u6k`R*Ko!9SEJQEUf1_5~457=0_gJkVw4M=AhV}q+lb0qLaz3&d7=jdVubO zE!S#YbffM`poUwVuWqIqP$`G0!F1QwvUZECZ;C&foMK0V#w>Y904dNZ1n0waCn{Ve zdlc}mmg%%v37J$>+xW7TWkXpJm-*{nHeKyYHP!4zfdqm%Xlg@L z=lVdca*GC0KdTTRXf$=Ug+L|hbwwQCY6AGASTD{iEpDoZ;Gf|H#TmlPG& z?9pP-AAFA=0ZyUh@@{xDC8}M7vdD@!q3KD5mG40?;=64{P82ecKbd7i!d-XvrpzO7 zky>JHR^J!Qtq@+DMDc_|!Xnx*2<@YK@lKIo6#3F8{?DO=8VB(1-7P|+NP*T1h;N7MyR zu0Om>qb+~RQRWXS(X5g^e$gQM+kU*qvO#+o-^7fmpbsYjR%>6`R^QdtwW?J^PMh2h zxI$8P9t=khRh@9cTBXEz1M31CR6d*iv8`0m!3W&fM%PPE;vdtsDn4a35%w=Xrzg@S z&3jks=FEoL6Ma4|h&{B8D#6$+9{2PN;CEGxo(CO82<}@XbB?Fq`C7DV%ly5DU=`v~r{Fa81b%W;@)Q?M0 zV|a)7@{6C<^B(!u_H-W11E6}f;V*{b?jSkosR<)sRbQYr8mHy4G@fXcEQ~WWQqxA$ zon;QvM1kOBMaPP^n%fQR>eUPpu)va2?g$m#gFMHRf8T88Nl6T`bMTsc5BrjqoCFBQ zc$u*x&juAhZ!SdM-9h^)48I&CdqeE5xD>HZU&xwrgDItURg^NV*{bf$fIQyA^}kxs*? zft-{HEDG}8e&)n-Z2rlxCyg1r9?4#kr=13&+R%_(b{bt;E3b_9N6XY;3HL#+p1=pm z-2^GKRZZ%fQgj4QMFScewd}e9*H)SNkm#^#j{2|WWN_jZe`wy@ z?H|XgL2iCpvri=rV3*0sJ-+RNp)3=PO5^*HV{3rCfZ?UU$k#$@t2`IuESU0^8?5MS zV3U818t;nZyHP_IH`5QT?)GcmrPCIdtQ$51$-bx_X^>9!3*tR;!26!n7y%9Rz%b>e za725&!=@L$uWg2Idcr(u*r~tY8DCv3GD%mTcv@?89ra76hZ1rJ4=aQAk2F3Il*QJ2 zd_hgGg?XpxX!_Y;)c4m&?V)8=f45wwl}3-of`d`M8%ySLCiU)o0_>WBcQ3?9D%X1Q1K{S?deL zqsZy^^GUey)w6mVui)qiX{HPqh@iC0F$VE|sUo<5Jtz_0Gn@1f@@)j3G$Hs3(8vY| z&E%A~#o3U-1xBXryImii!3cgZleFX5?~Bo@zbIl##n)BcIbpN^`4m zL6uBCBr~f0E^2=U1m#hZ__1OS;2b{zJ5qa=mZTF)HS9W7&v%E)&km4Hqk3(&L?EZ( zB;cV>qlCz&bMb*t_7sO=u9J_Lrw$J9KS+jLpME$-aQmVMS>bY`<&!p>APdiq!aDD4 zqZ95AW=DTOBgH2y{*m+mk&LxxZ!8ubJt+&hJS}#s!9SIXx>rJco^cBWIrO@WeP)<{G~fVE zOLX{tAEWkfxebM+e_eA)KEq+)} zqPO;e-`M2mW6n=%gWz#YEWBhiF_Lu>o89;(r*^J8)wq0^8@Uq>A*q7TR!EhmpThX)a*8^?P*U#WmC3cr5-pk`13 zce=^%oqs=5>1dJ4Uqv!tvzge6Fi+6RseP#Tx<{!fEEQVnaR!9e%s)j@ zs&|yJV)s8uhrHt&w87?P_D%~%*wB<9|JeB>0PEuoNT*o?Z5OyrMN7|t#aEzE%<6d;`6Q*2gL{Y*B z<*3Dg&qEDZfOY8A5=-Sc8ady)f$bsn2yHiiu+#s{0(^#z0`myR>Mv~wPU}P$dCLh~ ztZN49yj`lZkLK~FxV!qZXIGiOg`GqOCxRS^l`EOLn6~V<)#^L7OujoR7T89S;2%Sh z)(c$^EN(i|=W^9kd#URU5Ssg`E9h_m3 zokFCYe|l%MN`=59w@!AkbxS=r2xhbAw3ffW33Dm8gsQJQ+IC5fIOD0Z_Z#Ol@!EV3 zv08aKI?v7(A)S7CCSHE1xYMl(+wu9WVcY$x-NFsYzNFfk>#c;a7z%`09Z<#-IT8#{ z8*3wYf67On_~ULdVYvrZe0;i2m&(M%7*-)4%JVN2ewhc_1D_EGU_?Y$%-4grUKb zxSf(#RlBnz!1u8QHO6gPZIhc?T=T_Wi90Jku(1F0#r2m)lieOaj*bGk>a2njqOP*z)zZk6$=tz3?&!Q-iv8YNmB7W_@Jc-yP>+l1{Hf+HbsrtmBrqm9o?#r;ok-Z`;5sRbGJEiKyZ?L!XOhcxArEpKjwiQO|gDBH7p7rW3P-LBJN0B>*d zGV;ekHderw&Hb+lHmiHN-uqfrvQ9t}om|=d{VJ*NQ81`-qAu7%idpzcWu2;rKLlt# zoOQNS6yxW8ycB`K3Ird%9E70bI4lb9wy*p?`@z~pxW%m3Xa02du}aug*cegWkAP2z zuj6as@pXMF57%UN?~jIcyZ6Sn4W3+ogLMWEGauX+1a(0ITf+~`0@AxQ`!0NqMwY34 z9FU|!2S^#)u!*g$mNCo@sb`411AqR#hedb!VoVO~(DnqEioML5{49u|XX)3AW=^ zqO6*})B|fgXojP(05R%+y7Gjtz9xrM@TMUe&%B*a5UXL`0F;SDfyaGQ`!}o@yD4}g ze9wHVuIJU_wqT)GIb?m_+d~eec+YM!V4eqf5tPkh@|ZY4%|VWQ{2ACd_6*JZ*E}}6@0_-|VdI+fJ# zz>y3#0-5k*NV`6(K^RrTW4X<4N@@ z0*xLwLFn9@Qs4qig~bpd?PGBYW6?kIJy_pIHWA>hX z8XBOiu&E768;HJG!*yq=KKUx)u*%H)RX4sHODx@oRaTV0_~shid>3f$wmIN;pfi$t zi}M$w9gCpUJVh?HUNxBU3ql(>oK44d)saWXC9c|E7O_3niRb*bWC9ATcPM7VV_QS6DqG$@UGzjtbCWvS0zXC2?7O&I}`X%0)*Pdn}N#PBZGT z;_x+fMTxrN+n*TyC!2C$iT$VgP{OhuA(>8?KvB1gnu#r)Grq1zK}O=1@{Ke9N7mDI z$GQv$9(EBHH@)A+RC(s6v&_Ym<&RlpeGYrSF0dO@b+E%A$4qtPP<;ON?=Uf52oO+o znv>t}6F&h*H24onmKraPYE5pSdS^j_Rr=&hiiM5R_M-Mg`e4!l{&-obw~7I)!( zG@2LE^R|ozdbE`MgyYJ?2^CRXSBla>JYl#SOam*@IPtk_cgfvb1U*f79PXFH%~_N@ zZuZyJ(x{CEdXmsXhEzI4=SAtW#Pv7Dopd0G*rA&pUUMLZCH>L0M*`q_@oRcee}FLf zVIk$j#GlCd{zuc5y`owF_Nm&6`d7|NH?U%crE(639$i1@XOm}f;N^Z{f8Qd(EIhSG zVJFh0d?Ye+1ElE@Kc?C_jS7MRz@i}r#3AJ!rrCFsiw7Wcw-l@DKyRfF^0Yxlr|%Z( zVf2J0q*A4$Lq(w_@l>Onko5?edpFPnC>lPGP^Wop75=rmp8Ea`gyLiolwrz13xm>5 zW7;}0xJBlzT##8=)I9S5+khUpBhwJxm2pX^3rCGAnL3!-=1>#`o-ngGSS8Z_%a8Fd zsnl?@JJ+O6!!1HYh}w6VL?eWD$Z;?9#M_YkA0lU5K-$Rn_K9HvZXqrbto03=&B&`#kwg^@R|n&mz2y{C;NqGBaA)HyHXZ^t zn{eCK?zP6npV3u8}^SP@uM5rQTL zj{<)oI1o?UYBTE)t4XV|ME$O(ML-TS@JmLM&#G56iA;~0kq1uM|Hs!mhSwQ&@4iji zG-zzwXl&bQY};>OINx$zSu5*WPsW^c%rSoVJ#Z8& zN+iv->^7tox-oD^Vu&F{;YT?8`2UYog$Lrxt}w_ArgpIWTisL~V#Rn)T*TP#n_uKK zhn3kszt4Dl@ahT1R2Pm4#_c&Az+Lp5(qE*!BMrP`HBwhY>cM)kNxz)4uJ>8|hZaptZi`#V4%PiYROCJZND&7%UGq zCgUS43T@H<3;B*--CIb(J>Nm9A2Uc?5km&#dz#JGM12p!#{1<-@&6_Ny*>sW9A8`p zu`Xkjm`tW=)oMfr!}lKR`T`)w{@GXj-WiBd$`XIL1w;=3X=Y=X%nAhn_g%yl%aw6} z`HY8iPYFiXTuF@eR-N$u-_^ZiI?01}H9b7q|B4ZY-7~_2Cr;dWVvp@pkH;MwpbeVgE%VAb&5i&1a6(`e7LeRhoJ<;lw2e5Xtas`>yh zOc_Gq8IB$5ddKM#jl=88hpij5+aoDg0ITW#4^{(Wkg_I$CIth(7YoVB=}G*qBL#>s z$P7GQSNBlq(O5TqKfIqVAPGb^b(^iRIDK{lH@bhmIF#QW;fLaez~ixi2Le!gB8{3H zHcKfzz?doyaGbjUH|W+!2i2Bp^?`x?mY=h({=C=%U6kZ;B);!n|1na^@=m<_qwz;l z7Bm{m7yug07QVmOx}XXtb;zn{%cj@kD^qDmmU*{utXxm~O&s#YO&TDAO%Aj8O(v?| zZjbCS>l*ofDYDu)P-T_pT5q;W_FwQv@)a8&xnw8g9oB&TUtc&Tl~-BvE`+9;{CXM&VN98zMGx*!7o zV?Ar3+KF{J0-cUJiCR?(pEyM5PHLYfXdFG^ZyA%Ml-);RFsH&g3Mx7+#<^~CK?gzv z>u6Z-mFwx~?>mOLyhEkb%FG6jr8b_^w+Al>-u5{qfS+|$>^^>dt~WkLmdqjQ>b!O&ki?3ei(CibeA%O41+!r;3*{=(;GY%8 zj+skL#_EgWbn(q+iXu`-8-hD?dmhgJ2Q=UB8PL;?N&}isQ|w!@oDGNLV@ebdyV4D& zQ(rbeJ)CbQpwXy}))|cq;c4;Em__3rbVp(_jfW*rkSZ0+)LYyfnD0;*{{dL+X6w~L z`yHX{<)9wp<4R;_Bi9^3XaJ=nR-~d1! zG3h1P$MN^cCGY;aJ^8iWe9(T1!vVi=c!D_jBY#fco*=ss=hRgMw zwB$!t{FD}PG)|>rTm6!ffY19rhQ(@rkOjtO!Hxlf$@%M(M^%=UcOjs*lJ<&+*1w@woWbc&_&L}PCoPLA&zoM~l$33%L`NsFQyN~}Ix zdz7{O9?9{+4tvcqu$xHCDH#VI3R%*$$v=UbQ#vbjOoBe#pC^w6N-Bj;bz@9;zSB2H zJG3oyi8qfsGU4IKc68TMk0_`<$r^8qHzBLBc*&8AX&a4#)92B+Qlc-6RdJOX4U!GT zva*k>dKmQBc^ARezNoG_K*=3I>1~!i57WuKv?_IV|8{Y88u5wFKNH(tdbv5ICuFz# zlL)+n4OT(BYTg{>&kntIP{p7#!T(lL0S(y}p~^6bzf89^Abweo3FYSL83Cwg z8Tq)Kj|iz=l{mWgs<90jBK3LrtRN!GRm;kUH+_t5T~AgdtIPdrm50DG80t(;(KUK} z0vM5XJ<2i|uMyk90@_R_RO^*RL*HHyQajQ9v^&RLZFy6qEQGpHI11SJSDyiTy~wN7 z!#18_8u0Unr|W~H07!(enw*->xkEGniVO>mz>SZzZ0zE4vq${_542Q=Um|SQ#}+L3 zC-x&!qT)15f8Q|qyt+AMbF3+~+8g}y%;R)D?_{ytl)14EtPo(BIICTcz}1(p0?^}< zHbk+~E7-nbzz)vzyi&J8v%U;z<*g{i7{p$%aOu4rPj~V(vaMz^WoKoaf}Q`5$B#ba z9(6>Mz;$w5S%Xsm^Op&MKU4Vx6Wi2N#R@KZs#+DLHV3#w$?^k?IGI|tcJjU@VSnw} zT2lohIsz__`EaE|!LZ|Hui$E<2~huir9=$62DwjTp6XhX-k+=r2Ne~~b}CZ?9KBf* z&X;&iYI(HTD;##)On36(or5SXOXYVRfb2@BjWG>G|lEEOaJsCdQ&-=WzrK=t4mB`_l989KB8)hYUa{f{+>8#^{xFc_0Y|TsQ2q0E zzEzWR^+^C49$J;;J>3J@?ReS<{a0L!iP@y}kV|D+f|e3UBvbYv4vI77hxm>_Op3QpWNEL+1_LnY=*{m9u-)F<3hVeVrVnd$E z&4HzPc06nP5i@yQ0id2bxw4n^Q4&Un*d(s$xoY>Ynv7G@goJI4-9|L}RFEkDxk@Yw z+tND5ReCeo4K@2q_sLI3IoAt}Q}`=UZ*-R$z4KKizL!^KlEU2H%gt5`CD8Xa=4M1# zsU%u5erhuj zrjytUc7!Ag-+Ix@A?!k_dSsHm9nzI+mqf)C&Xf|6?5%|2uF%shO zTEbMs&gzP0An-r`b~8n#(j4U3Qsrv4qfc4599HKI8&wbwqIK(^Ok-DTcRr^LLBLCf zvGnr&2TH32HKI}}l|r>l-r^W$(+N^MUmoDtjhEzjn=W+%fTQ3ouy*P_?$XU~z~2JZ zjc)wR^KMXfA>*spFw8gww5$GwT4zsf_I8lrtbNCS#GK{!0iewLnYyaw82+b0C~L|9 zNJ~Rqw5{zo|E3IXHQTh3O@_;22i1)#q(~#5yV@sF2m@5TERq2hFYCuk`oc;N)V60p zbgPIz^HUt4C)0pY*>v)PDx5@CYGS z-3bYw0B1%*=@i-|rIH__We^?uD^-Eg7oY#UY3Fz3`My7mMzxk;D=;LI%VlD^Z}ETJ z(KpaQ+Qk8{o?xnCm)KjPIfVuX>V*mz_u@Mk_BmSs?A+QuqLQ+`#4qCdwJySP@o>-m z24hkUl~ecedjX+>1XiIlhOO$XrcOU{cr>}o6SEfDgpmJa774-kM1{6MNJR7?@#uN-*o|m zutVZ-yEi9_e4f*|tgZRO@68tL!>vvQ`pZ6p%Os>`)tPaIVl()>#2r13chn`e&-n1} z^LuOgMDTrpcZ5D7!mGU9ldl4J+tn&>XrWOK%`&>C@lvH z#}&D9E73z2jJI%O=wWe4X@< zhL3HZyIc+Iq8~FDUYnspuFg7}3y2V}4;0vjNck5K;s9rH-Q@c!%=ZpbDpRY8etdei zFdxVtea2p>p|_YToc&$u{)6;Cj<;()E1PbMombED39$E3c{LTG%yVu=*0YGIfTJk0 zX3yK=z&FD_jDa2&BG!ASfk_g$t3K}eI*$8>I*%d3PQ$DCA%*WzQ){7;pi;G(Y#(+I zOE#CN3T=5Q@w9nX15_B$L0S>&|DEge_B<{I$LlY!yLUzcWPpjlCGI4hi-zVl%kmp* z9qZ;FY>TDFG!KR(1u!xpo`$3=YD$$F)j#`YfaLYwt(rR=S2mr+h1>P-`VKAR@6+eE zy9y6~gUF34C0F`S;kaY>6;W{i6=H+M{M%L$RRH{5^~AOs$9ec@CY`n7R!R8X=?@mX z>K<6X052;Pq8V(9_j-&X=10MT$y4>gr(T4!$&+**(V#D(xSTA*>!yLL?8}S1)$PV8 z1i`*oJ99dnBG5+qeWGs;BJiO+z!9d@Y`2xi9o|+Lyu@m=);K!CKFb6Ca1JpR3`iqC z;JJfVk^+gsFCj8U6`H7@)0Dcv4pOZE;cL|s>-|{Ro&t&>yr*aC>Ty#NH}(7D)6w@k z>ZuI-+g4aSF4F6U`I4E@LCKgvQiKpL4ZW{+!R04ijDjywco33DSSX&>HPwuRBoiWQgBcR4v5_y^ zs*y%Wo6lGN={j!YKuRsIRB<;H-$kOWpWodyg0g1#KQ`=z%L>I9g+4K~;EllU9(P=H z)1W8|bd~wCpqLbL@8yR;9lNLXJ@}K*`|AwmJ z?Rf_hP)EJ)>U9Elr{Avf1CRL@m`W4~TcnfGoc^%yQ5X{Kjk8k~z{+QL&XYB=Xgmj! zBp3Ny^4Pdo8%?jW@(XHj#m<#jyhJXG#dSgyWo=g-fIjS-*y^{lKE`RTdl2{|y>ORC z5~+|lIj{GpN{GbZqTJlXogl09dZq)PatFmgwJPUldvvlmB>YmUdv8X1K-+%tuItl} zSip5ud~f%>VP*1XrnYjq@|Z+TPU=B)M>C1p1jC&oc8R|`4BC)R)qJY%HlUU!9-R5F z6A9rH;BT|DgE=e)@+10~Po#&k_8F=^VDT zci~s@*+eouyG;vybeMSD!WE}17qlru{fqf#>`l6#Q_*?kfHYZ$qmU1ht2J}k!`!Dk zOo378cwg-c8%!DC?WHvwOtOvH_3e~L=g5LeRjbk^lexUtoZ+Bh z*o`do2yK6Hi%XFIMSm>)<3qGSlsgtm8)#i18~WXytfPoh-gGA(6k^tOyI9X z`PsGM5!Jd5)_68q&13%Dp5Rm3WgbdTvMi6?LgfptK+d)oS~e%V%}AYg7X<~+%B$vY zfYCB=UBic3%Vw2UO_0IJj=VIVOl4GxJY^|<=;DqWph=41)FI2ru14NI<2h84xw~aUUbykg3)`aez>4V@p(RFoX6Q zP~QcmP!>4c<+<%j4gYTz-~_8y5GD5f*{J219=1}`19@EZ&t33N_#YEDoK?9EKZ7+f zxTP`b?V!>=L*I57?ZZ>c^AKcB$UtyR*9n$o!Q{%cB7?W!lcqS`Xp3%mOqxv(IuUqO zkbbFlQ8>9w=fSNr8fkVVP?W>gql(JwRz@-J7Z7zY>orj8$bjMCmwg&@!(71tk^=6* zny%+`+PPXLDCV-yO42B3HrJN<(wN(q_3HkD##$uepC>EY_55ssR0 zuBcG@c#9b%3D||=(Ri#oWG1(Ta2cauGen_!M;O-z9KmtDZXqKxpfP@|8A2!~@7u&U zK>MGn{k^#@yp}a{G+=i+;d72~ZABgtCRCoVqDJ6(?jJx*z@vkM=)B#f*q{pMG>(E? zsk+Ds-v z2kGWhNyWzU{D4d8r9UF$zcL5cGLf;1>MRV!^51#Rz=WiYDZG(pl0*14u)4iO9}0c^ zb-8KBCOIQ1#B(XoCH!TQC3WdptG7h+X^(4vet5yyy)+RLcJ_ZvI2L~|^#UHnEr6|FwQ@8C{r3ul}u{9ZcYOa+5aNt$TT09)fapz`U(s;qI=%#ZNZ>Lw0q6@copAV_N8$@8Z+>XDah!miU4-9dmUG_>Uat}eBRky z4N%!P39gV%2q%_KFoUlbJs&=WJ2yKa1jjiaMZpFl{bGQ!gTmu4C6A_lr6J@TkkYl3 z0G{L@Gn*=Y;y;~dQC$6n{RoL#t-iRrQl6uha1cp>www>Q9 zYy1P!l-^hIif7!Ec_qBTZpj|=6ju0T zj4iNJpg=W8%!)cj&1NR#4|7S!R8Gj`SX}L*-mlHZv@Mz-Nmnwx0DiG3aJ2{yu_EYI ztQ;I1x9f9`7x_}j==4Orv$Q#-#66aggn)UKg+okiMK6hHRD7!6EqZ#9uSTS2JYu1V zh^nR5C3uT+qy>jMYj1_H_QiirFTyS#-#u?6;1RBcw#(71pGPf|>7guLJ*Y=5$)qrz&GH=vHey&7X5QI?C88Y{X$-Z0D+Y>*d);GtRf1hl z>px7wIq08y>V4neM7Fyz6*M%*ms{eIGPK1?AA_y|F{m0DHCmgHzR$*k7@XjNC!9(0 zaUV5|c*(}OK~H4pKTn>{Wj$w>O@3#7>gSHmHr8Efq*4=+q~c+VCg2wg9N{ZiRO!xhMjQ6iG8&hik?TmU1W8D? zz5Gp{5sTGsPngF@PAK_QvR|6dl8Za9~hZbk&qoE6QyNdO2HekvWQKnitZB7Ny0N93J{DL9F!5< z)$+JIl0cRTJL9OWtw_1wNOm!f^+lmEEmHE5nN4T*mnLbkByDv`j3a;lQK2QpSQevo zuSZOX6bmKsg%1}@($R|}I9Z#B^UIgyZKNC{vfwMhvw`WjRIOk=$9@{lNR@cp@CAaIF$o5t zkx~|_XoY)?|9%?s*I$9eoCnR=aAuz3EH4i;j6`YR1;j2~WlRTSgT ziT$Tg)HObPm|_>{(P}$Hl>0iEA1v=+KECXW+?R@*LBCtHAwd(dD6YDEz1Q;@mlszm zbE>d=gi=fu@q@#S-Wsq6cOM zZWSL(M&!>+ufabtSca#2mQLuOAJ2w+3}p|e@oz4B==SPv)(ozm`q_+Phw0GDe;gy8 zats&W-+phEGE!ZurRLo}If}esvjpsoUSw15_20u-cW0iMALrK21V5&NIs$i2Zq^z1 zE)^AiMQCl_@?mOUNu!P@LjDlSHW*r+N|oE9nM$(f*>L4l%~}t>V7EBWV>zE`6pk3` zq&|DG>_WV{huf*v>q?SO#lfMdIp({yODx}Ad4l}NdkD{&(wrD#J{-Z(+_N+1)%9|N z^F7NBQ+oKm>&yDwKQ)W?dHJ0@IEPyYzVeg@ZR+5*@AxJC);;^CrBUH=KG^|ya8`dj zpAaD}&Tg6>IT;p^VQRRZsQn#wT-SYL?DWU`L{}W{a$Vp|t|mjJ64nM!mKIEV@+FEp zcXc$`eN7@OxkbEYATU~~9^p0E6)WA9W&q0w{(JS5rVq#p3!NF2u8SwU&byvBj*snf zHv(4;CYesH#Niumk7d|rZh@Q1>z5j}G`7;T7TmdxlD@DG3$t$`@MCk=bl)V; z5pj~UyhF>01im(V*F$BmCs_x2i#S_*isJ)&2M1!-3dr{{YkJ*hpU`XGbinTCSA(-B zyho>&;z}kIN}QfdIsP?Q!~0n@)P+`k^Q80b?V6{J?p;is_yV6_)R@Y3%-EBEkfC9elO)3dNe8GKeq?`RjGh<73Z4lmClMaINM5#XemH@~5 zS*zeYvbyfM1joFhM;Y=Y^2}8PzsTiIWMoKq$l&CHH&lLyaFZgc1^u*{3_E=LFC5e2=~ z-l%Q$=v=Y9gssG7U9Na)j#(gzhS|_T2ss0NDue41u%!MXvcJ`(9644v_0?togB2&v zhet~o^Z9%&fp4$vHpEEy2ns7S2nUV0L1B;wMsRTiJP5qtnmcC1+S$RDk*{g;l?gS- z;U-jm*B_0AdZ!n@HF}u!lDNy}st7#pZ`!yyn4}?P4%Z%IS!~?hns*U>4_Ta6t8tgs zI-Pv&kj?p=)&U-sE+AX4W?U?F$DDSK62u{&eh&gmN?C{cI96F93!nEMw zhu-GYtgt$3NM@e%4W+0 z{#TKn*kfu_IT_NVN#%wL(`<5t24e8ZelD(&?Hr`0~$(k>k+Q)~AEFYTl1+KBo)hG8QSAIlqkR_&xhA6GMs&*KOwv zMzWD`c$7iT1bEut*{TdiwzQVq=qltb0|VO>kL`|XYiHA8(GlHC_yhd654W0r1ne;= z9S0|#mk9eqx58;?xD@Bv7>B6uFok#266JFkX!T=WsIt>>5;?*r!Yg|wuCd> z<60dvNL$?890uYKZAUF0t%P;X>#f0C5$}$Oc5)48Sh{@y=*bdkrbaOHJ)96Kts%8~>D@J_kYrrv1UJZ<<0s2uur3yrb~c;PVpnl8h91tYsGmW7obeun_i#UYUmM-=`J2B6B$~X+ zT}XckO$Z<TD1Z_)n@ps`7=FjMLg&xHVh+)7+Z7p~WS>vI|{!VzaF}awm=f zW1J@DBjkgO)K5h2!o=j>LjUh$j3xULD@vk_n~Z8MiAmpp%~4&n7bMXJO$U*dXN%J= zGol>7Q^VDQ_WDs-xSeJDbB|zf`d;qQ^mB=+xuPMptaZS?NM0sy#CVv819AH8_vZgD3=o0jfI zvVbT~FT!kJ%oymv&Cx&>Y5}mM{+?u6=2=m8@0Y@W1dk zx5p3QPDVu~jF{NO@2U4BiSYQymMOABg!LH{(%3emfQ`Tu>@-26qnF z7P*Te-#??uZM1+l>Uz+AC|ux@4r0@#6%nE%ax&{rLFLKM+ic8Kr99-Rggvu7WDPFw zNvgOcDvo%}GNTiaLFx%VXe@Wx8AdiK9T!syy498kg^fLn6mI$6Np#L@STLVm8r~K= zCwde%8=xhmgSJ^15GY&~v7(vo%4dD(CE*+LnB4W_2{~n=h4B9;)BT?R2ZG+B}sEaD8}0da+=y{VJK8lCw(NNtI|yHP(0i;-47ISlrh_>YYQ=`JIo2P=0#G zFb7^XbVJ_`ikw4E%p7ziwUzV21(HY!Mo z2-e*(vG~uyY$3z;aCw9~h`%>HO-Q#;-I6(Z$v2DRP3?Rqr;4(>Yy%I@^e3d=VM_X2 z+$*Df8%{3`_Cq{M_IX=A{3URz^HiIJnxk*X29p!xbw;q8eZ4>#3 zX|uV|B&NM%EMB=XC9U=;p)kg%L0qQ3p?5T%4=Jt)zW4&7qOi;K-?C4N&q?xDjc`SU zaAmh-)d08)y3)3xCfrJS;XEC6l&U%jKA-SGEGHrV^oW%?>lHXe8j@$G<4Q*{tp3FL zN0Le>;zzZ(=?tv@diRGQQcf8n zzwnKQ~^tPg9|1^8M=qC8F&+w`^2>?41xt_^_-O z#>%4+*Y*#3r5N$|_Z~G_!}NhG2%Mr~yJ!yD2g)&Vumn8WC{1n%NFVyT?d2nk@QLMY z;kvp?vv}sg$Z1-t``x@jKX-{G@$=$)g?Q{tp9B(U!^@0sgcOp7-x&=mvzXD=PJ3^* zB{9c0rg|ta%8<|^%FnMRZj28uy)`8u*0P5$tRb#W@>3L+fhH2mja(7AdQK!t<1}{PyJdV4t8t=oQ&(2!+c&V5m&+8=tC#|jc9!f#l;s?Vuooxa@wa&)%t_mGu7uH8e9+;XJYxJ33qC8PlklFg$#Mww zze9}aq)I)YB<$~N#H1gZ(b()=@b3MMXY1_|mnM1*#S%GW&%|iR0J{#Gv22=T$9zo; z$XtX}TwD=_QY4f$+sWzbI-m8Dj8|zYVi5`Kb=erRywiy@C|DBPXOo`49qb;#=enk);{z^tiHYT+g28Y;3MW5tcU@>%`BF;4Tai%LP$1PZfdh>qQ8)E3&9?J; z!L0y9vC?S4T&>+^IGcrsi+g!iYkQbp9&DcS5cbJx5@X5QiA0W4RSqiUHei}U5cZoT3bNiq)ioY(Kjgejft4o z>7%~1G}hmEGJKW@@(;7tt6WDXoRLm|t2n1?4m7HgioWw94Ih|?SckH?7!`WR*uOd* zwtHe98!^|k_~wGHuB>BWUY6B8tT|5y#+l+wGxk`X7Lf=qo9MAag3Bs> zu4299gOyLHJGD9PCgM<8fhyo+-^L2Zs=%YLB)o7S-d0M0(Y?IET!3s$nN@#`TN6))U2pCDP)DuwR})UwyKm`7=mskt>&r&F&8~Pc_&qCj*R1m=be0P14ilG z=+1hHs8ncKgjA3|^6xAO z{j_RgN%%iav>&uU9Sae>7`!P)&=GL1MB;Wi@2%3hn3x+ItAhtGn=ce2uaV(!JBS19xj!PU#;SB8BuA8 zMZd1_v|2~m4z-CXl5)CHbn+FISHf`m>BC^#9OsCgo7fY-!q|33+3=Ld;_}$D-SJ>M ze+63&w~~aHQ_>&cFRIHovLE{1&$EE(UK>bFP^$)B5=dDErGlL*&VT)+%~l7ZrV0ux zG;gu5y~n)YU77bJ>i&~U#a`-(K(3yOYtHNI2jz(RfiOL97W9?<-P$*2i1LR8Zs+L`bg1cy2kK=JSE^PjMpuO{d`=KdrV+^m`J_G#_)fLi83`J9d z8Xq97b(49$27+PGC=DMi5ph&Es^q!JoUj-j)j+pPGZu;{OjN8Ncly@J}lpO~V*xi#wwhM^#spVfVNyTIEd20;@z5-R% zMvWhxIBl)1+owdrz@`+ojB|5QS+iA~jdxRH`zQf?o28?OIxAAq_yKL11u1yGkbv+y zkcvZ!)Jt6_2S!qG=ISdulWJyo0BUXB%z!=&*LU7_aw%+V5(JKzoT7bgR{ybZ032{3 zJu7ao6kgRa8yfMT&T5T={ZT@oNlb0*^`jhXbJ3I^-uC&tk9!@0={cVlqH3dck}l`w zZMcru9CewHAi#E_o81l02vY+)HzT4&bFA;sZSHZ|C7T%PtEz~X3{bzGDMX*4c`2~p zOGLY8z-->3$L(=~Z=2soM6>rmjQ%!eWC)GrVcXfLRk(NgojZkZe}TxGj))<1`Q%6Z z`$ccQ(rHr*XdE?DtSFU3^&UoU zMeAhQu0pT(_;&W!j zk;qBk?=LzItu|<&v>a6^7cZ0)(tVvo*5#yasv2Xk(5uL26gEnsgj#oAw_h2&JeMBODfCo^$A%is_ zj>Zy^026tGV2|hb-UA@j8(iSB`F*2-!PWiCBPo0xF^WafeY3OBzZ~vTlZBA91{RZnR)9}R zba@J}2c}xg=J0yn=W`SpFu)7C`qx_CVR!oA5l6Ew^e9s)tQAdxH~~xs@90$ zc4Zy^nq3frfKQB9k+S`JzQY>j)C6-GTJCny9S*x^W z!_5X5kZiPed%X6f-QvOvUh2E4(Xe}-#jRfNjCDsR^tTmgQ^G+U;h&$MH#S%XEcf-P zH+w)#zEpB7zS_$5xT_Tu#6-)G$QEM7FOIDDw5% zjek*Xz!~&Cum!%n_+-R{IKo%(!`{8ff^b%55yoB{zb@PuTGN#~7$bi^_Lj7ILS}5# zvKtT!YizKa*PJ5$-zrB*fQ%%K~;kFW{ z((*RoV%6ONzD%cst-FhDaivVGXP%7nQGe6Gv<7M@A;5KkE9G4%7G~#m&--S-%WygK zrZ3HJo8aJt(El?MKg>#-L+)~qmpD_vWEdgS%AU5zAIE6ijXIV#(jwd-vEX@x4dMP0 z0fm?&65z71a~+sjU;i=eAc*WGE(n*>zi*bs|B@t;T9QXE!p|2RKaeT;8~AwKoPE$u|8Z(TWrfjqrB~sU)?|!dB0536cP{EP& zRb+qXiL#;=WK%B(ZJ*kY%l!dQ`hqoT`B_d_zTzv)Jhwe!SvE}UES>KR_miP`&a0uR ze0s923eme45fyssAP@i>RIOW*Rz6g`!UPE*239%m;er#_PdRqcSEYG}A@d$WTY=C@ z#zoNa0g9^Sauzjjky|Ezo%-<65TH&!7m68zhpR{hr#CHAZiR%cz29cqr+%zxlV!OOHP29li-?}-))=D+pCO{XkL+=s5w zyIKX@HNZXh(2nRPI*v5Nonx$k6r3DsI}4=SQ~g4>?YOkmJMAPw;0N8zycXSCSW zIUg%xp6ZcsMSnhp6M47SKi>xVnf=JY8vGL#eZ1IFav8?qd0*LEs}K;J%45Qmt<;0b zuD7MVBAcq$?kssLYEh;_ zU(noUs~OK?zDSfNeG3@+w8t1n_$(0}dMQz<(~~Tb)?&Vz&k0Y!6-lx{a9^Pxum24D z>;Te7P+ghKVkba2---!Jh>1Z+XS4Np|8}@H8z5dPp9j8^@D0#TA+^m9A5g-@F?f4C zL>GbN6L1f8zt`0_l*5+m{XE2ZEQfr-E!mh&x4D&RW+t zc_1=!=R@;yzYljnS;u@Q+YN*cTc};6y24Bt$C))oHxouS(;}A0rz-s%B`oduTh0OY zto`aCmtbKw$f_^c-vZwZ_N_Mx+8T0$0~}}k0rHK3+uyuQ6|Cooe0 z95rFAzR?U3=?ej`M-LLv+-oD zK5rhGI?iThW^r;1MoTg~aez%~0Y?cAA%tu zlu9`2@Oz7$?LvhfLQgd2_fYa~H4(Qj&DM*U2%w zM#LuT(P#c%vlt7^4h5y^Crf1kEvTUSHtQ*D)<9~5x35u?ZL+6J9KJg|Q9H_&=Rg4f z7ZCTLa@ZU7goBC50CQlpOBExh;;4YqGH@CKGWVZ{bbZ3!*?B%VClPf`m`GQf9fEpX zQqBT2f^I9D9F|yPaV6lg!FWi}>1GV+WAPz{xr9oR-lQRPMf@wBG?K z3Dc0XLFIkPE>apgc{QRKdG#eSnz38~8Mf_G&PC^iuo@-2{K1J(j9^s;4L1G^0#U`+ zaW2L@rM8TPk)h@JO@oRuL(or+B2xh_>}iTMhN;HxWW62&qZQYWw%>QvBjazLZu zNM6zLm1>Sd-BvF^k+e0Mr-Bub|3v>hUD^ShO+BK-A!C{J@ru;!2`k~%qwew`Ai6W< z9G@G-Y|SNq0=JTZ_4SNIsyoJCiHNv?{G>lW(-5>CfBoI*x%E&{Lpl0^r&6KJ7&>dE zSe1B96ZEO)lhiC!f3nTGNO?@2YJ({pNBrua^rnlc*2ibS?!7lWiAEN?+4S~WNK}!- zcsv!!^Wmc4ogkoQUm3%xlIDCe^At3fvE_V@VNl!?7))tjxDl)5r1c`S7ormtD6Pm~#kXtkPO zBthZ+Ov^^K(51zW%VGb?OkyX$@p~5c9!FWITsDt^b2JanMiezC?T}6s#Dgfoxn=Et zVuQ*tI7a1RXr&>)nyoMeM5+8a6gGek;w71q({RpMm?i0RBX6B%VeBBPl|XoGP%X4) zp5B-s=Y8`J+i(N1!@LEg_%2ImWXFz}JSk$fLQL?a*hX))dWAj_M8+05Me2xR&46^! zCoKD6kJGpRA*n{%t{Go)6i)HA<&w_I%a!z$u65>=G;*uId zQV7f$MDYdIO)#nUt`I``EW?rY-W=fgF4aeAMM(EHL<90!$gc-t=!L<*R zWT`Pvh1c0^MB2x)yF7<@X^A+2;V}Y(eK2|8^4JgVtJfyxtMTAxSo288mC(t~lJI(Z zdMx?Kg_-F_mA>OY&;FhP`N)g4F=82Ca5@1MCx`jlgI@e}kJXgK*j1nxsY`rLNLz8j zU!1u*C2?Af`b5Bjk4%2IJ@lz1DCjkqEb6d5pG#UMQL3l zs;f@C@NogQt12xO-6m;Bn9t4KqBo-%-8H9&B>V@ukar)L4{m$_Dl$h~x}pdRm59R7 z$^6IGyqjY!vj6oKCtaWtzjbI}t$VeC;gPHwqmUz|n`lDG*B7Ui^Hl0ruEv}c^Dpw$ zVQ1Vm(Hv6IL39Z`>46W zfq}WIQ|S^3?u6Vx=>``8L`n=+~}Q7Qx;^E zm>j->N?h`PR!BhSU7r0)fxLLF5MRFfdGo2uGI~y1pY7lhZV~%_V_PyN4qE)GR;`OP z7*O|KcR1AMbclqGPClmzgHB7?NwG4?49v0Qu)oYLWvpS5!#Q3oz*w@|AbkESO&vlm zi<59MsGRqSQOvQnth6HITeWW2SGf-ZlOd05MEA$bI0>@VdYf-@@h3!NW%B=vthWq{ z>TBP>C6tnG8R-To>FyZ1Lpmfy7`mmqySrPE?jDo|32BCu?hyEI@A%%o<9XiCF?;P= zd#&sGoad=S+_z8pcB!c!@%$|cI$H5%79_j?MlUy1YFE?-nFAjQ?s-k~2A5G_%LCT_ zxI3kGqN5+{vxIRKPdLq-27*TBC0?1G70~q6CBnCP zeODjs>~_K8Z*k2p<3UqNuL6?NO}t#+zrFK)7kRPp5I8!!_;xz3s4ubq1r$4*BJ~uZ zKL6mQxNfgGf+j}2YO-uJRGfisnH4fDv%thb{*LCp+#Mphi;6gsr0Nb)Y186N_Gv`H z^gjwd3Zro9+2b(xz9%a!&XRfU1yKopq4njWggqHxu@t~C0&+%cW$j8e{NPYAhtZkB#A?5rN7ndN z4)Ha4kEU9Mb|p(iL{M<(#$LS{<)@ycghKZzQ{*BrT@#)$gde3e@U#`E<#)k*f1(wz zS6gqjf8?)*1h^H+<1zU=ZViVU5+5KS`D-$2ipLj7orQEz@VXS+8IyZ>{lK9{da#3y zWfS^Ey&<-A&Z?ODB1pfW@Hfs&{9W&>B!pL&!_pk6Lef5(Z;&Q|Nk#IyYEd#d25>_+ z{dN6GZw*c2kx5ay8Z^+J;Lnul4`~}mI8UaRW)KCw&izT{>Stk3RrcxcEyU3&eWptl z>D0Iva0BNUm!kl3Rb1UbL*t~8kom`S3+u>GD z`8^jgWjKXJCTST|N?T_aH*{O`rJj|QIsxq&I&2~B9JK(ZaOWf;lNcEn7|AE}T3Ml{qQkqr~{F zI81|iI{w+OEMon4up*lW#Wwp5t0`c&GoIp`ouJS|~KU+BdzqfiU0dPB{(XZ(Q&3C5B_ zW@vA{VY*BG91~6lpRc;nLU@j>tz;;!P(~WCwcG~{&V(_@X}^u0%3$(<&& zK0^QiW#u+W0Z2m_?cG*%VM)^N1FEu?dve)aEUN1 zlmaa3{gX9`5F|H~o0_1aE*2rhOj65;RHdHPQF(bp95T3TdiT47VrWc}d?rCQ{ld<& z7x!0<)Sm6c>bIhqzgQFBKEK8=RxA8CrYF0xPf>A;h=gP|e{4{YR7W$m9~XaXpl*V51} zFz#qbvn7pDIFd!&3OQ+-pG(m= z5{40#$t+hsKZ@n=luQ+Afysi>|NJrp>o4+6@-K+ZgH~h=l0poQ+8(6xcX47W(j|coIT;X)f ziAYHW17VpBs^$*+q}>X24A~2(4&_IU-Cgw~?GFE@&2T7sCJZnzW5GWv{xQf#aSV9U zFv!Kk0!ST2Z@}`1!*fk<`%8-pZ0TZM`?WBaAMDRxk(J`lsV>!4#s4{jTpoCUCJ@j@ zLR4coEUabOM1CXz;oo~8V8>2*EVTBmHN1#u-R<-5d?>H_tY09pNrY)!?L1n_FOqB1 zU4{67WI)?$lDItdAQsu*1KlxB!@5z7m`?&Svd1&bB!kF#oWs$s-nHtDR)bncoG;PA zq)UXAJk3t9fp7YEICY`t)BjvNS>eA}JmhwJFgh)C;aN>xPn)~{e~ODY&9J%w_A~AA ze;*siZ|DmwL=i&rS-gtfjEHvNF=3O71{(jOVQAZ|!JwNF8KWkzpjJpO)qe!tr~{l1 z_BMdsniToo>v&nERWf0umIo0reqhM_=SiT3CyV(4tmyTxB8UhZ@$#pz$$S$h{-Aaw zE(keEfEL>5#${<@!bR?K5B_*pJc9oaBP5V;LqBz()DK0O04Fa0_ryb!E#G}V$_!X` zh(ezC+D?_Use^1;w_PrsykBXJ79<=W;D7So*mO@~PfYfrW2O5Sj}JVv{;|4sk{Z)%!3m}7|fVC8YVVAoqRNouV{X!GOyK&v&>Fm=|Jlo) zUvpkQK2f?<8& z6S1J+wKjg;b%uO4EfwYs`EKl?NsR`KROH-e(C!u~ zLiZDN(dpw2$@91%SZK3AV|jEV-k&a!2)svkxLzg(a&h{r#DK*Wb6Ol0^)LW!viq*- zSMhZl{0je(LtIz=(0%&Qj$2VW^yijBL7gZvCtp8J zRVt83c0>j|zU4FP%1b^Akr3(SJ-38RMm1mo4iJ3mG!RKGU)QWk)?a?I< zVU`xAwu0Vn=*90*u=9#sQu3CPFj}tk&1QwWreYl&9mG><`Ui5~x0Lp-u12nl z)DY(ccZo{JI^Q9hRU(?}ZS zyDt6nYJz6^zCcH9y;uto7}mjB5_)PGF z`N6B}-VevrSAVao6sbl^N)PkKu(KA2w+f8u_#68do%I<iB`*bBEs7ROTRb zS(4rJfRmeipL+eQu1~bdK8?HkOniPUb@v5iAQhb_ZR6_ffabu{5Mzda4)osnk-mzz zUCK*=qIOwl)fe7(l|z_7$$v4@#5FRWsBVX+s{QoogihTlPhc;$o*=4I-esP?)=XQ* z(!1F)s;Sar=E2xukX4mlom3FTL;BXP#L~Ik6&-&fi|lhj;c3X~Fd>;?zfrs8=4@xA zbS{GW1mx*;*QL^L|3Ac#4VF$Gt(i5Z_j@^il(-2cI?rBStja(wnqd<=i;J;e4GngNbDAEV@hphC`N3pyIXxIFrrygeZKWe%%^;O#r7=VzzFE2l z6oA-{2NOjM0xq7;71wo+}xIM}I;;zoNF@uKom_$wU`SEhIj^#S&KfS*H_ zSN8X=+`O918Hq1(y0=2mbrC(k#sFagF;XL`AXO6!eo_7`KgLeuEY zi^!fb1|olp3HSbt+{(HiiMQ zp@sRuQCs!CQ-Y`p@ScT#y(a03P}sAbK#&DAae?)7s# zNNr|HVO$jgbUPjL$-cmO26vttD}7f@b2siHue&o?qRLAq_sPNOt)LyfeLL6Y?&FMU zCuQzR!Unb5TQNS=bxm#s9^$3uR^mj1pe-# ze`V$EC7dC!j$S;+cYoUSsKUd-pr5Zci2d@y&)ss2v8LX9pF>hwx@UYmhOH`8zv~hs z&oP(Zg;DGD00s-IMZyHkL1{M^XDr3br@sA8P3t!HmzAh*ZXTYj4aHINqwVrwI<9&AN%}V+tpXWRq6QHR&wbAq@zvMn<4$-yH{?R?0j8KQmbINw@@P_ z{pYFu+EXIbI~p)H+&EroH$`9V^uk>1XrTQ30C8SBH=UsZ-RnGP5D^FUDVe5 zU;KojkXJ-kr_V#kED3vy`#vR5g&O#dG1XYvX*$Q~XylTCd9$$*7%H2}^7ect!~OA| z3oru=k%{GcH3jVcac+wgl5y-gf7VU1Ew{Mf%BL{1hn07^;g^oRCKe>}i@syRNS{g! zOMgVdSO;7hP2WA>So=Qr`Xn(Lfa#UFKQ9FV`R$S48Ev-?zS&CeN-bv3&!@sp)BpcE z8avhb6|z#Qnynp@Fzo?5%obH*aLGEvzV8a^=LS1R61yO&fWl z8=m*z^HU?eZvT6_l|t`CvCRB8A7%Q4!vE@MPUSZZ7eUj7LF)EZ$g~{W*~9mZtRY*l z6|}S#Kj98_&kZs)h~%K8$z;Zw@aL(f$Z8h z<`Ns#jKn+inRE?H%*HzjRI+nwa+)Yf!}r4@Ck?jup++bR1Y*Bhr+nv8CJ(tRS{Gzx zh^d%fg1yN8RZ{cbar^9DKC*fusNHj1CNx;0uJO?waazv;AAtw>1h?D2GbkkcN}$jw z-}<=?pd>#iVWIpeD(WgxMt44C@?5LEB_7^S=f1ROyJo%+u<}W@rWa}oCl^uV0_HOr z*#uCD)@1w15kqsf5YN|D?`JBb8x3w$3kcN!RWP*jW2YlJU#%6jB3Qtn4|8I==)Fgc zpeUs=GMtlK%+uq2_`20Y(~)c@%R3-VF!*1MJ4&tPRb z`S4%kG2s#snu=Tx7V?Dv%Q#uM3m50SXTP&e8gBdL7uu-gnVj}f!%1&Senazbl|h2e zSip>j@9*)e>5~KCBM9R2oTW?%d}QTy&k;6z1p*!R3OqaQjtvJs+~ogu>V>nAbf^AV zV1e5GaIJ_D8Exjzi_IaYABKdL zTD1gzEb2|KtK&6v00)e*(hV0g4Cu!1Otf}}039I(xVQ!% zy6>w+Yq-1+l0YrjZiQGB(Q%khZ4SPAu-r?xD5#SN#UK*)cF&T~YqatY#Uw+;iIs~1 zl+|BD+4vkcslf@_^83@p>=DT1_6Ofg>efh9DPf|Ep+uiWuUN4o!Z}e(Q zZ6*fM#o?Yi;Fzzp7K5SfD zIo}Dy$TmQ7SJwvvo?i+EjUE#Xe4OR8N(-BRCtLN5>6j+N8XStKn9%$|<1Ck?!mppPaevD-=BL z_6b3!kZDBJFa>Ct@lB;xm7m|p<4wFaEOPY#6)>}Km}gC}n9&!Za_9svfwPi4r(Qyh z=`o151i+DY!`CPznB4js`y;0^r#BA9_N4K&qTD~1&1l{ypO8;?a~m#2qZ7JO5f)!Z z)$rgEk{JvxK0I3k+;OpSUmj`aZ}-RZhJvErvA$461f559&QIEf^UB}F4X0rPJbIgG8( z;=t9LwV&*>1C7Z@S&X5P@p01M zJXM4@b`s{}cWAr8a7DriW*0l}Zes(i?SZ+Y_k$W@9fK7qr7sZNEh=y?@0gf`eg6hm z(0b3O-g_Ih(Pk0YgBaorjLcfAzjRzb+*ClEpskDpRcURAdd$}t6fjlg5wkhGD91^` z^|(R=5R816dd)Hqyl(8A8znsVXZCZ0n}s(UPZ>fYf+i92I=?F#=Qq7DwTz^D z5P41uK6PIafNi8Hz~bJQUxxTTa#c@>$ZcQ;FsC=<={A(~ozAN~U$P+H$Kg}F6>#mV z?O*%un{4LsX_+b^dN)Qc=Ed`iYLx2sc9K`=sbEwv!p83c)5-?cGjm#Rd_WLz~!1eO&u%Bo1Y?`RR zXeK>=5MZf|o$n~fH!DVzyPHfYyyx?7+gK>K}Nyfo5xwV0AeP@WO_Bn%L7taxI_umKpL=hK-`fIZcSihY+Pm-$i zc-)HmK*$rF^(=GP?f9DOJZ1R&edbwzNqznOK#OBtepz1AQ?v3dHc?+=n6}}M&liNK zF%@rjRWp|_{aP+h+sLhb%YJ^KM^3-ooJ|%>N|~PPrYS}_D(*Q$<~3HE*44>BH<&Y| z^fCVJhlKd5N{wxH6IZnDS6g1I%uDw;&wU%1P?evLP8Dl04FS*^XWh;svCv0N7^Qym zJ?yaMMr-SRA*aiiF>Co`Z-i6Z>ZhdRxevF+d+Lx|i+4Ck!q)*N0J69{i3iR94OI>O z$@Q?YXA30Qs88V5o*3C&NsN_e*QJC-Gf1LBJX2Yqy`)%GL=~GP^vKfJNSi5u-2f%g zgq0kIFZT+_Aov-a`}HVpTK*dFhdeVhx8E74CwcA zHu&pv;I8;=Xpl-zy!W49R%|l{>TwSL>0*LsLyi?{4dGCK9;J zP6y+DbOF`!c$D4g8U=e^_0^`Xp?w+!d%+SL`jkd^OC|Ehz#D<~&wInSCLAO_5)h6> zpduU5)7;ZRDE^?p$w&r0%ItlzT{b2*6mvH$dcL^3{X z>7EMEpg_VT?F05p)#4E6lb`5F^xGRh78{oM%sDoB%i#bR#y`r?(0H0geJE<7-H!~Q z1!>+EBR?aLiBIbP6aX&Quf+x{wfhpkQ*1Yg8dUD$19z&2%Ow~{6S_z#^H)=qr0 zos&K@l?rc}k+n?b4*m(J{U!nvntzN?$zP#W9f4Bhx$(1HoepsYqc6WdbYNEjt6H~^ zy?$n1L}G%ANu`UH&Q*>J&% ztF`$y4g`vucf1I!HKP@bL>ipkk21IyJCj>fG-VMJ; z!p#75?n;wN`AhB^sjv}AY9#r7`It{Zfa6Pjloa2(zK<`7?+U*vldaZk?!pn|6YO+Y zeffGzr&Hs(laEN7A6;%37N!2IH5MQVG5@MeHI2!;V*Kzsk(Y${VWq5S5|7jXiAg}I zFE;au0E}_HVVoP)AZe$OyQF$p^A&~mB;zZ*_{sw8TS9I3sl-MJH|gAlwj(V=27bAeO>zaS_bgH6Qxee( z)>|+a?aa*Of@J%Cp%q=WTf$s);EAEduRMk8O(G@#od8_hE8*!g6mkREv8jMrP)?CX z8;Ce4n!;S;jwL$mb3q)at^HR=i3ctXMYK#L-(5j~t%>9mW(ZBK>sCH^FkjFNlor|@ zj#bhypR-)Tne4&qa8YzkJgW(@qnSweVBDIjFc;)+Q6m(CqzQzU$YQKmE-gIp2s?c| z@YuW(3g~ciR}k!?NZK3>`YRJ;5Ak-x+fuzgvF7R)@mT+X`@|#vYw9x&<$2mHulGY^ z3e32`oRj$B>%KjEe!#tIreQHr>>FT3Q9o?i;f?O}Gl1`8`u=@8wyL}OuWA$6?v{d$ zfUj}`*)U)+qmTfy6MQ2_qMxM)$q-b0S`w1C&9GB|8{*-*W^O1bw5a#o1N(y93gQX^5+4w5B_??hJdyjQ=uKzT! zzL130NwOQ4IR8%J5?%gy-U0KQ*>{oskiImA_74cpSbjLFJ-(!EkFm;aU^F$zGF_Bgq7f?3^)%6Bw}@7i4tAus2^ku9oB2yHH3J#% zl@%NIP=QqBrK{VEcv&V{;({{U3{IP;W{A3?9lcJw49x(a z0l3+`w#}~!klXU(n)F4`(YS=fnz_h^ULT#_w45QAOv3pNOLdUrEr zj1*|3Gk&uvOnaSqT9b0bNZh&#Yuy>Crlha+z-$Cd?X58bwalBPvn?CuXv>>Eg8N$b zgnp3^swO!jy{tUjG8c+VD666oSmX6Zt{)SdFiU(jen0s7{_d^|4iG9HMKxm1myL;X zEuV~3FnN{2GXd2KN%vJx;O zj#nd_M}hsJQxA?GHwSYZJ7F=^BV&Nv>e*)@zdRMVtJ+BvCRx=!NyS=xk$oSIU#WIc z6nJr|C08Zx^ktZhoL`*l9gFaiQQh(1M!d~0waNiZrQQ{ncL@{xeyYl`e)?<#HgnJA z=-)@?+Gyn6NvXuA8jl>4O!2T`k@|*4ZmxG?ZL932sE#2~Szd_mM|S@J zfU0`r0CFcY=$zV40>^q}!MDK&2}KBJ+T7c$%?5upt+u;ntcds5u`03{zQdoWF!R_b z6Ox7)+<_7|E?ieR-=x6^nbSKW&(w-sYnQeNI?e9QBnf%IfzFKcN?0ofcxg)=T!$Gc zz2=P;iswlr6F{Cuu}hdV(EL6+nxh4d*7*DKAswaW&f;u6S{{2p(JS0%9{~n~?Qhr9 z6Ej7F@Uqj~MX6W=gAx*|vVYvU$Y2%{Se27mi z0|fm9Pi>ECGJX4M{?b)m7DG#{j&B?HKGp4#ScJwxTqs&WxK3{0-~bb8>CiG>$d-G9 zsjrKC*%{%(HOiutk7b9;aLMD;nG*3SQoQ70ZtrMjh-B6eDtP~g!B<6hD1=Jw#%g_Y zV^TyB5Y$&po!q;A$Bq@bAW`6gY@^ePRGxKo zH9Kv%>?X840 z2+pbj$m+M>>J_6EaR|sIFD6r-tYL<)==y5chkh;0&GCM**oMQ!h11wf^5JMHPX_(5 ztkGLn7*$*?-*QGQ4yrmnrrI6&^=k?3j+f^ucIQn}%o&1*vPR}|&a@(D1e3Z*g-iE@ z(kh`s%4tl={je`kS->}lL^j##CRp8Ecyy;o$u)*DY~$&qFv~k-?7auO$+Ms% zzx;A*N8L2uMA$j5-iDaN@>&&8L1+cNFN{;is6rJcR})`wX!iFa*LrnA*S~TjtZ>NC zM`NEnUA0Wc-Msz9<8jb{_6(R94#Q`b8*ng!4QAgwrZ}>QTBkNGkX##PTQT-DCBfGH z)82=M16%eBL7>NC0o@9jV+4%a(7sBf!qyMO5yH&P&XeYA0EulfcH+weROUZ1n^(h6 zq$N9|?e1%j6T|vwL#xH$Zs%wj-LXDNE+)fEuD=4Kt*GKkBF_}E883gH#nps2%GQVM z0~60|o~7xL`KuUo{lJtUmUvA12OLLofQPg4%|XCRNz9?6csAjdJC`YSz-RWT#Ynf~ zT!DB^e)NJG-Vw_AebLL>kcRI<=J)JIiWyl6o=R`pgx6 zdkW1#*udW4?U~bzv37Oi<)W@r$SW)A!zb_P>~u`(GD`?lS6is;qYK5%nTolaG8<;- zVX36y<3+C2$ftaH9*l@`zWyXp^`Toyqu-e31rzx+4vM?LUQ=08JY{gGSVEv&L_sjx z7J9kj^>oaAxcZxL#+y!wb_`z8p`xmUb>pvMfv-$cW7U~?2dT5dUI^!+zk7(op^1QB zr{}=6*dBZb?$wd-=f!<-FiO%^4hN)>f`ZhGN0Z|ca%^jM>H`HClTe8cpp2Ro)CaRQ zfqZ!M4USBub@!(`~CMa$&2}x!Ot9DL+ zFQFLqC+a|LrHyrV?NVnd+EAVN9>fR!(mYSyf|xO2|5dsjwm5KA^#ime-hu!PtIUYH4ZIY8hx~qo85p z+QzH9v}{vS&Aht$jdG!)MO4ob9{$ph>aeztL8@&|6F?u)M-Ur{iid;Z$)q_S$x(dq zqp~Hnggh^0Sxc%6ttAkbyPd*`DEie`Qj(Fmx!K0{lHpi$y0KO{Wn$v?*V;dVq4|a+ zqkQ)}G~>~Ui%7uwA*JU69hx1fM*bbnE;spkCZ|Fka>}x?G_Ed*qOlr258TP_b^~aL zm39F|MqKHag#Oxx!gPe^z)PyE$G0tjMy(E~2n$;8f%J4*J=6DFd<7>0#zrWgGLEFi z|0)p?3^l+I9fi@ybk4^PGWNIUfJf|$7#U|U-(l03chlvf0WJvDWTC?Pvws_~-hbl2 z267e~k=GhxeRwq?Y`YzvTGml{Ni^4(P^r~dR4AXdvZGcC(^>5g+54ow6}l=8k5`5c zSXK%smEfreVDp|^DumckLrkFi(S1Y->OTC*_7SEUfG>{iC6_#ctkZ7DcO!`PR;|`! zKpx>ucv+>qpFMLJiQ#a`DY(ox9kp&t0`i~N_`M}ir_b%DHdSI28l$Oo`CIBUo6%Q7 zZ@<2DWlk_NtQ3Jxm?05lPv53EZgDJjGWbNO8!L?Y+xv+O>9O4yjQRi)ORzaZSo)YB zE&$A?6&0cCDpZXNHK9I)2SsB-O%8N-rZ=KdHHULA4~)r|nEi{v+sLYDsb>=OwVrio-^ zYForhZ0@s{L7lQ`$ZDfoUu}ZrkL-&em4vKAH9>f5Ufwmkjtr)>Q40&)e2sw0Z7cHQ z82yS(6M6qaBJGzEVI}NzPPwiAQ-($uH|vgZP8_w2v8x)@HzI}rq#DEmPCx=7V)^`H z+)cZ*@-mMj2AldNW{i7u18iI*Vfm_6FLK%$;b8L;!QJ({h>8zbrasdK1A4~Kp+TQ+ zFWkCw3A0iVIbUo^4yWYafcfeL@i+L$cC)c22it^M~k?32O#l?&%Qk8)q#n zdi`K2Bl)ry2`DK!jjovlHE_zP_bkF4jDPgUMOsW9vMU}^RUSF;jfVkm2j9#LiLRQO z*1c;cB&kJ9pS81wF@{fMw&RxopNumoDWlEUUnLLOyOvjlRF#rHlgE?k2g_E2HZ8ZY zd<<>%EN7ucC@4o_rsD!Rj?I@qofv58-@d=z0SqD|W#4UquNMeO7N#u%msaHX+Dl*Jlb#*#9otTMVkj`vZN?*{c4 zBPoY5hrxj;R7RNGB+>Z>Za`t@UoN?d34vq0n56vF(+({j@z|E%Q>y9XvWY9z6#sbM z-{lPQIx>!!bKIJ1N<*x&;5EukX~5d)RBAmf3G&};G^H5Km9p>g^dMP;P7ca|hCb`T zk7bxzqwc*}L$iEQ9Oe|XkV4GQ(aVQ(3fa^)VoBhGTTbo~Q z4Q+d

e;eiL@0gpMz#;YH;!&NN?_#f|VLuHU?QI5w@NeH^Zdn?iq&qwzs!8NxEL% zRxJZ`#>MrqW+^dnI%JYo# ziAATaeC>~wwf$cOntL|Jy!y*zG$7aB@iW_e zzSrOw&R8;4y-|GkuCNbAX>`ofP~A8Zx33?S8L$!yxqh^@ID zW&dXs_kTxWe(^m}fLpnK_l^N28wHWEm=U9PFR8^vQr$-qfLp`6y@luQ?lc~fZ{NS7 z=CMoo<&J9_P23M)t*LmmcZ&%ihOk-ViRi{yvV-hYs|3RLt&ZP^Q@z>kaGj6Ovju{q zZjQse^v4p(#1_4AE`858|G`S*kO!oCu%K|-0!geNFopwIx7NQqsZHfup1CizQ}qCR zYs=kcPuF7@#!S*k^c*mj>jj?*fQY$fnxX}}Z2faL8i4CTLf32S>q;H^`}e$fYknN+ z{SHj&Cn#V&%o%cTrM^Re^ZEm$0Z~@pMd6D2s_Z|MEsp;UG7-SGWBp&Y{pQS1>lK)Jz11BE=i8T)@( z06x%&Y*I4GYI6-qRv;2h#d>!dmZa{K24}fq3(z-+6;*J4O$kMy5ojBG_Xg~cGCan-6BV{j1Mm1RKWzMeZUg{F%T80v z?BsnA@7$0S%kH`!O^m9if441n9~Bl;VsNB~Km$FytKByj5@)d_PFBDNwc&oYv_u+? zO-o3rBFq7GNRo$>lgq_WbEtmJ{NMk+KuiGKbDw&J#Ozy;x~B!4YxMhILytdJmrj5` zgsYUy$uP%4#-zbVdZZ#TmU!lEZ%acD4h=OS7-g#I0TH&AP;HNmbTs){eM;IF>U16zw8S@++h!9WG ziX~aj&<41H{M6$(=g;MUH_6YZZNHgO7BTA!@;kjfGdrsH#e=1wyzVhF8%h&g%R&$o zQa4_x`+RmaZ$u*4VL6c_3&5v>%R;9|&1;+Ql0U>Ke}`=c$7Bnb-PU#w@vS7xastjX zF)>Q?YDH{HS-kPo8e9pm$?gMyXU#1=n-P&o0OdY`prqh`1N2`c*CnuJIjBR?UVip{ zaOBFPy{Fs!(cj6uh}epKY^tBa0vOf1pnP{M$DWjd zB+;wF|5c_k5CMrj;&ia?^uMLeTz~lsQ44TL#t1X}SYjINO2F~bt;dlFh zgwrwAB6jnu&IEz7Tra7ucp?stt5RDAu)=bev-Sk?7Y7vin^f|}={3JnPpd}!V9MzJ zX8UtuMmUgXyRD7S5oXdy`jC&vjN&d=VMMr2?L zZwInsa4LMI!GD=3GnX074i1kg_y4aqOr%+K^y1H-1c10%%tUQkGEQVHnuN!C+`Dm~ zk>&D663C(iyloI_B@E5J|9sa1Bb=BI#bAubfx+>`}62EZlKrG}Mlw-Akc0{-NO*~}$h;PrU ztG~P|Wf>Y9MI&c6l^mMak6BQ1;^JPM{h1)XO&R;zz8FL;IexjXzVK+i!*k)Y;;}1a z`Bg`tAVgkQ!<8i_@BxFITOlZ>sFYb74_;gp85vF$9TW7>q92J)Jgy>DX8NO9+`Yn4jI^zPiE#qlu&2UQ1lYjL3A zP%sA&cm06_p|^dSoY?(0aje(V)H%PG0g(Te^l~u1PzD!>gd2%R=ofwy0+{M`wjy5Vg&TNw)h1E1jT^J)l z8z$H~Ck;7>HS|EDH#$HEX?>bwWfpC;p3w?t+8xi9pumyzyg3X{Z}_-DVUQY}1-xGj z{sR$ByGLs$5_Uztt&UX3t}AEZpijS=`VDcQz#JJ~p(!Hz&1R0xahh5a-zUC59KslV zN*V(=88G&iNrvO>P1Xo~?D+VpW(-{}ib2fGV}IHL84WE^d#1#JPE6uEbgKEY5l!FW zLMws?WLIoW*oW!`p2grs=0ji;TZQnu=+5N^<%M>ik~`VsMnQR z3-JRMQouw>13{^`(?PqI^r{u%vXJMy?awT3|9OlkL=mT>MtVC3DVTI~Us6PADFzxe z(3K%b!DO*m_;{mnfQLv2%j#zbU&)_84K~;U99<8`0tyAtVqYZ;;3&;E$Qfx58{{Z( zu~vPRM(%UV88w7=OD=5gr&w9SP7(TqGD#!7e0;vQPe|Ei?506Ht?buKJmFeV;h<}b z>)Vj?kUuxw&zdzzEMu8mNPb-($KL3D`Ydr&S0GZWxpqd~B0pb45DB^um&%M+Nqld~ zf@4WQBMYO~tiXGdXlBeGj;n7ogX*BvoK@jFBpGvB=Kw+P09QaUlK5Q?CX0MZAei3w zP+2<)9w>mUMem%J8CLU;CNo7YI_;!^lE=rD=vAu_ml{6>e(rw8m{Oer!;JISfgc=n z{H)fah|qrn#Hxooy*1llln8y@8;nNymywMkc~5}$tQ+L@bTjJ_{f1j(JgXX3Gsz0v zdoJ7Afhv(_jZz0689(7SB2SlzI8>KX7_L76k`wh}XKdb}>q9DwyX-h2!C0ed)tH&A z)rW7MTs201+vAhUf*F~T(QuFV8>J{B6gyX>-x2O_w3QNjN|n#1;_|866v&ZAmA$(S}nbhe{oNJm)sZ)fmKw2yMKrOdF*-LI|nrp}Y{SC9`B$>V8tL4F2dzokm}1P*T0_$ItP3xsM9)7blGVk zEv>EoZ>a^(W>G_D>YR+vHV5~>CRk!(%Js>#r}~X?B=XsydrFyPaI)&$Od{=C0}eH$ zu6@(&BwnZ8_bsWAcMyvKzq(E&EAS;V(|}E`@dX*Y1qm0SQ2&Tu!MQt!^$O$o$8_yf ze(UtO_{i8{w$j$@c1Lem)qO7|^5?b?b-Z!eB|awq0YT@37b` zf;#6;@=}J{)K@r$dZ&yPDKk-+7fV^%PE{U}>@3oO<& za)Ks=A71Y=bci|8zb4_7IO zEK?o_CDr!ZzqCcoG@eH!%;|8=n+zBT12J=(e@{`|9$|AfcBXL~dGxwT%JfGA3R0I?{5w|6vUhaMceM7)ux6SuJWjyuI~;ir_6> zGSVT3VmqcK0;zdw@rC?+d^*URZ1mO66m-M5qlu1x1{@ncJso^!t&h{^(|f}3i7ym= zg2&UE#l@vnR@>0JFDBnk-v8B%>6^tS)@s}mHWIJET7KiLi_NE2f*=W#B_4+m{`<9H zQxcWLASM zytd@u%p%+pdA^IiPd&*`hC_IzQiCFr?2xd6G?u~DKPXSAsT6abblQMl-KLbujlO}$ zI0GPVczOB+DG?wNZo3{i96erTSyq0xMbyzN$E}jlDR%oq9aPJ-yo0_hodw-4$V>f( z)&if0Yj<%9TxJNY==!n<<-OB(P|ZCJ1tk(4j*Bxy1DmE=0r`IiEUr$8xwKbQyA3W7%Fzik}p}tk4zPKppDX# z$SdWIF(z3I)M20IFB9!Dn3tr<#Ed5YIw*(`$Ck0WGd?0Bo)TgrN zTS<}##4Q8TuZfJPjPEhrw+bjNpakIE$c!sd|w6z6I z{rZRI6+1H}q-e!b(uU>lj4q3b2t3M|o%Elu;A>Hcei;-4(b!g!o3BEn9d5-sJ+Iij zuI&W9Z&efz^+%vR8|2KUL0vgLV_EDH)mcsjYERnu_o`z`ua#=beJ|CB6bhx$&zPx` zT_S zCx{m;%6I(0he30#saWoDqFX`Ep#|K^u^r~ug8Fhpvcm5DysLG6Q@xe|?6iiK86?>9 zj78$jy;mJMzb-{c=(mi@jM8pv`?1#>i~3PW5XYVnsUsjMFmCf|Izi90a12c z*r+0kv@}Xdr3P{%=r2-N|cQ=9{-QCim(n$Bv-3@2+`1roxd(L0$#G&4x*gm5xfXS3tI8~yzEYc&&H-5*PKRyL6r5SBJ5*3Y!5(Uz(P21Z^FBs~G z13C3Jwj^`JSCQGs_&FmAccC-x-w`|!GlLJ?EKb_F-$*e9qXlWeODd~6b{2w4R<^j9 zsP@Sf@VU_nCrIXOZc`A${7_slx~%rDT_AbaLs-Iw@i?+66A5X> zV{2UUV6|J1<5}>~3m~36O$bL;Ly7JvV4llc!kp&E&_E)vq98YEgXzXQzsF17B4%yc zm$0L<|2EaCpx3x71wSiX8p{!^EWfD#c!CiBd%^N-0P^w^K{MxbV5jx{{v$fTaUl;U z1t(kt=?A6B=ZJbZtTa$#W1dbijO%3L0FyRXra%G~PvD5>%9NmbS2v)4kgj*I3QfwV zC_N27yfgX_2*`MlGHpmkjDuqV=DxU@6=8uP>~|lh9q-j68*#w_wQyYw+AC&*gVYII zwMlGR3AXCiy{AXC$b>0R3TO@1^nYSUi1OXUIq5I-E+t97A0&WO?0Q%T;A5r=bVfHi zuoVqHiSAXyy^aeWo?$KzAvp;>L%N-1M^9qec9Vh6KlrF>R(H+B4Y6Q!!SIJLW4pDs1xg9Ki=%bt z+Ja<8M4wmeIFdQtEu*Cw&Qe6HiFVb$yyxRrH4m(~k%?`q5?`cMBgP)xJY1%!V!ybl z6ob!Ssxqo#MNKw9RelOKctPJ41Vrt&f}5zQ+%x?A0NXd8eESX??YDcjc_;w006kEx z3(mDP=rBl^+~k35`r7u@oJZ$8NHMivJ3Za<`9{4tV4v231>vdqrjxoDKeThZH+2Kk zw0~FbPu#18gmKP*LTzN9FYSd01KkY zYQ3yV(y?_w&dQ7ULlXYDjVSx!>XPR4N9hI%zw}}6sNjR&UD}IEMU;HJJZQ#`mzVZX zKYUJSY-){KEv_2oqJ`QmD#nbtODN#OZ!fwmw99 zEI=#1Es@SZd(G1Rl!;L>Eip*?mf08Y5obg7FqZOF!8P z)F9lu_4HZL(`#0^hNF9 zZZPK-{CSVN6|8x;8!ZOzV4gScMjco?cT7i-}B!Kan{~cJ`l|GaGm;H zFMLW*mBo48NcpUPEhw&{!>XUbdLX@lfMz!}7;mTqE!I^n^2?3)r&*xS|8VTU?#R^uN< zDJXK#_@{?dccu{;RiyLgkEz`4pPY!1U=w=;wFw8D@9d z^(GD0ioC1|zX#o4;QUm7?VRjkr`F{w9`@UWD5K^Lmg7ys*Zh(*_=lNOsRj4|GgtLg zSPhm-oLKbw#@FdS$e!9TR*rTFzn++n;pwp`gRO+iNIr=%*kCwCH5n+tw1U3jgPpPs zK@#f!-;q2)rpoS)I9aFCMQ!hic+a#f{qG{RyIZ8m3CZMt9tEFf3WJX_WwQgiBiNId zng4vxAQ{XRJNrM)-+khVCj33RTPfSzP4-kDHn0}=)Jqh~#U4~i=}WNo`TC8%wGyNF zzr*rM8V79GSph$;|NHo<$lc>LAEeGqP`=M*XV1zs4h_o@)u{{5##`06!KFV~#8&*< zz|a#g&O?f(QfjcfxBKVk+i_T_q2C9e9dC?ul!pJkC4HbLtRBHcPF0L$RO%)C4 zl*DMSefZA;xNGY<`V&@qsNzgvvXxQ>^eNmC>h0~g!ZDCI zqSiq$XjnsV@mNDaPh<-fi$_^wSJL{QH+UKZ2IFadb5`Y_!Fi6z&UD{_Lc$kDfllyG z|A6iG-JQdIysC+m{~1|A+UFF0!DxSfd_4^`v)&w*1^e5K&pmLkiTZl}eaj<-S7M<@ zb6rCsf1eTgjLbnCEHcL3Mk8Gn7<2#cv^^KV_Aj&lKJ)g)lX{2PB3BmuhF2>X`Upuh zZN0s`;)yA_sT!N(@Fo>mS&o542cO~_QjE~h9yh+)rvDmA@8fYb^M~1MiZz0QX}uOS zqkjkPIbx*OD}$l~mxvxxELv`08Mv>OpZ%xTuQsR+mga+V5*z0aj-Hi0)bVvx)!Zm7 z7?J(Y!YGM<6|%)jKVenfVkC{eM{Q~qA~$^Z3dls|))pueYO z^Vfp@{rSIdMJ05%xuum(3;*ALLh}CIE^*Je7WThC{bzjw`@gz#pWHj4NdG^>@bGSZ zAcQaD|6jZ3^XlMk(>QI-@G9iM@km z86Q8t=3z&;@!ux@r>C*lV3S45#k_R)7lEOYbMZdos;c7H_Xq_g%jbu(WHt&CD=jj# zR9LPqrfeTSeq0jmnkT>v0_M(CJytI!Bo^km-)yfo?cv0v(31S&n6AXhY_n37ie z^}NvS4L1cPr7*+z4n>j2Y!k)Nr?E?f0SX*WEw zf$q-l->W*VmiAGTZd`B&5!HZ~x*f!QeL< z+=qt$$4d6xkpYI{D-=YG6|tb%;DW4ER`&&P_i}Vi#JtHf=(;(eSFBb+nf5u6d`^03hUuV&evBZPBYq$ ziGF^3Axn~HGsiNx-EeHk#pz~PO1;w}a31sY_5-M|wsf2AAM|^rQRk5$LwbM?!|}%N zwyTGSj@i^**M*V|=NFsB`)RgKQj*8Y9i=@2SXJdef&=jw=i38t{AtoBblCV$bT9ht zh?^{%xvj<(uWt=cQw8#nkUZM+f6L_Zm8q+)CJF2$S&p}B7eC6Z3}D7 z*iNC~TKw0t8wkK!if<`mftvZDlkober+#HM?IXU6vZ&Qg*SH?iywwXLCT?0Z*!}Dm zM%t-$+;_xV(J|TkER0lWD1d^$rzeGvo8oK69=r#~k!ZV)|2!z8zjn{UV79^4ezlLp zQCAQU6#4zX*gZ*|w#c$e7kTXR%pXMaaTzopyWcp|8&gsAoqBpIVBwQ~+aP^H_@!04 zhA@!WbUX-g5P!a^?{c;`BmNCci!VBnFF*{n znV^}*)zQql&qn$4fm;!|bc2D5!3_d$;NOHh^+)=j-o6pZp9BG}<;)?mP@mLW!BB-$ z3W>(20j(P)r(eZVXlegkBJVb7dYQX*-vFY}m7624zdl0Wf1!2yBj$y-JP98N`{P6_ z4&;hTL>DXS6($}6+FRC-=q2y%HC;aE*UV-5<%F$Kg8;l}9UaBft#^9uG`1y8RrB$b zIks36gArRq@EVSDCx5%zm!`p4pi#}7r%@aVpbttUWb~PO#|H}U&Kpp1fsSkF@@Q)W zWuyK2qRA)4N)#*W?LEL2Ag5Ri>28@rdW5JCw2x!E2fs=-{pT2EEC zOim`=%s%P}!c#d{u9-XCner>pD*xi%crlM>hrjMJZ9QF~wET5Y4Cr8weSH`5%ntg# zHNnBO#Br00(;bZ##&2&sQI-V_=f`vd(aoyG$x7~4!ZBOK09K}WadGjXnvf2l?P zspJw_Vwbw3TbP)wy+2##TE6pio~;t-YN2@7p=k7;4;8ub!J$83rsVx2nsv}+>126$ zGGwbMPc*yI^9RqW*F=fB|&}pYUMP^Danr34EjwCc|v~tV#DR1f|C*7 zRNJT-Y1a$Q`G)~ef;2gxYn!jSG@`R^g?+(@yWmt9M1d8<5rsUkZ(?8Q3->Q35pzyB z7%Jq8PC?+&ez*C|&BBd-mlUp`C}Hj}HYca?y^s zz!PHPV05BS^SisnMTSKlKi#^HEoSQQ0&(fR?&UF_ZU>bR*uwHhGPnr78I9lXq6V)( z$Zz-ggDEti*j-x`y@OM5mwXxZZF&V7q=V;E_*_KTnp>U+lLvwRZ35A*?~+#Y9G~Nc zPh>|>K7+Q_RE~QRt2xENYJb=V#|;XPmMi~&z)qVF&7}{rfS`MhYA*I>oqs?mP-wAK z6|&R(f`5ZI$3wzn@EqVNL7gGbDEW@pfsu~7a4>z__`=5B5!zf`VLQC@hTZ0uzV>qv zrhV6X<#}{#wNbzGlC0^26F9nAL|;w*dpB6WyZpc79gpvB!ASzk=xr}c^A{i}#|r@0 z#Z%W~ogbzPdhIDXxbD(hXJ%`P)SsAi>r~~KTq$~RDi_GmRa(C@IXDFFzxnrKre2+ozb4!=XYUZY%|-J4hwjT$akJ2ezaY`6Lj!0HjP zpPWgIK>8fm9 zW11EB6;QO|(`=wv$x2$V7klVi%+U7oCa=Qhg^LwqZI zL%#*gLVG7N$cl#2bw6%_#Y*E(t5msxMCGK~)-Dw_LVpqU3xk9=2PEZV3u_ve{Ibe# z=er*AZ$;z}#P7hyp2;v@?7}rHeD5=FAD1|i+H6POSNn~ygm8XgM|eScb6#Q*C5T5Y|HIpj zirfu1 zyv#r-6a?B*ggEPhS6|Pf!h|}3-HrN~cZau(H<$$NNZ8=;?f`|P-iVf{{L51^y8RZ- zK?1U~k9yX-Q`s!|OgcG5rn%iMLOCB#)`W4g%|T_RTxg=|*Pg@7G!OM^PFx5IE}g&7 z&6%iM7h|Dr{reVU-q;Q_qiJ|RW%6gG2=7ihREsVC0cU7*rn?bRdzr}(`_12l)i$kB z+)gN!=A(f$R@Feks;`ff9Jp{D{Fbxe2?Zq&fJcOUA2KQO6t zg0^<0i~7#7w) z&i&wwm`^*H*Kg^dtj)p?E{88oBAKT{V5#gT(nhll+~>j-7tf5o%*}mD7N{-Yp?Y^R z4e<~5XP*#iiQa5ioqIU+^5zcD=aCzLH7B5$gNRysfQ|3*a6gd|m|4~aa9+{-EceC& zy%tASZ=Wm>3DYJcB-)MjCq`cvNNIj`pY!HeX62_774eG5oL*z84>r%-7h-n6K!^=i z!S~^mNIkWa{w{-%5qocHkDN;#i4^DCcpRcNfsQ7lT9 zuBi=HCxnDO@{7H?VBG#La?VnroTo~Ed`|ZA-Npfp9kFY5k**qc5AY}6j^y-@Fi`tt zjeH5fsDHuXIZy4@-x{dStk>j!yr~~RtR3%P`t7NEKlw|hFC`CP8g4J}AnZUPErRm3 zVpHg4&HHn981G2i@(&GF{|5vP6iCH%Cu_61wT9!;w!uUm%pL3qfCh3y#bHN?vs?C- zXMNee^SUFQW~$0oW09!d1?2X96UnpaL+z;O}fA6iTJ}9W@%;c_EKNgo3wMuoD2Pktqx8zGbZR?%*oi zYj?k@u|IR|?XOFLoFx}GT?olu9&1oP2e;G<>p%s#f$3ea^!xbMV@UY{Rk-5>YZ{#DOZ zD;_F)bo-tU#eB)bdObnKL;W_y<$8`gts}DJBEEAmW@uSO$SybiUkmfZr2!k-(|KP2 z^Cb(OkOutFU||fZO7BkB4Q%7$nZ0GVc62@K#)|Ry?C@^wmTvhI;w%+*iDT-ETb;yV zs;HSKbGLh6wU4(&r)VENeAp5r7775gJ(PE((#jWDuzW&Z(Tb0>fJGvPlS*f2gATX? zsI@O#GFqh6YxmmYol)jfp7Vqz(|)+3Ompy`ZgN9K`h=NRa*r7q3leNUHIL)W9^cw8 zo>({YCP2cxby>iQ=jIEZjngV&(h>9lqk2J3YYa`K<@bDZoU$7U6}r}UqbKSwdR$-C zGRg)JZ;|%CMtI8SdqfL+ctD`2evKSO+flzXkkkL#aCAeBHygG99|GrzV>oc}wK*(9 zb&hn*mQ*iouEy=pOxNE|*Sbl#wbv5+4#r>aNI;>A?u4Qd-n2g_==go6RADr^cy!I7 zO&>+{YYaRO1O=i#(w!m@^qsS9l=qheCTlT0(_(^#v-Wmb)aUOV3Vd#lM2=pSkm3Eg zi-?huz-L=DXm8&Ay`I2NE~CN_3G)vcG}j){&JKN|k9lJQ6f0Yr+}f-KNCD zwA^|viKe^vxVC)K02G}EM2hAev`&$^0Uiyhg6{p-1p{J1+;3rp*zA(+E-!4TqWAYV z9QT5udjFx(09fQM#Qf9DAfjz@Qo7KozIIv6TDq)93c>W(g^JwHv3Mv&bay#FES^}% zDVc``E{hRKteXv?NAC8QnznCG^VyG14P`YOv zNt>2@X@X5HzcrM_xa^9o2+`;9Bwzh#U>e#4;7AFDG{F$S?92-|IEeYt6Y7Dpg|?uW zFGQzsPXPf*Nf6VcSE8*Sy;!w8DZu*D7goHWV5t7l+)@t1TFSqBVO>j&8hhENIr&L7 zac%ZZq5xmti)Y+6KCQ4I1LWm~K^+vpTUKG*niPw={S+Ble896cT22sKIRC^usRGYd z@Mvo^N(Z4iU-79^;~FZ#R?!{B8vlh(rVA8dh`rrYlol;)Svmm8qqJfhuedOfCUGh87O)0m;J zF-$GTwH|CLG=IP4YOwb;f58sOx+0>{JP|N=OdbJDPdtHUwj)`hz-K*DaK#i~7b&1d z@!vS2EeK5-zT+tAUf9tSgTeUSo@F{o8gPq0zAjk+)Gy75vcYKewwd*=0+N8o8b!J= z%vvm-&_t5w{5|w~8H6U|VOfY?t0S2(51lg3louO=6&CJ+G~o^GKXKTZ8(Ja0P;A8E z9W3IV47?`NV&3v!@f!BK)8zGn$aKjrgV?l4esv`|k(@H>I*smf)bS%#5rFdgB5-); zzK}{2S`+4*LR7`IR^2+J-S(CpjAi&2vXfc3MNjICng)wJLQRrW{&=-Va|eY4?lK`; zha9QukH;n5E&C^I{#k5KzKGEA$ci&w;1J9EPn9T%R!*VsTD4LT({eH?mfQn%=cLm` zi)voKLG<(W9XhKR3?Oc3Ys($ZR?LFpJxfy>m+0YzEKm^ir3@C^3K3^gr8cytbU;vR zBO4Tbu(u8}uRD*4s5T16LM#jQKyX1rge)uxMpd@_E6EQr=vf`SawVB~%O*#=k^#a_ z{3O!}bK)~nG^J?s-r?vMVK=C;s_N45)kEo7$$k>QJTn}#KD^fY;ywJn3+uQ0=}5Jl zE~e4trhR#=Orp-OAI|E+#9krMB27N+3DaRsdcS}g%L}P#VtS&Mt!r7c%VW=SXeB=t z`aw~DU%fwh?|8hFyXbyl$elOOr$S*oOHE4ezoJ{nvc_!r(q6d3PgkI-V4B#2FWM$4+{!&x0+(kpXq5fxJT$<;`hsqwj_7AtZGkI$2LYN-zr^DAQc)JsHY{<>3^43yDHE}^kw=a zyPH)#Wk?5&7H~kQC2g2|E3hm>GtHz;TpbuIdH&`H$zPx>6M7e=KfsXQ*yy13()=Ja z+jsJy?5I2+CThvkneq^OmO@=Wy!7Y;H2I076oN0#T6BXmbnb_$i!yX>Y-lt4Zyb(^`uH^VIA_gCi$=7?;$;l!0YkY-#<9Vw%VwsY-S|fRjtSR?+nr zebmPAOU~#Hs`DVBq3F6aVsUmCf8I2sCTq_g8})U5n~2T{vUAesyDAZt&y<|3wve!` zA4HI-X_$?}N}(S_l&q*4`1giQzGrjS61Thg&Q>NiWMl_1y8kN`Y!aNs=zfRE5Qo>> zJn7aXi7WGxu$O26^O)7w2fwSGFq9*ZWTA?`cczj!Brfd#>^Q<1%?E&ES5!h0W!E$8@1o}PR*A`P;L zT|XBXpVfJ=`TZqLSn)gVPlW* z%HB>IZ=9GF)PFG^Nggm=*nP5ne=(=$Afm2>;Cj8AF>*d^-&DV(hdUM&_uFmd*&gD< zomsD`uShiXy`fC(-~YP%RH48e1D0q^{~JFR`A!FL1muqy!=xn7=Ut*u=iVY63weTV9lAa;9bKBVv{9RA^A# zB8^x@g~)!TAzacHh=@GYDAubyimY3Dg!#;eQX*{eXuT$X7PoK8D8r(G02|LBAt6ii2HyMB?!iYbwN!n`IelC%ajU z{CMtkX5Y$a60OMUIrzpOs|dd%S4Rk5C~1=;GSSTM>=e-~91{E-OBrs~_t=`Q!~yV? zdYVap1j+fqN*k!bz|>@8!86du{1Vj7{0um}&$U@-1amiHDJ3w1k4`!jaA@YK<)nei z32Vviz3CWK+sk>hB-?N|s$V7JEz=8cUDxTm3hPzh$czp$Emp;DJ~QDAjCFCi~`mKkO=4 zM>>u<#3FTc(H}^EqqlX25IIsvyk0RX+U9TS3?mEkxVcI43E|68&SgizW$?%D2s9k( zFP{pUE@<1ZJ)GV4`2d%u2O#Vm?uudmjTlybw zer&|am@s;^DJ(LcU)lT!W!e{x-2J=X6Ox0z2N+@z5rG`YxG%SoQk00AbKO?EUvPMJ zbae;62tSCXS9w%byxoGeu)rg;i0iIRhgBc$Tzd(OhbLUW3lM;+#oB=XiE{)~IF zGnFk*2V?ePM>Ii?Q9enw8{mWd8brSWF%`33HYopI?Utl}U?A0fI((IH^5Ug$ z#g}~U?TIj)W42?I7{V$%)Is85Y->mDsCS_x@ioZ&1@NM)Yf9Hf`lsrj=i5*$;**Ej6Z_ z9Ek{+^}erueZ5e>+pLk!%`fb6Hct*+`I$R;b9L@;2iO3lOnr5wKTcu4dnFNFK2+Z2 ze39B_wh3nPBR0WD(BS($a27o33MCP(uiCa7+hyMPUFiMrkYJu3b}!`ONToop9-rHG zR`oP2*x#qJ5`Cum=*=n6BgWLOGP{ovQ*%3i9|YU|vK7)O0LBY~+t07vz|Gx4wl9&G z$Mt}!%4X(5y-~B>=v49{v}BJEpnCX$_{WM13_3^Rk2SC_Co66JbZlz(nBY%qot+jy zjtq^~;ra9R-n2cFH%w{ON)F=Z>I(wsxLAa+0jnsWz(nBR;`2d0IV zQ4*`GI;PEO**ekl)U+>!9Dgd>&YZC5fI2|Yp(pG8?W~(xv&~Fh?tUH&M=eM3KKjO( z-`6P0Epvh(#b^0Qm?W(LsCz-mx01?N=w0^im)FJdhIfhz#*rSc^9?_j&7|b5LV%j% z$==@gC5bTLPw5uuR0dvbKiU|+%u}Y;Ud}eU%QAd$sSkU#PTLRi_Jxv(b_J2^l7)Fbnmmdq*P<)WqFpZ(Xd2b9at=~d>1g-kN*=z0I|H)oE$K~;mc!4bhd^Dn}DlP+! z?pAS+rIzc<-gScl_X{yi-0?cMdX$i!C~lV2M~?=K1rPwJt(bvYPk|CqG89CNt>T^_ zf-|KVd|`zPM6JD6ad&MjErZz7JVMQfJw$0Px)kAbT4hw9xX!-!_mdTBSBi1S1%o0$ zMS0&(f44^gIyyN)0J-*fK&~FB-%5=PDTRNUK-|TmEctM3k(l$l^I;+@R4;IUsdK$m zOY^zG>dy})l6zdG5bmz>?G z6OG^f#emtdr6kT0HnohwzqxY+$nrZJH-EBx?ln(w*~}Kuv{WTnV-Y?vi*z(wbD)O0 z)O<8RN9Ja-Dj86$%%lBw!;3daCAc0$w=&s2=e8w)&F8$^j*M-E0%!Sbqg(g(M^)i| zAn|l|li#OO=Uu@)M?iKhOlIf50lZtgn!%DVU&EE3Po={*M$3_yb(_3Ey=BIg*iaIg zPENm1wZjfB3$5bglM`?EzO?kdaNJ)MS2OL~hAvz^B;FJFtk_G|)+)Bp3X66z6VFh- zbtj9YD?{d{8|hYrvmP^**$vei(K2aYagz$T_*_t}fL!I|Nj@C5BloqDTpWZ{ek@vv zgT}}Zy$J|a{DDIQc3LHNJSDBXhoXQmX9S5BwvPMcaZ<=$GuD+Jg+*70 zf2OUiJ%qPNi2Aj*3<|3WGV!A+G`nSI{N)0qB7SFx!YgE7%}{f+JU%aRgA`q$2Eu5bP~1Pcbn4!a z1>?hazoJ!IOuvR*6gd~`-IaQVV9K|sULUz)lCUG5NlEyLXx9%^|MvHz0t~YR1JO=|TTr_#AY(B=EMdA1XJyN8XW#9w9`9n&#UDBt? z)FTF<*B6eC$%Zw7O^*i)5(rT6>HJ440{d;A%4ib#=CfAYs{+N1)d9l8AWCSwB@Q1Q zLv-=y393c2j>z_}zKajier$J3)vGdrvL3<|5}^3|K)epiaJGVmT8?fu7qo7<{n;Ww zd{{@FV}mUVL#~>7ghOMvj($#OnnuH3<3kcTY`pZp$qmE$L;hqYW{OEOhjhbCM2%Vp z8r!bTH?-iZH+O(Wsm%?IzFz!_5t~K8$hui#Kuus4SmoZ?9 zv;*gp{zL?IOE(TrzX5qOFCFhNdbc?Me;BoLD{Y2eS0(WSJq+ z%K}s!(M+ddY)R^sFNejlEUSy=OOS~!(l>z;p4OSh(1s~)nQ4D$Ukac1_R<1JfY#;Y zY~SzOcO2$$f+j`_c!p!lEBysBZV4O{m-6;I^X`zTi zH!3O-vCUAG?wiB{7Mj&yl3M-`IVsEt-4QJvn%76?yr%ZAb<4Km81>a*o?FwkGO)xw zX_uEQEFYY#qP@Sc3z**Jhk+}(lyQzE&dLFtP)p1xgA$@>L*LRiE~e(;jN|0UVLl|r z-LpIp1#-D|DZ3}EGnnXW(S}@|#;nD_!GWud{W8a=}<}n(YZ%=Z6 z!eNA($)n(JV=uzzXT-l5FBCU!=XIEzIwX^G<-RC#E zpe(~|-pet|t#~#U;dAycaqMf;Fo#~YOno$mFKa?UOgp4hhKFddSu>M?@18vFi&O!j zw7}!;XE}jphf%J!X&9<%L)NuWg^MO|)LsIkR~m;?{cH61{xSL<0IZ}&DM6XWACo+W(zJ}Jp>BQUDDWGH5Ha)p$Edr9U+_CtVdtdc^nTo zCNeSUBfPBPD&`r=MLLieiMKQmv;s5i9zF=TpkTKMw{Y}44J0!&i9;>M2)$iIE!(;c zKEVzAjziXFO~^^^x%m_35$)h~J!ftyqtdaLT&9}#!EtjD0CJLmb)Jse6-L$;K`CMW zu=d`@KqWqlUO~OU>RXqatA{6z_>5;aKwm;5_6qnkomh|$k)rd9FjNL^PZGIrwU}qx zzWKLCT_F#H3qY}xk-yUun0Zy3L z7xv7UZLK&0PG)=Z&l@Ix^}$G}a?IbP9UNAs&@3}S_u%d$ISOpnlf?{hql=@t(W-dl zlpJUd(&|k&NZ2uovV(H7RXUT-5*~#S7T==hQ zf#r>he=iE8mWgd}WHj1&XheaOb~YNP&rs@zlMZF0g_?0MeyBG4O?BFf8AQ-hZOyJ@4Kf4@+wc$Y#?IDFI>@niaTFE zTC#Ofbh$UC)NDZnFW)wxTdD8^XEeR8FHQBKY^VuHAP41EsY0VO0|urMgNVBnh*h?) zHuP`VYrh7tMSOih?EsJ2l8a_#p@j%@&`QW8Qt=FmxolRwsIaj9!1r^v=~{iF;TZL> zUX<}<8?sJOSYQFuD9w&E;V;C;7@em|Kk>uU4MFhT(lcC>{#Pw-UK=zP03IUTC`IG$7+KUd=Yo66d z1bP!JZ>rF!Wd#av`rhh4Iqt#0hBRgNTxz3Gf?V+^rz#-!fb0vR{D!o+V?vg{3+lqd zeB@On!fuie5||XP&`=eW6^2o6brYWx;p?%j`lNw`!vPqO^J%eRyzc)A5Wk9ZvvCRB z4<+I=v_zF{o{@&o8W9mO40ltWVOJS?;~rmVMg^sOa$B3GJcdGlUi2lr0s9f8!be;U zgN&^!aVnfo!zPCKWi((!P_raxl?q~VFvzp}2YVUFN|J6^7R&GmXZ;C_ik{6b z{VAp9I_<)_-`aG23HFa&9C!U2`HaH!_?YlgoVl8n4@WyQNy#4f$7LyyP|f+PSX6E> z!4e{yYjAy8X?=)-T?rAkG3*s}i1T^Y_5s)%k0I+z-3q&i4=i@6VeIXGBsy2gV}Lr- zs1V1bC(>^bd?72{i`{)ZPuiOb!CL+14hx*O$c0KNV}T7)6pg0}DUd>| zU7a%tbG-|t{-}CPIzuYIti80$0ZcPJPk4;v&0rB(5%w!`P6v9uR9f`3PY3k16r@T` z_XzOHn+@AOl!N09@|z=IiL7_?oEREO#i6r2loeFx^!uCIG;hTN*aK>W>lKgN(Ew7w zFgSs`Oq5#E<|#qj4&l=SViZCHh2%SZ0s;p-+qgroVW%aG&shQ}h!5HfX?1?e6~rG)Lbb$(+c^>=Bg>*Z zN!T~drtMNuRgRZ7%P7ApiApDHWn@bCtx41y*qLDm5fDcz<~zNhrrD#aF=+APktUZ0 zXkrxHCR!&J=dA_vHy>Hm^P2`fX%m#EuDR{0Wol$le=Mw<88O)65f9;wb z2+ANaAR!az<(gtGm_juKzHZuqeRc1Y|NPiuBg;v{RjM9he>qMP3)UhDD^s@}bl{bC zme7YS9yyy$LOh6z=`;MS@s1~A3ok&@?U!(Fhl0um3LOo6KAXXhR^I)OW_HB3X3xGH zAjO|-GL{agCY|x&t36ZpF#QJqPSB?>hHpw6^FHP>>=JAYT=5V~d{`v^h(P2sRD5~{ zB|?3wTJn>KrIq&Fs0~8Xy4TH3*JggW`jwX$&8QQcU0%b;D1-AQd92uuXP^3%T6WFx z1SLe?sLJAQ+Z~9(bocu>d;=upV7v(*cPau2=rr%i(PPSoZUN|NR}bHx$7cYno1H}8 zVN<13VFB%_4gm}_oi_7Fi`T9Q9YHe{g;UTPm)voTE&@IXht+^IL`R53^KSj zP}f+~ZvtT3hToBVqSei6lI!O@r=Im7}rK}0Ow$QcuO}YEtFUb3eDd?-8o;N z>hL70I-Ig?{_50hUlNZEae@9~Y;P!}-1YyCqkrAHa32(qQPU~Xt$(&!&#YUQ6Oin_ zphMMgOm&*zzVL~*zNhgy^**8t_RlFtiz*NN5tmC9r^S-TaoVV;F}mgjKNI*AkY6Sj zXV3&NBqv9=m1k!1dkQvQh7TL%PU=c9b|R*={|+XR?g)xgTp-dJml{bI{RqW;n7_{; z{x}o&zQSCi-8X(I?SSVkr)Gs8=5J|CfU6rB`AtXW-!v5z5PX+CiU!P<4qwd66YA;? zb8Sw6yn3(n?!g%KAGTiEGG#!J{|b>A}J;*nB?DI+*3&0xpV!}FqCA7<9IK8Km zxEosUJROxkL#xdA&(H?v&Zwn6YAVAx++nDv%k(nplG`qde36vj`!0>s5+78+499*6 z#U3PxHham~v2^GRF+)PG(l5@ox=pt9Mhzmj(pn+0avk%#Hcl8rnaYHiuY=g{NFRd^ zTASM0%NwlzSlbs`3?7}On|gY3`rJH;o9tMd4Es}!tn{Z0lZdW=- z99@$e4orKkYuAB~xVx!89WBLt483idSewuF&4dS?`8o+oe)xe6qUMMhz$(h>jFtFc zK0ZF-eDA86_m}E*1P+Q$BIWG7?dLKj-&KYn&v1 z-At9$z3|GAw~($P`w4P73!M+lL77+(h$BiyzK?n$X@ekcqXWCF)Bu!Q=(jRj1n7!< z)f*5x@9|Yk;c#%ne zX$h<%-y>RS7*lx=oiyzr%K3t+e9g%DvdCs-lrqwau^<0@@0Il36*UuZMtK%({1PHb zC{LxCJY{i<7Q@G*mihnm4kSs)KR75U%F`I6;`$+% zU{z#M*=EyITVu`ZkT_KsdHu;7z6-=YUqCdLi1m3H_440)g(FB@Y!maa6RESq=FQA} zfsi0IKX721S(qqe{TH0bBt-yy-B?G>4fqqxr3waPj=V%I@fXp%Yq{-7IEfa!tcHx} zKhLfE-T}tn7_-R#13dzK^`Djw>|*l&Xal?&x=R*YPw2&ieg8N4;gR4c>Bl<5>Kjjatt4H{VGAT(5J0uJ*zJeRtULroG&h zeE0o}ZR6@>$Ub~OsZi=gV@|0cDP)KU2wb&{=4-rY3?`22L+%b`T5s^qa=m*QPY$4t z6Us5`sq98>AofIzE%%o?L*=5o4GY46 zUfBkzw8vN!iPn&Qnsm@VlWv{>X2!hsG;>Gf^J92_Tv#i;Hig6qagF`qBY@f2&Cd(t z6}{y_2I(4)EJku*#?emU(q5awV?39fEd)@Ko z9uW95?umT(;L%an1*ivg3iz`QBzdN8W^@grWGg%Yqaz&WMoIPBQsutEpN=tMg0)5IKy_L zL5rjf=Dd0bL^2HYesFQ&v6*dvWrzzb`s5pD7ztjU85L+%;{)oq>MGkQhz%GXWcJ)E z%;Yv3xEI5qdXMbm&a~@jUrr8PM}@~6=Kgh<(8hQO86O7ftsbI>$1RUhq6Qoki3nnd zVNep-wgX07FjtZ)@;VuNrisg1dkGZ6?Uq_VGx5JXTh9 z$NkD@Bg)>WYyPYhXS~WSDR1uc&9z#5T+?Pi7h_trF4k`w?6G#gvoy_wV0k!{5*Y2^hb1uI8#_mpIP}>I#*7wA}kF zY-jiW6{6eiSq~1L{F0cX?O+B(07v}E2|HR-QxlKVl}qyeyS%Vk!6qa(r3|rv>Wwx6 z)(-x@j%AjoUZ274Mqa1&jQ(z?mps0sAROyb;o%~DL*5JA?wX}6bvOlLg09$rL;9+k zS+~?=>UXsmhK7a)8kr#Rox0=mUQ?wKMPWb}MG6fK-6Iu506B4ON{R5=cm1JsiDu%j z#oqdy+JWkRctGe?4JR36d(x=$=hMfuhQ=eNUs+9harr&=iML7!56@TQxvsgzB*cx{ z{TKEo=DlS!ioWooQkeXB3-s8e;b-yfo!g|VS zyxtTOhLkL()~lslsLd&x%pv7zBe^IR5J_F~ex2QCkZVYfgU#{O&V!K_iEMRo(Tme^ zEbq`_EVq#66ofxtQDR%&#qNP{5pEdBSz9nS_<{{;Qb9`;TNyV&F>LX@asymu)p)TO zBA2+6Qc1-!W2sRgclR5!(LCx5^VTMi>%#-#P1rij9??(}I=ct3*Owdc`5xzA&p4%+ zc(Z+?c4q39kmX9at!I7C?u>Lo=lcBrY3r)vqT1Rnf`WvA$kbrdtcx0_s(Af^E>;Tv(MRkKYKlEtw-t| ziuOoV=moApi3zf;LCEnTqY#V1Vlh0>W(sh^7gGzxw8PGlJ2<0AekG7bVu4p`F}^e* z1E3j;NE1gz`}e-l=#RQ_DLD*{`hfy9Yo8whYnql;hVq#wk`c7pE5DR4TgFHoYdz$X z$ZJaEn~0_E2w+0E&~Ry-8JI9Lcf^&4hOm!4ofs%KgMWja>n`07xcnKzm|Pv$ff>JvOR5iBxPE*wJgI?ZI9 z6HeE=HOrgq&H~3!;N%%`Kb5C2#pO|B86ek@a~Wmzq49r6|2)qvYQyd{s_c7^E}&h< z;yH8-LOpsqUK!v1;%PsRZH^;+3K9quBstWQ`i)nn>i9)vuqy!MH(d=$^h{=*5$%Kz zzSHMiG=bUMV>+oU#@Zz4jecvelFdz;{X95G~7=h`J14z zr~oKbsq!r5HRk+7#4kZeH^>9ga9?^odPtvVneqX;9x8Ftg1O|t;W;17IKu8u)YWi{RPbYLL;V8!fP)_ zw?p$%A5dUi%<`V!I2$*D`16Gjjo0eOrQVGBI4b@Hx={sU4WBul48eT{3iZ3c(m^0& z))@+ymrISSS9XF>^_h!2=wD#Z1x`3ohAK>$p>&j!o?Eio597o(l>6o+e4=u(e%D&$ zF2MZUO^B$+@7!Y191_hl8t2q~=a#vgQD&uv;nlz6+VAb@83G@{Y*R%CFpF2V#s9fx z6jSfHmB}1Dn6UIKZb4iw$#tFG&qHMhNayfV8yh7@OU?2>X0Rs&lXQa2G4*g+oR7fC zl!t}1sBmmy7flq&`e{f?xk1v!t^(=3PeT}TSZ;&d2Pw`f}ljuRcF{OyxaXA9% zTp<94{#Z0iN}Y=74r{I45A2f>e^3d2Z?sLob?M7-Pzw=DqET};wz(glRIF~B>B8XU zt}=Kj1kpxBB^JUmpd0^3iyA74Gl2E$H%%%bfx3&e;-9Tm=KhK{XJ5!8U{hslVxQHU z0b9q#h^59CCf33rJKp1LmWKOLEM34ZXce;)QPz*XC2AzWrVLjnp_K}F9YZsPr~@fr zV>L=%Va;1Z{Yz_3&o)BC!Z<1%SzA8EmvxV}@(bnxOS@t4_jJLcdsZEVex-t~J^<2YLy zB6ul1O6Jg46HW9yw?i6LN(QQofr^MM`PS) zSP-P_wa46ShJpMOs$v0;2`Gs3)Uz(3Zl0FcEqLT>CUEd76I(u!_3w^pE^Y=wd!<4h zW`1ai5G=sK1g28 zHRZf@^X`%YvAb+Cw;?eoimOO#!oBPay_;!;ev6DsIc^T!Hz&F+2A#b)#zA15TL+qh zcRxFQ9uf37_w4Sf*xAg4ou3Rb_jHCrJRoOxH~Cp1ZDY$IO(`2nusCaSu^h%5m5!N7 z<98}07-TPoF;u5?-kcTDP?63k{#;kl@%-`8&E-dSYL?SHRm{%7mwQg(gwKdbT-`E# zp1cr+;v|&Y(3_WF0m2n=Pml~C5luSRn|0p?Vx(jdRy^@SpsCD7OqNfEZs&{oLV(H$ zCp;82TJq3}K~zA*JlsG;nuL(~+ZKlx+j1Wkf?6YuS5^|wRHTeJoVFMFV~7WJI-a=# zxwBtOYkxx5dW&}|A@nsYU#ftfo|DS&@pY`rt&+^p<@j7R>P`ufiM-|PE$Q`0=>+N- zgyIC~eQkJLT>nE+Q4x~B+$0>0&az_t!)%Pi9GX_jCl7&m3X(jm?8?`cxh-l@Nvv^v zmgCotwOTY|CwY`O2VaYM=p`9wmKHz(7Xa$6svxV!&>h-JB+?cfH`by%p0W#A4{WI& zRZW_-^Sf8qY&dFum0R3@v-sPAWK0KCs{l#mX99m{lvvS+)?%8HI zSwm3CBF17}s?7QJ64{Ezf(l(pyc0`8u&bZj%D@%CAgNHn%$-y9>CGaUuqL#&Lfosq zZNB=tS&|8x@^iTD;3KhTbrtujW&ez1y{ZEm6{GdR`6lzh&Z{h+UJ&0D`p|5^sQ6z* ztI>7)qUt0$^h?!Snj2~%ag{hh`_5d(HPC+fx5ekMOv60oINFG3Z$%RV!0R!+=#7#5gc~K& z&XydxU*$|mzFZDRl}?zczCYuR)oSW+K&PB-GBF>2QPwPYB1MpVY(u&y{LW%M9LQhlK+Ym$#KC|u3}LsD8uAhbqeiJ(z8(0y@r7E% zB7or9SCSipkm5=i_p?67kq16gl4>uz`$d-%;qZvoCZgI@q0tVYJ2+0uKfbU1EY0Tn zPApeV!c7i!MLGQ;^;%WMzc#IQm;Nz!IT?A0a!mq(2n>_$czIyDgt>_SO=DZjE_~@5 z9)|O6xsUAeQW~lfpN8^3(X={?rCDpaMhMlKU3BYFRaFfhUIxQbSKLy-LGxqr!1B}L zWeMVq_X7lk&}mykGR;qgp~*WQTwI=lhdOm^kHQ+;Kus;@_!b=C{p=%ArZQG&cDpZm zh3{oz+?LkS=Ti4(TXlR!&Y>-agyfB6dBZiWm(3e>uFVF=?vH=+=;uKF(naWrv#_rb z4%qwZese*Qjj`3@hI2SeUA>#ZpXS+jVa^VYRDTK3{7XU+I}x88wxt&MkA3xIiZlMN)42;4kxYS{1( zM6z;7S!+(GP4`GVr$?VcZGWap)@h&mTUY;sEEq=vx?_U>$w;iA2|OR0m5*C}Rx)e) zVc%PEy#BQ}YM438XPKz6{?pgDoh~$@FW(gInPeXi624hQFKbU$8cmVYoq72b@wReX zbc!Ou3_EM0Dd`#8l~rJjKa$NwaJW86g4Y%57UZ76F4y&Jvf2U9fzyEu)rM_4-jfR2 zUv|R0y!rASA4H=|VZzHLBU5T!Wy5lC@X{D_o<1|L8qTPevz8cRN|nITA6>&A?{{JB zQ>cmNh|gq%k+(i~1fZ70%6a(?FAOuSzfvc_g*p}av_qxafA)|fmE>>acxo4})a}1Qiy!76L zQzeHano;QtQ3U2eMLmyb0OaZX1`*^uU-30p`2j$Yl|yZQlYL!opr|jo?KhO`E-Cig zfmq8p*Zs)PX}5^nY{x*AGuo<;?FN~W-dl~svd_{Rt|sbWEVP4L75_r_NC3R2RWS6- zEO7|q7-4Gm8=ajh99%9{ei;(^&*J%CcQYgiFwvpsM{4N*`u9J7JcfabdYt*`)vLb) ztN(UuB2^i??BB6z&X`-+|D*YMmrLTZ%c+S;x+Z=bs*Qo+9yZ_L;A&OqYMJrhtlw}T z7DawWss0Up{M$y8HxnI0hj$21EjjkK8l8|3`8=FQ_GdyO>U#MnU??pc5-Tw3q+|9E z?sj=#;IIaOeTJu{b;Ri{UdbqUisZC6C)g-QR96db+^TI5-dE~M!7em;{8JO~n z*kg+)Z>9&;ZpI5G2S@~AYNrdYSlS~io|9lL~kJ5~aSEUqNqdJk>Z7@0Zc2q{w!-(>Mh6P_E~ouo?N9!>lWBui@s-@y0MleF zAK~gMzYS#P=edjTbiKW$gTB1yf|8L>uPk~>Tw{~DLZB6Z4b8&3_TC_XK72%qnm8J} zn$U^y3x2;_jO>CGxR5^YfnQ7~vvV6#<8dfKx1B!5ICdf=~y2&F{Bp zk0h&}$=e-I;WShmw+Qc>0h$L1QrCs$g)bBQ!cfHV>1mGl(G~>PCuElS13t9~>Cu!c z$tx~nOX}3%TpXLevz;|MT>d7sCXWDH@k@#Cg`R4tuxrPNUl;Mh5TML&kroVq>0KiQa?^_UDwUG1VYLc<`gWT5D-(*%HYGO+&_!^ z@$IAQldGWU5aqbNDj=P{z7=|LC-EO48%>iTx^AvevfSK^ha40PGy>_Ut z1=wXyRyo#kRR0(yqRMHE_6iO*@bIA%IvJlZDl}jdIFf6V;6ArYu&%! zt;?RBx`|CBy7jW7O;#t%{>pthVpe6=fv1~$6A3-Tk{QOfFVw%b8 zZ7yQb9H#dt_Py!12}Cv30!VM&DlXQ)$Io9(BdZZ zeQY)8*>pX;Z&6Dr2JUTNbR|hlT-*xSHSHn9l@0YmdZPBPt=`FgWE&hDJW!Ov2}ot8 z)}8S3+K%_avu!|);Ov3^`20a^Wu>&YcR{dTLC&MC;vy8Kw4cQH&B-Tg>)O+1=?@H7 zXL9j;e7zZ^q-c>~!fKQh1<+imF=VOXXvLP_BR* z;#Pnq@7T*cOey|CU||8R<>J*iS7C)(DU@5QAG?K+_%V()s&p%q`b<6B))|q;eW5li zWWD$JMEy&vap6MU?4h5eplYbq)Ia@o*>x71;0=3!f$!o2Es$+WjBh=zETy(yO4CPx zB41|a)@$p!6^KQG^9KfVwqI+w86NrEbZQiQm>x?0NFNj_UC3AeBj?N+2uG&&)QCk5 z8V{c2<&Pal>vs;0^^+ixsRqPdy*50<5+lMIqb$7UtDmb)w)Z6om0M(p z`tk=qlBZMckMAy&H(uXXw4)tgXA#{;icU%Y;u(!yTC z{wuj`zc^e8)qF!cgu_h3&OQkiMLZ%}2}))gT{9tO z$59Q_GFFV|#$ZSJ0ir(zw=&u>S%So>oX>s3=zMRV=iZFu&e73WugzG=!;ZI#|IG52 z{bkgMB~M)JuK=UFRzy+Ggwc8u5gXY;Zmcx?!9Ftm4Fm?wvWhH9T&pQ6lHu5XsM~py zQbemrKU1BvOdt_!{y9EEk8#koeL0WH_Nw3MYW!9FhllJj%`wdM;cJ8tTH4Z7XUFOK zYGTo;Y4N$BgH{n1U#{p3llFGSS1$zLe%CfbYwPRZ^BL!z#`+!~t$iWsH)EhP(p!YZ|N%=i@P>E)#sJRxmp$oIBXN4Il+EI;m9kv-%69Sp{XQSf=botMcE z37!AUOIl6o*C-K2`(NkB*|eepko3y_g^`{{2Aak-PpR%En>Vd!=Q{JEvktse60EJ> zb^!CMMgNVl^wJ^&t5rIl4FHe}gu=X!{BlzheYYl_93~TteE6D($~{u^52uH`D{w|9 zJ&-Cqq?%RfytJbqh$lUF=(2>8pJ(UyN*oW!zq2-PWWwN6L4y`64)WR`fz)pwfSA) zRo%VD8CC%SsDI~h4%ADkU;3xVr#V1?AR~FDw(jfGYDiVtyMFi&Ec`a%2yLMiN%m z_l9Mh3@+8N|Mn1^&A^0L8Wn@5-6VFkh(Pqc)nizDHG!V6*`i5Y+4@DgkYi*v9DaOM zd37}y)H&POYC%iZ=O*d31HihVl&51~`?qnBr3uEtFgxo5rND=r&iUamAVs>zj9#@L z93CpI=H~NuXkY(fKT3}H@Ub@B{EqY=rIn^f^SqQqE3>oaMFAUm(uBprYd>x^@&7iu zhLKqEvGv24IyUF1YkhAyQHm$+n|;voz#FhkSc(0PeNoKY_crL&RrdP_uU6PK?bZ5X zUl&%woa^*s0BrxC1u-k24$NA9ENsqrgaxTuBT0diui3MxUw-S^EBUWgKqj#MrbVZ= zaI6I3wP#UHz&C&`VJY6Gk;|#a$Wy!LYMur5jXd_kqRcs^e`DXvS#db#@=9GW#%#`$ zSBLFsteKIOmAIT@&nD%|cUo$Sf?6$jI6v^tmB+_^{4K1}%2EO=^?AUrDEjyHNQ>t( zhK%ay%=m3#|Mx3Bo;1$yEB>z^h6zD)hYNgrEWbDP>!Dk8HuwM5CI5aslnbC&ZuE?9 z!2f-o|8+?}AoStk-nXUf{>N`?bxkD7eoDauwiaI{#=m`=PW)KCdZ94Tp5cp(j6_(- zFsY5UwG4Kx+L*^K=l^@Yf3JH^h;S-aE%qml-`TtQm%TK3Sm2|osHspYXA$&&0=g`h literal 0 HcmV?d00001 diff --git a/docs/img/WORKFLOWS/workflows_app_events_search.png b/docs/img/WORKFLOWS/workflows_app_events_search.png new file mode 100755 index 0000000000000000000000000000000000000000..4e0300d0084c32217eeba630daa413e6d64cf832 GIT binary patch literal 170440 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

Bt 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

j+M{QMf% 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 literal 0 HcmV?d00001 diff --git a/docs/img/WORKFLOWS/workflows_logs_search.png b/docs/img/WORKFLOWS/workflows_logs_search.png new file mode 100755 index 0000000000000000000000000000000000000000..c19d431ec459708ab50b7f4b5bb9a0a2d933a103 GIT binary patch literal 167576 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

H3qzR*J1a6-4};=RSV^h!*1!Ler?ZX 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


ph2OgZy6+QjKLk$aSG}jPX{HGZiu%+4G$*Ll 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

@puV; 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 literal 0 HcmV?d00001 diff --git a/front/plugins/omada_sdn_imp/README.md b/front/plugins/omada_sdn_imp/README.md index e420a004..90c29ac8 100755 --- a/front/plugins/omada_sdn_imp/README.md +++ b/front/plugins/omada_sdn_imp/README.md @@ -41,8 +41,8 @@ The OMADA SDN plugin aims at synchronizing data between NetAlertX and a TPLINK O OMADA SDN limitation fixed by the plugin: 0. OMADA SDN can't use DNS for names and keep using MAC ref: https://community.tp-link.com/en/business/forum/topic/503782 - when you use an OMADA user Role = Administrator, the plugin will attempt to fix OMADA's shortcoming and populat the NAME field from NetAlertX (from DNS/DHCP/...) -![OMADA SDN account page](Oamadaomada_sdn_imp.png) -- +![OMADA SDN account page](omada_account_sample.png) + can not fix some of tplinks OMADA SDN own limitations/bugs: 1. OMADA SDN switches uplinks/downlinks is broken if the default router is not an OMADA native device From 7da11d167dba3655444666b078e713d447bffde4 Mon Sep 17 00:00:00 2001 From: "Jokob @NetAlertX" <96159884+jokob-sk@users.noreply.github.com> Date: Sun, 6 Apr 2025 10:38:39 +1000 Subject: [PATCH 040/667] Update i-have-an-issue.yml --- .github/ISSUE_TEMPLATE/i-have-an-issue.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/i-have-an-issue.yml b/.github/ISSUE_TEMPLATE/i-have-an-issue.yml index 3d1d488c..4568a878 100755 --- a/.github/ISSUE_TEMPLATE/i-have-an-issue.yml +++ b/.github/ISSUE_TEMPLATE/i-have-an-issue.yml @@ -65,6 +65,8 @@ body: - Production (netalertx) - Dev (netalertx-dev) - Home Assistant (addon) + - Home Assistant fa (full-access addon) + - Bare-metal (community only support - Check Discord) validations: required: true - type: textarea From 426dd4854003d5783a0e31a48d36934eb519a85f Mon Sep 17 00:00:00 2001 From: "Jokob @NetAlertX" <96159884+jokob-sk@users.noreply.github.com> Date: Sun, 6 Apr 2025 10:39:58 +1000 Subject: [PATCH 041/667] Update setup-help.yml --- .github/ISSUE_TEMPLATE/setup-help.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/setup-help.yml b/.github/ISSUE_TEMPLATE/setup-help.yml index 0d1acc23..81e043b1 100755 --- a/.github/ISSUE_TEMPLATE/setup-help.yml +++ b/.github/ISSUE_TEMPLATE/setup-help.yml @@ -50,6 +50,8 @@ body: - Production (netalertx) - Dev (netalertx-dev) - Home Assistant (addon) + - Home Assistant fa (full-access addon) + - Bare-metal (community only support - Check Discord) validations: required: true - type: textarea From e6962e03936a32fc6220dac392b1d0d8e759b7d6 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 6 Apr 2025 10:48:27 +1000 Subject: [PATCH 042/667] docs + auto lables on GH issues --- .github/ISSUE_TEMPLATE/i-have-an-issue.yml | 1 + .github/ISSUE_TEMPLATE/setup-help.yml | 1 + .github/workflows/label-issues.yml | 43 ++++++++++++++++++++++ docs/PLUGINS.md | 2 +- docs/WEB_UI_PORT_DEBUG.md | 37 +++++++++++++++---- docs/WORKFLOWS.md | 3 ++ 6 files changed, 78 insertions(+), 9 deletions(-) create mode 100755 .github/workflows/label-issues.yml diff --git a/.github/ISSUE_TEMPLATE/i-have-an-issue.yml b/.github/ISSUE_TEMPLATE/i-have-an-issue.yml index 4568a878..068c170a 100755 --- a/.github/ISSUE_TEMPLATE/i-have-an-issue.yml +++ b/.github/ISSUE_TEMPLATE/i-have-an-issue.yml @@ -59,6 +59,7 @@ body: validations: required: false - type: dropdown + id: installation_type attributes: label: What installation are you running? options: diff --git a/.github/ISSUE_TEMPLATE/setup-help.yml b/.github/ISSUE_TEMPLATE/setup-help.yml index 81e043b1..6c7f7102 100755 --- a/.github/ISSUE_TEMPLATE/setup-help.yml +++ b/.github/ISSUE_TEMPLATE/setup-help.yml @@ -44,6 +44,7 @@ body: validations: required: false - type: dropdown + id: installation_type attributes: label: What installation are you running? options: diff --git a/.github/workflows/label-issues.yml b/.github/workflows/label-issues.yml new file mode 100755 index 00000000..641aeb72 --- /dev/null +++ b/.github/workflows/label-issues.yml @@ -0,0 +1,43 @@ +name: Label Issues by Installation Type + +on: + issues: + types: [opened] + +permissions: + issues: write + +jobs: + add-label: + runs-on: ubuntu-latest + steps: + - name: Get issue content + uses: actions/github-script@v7 + with: + script: | + const body = context.payload.issue.body; + + const lowerBody = body.toLowerCase(); + + let labelsToAdd = []; + + if (lowerBody.includes('bare-metal')) { + labelsToAdd.push('bare-metal ❗'); + } + + if (lowerBody.includes('home assistant')) { + labelsToAdd.push('Home Assistant 🏠'); + } + + if (lowerBody.includes('production (netalertx)') || lowerBody.includes('dev (netalertx-dev)')) { + labelsToAdd.push('Docker 🐋'); + } + + if (labelsToAdd.length > 0) { + await github.rest.issues.addLabels({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + labels: labelsToAdd + }); + } diff --git a/docs/PLUGINS.md b/docs/PLUGINS.md index adc986a4..664b4a22 100755 --- a/docs/PLUGINS.md +++ b/docs/PLUGINS.md @@ -8,7 +8,7 @@ NetAlertX supports additional plugins to extend its functionality, each with its ## ⚡ Quick start > [!TIP] -> You can load additional Plugins via the General -> `LOADED_PLUGINS` setting. You need to save the settings for the new plugins to load (cahce/page relaod may be necessary). +> You can load additional Plugins via the General -> `LOADED_PLUGINS` setting. You need to save the settings for the new plugins to load (cache/page reload may be necessary). > ![Loaded plugins settings](./img/PLUGINS/loaded_plugins_setting.png) 1. Pick your `🔍 dev scanner` plugin (e.g. `ARPSCAN` or `NMAPDEV`), or import devices into the application with an `📥 importer` plugin. (See **Enabling plugins** below) diff --git a/docs/WEB_UI_PORT_DEBUG.md b/docs/WEB_UI_PORT_DEBUG.md index a1349f2a..5db03cd8 100755 --- a/docs/WEB_UI_PORT_DEBUG.md +++ b/docs/WEB_UI_PORT_DEBUG.md @@ -1,6 +1,27 @@ # Debugging inaccessible UI -## 1. Port conflicts +The application uses the following default ports: + +- **Web UI**: `20211` +- **GraphQL API**: `20212` + +The **Web UI** is served by an **nginx** server, while the **API backend** runs on a **Flask (Python)** server. + +## Changing Ports + +- To change the **Web UI** port, update the `PORT` environment variable in the `docker-compose.yml` file. +- To change the **GraphQL API** port, use the `GRAPHQL_PORT` setting, either directly or via Docker: + ```yaml + APP_CONF_OVERRIDE={"GRAPHQL_PORT":"20212"} + ``` + +For more information, check the [Docker installation guide](https://github.com/jokob-sk/NetAlertX/blob/main/dockerfiles/README.md). + +## Possible issues and troubleshooting + +Follow all of the below in order to disqualify potential causes of issues and to troubleshoot these problems faster. + +### 1. Port conflicts When opening an issue or debugging: @@ -15,27 +36,27 @@ When opening an issue or debugging: ![lsof ports](./img/WEB_UI_PORT_DEBUG/container_port.png) -## 2. JavaScript issues +### 2. JavaScript issues Check for browser console (F12 browser dev console) errors + check different browsers. -## 3. Clear the app cache and cached JavaScript files +### 3. Clear the app cache and cached JavaScript files Refresh the browser cache (usually shoft + refresh), try a private window, or different browsers. Please also refresh the app cache by clicking the 🔃 (reload) button in the header of the application. -## 4. Disable proxies +### 4. Disable proxies If you have any reverse proxy or similar, try disabling it. -## 5. Disable your firewall +### 5. Disable your firewall If you are using a firewall, try to temporarily disabling it. -## 6. Post your docker start details +### 6. Post your docker start details If you haven't, post your docker compose/run command. -## 7. Check for errors in your PHP/NGINX error logs +### 7. Check for errors in your PHP/NGINX error logs In the container execute and investigate: @@ -43,7 +64,7 @@ In the container execute and investigate: `cat /app/log/app.php_errors.log` -## 8. Make sure permissions are correct +### 8. Make sure permissions are correct > [!TIP] > You can try to start the container without mapping the `/app/config` and `/app/db` dirs and if the UI shows up then the issue is most likely related to your file system permissions or file ownership. diff --git a/docs/WORKFLOWS.md b/docs/WORKFLOWS.md index 3205e44d..143dae09 100755 --- a/docs/WORKFLOWS.md +++ b/docs/WORKFLOWS.md @@ -19,6 +19,9 @@ Below are a few examples that demonstrate how this module can be used to simplif Triggers define the event that activates a workflow. They monitor changes to objects within the system, such as updates to devices or the insertion of new entries. When the specified event occurs, the workflow is executed. +> [!TIP] +> Workflows not running? Check the [Workflows debugging](./WORKFLOWS_DEBUGGING.md) guide how to troubleshoot triggers and conditions. + #### Example Trigger: - **Object Type**: `Devices` - **Event Type**: `update` From d6b2ac587f58272b7b0c09624d4404e96bbcd8dd Mon Sep 17 00:00:00 2001 From: LeoRX Date: Fri, 11 Apr 2025 09:47:18 +1000 Subject: [PATCH 043/667] Update DOCKER_COMPOSE.md Fix spelling --- docs/DOCKER_COMPOSE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DOCKER_COMPOSE.md b/docs/DOCKER_COMPOSE.md index ab45863d..37dc42b5 100755 --- a/docs/DOCKER_COMPOSE.md +++ b/docs/DOCKER_COMPOSE.md @@ -1,7 +1,7 @@ # `docker-compose.yaml` Examples > [!NOTE] -> The container needs to run in `network_mode:"host"`. This also means that not all functionality is supported on a Widndows host as Docker for Windows doesn't support this networking option. +> The container needs to run in `network_mode:"host"`. This also means that not all functionality is supported on a Windows host as Docker for Windows doesn't support this networking option. ### Example 1 From f941133304c3cd747c26933d32a41de667711474 Mon Sep 17 00:00:00 2001 From: Massimo Pissarello Date: Fri, 11 Apr 2025 00:57:34 +0200 Subject: [PATCH 044/667] Translated using Weblate (Italian) Currently translated at 100.0% (743 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/it/ --- front/php/templates/language/it_it.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) mode change 100755 => 100644 front/php/templates/language/it_it.json diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json old mode 100755 new mode 100644 index cbfd542b..93dde70e --- a/front/php/templates/language/it_it.json +++ b/front/php/templates/language/it_it.json @@ -683,15 +683,15 @@ "WF_Condition_value": "Valore", "WF_Conditions": "Condizioni", "WF_Conditions_logic_rules": "Regole logiche", - "WF_Duplicate": "", + "WF_Duplicate": "Flusso di lavoro duplicato", "WF_Enabled": "Flusso di lavoro abilitato", - "WF_Export": "", - "WF_Export_Copy": "", - "WF_Import": "", - "WF_Import_Copy": "", + "WF_Export": "Esporta flusso di lavoro", + "WF_Export_Copy": "Copia il flusso di lavoro sottostante e importalo dove necessario.", + "WF_Import": "Importa flusso di lavoro", + "WF_Import_Copy": "Incolla il flusso di lavoro copiato in precedenza.", "WF_Name": "Nome flusso di lavoro", "WF_Remove": "Rimuovi flusso di lavoro", - "WF_Remove_Copy": "", + "WF_Remove_Copy": "Vuoi rimuovere questo flusso di lavoro?", "WF_Save": "Salva flussi di lavoro", "WF_Trigger": "Trigger", "WF_Trigger_event_type": "Tipo evento", @@ -742,4 +742,4 @@ "settings_update_item_warning": "Aggiorna il valore qui sotto. Fai attenzione a seguire il formato precedente. La convalida non viene eseguita.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Salva le modifiche prima di provare le nuove impostazioni." -} \ No newline at end of file +} From 71bcbbe7f995ef9f73fd5f58f756cdb827dce168 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 13 Apr 2025 10:29:07 +1000 Subject: [PATCH 045/667] fixes --- docs/REMOTE_NETWORKS.md | 2 +- front/index.php | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/REMOTE_NETWORKS.md b/docs/REMOTE_NETWORKS.md index 8b30f726..1fda6f17 100755 --- a/docs/REMOTE_NETWORKS.md +++ b/docs/REMOTE_NETWORKS.md @@ -31,7 +31,7 @@ The following workarounds should work for most complex network setups. ## Supplementing Plugins -You can use supplementary plugins that employ alternate methods. Protocols used by the `SNMPDSC` or `DHCPLSS` plugins are widely supported on different routers and can be effective as workarounds. Check the [plugins list](https://github.com/jokob-sk/NetAlertX/blob/main/docs/PLUGINS.md) to find a plugin that works with your router and network setup. +You can use supplementary plugins that employ alternate methods. Protocols used by the `SNMPDSC` or `DHCPLSS` plugins are widely supported on different routers and can be effective as workarounds. Check the [plugins list](./PLUGINS.md) to find a plugin that works with your router and network setup. ## Multiple NetAlertX Instances diff --git a/front/index.php b/front/index.php index b9be1d13..cb7fc79a 100755 --- a/front/index.php +++ b/front/index.php @@ -2,10 +2,13 @@ Date: Sun, 13 Apr 2025 22:58:05 +0000 Subject: [PATCH 046/667] Add release tweet for v25.4.14 - Styling, Workflows and other fixes --- .github/tweet.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/tweet.md b/.github/tweet.md index 3ce4a717..702403bf 100755 --- a/.github/tweet.md +++ b/.github/tweet.md @@ -1,2 +1,2 @@ -🎉 New release: **v25.4.1 - 🔀 Workflows - automate device management ** is live! 🚀 -Check it out here: https://github.com/jokob-sk/NetAlertX/releases/tag/v25.4.1 +🎉 New release: ** v25.4.14 - Styling, Workflows and other fixes ** is live! 🚀 +Check it out here: https://github.com/jokob-sk/NetAlertX/releases/tag/v25.4.14 From f52ae328bc0e1d2f5a57dd5bb8f76c0a1270f6f1 Mon Sep 17 00:00:00 2001 From: anton garcias Date: Tue, 15 Apr 2025 11:44:53 +0200 Subject: [PATCH 047/667] Translated using Weblate (Catalan) Currently translated at 100.0% (743 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ca/ --- front/php/templates/language/ca_ca.json | 66 ++++++++++++------------- 1 file changed, 33 insertions(+), 33 deletions(-) mode change 100755 => 100644 front/php/templates/language/ca_ca.json diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json old mode 100755 new mode 100644 index 96ce5794..8448e3e3 --- a/front/php/templates/language/ca_ca.json +++ b/front/php/templates/language/ca_ca.json @@ -8,7 +8,7 @@ "About_Design": "Dissenyat per:", "About_Exit": "Sortir", "About_Title": "Escàner de seguretat de xarxa i marc de notificacions", - "AppEvents_AppEventProcessed": "", + "AppEvents_AppEventProcessed": "Processat", "AppEvents_DateTimeCreated": "Logged", "AppEvents_Extra": "Extra", "AppEvents_GUID": "GUID d'esdeveniments d'Aplicació", @@ -22,7 +22,7 @@ "AppEvents_ObjectPlugin": "Plugin enllaçat", "AppEvents_ObjectPrimaryID": "ID primari", "AppEvents_ObjectSecondaryID": "ID secundari", - "AppEvents_ObjectStatus": "Estat (temps del registre)", + "AppEvents_ObjectStatus": "Registre d'estat", "AppEvents_ObjectStatusColumn": "Columna d'estat", "AppEvents_ObjectType": "Tipus d'objecte", "AppEvents_Plugin": "Plugin", @@ -225,7 +225,7 @@ "Device_TableHead_Name": "Nom", "Device_TableHead_NetworkSite": "Network Site", "Device_TableHead_Owner": "Propietari", - "Device_TableHead_Parent_MAC": "MAC del node pare", + "Device_TableHead_Parent_MAC": "Node pare de xarxa", "Device_TableHead_Port": "Port", "Device_TableHead_PresentLastScan": "Presència", "Device_TableHead_RowID": "ID de fila", @@ -363,8 +363,8 @@ "Maintenance_Title": "Eines de manteniment", "Maintenance_Tool_DownloadConfig": "Exportació de paràmetres", "Maintenance_Tool_DownloadConfig_text": "Descarregueu una còpia de seguretat completa de la vostra configuració de configuració emmagatzemada al fitxer app.conf.", - "Maintenance_Tool_DownloadWorkflows": "", - "Maintenance_Tool_DownloadWorkflows_text": "", + "Maintenance_Tool_DownloadWorkflows": "Exportació de fluxos de treball", + "Maintenance_Tool_DownloadWorkflows_text": "Descarregueu una còpia de seguretat completa dels vostres fluxos de treball emmagatzemats en el fitxer workflows.json.", "Maintenance_Tool_ExportCSV": "CSV Exportació de dispositius", "Maintenance_Tool_ExportCSV_noti": "CSV Exportació", "Maintenance_Tool_ExportCSV_noti_text": "Estàs segur que vols generar un fitxer CSV?", @@ -463,7 +463,7 @@ "NETWORK_DEVICE_TYPES_description": "Quins tipus de dispositius es poden utilitzar com a dispositius de xarxa a la vista \"xarxa\". El tipus de dispositiu ha de coincidir exactament amb la configuració Tipus dels detalls de dispositiu. Afegir-ho al dispositiu fent servir el botó +. No elimini els tipus existents, només afegir-ne nous.", "NETWORK_DEVICE_TYPES_name": "Tipus de dispositiu de xarxa", "Navigation_About": "Sobre", - "Navigation_AppEvents": "", + "Navigation_AppEvents": "Esdeveniments de l'Aplicació", "Navigation_Devices": "Dispositius", "Navigation_Donations": "Donacions", "Navigation_Events": "Esdeveniments", @@ -670,32 +670,32 @@ "UI_REFRESH_name": "Auto-refresc UI", "VERSION_description": "Versió o valor timestamp per comprovar si l'aplicació va ser actualitzada.", "VERSION_name": "Versió o timestamp", - "WF_Action_Add": "", - "WF_Action_field": "", - "WF_Action_type": "", - "WF_Action_value": "", - "WF_Actions": "", - "WF_Add": "", - "WF_Add_Condition": "", - "WF_Add_Group": "", - "WF_Condition_field": "", - "WF_Condition_operator": "", - "WF_Condition_value": "", - "WF_Conditions": "", - "WF_Conditions_logic_rules": "", - "WF_Duplicate": "", - "WF_Enabled": "", - "WF_Export": "", - "WF_Export_Copy": "", - "WF_Import": "", - "WF_Import_Copy": "", - "WF_Name": "", - "WF_Remove": "", - "WF_Remove_Copy": "", - "WF_Save": "", - "WF_Trigger": "", - "WF_Trigger_event_type": "", - "WF_Trigger_type": "", + "WF_Action_Add": "Afegir Acció", + "WF_Action_field": "Camp", + "WF_Action_type": "Tipus", + "WF_Action_value": "Valor", + "WF_Actions": "Accions", + "WF_Add": "Afegeix fluix de treball", + "WF_Add_Condition": "Afegeix Condició", + "WF_Add_Group": "Afegir Grup", + "WF_Condition_field": "Camp", + "WF_Condition_operator": "Operador", + "WF_Condition_value": "Valor", + "WF_Conditions": "Condicions", + "WF_Conditions_logic_rules": "Regles de lògica", + "WF_Duplicate": "Flux de treball duplicat", + "WF_Enabled": "Flux de treball activat", + "WF_Export": "Exportar fluix de treball", + "WF_Export_Copy": "Copiar el flux de treball següent i importar-lo on sigui necessari.", + "WF_Import": "Importar fluix de treball", + "WF_Import_Copy": "Enganxeu el flux de treball que heu copiat prèviament.", + "WF_Name": "Nom del flux de treball", + "WF_Remove": "Eliminar fluix de treball", + "WF_Remove_Copy": "Vols eliminar aquest flux de treball?", + "WF_Save": "Desa els fluxos de treball", + "WF_Trigger": "Disparador(Trigger)", + "WF_Trigger_event_type": "Tipus d'esdeveniment", + "WF_Trigger_type": "Tipus de disparador", "add_icon_event_icon": "fa-square-plus", "add_icon_event_tooltip": "Afegir nova icona", "add_option_event_icon": "fa-square-plus", @@ -742,4 +742,4 @@ "settings_update_item_warning": "Actualitza el valor sota. Sigues curós de seguir el format anterior. No hi ha validació.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Deseu els canvis primer abans de comprovar la configuració." -} \ No newline at end of file +} From 476dd67796c77b5f1a825a86a2aff2d2302f9e59 Mon Sep 17 00:00:00 2001 From: Jackxwb Date: Tue, 22 Apr 2025 12:57:41 +0200 Subject: [PATCH 048/667] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 83.4% (620 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/zh_Hans/ --- front/php/templates/language/zh_cn.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) mode change 100755 => 100644 front/php/templates/language/zh_cn.json diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json old mode 100755 new mode 100644 index c310d7cf..ee9e2da4 --- a/front/php/templates/language/zh_cn.json +++ b/front/php/templates/language/zh_cn.json @@ -1,7 +1,7 @@ { "API_CUSTOM_SQL_description": "您可以指定一个自定义 SQL 查询,它将生成一个 JSON 文件,然后通过 table_custom_endpoint.json 文件端点 公开它。", "API_CUSTOM_SQL_name": "自定义终点", - "API_TOKEN_description": "", + "API_TOKEN_description": "用于安全通信的API令牌。生成一个或输入任何值。它在请求标头中发送,并用于 SYNC 插件、GraphQL服务器和其他API端点中。 您可以使用API端点创建自定义集成,详情请参考此 API 文档。", "API_TOKEN_name": "", "API_display_name": "API", "API_icon": "", @@ -742,4 +742,4 @@ "settings_update_item_warning": "更新下面的值。请注意遵循先前的格式。未执行验证。", "test_event_icon": "", "test_event_tooltip": "在测试设置之前,请先保存更改。" -} \ No newline at end of file +} From b1cfaac33b86e86c4d513c0e26d069d1a7d87ade Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Karaffa?= Date: Tue, 22 Apr 2025 19:42:33 +0200 Subject: [PATCH 049/667] Translated using Weblate (Czech) Currently translated at 0.8% (6 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/cs/ --- front/php/templates/language/cs_cz.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) mode change 100755 => 100644 front/php/templates/language/cs_cz.json diff --git a/front/php/templates/language/cs_cz.json b/front/php/templates/language/cs_cz.json old mode 100755 new mode 100644 index 8778a302..1883b6f8 --- a/front/php/templates/language/cs_cz.json +++ b/front/php/templates/language/cs_cz.json @@ -4,7 +4,7 @@ "API_TOKEN_description": "", "API_TOKEN_name": "", "API_display_name": "", - "API_icon": "", + "API_icon": "", "About_Design": "", "About_Exit": "", "About_Title": "", @@ -15,13 +15,13 @@ "AppEvents_Helper1": "", "AppEvents_Helper2": "", "AppEvents_Helper3": "", - "AppEvents_ObjectForeignKey": "", - "AppEvents_ObjectIndex": "", + "AppEvents_ObjectForeignKey": "Cizí klíč", + "AppEvents_ObjectIndex": "Index", "AppEvents_ObjectIsArchived": "", "AppEvents_ObjectIsNew": "", "AppEvents_ObjectPlugin": "", - "AppEvents_ObjectPrimaryID": "", - "AppEvents_ObjectSecondaryID": "", + "AppEvents_ObjectPrimaryID": "Primární ID", + "AppEvents_ObjectSecondaryID": "Sekundární ID", "AppEvents_ObjectStatus": "", "AppEvents_ObjectStatusColumn": "", "AppEvents_ObjectType": "", @@ -29,7 +29,7 @@ "AppEvents_Type": "", "BackDevDetail_Actions_Ask_Run": "", "BackDevDetail_Actions_Not_Registered": "", - "BackDevDetail_Actions_Title_Run": "", + "BackDevDetail_Actions_Title_Run": "Spustit akci", "BackDevDetail_Copy_Ask": "", "BackDevDetail_Copy_Title": "", "BackDevDetail_Tools_WOL_error": "", @@ -742,4 +742,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "" -} \ No newline at end of file +} From 55fa24bced2444347bfac5bff708c9bfc06c3b07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Karaffa?= Date: Sun, 27 Apr 2025 01:47:55 +0200 Subject: [PATCH 050/667] Translated using Weblate (Czech) Currently translated at 1.0% (8 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/cs/ --- front/php/templates/language/cs_cz.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/front/php/templates/language/cs_cz.json b/front/php/templates/language/cs_cz.json index 1883b6f8..bf16385d 100644 --- a/front/php/templates/language/cs_cz.json +++ b/front/php/templates/language/cs_cz.json @@ -2,15 +2,15 @@ "API_CUSTOM_SQL_description": "", "API_CUSTOM_SQL_name": "", "API_TOKEN_description": "", - "API_TOKEN_name": "", - "API_display_name": "", + "API_TOKEN_name": "API token", + "API_display_name": "API", "API_icon": "", "About_Design": "", "About_Exit": "", "About_Title": "", "AppEvents_AppEventProcessed": "", "AppEvents_DateTimeCreated": "", - "AppEvents_Extra": "", + "AppEvents_Extra": "Extra", "AppEvents_GUID": "", "AppEvents_Helper1": "", "AppEvents_Helper2": "", From 8b617ffb8db5c82f262191784bbb159d0a2295b5 Mon Sep 17 00:00:00 2001 From: Jan Grewe Date: Thu, 1 May 2025 12:08:24 +0200 Subject: [PATCH 051/667] properly indent HTML tables in report emails to fix broken links --- Dockerfile | 2 +- Dockerfile.debian | 2 +- server/notification.py | 12 ++++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index c6286ce8..cf2769c2 100755 --- a/Dockerfile +++ b/Dockerfile @@ -13,7 +13,7 @@ ENV PATH="/opt/venv/bin:$PATH" COPY . ${INSTALL_DIR}/ -RUN pip install openwrt-luci-rpc asusrouter asyncio aiohttp graphene flask tplink-omada-client wakeonlan pycryptodome requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet python-nmap dnspython librouteros git+https://github.com/foreign-sub/aiofreepybox.git \ +RUN pip install openwrt-luci-rpc asusrouter asyncio aiohttp graphene flask tplink-omada-client wakeonlan pycryptodome requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet python-nmap dnspython librouteros yattag git+https://github.com/foreign-sub/aiofreepybox.git \ && bash -c "find ${INSTALL_DIR} -type d -exec chmod 750 {} \;" \ && bash -c "find ${INSTALL_DIR} -type f -exec chmod 640 {} \;" \ && bash -c "find ${INSTALL_DIR} -type f \( -name '*.sh' -o -name '*.py' -o -name 'speedtest-cli' \) -exec chmod 750 {} \;" diff --git a/Dockerfile.debian b/Dockerfile.debian index 9cd785dc..0941216c 100755 --- a/Dockerfile.debian +++ b/Dockerfile.debian @@ -43,7 +43,7 @@ RUN phpenmod -v 8.2 sqlite3 RUN apt-get install -y python3-venv RUN python3 -m venv myenv -RUN /bin/bash -c "source myenv/bin/activate && update-alternatives --install /usr/bin/python python /usr/bin/python3 10 && pip3 install openwrt-luci-rpc asusrouter asyncio aiohttp graphene flask tplink-omada-client wakeonlan pycryptodome requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet python-nmap dnspython librouteros " +RUN /bin/bash -c "source myenv/bin/activate && update-alternatives --install /usr/bin/python python /usr/bin/python3 10 && pip3 install openwrt-luci-rpc asusrouter asyncio aiohttp graphene flask tplink-omada-client wakeonlan pycryptodome requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet python-nmap dnspython librouteros yattag " # Create a buildtimestamp.txt to later check if a new version was released RUN date +%s > ${INSTALL_DIR}/front/buildtimestamp.txt diff --git a/server/notification.py b/server/notification.py index a771488b..3e6e478a 100755 --- a/server/notification.py +++ b/server/notification.py @@ -6,6 +6,7 @@ import uuid import socket import subprocess import requests +from yattag import indent from json2table import convert # Register NetAlertX modules @@ -172,9 +173,16 @@ class Notification_obj: final_text = removeDuplicateNewLines(mail_text) # Create clickable MAC links - final_html = generate_mac_links (mail_html, conf.REPORT_DASHBOARD_URL + '/deviceDetails.php?mac=') + mail_html = generate_mac_links (mail_html, conf.REPORT_DASHBOARD_URL + '/deviceDetails.php?mac=') - send_api(self.JSON, mail_text, mail_html) + final_html = indent( + mail_html, + indentation = ' ', + newline = '\r\n', + indent_text = True + ) + + send_api(self.JSON, final_text, final_html) # Write output data for debug write_file (logPath + '/report_output.txt', final_text) From fb8876df0d6caa91c29c0e33ece90b8e116ee8b3 Mon Sep 17 00:00:00 2001 From: Marco Rios Date: Fri, 2 May 2025 03:33:14 +0200 Subject: [PATCH 052/667] Translated using Weblate (Spanish) Currently translated at 100.0% (743 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/es/ --- front/php/templates/language/es_es.json | 124 ++++++++++++------------ 1 file changed, 62 insertions(+), 62 deletions(-) mode change 100755 => 100644 front/php/templates/language/es_es.json diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json old mode 100755 new mode 100644 index 60bb5529..12fdb74f --- a/front/php/templates/language/es_es.json +++ b/front/php/templates/language/es_es.json @@ -1,7 +1,7 @@ { "API_CUSTOM_SQL_description": "Puede especificar una consulta SQL personalizada que generará un archivo JSON y luego lo expondrá a través del archivo table_custom_endpoint.json.", "API_CUSTOM_SQL_name": "Endpoint personalizado", - "API_TOKEN_description": "Token de API para asegurar la comunicación, puede generar uno o introducir cualquier valor. Se envía en el encabezado de solicitud. Se utiliza en el plugin SYNC del servidor GraphQL.", + "API_TOKEN_description": "Token de API para comunicación segura. Genere uno o introduzca cualquier valor. Se envía en el encabezado de la solicitud y se usa en el complemento SYNC, el servidor GraphQL y otros puntos de conexión de la API. Puede usar los puntos de conexión de la API para crear integraciones personalizadas, como se describe en la documentación de la API.", "API_TOKEN_name": "Token de la API", "API_display_name": "API", "API_icon": "", @@ -16,7 +16,7 @@ "About_Design": "Diseñado para:", "About_Exit": "Salir", "About_Title": "Escáner de seguridad de la red y marco de notificaciones", - "AppEvents_AppEventProcessed": "", + "AppEvents_AppEventProcessed": "Procesado", "AppEvents_DateTimeCreated": "Registrado", "AppEvents_Extra": "Extra", "AppEvents_GUID": "GUID del evento de aplicación", @@ -30,7 +30,7 @@ "AppEvents_ObjectPlugin": "Complemento vinculado", "AppEvents_ObjectPrimaryID": "ID principal", "AppEvents_ObjectSecondaryID": "ID secundario", - "AppEvents_ObjectStatus": "Estado (en el momento del registro)", + "AppEvents_ObjectStatus": "Estado registrado", "AppEvents_ObjectStatusColumn": "Columna de estado", "AppEvents_ObjectType": "Tipo de objeto", "AppEvents_Plugin": "Plugin", @@ -59,7 +59,7 @@ "BackDevices_DBTools_ImportCSVError": "El archivo CSV no pudo ser importado. Asegúrate de que el formato es correcto.", "BackDevices_DBTools_ImportCSVMissing": "El archivo CSV no se pudo encontrar en /config/devices.csv.", "BackDevices_DBTools_Purge": "Las copias de seguridad más antiguas fueron eliminadas", - "BackDevices_DBTools_UpdDev": "Dispositivo actualizado con éxito", + "BackDevices_DBTools_UpdDev": "Dispositivo actualizado con éxito. Es posible que la lista de dispositivos principales necesite algún tiempo para recargarse si hay un escaneo en progreso.", "BackDevices_DBTools_UpdDevError": "Error al actualizar el dispositivo", "BackDevices_DBTools_Upgrade": "Base de datos actualizada correctamente", "BackDevices_DBTools_UpgradeError": "Falló la actualización de la base de datos", @@ -71,15 +71,15 @@ "BackDevices_darkmode_enabled": "Darkmode Activado", "CLEAR_NEW_FLAG_description": "Si está habilitado (0 está desactivado), los dispositivos marcados como Nuevo dispositivo se desmarcarán si el límite de tiempo (especificado en horas) excede su tiempo de primera sesión.", "CLEAR_NEW_FLAG_name": "Eliminar la nueva bandera", - "CustProps_cant_remove": "", + "CustProps_cant_remove": "No se puede eliminar, al menos una propiedad es requerida.", "DAYS_TO_KEEP_EVENTS_description": "Esta es una configuración de mantenimiento. Esto especifica el número de días de entradas de eventos que se guardarán. Todos los eventos anteriores se eliminarán periódicamente.", "DAYS_TO_KEEP_EVENTS_name": "Eliminar eventos anteriores a", "DISCOVER_PLUGINS_description": "Desactive esta opción para acelerar la inicialización y el ahorro de ajustes. Cuando está desactivado, los plugins no se descubren y no puede añadir nuevos plugins a la configuración LOADED_PLUGINS.", "DISCOVER_PLUGINS_name": "Descubrir plugins", "DevDetail_Copy_Device_Title": "Copiar detalles del dispositivo", "DevDetail_Copy_Device_Tooltip": "Copiar detalles del dispositivo de la lista desplegable. Todo en esta página se sobrescribirá", - "DevDetail_CustomProperties_Title": "", - "DevDetail_CustomProps_reset_info": "", + "DevDetail_CustomProperties_Title": "Propiedades personalizadas", + "DevDetail_CustomProps_reset_info": "Esto eliminará sus propiedades personalizadas en este dispositivo y las reiniciará a sus valores por defecto.", "DevDetail_DisplayFields_Title": "Mostrar", "DevDetail_EveandAl_AlertAllEvents": "Notificaciones de eventos", "DevDetail_EveandAl_AlertDown": "Alerta de caída", @@ -196,7 +196,7 @@ "DevDetail_button_Delete": "Eliminar dispositivo", "DevDetail_button_DeleteEvents": "Eliminar eventos", "DevDetail_button_DeleteEvents_Warning": "¿Desea eliminar todos los eventos de este dispositivo?

(se eliminarán el Historial de eventos y las Sesiones, y puede ayudar en el caso de notificaciones constantes)", - "DevDetail_button_Delete_ask": "", + "DevDetail_button_Delete_ask": "¿Está seguro que desea eliminar este dispositivo? También puede archivarla.", "DevDetail_button_OverwriteIcons": "Sobreescribir iconos", "DevDetail_button_OverwriteIcons_Tooltip": "Sobreescribir los iconos de todos los dispositivos con el mismo tipo", "DevDetail_button_OverwriteIcons_Warning": "¿Sobreescribir todos los iconos de todos los dispositivos con el mismo tipo que el dispositivo actual?", @@ -220,7 +220,7 @@ "Device_Shortcut_OnlineChart": "Presencia del dispositivo a lo largo del tiempo", "Device_TableHead_AlertDown": "Alerta desactivada", "Device_TableHead_Connected_Devices": "Conexiones", - "Device_TableHead_CustomProps": "", + "Device_TableHead_CustomProps": "Propiedades / Acciones", "Device_TableHead_Favorite": "Favorito", "Device_TableHead_FirstSession": "1ra. sesión", "Device_TableHead_GUID": "GUID", @@ -235,7 +235,7 @@ "Device_TableHead_Name": "Nombre", "Device_TableHead_NetworkSite": "Lugar de la red", "Device_TableHead_Owner": "Propietario", - "Device_TableHead_Parent_MAC": "Nodo principal de la MAC", + "Device_TableHead_Parent_MAC": "Nodo principal de la red", "Device_TableHead_Port": "Puerto", "Device_TableHead_PresentLastScan": "Historial", "Device_TableHead_RowID": "ID de fila", @@ -253,11 +253,11 @@ "Device_Tablelenght": "Mostrar _MENU_ entradas", "Device_Tablelenght_all": "Todos", "Device_Title": "Dispositivos", - "Devices_Filters": "", + "Devices_Filters": "Filtros", "ENABLE_PLUGINS_description": "Habilita la funcionalidad de los complementos. Cargar los complementos requiere más recursos de hardware, así que quizás quieras desactivarlo en hardware poco potente.", "ENABLE_PLUGINS_name": "Habilitar complementos", - "ENCRYPTION_KEY_description": "", - "ENCRYPTION_KEY_name": "", + "ENCRYPTION_KEY_description": "Llave de cifrado de datos.", + "ENCRYPTION_KEY_name": "Llave de cifrado", "Email_display_name": "Email", "Email_icon": "", "Events_Loading": "Cargando...", @@ -281,7 +281,7 @@ "Events_TableHead_Disconnection": "Desconexión", "Events_TableHead_Duration": "Duración", "Events_TableHead_DurationOrder": "Orden de duración", - "Events_TableHead_EventType": "Tipo de evento", + "Events_TableHead_EventType": "Tipo de Evento", "Events_TableHead_IP": "Dirección IP", "Events_TableHead_IPOrder": "Orden de IP", "Events_TableHead_Order": "Ordenar", @@ -293,7 +293,7 @@ "Events_Tablelenght": "Mostrando entradas del MENÚ", "Events_Tablelenght_all": "Todos", "Events_Title": "Eventos", - "GRAPHQL_PORT_description": "El número de puerto del servidor GraphQL.", + "GRAPHQL_PORT_description": "El número de puerto del servidor GraphQL. Asegúrese de que el puerto sea único en todas sus aplicaciones en este host y en las instancias de NetAlertX.", "GRAPHQL_PORT_name": "Puerto GraphQL", "Gen_Action": "Acción", "Gen_Add": "Añadir", @@ -320,7 +320,7 @@ "Gen_ReadDocs": "Lee más en los documentos.", "Gen_Remove_All": "Quitar todo", "Gen_Remove_Last": "Quitar el último", - "Gen_Reset": "", + "Gen_Reset": "Reiniciar", "Gen_Restore": "Ejecutar restauración", "Gen_Run": "Ejecutar", "Gen_Save": "Guardar", @@ -335,7 +335,7 @@ "Gen_Upd_Fail": "Fallo al actualizar", "Gen_Update": "Actualizar", "Gen_Update_Value": "Actualizar valor", - "Gen_ValidIcon": "", + "Gen_ValidIcon": "", "Gen_Warning": "Advertencia", "Gen_Work_In_Progress": "Trabajo en curso, un buen momento para hacer comentarios en https://github.com/jokob-sk/NetAlertX/issues", "Gen_create_new_device": "Nuevo dispositivo", @@ -385,25 +385,25 @@ "Maintenance_Running_Version": "Versión instalada", "Maintenance_Status": "Situación", "Maintenance_Title": "Herramientas de mantenimiento", - "Maintenance_Tool_DownloadConfig": "", - "Maintenance_Tool_DownloadConfig_text": "", - "Maintenance_Tool_DownloadWorkflows": "", - "Maintenance_Tool_DownloadWorkflows_text": "", - "Maintenance_Tool_ExportCSV": "Exportación CSV", - "Maintenance_Tool_ExportCSV_noti": "Exportación CSV", + "Maintenance_Tool_DownloadConfig": "Exportación de configuraciones", + "Maintenance_Tool_DownloadConfig_text": "Descargue una copia de seguridad completa de su configuración de ajustes almacenada en el archivo app.conf.", + "Maintenance_Tool_DownloadWorkflows": "Exportación de flujos de trabajo", + "Maintenance_Tool_DownloadWorkflows_text": "Descargue una copia de seguridad completa de sus flujos de trabajo almacenados en el archivo workflows.json.", + "Maintenance_Tool_ExportCSV": "Exportación de dispositivos (CSV)", + "Maintenance_Tool_ExportCSV_noti": "Exportación de dispositivos (CSV)", "Maintenance_Tool_ExportCSV_noti_text": "¿Está seguro de que quiere generar un archivo CSV?", - "Maintenance_Tool_ExportCSV_text": "Genere un archivo CSV (valor separado por comas) que contenga la lista de Dispositivos incluyendo las relaciones de red entre los Nodos de red y los dispositivos conectados. También puedes activarlo accediendo a esta URL your NetAlertX url/php/server/devices.php?action=ExportCSV o activando el plugin Copia de seguridad CSV.", - "Maintenance_Tool_ImportCSV": "Importación CSV", - "Maintenance_Tool_ImportCSV_noti": "Importación CSV", + "Maintenance_Tool_ExportCSV_text": "Genere un archivo CSV (valor separado por comas) que contenga la lista de Dispositivos incluyendo las relaciones de red entre los Nodos de red y los dispositivos conectados. También puedes activarlo accediendo a esta URL your_NetAlertX_url/php/server/devices.php?action=ExportCSV o activando el plugin Copia de seguridad CSV.", + "Maintenance_Tool_ImportCSV": "Importación de dispositivos (CSV)", + "Maintenance_Tool_ImportCSV_noti": "Importación de dispositivos (CSV)", "Maintenance_Tool_ImportCSV_noti_text": "¿Estás seguro de que quieres importar el archivo CSV? Esto sobrescribirá completamente los dispositivos en su base de datos.", "Maintenance_Tool_ImportCSV_text": "Antes de usar esta función, haga una copia de seguridad. Importe un archivo CSV (valor separado por comas) que contiene la lista de dispositivos, incluidas las relaciones de red entre nodos de red y dispositivos conectados. Para hacer eso, coloque el archivo CSV llamado devices.csv en su carpeta /config .", - "Maintenance_Tool_ImportConfig_noti": "", - "Maintenance_Tool_ImportPastedCSV": "Importar CSV (Pegar)", + "Maintenance_Tool_ImportConfig_noti": "Importar ajustes (app.conf)", + "Maintenance_Tool_ImportPastedCSV": "Importar dispositivos (CSV) (Pegar)", "Maintenance_Tool_ImportPastedCSV_noti_text": "¿Seguro que desea importar el CSV pegado? Esto sobrescribirá completamente los dispositivos en su base de datos.", "Maintenance_Tool_ImportPastedCSV_text": "Antes de usar esta función, por favor haga una copia de seguridad. Importar un archivo CSV (valor separado por comas) que contiene la lista de Dispositivos incluyendo las relaciones de red entre los Nodos de red y los dispositivos conectados.", - "Maintenance_Tool_ImportPastedConfig": "", - "Maintenance_Tool_ImportPastedConfig_noti_text": "", - "Maintenance_Tool_ImportPastedConfig_text": "", + "Maintenance_Tool_ImportPastedConfig": "Importar ajustes (pegar)", + "Maintenance_Tool_ImportPastedConfig_noti_text": "¿Seguro que quieres importar la configuración pegada? Esto sobrescribirá por completo el archivo app.conf.", + "Maintenance_Tool_ImportPastedConfig_text": "Importa el archivo app.conf que contiene toda la configuración de la aplicación. Es recomendable descargar primero el archivo app.conf actual con la Exportación de configuración.", "Maintenance_Tool_arpscansw": "Activar arp-scan (on/off)", "Maintenance_Tool_arpscansw_noti": "Activar arp-scan on or off", "Maintenance_Tool_arpscansw_noti_text": "Cuando el escaneo se ha apagado, permanece apagado hasta que se active nuevamente.", @@ -484,7 +484,7 @@ "Maintenance_themeselector_lable": "Seleccionar tema", "Maintenance_themeselector_text": "El cambio se produce en el lado del servidor, por lo que afecta a todos los dispositivos en uso.", "Maintenance_version": "Actualizaciones de la aplicación", - "NETWORK_DEVICE_TYPES_description": "Qué tipos de dispositivos pueden usarse como dispositivos de red en la vista Red. El tipo de dispositivo debe coincidir exactamente con la configuración Tipo en un dispositivo específico en los Detalles del dispositivo. No elimine los tipos existentes, solo agregue nuevos.", + "NETWORK_DEVICE_TYPES_description": "Qué tipos de dispositivos se pueden usar como dispositivos de red en la vista de red. El tipo de dispositivo debe coincidir exactamente con la configuración de Tipo de un dispositivo específico en los detalles del dispositivo. Añádalo al dispositivo mediante el botón +. No elimine los tipos existentes, solo añada los nuevos.", "NETWORK_DEVICE_TYPES_name": "Tipos de dispositivos de red", "NTFY_HOST_description": "URL de host NTFY que comienza con http:// o https://. Puede usar la instancia alojada en https://ntfy.sh simplemente ingresando https://ntfy. sh.", "NTFY_HOST_name": "URL del host NTFY", @@ -497,7 +497,7 @@ "NTFY_display_name": "NTFY", "NTFY_icon": "", "Navigation_About": "Acerca de", - "Navigation_AppEvents": "", + "Navigation_AppEvents": "Eventos de la aplicación", "Navigation_Devices": "Dispositivos", "Navigation_Donations": "Donaciones", "Navigation_Events": "Eventos", @@ -746,32 +746,32 @@ "WEBHOOK_SIZE_name": "Tamaño máximo de carga útil", "WEBHOOK_URL_description": "URL de destino comienza con http:// o https://.", "WEBHOOK_URL_name": "URL de destino", - "WF_Action_Add": "", - "WF_Action_field": "", - "WF_Action_type": "", - "WF_Action_value": "", - "WF_Actions": "", - "WF_Add": "", - "WF_Add_Condition": "", - "WF_Add_Group": "", - "WF_Condition_field": "", - "WF_Condition_operator": "", - "WF_Condition_value": "", - "WF_Conditions": "", - "WF_Conditions_logic_rules": "", - "WF_Duplicate": "", - "WF_Enabled": "", - "WF_Export": "", - "WF_Export_Copy": "", - "WF_Import": "", - "WF_Import_Copy": "", - "WF_Name": "", - "WF_Remove": "", - "WF_Remove_Copy": "", - "WF_Save": "", - "WF_Trigger": "", - "WF_Trigger_event_type": "", - "WF_Trigger_type": "", + "WF_Action_Add": "Agregar acción", + "WF_Action_field": "Campo", + "WF_Action_type": "Tipo", + "WF_Action_value": "Valor", + "WF_Actions": "Acciones", + "WF_Add": "Agregar flujo de trabajo", + "WF_Add_Condition": "Agregar condición", + "WF_Add_Group": "Agregar grupo", + "WF_Condition_field": "Campo", + "WF_Condition_operator": "Operador", + "WF_Condition_value": "Valor", + "WF_Conditions": "Condiciones", + "WF_Conditions_logic_rules": "Reglas lógicas", + "WF_Duplicate": "Duplicar flujo de trabajo", + "WF_Enabled": "Flujo de trabajo habilitado", + "WF_Export": "Exportar flujo de trabajo", + "WF_Export_Copy": "Copiar el flujo de trabajo de abajo e importarlo donde necesite.", + "WF_Import": "Importar flujo de trabajo", + "WF_Import_Copy": "Pegar en el flujo de trabajo que copió previamente.", + "WF_Name": "Nombre del flujo de trabajo", + "WF_Remove": "Eliminar flujo de trabajo", + "WF_Remove_Copy": "¿Desea eliminar este flujo de trabajo?", + "WF_Save": "Guardar flujos de trabajo", + "WF_Trigger": "Disparador", + "WF_Trigger_event_type": "Tipo de evento", + "WF_Trigger_type": "TIpo de disparador", "Webhooks_display_name": "Webhooks", "Webhooks_icon": "", "Webhooks_settings_group": " Webhooks", @@ -786,7 +786,7 @@ "general_event_title": "Ejecutar un evento ad-hoc", "go_to_node_event_icon": "fa-square-up-right", "go_to_node_event_tooltip": "Vaya a la página de Red del nodo indicado", - "new_version_available": "", + "new_version_available": "Una nueva versión está disponible.", "report_guid": "Guía de las notificaciones:", "report_guid_missing": "No se ha encontrado la notificación vinculada. Hay un pequeño retraso entre las notificaciones enviadas recientemente y su disponibilidad. Actualiza tu página y la caché después de unos segundos. También es posible que la notificación seleccionada se haya eliminado durante el mantenimiento, tal y como se especifica en la configuración de DBCLNP_NOTIFI_HIST.

En su lugar, se muestra la notificación más reciente. La notificación que falta tiene el siguiente GUID:", "report_select_format": "Selecciona el formato:", @@ -815,10 +815,10 @@ "settings_publishers_info": "Cargue más editor@s con el ajuste LOADED_PLUGINS", "settings_publishers_label": "Editores", "settings_readonly": "No se puede LEER ni ESCRIBIR app.conf. Intente reiniciar el contenedor y lea la documentación de permisos de archivo", - "settings_saved": "
Ajustes guardados.

Recargando...

", + "settings_saved": "
Ajustes guardados.
Recargando...

", "settings_system_icon": "fa-solid fa-gear", "settings_system_label": "Sistema", "settings_update_item_warning": "Actualice el valor a continuación. Tenga cuidado de seguir el formato anterior. O la validación no se realiza.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Guarda tus cambios antes de probar nuevos ajustes." -} \ No newline at end of file +} From a3fcd4373fcfba8ca895dcc04c212efe1607b64c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bekir=20Kayra=20=C3=87i=C4=9Fdem?= Date: Fri, 2 May 2025 15:36:25 +0200 Subject: [PATCH 053/667] Translated using Weblate (Turkish) Currently translated at 26.7% (199 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/tr/ --- front/php/templates/language/tr_tr.json | 80 ++++++++++++------------- 1 file changed, 40 insertions(+), 40 deletions(-) mode change 100755 => 100644 front/php/templates/language/tr_tr.json diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json old mode 100755 new mode 100644 index 8839c966..7d890bca --- a/front/php/templates/language/tr_tr.json +++ b/front/php/templates/language/tr_tr.json @@ -7,58 +7,58 @@ "API_icon": "", "About_Design": "", "About_Exit": "Oturum kapat", - "About_Title": "", - "AppEvents_AppEventProcessed": "", - "AppEvents_DateTimeCreated": "", + "About_Title": "Ağ güvenlik tarayıcısı & bildirim çerçevesi", + "AppEvents_AppEventProcessed": "İşlendi", + "AppEvents_DateTimeCreated": "Giriş yapıldı", "AppEvents_Extra": "Ekstra", - "AppEvents_GUID": "", + "AppEvents_GUID": "Uygulama Olayı GUID'si", "AppEvents_Helper1": "Yardımcı 1", "AppEvents_Helper2": "Yardımcı 2", "AppEvents_Helper3": "Yardımcı 3", - "AppEvents_ObjectForeignKey": "", - "AppEvents_ObjectIndex": "", - "AppEvents_ObjectIsArchived": "", - "AppEvents_ObjectIsNew": "", - "AppEvents_ObjectPlugin": "", - "AppEvents_ObjectPrimaryID": "", - "AppEvents_ObjectSecondaryID": "", - "AppEvents_ObjectStatus": "", - "AppEvents_ObjectStatusColumn": "", - "AppEvents_ObjectType": "", - "AppEvents_Plugin": "", - "AppEvents_Type": "", - "BackDevDetail_Actions_Ask_Run": "Komutları çalıştırmak istiyor musunuz?", - "BackDevDetail_Actions_Not_Registered": "", - "BackDevDetail_Actions_Title_Run": "Komutu çalıştır", - "BackDevDetail_Copy_Ask": "", + "AppEvents_ObjectForeignKey": "Yabancı Anahtar", + "AppEvents_ObjectIndex": "Dizin", + "AppEvents_ObjectIsArchived": "Arşivlendi (kayıt zamanı itibariyle)", + "AppEvents_ObjectIsNew": "Yeni (kayıt zamanında)", + "AppEvents_ObjectPlugin": "Bağlantılı Eklenti", + "AppEvents_ObjectPrimaryID": "Birincil ID", + "AppEvents_ObjectSecondaryID": "İkincil ID", + "AppEvents_ObjectStatus": "Kaydedilmiş Durum", + "AppEvents_ObjectStatusColumn": "Durum sütunu", + "AppEvents_ObjectType": "Nesne Tipi", + "AppEvents_Plugin": "Eklenti", + "AppEvents_Type": "Tür", + "BackDevDetail_Actions_Ask_Run": "İşlemi gerçekleştirmek istiyor musunuz?", + "BackDevDetail_Actions_Not_Registered": "Eylem kaydedilmedi: ", + "BackDevDetail_Actions_Title_Run": "Eylemi çalıştır", + "BackDevDetail_Copy_Ask": "Açılır menüden cihazın detaylarını kopyala (Bu sayfadaki her şeyin üzerine yazılacak)?", "BackDevDetail_Copy_Title": "Ayrıntıları kopyala", "BackDevDetail_Tools_WOL_error": "Komut çalıştırılmadı.", "BackDevDetail_Tools_WOL_okay": "Komut çalıştırıldı.", - "BackDevices_Arpscan_disabled": "", - "BackDevices_Arpscan_enabled": "", - "BackDevices_Backup_CopError": "", - "BackDevices_Backup_Failed": "", - "BackDevices_Backup_okay": "", + "BackDevices_Arpscan_disabled": "Arp-Scan Devre Dışı", + "BackDevices_Arpscan_enabled": "Arp-Scan Etkin", + "BackDevices_Backup_CopError": "Orijinal veritabanı kaydedilemedi.", + "BackDevices_Backup_Failed": "Yedekleme kısmi olarak başarılı bir şekilde çalıştırıldı. Arşiv oluşturulamadı ya da boş.", + "BackDevices_Backup_okay": "Yedekleme, yeni arşiv ile başarılı bir şekilde gerçekleştirildi", "BackDevices_DBTools_DelDevError_a": "Cihaz silinirken hata oluştu", "BackDevices_DBTools_DelDevError_b": "Cihazlar silinirken hata oluştu", "BackDevices_DBTools_DelDev_a": "Cihaz silindi", "BackDevices_DBTools_DelDev_b": "Cihazlar silindi", - "BackDevices_DBTools_DelEvents": "", - "BackDevices_DBTools_DelEventsError": "", - "BackDevices_DBTools_ImportCSV": "", - "BackDevices_DBTools_ImportCSVError": "", - "BackDevices_DBTools_ImportCSVMissing": "", - "BackDevices_DBTools_Purge": "", - "BackDevices_DBTools_UpdDev": "Cihaz başarılı bir şekilde güncellendi", + "BackDevices_DBTools_DelEvents": "Eventler (olay kayıtları) silinmiş durumda", + "BackDevices_DBTools_DelEventsError": "Eventler (olay kayıtları) silerken hata oluştu", + "BackDevices_DBTools_ImportCSV": "CSV dosyasındaki aygıtlar başarıyla içe aktarıldı.", + "BackDevices_DBTools_ImportCSVError": "CSV dosyası içe aktarılamadı. Formatın doğru olduğundan emin olun.", + "BackDevices_DBTools_ImportCSVMissing": "CSV dosyası /config/devices.csv altında bulunamadı", + "BackDevices_DBTools_Purge": "Geriye dönük yedekler kaldırıldı", + "BackDevices_DBTools_UpdDev": "Cihaz başarılı bir şekilde güncellendi. Ana aygıtlar listesi, bir tarama işlemi devam ediyorsa yeniden yüklenmesi için biraz zaman alabilir.", "BackDevices_DBTools_UpdDevError": "Cihaz güncellenirken hata oluştu", "BackDevices_DBTools_Upgrade": "Veritabanı başarılı bir şekilde güncellendi", "BackDevices_DBTools_UpgradeError": "Veritabanı güncellenemedi", "BackDevices_Device_UpdDevError": "Cihazlar güncellenirken hata oluştu, daha sonra tekrar deneyiz. Veritabanı, devam eden bir komut nedeniyle kilitli olabilir.", - "BackDevices_Restore_CopError": "", - "BackDevices_Restore_Failed": "", - "BackDevices_Restore_okay": "", - "BackDevices_darkmode_disabled": "", - "BackDevices_darkmode_enabled": "", + "BackDevices_Restore_CopError": "Orijinal veritabanı kaydedilemedi.", + "BackDevices_Restore_Failed": "Geri yükleme başarısız oldu. Lütfen yedeği manuel olarak geri yükleyin.", + "BackDevices_Restore_okay": "Geri yükleme başarılı bir şekilde gerçekleştirildi.", + "BackDevices_darkmode_disabled": "Karanlık mod devre dışı bırakıldı", + "BackDevices_darkmode_enabled": "Karanlık mod etkinleştirildi", "CLEAR_NEW_FLAG_description": "", "CLEAR_NEW_FLAG_name": "", "CustProps_cant_remove": "", @@ -398,7 +398,7 @@ "Maintenance_Tool_del_ActHistory_noti_text": "", "Maintenance_Tool_del_ActHistory_text": "", "Maintenance_Tool_del_alldev": "Tüm Cihazları Sil", - "Maintenance_Tool_del_alldev_noti": "", + "Maintenance_Tool_del_alldev_noti": "Silinmiş Cihazlar", "Maintenance_Tool_del_alldev_noti_text": "Tüm cihazları silmek istediğinize emin misiniz?", "Maintenance_Tool_del_alldev_text": "", "Maintenance_Tool_del_allevents": "", @@ -451,7 +451,7 @@ "Maintenance_database_rows": "", "Maintenance_database_size": "", "Maintenance_lang_selector_apply": "Uygula", - "Maintenance_lang_selector_empty": "", + "Maintenance_lang_selector_empty": "Dil Seçin", "Maintenance_lang_selector_lable": "", "Maintenance_lang_selector_text": "", "Maintenance_new_version": "", @@ -742,4 +742,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "" -} \ No newline at end of file +} From 46cbf8558463bb6c43a67022fe73cdba802ac5d1 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 4 May 2025 08:52:13 +1000 Subject: [PATCH 054/667] LOG_LEVEL fix, WEBMON timeout multiplier, docs, fix for watched-changed #1053 --- docs/DEVICE_DISPLAY_SETTINGS.md | 11 +- .../device_management_display_settings.png | Bin 0 -> 7891 bytes front/php/templates/language/ca_ca.json | 0 front/php/templates/language/cs_cz.json | 0 front/php/templates/language/es_es.json | 0 front/php/templates/language/it_it.json | 0 front/php/templates/language/tr_tr.json | 0 front/php/templates/language/zh_cn.json | 0 front/plugins/_publisher_email/email_smtp.py | 2 +- front/plugins/website_monitor/config.json | 3 +- front/plugins/website_monitor/script.py | 8 +- front/report_templates/report_template.html | 2 +- install/install_dependencies.debian.sh | 2 +- server/__main__.py | 19 +- server/initialise.py | 5 +- server/logger.py | 17 +- server/models/device_instance.py | 2 +- server/models/plugin_object_instance.py | 2 +- server/notification.py | 2 +- server/plugin.py | 319 +++++++++--------- server/reporting.py | 3 +- server/scan/device_handling.py | 2 +- server/scheduler.py | 2 +- server/workflows/app_events.py | 2 +- 24 files changed, 213 insertions(+), 190 deletions(-) create mode 100755 docs/img/DEVICE_MANAGEMENT/device_management_display_settings.png mode change 100644 => 100755 front/php/templates/language/ca_ca.json mode change 100644 => 100755 front/php/templates/language/cs_cz.json mode change 100644 => 100755 front/php/templates/language/es_es.json mode change 100644 => 100755 front/php/templates/language/it_it.json mode change 100644 => 100755 front/php/templates/language/tr_tr.json mode change 100644 => 100755 front/php/templates/language/zh_cn.json diff --git a/docs/DEVICE_DISPLAY_SETTINGS.md b/docs/DEVICE_DISPLAY_SETTINGS.md index 81260151..260e1210 100755 --- a/docs/DEVICE_DISPLAY_SETTINGS.md +++ b/docs/DEVICE_DISPLAY_SETTINGS.md @@ -3,4 +3,13 @@ This set of settings allows you to group Devices under different views. The Archived toggle allows you to exclude a Device from most listings and notifications. -![Display settings](./img/DEVICE_MANAGEMENT/DeviceDetails_DisplaySettings.png) \ No newline at end of file +![Display settings](./img/DEVICE_MANAGEMENT/DeviceDetails_DisplaySettings.png) + + +## Status Colors + +![Sattus colors](./img/DEVICE_MANAGEMENT/device_management_display_settings.png) + +1. Online (Green) = A device that is no longer marked as a "New Device" +2. New (Green) = A newly discovered device that is online and is still "ticked" as a "New Device" +3. New (Grey) = Same as No.2 but device is now offline. diff --git a/docs/img/DEVICE_MANAGEMENT/device_management_display_settings.png b/docs/img/DEVICE_MANAGEMENT/device_management_display_settings.png new file mode 100755 index 0000000000000000000000000000000000000000..52b8385778a5b4e9ba603ab643551da91a22c99b GIT binary patch literal 7891 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 NetAlertX Logo - NetAlertx + NetAlertx diff --git a/install/install_dependencies.debian.sh b/install/install_dependencies.debian.sh index 8cac386f..add491f9 100755 --- a/install/install_dependencies.debian.sh +++ b/install/install_dependencies.debian.sh @@ -30,5 +30,5 @@ source myenv/bin/activate update-alternatives --install /usr/bin/python python /usr/bin/python3 10 # install packages thru pip3 -pip3 install openwrt-luci-rpc asusrouter asyncio aiohttp graphene flask tplink-omada-client wakeonlan pycryptodome requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet python-nmap dnspython librouteros git+https://github.com/foreign-sub/aiofreepybox.git +pip3 install openwrt-luci-rpc asusrouter asyncio aiohttp graphene flask tplink-omada-client wakeonlan pycryptodome requests paho-mqtt scapy cron-converter pytz json2table dhcp-leases pyunifi speedtest-cli chardet python-nmap dnspython librouteros yattag git+https://github.com/foreign-sub/aiofreepybox.git diff --git a/server/__main__.py b/server/__main__.py index 36a2f8eb..b199e7ad 100755 --- a/server/__main__.py +++ b/server/__main__.py @@ -33,7 +33,7 @@ from initialise import importConfigs from database import DB from reporting import get_notifications from notification import Notification_obj -from plugin import run_plugin_scripts, check_and_run_user_event +from plugin import plugin_manager from scan.device_handling import update_devices_names from workflows.manager import WorkflowManager @@ -96,6 +96,9 @@ def main (): # re-load user configuration and plugins all_plugins, imported = importConfigs(db, all_plugins) + # initiate plugin manager + pm = plugin_manager(db, all_plugins) + # update time started conf.loop_start_time = timeNowTZ() @@ -103,11 +106,11 @@ def main (): # Handle plugins executed ONCE if conf.plugins_once_run == False: - run_plugin_scripts(db, all_plugins, 'once') + pm.run_plugin_scripts('once') conf.plugins_once_run = True # check if user is waiting for api_update - check_and_run_user_event(db, all_plugins) + pm.check_and_run_user_event() # Update API endpoints update_api(db, all_plugins, False) @@ -126,13 +129,13 @@ def main (): startTime = startTime.replace (microsecond=0) # Check if any plugins need to run on schedule - run_plugin_scripts(db, all_plugins, 'schedule') + pm.run_plugin_scripts('schedule') # determine run/scan type based on passed time # -------------------------------------------- # Runs plugin scripts which are set to run every time after a scans finished - run_plugin_scripts(db, all_plugins, 'always_after_scan') + pm.run_plugin_scripts('always_after_scan') # process all the scanned data into new devices processScan = updateState("Check scan").processScan @@ -146,7 +149,7 @@ def main (): # -------- # Reporting # run plugins before notification processing (e.g. Plugins to discover device names) - run_plugin_scripts(db, all_plugins, 'before_name_updates') + pm.run_plugin_scripts('before_name_updates') # Resolve devices names mylog('debug','[Main] Resolve devices names') @@ -160,7 +163,7 @@ def main (): # new devices were found if len(newDevices) > 0: # run all plugins registered to be run when new devices are found - run_plugin_scripts(db, all_plugins, 'on_new_device') + pm.run_plugin_scripts('on_new_device') # Notification handling # ---------------------------------------- @@ -175,7 +178,7 @@ def main (): # run all enabled publisher gateways if notificationObj.HasNotifications: - run_plugin_scripts(db, all_plugins, 'on_notification') + pm.run_plugin_scripts('on_notification') notification.setAllProcessed() notification.clearPendingEmailFlag() diff --git a/server/initialise.py b/server/initialise.py index c8492be5..86991ef9 100755 --- a/server/initialise.py +++ b/server/initialise.py @@ -17,7 +17,7 @@ from app_state import updateState from logger import mylog from api import update_api from scheduler import schedule_class -from plugin import print_plugin_info, run_plugin_scripts +from plugin import plugin_manager, print_plugin_info from plugin_utils import get_plugins_configs, get_set_value_for_init from notification import write_notification from crypto_utils import get_random_bytes @@ -402,7 +402,8 @@ def importConfigs (db, all_plugins): update_api(db, all_plugins, True, ["settings"]) # run plugins that are modifying the config - run_plugin_scripts(db, all_plugins, 'before_config_save' ) + pm = plugin_manager(db, all_plugins) + pm.run_plugin_scripts('before_config_save') # Used to determine the next import conf.lastImportedConfFile = os.path.getmtime(config_file) diff --git a/server/logger.py b/server/logger.py index cf578cd5..958fdd4a 100755 --- a/server/logger.py +++ b/server/logger.py @@ -45,10 +45,11 @@ reqLvl = 0 #------------------------------------------------------------------------------- class Logger: - def __init__(self, LOG_LEVEL='verbose'): + def __init__(self, LOG_LEVEL): global currentLevel currentLevel = LOG_LEVEL + conf.LOG_LEVEL = currentLevel # Automatically set up custom logging handler self.setup_logging() @@ -89,7 +90,7 @@ def mylog(requestedDebugLevel, n): reqLvl = lvl[1] if reqLvl <= setLvl: - file_print (*n) + file_print (*n) #------------------------------------------------------------------------------- # Queue for log messages @@ -138,18 +139,6 @@ def file_print(*args): # Ensure the log writer thread is running start_log_writer_thread() -#------------------------------------------------------------------------------- -def print_log(pText): - # Check if logging is active - if not conf.LOG_LEVEL == 'debug': - return - - # Current Time - log_timestamp2 = datetime.datetime.now(conf.tz).replace(microsecond=0) - - # Print line + time + text - file_print('[LOG_LEVEL=debug]', log_timestamp2.strftime('%H:%M:%S'), pText) - return pText #------------------------------------------------------------------------------- def append_file_binary(file_path, input_data): diff --git a/server/models/device_instance.py b/server/models/device_instance.py index 63176af4..430a3c6f 100755 --- a/server/models/device_instance.py +++ b/server/models/device_instance.py @@ -4,7 +4,7 @@ import sys INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/server"]) -from logger import mylog, print_log +from logger import mylog #------------------------------------------------------------------------------- # Device object handling (WIP) diff --git a/server/models/plugin_object_instance.py b/server/models/plugin_object_instance.py index 83f58512..347ad849 100755 --- a/server/models/plugin_object_instance.py +++ b/server/models/plugin_object_instance.py @@ -4,7 +4,7 @@ import sys INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/server"]) -from logger import mylog, print_log +from logger import mylog #------------------------------------------------------------------------------- # Plugin object handling (WIP) diff --git a/server/notification.py b/server/notification.py index 3e6e478a..c641f708 100755 --- a/server/notification.py +++ b/server/notification.py @@ -12,7 +12,7 @@ from json2table import convert # Register NetAlertX modules import conf from const import applicationPath, logPath, apiPath, confFileName, reportTemplatesPath -from logger import logResult, mylog, print_log +from logger import logResult, mylog from helper import generate_mac_links, removeDuplicateNewLines, timeNowTZ, get_file_content, write_file, get_setting_value, get_timezone_offset #------------------------------------------------------------------------------- diff --git a/server/plugin.py b/server/plugin.py index cbf07100..586f4a4b 100755 --- a/server/plugin.py +++ b/server/plugin.py @@ -20,8 +20,150 @@ from notification import Notification_obj, write_notification from user_events_queue import UserEventsQueue from crypto_utils import generate_deterministic_guid -# Make sure log level is initialized correctly -Logger(get_setting_value('LOG_LEVEL')) + +#------------------------------------------------------------------------------- +class plugin_manager: + def __init__(self, db, all_plugins): + self.db = db + self.all_plugins = all_plugins + + # Make sure log level is initialized correctly + Logger(get_setting_value('LOG_LEVEL')) + + #------------------------------------------------------------------------------- + def run_plugin_scripts(self, runType): + + # Header + updateState("Run: Plugins") + + mylog('debug', ['[Plugins] Check if any plugins need to be executed on run type: ', runType]) + + for plugin in self.all_plugins: + + shouldRun = False + prefix = plugin["unique_prefix"] + + set = get_plugin_setting_obj(plugin, "RUN") + + # mylog('debug', [f'[run_plugin_scripts] plugin: {plugin}']) + # mylog('debug', [f'[run_plugin_scripts] set: {set}']) + if set != None and set['value'] == runType: + if runType != "schedule": + shouldRun = True + elif runType == "schedule": + # run if overdue scheduled time + # check schedules if any contains a unique plugin prefix matching the current plugin + for schd in conf.mySchedules: + if schd.service == prefix: + # Check if schedule overdue + shouldRun = schd.runScheduleCheck() + + if shouldRun: + # Header + updateState(f"Plugin: {prefix}") + + print_plugin_info(plugin, ['display_name']) + mylog('debug', ['[Plugins] CMD: ', get_plugin_setting_obj(plugin, "CMD")["value"]]) + execute_plugin(self.db, self.all_plugins, plugin) + # update last run time + if runType == "schedule": + for schd in conf.mySchedules: + if schd.service == prefix: + # note the last time the scheduled plugin run was executed + schd.last_run = timeNowTZ() + + #=============================================================================== + # Handling of user initialized front-end events + #=============================================================================== + def check_and_run_user_event(self): + """ + Process user events from the execution queue log file and notify the user about executed events. + """ + execution_log = UserEventsQueue() + + # Track whether to show notification for executed events + executed_events = [] + + # Read the log file to get the lines + lines = execution_log.read_log() + if not lines: + mylog('debug', ['[check_and_run_user_event] User Execution Queue is empty']) + return # Exit early if the log file is empty + else: + mylog('debug', ['[check_and_run_user_event] Process User Execution Queue:' + ', '.join(map(str, lines))]) + + for line in lines: + # Extract event name and parameters from the log line + columns = line.strip().split('|')[2:4] + + event, param = "", "" + if len(columns) == 2: + event, param = columns + + # Process each event type + if event == 'test': + handle_test(param) + executed_events.append(f"test with param {param}") + execution_log.finalize_event("test") + elif event == 'run': + handle_run(param) + executed_events.append(f"run with param {param}") + execution_log.finalize_event("run") + elif event == 'update_api': + # async handling + update_api(self.db, self.all_plugins, False, param.split(','), True) + + else: + mylog('minimal', ['[check_and_run_user_event] WARNING: Unhandled event in execution queue: ', event, ' | ', param]) + execution_log.finalize_event(event) # Finalize unknown events to remove them + + # Notify user about executed events (if applicable) + if len(executed_events) > 0 and executed_events: + executed_events_message = ', '.join(executed_events) + mylog('minimal', ['[check_and_run_user_event] INFO: Executed events: ', executed_events_message]) + write_notification(f"[Ad-hoc events] Events executed: {executed_events_message}", "interrupt", timeNowTZ()) + + return + + + + #------------------------------------------------------------------------------- + def handle_run(self, runType): + + mylog('minimal', ['[', timeNowTZ(), '] START Run: ', runType]) + + # run the plugin to run + for plugin in self.all_plugins: + if plugin["unique_prefix"] == runType: + execute_plugin(self.db, self.all_plugins, plugin) + + mylog('minimal', ['[', timeNowTZ(), '] END Run: ', runType]) + return + + + + #------------------------------------------------------------------------------- + def handle_test(self, runType): + + mylog('minimal', ['[', timeNowTZ(), '] [Test] START Test: ', runType]) + + # Prepare test samples + sample_json = json.loads(get_file_content(reportTemplatesPath + 'webhook_json_sample.json'))[0]["body"]["attachments"][0]["text"] + + # Create fake notification + notification = Notification_obj(db) + notificationObj = notification.create(sample_json, "") + + # Run test + handle_run(runType) + + # Remove sample notification + notificationObj.remove(notificationObj.GUID) + + mylog('minimal', ['[Test] END Test: ', runType]) + + return + #------------------------------------------------------------------------------- class plugin_param: @@ -103,47 +245,7 @@ class plugin_param: self.paramValuesCount = paramValuesCount self.multiplyTimeout = multiplyTimeout -#------------------------------------------------------------------------------- -def run_plugin_scripts(db, all_plugins, runType): - # Header - updateState("Run: Plugins") - - mylog('debug', ['[Plugins] Check if any plugins need to be executed on run type: ', runType]) - - for plugin in all_plugins: - - shouldRun = False - prefix = plugin["unique_prefix"] - - set = get_plugin_setting_obj(plugin, "RUN") - - # mylog('debug', [f'[run_plugin_scripts] plugin: {plugin}']) - # mylog('debug', [f'[run_plugin_scripts] set: {set}']) - if set != None and set['value'] == runType: - if runType != "schedule": - shouldRun = True - elif runType == "schedule": - # run if overdue scheduled time - # check schedules if any contains a unique plugin prefix matching the current plugin - for schd in conf.mySchedules: - if schd.service == prefix: - # Check if schedule overdue - shouldRun = schd.runScheduleCheck() - - if shouldRun: - # Header - updateState(f"Plugin: {prefix}") - - print_plugin_info(plugin, ['display_name']) - mylog('debug', ['[Plugins] CMD: ', get_plugin_setting_obj(plugin, "CMD")["value"]]) - execute_plugin(db, all_plugins, plugin) - # update last run time - if runType == "schedule": - for schd in conf.mySchedules: - if schd.service == prefix: - # note the last time the scheduled plugin run was executed - schd.last_run = timeNowTZ() # Function to run a plugin command @@ -448,13 +550,10 @@ def execute_plugin(db, all_plugins, plugin ): # check if the subprocess / SQL query failed / there was no valid output if len(sqlParams) == 0: mylog('none', [f'[Plugins] No output received from the plugin "{plugin["unique_prefix"]}"']) - return + else: - mylog('verbose', ['[Plugins] SUCCESS, received ', len(sqlParams), ' entries']) - mylog('debug', ['[Plugins] sqlParam entries: ', sqlParams]) - - # process results if any - if len(sqlParams) > 0: + mylog('verbose', [f'[Plugins] SUCCESS for {plugin["unique_prefix"]} received {len(sqlParams)} entries']) + # mylog('debug', ['[Plugins] sqlParam entries: ', sqlParams]) # create objects process_plugin_events(db, plugin, sqlParams) @@ -483,7 +582,8 @@ def process_plugin_events(db, plugin, plugEventsArr): pluginPref = plugin["unique_prefix"] - mylog('debug', ['[Plugins] Processing : ', pluginPref]) + mylog('verbose', ['[Plugins] Processing : ', pluginPref]) + try: # Begin a transaction @@ -497,8 +597,7 @@ def process_plugin_events(db, plugin, plugEventsArr): for obj in plugObjectsArr: pluginObjects.append(plugin_object_class(plugin, obj)) - - + # create plugin objects from events - will be processed to find existing objects for eve in plugEventsArr: pluginEvents.append(plugin_object_class(plugin, eve)) @@ -506,15 +605,13 @@ def process_plugin_events(db, plugin, plugEventsArr): mylog('debug', ['[Plugins] Existing objects from Plugins_Objects: ', len(pluginObjects)]) mylog('debug', ['[Plugins] Logged events from the plugin run : ', len(pluginEvents)]) - # Loop thru all current events and update the status to "exists" if the event matches an existing object index = 0 for tmpObjFromEvent in pluginEvents: # compare hash of the IDs for uniqueness - if any(x.idsHash == tmpObjFromEvent.idsHash for x in pluginObjects): - + if any(x.idsHash == tmpObjFromEvent.idsHash for x in pluginObjects): pluginEvents[index].status = "exists" index += 1 @@ -526,9 +623,13 @@ def process_plugin_events(db, plugin, plugEventsArr): if tmpObjFromEvent.status == "exists": - # compare hash of the changed watched columns for uniqueness - if any(x.watchedHash != tmpObjFromEvent.watchedHash for x in pluginObjects): - pluginEvents[index].status = "watched-changed" + # compare hash of the changed watched columns for uniqueness - make sure you compare the values with the same idsHash before checking watchedHash + if any( + x.idsHash == tmpObjFromEvent.idsHash and x.watchedHash != tmpObjFromEvent.watchedHash + for x in pluginObjects + ): + pluginEvents[index].status = "watched-changed" + else: pluginEvents[index].status = "watched-not-changed" index += 1 @@ -612,9 +713,9 @@ def process_plugin_events(db, plugin, plugEventsArr): mylog('debug', ['[Plugins] objects_to_insert count: ', len(objects_to_insert)]) mylog('debug', ['[Plugins] objects_to_update count: ', len(objects_to_update)]) - mylog('trace', ['[Plugins] objects_to_update: ', objects_to_update]) - mylog('trace', ['[Plugins] events_to_insert: ', events_to_insert]) - mylog('trace', ['[Plugins] history_to_insert: ', history_to_insert]) + # mylog('debug', ['[Plugins] objects_to_update: ', objects_to_update]) + # mylog('debug', ['[Plugins] events_to_insert: ', events_to_insert]) + # mylog('debug', ['[Plugins] history_to_insert: ', history_to_insert]) logEventStatusCounts('pluginEvents', pluginEvents) logEventStatusCounts('pluginObjects', pluginObjects) @@ -838,106 +939,20 @@ class plugin_object_class: for clmName in self.watchedClmns: for mapping in indexNameColumnMapping: - if clmName == indexNameColumnMapping[1]: - self.watchedIndxs.append(indexNameColumnMapping[0]) + if clmName == mapping[1]: + self.watchedIndxs.append(mapping[0]) tmp = '' for indx in self.watchedIndxs: + tmp += str(objDbRow[indx]) self.watchedHash = str(hash(tmp)) - -#=============================================================================== -# Handling of user initialized front-end events -#=============================================================================== -def check_and_run_user_event(db, all_plugins): - """ - Process user events from the execution queue log file and notify the user about executed events. - """ - execution_log = UserEventsQueue() - - # Track whether to show notification for executed events - executed_events = [] - - # Read the log file to get the lines - lines = execution_log.read_log() - if not lines: - mylog('debug', ['[check_and_run_user_event] User Execution Queue is empty']) - return # Exit early if the log file is empty - else: - mylog('debug', ['[check_and_run_user_event] Process User Execution Queue:' + ', '.join(map(str, lines))]) - - for line in lines: - # Extract event name and parameters from the log line - columns = line.strip().split('|')[2:4] - - event, param = "", "" - if len(columns) == 2: - event, param = columns - - # Process each event type - if event == 'test': - handle_test(param, db, all_plugins) - executed_events.append(f"test with param {param}") - execution_log.finalize_event("test") - elif event == 'run': - handle_run(param, db, all_plugins) - executed_events.append(f"run with param {param}") - execution_log.finalize_event("run") - elif event == 'update_api': - # async handling - update_api(db, all_plugins, False, param.split(','), True) - - else: - mylog('minimal', ['[check_and_run_user_event] WARNING: Unhandled event in execution queue: ', event, ' | ', param]) - execution_log.finalize_event(event) # Finalize unknown events to remove them - - # Notify user about executed events (if applicable) - if len(executed_events) > 0 and executed_events: - executed_events_message = ', '.join(executed_events) - mylog('minimal', ['[check_and_run_user_event] INFO: Executed events: ', executed_events_message]) - write_notification(f"[Ad-hoc events] Events executed: {executed_events_message}", "interrupt", timeNowTZ()) - - return + def __repr__(self): + attrs = vars(self) + return f"" -#------------------------------------------------------------------------------- -def handle_run(runType, db, all_plugins): - - mylog('minimal', ['[', timeNowTZ(), '] START Run: ', runType]) - - # run the plugin to run - for plugin in all_plugins: - if plugin["unique_prefix"] == runType: - execute_plugin(db, all_plugins, plugin) - - mylog('minimal', ['[', timeNowTZ(), '] END Run: ', runType]) - return - - - -#------------------------------------------------------------------------------- -def handle_test(runType, db, all_plugins): - - mylog('minimal', ['[', timeNowTZ(), '] [Test] START Test: ', runType]) - - # Prepare test samples - sample_json = json.loads(get_file_content(reportTemplatesPath + 'webhook_json_sample.json'))[0]["body"]["attachments"][0]["text"] - - # Create fake notification - notification = Notification_obj(db) - notificationObj = notification.create(sample_json, "") - - # Run test - handle_run(runType, db, all_plugins) - - # Remove sample notification - notificationObj.remove(notificationObj.GUID) - - mylog('minimal', ['[Test] END Test: ', runType]) - - return - diff --git a/server/reporting.py b/server/reporting.py index b6a761da..6ab1e7dd 100755 --- a/server/reporting.py +++ b/server/reporting.py @@ -16,8 +16,7 @@ import json import conf from const import applicationPath, logPath, apiPath, confFileName from helper import timeNowTZ, get_file_content, write_file, get_timezone_offset, get_setting_value -from logger import logResult, mylog, print_log - +from logger import logResult, mylog #=============================================================================== # REPORTING diff --git a/server/scan/device_handling.py b/server/scan/device_handling.py index ddfb45bc..948ab52d 100755 --- a/server/scan/device_handling.py +++ b/server/scan/device_handling.py @@ -9,7 +9,7 @@ import conf import os import re from helper import timeNowTZ, get_setting, get_setting_value, list_to_where, resolve_device_name_dig, get_device_name_nbtlookup, get_device_name_nslookup, get_device_name_mdns, check_IP_format, sanitize_SQL_input -from logger import mylog, print_log +from logger import mylog from const import vendorsPath, vendorsPathNewest, sql_generateGuid from models.device_instance import DeviceInstance diff --git a/server/scheduler.py b/server/scheduler.py index 47b4981f..0ca4c0e5 100755 --- a/server/scheduler.py +++ b/server/scheduler.py @@ -1,7 +1,7 @@ """ class to manage schedules """ import datetime -from logger import mylog, print_log +from logger import mylog import conf #------------------------------------------------------------------------------- diff --git a/server/workflows/app_events.py b/server/workflows/app_events.py index 5a623973..364fb791 100755 --- a/server/workflows/app_events.py +++ b/server/workflows/app_events.py @@ -14,7 +14,7 @@ from helper import get_setting_value, timeNowTZ # Make sure the TIMEZONE for logging is correct # conf.tz = pytz.timezone(get_setting_value('TIMEZONE')) -from logger import mylog, Logger, print_log, logResult +from logger import mylog, Logger, logResult # Make sure log level is initialized correctly Logger(get_setting_value('LOG_LEVEL')) From 31089e2aa6aa372085110f1336276381c7a0c59f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bekir=20Kayra=20=C3=87i=C4=9Fdem?= Date: Sun, 4 May 2025 00:02:42 +0200 Subject: [PATCH 055/667] Translated using Weblate (Turkish) Currently translated at 42.7% (318 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/tr/ --- front/php/templates/language/tr_tr.json | 240 ++++++++++++------------ 1 file changed, 120 insertions(+), 120 deletions(-) diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json index 7d890bca..52ba5d0f 100644 --- a/front/php/templates/language/tr_tr.json +++ b/front/php/templates/language/tr_tr.json @@ -1,11 +1,11 @@ { - "API_CUSTOM_SQL_description": "", - "API_CUSTOM_SQL_name": "", - "API_TOKEN_description": "", - "API_TOKEN_name": "", - "API_display_name": "", - "API_icon": "", - "About_Design": "", + "API_CUSTOM_SQL_description": "Özel bir SQL sorgusu belirleyebilir ve bu sorgu ile bir JSON dosyası oluşturabilir, ardından bu dosyayı table_custom_endpoint.json dosya uç noktası üzerinden erişime açabilirsiniz.", + "API_CUSTOM_SQL_name": "Kişiselleştirilmiş endpoint", + "API_TOKEN_description": "Güvenli iletişim için API token'ı. Bir tane oluşturun veya herhangi bir değer girin. Bu token, istek başlığında gönderilir ve SYNC eklentisi, GraphQL sunucusu ve diğer API uç noktalarında kullanılır. API uç noktalarını, API belgelerinde açıklanan şekilde özel entegrasyonlar oluşturmak için kullanabilirsiniz.", + "API_TOKEN_name": "API token", + "API_display_name": "API", + "API_icon": "", + "About_Design": "Tasarım Amacı:", "About_Exit": "Oturum kapat", "About_Title": "Ağ güvenlik tarayıcısı & bildirim çerçevesi", "AppEvents_AppEventProcessed": "İşlendi", @@ -59,169 +59,169 @@ "BackDevices_Restore_okay": "Geri yükleme başarılı bir şekilde gerçekleştirildi.", "BackDevices_darkmode_disabled": "Karanlık mod devre dışı bırakıldı", "BackDevices_darkmode_enabled": "Karanlık mod etkinleştirildi", - "CLEAR_NEW_FLAG_description": "", - "CLEAR_NEW_FLAG_name": "", - "CustProps_cant_remove": "", - "DAYS_TO_KEEP_EVENTS_description": "", - "DAYS_TO_KEEP_EVENTS_name": "", - "DISCOVER_PLUGINS_description": "", - "DISCOVER_PLUGINS_name": "", - "DevDetail_Copy_Device_Title": "", - "DevDetail_Copy_Device_Tooltip": "", - "DevDetail_CustomProperties_Title": "", - "DevDetail_CustomProps_reset_info": "", - "DevDetail_DisplayFields_Title": "", - "DevDetail_EveandAl_AlertAllEvents": "", - "DevDetail_EveandAl_AlertDown": "", - "DevDetail_EveandAl_Archived": "", + "CLEAR_NEW_FLAG_description": "Eğer etkinleştirilmişse (0 devre dışı bırakılmıştır), Yeni Cihaz olarak işaretlenen cihazlar, belirlenen saat cinsinden süre sınırı, İlk Oturum zamanlarını aşarsa işaretlenmemiş hale gelir.", + "CLEAR_NEW_FLAG_name": "Yeni bayrağını kaldır", + "CustProps_cant_remove": "Kaldırılamaz, en az bir özellik gereklidir.", + "DAYS_TO_KEEP_EVENTS_description": "Bu bir bakım ayarıdır. Bu, saklanacak olay girişlerinin gün cinsinden sayısını belirtir. Daha eski tüm olaylar periyodik olarak silinecektir. Ayrıca Eklenti Olay Geçmişi üzerinde de geçerlidir.", + "DAYS_TO_KEEP_EVENTS_name": "Şu tarihten eski olayları sil", + "DISCOVER_PLUGINS_description": "Bu seçeneği devre dışı bırakmak, başlatma süresini ve ayarların kaydedilmesini hızlandırır. Devre dışı bırakıldığında, eklentiler keşfedilmez ve LOADED_PLUGINS ayarına yeni eklentiler eklenemez.", + "DISCOVER_PLUGINS_name": "Eklentileri keşfet", + "DevDetail_Copy_Device_Title": "Cihazdan detayları kopyala", + "DevDetail_Copy_Device_Tooltip": "Aşağıdaki açılır listeden cihazın detaylarını kopyalayın. Bu sayfadaki her şey üzerine yazılacaktır", + "DevDetail_CustomProperties_Title": "Özelleştirilmiş Özellikler", + "DevDetail_CustomProps_reset_info": "Bu, bu cihazdaki özelleştirilmiş özelliklerinizi kaldıracak ve varsayılan değere sıfırlayacaktır.", + "DevDetail_DisplayFields_Title": "Görüntüle", + "DevDetail_EveandAl_AlertAllEvents": "Alarm Olayları", + "DevDetail_EveandAl_AlertDown": "Alarm Düşüşü", + "DevDetail_EveandAl_Archived": "Arşivlenmiş", "DevDetail_EveandAl_NewDevice": "Yeni Cihaz", - "DevDetail_EveandAl_NewDevice_Tooltip": "", - "DevDetail_EveandAl_RandomMAC": "", - "DevDetail_EveandAl_ScanCycle": "", - "DevDetail_EveandAl_ScanCycle_a": "", - "DevDetail_EveandAl_ScanCycle_z": "", - "DevDetail_EveandAl_Skip": "", - "DevDetail_EveandAl_Title": "", - "DevDetail_Events_CheckBox": "", - "DevDetail_GoToNetworkNode": "", - "DevDetail_Icon": "", + "DevDetail_EveandAl_NewDevice_Tooltip": "Cihaz için Yeni durumunu gösterecek ve Yeni Cihazlar filtresi aktif olduğunda listelere dahil edecektir. Bildirimleri etkilemez.", + "DevDetail_EveandAl_RandomMAC": "Rastgele MAC", + "DevDetail_EveandAl_ScanCycle": "Cihazı tara", + "DevDetail_EveandAl_ScanCycle_a": "Cihaz Tarama", + "DevDetail_EveandAl_ScanCycle_z": "Cihazı Sakın Etme", + "DevDetail_EveandAl_Skip": "Tekrarlanan bildirimleri atla", + "DevDetail_EveandAl_Title": "Bildirim konfigürasyonu", + "DevDetail_Events_CheckBox": "Bağlantı Olaylarını Gizle", + "DevDetail_GoToNetworkNode": "Verilen düğümün Ağ sayfasına gidin.", + "DevDetail_Icon": "İkon", "DevDetail_Icon_Descr": "", "DevDetail_Loading": "YÜkleniyor...", "DevDetail_MainInfo_Comments": "Yorumlar", - "DevDetail_MainInfo_Favorite": "", + "DevDetail_MainInfo_Favorite": "Favori", "DevDetail_MainInfo_Group": "Grup", "DevDetail_MainInfo_Location": "Konum", "DevDetail_MainInfo_Name": "İsim", - "DevDetail_MainInfo_Network": "", - "DevDetail_MainInfo_Network_Port": "", - "DevDetail_MainInfo_Network_Site": "", - "DevDetail_MainInfo_Network_Title": "", + "DevDetail_MainInfo_Network": " Makine (MAC)", + "DevDetail_MainInfo_Network_Port": " Port", + "DevDetail_MainInfo_Network_Site": "Alan", + "DevDetail_MainInfo_Network_Title": "Network", "DevDetail_MainInfo_Owner": "Sahip", - "DevDetail_MainInfo_SSID": "", - "DevDetail_MainInfo_Title": "", - "DevDetail_MainInfo_Type": "", - "DevDetail_MainInfo_Vendor": "", - "DevDetail_MainInfo_mac": "", - "DevDetail_Network_Node_hover": "", - "DevDetail_Network_Port_hover": "", - "DevDetail_Nmap_Scans": "", - "DevDetail_Nmap_Scans_desc": "", - "DevDetail_Nmap_buttonDefault": "", - "DevDetail_Nmap_buttonDefault_text": "", + "DevDetail_MainInfo_SSID": "SSID", + "DevDetail_MainInfo_Title": "Genel Bilgiler", + "DevDetail_MainInfo_Type": "Tür", + "DevDetail_MainInfo_Vendor": "Üretici", + "DevDetail_MainInfo_mac": "MAC", + "DevDetail_Network_Node_hover": "Cihazın bağlı olduğu üst ağ cihazını seçerek Ağ ağacının doldurulmasını sağlayın.", + "DevDetail_Network_Port_hover": "Bu cihazın, üst ağ cihazı üzerindeki bağlı olduğu port. Boş bırakılırsa, Ağ ağacında bir Wi-Fi simgesi görüntülenir.", + "DevDetail_Nmap_Scans": "Manuel Nmap Taramaları", + "DevDetail_Nmap_Scans_desc": "Buradan manuel NMAP taramaları gerçekleştirebilirsiniz. Ayrıca, Services & Ports (NMAP) eklentisi aracılığıyla düzenli otomatik NMAP taramaları da planlayabilirsiniz. Daha fazla bilgi için Ayarlar sayfasına göz atın", + "DevDetail_Nmap_buttonDefault": "Standart Tarama", + "DevDetail_Nmap_buttonDefault_text": "Standart Tarama: Nmap, her bir protokol için en yaygın 1.000 portu tarayarak TCP’nin %93’ünü ve UDP’nin %49’unu tespit eder. (yaklaşık 5 saniyelik süreyle)", "DevDetail_Nmap_buttonDetail": "Detaylı Tarama", - "DevDetail_Nmap_buttonDetail_text": "", + "DevDetail_Nmap_buttonDetail_text": "Detaylı Tarama: Varsayılan taramaya ek olarak, OS tespiti, sürüm tespiti, betik taraması ve traceroute özellikleri etkinleştirilmiştir. (30 saniye veya daha uzun sürebilir)", "DevDetail_Nmap_buttonFast": "Hızlı Tarama", - "DevDetail_Nmap_buttonFast_text": "", - "DevDetail_Nmap_buttonSkipDiscovery": "", - "DevDetail_Nmap_buttonSkipDiscovery_text": "", + "DevDetail_Nmap_buttonFast_text": "Hızlı Tarama: Varsayılan taramadan daha az portu (100) tarar (birkaç saniye sürer)", + "DevDetail_Nmap_buttonSkipDiscovery": "Ağ cihazı keşfini atla", + "DevDetail_Nmap_buttonSkipDiscovery_text": "Ağ cihazı keşfini atla (-Pn seçeneği): Host keşfi yapılmadan varsayılan tarama", "DevDetail_Nmap_resultsLink": "Tarama başlattıktan sonra bu sayfadan çıkabilirsiniz. Sonuçlara app_front.log dosyasından da ulaşılabilir.", - "DevDetail_Owner_hover": "", + "DevDetail_Owner_hover": "Cihazın sahibi kimdir? Serbest metin kutusu.", "DevDetail_Periodselect_All": "Tüm Bilgi", "DevDetail_Periodselect_LastMonth": "Geçen Ay", "DevDetail_Periodselect_LastWeek": "Geçen Hafta", "DevDetail_Periodselect_LastYear": "Geçen Yıl", "DevDetail_Periodselect_today": "Bugün", "DevDetail_Run_Actions_Title": "Komutu cihazda çalıştır", - "DevDetail_Run_Actions_Tooltip": "", + "DevDetail_Run_Actions_Tooltip": "Mevcut cihaz üzerinde açılır menüden bir işlem çalıştırın.", "DevDetail_SessionInfo_FirstSession": "İlk Oturum", "DevDetail_SessionInfo_LastIP": "Son IP", - "DevDetail_SessionInfo_LastSession": "", - "DevDetail_SessionInfo_StaticIP": "", + "DevDetail_SessionInfo_LastSession": "Son Çevrimdışı", + "DevDetail_SessionInfo_StaticIP": "Statik IP", "DevDetail_SessionInfo_Status": "Durum", "DevDetail_SessionInfo_Title": "Oturum Bİlgisi", "DevDetail_SessionTable_Additionalinfo": "Ek bilgi", "DevDetail_SessionTable_Connection": "Bağlantı", - "DevDetail_SessionTable_Disconnection": "", + "DevDetail_SessionTable_Disconnection": "Bağlantıyı Kes", "DevDetail_SessionTable_Duration": "Süre", "DevDetail_SessionTable_IP": "IP", "DevDetail_SessionTable_Order": "Sıra", "DevDetail_Shortcut_CurrentStatus": "Mevcut Durum", - "DevDetail_Shortcut_DownAlerts": "", - "DevDetail_Shortcut_Presence": "", + "DevDetail_Shortcut_DownAlerts": "Kapalı Alarmlar", + "DevDetail_Shortcut_Presence": "Mevcudiyet", "DevDetail_Shortcut_Sessions": "Oturumlar", "DevDetail_Tab_Details": "Detaylar", - "DevDetail_Tab_Events": "", + "DevDetail_Tab_Events": "Etkinlikler", "DevDetail_Tab_EventsTableDate": "Tarih", - "DevDetail_Tab_EventsTableEvent": "", + "DevDetail_Tab_EventsTableEvent": "Etkinlik Türü", "DevDetail_Tab_EventsTableIP": "IP", "DevDetail_Tab_EventsTableInfo": "Ek bilgi", - "DevDetail_Tab_Nmap": "", - "DevDetail_Tab_NmapEmpty": "", + "DevDetail_Tab_Nmap": " Nmap", + "DevDetail_Tab_NmapEmpty": "Bu cihazda Nmap ile herhangi bir port tespit edilmedi.", "DevDetail_Tab_NmapTableExtra": "Ekstra", "DevDetail_Tab_NmapTableHeader": "Planlanmış tarama sonuçları", - "DevDetail_Tab_NmapTableIndex": "", - "DevDetail_Tab_NmapTablePort": "", - "DevDetail_Tab_NmapTableService": "", - "DevDetail_Tab_NmapTableState": "", - "DevDetail_Tab_NmapTableText": "", + "DevDetail_Tab_NmapTableIndex": "İndeks", + "DevDetail_Tab_NmapTablePort": "Port", + "DevDetail_Tab_NmapTableService": "Servis", + "DevDetail_Tab_NmapTableState": "Status", + "DevDetail_Tab_NmapTableText": "Bir takvim oluşturun Ayarlar bölümünde", "DevDetail_Tab_NmapTableTime": "Zaman", - "DevDetail_Tab_Plugins": "", - "DevDetail_Tab_Presence": "", + "DevDetail_Tab_Plugins": "Eklentiler", + "DevDetail_Tab_Presence": "Mevcudiyet", "DevDetail_Tab_Sessions": "Oturumlar", - "DevDetail_Tab_Tools": "", - "DevDetail_Tab_Tools_Internet_Info_Description": "", + "DevDetail_Tab_Tools": "Araçlar", + "DevDetail_Tab_Tools_Internet_Info_Description": "İnternet Bilgisi aracı, IP adresi, şehir, ülke, alan kodu ve saat dilimi gibi internet bağlantısı hakkında bilgi görüntüler.", "DevDetail_Tab_Tools_Internet_Info_Error": "Bir hata oluştu", - "DevDetail_Tab_Tools_Internet_Info_Start": "", - "DevDetail_Tab_Tools_Internet_Info_Title": "", - "DevDetail_Tab_Tools_Nslookup_Description": "", - "DevDetail_Tab_Tools_Nslookup_Error": "Hata: Geçersiz IP adresi.", - "DevDetail_Tab_Tools_Nslookup_Start": "", - "DevDetail_Tab_Tools_Nslookup_Title": "", - "DevDetail_Tab_Tools_Speedtest_Description": "", - "DevDetail_Tab_Tools_Speedtest_Start": "", - "DevDetail_Tab_Tools_Speedtest_Title": "", - "DevDetail_Tab_Tools_Traceroute_Description": "", + "DevDetail_Tab_Tools_Internet_Info_Start": "İnternet Bilgisi Başlat", + "DevDetail_Tab_Tools_Internet_Info_Title": "İnternet Bilgisi", + "DevDetail_Tab_Tools_Nslookup_Description": "Nslookup, Alan Adı Sistemi'ni (DNS) sorgulamak için kullanılan bir komut satırı aracıdır. DNS, www.google.com gibi alan adlarını, 172.217.0.142 gibi IP adreslerine çeviren bir sistemdir.", + "DevDetail_Tab_Tools_Nslookup_Error": "Hata: Geçersiz IP adresi", + "DevDetail_Tab_Tools_Nslookup_Start": "Nslookup Başlat", + "DevDetail_Tab_Tools_Nslookup_Title": "Nslookup", + "DevDetail_Tab_Tools_Speedtest_Description": "Speedtest aracı, internet bağlantısının indirme hızı, yükleme hızı ve gecikme süresini ölçer.", + "DevDetail_Tab_Tools_Speedtest_Start": "Speedtest Başlat", + "DevDetail_Tab_Tools_Speedtest_Title": "Çevrimiçi Speedtest", + "DevDetail_Tab_Tools_Traceroute_Description": "Traceroute, veri paketlerinin bir host'tan diğerine gittiği yolu izlemek için kullanılan bir ağ tanılama komutudur.Bu komut, İnternet Kontrol Mesajı Protokolü (ICMP) kullanarak, rotadaki ara düğümlere paketler gönderir; her bir ara düğüm, ICMP zaman aşımı (TTL zaman aşımı) paketleri ile yanıt verir.Traceroute komutunun çıktısı, rotadaki her bir ara düğümün IP adresini görüntüler.Traceroute komutu, ağ sorunlarını teşhis etmek için kullanılabilir, örneğin gecikmeler, paket kaybı ve engellenmiş rotalar gibi.Ayrıca, bir ağdaki ara düğümün konumunu belirlemek için de kullanılabilir.", "DevDetail_Tab_Tools_Traceroute_Error": "Hata: Geçersiz IP adresi", - "DevDetail_Tab_Tools_Traceroute_Start": "", - "DevDetail_Tab_Tools_Traceroute_Title": "", - "DevDetail_Tools_WOL": "", - "DevDetail_Tools_WOL_noti": "", - "DevDetail_Tools_WOL_noti_text": "", - "DevDetail_Type_hover": "", - "DevDetail_Vendor_hover": "", - "DevDetail_WOL_Title": "", + "DevDetail_Tab_Tools_Traceroute_Start": "Traceroute Başlat", + "DevDetail_Tab_Tools_Traceroute_Title": "Traceroute", + "DevDetail_Tools_WOL": "WoL komutunu gönder ", + "DevDetail_Tools_WOL_noti": "Wake-on-LAN", + "DevDetail_Tools_WOL_noti_text": "Wake-on-LAN komutu yayın adresine gönderilir. Eğer hedef, NetAlertX'in alt ağında/VLAN'ında değilse, hedef cihaz yanıt vermez.", + "DevDetail_Type_hover": "Cihazın Türü. Eğer önceden tanımlanmış ağ cihazlarından herhangiini (örneğin: AP, Firewall, Router, Switch...) seçerseniz, bu cihazlar Ağ ağacı yapılandırmasında olası üst ağ düğümleri olarak görüntülenir.", + "DevDetail_Vendor_hover": "Satıcı otomatik olarak tespit edilmelidir. Kendi özel değerini yazabilir veya üzerine yazabilirsiniz.", + "DevDetail_WOL_Title": " Wake-on-LAN", "DevDetail_button_AddIcon": "Yeni İkon Ekle", - "DevDetail_button_AddIcon_Help": "", - "DevDetail_button_AddIcon_Tooltip": "", + "DevDetail_button_AddIcon_Help": "Bir SVG HTML etiketi veya Font Awesome HTML etiketi simgesi yapıştırın. Detaylar için Simge dökümantasyonunu okuyun.", + "DevDetail_button_AddIcon_Tooltip": "Bu cihaza, açılır menüde henüz mevcut olmayan yeni bir simge ekleyin.", "DevDetail_button_Delete": "Cihazı Sil", - "DevDetail_button_DeleteEvents": "", - "DevDetail_button_DeleteEvents_Warning": "", - "DevDetail_button_Delete_ask": "", - "DevDetail_button_OverwriteIcons": "", - "DevDetail_button_OverwriteIcons_Tooltip": "", - "DevDetail_button_OverwriteIcons_Warning": "", + "DevDetail_button_DeleteEvents": "Etkinlikleri Sil", + "DevDetail_button_DeleteEvents_Warning": "Bu cihazın tüm Etkinliklerini silmek istediğinizden emin misiniz?

(Bu işlem, Etkinlik geçmişi ve Oturumları temizler, ayrıca sürekli (kalıcı) bildirimlerin giderilmesine yardımcı olabilir.)", + "DevDetail_button_Delete_ask": "Bu cihazı silmek istediğinizden emin misiniz? Bunun yerine arşivlemeyi de seçebilirsiniz.", + "DevDetail_button_OverwriteIcons": "Simgeleri Üzerine Yaz", + "DevDetail_button_OverwriteIcons_Tooltip": "Aynı cihaz türüne sahip tüm cihazların simgelerini üzerine yazın", + "DevDetail_button_OverwriteIcons_Warning": "Mevcut cihaz türüyle aynı cihaz türüne sahip tüm cihazların simgelerini üzerine yazmak istediğinizden emin misiniz?", "DevDetail_button_Reset": "Değişiklikleri Sıfırla", "DevDetail_button_Save": "Kaydet", - "DeviceEdit_ValidMacIp": "", - "Device_MultiEdit": "", - "Device_MultiEdit_Backup": "", - "Device_MultiEdit_Fields": "", + "DeviceEdit_ValidMacIp": "Geçerli bir Mac ve IP adresi girin.", + "Device_MultiEdit": "Çoklu Düzenleme", + "Device_MultiEdit_Backup": "Dikkat, aşağıya yanlış değerler girmeniz yapılandırmanızı bozabilir. Lütfen önce veritabanınızı veya Cihazlar yapılandırmanızı yedekleyin (İndirmeniz için tıklayın ). Bu dosyadan Cihazları nasıl geri yükleyeceğinizi öğrenmek için Yedekleme dökümantasyonunu okuyun.", + "Device_MultiEdit_Fields": "Alanları Düzenle:", "Device_MultiEdit_MassActions": "Toplu komutlar:", - "Device_MultiEdit_Tooltip": "", - "Device_Searchbox": "", + "Device_MultiEdit_Tooltip": "Dikkat. Buna tıklamak, soldaki değeri yukarıda seçilen tüm cihazlara uygulayacaktır.", + "Device_Searchbox": "Arama", "Device_Shortcut_AllDevices": "Cihazlarım", - "Device_Shortcut_Archived": "", + "Device_Shortcut_Archived": "Arşivlenmiş", "Device_Shortcut_Connected": "Bağlandı", "Device_Shortcut_Devices": "Cihazlar", - "Device_Shortcut_DownAlerts": "", - "Device_Shortcut_DownOnly": "", + "Device_Shortcut_DownAlerts": "Çalışmıyor & Çevrimdışı", + "Device_Shortcut_DownOnly": "Çalışmıyor", "Device_Shortcut_Favorites": "Favoriler", "Device_Shortcut_NewDevices": "Yeni Cİhazlar", - "Device_Shortcut_OnlineChart": "", - "Device_TableHead_AlertDown": "", + "Device_Shortcut_OnlineChart": "Cihaz Durumu", + "Device_TableHead_AlertDown": "Çalışmama Alarmı", "Device_TableHead_Connected_Devices": "Bağlantılar", - "Device_TableHead_CustomProps": "", - "Device_TableHead_Favorite": "", + "Device_TableHead_CustomProps": "Özellikler / Eylemler", + "Device_TableHead_Favorite": "Favori", "Device_TableHead_FirstSession": "İlk Oturum", - "Device_TableHead_GUID": "", + "Device_TableHead_GUID": "GUID", "Device_TableHead_Group": "Grup", - "Device_TableHead_Icon": "", - "Device_TableHead_LastIP": "", - "Device_TableHead_LastIPOrder": "", - "Device_TableHead_LastSession": "", + "Device_TableHead_Icon": "İkon", + "Device_TableHead_LastIP": "Son IP", + "Device_TableHead_LastIPOrder": "Son IP Sırası", + "Device_TableHead_LastSession": "Son Çevrimdışı Zamanı", "Device_TableHead_Location": "Konum", - "Device_TableHead_MAC": "", - "Device_TableHead_MAC_full": "", + "Device_TableHead_MAC": "Rastgele MAC", + "Device_TableHead_MAC_full": "Tam MAC", "Device_TableHead_Name": "İsim", "Device_TableHead_NetworkSite": "", "Device_TableHead_Owner": "", @@ -295,7 +295,7 @@ "Gen_Cancel": "İptal", "Gen_Change": "", "Gen_Copy": "Çalıştır", - "Gen_DataUpdatedUITakesTime": "TAMAM - Eğer bir tarama çalışıyorsa arayüzün güncellenmesi biraz zaman alabilir", + "Gen_DataUpdatedUITakesTime": "TAMAM - Eğer bir tarama çalışıyorsa arayüzün güncellenmesi biraz zaman alabilir.", "Gen_Delete": "Sil", "Gen_DeleteAll": "Tümünü sil", "Gen_Description": "", @@ -488,7 +488,7 @@ "Network_ManageAdd_Port": "", "Network_ManageAdd_Port_text": "", "Network_ManageAdd_Submit": "Cihaz Ekle", - "Network_ManageAdd_Type": "", + "Network_ManageAdd_Type": "Cihaz Türü", "Network_ManageAdd_Type_text": "", "Network_ManageAssign": "", "Network_ManageDel": "", From 27443c441a2d300536ea3724bac7e268d6cc9e91 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 4 May 2025 11:24:54 +1000 Subject: [PATCH 056/667] docs,MQTT alert_down #1057 --- README.md | 2 +- docs/DEVICES_BULK_EDITING.md | 2 ++ docs/WORKFLOWS.md | 2 +- front/plugins/_publisher_mqtt/mqtt.py | 1 + server/plugin.py | 6 +++--- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index cb75bf65..85370c8b 100755 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ build your own scanners with the [Plugin system](https://github.com/jokob-sk/Net ### Workflows -The [workflows module](https://github.com/jokob-sk/NetAlertX/blob/main/docs/WORKFLOWS.md) in NetAlertX allows to automate repetitive tasks, making network management more efficient. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete devices, this module provides the flexibility to tailor the automations to your needs. +The [workflows module](https://github.com/jokob-sk/NetAlertX/blob/main/docs/WORKFLOWS.md) allows to automate repetitive tasks, making network management more efficient. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete devices, this module provides the flexibility to tailor the automations to your needs. ## 📚 Documentation diff --git a/docs/DEVICES_BULK_EDITING.md b/docs/DEVICES_BULK_EDITING.md index 78be7579..d630a479 100755 --- a/docs/DEVICES_BULK_EDITING.md +++ b/docs/DEVICES_BULK_EDITING.md @@ -14,6 +14,8 @@ You can select devices in the _Devices_ view by selecting devices to edit and th ## CSV bulk edit +The database and device structure may change with new releases. When using the CSV import functionality, ensure the format matches what the application expects. To avoid issues, you can first export the devices and review the column formats before importing any custom data. + > [!NOTE] > As always, backup everything, just in case. diff --git a/docs/WORKFLOWS.md b/docs/WORKFLOWS.md index 143dae09..4298294b 100755 --- a/docs/WORKFLOWS.md +++ b/docs/WORKFLOWS.md @@ -1,6 +1,6 @@ # Workflows Overview -The workflows module in NetAlertX allows to automate repetitive tasks, making network management more efficient. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete devices, this module provides the flexibility to tailor the automations to your needs. +The workflows module in allows to automate repetitive tasks, making network management more efficient. Whether you need to assign newly discovered devices to a specific Network Node, auto-group devices from a given vendor, unarchive a device if detected online, or automatically delete devices, this module provides the flexibility to tailor the automations to your needs. ![Workflows diagram](./img/WORKFLOWS/workflows_diagram.png) diff --git a/front/plugins/_publisher_mqtt/mqtt.py b/front/plugins/_publisher_mqtt/mqtt.py index fb281e05..67c05d75 100755 --- a/front/plugins/_publisher_mqtt/mqtt.py +++ b/front/plugins/_publisher_mqtt/mqtt.py @@ -467,6 +467,7 @@ def mqtt_start(db): devJson = { "last_ip": device["devLastIP"], "is_new": str(device["devIsNew"]), + "alert_down": str(device["devAlertDown"]), "vendor": sanitize_string(device["devVendor"]), "mac_address": str(device["devMac"]), "model": devDisplayName, diff --git a/server/plugin.py b/server/plugin.py index 586f4a4b..85ab4cc9 100755 --- a/server/plugin.py +++ b/server/plugin.py @@ -713,9 +713,9 @@ def process_plugin_events(db, plugin, plugEventsArr): mylog('debug', ['[Plugins] objects_to_insert count: ', len(objects_to_insert)]) mylog('debug', ['[Plugins] objects_to_update count: ', len(objects_to_update)]) - # mylog('debug', ['[Plugins] objects_to_update: ', objects_to_update]) - # mylog('debug', ['[Plugins] events_to_insert: ', events_to_insert]) - # mylog('debug', ['[Plugins] history_to_insert: ', history_to_insert]) + mylog('trace', ['[Plugins] objects_to_update: ', objects_to_update]) + mylog('trace', ['[Plugins] events_to_insert: ', events_to_insert]) + mylog('trace', ['[Plugins] history_to_insert: ', history_to_insert]) logEventStatusCounts('pluginEvents', pluginEvents) logEventStatusCounts('pluginObjects', pluginObjects) From 79d67d1cbe252ff945e374dce0aabd6476837429 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bekir=20Kayra=20=C3=87i=C4=9Fdem?= Date: Tue, 6 May 2025 13:34:20 +0200 Subject: [PATCH 057/667] Translated using Weblate (Turkish) Currently translated at 68.1% (506 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/tr/ --- front/php/templates/language/tr_tr.json | 398 ++++++++++++------------ 1 file changed, 199 insertions(+), 199 deletions(-) mode change 100755 => 100644 front/php/templates/language/tr_tr.json diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json old mode 100755 new mode 100644 index 52ba5d0f..a29a9d75 --- a/front/php/templates/language/tr_tr.json +++ b/front/php/templates/language/tr_tr.json @@ -85,7 +85,7 @@ "DevDetail_Events_CheckBox": "Bağlantı Olaylarını Gizle", "DevDetail_GoToNetworkNode": "Verilen düğümün Ağ sayfasına gidin.", "DevDetail_Icon": "İkon", - "DevDetail_Icon_Descr": "", + "DevDetail_Icon_Descr": "fa- öneki olmadan veya tam sınıfa sahip bir font awesome simge adı girin, örneğin: fa fa-brands fa-apple.", "DevDetail_Loading": "YÜkleniyor...", "DevDetail_MainInfo_Comments": "Yorumlar", "DevDetail_MainInfo_Favorite": "Favori", @@ -223,218 +223,218 @@ "Device_TableHead_MAC": "Rastgele MAC", "Device_TableHead_MAC_full": "Tam MAC", "Device_TableHead_Name": "İsim", - "Device_TableHead_NetworkSite": "", - "Device_TableHead_Owner": "", - "Device_TableHead_Parent_MAC": "", - "Device_TableHead_Port": "", - "Device_TableHead_PresentLastScan": "", - "Device_TableHead_RowID": "", - "Device_TableHead_Rowid": "", - "Device_TableHead_SSID": "", - "Device_TableHead_SourcePlugin": "", + "Device_TableHead_NetworkSite": "Ağ Alanı", + "Device_TableHead_Owner": "Kurucu", + "Device_TableHead_Parent_MAC": "Üst ağ düğümü", + "Device_TableHead_Port": "Port", + "Device_TableHead_PresentLastScan": "Varlık", + "Device_TableHead_RowID": "Satır ID", + "Device_TableHead_Rowid": "Satır ID", + "Device_TableHead_SSID": "SSID", + "Device_TableHead_SourcePlugin": "Kaynak Eklentisi Modülü", "Device_TableHead_Status": "Durum", - "Device_TableHead_SyncHubNodeName": "", - "Device_TableHead_Type": "", - "Device_TableHead_Vendor": "", + "Device_TableHead_SyncHubNodeName": "Senkronizasyon Node", + "Device_TableHead_Type": "Tür", + "Device_TableHead_Vendor": "Üretici", "Device_Table_Not_Network_Device": "Ağ cihazı olarak ayarlanmadı", - "Device_Table_info": "", + "Device_Table_info": "Showing _START_ to _END_ of _TOTAL_ entries", "Device_Table_nav_next": "Sonraki", "Device_Table_nav_prev": "Önceki", - "Device_Tablelenght": "", - "Device_Tablelenght_all": "", + "Device_Tablelenght": "Show _MENU_ entries", + "Device_Tablelenght_all": "Hepsi", "Device_Title": "Cihazlar", - "Devices_Filters": "", - "ENABLE_PLUGINS_description": "", - "ENABLE_PLUGINS_name": "", - "ENCRYPTION_KEY_description": "", - "ENCRYPTION_KEY_name": "", + "Devices_Filters": "Filtreler", + "ENABLE_PLUGINS_description": "Eklentiler işlevini etkinleştirir. Eklentilerin yüklenmesi daha fazla donanım kaynağı gerektirir, bu nedenle düşük güçteki sistemlerde devre dışı bırakmak isteyebilirsiniz.", + "ENABLE_PLUGINS_name": "Eklentileri Etkinleştir", + "ENCRYPTION_KEY_description": "Veri encryption şifresi.", + "ENCRYPTION_KEY_name": "Encryption şifresi", "Email_display_name": "Eposta", "Email_icon": "", "Events_Loading": "Yükleniyor...", - "Events_Periodselect_All": "", + "Events_Periodselect_All": "Tüm Bilgiler", "Events_Periodselect_LastMonth": "Geçen Ay", "Events_Periodselect_LastWeek": "Geçen Hafta", "Events_Periodselect_LastYear": "Geçen Yıl", "Events_Periodselect_today": "Bugün", - "Events_Searchbox": "", - "Events_Shortcut_AllEvents": "", - "Events_Shortcut_DownAlerts": "", - "Events_Shortcut_Events": "", - "Events_Shortcut_MissSessions": "", + "Events_Searchbox": "Arama", + "Events_Shortcut_AllEvents": "Tüm Olaylar", + "Events_Shortcut_DownAlerts": "Kapanma Alarmı", + "Events_Shortcut_Events": "Olaylar", + "Events_Shortcut_MissSessions": "Eksik Oturumlar", "Events_Shortcut_NewDevices": "Yeni Cİhazlar", "Events_Shortcut_Sessions": "Oturumlar", - "Events_Shortcut_VoidSessions": "", + "Events_Shortcut_VoidSessions": "Geçersiz Oturumlar", "Events_TableHead_AdditionalInfo": "Ek Bilgi", "Events_TableHead_Connection": "Bağlantı", "Events_TableHead_Date": "Tarih", "Events_TableHead_Device": "Cihaz", - "Events_TableHead_Disconnection": "", + "Events_TableHead_Disconnection": "Bağlantı Kesildi", "Events_TableHead_Duration": "Süre", - "Events_TableHead_DurationOrder": "", - "Events_TableHead_EventType": "", - "Events_TableHead_IP": "", - "Events_TableHead_IPOrder": "", + "Events_TableHead_DurationOrder": "Süre Düzeni", + "Events_TableHead_EventType": "Olay Türü", + "Events_TableHead_IP": "IP", + "Events_TableHead_IPOrder": "IP Sırası", "Events_TableHead_Order": "Sıra", - "Events_TableHead_Owner": "", - "Events_TableHead_PendingAlert": "", - "Events_Table_info": "", - "Events_Table_nav_next": "", + "Events_TableHead_Owner": "Kurucu", + "Events_TableHead_PendingAlert": "Bekleyen Alarm", + "Events_Table_info": "Showing _START_ to _END_ of _TOTAL_ entries", + "Events_Table_nav_next": "Sonraki", "Events_Table_nav_prev": "Önceki", - "Events_Tablelenght": "", - "Events_Tablelenght_all": "", - "Events_Title": "", - "GRAPHQL_PORT_description": "", - "GRAPHQL_PORT_name": "", + "Events_Tablelenght": "Show _MENU_ entries", + "Events_Tablelenght_all": "Hepsi", + "Events_Title": "Olaylar", + "GRAPHQL_PORT_description": "GraphQL sunucusunun port numarası. Portun, bu anahtardaki tüm uygulamalar ve NetAlertX örnekleri arasında benzersiz olduğundan emin olun.", + "GRAPHQL_PORT_name": "GraphQL port", "Gen_Action": "Komut", "Gen_Add": "Ekle", - "Gen_AddDevice": "", + "Gen_AddDevice": "Cihaz Ekle", "Gen_Add_All": "Tümünü ekle", "Gen_All_Devices": "Tüm Cihazlar", "Gen_AreYouSure": "Emin misiniz?", - "Gen_Backup": "", + "Gen_Backup": "Yedeklemeyi Çalıştır", "Gen_Cancel": "İptal", - "Gen_Change": "", + "Gen_Change": "Değiştir", "Gen_Copy": "Çalıştır", "Gen_DataUpdatedUITakesTime": "TAMAM - Eğer bir tarama çalışıyorsa arayüzün güncellenmesi biraz zaman alabilir.", "Gen_Delete": "Sil", "Gen_DeleteAll": "Tümünü sil", - "Gen_Description": "", + "Gen_Description": "Açıklama", "Gen_Error": "Hata", "Gen_Filter": "Filtre", - "Gen_Generate": "", - "Gen_LockedDB": "", + "Gen_Generate": "Oluştur", + "Gen_LockedDB": "HATA - Veritabanı kilitlenmiş olabilir - F12 Geliştirici araçlarını -> Konsol kısmını kontrol edin veya daha sonra tekrar deneyin.", "Gen_Offline": "Çevrimdışı", "Gen_Okay": "Tamam", - "Gen_Online": "", + "Gen_Online": "Çevrimiçi", "Gen_Purge": "Çıkar", - "Gen_ReadDocs": "", + "Gen_ReadDocs": "Dokümanlarda daha fazla bilgiye ulaşın.", "Gen_Remove_All": "Tümünü kaldır", - "Gen_Remove_Last": "", - "Gen_Reset": "", - "Gen_Restore": "", + "Gen_Remove_Last": "Sonuncuyu Kaldır", + "Gen_Reset": "Sıfırla", + "Gen_Restore": "Geri Yükleme Yap", "Gen_Run": "Çalıştır", "Gen_Save": "Kaydet", "Gen_Saved": "Kaydedildi", - "Gen_Search": "", - "Gen_Select": "", - "Gen_SelectIcon": "", - "Gen_SelectToPreview": "", + "Gen_Search": "Arama", + "Gen_Select": "Seç", + "Gen_SelectIcon": "", + "Gen_SelectToPreview": "Önizleme yapmak için seçin", "Gen_Selected_Devices": "Seçilmiş Cihazlar:", - "Gen_Switch": "", + "Gen_Switch": "Switch", "Gen_Upd": "Başarılı bir şekilde güncellendi", - "Gen_Upd_Fail": "", - "Gen_Update": "", - "Gen_Update_Value": "", - "Gen_ValidIcon": "", + "Gen_Upd_Fail": "Güncelleme işlemi başarısız oldu", + "Gen_Update": "Güncelleme", + "Gen_Update_Value": "Değeri Güncelle", + "Gen_ValidIcon": "", "Gen_Warning": "Uyarı", - "Gen_Work_In_Progress": "", - "Gen_create_new_device": "", - "Gen_create_new_device_info": "", + "Gen_Work_In_Progress": "Çalışma devam ediyor, geri bildirimde bulunmak için iyi bir zaman: https://github.com/jokob-sk/NetAlertX/issues", + "Gen_create_new_device": "Yeni cihaz", + "Gen_create_new_device_info": "Cihazlar genellikle eklentiler kullanılarak keşfedilir. Ancak, bazı durumlarda cihazları manuel olarak eklemeniz gerekebilir. Belirli senaryoları incelemek için Uzak Ağlar belgelerini kontrol edin.", "General_display_name": "Genel", "General_icon": "", - "HRS_TO_KEEP_NEWDEV_description": "", - "HRS_TO_KEEP_NEWDEV_name": "", - "HRS_TO_KEEP_OFFDEV_description": "", - "HRS_TO_KEEP_OFFDEV_name": "", - "LOADED_PLUGINS_description": "", - "LOADED_PLUGINS_name": "", - "LOG_LEVEL_description": "", - "LOG_LEVEL_name": "", + "HRS_TO_KEEP_NEWDEV_description": "Bu bir bakım ayarıdır Cihazları SİLME. Etkinleştirildiğinde (0 devre dışıdır), Yeni Cihaz olarak işaretlenen cihazlar, İlk Oturum zamanı belirtilen saatten daha eskiyse silinecektir. Bu ayarı, X saat sonra Yeni Cihazları otomatik olarak silmek için kullanabilirsiniz.", + "HRS_TO_KEEP_NEWDEV_name": "Yeni Cihazları Silmeden Önce", + "HRS_TO_KEEP_OFFDEV_description": "Bu bir bakım ayarıdır Cihazları SİLME. Etkinleştirildiğinde (0 devre dışıdır), Çevrimdışı olan ve Son Çevrimdışı tarihi belirtilen saatten daha eski olan cihazlar silinecektir. Bu ayarı, X saat çevrimdışı olduktan sonra Çevrimdışı Cihazları otomatik olarak silmek için kullanabilirsiniz.", + "HRS_TO_KEEP_OFFDEV_name": "Çevrimdışı Cihazları Silmeden Önce", + "LOADED_PLUGINS_description": "Hangi Eklentilerin Yükleneceği. Eklenti eklemek, uygulamanın hızını yavaşlatabilir. Hangi eklentilerin etkinleştirilmesi gerektiği, türler veya tarama seçenekleri hakkında daha fazla bilgi için eklentiler belgelerini okuyun. Yüklenmeyen eklentiler, ayarlarınızı kaybedecektir. Sadece devre dışı bırakılmış eklentiler yüklenebilir.", + "LOADED_PLUGINS_name": "Yüklenen Eklentiler", + "LOG_LEVEL_description": "Bu ayar, daha ayrıntılı günlüklemeyi etkinleştirecektir. Veritabanına yazılan olayları hata ayıklamak için faydalıdır.", + "LOG_LEVEL_name": "Ekstra günlükleme yazdır", "Loading": "Yükleniyor...", "Login_Box": "Şifrenizi giriniz", "Login_Default_PWD": "Varsayılan şifre \"123456\" hâlâ aktif.", - "Login_Info": "", + "Login_Info": "Parolalar, Set Password eklentisi aracılığıyla ayarlanır. Giriş yapmakta sorun yaşıyorsanız, SETPWD belgelerini kontrol edin.", "Login_Psw-box": "Şİfre", - "Login_Psw_alert": "", - "Login_Psw_folder": "", + "Login_Psw_alert": "Parola Uyarısı!", + "Login_Psw_folder": "Konfigürasyon klasöründe.", "Login_Psw_new": "yeni_sifre", - "Login_Psw_run": "", + "Login_Psw_run": "Şifreyi değiştirmek için şu komutu çalıştırın:", "Login_Remember": "Hatırla", "Login_Remember_small": "(7 gün geçerli)", "Login_Submit": "Oturum aç", - "Login_Toggle_Alert_headline": "", - "Login_Toggle_Info": "", - "Login_Toggle_Info_headline": "", - "Maint_PurgeLog": "", - "Maint_RestartServer": "", - "Maint_Restart_Server_noti_text": "", + "Login_Toggle_Alert_headline": "Şifre Uyarısı!", + "Login_Toggle_Info": "Şifre Bilgisi", + "Login_Toggle_Info_headline": "Şifre Bilgisi", + "Maint_PurgeLog": "Kayıtları Sil", + "Maint_RestartServer": "Sunucuyu Yeniden Başlat", + "Maint_Restart_Server_noti_text": "Arka uç sunucusunu yeniden başlatmak istediğinizden emin misiniz? Bu, uygulama tutarsızlıklarına yol açabilir. Önce yapılandırmanızı yedekleyin.

Not: Bu işlem birkaç dakika sürebilir.", "Maintenance_Running_Version": "Yüklenmiş sürüm", "Maintenance_Status": "Durum", - "Maintenance_Title": "", - "Maintenance_Tool_DownloadConfig": "", - "Maintenance_Tool_DownloadConfig_text": "", - "Maintenance_Tool_DownloadWorkflows": "", - "Maintenance_Tool_DownloadWorkflows_text": "", - "Maintenance_Tool_ExportCSV": "", - "Maintenance_Tool_ExportCSV_noti": "", + "Maintenance_Title": "Bakım Araçları", + "Maintenance_Tool_DownloadConfig": "Ayarları Dışa Aktar", + "Maintenance_Tool_DownloadConfig_text": "app.conf dosyasında saklanan Ayar yapılandırmanızın tam yedeğini indirin.", + "Maintenance_Tool_DownloadWorkflows": "İş Akışlarını Dışa Aktar", + "Maintenance_Tool_DownloadWorkflows_text": "workflows.json dosyasında saklanan İş Akışlarınızın tam yedeğini indirin.", + "Maintenance_Tool_ExportCSV": "Cihazları Dışa Aktar (csv)", + "Maintenance_Tool_ExportCSV_noti": "Cihazları Dışa Aktar (csv)", "Maintenance_Tool_ExportCSV_noti_text": "Bir CSV dosyası oluşturmak istediğinize emin misiniz?", - "Maintenance_Tool_ExportCSV_text": "", - "Maintenance_Tool_ImportCSV": "", - "Maintenance_Tool_ImportCSV_noti": "", - "Maintenance_Tool_ImportCSV_noti_text": "", - "Maintenance_Tool_ImportCSV_text": "", - "Maintenance_Tool_ImportConfig_noti": "", - "Maintenance_Tool_ImportPastedCSV": "", - "Maintenance_Tool_ImportPastedCSV_noti_text": "", - "Maintenance_Tool_ImportPastedCSV_text": "", - "Maintenance_Tool_ImportPastedConfig": "", - "Maintenance_Tool_ImportPastedConfig_noti_text": "", - "Maintenance_Tool_ImportPastedConfig_text": "", - "Maintenance_Tool_arpscansw": "", - "Maintenance_Tool_arpscansw_noti": "", - "Maintenance_Tool_arpscansw_noti_text": "", - "Maintenance_Tool_arpscansw_text": "", - "Maintenance_Tool_backup": "", - "Maintenance_Tool_backup_noti": "", - "Maintenance_Tool_backup_noti_text": "", - "Maintenance_Tool_backup_text": "", - "Maintenance_Tool_check_visible": "", - "Maintenance_Tool_darkmode": "", - "Maintenance_Tool_darkmode_noti": "", - "Maintenance_Tool_darkmode_noti_text": "", - "Maintenance_Tool_darkmode_text": "", - "Maintenance_Tool_del_ActHistory": "", - "Maintenance_Tool_del_ActHistory_noti": "", - "Maintenance_Tool_del_ActHistory_noti_text": "", - "Maintenance_Tool_del_ActHistory_text": "", + "Maintenance_Tool_ExportCSV_text": "Ağa bağlı cihazlar ve Ağ Düğümleri arasındaki ağ ilişkilerini içeren Cihazlar listesini içeren bir CSV (virgülle ayrılmış değerler) dosyası oluşturun. Bunu ayrıca şu URL'yi ziyaret ederek tetikleyebilirsiniz: your_NetAlertX_url/php/server/devices.php?action=ExportCSV veya CSV Yedekleme eklentisini etkinleştirerek de yapabilirsiniz.", + "Maintenance_Tool_ImportCSV": "Cihazları İçe Aktar (csv)", + "Maintenance_Tool_ImportCSV_noti": "Cihazları İçe Aktar (csv)", + "Maintenance_Tool_ImportCSV_noti_text": "CSV dosyasını içe aktarmak istediğinizden emin misiniz? Bu işlem, veritabanınızdaki cihazları tamamen üstünede yazar olacaktır.", + "Maintenance_Tool_ImportCSV_text": "Bu fonksiyonu kullanmadan önce lütfen bir yedek alın. Ağa bağlı cihazlar ve Ağ Düğümleri arasındaki ağ ilişkilerini içeren Cihazlar listesini içeren bir CSV (virgülle ayrılmış değerler) dosyasını içe aktarın. Bunu yapmak için devices.csv adıyla CSV dosyasını /config klasörüne yerleştirin.", + "Maintenance_Tool_ImportConfig_noti": "Ayarları İçe Aktar (app.conf)", + "Maintenance_Tool_ImportPastedCSV": "Cihazları İçe Aktar (csv) (Yapıştırarak)", + "Maintenance_Tool_ImportPastedCSV_noti_text": "Yapıştırılan CSV'yi içe aktarmak istediğinizden emin misiniz? Bu işlem, veritabanınızdaki cihazları tamamen üstünede yazar olacaktır.", + "Maintenance_Tool_ImportPastedCSV_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Ağ Düğümleri ve bağlı cihazlar arasındaki Ağ ilişkileri de dahil olmak üzere Cihazların listesini içeren bir CSV (virgülle ayrılmış değer) dosyasını içe aktarın.", + "Maintenance_Tool_ImportPastedConfig": "Ayarları İçe Aktar (yapıştır)", + "Maintenance_Tool_ImportPastedConfig_noti_text": "Yapıştırılan yapılandırma ayarlarını içe aktarmak istediğinizden emin misiniz? Bu tamamen olacak Üzerine bu app.conf dosya.", + "Maintenance_Tool_ImportPastedConfig_text": "İçe aktarır app.conf tüm uygulama Ayarlarını içeren dosya. Güncel olanı indirmek isteyebilirsiniz. app.conf Önce dosya ile Ayarlar Dışa Aktarma.", + "Maintenance_Tool_arpscansw": "arp-Scan arasında geçiş yapın (açık/kapalı)", + "Maintenance_Tool_arpscansw_noti": "arp-Scan'i açma veya kapatma", + "Maintenance_Tool_arpscansw_noti_text": "Tarama kapatıldığında, tekrar etkinleştirilene kadar kapalı kalır.", + "Maintenance_Tool_arpscansw_text": "Arp taramasını açma veya kapatma. Tarama kapatıldığında, tekrar etkinleştirilene kadar kapalı kalır. Etkin taramalar iptal edilmez.", + "Maintenance_Tool_backup": "Veritabanı Yedekleme", + "Maintenance_Tool_backup_noti": "Veritabanı Yedekleme", + "Maintenance_Tool_backup_noti_text": "DB Yedeklemesini yürütmek istediğinizden emin misiniz? Şu anda hiçbir taramanın çalışmadığından emin olun.", + "Maintenance_Tool_backup_text": "Veritabanı yedekleri, veritabanı dizininde, oluşturulma tarihiyle adlandırılan bir zip arşivi olarak bulunur. Maksimum yedekleme sayısı yoktur.", + "Maintenance_Tool_check_visible": "Sütunu gizlemek için işareti kaldırın.", + "Maintenance_Tool_darkmode": "Modları Değiştir (Koyu/Açık)", + "Maintenance_Tool_darkmode_noti": "Modları Aç/Kapat", + "Maintenance_Tool_darkmode_noti_text": "Tema geçişinden sonra sayfa, değişikliği etkinleştirmek için kendini yeniden yüklemeye çalışır. Gerekirse, önbellek temizlenmelidir.", + "Maintenance_Tool_darkmode_text": "Karanlık mod ve aydınlık mod arasında geçiş yapın. Anahtar düzgün çalışmıyorsa, tarayıcı önbelleğini temizlemeyi deneyin. Değişiklik sunucu tarafında gerçekleşir, bu nedenle kullanımdaki tüm cihazları etkiler.", + "Maintenance_Tool_del_ActHistory": "Ağ etkinliğini silme", + "Maintenance_Tool_del_ActHistory_noti": "Ağ etkinliğini sil", + "Maintenance_Tool_del_ActHistory_noti_text": "Ağ etkinliğini sıfırlamak istediğinizden emin misiniz?", + "Maintenance_Tool_del_ActHistory_text": "Ağ etkinliği grafiği sıfırlanır. Bu olayları etkilemez.", "Maintenance_Tool_del_alldev": "Tüm Cihazları Sil", "Maintenance_Tool_del_alldev_noti": "Silinmiş Cihazlar", "Maintenance_Tool_del_alldev_noti_text": "Tüm cihazları silmek istediğinize emin misiniz?", - "Maintenance_Tool_del_alldev_text": "", - "Maintenance_Tool_del_allevents": "", - "Maintenance_Tool_del_allevents30": "", - "Maintenance_Tool_del_allevents30_noti": "", - "Maintenance_Tool_del_allevents30_noti_text": "", - "Maintenance_Tool_del_allevents30_text": "", - "Maintenance_Tool_del_allevents_noti": "", - "Maintenance_Tool_del_allevents_noti_text": "", - "Maintenance_Tool_del_allevents_text": "", - "Maintenance_Tool_del_empty_macs": "", + "Maintenance_Tool_del_alldev_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Silme işlemi geri alınamaz. Tüm cihazlar veritabanından silinecektir.", + "Maintenance_Tool_del_allevents": "Olayları Sil (Varlığı Sıfırla)", + "Maintenance_Tool_del_allevents30": "30 günden eski tüm Etkinlikleri sil", + "Maintenance_Tool_del_allevents30_noti": "Etkinlikleri Sil", + "Maintenance_Tool_del_allevents30_noti_text": "30 günden eski tüm Etkinlikleri silmek istediğinizden emin misiniz? Bu, tüm Cihazların Varlığını sıfırlar.", + "Maintenance_Tool_del_allevents30_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Silme işlemi geri alınamaz. Veritabanında 30 günden daha eski olan tüm olaylar silinecektir. O anda tüm cihazların varlığı sıfırlanacaktır. Bu, geçersiz oturumlara yol açabilir. Bu, cihazların çevrimdışı olmalarına rağmen \"mevcut\" olarak görüntülendiği anlamına gelir. Söz konusu cihaz çevrimiçiyken yapılan bir tarama sorunu çözer.", + "Maintenance_Tool_del_allevents_noti": "Etkinlikleri Sil", + "Maintenance_Tool_del_allevents_noti_text": "Tüm Etkinlikleri silmek istediğinizden emin misiniz? Bu, tüm Cihazların Varlığını sıfırlar.", + "Maintenance_Tool_del_allevents_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Silme işlemi geri alınamaz. Veritabanındaki tüm olaylar silinecektir. O anda tüm cihazların varlığı sıfırlanacaktır. Bu, geçersiz oturumlara yol açabilir. Bu, cihazların çevrimdışı olmalarına rağmen \"mevcut\" olarak görüntülendiği anlamına gelir. Söz konusu cihaz çevrimiçiyken yapılan bir tarama sorunu çözer.", + "Maintenance_Tool_del_empty_macs": "Boş MAC'leri olan Aygıtları Silin", "Maintenance_Tool_del_empty_macs_noti": "Cihazları Sil", - "Maintenance_Tool_del_empty_macs_noti_text": "", - "Maintenance_Tool_del_empty_macs_text": "", + "Maintenance_Tool_del_empty_macs_noti_text": "MAC adresleri boş olan tüm cihazları silmek istediğinizden emin misiniz?
(belki arşivlemeyi tercih edersiniz)", + "Maintenance_Tool_del_empty_macs_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Silme işlemi geri alınamaz. MAC olmayan tüm cihazlar veritabanından silinecektir.", "Maintenance_Tool_del_selecteddev": "Seçilmiş cihazları sil", - "Maintenance_Tool_del_selecteddev_text": "", + "Maintenance_Tool_del_selecteddev_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Silme işlemi geri alınamaz. Seçilen cihazlar veritabanından silinecektir.", "Maintenance_Tool_del_unknowndev": "(bilinmeyen) Cihazları Sil", - "Maintenance_Tool_del_unknowndev_noti": "", - "Maintenance_Tool_del_unknowndev_noti_text": "", - "Maintenance_Tool_del_unknowndev_text": "", - "Maintenance_Tool_displayed_columns_text": "", - "Maintenance_Tool_drag_me": "", - "Maintenance_Tool_order_columns_text": "", - "Maintenance_Tool_purgebackup": "", - "Maintenance_Tool_purgebackup_noti": "", - "Maintenance_Tool_purgebackup_noti_text": "", - "Maintenance_Tool_purgebackup_text": "", - "Maintenance_Tool_restore": "", - "Maintenance_Tool_restore_noti": "", - "Maintenance_Tool_restore_noti_text": "", - "Maintenance_Tool_restore_text": "", - "Maintenance_Tool_upgrade_database_noti": "", - "Maintenance_Tool_upgrade_database_noti_text": "", - "Maintenance_Tool_upgrade_database_text": "", - "Maintenance_Tools_Tab_BackupRestore": "", - "Maintenance_Tools_Tab_Logging": "", + "Maintenance_Tool_del_unknowndev_noti": "(Bilinmeyen) Cihazları Sil", + "Maintenance_Tool_del_unknowndev_noti_text": "Tüm (bilinmeyen) ve (ad bulunamadı) cihazları silmek istediğinizden emin misiniz?", + "Maintenance_Tool_del_unknowndev_text": "Bu işlevi kullanmadan önce lütfen bir yedekleme yapın. Silme işlemi geri alınamaz. (Bilinmeyen) adlı tüm cihazlar veritabanından silinecektir.", + "Maintenance_Tool_displayed_columns_text": "Sütunların görünürlüğünü ve sırasını değiştirme Aygıtları sayfa.", + "Maintenance_Tool_drag_me": "Sütunları yeniden sıralamak için beni sürükleyin.", + "Maintenance_Tool_order_columns_text": "Maintenance_Tool_order_columns_text", + "Maintenance_Tool_purgebackup": "Yedeklemeleri Temizle", + "Maintenance_Tool_purgebackup_noti": "Yedeklemeleri Temizle", + "Maintenance_Tool_purgebackup_noti_text": "Son 3 dışındaki tüm yedeklemeleri silmek istediğinizden emin misiniz?", + "Maintenance_Tool_purgebackup_text": "Son 3 yedekleme dışında diğer tüm yedeklemeler silinecektir.", + "Maintenance_Tool_restore": "Veritabanı Geri Yükleme", + "Maintenance_Tool_restore_noti": "Veritabanı Geri Yükleme", + "Maintenance_Tool_restore_noti_text": "Veritabanı Geri Yükleme'yi yürütmek istediğinizden emin misiniz? Şu anda hiçbir taramanın çalışmadığından emin olun.", + "Maintenance_Tool_restore_text": "En son yedekleme düğme aracılığıyla geri yüklenebilir, ancak eski yedeklemeler yalnızca manuel olarak geri yüklenebilir. Geri yüklemeden sonra, yedekleme oluşturulduğunda veritabanı'nın şu anda yazma erişiminde olması durumunda, güvenlik için veritabanında bir bütünlük kontrolü yapın.", + "Maintenance_Tool_upgrade_database_noti": "Veritabanını yükseltme", + "Maintenance_Tool_upgrade_database_noti_text": "Veritabanını yükseltmek istediğinizden emin misiniz?
(belki arşivlemeyi tercih edersiniz)", + "Maintenance_Tool_upgrade_database_text": "Bu düğme, son 12 saatteki Ağ etkinliği grafiğini etkinleştirmek için veritabanını yükseltir. Sorun olması durumunda lütfen veritabanınızı yedekleyin.", + "Maintenance_Tools_Tab_BackupRestore": "Yedekleme / Geri Yükleme", + "Maintenance_Tools_Tab_Logging": "Günlük", "Maintenance_Tools_Tab_Settings": "Ayarlar", "Maintenance_Tools_Tab_Tools": "Araçlar", "Maintenance_Tools_Tab_UISettings": "Arayüz Ayarları", @@ -443,73 +443,73 @@ "Maintenance_arp_status_on": "tarama(lar) şu anda çalışıyor", "Maintenance_built_on": "", "Maintenance_current_version": "", - "Maintenance_database_backup": "", + "Maintenance_database_backup": "Veritabanı Yedeklemeleri", "Maintenance_database_backup_found": "yedekler bulundu", - "Maintenance_database_backup_total": "", - "Maintenance_database_lastmod": "", - "Maintenance_database_path": "", - "Maintenance_database_rows": "", - "Maintenance_database_size": "", + "Maintenance_database_backup_total": "Toplam disk kullanımı", + "Maintenance_database_lastmod": "Son Değişiklik", + "Maintenance_database_path": "Veritabanı Yolu", + "Maintenance_database_rows": "Tablo (Satırlar)", + "Maintenance_database_size": "Veritabanı Boyutu", "Maintenance_lang_selector_apply": "Uygula", "Maintenance_lang_selector_empty": "Dil Seçin", - "Maintenance_lang_selector_lable": "", - "Maintenance_lang_selector_text": "", + "Maintenance_lang_selector_lable": "Dil seçin", + "Maintenance_lang_selector_text": "Değişiklik istemci tarafında gerçekleşir, bu nedenle yalnızca mevcut tarayıcıyı etkiler.", "Maintenance_new_version": "", "Maintenance_themeselector_apply": "Uygula", - "Maintenance_themeselector_empty": "", - "Maintenance_themeselector_lable": "", - "Maintenance_themeselector_text": "", - "Maintenance_version": "", - "NETWORK_DEVICE_TYPES_description": "", - "NETWORK_DEVICE_TYPES_name": "", + "Maintenance_themeselector_empty": "Bir Dış Görünüm Seçin", + "Maintenance_themeselector_lable": "Dış Görünüm Seç", + "Maintenance_themeselector_text": "Değişiklik sunucu tarafında gerçekleşir, bu nedenle kullanımdaki tüm cihazları etkiler.", + "Maintenance_version": "Uygulama güncellemeleri", + "NETWORK_DEVICE_TYPES_description": "Ağ görünümünde hangi aygıt türlerinin ağ aygıtı olarak kullanılmasına izin verildiği. Cihaz tipinin tam olarak eşleşmesi gerekir. Tür Cihaz ayrıntıları'nda belirli bir cihazda ayarlayın. aracılığıyla Cihaza ekleyin + düğme. Mevcut türleri kaldırmayın, yalnızca yenilerini ekleyin.", + "NETWORK_DEVICE_TYPES_name": "Ağ aygıtı türleri", "Navigation_About": "Hakkında", - "Navigation_AppEvents": "", + "Navigation_AppEvents": "Uygulama Etkinlikleri", "Navigation_Devices": "Cihazlar", - "Navigation_Donations": "", - "Navigation_Events": "", - "Navigation_Integrations": "", - "Navigation_Maintenance": "", - "Navigation_Monitoring": "", - "Navigation_Network": "", + "Navigation_Donations": "Bağış", + "Navigation_Events": "Olay", + "Navigation_Integrations": "Tümleştirme", + "Navigation_Maintenance": "Bakım", + "Navigation_Monitoring": "Izleme", + "Navigation_Network": "Network", "Navigation_Notifications": "Bildirimler", - "Navigation_Plugins": "", - "Navigation_Presence": "", - "Navigation_Report": "", + "Navigation_Plugins": "Eklentiler", + "Navigation_Presence": "Varlık", + "Navigation_Report": "Gönderilen Raporlar", "Navigation_Settings": "Ayarlar", - "Navigation_SystemInfo": "", - "Navigation_Workflows": "", - "Network_Assign": "", + "Navigation_SystemInfo": "Sistem bilgisi", + "Navigation_Workflows": "İş Akışları", + "Network_Assign": "Yukarıdakilere bağlanın Ağ düğümü", "Network_Cant_Assign": "", "Network_Configuration_Error": "Kurulum Hatası", "Network_Connected": "Bağlanmış cihazlar", "Network_ManageAdd": "Cihaz Ekle", "Network_ManageAdd_Name": "Cihaz İsmi", "Network_ManageAdd_Name_text": "Özel karakterler olmadan isim veriniz", - "Network_ManageAdd_Port": "", - "Network_ManageAdd_Port_text": "", + "Network_ManageAdd_Port": "Port Sayısı", + "Network_ManageAdd_Port_text": "WiFi ve elektrik hattı için boş bırakın", "Network_ManageAdd_Submit": "Cihaz Ekle", "Network_ManageAdd_Type": "Cihaz Türü", - "Network_ManageAdd_Type_text": "", - "Network_ManageAssign": "", - "Network_ManageDel": "", - "Network_ManageDel_Name": "", - "Network_ManageDel_Name_text": "", - "Network_ManageDel_Submit": "", + "Network_ManageAdd_Type_text": "-- Tür Seçin --", + "Network_ManageAssign": "Atamak", + "Network_ManageDel": "Cihazı Sil", + "Network_ManageDel_Name": "Silinecek cihaz", + "Network_ManageDel_Name_text": "-- Cihaz Seçiniz --", + "Network_ManageDel_Submit": "Sil", "Network_ManageDevices": "Cihazları Yönet", - "Network_ManageEdit": "", - "Network_ManageEdit_ID": "", - "Network_ManageEdit_ID_text": "", + "Network_ManageEdit": "Cihazı Güncelle", + "Network_ManageEdit_ID": "Güncellenecek cihaz", + "Network_ManageEdit_ID_text": "-- Düzenlemek için Cihaz Seçin --", "Network_ManageEdit_Name": "Yeni Cihaz İsmi", - "Network_ManageEdit_Name_text": "", - "Network_ManageEdit_Port": "", - "Network_ManageEdit_Port_text": "", + "Network_ManageEdit_Name_text": "Özel karakterler içermeyen ad", + "Network_ManageEdit_Port": " Yeni Port Sayısı", + "Network_ManageEdit_Port_text": "WiFi ve elektrik hattı için boş bırakın", "Network_ManageEdit_Submit": "Ayarları Kaydet", - "Network_ManageEdit_Type": "", - "Network_ManageEdit_Type_text": "", - "Network_ManageLeaf": "", - "Network_ManageUnassign": "", + "Network_ManageEdit_Type": "Yeni Cihaz Türü", + "Network_ManageEdit_Type_text": "-- Tür Seçin --", + "Network_ManageLeaf": "Atamayı yönet", + "Network_ManageUnassign": "Atamayı kaldır", "Network_NoAssignedDevices": "", - "Network_NoDevices": "", + "Network_NoDevices": "Yapılandırılacak cihaz yok", "Network_Node": "", "Network_Node_Name": "", "Network_Parent": "", @@ -539,12 +539,12 @@ "Plugins_no_control": "", "Presence_CalHead_day": "gün", "Presence_CalHead_lang": "", - "Presence_CalHead_month": "", + "Presence_CalHead_month": "ay", "Presence_CalHead_quarter": "çeyrek", "Presence_CalHead_week": "hafta", "Presence_CalHead_year": "yıl", "Presence_CallHead_Devices": "Cihazlar", - "Presence_Key_OnlineNow": "", + "Presence_Key_OnlineNow": "Şimdi çevrimiçi", "Presence_Key_OnlineNow_desc": "", "Presence_Key_OnlinePast": "", "Presence_Key_OnlinePastMiss": "", From 4d7a55e4f6d064578e216891ae9c69fb1533765b Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 8 May 2025 08:12:18 +1000 Subject: [PATCH 058/667] enable multiple to emails SMTP #1061 --- docs/index.md | 27 +++++-- front/plugins/_publisher_email/config.json | 2 +- front/plugins/_publisher_email/email_smtp.py | 78 +++++++++++--------- front/plugins/website_monitor/script.py | 19 ++++- server/graphql_server/graphql_schema.py | 2 - server/plugin.py | 8 +- 6 files changed, 84 insertions(+), 52 deletions(-) diff --git a/docs/index.md b/docs/index.md index 6a0ba865..62d6aad9 100755 --- a/docs/index.md +++ b/docs/index.md @@ -2,6 +2,8 @@ Welcome to the official NetAlertX documentation! NetAlertX is a powerful tool designed to simplify the management and monitoring of your network. Below, you will find guides and resources to help you set up, configure, and troubleshoot your NetAlertX instance. +![Preview](./img/devices_split.png) + ## In-App Help NetAlertX provides contextual help within the application: @@ -13,6 +15,8 @@ NetAlertX provides contextual help within the application: ## Installation Guides +The app can be installed different ways, with the best support of the docker-based deployments. This includes the Home Assistant and Unraid installation approaches. See details below. + ### Docker (Fully Supported) NetAlertX is fully supported in Docker environments, allowing for easy setup and configuration. Follow the official guide to get started: @@ -21,12 +25,25 @@ NetAlertX is fully supported in Docker environments, allowing for easy setup and This guide will take you through the process of setting up NetAlertX using Docker Compose or standalone Docker commands. +### Home Assistant (Fully Supported) + +You can install NetAlertX also as a Home Assistant addon [![Home Assistant](https://img.shields.io/badge/Repo-blue?logo=home-assistant&style=for-the-badge&color=0aa8d2&logoColor=fff&label=Add)](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons) via the [alexbelgium/hassio-addons](https://github.com/alexbelgium/hassio-addons/) repository. This is only possible if you run a supervised instance of Home Assistant. If not, you can still run NetAlertX in a separate Docker container and follow this guide to configure MQTT. + +- [[Installation] Home Assistant](https://github.com/alexbelgium/hassio-addons/tree/master/netalertx) + +### Unraid (Partial Support) + +The Unraid template was created by the community, so it's only partially supported. Alternatively, here is [another version of the Unraid template](https://github.com/jokob-sk/NetAlertX-unraid). + +- [[Installation] Unraid App](https://unraid.net/community/apps) + ### Bare-Metal Installation (Experimental) -If you prefer to run NetAlertX on your own hardware, you can try the experimental bare-metal installation. Please note that this method is still under development, and we're looking for maintainers to help improve it. +If you prefer to run NetAlertX on your own hardware, you can try the experimental bare-metal installation. Please note that this method is still under development, and are looking for maintainers to help improve it. - [Bare-Metal Installation Guide](./HW_INSTALL.md) + --- ## Help and Support @@ -66,14 +83,10 @@ To keep up with the latest changes and updates to NetAlertX, please refer to the Make sure to follow the project on GitHub to get notifications for new releases and important updates. --- +## Additional info -## Additional Resources - -- **Configuration Tips**: Learn how to optimize NetAlertX for your network setup. -- **Advanced Features**: Explore advanced functionalities like plugin development and custom configurations. - **Documentation Index**: Check out the full [documentation index](https://github.com/jokob-sk/NetAlertX/tree/main/docs) for all the guides available. -We hope you find this documentation helpful. If you have any suggestions or improvements, please don’t hesitate to contribute! +If you have any suggestions or improvements, please don’t hesitate to contribute! ---- NetAlertX is actively maintained. You can find the source code, report bugs, or request new features on our [GitHub page](https://github.com/jokob-sk/NetAlertX). diff --git a/front/plugins/_publisher_email/config.json b/front/plugins/_publisher_email/config.json index 6e15c052..42aff9d3 100755 --- a/front/plugins/_publisher_email/config.json +++ b/front/plugins/_publisher_email/config.json @@ -658,7 +658,7 @@ "description": [ { "language_code": "en_us", - "string": "Email address to which the notification will be send to." + "string": "Email address to which the notification will be send to. You can enter multiple emails separated by a comma (,)." }, { "language_code": "es_es", diff --git a/front/plugins/_publisher_email/email_smtp.py b/front/plugins/_publisher_email/email_smtp.py index 8cc0c001..a55207e7 100755 --- a/front/plugins/_publisher_email/email_smtp.py +++ b/front/plugins/_publisher_email/email_smtp.py @@ -119,44 +119,54 @@ def send(pHTML, pText): subject, from_email, to_email, message_html, message_text = sanitize_email_content('NetAlertX Report', get_setting_value("SMTP_REPORT_FROM"), get_setting_value("SMTP_REPORT_TO"), pHTML, pText) - # Compose email - msg = MIMEMultipart('alternative') - msg['Subject'] = subject - msg['From'] = from_email - msg['To'] = to_email - msg['Date'] = formatdate(localtime=True) - - msg.attach (MIMEText (message_text, 'plain')) - msg.attach (MIMEText (message_html, 'html')) - - # Set a timeout for the SMTP connection (in seconds) - smtp_timeout = 30 - - mylog('debug', ['Trying to open connection to ' + str(get_setting_value('SMTP_SERVER')) + ':' + str(get_setting_value('SMTP_PORT'))]) - - if get_setting_value("LOG_LEVEL") == 'debug': - - send_email(msg,smtp_timeout) + emails = [] + # handle multiple emails + if ',' in to_email: + emails = [e.strip() for e in to_email.split(',')] else: + emails.append(to_email.strip()) + + for mail_addr in emails: + + # Compose email + msg = MIMEMultipart('alternative') + msg['Subject'] = subject + msg['From'] = from_email + msg['To'] = mail_addr + msg['Date'] = formatdate(localtime=True) + + msg.attach (MIMEText (message_text, 'plain')) + msg.attach (MIMEText (message_html, 'html')) + + # Set a timeout for the SMTP connection (in seconds) + smtp_timeout = 30 + + mylog('debug', ['Trying to open connection to ' + str(get_setting_value('SMTP_SERVER')) + ':' + str(get_setting_value('SMTP_PORT'))]) + + if get_setting_value("LOG_LEVEL") == 'debug': - try: send_email(msg,smtp_timeout) - - except smtplib.SMTPAuthenticationError as e: - mylog('none', [' ERROR: Couldn\'t connect to the SMTP server (SMTPAuthenticationError)']) - mylog('none', [' ERROR: Double-check your SMTP_USER and SMTP_PASS settings.)']) - mylog('none', [' ERROR: ', str(e)]) - except smtplib.SMTPServerDisconnected as e: - mylog('none', [' ERROR: Couldn\'t connect to the SMTP server (SMTPServerDisconnected)']) - mylog('none', [' ERROR: ', str(e)]) - except socket.gaierror as e: - mylog('none', [' ERROR: Could not resolve hostname (socket.gaierror)']) - mylog('none', [' ERROR: ', str(e)]) - except ssl.SSLError as e: - mylog('none', [' ERROR: Could not establish SSL connection (ssl.SSLError)']) - mylog('none', [' ERROR: Are you sure you need SMTP_FORCE_SSL enabled? Check your SMTP provider docs.']) - mylog('none', [' ERROR: ', str(e)]) + + else: + + try: + send_email(msg,smtp_timeout) + + except smtplib.SMTPAuthenticationError as e: + mylog('none', [' ERROR: Couldn\'t connect to the SMTP server (SMTPAuthenticationError)']) + mylog('none', [' ERROR: Double-check your SMTP_USER and SMTP_PASS settings.)']) + mylog('none', [' ERROR: ', str(e)]) + except smtplib.SMTPServerDisconnected as e: + mylog('none', [' ERROR: Couldn\'t connect to the SMTP server (SMTPServerDisconnected)']) + mylog('none', [' ERROR: ', str(e)]) + except socket.gaierror as e: + mylog('none', [' ERROR: Could not resolve hostname (socket.gaierror)']) + mylog('none', [' ERROR: ', str(e)]) + except ssl.SSLError as e: + mylog('none', [' ERROR: Could not establish SSL connection (ssl.SSLError)']) + mylog('none', [' ERROR: Are you sure you need SMTP_FORCE_SSL enabled? Check your SMTP provider docs.']) + mylog('none', [' ERROR: ', str(e)]) # ---------------------------------------------------------------------------------- def send_email(msg,smtp_timeout): diff --git a/front/plugins/website_monitor/script.py b/front/plugins/website_monitor/script.py index dc289ee8..ce275169 100755 --- a/front/plugins/website_monitor/script.py +++ b/front/plugins/website_monitor/script.py @@ -54,16 +54,27 @@ def check_services_health(site): mylog('verbose', [f'[{pluginName}] Checking {site}']) requests.packages.urllib3.disable_warnings(InsecureRequestWarning) + try: resp = requests.get(site, verify=False, timeout=get_setting_value('WEBMON_RUN_TIMEOUT')) latency = resp.elapsed.total_seconds() status = resp.status_code - except requests.exceptions.SSLError: - status = 503 + except SSLError: + status = 495 # SSL Certificate Error (non-standard, but more meaningful than 503) latency = 99999 - except: - status = 503 + mylog('debug', [f'[{pluginName}] SSL error while checking {site}']) + except Timeout: + status = 504 # Gateway Timeout latency = 99999 + mylog('debug', [f'[{pluginName}] Timeout while checking {site}']) + except RequestException as e: + status = 520 # Web server is returning an unknown error (Cloudflare-style) + latency = 99999 + mylog('debug', [f'[{pluginName}] Request error while checking {site}: {e}']) + except Exception as e: + status = 500 # Internal Server Error (fallback) + latency = 99999 + mylog('debug', [f'[{pluginName}] Unexpected error while checking {site}: {e}']) mylog('verbose', [f'[{pluginName}] Result for {site} (status|latency) : {status}|{latency}']) diff --git a/server/graphql_server/graphql_schema.py b/server/graphql_server/graphql_schema.py index 5437d0a4..83bff5a6 100755 --- a/server/graphql_server/graphql_schema.py +++ b/server/graphql_server/graphql_schema.py @@ -120,12 +120,10 @@ class Query(ObjectType): device["devIsRandomMac"] = 1 if is_random_mac(device["devMac"]) else 0 device["devParentChildrenCount"] = get_number_of_children(device["devMac"], devices_data) device["devIpLong"] = format_ip_long(device.get("devLastIP", "")) - mylog('verbose', f'[graphql_schema] devices_data: {devices_data}') - # Apply sorting if options are provided if options: diff --git a/server/plugin.py b/server/plugin.py index 85ab4cc9..d31d3f63 100755 --- a/server/plugin.py +++ b/server/plugin.py @@ -102,11 +102,11 @@ class plugin_manager: # Process each event type if event == 'test': - handle_test(param) + self.handle_test(param) executed_events.append(f"test with param {param}") execution_log.finalize_event("test") elif event == 'run': - handle_run(param) + self.handle_run(param) executed_events.append(f"run with param {param}") execution_log.finalize_event("run") elif event == 'update_api': @@ -151,11 +151,11 @@ class plugin_manager: sample_json = json.loads(get_file_content(reportTemplatesPath + 'webhook_json_sample.json'))[0]["body"]["attachments"][0]["text"] # Create fake notification - notification = Notification_obj(db) + notification = Notification_obj(self.db) notificationObj = notification.create(sample_json, "") # Run test - handle_run(runType) + self.handle_run(runType) # Remove sample notification notificationObj.remove(notificationObj.GUID) From 87eda72a62058641f52f41b14118e24da25d03b1 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 8 May 2025 08:30:57 +1000 Subject: [PATCH 059/667] SMTP --- front/php/templates/language/tr_tr.json | 0 front/plugins/_publisher_email/email_smtp.py | 8 ++++++-- 2 files changed, 6 insertions(+), 2 deletions(-) mode change 100644 => 100755 front/php/templates/language/tr_tr.json diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json old mode 100644 new mode 100755 diff --git a/front/plugins/_publisher_email/email_smtp.py b/front/plugins/_publisher_email/email_smtp.py index a55207e7..acd6b61d 100755 --- a/front/plugins/_publisher_email/email_smtp.py +++ b/front/plugins/_publisher_email/email_smtp.py @@ -123,12 +123,16 @@ def send(pHTML, pText): # handle multiple emails if ',' in to_email: - emails = [e.strip() for e in to_email.split(',')] + emails = to_email.split(',') else: - emails.append(to_email.strip()) + emails.append(to_email) + + mylog('debug', [f'[{pluginName}] Sending emails to {emails}']) for mail_addr in emails: + mail_addr = mail_addr.strip() + # Compose email msg = MIMEMultipart('alternative') msg['Subject'] = subject From c9ef1b1bce1eda89c42180121dea5b980d72b6f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Karaffa?= Date: Wed, 7 May 2025 21:11:29 +0200 Subject: [PATCH 060/667] Translated using Weblate (Czech) Currently translated at 1.3% (10 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/cs/ --- front/php/templates/language/cs_cz.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) mode change 100755 => 100644 front/php/templates/language/cs_cz.json diff --git a/front/php/templates/language/cs_cz.json b/front/php/templates/language/cs_cz.json old mode 100755 new mode 100644 index bf16385d..6efe2900 --- a/front/php/templates/language/cs_cz.json +++ b/front/php/templates/language/cs_cz.json @@ -8,8 +8,8 @@ "About_Design": "", "About_Exit": "", "About_Title": "", - "AppEvents_AppEventProcessed": "", - "AppEvents_DateTimeCreated": "", + "AppEvents_AppEventProcessed": "Zpracováno", + "AppEvents_DateTimeCreated": "Zalogováno", "AppEvents_Extra": "Extra", "AppEvents_GUID": "", "AppEvents_Helper1": "", From 01f7a18dce1f860a57f34007f3b678f6607decc5 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sat, 10 May 2025 14:33:27 +1000 Subject: [PATCH 061/667] Auto delete in-app notifications #1052 --- docs/HOME_ASSISTANT.md | 2 +- front/php/templates/language/cs_cz.json | 0 front/plugins/__template/rename_me.py | 3 +- front/plugins/__test/test.py | 2 +- front/plugins/_publisher_apprise/apprise.py | 6 +- front/plugins/_publisher_email/email_smtp.py | 6 +- front/plugins/_publisher_mqtt/mqtt.py | 2 +- front/plugins/_publisher_ntfy/ntfy.py | 6 +- front/plugins/_publisher_pushover/pushover.py | 6 +- .../plugins/_publisher_pushsafer/pushsafer.py | 6 +- front/plugins/_publisher_telegram/tg.py | 6 +- front/plugins/_publisher_webhook/webhook.py | 6 +- front/plugins/avahi_scan/avahi_scan.py | 2 +- front/plugins/freebox/freebox.py | 2 +- front/plugins/ipneigh/ipneigh.py | 2 +- front/plugins/maintenance/config.json | 28 +++++ front/plugins/maintenance/maintenance.py | 7 +- front/plugins/nbtscan_scan/nbtscan.py | 2 +- front/plugins/omada_sdn_imp/omada_sdn.py | 2 +- front/plugins/sync/sync.py | 2 +- front/plugins/wake_on_lan/wake_on_lan.py | 2 +- server/__main__.py | 6 +- server/api.py | 6 +- server/graphql_server/graphql_server_start.py | 2 +- server/initialise.py | 2 +- server/messaging/in_app.py | 105 ++++++++++++++++++ server/{ => messaging}/reporting.py | 5 + .../notification_instance.py} | 47 ++------ .../user_events_queue_instance.py} | 11 +- server/plugin.py | 12 +- server/scan/session_events.py | 2 +- 31 files changed, 208 insertions(+), 90 deletions(-) mode change 100644 => 100755 front/php/templates/language/cs_cz.json create mode 100755 server/messaging/in_app.py rename server/{ => messaging}/reporting.py (98%) rename server/{notification.py => models/notification_instance.py} (89%) rename server/{user_events_queue.py => models/user_events_queue_instance.py} (87%) diff --git a/docs/HOME_ASSISTANT.md b/docs/HOME_ASSISTANT.md index 15316e52..abca1ddc 100755 --- a/docs/HOME_ASSISTANT.md +++ b/docs/HOME_ASSISTANT.md @@ -1,4 +1,4 @@ -# Overview +# Home Assistant integration overview NetAlertX comes with MQTT support, allowing you to show all detected devices as devices in Home Assistant. It also supplies a collection of stats, such as number of online devices. diff --git a/front/php/templates/language/cs_cz.json b/front/php/templates/language/cs_cz.json old mode 100644 new mode 100755 diff --git a/front/plugins/__template/rename_me.py b/front/plugins/__template/rename_me.py index 279a5fab..49f2a760 100755 --- a/front/plugins/__template/rename_me.py +++ b/front/plugins/__template/rename_me.py @@ -16,7 +16,8 @@ from plugin_utils import get_plugins_configs from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value -from notification import write_notification + +from messaging.in_app import write_notification import conf # Make sure the TIMEZONE for logging is correct diff --git a/front/plugins/__test/test.py b/front/plugins/__test/test.py index 297a7767..e87bdfb4 100755 --- a/front/plugins/__test/test.py +++ b/front/plugins/__test/test.py @@ -24,7 +24,7 @@ from plugin_utils import getPluginObject from plugin_helper import Plugin_Objects from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value, bytes_to_string, sanitize_string, cleanDeviceName -from notification import Notification_obj +from models.notification_instance import NotificationInstance from database import DB, get_device_stats pluginName = 'TESTONLY' diff --git a/front/plugins/_publisher_apprise/apprise.py b/front/plugins/_publisher_apprise/apprise.py index 4e8a5f85..e80a4c9a 100755 --- a/front/plugins/_publisher_apprise/apprise.py +++ b/front/plugins/_publisher_apprise/apprise.py @@ -17,7 +17,7 @@ from const import confFileName, logPath from plugin_helper import Plugin_Objects from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value -from notification import Notification_obj +from models.notification_instance import NotificationInstance from database import DB from pytz import timezone @@ -50,8 +50,8 @@ def main(): # Initialize the Plugin obj output file plugin_objects = Plugin_Objects(RESULT_FILE) - # Create a Notification_obj instance - notifications = Notification_obj(db) + # Create a NotificationInstance instance + notifications = NotificationInstance(db) # Retrieve new notifications new_notifications = notifications.getNew() diff --git a/front/plugins/_publisher_email/email_smtp.py b/front/plugins/_publisher_email/email_smtp.py index acd6b61d..807bccb6 100755 --- a/front/plugins/_publisher_email/email_smtp.py +++ b/front/plugins/_publisher_email/email_smtp.py @@ -26,7 +26,7 @@ from const import confFileName, logPath from plugin_helper import Plugin_Objects from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value, hide_email -from notification import Notification_obj +from models.notification_instance import NotificationInstance from database import DB from pytz import timezone @@ -59,8 +59,8 @@ def main(): # Initialize the Plugin obj output file plugin_objects = Plugin_Objects(RESULT_FILE) - # Create a Notification_obj instance - notifications = Notification_obj(db) + # Create a NotificationInstance instance + notifications = NotificationInstance(db) # Retrieve new notifications new_notifications = notifications.getNew() diff --git a/front/plugins/_publisher_mqtt/mqtt.py b/front/plugins/_publisher_mqtt/mqtt.py index 67c05d75..c21671e3 100755 --- a/front/plugins/_publisher_mqtt/mqtt.py +++ b/front/plugins/_publisher_mqtt/mqtt.py @@ -28,7 +28,7 @@ from plugin_utils import getPluginObject from plugin_helper import Plugin_Objects from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value, bytes_to_string, sanitize_string, normalize_string -from notification import Notification_obj +from models.notification_instance import NotificationInstance from database import DB, get_device_stats from pytz import timezone diff --git a/front/plugins/_publisher_ntfy/ntfy.py b/front/plugins/_publisher_ntfy/ntfy.py index 82611953..2965de7e 100755 --- a/front/plugins/_publisher_ntfy/ntfy.py +++ b/front/plugins/_publisher_ntfy/ntfy.py @@ -20,7 +20,7 @@ from const import confFileName, logPath from plugin_helper import Plugin_Objects, handleEmpty from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value -from notification import Notification_obj +from models.notification_instance import NotificationInstance from database import DB from pytz import timezone @@ -53,8 +53,8 @@ def main(): # Initialize the Plugin obj output file plugin_objects = Plugin_Objects(RESULT_FILE) - # Create a Notification_obj instance - notifications = Notification_obj(db) + # Create a NotificationInstance instance + notifications = NotificationInstance(db) # Retrieve new notifications new_notifications = notifications.getNew() diff --git a/front/plugins/_publisher_pushover/pushover.py b/front/plugins/_publisher_pushover/pushover.py index 66888a4b..65357c91 100755 --- a/front/plugins/_publisher_pushover/pushover.py +++ b/front/plugins/_publisher_pushover/pushover.py @@ -12,7 +12,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Objects, handleEmpty # noqa: E402 from logger import mylog, Logger # noqa: E402 from helper import timeNowTZ, get_setting_value, hide_string # noqa: E402 -from notification import Notification_obj # noqa: E402 +from models.notification_instance import NotificationInstance # noqa: E402 from database import DB # noqa: E402 import conf from const import confFileName, logPath @@ -49,8 +49,8 @@ def main(): # Initialize the Plugin obj output file plugin_objects = Plugin_Objects(RESULT_FILE) - # Create a Notification_obj instance - notifications = Notification_obj(db) + # Create a NotificationInstance instance + notifications = NotificationInstance(db) # Retrieve new notifications new_notifications = notifications.getNew() diff --git a/front/plugins/_publisher_pushsafer/pushsafer.py b/front/plugins/_publisher_pushsafer/pushsafer.py index ecbe7f4c..4a857e58 100755 --- a/front/plugins/_publisher_pushsafer/pushsafer.py +++ b/front/plugins/_publisher_pushsafer/pushsafer.py @@ -20,7 +20,7 @@ from const import confFileName, logPath from plugin_helper import Plugin_Objects, handleEmpty from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value, hide_string -from notification import Notification_obj +from models.notification_instance import NotificationInstance from database import DB from pytz import timezone @@ -53,8 +53,8 @@ def main(): # Initialize the Plugin obj output file plugin_objects = Plugin_Objects(RESULT_FILE) - # Create a Notification_obj instance - notifications = Notification_obj(db) + # Create a NotificationInstance instance + notifications = NotificationInstance(db) # Retrieve new notifications new_notifications = notifications.getNew() diff --git a/front/plugins/_publisher_telegram/tg.py b/front/plugins/_publisher_telegram/tg.py index 557fa90c..a74842eb 100755 --- a/front/plugins/_publisher_telegram/tg.py +++ b/front/plugins/_publisher_telegram/tg.py @@ -17,7 +17,7 @@ from const import confFileName, logPath from plugin_helper import Plugin_Objects from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value -from notification import Notification_obj +from models.notification_instance import NotificationInstance from database import DB from pytz import timezone @@ -51,8 +51,8 @@ def main(): # Initialize the Plugin obj output file plugin_objects = Plugin_Objects(RESULT_FILE) - # Create a Notification_obj instance - notifications = Notification_obj(db) + # Create a NotificationInstance instance + notifications = NotificationInstance(db) # Retrieve new notifications new_notifications = notifications.getNew() diff --git a/front/plugins/_publisher_webhook/webhook.py b/front/plugins/_publisher_webhook/webhook.py index 995500c3..ec8a2407 100755 --- a/front/plugins/_publisher_webhook/webhook.py +++ b/front/plugins/_publisher_webhook/webhook.py @@ -23,7 +23,7 @@ from const import logPath, confFileName from plugin_helper import Plugin_Objects, handleEmpty from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value, hide_string, write_file -from notification import Notification_obj +from models.notification_instance import NotificationInstance from database import DB from pytz import timezone @@ -56,8 +56,8 @@ def main(): # Initialize the Plugin obj output file plugin_objects = Plugin_Objects(RESULT_FILE) - # Create a Notification_obj instance - notifications = Notification_obj(db) + # Create a NotificationInstance instance + notifications = NotificationInstance(db) # Retrieve new notifications new_notifications = notifications.getNew() diff --git a/front/plugins/avahi_scan/avahi_scan.py b/front/plugins/avahi_scan/avahi_scan.py index 00ea205a..3502f09f 100755 --- a/front/plugins/avahi_scan/avahi_scan.py +++ b/front/plugins/avahi_scan/avahi_scan.py @@ -16,7 +16,7 @@ from plugin_utils import get_plugins_configs from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value -from notification import write_notification +from messaging.in_app import write_notification from database import DB from models.device_instance import DeviceInstance import conf diff --git a/front/plugins/freebox/freebox.py b/front/plugins/freebox/freebox.py index 1ef49597..86e115bb 100755 --- a/front/plugins/freebox/freebox.py +++ b/front/plugins/freebox/freebox.py @@ -25,7 +25,7 @@ from plugin_utils import get_plugins_configs from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value -from notification import write_notification +from messaging.in_app import write_notification import conf # Make sure the TIMEZONE for logging is correct diff --git a/front/plugins/ipneigh/ipneigh.py b/front/plugins/ipneigh/ipneigh.py index d0085339..dd0a7978 100755 --- a/front/plugins/ipneigh/ipneigh.py +++ b/front/plugins/ipneigh/ipneigh.py @@ -19,7 +19,7 @@ from plugin_utils import get_plugins_configs from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value -from notification import write_notification +from messaging.in_app import write_notification import conf # Make sure the TIMEZONE for logging is correct diff --git a/front/plugins/maintenance/config.json b/front/plugins/maintenance/config.json index 37aaf413..dd31d02d 100755 --- a/front/plugins/maintenance/config.json +++ b/front/plugins/maintenance/config.json @@ -243,6 +243,34 @@ "string": "How many last app.log lines to keep. If LOG_LEVEL is set to debug the app generates about 10000 lines per hour, so when debugging an issue the recommended setting should cover the bug occurence timeframe. For example for a bug with a 3 day periodical appearence the value 1000000 should be sufficient. Setting this value to 1000000 generates approximatelly a 50MB app.log file. Set to 0 to disable log purging." } ] + }, + { + "function": "NOTI_LENGTH", + "type": { + "dataType": "integer", + "elements": [ + { + "elementType": "input", + "elementOptions": [{ "type": "number" }], + "transformers": [] + } + ] + }, + "default_value": 0, + "options": [], + "localized": ["name", "description"], + "name": [ + { + "language_code": "en_us", + "string": "Notifications history" + } + ], + "description": [ + { + "language_code": "en_us", + "string": "How many latest in-app Notification entries to keep. Set to 0 to disable." + } + ] } ], diff --git a/front/plugins/maintenance/maintenance.py b/front/plugins/maintenance/maintenance.py index e082cd41..2e28c6a5 100755 --- a/front/plugins/maintenance/maintenance.py +++ b/front/plugins/maintenance/maintenance.py @@ -19,6 +19,7 @@ from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from const import logPath, applicationPath +from messaging.in_app import remove_old import conf from pytz import timezone @@ -41,6 +42,7 @@ def main(): mylog('verbose', [f'[{pluginName}] In script']) MAINT_LOG_LENGTH = int(get_setting_value('MAINT_LOG_LENGTH')) + MAINT_NOTI_LENGTH = int(get_setting_value('MAINT_NOTI_LENGTH')) # Check if set if MAINT_LOG_LENGTH != 0: @@ -63,7 +65,10 @@ def main(): mylog('verbose', [f'[{pluginName}] Cleanup finished']) - + # Check if set + if MAINT_NOTI_LENGTH != 0: + mylog('verbose', [f'[{pluginName}] Cleaning in-app notification history']) + remove_old(MAINT_NOTI_LENGTH) return 0 diff --git a/front/plugins/nbtscan_scan/nbtscan.py b/front/plugins/nbtscan_scan/nbtscan.py index 760fe9f9..60261a46 100755 --- a/front/plugins/nbtscan_scan/nbtscan.py +++ b/front/plugins/nbtscan_scan/nbtscan.py @@ -16,7 +16,7 @@ from plugin_utils import get_plugins_configs from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value -from notification import write_notification +from messaging.in_app import write_notification from database import DB from models.device_instance import DeviceInstance import conf diff --git a/front/plugins/omada_sdn_imp/omada_sdn.py b/front/plugins/omada_sdn_imp/omada_sdn.py index 5e3006e6..1b714f32 100755 --- a/front/plugins/omada_sdn_imp/omada_sdn.py +++ b/front/plugins/omada_sdn_imp/omada_sdn.py @@ -45,7 +45,7 @@ from plugin_utils import get_plugins_configs from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value -from notification import write_notification +from messaging.in_app import write_notification from pytz import timezone import conf diff --git a/front/plugins/sync/sync.py b/front/plugins/sync/sync.py index f258c777..61a1459e 100755 --- a/front/plugins/sync/sync.py +++ b/front/plugins/sync/sync.py @@ -20,7 +20,7 @@ from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value from crypto_utils import encrypt_data -from notification import write_notification +from messaging.in_app import write_notification import conf from pytz import timezone diff --git a/front/plugins/wake_on_lan/wake_on_lan.py b/front/plugins/wake_on_lan/wake_on_lan.py index 2877fc8e..775d2346 100755 --- a/front/plugins/wake_on_lan/wake_on_lan.py +++ b/front/plugins/wake_on_lan/wake_on_lan.py @@ -17,7 +17,7 @@ from plugin_utils import get_plugins_configs from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value -from notification import write_notification +from messaging.in_app import write_notification from database import DB from models.device_instance import DeviceInstance import conf diff --git a/server/__main__.py b/server/__main__.py index b199e7ad..653e155b 100755 --- a/server/__main__.py +++ b/server/__main__.py @@ -31,8 +31,8 @@ from api import update_api from scan.session_events import process_scan from initialise import importConfigs from database import DB -from reporting import get_notifications -from notification import Notification_obj +from messaging.reporting import get_notifications +from models.notification_instance import NotificationInstance from plugin import plugin_manager from scan.device_handling import update_devices_names from workflows.manager import WorkflowManager @@ -172,7 +172,7 @@ def main (): final_json = get_notifications(db) # Write the notifications into the DB - notification = Notification_obj(db) + notification = NotificationInstance(db) notificationObj = notification.create(final_json, "") # run all enabled publisher gateways diff --git a/server/api.py b/server/api.py index fdb61683..58d667c7 100755 --- a/server/api.py +++ b/server/api.py @@ -9,8 +9,8 @@ from const import (apiPath, sql_appevents, sql_devices_all, sql_events_pending_a from logger import mylog from helper import write_file, get_setting_value, timeNowTZ from app_state import updateState -from user_events_queue import UserEventsQueue -from notification import write_notification +from models.user_events_queue_instance import UserEventsQueueInstance +from messaging.in_app import write_notification # Import the start_server function from graphql_server.graphql_server_start import start_server @@ -147,7 +147,7 @@ class api_endpoint_class: # Update user event execution log # mylog('verbose', [f'[API] api_endpoint_class: is_ad_hoc_user_event {self.is_ad_hoc_user_event}']) if self.is_ad_hoc_user_event: - execution_log = UserEventsQueue() + execution_log = UserEventsQueueInstance() execution_log.finalize_event("update_api") self.is_ad_hoc_user_event = False diff --git a/server/graphql_server/graphql_server_start.py b/server/graphql_server/graphql_server_start.py index 89d125f8..9d4be614 100755 --- a/server/graphql_server/graphql_server_start.py +++ b/server/graphql_server/graphql_server_start.py @@ -11,7 +11,7 @@ sys.path.extend([f"{INSTALL_PATH}/server"]) from logger import mylog from helper import get_setting_value, timeNowTZ from app_state import updateState -from notification import write_notification +from messaging.in_app import write_notification # Flask application app = Flask(__name__) diff --git a/server/initialise.py b/server/initialise.py index 86991ef9..fe8569d4 100755 --- a/server/initialise.py +++ b/server/initialise.py @@ -19,7 +19,7 @@ from api import update_api from scheduler import schedule_class from plugin import plugin_manager, print_plugin_info from plugin_utils import get_plugins_configs, get_set_value_for_init -from notification import write_notification +from messaging.in_app import write_notification from crypto_utils import get_random_bytes #=============================================================================== diff --git a/server/messaging/in_app.py b/server/messaging/in_app.py new file mode 100755 index 00000000..4ad99871 --- /dev/null +++ b/server/messaging/in_app.py @@ -0,0 +1,105 @@ +import datetime +import os +import sys +import _io +import json +import uuid +import socket +import subprocess +import requests +from yattag import indent +from json2table import convert + +# Register NetAlertX directories +INSTALL_PATH="/app" +sys.path.extend([f"{INSTALL_PATH}/server"]) + +# Register NetAlertX modules + +import conf +from const import applicationPath, logPath, apiPath, confFileName, reportTemplatesPath +from logger import logResult, mylog +from helper import generate_mac_links, removeDuplicateNewLines, timeNowTZ, get_file_content, write_file, get_setting_value, get_timezone_offset + +NOTIFICATION_API_FILE = apiPath + 'user_notifications.json' + +# Show Frontend User Notification +def write_notification(content, level, timestamp): + + # Generate GUID + guid = str(uuid.uuid4()) + + # Prepare notification dictionary + notification = { + 'timestamp': str(timestamp), + 'guid': guid, + 'read': 0, + 'level': level, + 'content': content + } + + # If file exists, load existing data, otherwise initialize as empty list + if os.path.exists(NOTIFICATION_API_FILE): + with open(NOTIFICATION_API_FILE, 'r') as file: + # Check if the file object is of type _io.TextIOWrapper + if isinstance(file, _io.TextIOWrapper): + file_contents = file.read() # Read file contents + if file_contents == '': + file_contents = '[]' # If file is empty, initialize as empty list + + # mylog('debug', ['[Notification] User Notifications file: ', file_contents]) + notifications = json.loads(file_contents) # Parse JSON data + else: + mylog('none', '[Notification] File is not of type _io.TextIOWrapper') + notifications = [] + else: + notifications = [] + + # Append new notification + notifications.append(notification) + + # Write updated data back to file + with open(NOTIFICATION_API_FILE, 'w') as file: + json.dump(notifications, file, indent=4) + +# Trim notifications +def remove_old(keepNumberOfEntries): + + # Check if file exists + if not os.path.exists(NOTIFICATION_API_FILE): + mylog('info', '[Notification] No notifications file to clean.') + return + + # Load existing notifications + try: + with open(NOTIFICATION_API_FILE, 'r') as file: + file_contents = file.read().strip() + if file_contents == '': + notifications = [] + else: + notifications = json.loads(file_contents) + except Exception as e: + mylog('none', f'[Notification] Error reading notifications file: {e}') + return + + if not isinstance(notifications, list): + mylog('none', '[Notification] Invalid format: not a list') + return + + # Sort by timestamp descending + try: + notifications.sort(key=lambda x: x['timestamp'], reverse=True) + except KeyError: + mylog('none', '[Notification] Missing timestamp in one or more entries') + return + + # Trim to the latest entries + trimmed = notifications[:keepNumberOfEntries] + + # Write back the trimmed list + try: + with open(NOTIFICATION_API_FILE, 'w') as file: + json.dump(trimmed, file, indent=4) + mylog('verbose', f'[Notification] Trimmed notifications to latest {keepNumberOfEntries}') + except Exception as e: + mylog('none', f'Error writing trimmed notifications file: {e}') diff --git a/server/reporting.py b/server/messaging/reporting.py similarity index 98% rename from server/reporting.py rename to server/messaging/reporting.py index 6ab1e7dd..6f3f9b39 100755 --- a/server/reporting.py +++ b/server/messaging/reporting.py @@ -12,6 +12,11 @@ import datetime import json +import sys + +# Register NetAlertX directories +INSTALL_PATH="/app" +sys.path.extend([f"{INSTALL_PATH}/server"]) import conf from const import applicationPath, logPath, apiPath, confFileName diff --git a/server/notification.py b/server/models/notification_instance.py similarity index 89% rename from server/notification.py rename to server/models/notification_instance.py index c641f708..1bb82744 100755 --- a/server/notification.py +++ b/server/models/notification_instance.py @@ -2,6 +2,7 @@ import datetime import os import _io import json +import sys import uuid import socket import subprocess @@ -9,16 +10,22 @@ import requests from yattag import indent from json2table import convert +# Register NetAlertX directories +INSTALL_PATH="/app" +sys.path.extend([f"{INSTALL_PATH}/server"]) + # Register NetAlertX modules import conf from const import applicationPath, logPath, apiPath, confFileName, reportTemplatesPath from logger import logResult, mylog from helper import generate_mac_links, removeDuplicateNewLines, timeNowTZ, get_file_content, write_file, get_setting_value, get_timezone_offset +from messaging.in_app import write_notification + #------------------------------------------------------------------------------- # Notification object handling #------------------------------------------------------------------------------- -class Notification_obj: +class NotificationInstance: def __init__(self, db): self.db = db @@ -290,45 +297,7 @@ class Notification_obj: # Reporting #------------------------------------------------------------------------------- -# Handle Frontend User Notifications -def write_notification(content, level, timestamp): - NOTIFICATION_API_FILE = apiPath + 'user_notifications.json' - # Generate GUID - guid = str(uuid.uuid4()) - - # Prepare notification dictionary - notification = { - 'timestamp': str(timestamp), - 'guid': guid, - 'read': 0, - 'level': level, - 'content': content - } - - # If file exists, load existing data, otherwise initialize as empty list - if os.path.exists(NOTIFICATION_API_FILE): - with open(NOTIFICATION_API_FILE, 'r') as file: - # Check if the file object is of type _io.TextIOWrapper - if isinstance(file, _io.TextIOWrapper): - file_contents = file.read() # Read file contents - if file_contents == '': - file_contents = '[]' # If file is empty, initialize as empty list - - # mylog('debug', ['[Notification] User Notifications file: ', file_contents]) - notifications = json.loads(file_contents) # Parse JSON data - else: - mylog('error', 'File is not of type _io.TextIOWrapper') - notifications = [] - else: - notifications = [] - - # Append new notification - notifications.append(notification) - - # Write updated data back to file - with open(NOTIFICATION_API_FILE, 'w') as file: - json.dump(notifications, file, indent=4) #------------------------------------------------------------------------------- def construct_notifications(JSON, section): diff --git a/server/user_events_queue.py b/server/models/user_events_queue_instance.py similarity index 87% rename from server/user_events_queue.py rename to server/models/user_events_queue_instance.py index 11cb4dc1..9d03eef4 100755 --- a/server/user_events_queue.py +++ b/server/models/user_events_queue_instance.py @@ -1,10 +1,15 @@ import os +import sys + +# Register NetAlertX directories +INSTALL_PATH="/app" +sys.path.extend([f"{INSTALL_PATH}/server"]) # Register NetAlertX modules from const import pluginsPath, logPath, applicationPath, reportTemplatesPath from logger import mylog -class UserEventsQueue: +class UserEventsQueueInstance: """ Handles the execution queue log file, allowing reading, writing, and removing processed events. @@ -30,7 +35,7 @@ class UserEventsQueue: Returns an empty list if the file doesn't exist. """ if not os.path.exists(self.log_file): - mylog('none', ['[UserEventsQueue] Log file not found: ', self.log_file]) + mylog('none', ['[UserEventsQueueInstance] Log file not found: ', self.log_file]) return [] # No log file, return empty list with open(self.log_file, "r") as file: return file.readlines() @@ -72,7 +77,7 @@ class UserEventsQueue: self.write_log(updated_lines) - mylog('minimal', ['[UserEventsQueue] Processed event: ', event]) + mylog('minimal', ['[UserEventsQueueInstance] Processed event: ', event]) return removed diff --git a/server/plugin.py b/server/plugin.py index d31d3f63..a480a7ff 100755 --- a/server/plugin.py +++ b/server/plugin.py @@ -16,11 +16,11 @@ from helper import timeNowTZ, get_file_content, write_file, get_setting, get_set from app_state import updateState from api import update_api from plugin_utils import logEventStatusCounts, get_plugin_string, get_plugin_setting_obj, print_plugin_info, list_to_csv, combine_plugin_objects, resolve_wildcards_arr, handle_empty, custom_plugin_decoder, decode_and_rename_files -from notification import Notification_obj, write_notification -from user_events_queue import UserEventsQueue +from models.notification_instance import NotificationInstance +from messaging.in_app import write_notification +from models.user_events_queue_instance import UserEventsQueueInstance from crypto_utils import generate_deterministic_guid - #------------------------------------------------------------------------------- class plugin_manager: def __init__(self, db, all_plugins): @@ -79,7 +79,7 @@ class plugin_manager: """ Process user events from the execution queue log file and notify the user about executed events. """ - execution_log = UserEventsQueue() + execution_log = UserEventsQueueInstance() # Track whether to show notification for executed events executed_events = [] @@ -151,7 +151,7 @@ class plugin_manager: sample_json = json.loads(get_file_content(reportTemplatesPath + 'webhook_json_sample.json'))[0]["body"]["attachments"][0]["text"] # Create fake notification - notification = Notification_obj(self.db) + notification = NotificationInstance(self.db) notificationObj = notification.create(sample_json, "") # Run test @@ -562,7 +562,7 @@ def execute_plugin(db, all_plugins, plugin ): endpoints = ["plugins_events","plugins_objects", "plugins_history", "appevents"] # check if we need to update devices api endpoint as well to prevent long user waits on Loading... - userUpdatedDevices = UserEventsQueue().has_update_devices + userUpdatedDevices = UserEventsQueueInstance().has_update_devices if userUpdatedDevices: endpoints += ["devices"] diff --git a/server/scan/session_events.py b/server/scan/session_events.py index 6c357e4c..cb3811c5 100755 --- a/server/scan/session_events.py +++ b/server/scan/session_events.py @@ -8,7 +8,7 @@ import conf from scan.device_handling import create_new_devices, print_scan_stats, save_scanned_devices, update_devices_data_from_scan, exclude_ignored_devices from helper import timeNowTZ from logger import mylog -from reporting import skip_repeated_notifications +from messaging.reporting import skip_repeated_notifications #=============================================================================== From 03822ac8fa0a54a33842c9ff3e8c9e14e7194444 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sat, 10 May 2025 15:23:02 +1000 Subject: [PATCH 062/667] DateTime format based on TIMEZONE #1044 --- front/deviceDetailsEdit.php | 2 +- front/deviceDetailsSessions.php | 21 ++++++++++++++++++++- front/events.php | 8 +++++++- front/js/common.js | 22 ++++++++++++++++++++++ front/userNotifications.php | 3 +++ 5 files changed, 53 insertions(+), 3 deletions(-) diff --git a/front/deviceDetailsEdit.php b/front/deviceDetailsEdit.php index 01668d96..73cf4136 100755 --- a/front/deviceDetailsEdit.php +++ b/front/deviceDetailsEdit.php @@ -173,7 +173,7 @@ // Additional form elements like the random MAC address button for devMac let inlineControl = ""; - // handle rendom mac + // handle random mac if (setting.setKey == "NEWDEV_devMac" && deviceData["devIsRandomMAC"] == true) { inlineControl += ` diff --git a/front/deviceDetailsSessions.php b/front/deviceDetailsSessions.php index 7bc76ebf..7b091780 100755 --- a/front/deviceDetailsSessions.php +++ b/front/deviceDetailsSessions.php @@ -47,9 +47,28 @@ {visible: false, targets: [0]}, // Replace HTML codes - {targets: [1,2,3,5], + {targets: [3,5], 'createdCell': function (td, cellData, rowData, row, col) { $(td).html (translateHTMLcodes (cellData)); + } }, + // Date + {targets: [1,2], + "createdCell": function (td, cellData, rowData, row, col) { + console.log(cellData); + + if (!cellData.includes("missing event") && !cellData.includes("...")) + { + if (cellData.includes("+")) { // Check if timezone offset is present + cellData = cellData.split('+')[0]; // Remove timezone offset + } + console.log(cellData); + result = localizeTimestamp(cellData); + } else + { + result = translateHTMLcodes(cellData) + } + + $(td).html (result); } } ], diff --git a/front/events.php b/front/events.php index a62fc9bd..e6d168ba 100755 --- a/front/events.php +++ b/front/events.php @@ -216,7 +216,7 @@ function initializeDatatable () { } }, // Replace HTML codes - {targets: [3,4,5,6,7], + {targets: [4,5,6,7], "createdCell": function (td, cellData, rowData, row, col) { $(td).html (translateHTMLcodes (cellData)); } }, @@ -226,6 +226,12 @@ function initializeDatatable () { "createdCell": function (td, cellData, rowData, row, col) { // console.log(cellData); $(td).html (cellData); + } }, + // Date + {targets: [3], + "createdCell": function (td, cellData, rowData, row, col) { + // console.log(cellData); + $(td).html (localizeTimestamp(cellData)); } } ], diff --git a/front/js/common.js b/front/js/common.js index 819d9823..2fe35796 100755 --- a/front/js/common.js +++ b/front/js/common.js @@ -353,6 +353,28 @@ function getLangCode() { // String utilities // ----------------------------------------------------------------------------- + +function localizeTimestamp(result) +{ + + // contains TZ in format Europe/Berlin + tz = getSetting("TIMEZONE") + + const date = new Date(result); // Assumes result is a timestamp or ISO string + const formatter = new Intl.DateTimeFormat('default', { + timeZone: tz, + year: 'numeric', + month: '2-digit', + day: '2-digit', + hour: '2-digit', + minute: '2-digit', + second: '2-digit', + hour12: false // change to true if you want AM/PM format + }); + + return formatter.format(date); +} + // ---------------------------------------------------- /** * Replaces double quotes within single-quoted strings, then converts all single quotes to double quotes, diff --git a/front/userNotifications.php b/front/userNotifications.php index 89945d1f..72dcc094 100755 --- a/front/userNotifications.php +++ b/front/userNotifications.php @@ -78,6 +78,9 @@ require 'php/templates/header.php'; if (result.includes("+")) { // Check if timezone offset is present result = result.split('+')[0]; // Remove timezone offset } + + result = localizeTimestamp(result); + return result; } }, From 7443c520212df4cd0ee39b9118f3c4b22e675d96 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sat, 10 May 2025 15:28:54 +1000 Subject: [PATCH 063/667] DateTime format based on TIMEZONE #1044 --- front/php/templates/header.php | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/front/php/templates/header.php b/front/php/templates/header.php index 5305752a..c117868a 100755 --- a/front/php/templates/header.php +++ b/front/php/templates/header.php @@ -120,34 +120,8 @@ let timeZone = ""; let now = new Date(); - // Convert to the specified time zone - let formatter = new Intl.DateTimeFormat("en-UK", { - timeZone: timeZone, - day: "2-digit", - month: "short", - year: "numeric", - hour: "2-digit", - minute: "2-digit", - second: "2-digit", - hour12: false, // Use 24-hour format - }); - let parts = formatter.formatToParts(now); - - // Extract date components - let day = parts.find(p => p.type === "day").value; - let month = parts.find(p => p.type === "month").value; - let year = parts.find(p => p.type === "year").value; - - // Extract time components - let hour = parts.find(p => p.type === "hour").value; - let minute = parts.find(p => p.type === "minute").value; - let second = parts.find(p => p.type === "second").value; - - // Construct the date and time in DD-MMM-YYYY HH:MM:SS format - let formattedDateTime = `${day}-${month}-${year} ${hour}:${minute}:${second}`; - if (document.getElementById) { - document.getElementById("NAX_Servertime_plc").innerHTML = '(' + formattedDateTime + ')'; + document.getElementById("NAX_Servertime_plc").innerHTML = '(' + localizeTimestamp(now) + ')'; document.getElementById("NAX_TZ").innerHTML = timeZone; } From 7dba186e39c196ecc4bb52fabe6ed9db481a624e Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sat, 10 May 2025 15:43:46 +1000 Subject: [PATCH 064/667] Docker swarm guide #1031 --- docs/DOCKER_SWARM.md | 79 ++++++++++++++++++++++++++++++++++++++++++++ mkdocs.yml | 1 + 2 files changed, 80 insertions(+) create mode 100755 docs/DOCKER_SWARM.md diff --git a/docs/DOCKER_SWARM.md b/docs/DOCKER_SWARM.md new file mode 100755 index 00000000..a7be6e5d --- /dev/null +++ b/docs/DOCKER_SWARM.md @@ -0,0 +1,79 @@ +# Docker Swarm Deployment Guide (IPvlan) + +This guide describes how to deploy **NetAlertX** in a **Docker Swarm** environment using an `ipvlan` network. This enables the container to receive a LAN IP address directly, which is ideal for network monitoring. + +--- + +## ⚙️ Step 1: Create an IPvlan Config-Only Network on All Nodes + +> Run this command on **each node** in the Swarm. + +```bash +docker network create -d ipvlan \ + --subnet=192.168.1.0/24 \ # 🔧 Replace with your LAN subnet + --gateway=192.168.1.1 \ # 🔧 Replace with your LAN gateway + -o ipvlan_mode=l2 \ + -o parent=eno1 \ # 🔧 Replace with your network interface (e.g., eth0, eno1) + --config-only \ + ipvlan-swarm-config +``` + +--- + +## 🖥️ Step 2: Create the Swarm-Scoped IPvlan Network (One-Time Setup) + +> Run this on **one Swarm manager node only**. + +```bash +docker network create -d ipvlan \ + --scope swarm \ + --config-from ipvlan-swarm-config \ + swarm-ipvlan +``` + +--- + +## 🧾 Step 3: Deploy NetAlertX with Docker Compose + +Use the following Compose snippet to deploy NetAlertX with a **static LAN IP** assigned via the `swarm-ipvlan` network. + +```yaml +services: + netalertx: + image: ghcr.io/jokob-sk/netalertx:latest + ports: + - 20211:20211 + volumes: + - /mnt/YOUR_SERVER/netalertx/config:/app/config:rw + - /mnt/YOUR_SERVER/netalertx/db:/netalertx/app/db:rw + - /mnt/YOUR_SERVER/netalertx/logs:/netalertx/app/log:rw + environment: + - TZ=Europe/London + - PORT=20211 + networks: + swarm-ipvlan: + ipv4_address: 192.168.1.240 # ⚠️ Choose a free IP from your LAN + deploy: + mode: replicated + replicas: 1 + restart_policy: + condition: on-failure + placement: + constraints: + - node.role == manager # 🔄 Or use: node.labels.netalertx == true + +networks: + swarm-ipvlan: + external: true +``` + +--- + +## ✅ Notes + +* The `ipvlan` setup allows **NetAlertX** to have a direct IP on your LAN. +* Replace `eno1` with your interface, IP addresses, and volume paths to match your environment. +* Make sure the assigned IP (`192.168.1.240` above) is not in use or managed by DHCP. +* You may also use a node label constraint instead of `node.role == manager` for more control. + + diff --git a/mkdocs.yml b/mkdocs.yml index 780a473c..6efe6ed3 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -43,6 +43,7 @@ nav: - Reverse Proxy: REVERSE_PROXY.md - Webhooks (n8n): WEBHOOK_N8N.md - Workflows: WORKFLOWS.md + - Docker Swarm: DOCKER_SWARM.md - Help: - Common issues: COMMON_ISSUES.md - Random MAC: RANDOM_MAC.md From 990f490fb34873d8869b0b94a3caaa1c6ce09130 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 11 May 2025 07:27:33 +1000 Subject: [PATCH 065/667] docs #1064 --- front/php/templates/language/en_us.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json index 9e426cfd..d6a4d584 100755 --- a/front/php/templates/language/en_us.json +++ b/front/php/templates/language/en_us.json @@ -334,7 +334,7 @@ "General_icon": "", "HRS_TO_KEEP_NEWDEV_description": "This is a maintenance setting DELETING devices. If enabled (0 is disabled), devices marked as New Device will be deleted if their First Session time was older than the specified hours in this setting. Use this setting if you want to auto-delete New Devices after X hours.", "HRS_TO_KEEP_NEWDEV_name": "Delete new devices after", - "HRS_TO_KEEP_OFFDEV_description": "This is a maintenance setting DELETING devices. If enabled (0 is disabled), devices that are Offline and their Last Offline date time is older than the specified hours in this setting, will be deleted. Use this setting if you want to auto-delete Offline Devices after X hours being offline.", + "HRS_TO_KEEP_OFFDEV_description": "This is a maintenance setting DELETING devices. If enabled (0 is disabled), devices that are Offline and their Last Connection date time is older than the specified hours in this setting, will be deleted. Use this setting if you want to auto-delete Offline Devices after X hours being offline.", "HRS_TO_KEEP_OFFDEV_name": "Delete offline devices after", "LOADED_PLUGINS_description": "Which Plugins to load. Adding plugins might slow the application. Read more about which plugins need to be enabled, types, or scanning options in the plugins docs. Unloaded plugins will lose your settings. Only disabled plugins can be unloaded.", "LOADED_PLUGINS_name": "Loaded plugins", From 7aa5f499b980449ae2c805b9305214b8bce2ac75 Mon Sep 17 00:00:00 2001 From: Hans Meine Date: Sat, 10 May 2025 14:33:34 +0200 Subject: [PATCH 066/667] Translated using Weblate (German) Currently translated at 89.2% (663 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/de/ --- front/php/templates/language/de_de.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) mode change 100755 => 100644 front/php/templates/language/de_de.json diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json old mode 100755 new mode 100644 index fb4a3de3..360691c1 --- a/front/php/templates/language/de_de.json +++ b/front/php/templates/language/de_de.json @@ -1,7 +1,7 @@ { "API_CUSTOM_SQL_description": "Benutzerdefinierte SQL-Abfrage, welche eine JSON-Datei generiert und diese mit dem Dateiendpunkt table_custom_endpoint.json zur Verfügung stellt.", "API_CUSTOM_SQL_name": "Benutzerdefinierte SQL-Abfrage", - "API_TOKEN_description": "API-Token zur Absicherung der Kommunikation – Sie können einen generieren oder einen beliebigen Wert eingeben. Er wird im Anfrage-Header übermittelt. Wird im SYNC-Plugin und GraphQL-Server verwendet.", + "API_TOKEN_description": "API-Token zur Absicherung der Kommunikation – Sie können einen neuen generieren oder einen beliebigen Wert eingeben. Er wird im Anfrage-Header übermittelt und zum Beispiel im SYNC-Plugin, im GraphQL-Server und in anderen API Endpunkten verwendet (siehe auch API Dokumentation)..", "API_TOKEN_name": "API-Schlüssel", "API_display_name": "API", "API_icon": "", @@ -61,7 +61,7 @@ "BackDevices_DBTools_ImportCSVError": "Die CSV-Datei konnte nicht importiert werden. Stellen Sie sicher, dass das Format korrekt ist.", "BackDevices_DBTools_ImportCSVMissing": "Die CSV-Datei konnte nicht in /config/devices.csv gefunden werden.", "BackDevices_DBTools_Purge": "Die ältesten Backups wurden gelöscht", - "BackDevices_DBTools_UpdDev": "Gerät wurde erfolgreich aktualisiert", + "BackDevices_DBTools_UpdDev": "Gerät wurde erfolgreich aktualisiert. Es kann etwas dauern bis die Übersicht neu geladen ist, wenn ein Scan aktiv ist.", "BackDevices_DBTools_UpdDevError": "Fehler beim Aktualisieren des Gerätes", "BackDevices_DBTools_Upgrade": "Datenbank wurde erfolgreich aktualisiert", "BackDevices_DBTools_UpgradeError": "Fehler beim Aktualisieren der Datenbank", @@ -295,7 +295,7 @@ "Events_Tablelenght": "Zeige _MENU_ Einträge", "Events_Tablelenght_all": "Alle", "Events_Title": "Ereignisse", - "GRAPHQL_PORT_description": "Die Portnummer des GraphQL-Servers.", + "GRAPHQL_PORT_description": "Die Portnummer des GraphQL-Servers. Stellen Sie sicher, dass dieser Port von keiner anderen Anwendung oder NetAlertX Instanz verwendet wird.", "GRAPHQL_PORT_name": "GraphQL-Port", "Gen_Action": "Action", "Gen_Add": "Hinzufügen", @@ -341,7 +341,7 @@ "Gen_Warning": "Warnung", "Gen_Work_In_Progress": "Keine Finalversion, feedback bitte unter: https://github.com/jokob-sk/NetAlertX/issues", "Gen_create_new_device": "Neues Gerät", - "Gen_create_new_device_info": "", + "Gen_create_new_device_info": "Geräte werden normalerweise über Plugins gefunden. In Ausnahmefällen kann es nötig sein, sie manuell hinzuzufügen. Konkrete Szenarien sind in der Dokumentation über entfernte Netzwerke zu finden.", "General_display_name": "Allgemein", "General_icon": "", "HRS_TO_KEEP_NEWDEV_description": "Dies ist eine Wartungseinstellung DELETING devices. Wenn aktiviert (0 bedeutet deaktiviert), werden als \"Neues Gerät\" markierte Geräte gelöscht, wenn ihre erste Sitzung länger her ist als in dieser Einstellung angegeben. Verwenden Sie diese Einstellung, wenn Sie Neue Geräte nach X Stunden automatisch löschen wollen.", @@ -387,7 +387,7 @@ "Maintenance_Running_Version": "Installierte Version", "Maintenance_Status": "Status", "Maintenance_Title": "Wartungswerkzeuge", - "Maintenance_Tool_DownloadConfig": "", + "Maintenance_Tool_DownloadConfig": "Einstellungen exportieren", "Maintenance_Tool_DownloadConfig_text": "", "Maintenance_Tool_DownloadWorkflows": "", "Maintenance_Tool_DownloadWorkflows_text": "", @@ -823,4 +823,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "Speichere die Änderungen, bevor Sie die Einstellungen testen." -} \ No newline at end of file +} From f8df8dc41afce00511fa15e5518990fcd1bc3195 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 10 May 2025 23:28:05 +0200 Subject: [PATCH 067/667] Translated using Weblate (Spanish) Currently translated at 99.8% (742 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/es/ --- front/php/templates/language/es_es.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/es_es.json diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json old mode 100755 new mode 100644 From 78cb68d2c4742bb4742f2e66a5def88edd598f20 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 10 May 2025 23:28:05 +0200 Subject: [PATCH 068/667] Translated using Weblate (French) Currently translated at 99.8% (742 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/fr/ --- front/php/templates/language/fr_fr.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/fr_fr.json diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100755 new mode 100644 From 7e65b06ff2dcbbc9b507c591f2be5b84fd88d04d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 10 May 2025 23:28:07 +0200 Subject: [PATCH 069/667] Translated using Weblate (Russian) Currently translated at 99.8% (742 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ru/ --- front/php/templates/language/ru_ru.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/ru_ru.json diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json old mode 100755 new mode 100644 From 56bd1d2772fa506afd347dfe08c6bcebaf3affd6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 10 May 2025 23:28:05 +0200 Subject: [PATCH 070/667] Translated using Weblate (Italian) Currently translated at 99.8% (742 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/it/ --- front/php/templates/language/it_it.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/it_it.json diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json old mode 100755 new mode 100644 From 3c28f9ed36316c84ad15a0eab1027bd5a93af1da Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 10 May 2025 23:28:06 +0200 Subject: [PATCH 071/667] Translated using Weblate (Portuguese (Brazil)) Currently translated at 58.9% (438 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/pt_BR/ --- front/php/templates/language/pt_br.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/pt_br.json diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json old mode 100755 new mode 100644 index c73b2ff4..8366a56d --- a/front/php/templates/language/pt_br.json +++ b/front/php/templates/language/pt_br.json @@ -742,4 +742,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "Guarde as alterações antes de testar as definições." -} \ No newline at end of file +} From d05de62cc7b636a491d997fbf1d6a35e931cb7df Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 10 May 2025 23:28:07 +0200 Subject: [PATCH 072/667] Translated using Weblate (Turkish) Currently translated at 67.9% (505 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/tr/ --- front/php/templates/language/tr_tr.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/tr_tr.json diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json old mode 100755 new mode 100644 From 17b11a016c2e274d556787f7d878f201a14883ab Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 10 May 2025 23:28:04 +0200 Subject: [PATCH 073/667] Translated using Weblate (Catalan) Currently translated at 99.8% (742 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ca/ --- front/php/templates/language/ca_ca.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/ca_ca.json diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json old mode 100755 new mode 100644 From 57a9b269a0b09d86c1d1a3bc2a3167e60b376c54 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 10 May 2025 23:28:07 +0200 Subject: [PATCH 074/667] Translated using Weblate (Ukrainian) Currently translated at 99.8% (742 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/uk/ --- front/php/templates/language/uk_ua.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/uk_ua.json diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100755 new mode 100644 From cac2af8422883528d5149b76a956ea88cf82f5b2 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 11 May 2025 08:34:07 +1000 Subject: [PATCH 075/667] docs --- front/plugins/nmap_scan/README.md | 6 +----- .../plugins/nmap_scan/nmap_ports_services.png | Bin 0 -> 164471 bytes 2 files changed, 1 insertion(+), 5 deletions(-) create mode 100755 front/plugins/nmap_scan/nmap_ports_services.png diff --git a/front/plugins/nmap_scan/README.md b/front/plugins/nmap_scan/README.md index 2be7eaad..436a34ce 100755 --- a/front/plugins/nmap_scan/README.md +++ b/front/plugins/nmap_scan/README.md @@ -2,10 +2,6 @@ This plugin scans your network for open ports. Only IPs are scanned that are accessible by the app container. -### Usage - -- TBD - ### Notes -- N/A \ No newline at end of file +![Screenshot](nmap_ports_services.png) \ No newline at end of file diff --git a/front/plugins/nmap_scan/nmap_ports_services.png b/front/plugins/nmap_scan/nmap_ports_services.png new file mode 100755 index 0000000000000000000000000000000000000000..07f5aa19fba46093a757530413a52e70aa58842d GIT binary patch literal 164471 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

>{HX46}8)g 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

E*ya zL-TWZp1088vZoD(!o%ochL}mrablelQ27BTy)jAz5g-D?WPC>&it7!AXy#*6fO`B1 zshcIO_wFEv7Nwtlf#EXI4%sW^Z=LM>uyxh=W9B77vHbsJo*HJZG)df%cHAnB8Q<3K z&$p6nBZmx~jA`S0b22jRj-oMNLM0XHqs1qpBgJfcPg!9|j!Fe=rl1nu0F3?|6MMU?AWCss+#Jc|b4#8kvc!Gin%t6jEUKTQ78R z$rqrJQt@b&qy!omKXE-dO=yz*n`78O1P#;6zEj^XEDNalDt=xKK2c@%4-0om*S&TJ z7b=>Frl&OMKNQw5yG^@lJ2(|UIHE2H=1RPKhHOWr9#4Q`{7mP^&f0&lAUaMZ44WWO zgHK1&6>n)0(Ca8%u=SA!P06ymzadahZGCQvzY02Az$rRSe6fMG%UuQd+Pj-In`&qv zL?j&gVCJZ}6;foW!hUe1plji3$NPVC0rp##s*bnbv;uC4N`>d!1o%({9Zz^O9wDx3 zKxSP*Ss5l~m?pC6Xns`F!W`^5%wfs+yE`KtGxwGqfjEo+03P@g#_Nuy|(_>7+kQ}}pD_urTkekic#0(Pt#=*t1B4kI{VRHDyDKwuE=fMS zxOjGB`;{7Y61%}Wk11_0$@u6bpi@ZsLi*yLWHq!vCUZ)xvi1eUD#CE7CYX9;d$6*N zYmt-BnPB>gzIH>`XJp)*2|*i;Rmc-uAUz_at|x1bE0Ntv^a_cAnd@`?Kc4s@{6Y&g-{GwU%r(9p z=XlZI?L6A=XbuotlyzPwrdmx^yhM~UP2BgG#mu^OD9FS*Ro9^2=5hU!IHVcuEZo=c0Dq`D8tokfwSQ9mdl>AWg zOIlV;vggmO#gF`#-UW0shsPi_^Q$2TUPIh!)jHK2Yo5^US(n1eiCr6Jm*gecPb@Xc z+j5(HOP~`N5t3-kSc-j=Re!qkI{{IZzOz`FthV0mx`&yah})qGJMV=gXq^!Y`+{c4 zit6u)-SNfBq^2YTOrLg2&W^^)-ANQQ&Pm36i_=^mmHq! zsOTT#2sm9<0NRxqz>$pa>y7N;zV&R~Y?#9oZ^BurzO@TrA$-dwI(ZUT?pew8Q zd~wb6oAOItbHZLM4V8bZ9611zSl^ZhfFR_2=SUe=dX5Z2{4D_C0=m|ZPza_uQ7Abh zRvg1^8zv!ljUJLPz)m7kUFvCatH_kJNAl}*zU=%7lJL`G0u$fM&?8+Tz40x^>OB#X z{|v9i`+-9J)Yj9p7b^j@jTegd%ZR#H#6B(Tb}XB)RT!)H@H!wl86^J&o^Vey6yZD--| z6qYL2VwV-$xrVaF(;ma|!-LP*es{JlS+4rg{@q{4$QR!O?xdA^tq$YtdQGIduO(+( zT2I>kmvs@w7CU^VVc=!0PSYPleszb6#AP{QHQQ<)!^=WEUAv>PHx@>42NVj(T0Kn; z>{l-BZ?=_vFw<}t#p-Mq@#a*AzlxE~akc)NGl#@A;RTQgD`mLd%aYVUaHx0X8)03?0hQ|@mSs3;c!xMG;OTy;Vcz1)eNKN*sgdU`d^sWh<0`e(QEA#C zua#k9^2*U%m~47%+xwmySaLao!3_Yt-w@c22;RnB?dH) zP=W1z&HNQdSfZ1fLEWyIPVO&+$LoP8fRZff5!k6~7`i9!#U(wkggol9s%96`uiGHg z9XjWbd%s1D^tsl-Jd|Lhl$4&L{ugNStLvgCM?-t8gD`K~cLehWx}pV0#bu1K@2oOM zmPjyvQ1ov1WXS^q3Hhbp&A>K~<@mYzV=cN974XVYilO40KHHg;94e3k!Nca1>zVcL zfXDGaOVj`xO;V_cNUKBT9JCgmpw84PxSs^Dn)Tt*Ke)Ww_!>M#C-Qq@7JaA);rB`z zWAptio4|&RAQT{{=AZzlmp{u%L*@)@NO41%p7Wnc0BUPo{a#PgMnmS_TWwyKzUj_r zFe18HgYc~+6JW7%hRUGc@dl0?57i29^-IIBVQ6S^;t{DhC+lVNEEH9S`NEP-30Y)R z-bcrilVtRsY+>;Wn9Rxo^1^sZW3!;!L~C3}3zLG5o}ITE3p)|n-iRh(+k zJA}jvNjB*|asC-Ck6KQMC;0_&+K8p@Qz*R_H=0LEvwKM}iDVqI)Tf`1gKW^}ocC@Z zYPB~St-g1-{gMkbCCZMRtC0rI^NSvVm@ubs?%Yixy5vuMB%O&^Nv{SKM z(v~Dgs1ryDK=QdO+S$e^gR=Ek|KQIP>Cj^31nHmuq7`>M zvP8L>^p}B|^-y60V4BEnOq?{ey8ygk_dSI23>iM(W)zC;j5Vq?o#7T1veffth8QQ}dHuyH{qso-$mTvL|udha!j%+!Y zB7FH@J(7ao=4Wib?qhvnjx+6Q8Ta%*26Y8| zy{^&v;rE5w^R>oa>7g!ZbwkI}yDhVA=;33{x=zG>#SKax+A6;EhoD!=SNK2&L3l9O z8nLS4$IU0^jo}N(Gu$)|6rM_}IE=Ir?8e{A-a_EmaKt6PXUxpZ&Aa@LS<`fJ`YIXB zcwmn;1C-d~qe>jMeGimZ9*+PWq>ps;tq!M0tquLjG@veZ+;N{b5CV3MEiQcwdru`x zB5?^>R)6gwFu4<-{PocMm=eLOIWh9nujWH*HY|6bDL%)FBe(x)x1_d=O6Vzoh-v(_ ze9Kj}mhZ5V@Ylhlvrmn4d`XqID(7U`y0Nb0=>QHmcAw#C=ULv(-yDbvk8@86EE<@_ zhy)zoy_7viOTfGcfb?rtj8zeK)auzQ0MXog)Cxp4klkC)6hUxinP$a=WR{>mW{g&=%7HJOl_xiwD_|X|g zU*=KGas~ut$%GhiW$Xb+eSP}mUG3u(ZW;1Pb@A|fj3_1&-SAft%a4vELCItw@}MVj zu{U!2i5JpVj5%XJs1lZ?KiUtzV^P_5P>>tO?v}mTd$p|TpYWcA7+pT5PN5w%8Q+P? z&aI_T2Uo9xo637M=*ynb@3eUG+$xpC451EU6Jg9AboM+4)7d2UT3j7o2dmfqqVg^Z01`&%6dP{?=O_PBaNj2yozOH zN!{2xbezCQE|83(6RxfU;E!Ii^bM1yWJ-`wb@t@DNXx&LM7kHSsw#(5=?pIJXY%25 z{{0fuviZtZt%ZZ1H(uoVTwJ{7I{jK%k^@-ugykDp4m>twyzPpS$Py4-Ci#3%fz(y` zX2kbBS-`X$iO+1~z*RQ%sjO1dOladd=?)T$}l<}H=t4!Z-J23cy<(>^4p%L|%O`rD9 zzM@7$c_su`*f!gyMwG*HQLq0nk3A=QUMg*`KazXR$jVru+vt*IvVgK-hPPGh68@+%pes>Ptd@fMGLJ0tZI<-ivw!u_fBkrreH^td{af)c!Oc(j zY;%QPK>{JG3(A*RcAvT{pFDBH94Y*reUJU$$6w&6NM#3-@defy+9%fG8UChJS8Hk* z#De4L=HaelKEnU0S|Il`f-YeqjC|Ka1RoEXz<>VtCjlNo1pw&_oxto*OA+zMiCDbj z#`+)4?|;9Rl>QNV#D|G_c~Ar0;MBs_NBh4n^*9ET1s~tRd1fSIjR*QT>Yhy7F8>FP z@h<^P2mj+A`F*#OzBK*w53>^)L;sgH1aL(H4!e8jis9dA6FzwBm;Fplu?3EviG?N4 z0lTD}GEX4mqt?}FYSf%<;<8~{dv+#a!qF*-0uw1NHPNQ<Q!agS0cp)EW11ZZq9uUP;8)hgsj zj>vSb!7lgJEiA8Jfi`}!*GQZFNMt~TZ<7{?1Y;U#Xe5oxVW>LSPo&pkXMg}8umFBz z|KFYHpGT*%|0s;|=ab>e%GKf0W_2)3L`|~hGc7GG)qpi^k87%Z+S1a}9XbPYioT!@&*M7cW9Y)b7adn_8dHylP^c6r_J~d)O4)pX({+xG68+l>*oD! z-2XJn>d2M!b#~mnb{kRW#9$r+5>a-+9OaK&BVeI#6|upevwqk4TBoUiyZa&3*^>#d z`Kh&>)D{;Phl)VCfHQ*W>%)_cpIE&Bp?{R!pv~$6z<_}Cjak56iM9cSY3lkl=ud))~Pxv+3cs?DQPkkQN(?XNBr#* zL50!_8_G2Ae$~*}-VO64e?ujw)#HF4pO>tc*U!nlWvCwCex$tM2ypw&Q)dW@Q(UShEM*6_7hmj+`suQlj4~ zhZkb{qnQ3SW(@dkWngC^%uKPFa&#L9|QY^z+8xV6zFJltXZh>}KTOou zzI&xlx(laudb%7`9!syI5I~DmOiXg_PEUs4X)&qV*Zk$^{fqSVQL^@>X=1H)_n3bD zU6o;a-qQ~K>`Q*TC76nnZi5{)H260LehQtdXc+~+1&I49^?-ScmbA1q)S*nj^#%TBwutBX5Rfio3kYiJv$JW0 z9M(eTo17Kw-yB;3(A7KrHcmA*X)F|dJF)xA93U3Ri+}vg#J~^s@neehe3JmglF)_j zIa%87#iCC=;0qT#3@A#iF4E^+)&~+`E%XkB&zbtraVcv;a4BcjS(0vEp4FVCj$2x- z7bPsCx}MKzHGA!xE8r^j5!C*-=%*yI*ds$I*B$X^2U0#cRl zn{TE88zwhi(KJ3EeW(JJhzIwW4#T=V>MJa(yWq1rz`U*E5G6@S-OCN|d7BD;N+wAK z6L;O4spXvHO7f@oin@vyMZ%y+=ZXH!#V!*ms$Q86RIPGgb3D7xy#LUCnKMRqxA|n|UtP-;*0x>c2kz-9L=ez_ z=m5s_i@8p=&nV!lPIZqXGV<+YYDi4e@_*tVW^@u20fx7ppV@6-b)pyl{j2$Zv~;ldF92-%S$ zH|#DAyaHTG8jnkU`&++FE`VCuEiOCiTg96VCQbv;k3-u0`mn1QKB(> zp__1fzic<@#lib4WOTJx@y<8E)U<@th12FB z6xQf=6}Puo&mk;yk#jIUDK>J)5x66pr_umCxkwo%+)(0JXEXi0;?Xjkhv%$)c&cWi zLt|Nh+Op`3Jd!Lu%s!qvYzyt##F_IMO}(mh{zf>~CI@IWgv;^0H|KeZ$rjeq&=&$P zv4ykrf*k-3VuJL

#=z>XBl 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

NO0ZJ-}?K&IstP==ce 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 Q0Rlc|CRV4bv3SzI0V4HBE&u=k literal 0 HcmV?d00001 From a0a14f24cc6ffd0bd2c96dae552f264369d37573 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Mon, 12 May 2025 07:10:20 +1000 Subject: [PATCH 076/667] docs #1064 --- front/php/templates/language/ca_ca.json | 0 front/php/templates/language/de_de.json | 0 front/php/templates/language/es_es.json | 0 front/php/templates/language/fr_fr.json | 0 front/php/templates/language/it_it.json | 0 front/php/templates/language/pt_br.json | 0 front/php/templates/language/ru_ru.json | 0 front/php/templates/language/tr_tr.json | 0 front/php/templates/language/uk_ua.json | 0 front/plugins/newdev_template/config.json | 4 ++-- 10 files changed, 2 insertions(+), 2 deletions(-) mode change 100644 => 100755 front/php/templates/language/ca_ca.json mode change 100644 => 100755 front/php/templates/language/de_de.json mode change 100644 => 100755 front/php/templates/language/es_es.json mode change 100644 => 100755 front/php/templates/language/fr_fr.json mode change 100644 => 100755 front/php/templates/language/it_it.json mode change 100644 => 100755 front/php/templates/language/pt_br.json mode change 100644 => 100755 front/php/templates/language/ru_ru.json mode change 100644 => 100755 front/php/templates/language/tr_tr.json mode change 100644 => 100755 front/php/templates/language/uk_ua.json diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100644 new mode 100755 diff --git a/front/plugins/newdev_template/config.json b/front/plugins/newdev_template/config.json index 65a5af35..9259b3a2 100755 --- a/front/plugins/newdev_template/config.json +++ b/front/plugins/newdev_template/config.json @@ -969,13 +969,13 @@ "name": [ { "language_code": "en_us", - "string": "Last Connection" + "string": "Last Seen" } ], "description": [ { "language_code": "en_us", - "string": "The date and time of the last connection with the device. Uneditable - Autodetected." + "string": "The date and time of the last seen connection with the device. Uneditable - Autodetected." } ] }, From 49465715a6e5ede5ac916dafa4ee910c9c8855d4 Mon Sep 17 00:00:00 2001 From: Hans Meine Date: Sun, 11 May 2025 10:46:55 +0200 Subject: [PATCH 077/667] Translated using Weblate (German) Currently translated at 89.2% (663 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/de/ --- front/php/templates/language/de_de.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json index 360691c1..06ad008d 100644 --- a/front/php/templates/language/de_de.json +++ b/front/php/templates/language/de_de.json @@ -76,7 +76,7 @@ "CustProps_cant_remove": "Kann nicht entfernt werden, es wird mindestens eine Eigenschaft benötigt.", "DAYS_TO_KEEP_EVENTS_description": "Dies ist eine Wartungseinstellung. Spezifiziert wie viele Tage Events gespeichert bleiben. Alle älteren Events werden periodisch gelöscht. Wird auch auf die Plugins History angewendet.", "DAYS_TO_KEEP_EVENTS_name": "Ereignisse löschen, die älter sind als", - "DISCOVER_PLUGINS_description": "Deaktiviere diese Option um die Initialisierung und Speicherdauer der Einstellungen zu verringern. Wenn es deaktiviert ist, können keine Plugins gefunden oder neue Plugins zu den vorhandenen hinzugefügt werden.", + "DISCOVER_PLUGINS_description": "Deaktiviere diese Option, um Initialisierung und Speichern der Einstellungen zu beschleunigen. Wenn es deaktiviert ist, werden keine neuen Plugins gefunden und es können keine manuell hinzugefügt werden.", "DISCOVER_PLUGINS_name": "Entdecke Erweiterungen", "DevDetail_Copy_Device_Title": "Details von Gerät kopieren", "DevDetail_Copy_Device_Tooltip": "Details vom Gerät aus der Dropdown-Liste kopieren. Alles auf dieser Seite wird überschrieben", @@ -479,7 +479,7 @@ "Maintenance_lang_selector_apply": "Übernehmen", "Maintenance_lang_selector_empty": "Sprache wählen", "Maintenance_lang_selector_lable": "Sprachauswahl", - "Maintenance_lang_selector_text": "Die Änderung findet serverseitig statt, betrifft also alle verwendeten Geräte.", + "Maintenance_lang_selector_text": "Die Änderung findet clientseitig statt, betrifft also nur den aktuellen Browser.", "Maintenance_new_version": "Eine neue Version ist vefügbar. Sieh dir die Versionshinweise an.", "Maintenance_themeselector_apply": "Übernehmen", "Maintenance_themeselector_empty": "Skin wählen", From 210a5e9ae21019ed815d08d81333396288d51c53 Mon Sep 17 00:00:00 2001 From: Sylvain Pichon Date: Sun, 11 May 2025 17:58:53 +0200 Subject: [PATCH 078/667] Translated using Weblate (French) Currently translated at 100.0% (743 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/fr/ --- front/php/templates/language/fr_fr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json index 6b5bd729..d6acf8c9 100644 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -334,7 +334,7 @@ "General_icon": "", "HRS_TO_KEEP_NEWDEV_description": "Paramètre de maintenance. S'il est activé (0 s'il est désactivé), les appareils marqués comme Nouvel appareil seront supprimés si leur durée depuis la première session est plus ancienne que le nombre d'heures paramétré. Utilisez ce paramétrage si vous voulez supprimer automatiquement les Nouveaux appareils après X heures.", "HRS_TO_KEEP_NEWDEV_name": "Supprimer les nouveaux appareils après", - "HRS_TO_KEEP_OFFDEV_description": "Il s'agit d'un paramètre de maintenance SUPPRIMER des appareils. Si cette option est activée (0 est désactivé), les appareils qui sont Hors ligne et dont la dernière heure hors ligne est plus ancienne que les heures spécifiées dans ce paramètre. Utilisez ce paramètre si vous souhaitez supprimer automatiquement Appareils hors ligne après X heures de déconnexion.", + "HRS_TO_KEEP_OFFDEV_description": "Il s'agit d'un paramètre de maintenance SUPPRIMER des appareils. Si cette option est activée (0 est désactivé), les appareils qui sont Hors ligne et dont la dernière connexion est plus ancienne que les heures spécifiées dans ce paramètre. Utilisez ce paramètre si vous souhaitez supprimer automatiquement Appareils hors ligne après X heures de déconnexion.", "HRS_TO_KEEP_OFFDEV_name": "Supprimez les appareils hors ligne après", "LOADED_PLUGINS_description": "Affiche les plugins chargés. Ajouter des plugins peut ralentir l'application. Obtenez plus d'informations dur quels plugins dont à activer, ou les options de scan dans la documentation des plugins. Décharger des plugins leur fait perdre leurs paramètres. Seuls les plugins désactivés peuvent être déchargés.", "LOADED_PLUGINS_name": "Plugins chargés", From 29d677253e06a519b0c9e4f399745e6545e0d53b Mon Sep 17 00:00:00 2001 From: Safeguard Date: Sat, 10 May 2025 23:40:30 +0200 Subject: [PATCH 079/667] Translated using Weblate (Russian) Currently translated at 100.0% (743 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ru/ --- front/php/templates/language/ru_ru.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json index bc1b3e83..006f60ec 100644 --- a/front/php/templates/language/ru_ru.json +++ b/front/php/templates/language/ru_ru.json @@ -334,7 +334,7 @@ "General_icon": "", "HRS_TO_KEEP_NEWDEV_description": "Это настройка обслуживания УДАЛЕНИЕ устройств. Если этот параметр включен (0 отключен), устройства, помеченные как Новое устройство, будут удалены, если время их Первого сеанса было старше указанных в этой настройке часов. Используйте этот параметр, если вы хотите автоматически удалять Новые устройства через X часов.", "HRS_TO_KEEP_NEWDEV_name": "Удалить новые устройства после", - "HRS_TO_KEEP_OFFDEV_description": "Это настройка обслуживания УДАЛЕНИЕ устройств. Если этот параметр включен (0 отключен), устройства, которые находятся в Offline и их дата и время последнего Offline старше, чем часы, указанные в этом параметре. Используйте этот параметр, если вы хотите автоматически удалять Offline устройства после X часов отсутствия в сети.", + "HRS_TO_KEEP_OFFDEV_description": "Это настройка обслуживания УДАЛЕНИЕ устройств. Если этот параметр включен (0 отключен), устройства, которые находятся в Offline и их дата и время последнего подключения старше, чем часы, указанные в этом параметре. Используйте этот параметр, если вы хотите автоматически удалять Offline устройства после X часов отсутствия в сети.", "HRS_TO_KEEP_OFFDEV_name": "Удалить устройства Offline после", "LOADED_PLUGINS_description": "Какие плагины загружать. Добавление плагинов может замедлить работу приложения. Подробнее о том, какие плагины необходимо включить, их типах или параметрах сканирования, читайте в Документация по плагинам. Выгруженные плагины потеряют ваши настройки. Можно выгрузить только отключенные плагины.", "LOADED_PLUGINS_name": "Загруженные плагины", From cfa7fb47e4adab0d0982ab33f7586c307537e9e3 Mon Sep 17 00:00:00 2001 From: Massimo Pissarello Date: Sun, 11 May 2025 04:04:02 +0200 Subject: [PATCH 080/667] Translated using Weblate (Italian) Currently translated at 100.0% (743 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/it/ --- front/php/templates/language/it_it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json index 93dde70e..68995994 100644 --- a/front/php/templates/language/it_it.json +++ b/front/php/templates/language/it_it.json @@ -334,7 +334,7 @@ "General_icon": "", "HRS_TO_KEEP_NEWDEV_description": "Questa è un'impostazione di manutenzione ELIMINAZIONE dispositivi. Se abilitata (0 è disabilitata), tutti i dispositivi marcati con Nuovo dispositivo verranno eliminati se l'orario della Prima sessione è precedente all'orario di questa impostazione. Usa questa impostazione se vuoi eliminare automaticamente i Nuovi dispositivi dopo X ore.", "HRS_TO_KEEP_NEWDEV_name": "Elimina nuovi dispositivi dopo", - "HRS_TO_KEEP_OFFDEV_description": "Questa è un'impostazione di manutenzione ELIMINAZIONE dispositivi. Se abilitata (0 è disabilitata), i dispositivi che sono Offline e la loro data e ora Ultima offline sono più vecchi delle ore specificate in questa impostazione saranno eliminati. Usa questa impostazione se vuoi eliminare automaticamente Dispositivi offline dopo X ore trascorse offline.", + "HRS_TO_KEEP_OFFDEV_description": "Questa è un'impostazione di manutenzione ELIMINAZIONE dispositivi. Se abilitata (0 è disabilitata), i dispositivi che sono Offline e la loro data e ora Ultima connessione sono più vecchi delle ore specificate in questa impostazione saranno eliminati. Usa questa impostazione se vuoi eliminare automaticamente Dispositivi offline dopo X ore trascorse offline.", "HRS_TO_KEEP_OFFDEV_name": "Elimina dispositivi offline dopo", "LOADED_PLUGINS_description": "Quali Plugin caricare. L'aggiunta di plugin potrebbe rallentare l'applicazione. Leggi di più su quali plugin necessitano di essere abilitati, tipi e opzioni di scansione nella documentazione plugin. I plugin disinstallati perdono la loro configurazione. Solo i plugin disabilitati possono essere disinstallati.", "LOADED_PLUGINS_name": "Plugin caricati", From 5efc9dcb16b1378d0eccd878e3495f1925206dba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Sun, 11 May 2025 09:12:47 +0200 Subject: [PATCH 081/667] Translated using Weblate (Ukrainian) Currently translated at 100.0% (743 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/uk/ --- front/php/templates/language/uk_ua.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json index 1a0aac3a..e2dd3cef 100644 --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -334,7 +334,7 @@ "General_icon": "", "HRS_TO_KEEP_NEWDEV_description": "Це налаштування обслуговування ВИДАЛЕННЯ пристроїв. Якщо ввімкнено (0 вимкнено), пристрої, позначені як Новий пристрій, буде видалено, якщо час їхнього першого сеансу був старшим за вказані години в цьому налаштування. Використовуйте це налаштування, якщо ви хочете автоматично видаляти Нові пристрої через X годин.", "HRS_TO_KEEP_NEWDEV_name": "Видаліть нові пристрої після", - "HRS_TO_KEEP_OFFDEV_description": "Це налаштування обслуговування ВИДАЛЕННЯ пристроїв. Якщо ввімкнути (0 вимкнено), пристрої, які офлайн і дата їх останнього вимкнення старші за вказані години в цьому параметрі, будуть бути видалено. Використовуйте це налаштування, якщо ви хочете автоматично видаляти Автономні пристрої після X годин роботи в режимі офлайн.", + "HRS_TO_KEEP_OFFDEV_description": "Це налаштування обслуговування ВИДАЛЕННЯ пристроїв. Якщо ввімкнено (0 вимкнено), пристрої, які офлайн, та їх Останнє підключення дата та час старіші за вказані години в цьому налаштуванні, будуть видалені. Використовуйте це налаштування, якщо ви хочете автоматично видаляти офлайн-пристрої після X годин перебування в мережі.", "HRS_TO_KEEP_OFFDEV_name": "Видаліть офлайн-пристрої після", "LOADED_PLUGINS_description": "Які плагіни завантажити. Додавання плагінів може уповільнити роботу програми. Дізнайтеся більше про те, які плагіни потрібно ввімкнути, типи чи параметри сканування в документи плагінів. Вивантажені плагіни втратять налаштування. Лише вимкнені плагіни можна вивантажити.", "LOADED_PLUGINS_name": "Завантажені плагіни", From 82410814deb801f264ab6e2953cefc1c1a97cb58 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Mon, 12 May 2025 20:24:44 +1000 Subject: [PATCH 082/667] DateTime format based on TIMEZONE #1044 --- front/deviceDetailsEvents.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/deviceDetailsEvents.php b/front/deviceDetailsEvents.php index d96620c6..401c7641 100755 --- a/front/deviceDetailsEvents.php +++ b/front/deviceDetailsEvents.php @@ -65,7 +65,7 @@ function initializeSessionsDatatable () { // Replace HTML codes {targets: [0], 'createdCell': function (td, cellData, rowData, row, col) { - $(td).html (translateHTMLcodes (cellData)); + $(td).html (translateHTMLcodes (localizeTimestamp(cellData))); } } ], From 0d7202f7a2adf0a9c544beb74d5a1d62ec1ecf02 Mon Sep 17 00:00:00 2001 From: slothsnow Date: Sat, 17 May 2025 20:53:54 +0200 Subject: [PATCH 083/667] Translated using Weblate (German) Currently translated at 89.3% (664 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/de/ --- front/php/templates/language/de_de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/de_de.json diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json old mode 100755 new mode 100644 index 06ad008d..44366f7e --- a/front/php/templates/language/de_de.json +++ b/front/php/templates/language/de_de.json @@ -383,7 +383,7 @@ "MQTT_icon": "", "Maint_PurgeLog": "Protokoll bereinigen", "Maint_RestartServer": "Server neu starten", - "Maint_Restart_Server_noti_text": "", + "Maint_Restart_Server_noti_text": "Soll der Backend-Server wirklich neu gestartet werden? Das könnte Instabilitäten verursachen. Vorher ein Backup erstellen.

Hinweis: Das kann einige Minuten dauern.", "Maintenance_Running_Version": "Installierte Version", "Maintenance_Status": "Status", "Maintenance_Title": "Wartungswerkzeuge", From 84103bb8ed4cde0b1fb4a8d2d641a6c0d6282293 Mon Sep 17 00:00:00 2001 From: Karthik Sankar Date: Tue, 20 May 2025 21:08:50 -0400 Subject: [PATCH 084/667] Fix typo "longet" `longet` should have been `longer` --- front/plugins/newdev_template/config.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/plugins/newdev_template/config.json b/front/plugins/newdev_template/config.json index 9259b3a2..c0a2f609 100755 --- a/front/plugins/newdev_template/config.json +++ b/front/plugins/newdev_template/config.json @@ -1150,7 +1150,7 @@ "description": [ { "language_code": "en_us", - "string": "Indicates whether an alert should be triggered when the device goes down. The device has to be down for longet than the time set in the Alert Down After NTFPRCS_alert_down_time setting." + "string": "Indicates whether an alert should be triggered when the device goes down. The device has to be down for longer than the time set in the Alert Down After NTFPRCS_alert_down_time setting." } ] }, @@ -1633,4 +1633,4 @@ ], "required": [], "additionalProperties": false -} \ No newline at end of file +} From 84d8363383ca7cc83d0308c6285303b8ef2234d9 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sat, 24 May 2025 09:38:02 +1000 Subject: [PATCH 085/667] Presence start-end tooltip #1066 --- front/deviceDetailsPresence.php | 5 ++--- front/deviceDetailsSessions.php | 4 ++-- front/lib/popper_tooltip/popper.min.js | 5 +++++ front/php/templates/header.php | 1 + front/presence.php | 11 +++++++++-- 5 files changed, 19 insertions(+), 7 deletions(-) create mode 100755 front/lib/popper_tooltip/popper.min.js diff --git a/front/deviceDetailsPresence.php b/front/deviceDetailsPresence.php index e3f72666..7aa781a0 100755 --- a/front/deviceDetailsPresence.php +++ b/front/deviceDetailsPresence.php @@ -219,9 +219,8 @@ function initializeCalendar() { }, eventRender: function (event, element) { - $(element).tooltip({container: 'body', placement: 'bottom', - title: event.tooltip}); - // element.attr ('title', event.tooltip); // Alternative tooltip + // $(element).tooltip({container: 'body', placement: 'bottom', title: event.tooltip}); + element.attr ('title', event.tooltip); // Alternative tooltip }, loading: function( isLoading, view ) { diff --git a/front/deviceDetailsSessions.php b/front/deviceDetailsSessions.php index 7b091780..23e27732 100755 --- a/front/deviceDetailsSessions.php +++ b/front/deviceDetailsSessions.php @@ -54,14 +54,14 @@ // Date {targets: [1,2], "createdCell": function (td, cellData, rowData, row, col) { - console.log(cellData); + // console.log(cellData); if (!cellData.includes("missing event") && !cellData.includes("...")) { if (cellData.includes("+")) { // Check if timezone offset is present cellData = cellData.split('+')[0]; // Remove timezone offset } - console.log(cellData); + // console.log(cellData); result = localizeTimestamp(cellData); } else { diff --git a/front/lib/popper_tooltip/popper.min.js b/front/lib/popper_tooltip/popper.min.js new file mode 100755 index 00000000..bb1aaae3 --- /dev/null +++ b/front/lib/popper_tooltip/popper.min.js @@ -0,0 +1,5 @@ +/* + Copyright (C) Federico Zivolo 2020 + Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT). + */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=e.ownerDocument.defaultView,n=o.getComputedStyle(e,null);return t?n[t]:n}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function i(e){return e&&e.referenceNode?e.referenceNode:e}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent||null;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TH','TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1=o.clientWidth&&n>=o.clientHeight}),l=0a[e]&&!t.escapeWithReference&&(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-us[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f]),E=parseFloat(w['border'+f+'Width']),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,$(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ce.FLIP:p=[n,i];break;case ce.CLOCKWISE:p=G(n);break;case ce.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),v=y||E;(m||b||v)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),v&&(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.rightwindow.devicePixelRatio||!fe),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return V(e.instance.popper,e.styles),j(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&V(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),V(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ge}); +//# sourceMappingURL=popper.min.js.map diff --git a/front/php/templates/header.php b/front/php/templates/header.php index c117868a..6a79fa86 100755 --- a/front/php/templates/header.php +++ b/front/php/templates/header.php @@ -42,6 +42,7 @@ + diff --git a/front/presence.php b/front/presence.php index 75593036..d5c5e3e2 100755 --- a/front/presence.php +++ b/front/presence.php @@ -324,8 +324,15 @@ function initializeCalendar () { }, eventRender: function (event, element, view) { - $(element).tooltip({container: 'body', placement: 'bottom', title: event.tooltip}); - // element.attr ('title', event.tooltip); // Alternative tooltip + // $(element).tooltip({container: 'body', placement: 'bottom', title: event.tooltip}); + tltp = event.tooltip.replace('\n',' | ') + + element.attr ('title', tltp); // Alternative tooltip + + }, + + eventClick: function(info) { + console.log(info); }, loading: function( isLoading, view ) { From 06ec6884a40095535ef475d80d4d78aa28f9a58c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 24 May 2025 00:02:23 +0000 Subject: [PATCH 086/667] Add release tweet for v25.5.24 - MQTT, UI improvements, multiple notification emails --- .github/tweet.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/tweet.md b/.github/tweet.md index 702403bf..db7d3848 100755 --- a/.github/tweet.md +++ b/.github/tweet.md @@ -1,2 +1,2 @@ -🎉 New release: ** v25.4.14 - Styling, Workflows and other fixes ** is live! 🚀 -Check it out here: https://github.com/jokob-sk/NetAlertX/releases/tag/v25.4.14 +🎉 New release: **v25.5.24 - MQTT, UI improvements, multiple notification emails** is live! 🚀 +Check it out here: https://github.com/jokob-sk/NetAlertX/releases/tag/v25.5.24 From 481e236fafa5e7ec5e283cf562097af39884f5b8 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 29 May 2025 13:20:08 +1000 Subject: [PATCH 087/667] various fixes --- back/app.conf | 2 +- docs/PLUGINS.md | 6 +++--- front/index.php | 6 +++--- front/php/templates/auth.php | 2 +- front/php/templates/language/de_de.json | 0 front/php/templates/security.php | 2 +- front/plugins/omada_sdn_imp/README.md | 3 +++ server/initialise.py | 2 +- 8 files changed, 13 insertions(+), 10 deletions(-) mode change 100644 => 100755 front/php/templates/language/de_de.json diff --git a/back/app.conf b/back/app.conf index 13963958..bb53a13e 100755 --- a/back/app.conf +++ b/back/app.conf @@ -24,7 +24,7 @@ LOADED_PLUGINS=['ARPSCAN','CSVBCKP','DBCLNP', 'INTRNT','MAINT','NEWDEV','NSLOOKU DAYS_TO_KEEP_EVENTS=90 # Used for generating links in emails. Make sure not to add a trailing slash! -REPORT_DASHBOARD_URL='http://netalertx' +REPORT_DASHBOARD_URL='http://127.0.0.1' # Make sure at least these scanners are enabled for new installs, other defaults are taken from the config.json INTRNT_RUN='schedule' diff --git a/docs/PLUGINS.md b/docs/PLUGINS.md index 664b4a22..7700a8ca 100755 --- a/docs/PLUGINS.md +++ b/docs/PLUGINS.md @@ -71,8 +71,8 @@ Device-detecting plugins insert values into the `CurrentScan` database table. T | `NSLOOKUP` | 🆎 | NSLookup (DNS-based) name resolution | | | Script | [nslookup_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/nslookup_scan/) | | `NTFPRCS` | ⚙ | Notification processing | | Yes | Template | [notification_processing](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/notification_processing/)| | `NTFY` | ▶️ | NTFY notifications | | | Script | [_publisher_ntfy](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_ntfy/) | -| `OMDSDN` | 📥/🆎 | OMADA TP-Link import | 🖧 🔄 | | Script | [omada_sdn_imp](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/omada_sdn_imp/) | -| `OMDSDNOPENAPI`| 📥/🆎 | OMADA TP-Link import via OpenAPI | 🖧 | | Script | [omada_sdn_openapi](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/omada_sdn_openapi/) | +| `OMDSDN` | 📥/🆎 ❌ | UNMAINTAINED use `OMDSDNOPENAPI` | 🖧 🔄 | | Script | [omada_sdn_imp](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/omada_sdn_imp/) | +| `OMDSDNOPENAPI`| 📥/🆎 | OMADA TP-Link import via OpenAPI | 🖧 | | Script | [omada_sdn_openapi](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/omada_sdn_openapi/) | | `PIHOLE` | 🔍/🆎/📥| Pi-hole device import & sync | | | SQLite DB | [pihole_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/pihole_scan/) | | `PUSHSAFER` | ▶️ | Pushsafer notifications | | | Script | [_publisher_pushsafer](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_pushsafer/) | | `PUSHOVER` | ▶️ | Pushover notifications | | | Script | [_publisher_pushover](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_pushover/) | @@ -90,7 +90,7 @@ Device-detecting plugins insert values into the `CurrentScan` database table. T > \* The database cleanup plugin (`DBCLNP`) is not _required_ but the app will become unusable after a while if not executed. -> ❌ marked for removal +> ❌ marked for removal/unmaintained - looking for help > ⌚It's recommended to use the same schedule interval for all plugins responsible for discovering new devices. diff --git a/front/index.php b/front/index.php index cb7fc79a..2fa50823 100755 --- a/front/index.php +++ b/front/index.php @@ -29,7 +29,7 @@ if (isset ($_GET["action"]) && $_GET["action"] == 'logout') } // Password without Cookie check -> pass and set initial cookie -if (isset ($_POST["loginpassword"]) && $nax_Password == hash('sha256',$_POST["loginpassword"])) +if (isset ($_POST["loginpassword"]) && $nax_Password === hash('sha256',$_POST["loginpassword"])) { header('Location: devices.php'); $_SESSION["login"] = 1; @@ -37,7 +37,7 @@ if (isset ($_POST["loginpassword"]) && $nax_Password == hash('sha256',$_POST["lo } // active Session or valid cookie (cookie not extends) -if (( isset ($_SESSION["login"]) && ($_SESSION["login"] == 1)) || (isset ($_COOKIE[$CookieSaveLoginName]) && $nax_Password == $_COOKIE[$CookieSaveLoginName])) +if (( isset ($_SESSION["login"]) && ($_SESSION["login"] == 1)) || (isset ($_COOKIE[$CookieSaveLoginName]) && $nax_Password === $_COOKIE[$CookieSaveLoginName])) { header('Location: devices.php'); $_SESSION["login"] = 1; @@ -53,7 +53,7 @@ $login_icon = 'fa-info'; // no active session, cookie not checked if (isset ($_SESSION["login"]) == FALSE || $_SESSION["login"] != 1) { - if ($nax_Password == '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92') + if ($nax_Password === '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92') { $login_info = lang('Login_Default_PWD'); $login_mode = 'danger'; diff --git a/front/php/templates/auth.php b/front/php/templates/auth.php index 5cc39789..67010e67 100755 --- a/front/php/templates/auth.php +++ b/front/php/templates/auth.php @@ -21,7 +21,7 @@ $config_file_lines = array_values(preg_grep('/^SETPWD_password.*=/', $config_fil $password_line = explode("'", $config_file_lines[0]); $nax_Password = $password_line[1]; -if (isset($_COOKIE[$CookieSaveLoginName]) && $nax_Password == $_COOKIE[$CookieSaveLoginName]) { +if (isset($_COOKIE[$CookieSaveLoginName]) && $nax_Password === $_COOKIE[$CookieSaveLoginName]) { $isAuthenticated = true; } diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json old mode 100644 new mode 100755 diff --git a/front/php/templates/security.php b/front/php/templates/security.php index 4a2518b3..e140eeaa 100755 --- a/front/php/templates/security.php +++ b/front/php/templates/security.php @@ -71,7 +71,7 @@ if ($nax_WebProtection == 'true') { $isLoggedIn = isset($_SESSION['login']) && $_SESSION['login'] == 1; // Determine if the user should be redirected - if ($isLoggedIn || $isLogonPage || (isset($_COOKIE[COOKIE_SAVE_LOGIN_NAME]) && $nax_Password == $_COOKIE[COOKIE_SAVE_LOGIN_NAME])) { + if ($isLoggedIn || $isLogonPage || (isset($_COOKIE[COOKIE_SAVE_LOGIN_NAME]) && $nax_Password === $_COOKIE[COOKIE_SAVE_LOGIN_NAME])) { // Logged in or stay on this page if we are on the index.php already } else { // We need to redirect diff --git a/front/plugins/omada_sdn_imp/README.md b/front/plugins/omada_sdn_imp/README.md index 90c29ac8..e21a1d34 100755 --- a/front/plugins/omada_sdn_imp/README.md +++ b/front/plugins/omada_sdn_imp/README.md @@ -1,5 +1,8 @@ ## Overview +> [!WARNING] +> UNMAINTAINED - Looking for maintainers. If possible, use the `OMDSDNOPENAPI` instead. + The OMADA SDN plugin aims at synchronizing data between NetAlertX and a TPLINK OMADA SND controler by leveraging a tplink omada python library. #### Features diff --git a/server/initialise.py b/server/initialise.py index fe8569d4..fac42004 100755 --- a/server/initialise.py +++ b/server/initialise.py @@ -163,7 +163,7 @@ def importConfigs (db, all_plugins): conf.LOG_LEVEL = ccd('LOG_LEVEL', 'verbose' , c_d, 'Log verboseness', '{"dataType":"string", "elements": [{"elementType" : "select", "elementOptions" : [] ,"transformers": []}]}', "['none', 'minimal', 'verbose', 'debug', 'trace']", 'General') conf.TIMEZONE = ccd('TIMEZONE', default_tz , c_d, 'Time zone', '{"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]}', '[]', 'General') conf.PLUGINS_KEEP_HIST = ccd('PLUGINS_KEEP_HIST', 250 , c_d, 'Keep history entries', '{"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]}', '[]', 'General') - conf.REPORT_DASHBOARD_URL = ccd('REPORT_DASHBOARD_URL', 'http://netalertx/' , c_d, 'NetAlertX URL', '{"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]}', '[]', 'General') + conf.REPORT_DASHBOARD_URL = ccd('REPORT_DASHBOARD_URL', 'http://127.0.0.1/' , c_d, 'NetAlertX URL', '{"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]}', '[]', 'General') conf.DAYS_TO_KEEP_EVENTS = ccd('DAYS_TO_KEEP_EVENTS', 90 , c_d, 'Delete events days', '{"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]}', '[]', 'General') conf.HRS_TO_KEEP_NEWDEV = ccd('HRS_TO_KEEP_NEWDEV', 0 , c_d, 'Keep new devices for', '{"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]}', "[]", 'General') conf.HRS_TO_KEEP_OFFDEV = ccd('HRS_TO_KEEP_OFFDEV', 0 , c_d, 'Keep offline devices for', '{"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]}', "[]", 'General') From 5dcfb37c4b3ad43830a4c7982a46220ce86ae46c Mon Sep 17 00:00:00 2001 From: yunyi35 <499326551@qq.com> Date: Fri, 30 May 2025 09:10:03 +0200 Subject: [PATCH 088/667] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 84.1% (625 of 743 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/zh_Hans/ --- front/php/templates/language/zh_cn.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) mode change 100755 => 100644 front/php/templates/language/zh_cn.json diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json old mode 100755 new mode 100644 index ee9e2da4..bc14655d --- a/front/php/templates/language/zh_cn.json +++ b/front/php/templates/language/zh_cn.json @@ -59,16 +59,16 @@ "BackDevices_Restore_okay": "已成功恢复。", "BackDevices_darkmode_disabled": "暗黑模式已禁用", "BackDevices_darkmode_enabled": "已启用暗黑模式", - "CLEAR_NEW_FLAG_description": "", - "CLEAR_NEW_FLAG_name": "", - "CustProps_cant_remove": "", + "CLEAR_NEW_FLAG_description": "若启用( 0 为禁用),当设备 首次会话 时间超出设定时限(以小时计)时,其 New Device 标记将自动取消。", + "CLEAR_NEW_FLAG_name": "清除新标记", + "CustProps_cant_remove": "无法移除,至少需要保留一个属性。", "DAYS_TO_KEEP_EVENTS_description": "这是维护设置。它指定将保留的事件条目的天数。所有较旧的事件将被定期删除。也适用于插件事件历史记录。", "DAYS_TO_KEEP_EVENTS_name": "删除早于", - "DISCOVER_PLUGINS_description": "", + "DISCOVER_PLUGINS_description": "禁用此选项可加快初始化和设置保存的速度。当禁用时,插件不会被发现,并且您无法将新插件添加到 LOADED_PLUGINS设置中。", "DISCOVER_PLUGINS_name": "", "DevDetail_Copy_Device_Title": " 从设备复制详细信息", "DevDetail_Copy_Device_Tooltip": "从下拉列表中复制设备的详细信息。此页面上的所有内容都将被覆盖", - "DevDetail_CustomProperties_Title": "", + "DevDetail_CustomProperties_Title": "自定义属性", "DevDetail_CustomProps_reset_info": "", "DevDetail_DisplayFields_Title": "", "DevDetail_EveandAl_AlertAllEvents": "提醒所有事件", From 692070de21e936d1b207d5ae5e4e6da8f4e478a7 Mon Sep 17 00:00:00 2001 From: johnwang16 Date: Sat, 31 May 2025 14:19:57 -0400 Subject: [PATCH 089/667] use relative paths for reverse proxy --- front/js/handle_version.js | 4 ++-- front/php/components/graph_online_history.php | 4 ++-- front/php/templates/header.php | 2 +- front/settings.php | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/front/js/handle_version.js b/front/js/handle_version.js index 07e1f7f2..01b3eb60 100755 --- a/front/js/handle_version.js +++ b/front/js/handle_version.js @@ -33,7 +33,7 @@ function versionUpdateUI(){ // Checks if a new version is available via the global app_state.json function checkIfNewVersionAvailable() { - $.get('/php/server/query_json.php', { file: 'app_state.json', nocache: Date.now() }, function(appState) { + $.get('php/server/query_json.php', { file: 'app_state.json', nocache: Date.now() }, function(appState) { // console.log(appState["isNewVersionChecked"]) // console.log(appState["isNewVersion"]) @@ -48,4 +48,4 @@ function checkIfNewVersionAvailable() } // handle the dispaly of the NEW icon -checkIfNewVersionAvailable() \ No newline at end of file +checkIfNewVersionAvailable() diff --git a/front/php/components/graph_online_history.php b/front/php/components/graph_online_history.php index cc600976..2f48988a 100755 --- a/front/php/components/graph_online_history.php +++ b/front/php/components/graph_online_history.php @@ -18,7 +18,7 @@ function initOnlineHistoryGraph() { - $.get('/php/server/query_json.php', { file: 'table_online_history.json', nocache: Date.now() }, function(res) { + $.get('php/server/query_json.php', { file: 'table_online_history.json', nocache: Date.now() }, function(res) { // Extracting data from the JSON response var timeStamps = []; var onlineCounts = []; @@ -53,4 +53,4 @@ function initOnlineHistoryGraph() { - \ No newline at end of file + diff --git a/front/php/templates/header.php b/front/php/templates/header.php index 6a79fa86..184de9a3 100755 --- a/front/php/templates/header.php +++ b/front/php/templates/header.php @@ -105,7 +105,7 @@ // ------------------------------------------------------------- // Updates the backend application state/status in the header function updateState(){ - $.get('/php/server/query_json.php', { file: 'app_state.json', nocache: Date.now() }, function(appState) { + $.get('php/server/query_json.php', { file: 'app_state.json', nocache: Date.now() }, function(appState) { document.getElementById('state').innerHTML = appState["currentState"].replaceAll('"', ''); diff --git a/front/settings.php b/front/settings.php index f29baa88..9784d701 100755 --- a/front/settings.php +++ b/front/settings.php @@ -206,7 +206,7 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX }, 3000); } else { - $.get('/php/server/query_json.php', { file: 'plugins.json', nocache: Date.now() }, function(res) { + $.get('php/server/query_json.php', { file: 'plugins.json', nocache: Date.now() }, function(res) { pluginsData = res["data"]; @@ -550,7 +550,7 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX // collect values for each of the different input form controls // get settings to determine setting type to store values appropriately - $.get('/php/server/query_json.php', { file: 'table_settings.json', nocache: Date.now() }, function(res) { + $.get('php/server/query_json.php', { file: 'table_settings.json', nocache: Date.now() }, function(res) { // loop through the settings definitions from the json res["data"].forEach(set => { @@ -740,7 +740,7 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX } else { // check if config file has been updated - $.get('/php/server/query_json.php', { file: 'app_state.json', nocache: Date.now() }, function(appState) { + $.get('php/server/query_json.php', { file: 'app_state.json', nocache: Date.now() }, function(appState) { console.log("Settings: Got app_state.json"); From f4a37178590b999f8b9264214ee435057e228c6d Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 1 Jun 2025 13:59:54 +1000 Subject: [PATCH 090/667] FQDN, Dig refactor, docs #1065 --- back/app.conf | 2 +- back/app.db | Bin 180224 -> 192512 bytes back/app_clean.db | Bin 0 -> 192512 bytes back/app_old.db | Bin 0 -> 180224 bytes docs/DATABASE.md | 1 + docs/NAME_RESOLUTION.md | 1 + docs/PLUGINS.md | 1 + front/deviceDetailsEdit.php | 24 +- front/devices.php | 9 +- front/php/server/devices.php | 3 +- front/php/server/util.php | 3 +- front/php/templates/language/ar_ar.json | 3 + front/php/templates/language/ca_ca.json | 5 +- front/php/templates/language/cs_cz.json | 5 +- front/php/templates/language/de_de.json | 5 +- front/php/templates/language/en_us.json | 3 + front/php/templates/language/es_es.json | 5 +- front/php/templates/language/fr_fr.json | 5 +- front/php/templates/language/it_it.json | 5 +- front/php/templates/language/nb_no.json | 3 + front/php/templates/language/pl_pl.json | 3 + front/php/templates/language/pt_br.json | 5 +- front/php/templates/language/ru_ru.json | 5 +- front/php/templates/language/tr_tr.json | 5 +- front/php/templates/language/uk_ua.json | 5 +- front/php/templates/language/zh_cn.json | 5 +- front/plugins/_publisher_apprise/README.md | 28 + .../_publisher_apprise/apprise_telegram.png | Bin 0 -> 142275 bytes front/plugins/avahi_scan/avahi_scan.py | 15 +- front/plugins/dig_scan/README.md | 7 + front/plugins/dig_scan/config.json | 385 +++++++++++++ front/plugins/dig_scan/digscan.py | 133 +++++ front/plugins/nbtscan_scan/config.json | 2 +- front/plugins/nbtscan_scan/nbtscan.py | 9 +- front/plugins/newdev_template/config.json | 36 ++ front/plugins/nslookup_scan/nslookup.py | 12 +- front/plugins/ui_settings/config.json | 3 +- front/workflowsCore.php | 2 +- scripts/db_empty/README.md | 19 + scripts/db_empty/db_empty.py | 26 + server/__main__.py | 2 +- server/const.py | 1 + server/database.py | 524 +----------------- server/graphql_server/graphql_schema.py | 3 +- server/helper.py | 206 +------ server/initialise.py | 41 +- server/scan/device_handling.py | 156 +++--- server/scan/name_resolution.py | 83 +++ server/workflows/app_events.py | 2 +- test/test_helper.py | 9 +- 50 files changed, 941 insertions(+), 874 deletions(-) create mode 100755 back/app_clean.db create mode 100755 back/app_old.db create mode 100755 front/plugins/_publisher_apprise/apprise_telegram.png create mode 100755 front/plugins/dig_scan/README.md create mode 100755 front/plugins/dig_scan/config.json create mode 100755 front/plugins/dig_scan/digscan.py create mode 100755 scripts/db_empty/README.md create mode 100755 scripts/db_empty/db_empty.py create mode 100755 server/scan/name_resolution.py diff --git a/back/app.conf b/back/app.conf index bb53a13e..b00fa6f2 100755 --- a/back/app.conf +++ b/back/app.conf @@ -20,7 +20,7 @@ DISCOVER_PLUGINS=True SCAN_SUBNETS=['192.168.1.0/24 --interface=eth0'] TIMEZONE='Europe/Berlin' -LOADED_PLUGINS=['ARPSCAN','CSVBCKP','DBCLNP', 'INTRNT','MAINT','NEWDEV','NSLOOKUP','NTFPRCS', 'AVAHISCAN', 'SETPWD','SMTP', 'SYNC', 'VNDRPDT', 'WORKFLOWS', 'UI'] +LOADED_PLUGINS=['ARPSCAN','CSVBCKP','DBCLNP', 'DIGSCAN', 'INTRNT','MAINT','NEWDEV', 'NBTSCAN', 'NSLOOKUP','NTFPRCS', 'AVAHISCAN', 'SETPWD','SMTP', 'SYNC', 'VNDRPDT', 'WORKFLOWS', 'UI'] DAYS_TO_KEEP_EVENTS=90 # Used for generating links in emails. Make sure not to add a trailing slash! diff --git a/back/app.db b/back/app.db index ff4e27315457b56f048e1ce792b7f6e37591bc93..a0bdc92c4e454027951a4569da85c77d8db248e1 100755 GIT binary patch literal 192512 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 literal 180224 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 diff --git a/back/app_clean.db b/back/app_clean.db new file mode 100755 index 0000000000000000000000000000000000000000..a0bdc92c4e454027951a4569da85c77d8db248e1 GIT binary patch literal 192512 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 literal 0 HcmV?d00001 diff --git a/back/app_old.db b/back/app_old.db new file mode 100755 index 0000000000000000000000000000000000000000..ff4e27315457b56f048e1ce792b7f6e37591bc93 GIT binary patch literal 180224 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 literal 0 HcmV?d00001 diff --git a/docs/DATABASE.md b/docs/DATABASE.md index e55f4303..fb1eb43b 100755 --- a/docs/DATABASE.md +++ b/docs/DATABASE.md @@ -38,6 +38,7 @@ | `devSyncHubNode` | The NetAlertX node ID used for synchronization between NetAlertX instances. | `node_1` | | `devSourcePlugin` | Source plugin that discovered the device. | `ARPSCAN` | | `devCustomProps` | [Custom properties](./CUSTOM_PROPERTIES.md) related to the device. The value is a base64-encoded JSON object. | `PHN2ZyB...` | +| `devFQDN` | Fully qualified domain name. | `raspberrypi.local` | To understand how values of these fields influuence application behavior, such as Notifications or Network topology, see also: diff --git a/docs/NAME_RESOLUTION.md b/docs/NAME_RESOLUTION.md index dd8a5fec..0f788703 100755 --- a/docs/NAME_RESOLUTION.md +++ b/docs/NAME_RESOLUTION.md @@ -9,6 +9,7 @@ For best results, ensure the following name resolution plugins are enabled: - **AVAHISCAN** – Uses mDNS/Avahi to resolve local network names. - **NBTSCAN** – Queries NetBIOS to find device names. - **NSLOOKUP** – Performs standard DNS lookups. +- **DIGSCAN** – Performs Name Resolution with the Dig utility (DNS). You can check which plugins are active in your _Settings_ section and enable any that are missing. diff --git a/docs/PLUGINS.md b/docs/PLUGINS.md index 7700a8ca..fd02fa37 100755 --- a/docs/PLUGINS.md +++ b/docs/PLUGINS.md @@ -56,6 +56,7 @@ Device-detecting plugins insert values into the `CurrentScan` database table. T | `DDNS` | ⚙ | DDNS update | | | Script | [ddns_update](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/ddns_update/) | | `DHCPLSS` | 🔍/📥/🆎| Import devices from DHCP leases | | | Script | [dhcp_leases](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dhcp_leases/) | | `DHCPSRVS` | ♻ | DHCP servers | | | Script | [dhcp_servers](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dhcp_servers/) | +| `DIGSCAN` | 🆎 | Dig (DNS) Name resolution | | | Script | [dig_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dig_scan/) | | `FREEBOX` | 🔍/♻/🆎| Pull data and names from Freebox/Iliadbox | | | Script | [freebox](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/freebox/) | | `ICMP` | ♻ | ICMP (ping) status checker | | | Script | [icmp_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/icmp_scan/) | | `INTRNT` | 🔍 | Internet IP scanner | | | Script | [internet_ip](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/internet_ip/) | diff --git a/front/deviceDetailsEdit.php b/front/deviceDetailsEdit.php index 73cf4136..12f598d4 100755 --- a/front/deviceDetailsEdit.php +++ b/front/deviceDetailsEdit.php @@ -69,8 +69,8 @@ // columns to hide hiddenFields = ["NEWDEV_devScan", "NEWDEV_devPresentLastScan" ] - // columns to disable - conditional depending if a new dummy device is created - disabledFields = mac == "new" ? ["NEWDEV_devLastNotification", "NEWDEV_devFirstConnection", "NEWDEV_devLastConnection"] : ["NEWDEV_devLastNotification", "NEWDEV_devFirstConnection", "NEWDEV_devLastConnection", "NEWDEV_devMac", "NEWDEV_devLastIP", "NEWDEV_devSyncHubNode" ]; + // columns to disable/readonly - conditional depending if a new dummy device is created + disabledFields = mac == "new" ? ["NEWDEV_devLastNotification", "NEWDEV_devFirstConnection", "NEWDEV_devLastConnection"] : ["NEWDEV_devLastNotification", "NEWDEV_devFirstConnection", "NEWDEV_devLastConnection", "NEWDEV_devMac", "NEWDEV_devLastIP", "NEWDEV_devSyncHubNode", "NEWDEV_devFQDN" ]; // Grouping of fields into categories with associated documentation links const fieldGroups = { @@ -82,16 +82,7 @@ inputGroupClasses: "field-group main-group col-lg-4 col-sm-6 col-xs-12", labelClasses: "col-sm-4 col-xs-12 control-label", inputClasses: "col-sm-8 col-xs-12 input-group" - }, - // Group for session information - DevDetail_SessionInfo_Title: { - data: ["devStatus", "devLastConnection", "devFirstConnection"], - docs: "https://github.com/jokob-sk/NetAlertX/blob/main/docs/SESSION_INFO.md", - iconClass: "fa fa-calendar", - inputGroupClasses: "field-group session-group col-lg-4 col-sm-6 col-xs-12", - labelClasses: "col-sm-4 col-xs-12 control-label", - inputClasses: "col-sm-8 col-xs-12 input-group" - }, + }, // Group for event and alert settings DevDetail_EveandAl_Title: { data: ["devAlertEvents", "devAlertDown", "devSkipRepeated"], @@ -119,6 +110,15 @@ labelClasses: "col-sm-4 col-xs-12 control-label", inputClasses: "col-sm-8 col-xs-12 input-group" }, + // Group for session information + DevDetail_SessionInfo_Title: { + data: ["devStatus", "devLastConnection", "devFirstConnection", "devFQDN"], + docs: "https://github.com/jokob-sk/NetAlertX/blob/main/docs/SESSION_INFO.md", + iconClass: "fa fa-calendar", + inputGroupClasses: "field-group session-group col-lg-4 col-sm-6 col-xs-12", + labelClasses: "col-sm-4 col-xs-12 control-label", + inputClasses: "col-sm-8 col-xs-12 input-group" + }, // Group for Custom properties. DevDetail_CustomProperties_Title: { data: ["devCustomProps"], diff --git a/front/devices.php b/front/devices.php index a7b07aa7..e4c917c6 100755 --- a/front/devices.php +++ b/front/devices.php @@ -538,7 +538,8 @@ function mapColumnIndexToFieldName(index, tableColumnVisible) { "devSourcePlugin", "devPresentLastScan", "devAlertDown", - "devCustomProps" + "devCustomProps", + "devFQDN" ]; // console.log("OrderBy: " + columnNames[tableColumnOrder[index]]); @@ -648,6 +649,7 @@ function initializeDatatable (status) { devParentChildrenCount devIpLong devCustomProps + devFQDN } count } @@ -722,7 +724,8 @@ function initializeDatatable (status) { device.devSourcePlugin || "", device.devPresentLastScan || "", device.devAlertDown || "", - device.devCustomProps || "" + device.devCustomProps || "", + device.devFQDN || "" ]; const newRow = []; @@ -760,7 +763,7 @@ function initializeDatatable (status) { {visible: false, targets: tableColumnHide }, {className: 'text-center', targets: [mapIndx(4), mapIndx(9), mapIndx(10), mapIndx(15), mapIndx(18)] }, {className: 'iconColumn text-center', targets: [mapIndx(3)]}, - {width: '80px', targets: [mapIndx(6), mapIndx(7), mapIndx(15)] }, + {width: '80px', targets: [mapIndx(6), mapIndx(7), mapIndx(15), mapIndx(27)] }, {width: '85px', targets: [mapIndx(9)] }, {width: '30px', targets: [mapIndx(3), mapIndx(10), mapIndx(13), mapIndx(18)] }, {orderData: [mapIndx(12)], targets: mapIndx(8) }, diff --git a/front/php/server/devices.php b/front/php/server/devices.php index 193aa507..78f9bd80 100755 --- a/front/php/server/devices.php +++ b/front/php/server/devices.php @@ -112,7 +112,8 @@ function getServerDeviceData() { "devSessions" => 0, "devEvents" => 0, "devDownAlerts" => 0, - "devPresenceHours" => 0 + "devPresenceHours" => 0, + "devFQDN" => "" ]; echo json_encode($deviceData); return; diff --git a/front/php/server/util.php b/front/php/server/util.php index 84c23107..9e6d0b95 100755 --- a/front/php/server/util.php +++ b/front/php/server/util.php @@ -586,7 +586,8 @@ function getDevicesColumns(){ "devSite", "devSSID", "devSourcePlugin", - "devCustomProps" + "devCustomProps", + "devFQDN" ]; return $columns; diff --git a/front/php/templates/language/ar_ar.json b/front/php/templates/language/ar_ar.json index 8778a302..ee9e50fb 100755 --- a/front/php/templates/language/ar_ar.json +++ b/front/php/templates/language/ar_ar.json @@ -211,6 +211,7 @@ "Device_TableHead_AlertDown": "", "Device_TableHead_Connected_Devices": "", "Device_TableHead_CustomProps": "", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "", "Device_TableHead_FirstSession": "", "Device_TableHead_GUID": "", @@ -559,6 +560,8 @@ "Presence_Shortcut_Favorites": "", "Presence_Shortcut_NewDevices": "", "Presence_Title": "", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_DASHBOARD_URL_description": "", "REPORT_DASHBOARD_URL_name": "", "REPORT_ERROR": "", diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json index 8448e3e3..ce06f848 100755 --- a/front/php/templates/language/ca_ca.json +++ b/front/php/templates/language/ca_ca.json @@ -211,6 +211,7 @@ "Device_TableHead_AlertDown": "Cancel·lar alerta", "Device_TableHead_Connected_Devices": "Connexions", "Device_TableHead_CustomProps": "Props / Accions", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "Favorit", "Device_TableHead_FirstSession": "Primera Sessió", "Device_TableHead_GUID": "GUID", @@ -559,6 +560,8 @@ "Presence_Shortcut_Favorites": "Favorits", "Presence_Shortcut_NewDevices": "Nous dispositius", "Presence_Title": "Detecció de dispositius", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_DASHBOARD_URL_description": "Aquesta URL s'utilitza com a base per generar enllaços en informes HTML (per exemple: correus electrònics). Introduïu la URL completa començant per http:// incloent el número de port (sense barra inicial /).", "REPORT_DASHBOARD_URL_name": "URL NetAlertX", "REPORT_ERROR": "Si us plau, introdueix dins de la caixa de text els caràcters que veu a la imatge de sota. Això és requerit per evitar enviaments automàtics", @@ -742,4 +745,4 @@ "settings_update_item_warning": "Actualitza el valor sota. Sigues curós de seguir el format anterior. No hi ha validació.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Deseu els canvis primer abans de comprovar la configuració." -} +} \ No newline at end of file diff --git a/front/php/templates/language/cs_cz.json b/front/php/templates/language/cs_cz.json index 6efe2900..45d215b6 100755 --- a/front/php/templates/language/cs_cz.json +++ b/front/php/templates/language/cs_cz.json @@ -211,6 +211,7 @@ "Device_TableHead_AlertDown": "", "Device_TableHead_Connected_Devices": "", "Device_TableHead_CustomProps": "", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "", "Device_TableHead_FirstSession": "", "Device_TableHead_GUID": "", @@ -559,6 +560,8 @@ "Presence_Shortcut_Favorites": "", "Presence_Shortcut_NewDevices": "", "Presence_Title": "", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_DASHBOARD_URL_description": "", "REPORT_DASHBOARD_URL_name": "", "REPORT_ERROR": "", @@ -742,4 +745,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "" -} +} \ No newline at end of file diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json index 44366f7e..46c7cdfc 100755 --- a/front/php/templates/language/de_de.json +++ b/front/php/templates/language/de_de.json @@ -223,6 +223,7 @@ "Device_TableHead_AlertDown": "Alarm aus", "Device_TableHead_Connected_Devices": "Verbindungen", "Device_TableHead_CustomProps": "Eigenschaften / Aktionen", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "Favorit", "Device_TableHead_FirstSession": "Erste Sitzung", "Device_TableHead_GUID": "GUID", @@ -600,6 +601,8 @@ "Presence_Shortcut_Favorites": "Favoriten", "Presence_Shortcut_NewDevices": "Neue Geräte", "Presence_Title": "Anwesenheit pro Gerät", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_APPRISE_description": "Enable sending notifications via Apprise.", "REPORT_APPRISE_name": "Enable Apprise", "REPORT_DASHBOARD_URL_description": "Diese URL wird als Basis fürs Erstellen von Links in E-Mails genutzt. Geben Sie die gesamte URL startend mit http:// inklusive der genutzten Portnummer ein (keinen nachfolgenden Schrägstrich / nutzen).", @@ -823,4 +826,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "Speichere die Änderungen, bevor Sie die Einstellungen testen." -} +} \ No newline at end of file diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json index d6a4d584..2bf27aee 100755 --- a/front/php/templates/language/en_us.json +++ b/front/php/templates/language/en_us.json @@ -211,6 +211,7 @@ "Device_TableHead_AlertDown": "Alert Down", "Device_TableHead_Connected_Devices": "Connections", "Device_TableHead_CustomProps": "Props / Actions", + "Device_TableHead_FQDN": "FQDN", "Device_TableHead_Favorite": "Favorite", "Device_TableHead_FirstSession": "First Session", "Device_TableHead_GUID": "GUID", @@ -559,6 +560,8 @@ "Presence_Shortcut_Favorites": "Favorites", "Presence_Shortcut_NewDevices": "New Devices", "Presence_Title": "Presence by Device", + "REFRESH_FQDN_description": "Rescans all devices and refreshes their Fully Qualified Domain Name (FQDN). If disabled, only devices without a known name are scanned to improve performance. In this case, FQDN is updated only during initial device discovery.", + "REFRESH_FQDN_name": "Refresh FQDN", "REPORT_DASHBOARD_URL_description": "This URL is used as the base for generating links in HTML reports (e.g.: emails). Enter full URL starting with http:// including the port number (no trailing slash /).", "REPORT_DASHBOARD_URL_name": "NetAlertX URL", "REPORT_ERROR": "The page you are looking for is temporarily unavailable, please try again after a few seconds", diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json index 12fdb74f..f8c980c1 100755 --- a/front/php/templates/language/es_es.json +++ b/front/php/templates/language/es_es.json @@ -221,6 +221,7 @@ "Device_TableHead_AlertDown": "Alerta desactivada", "Device_TableHead_Connected_Devices": "Conexiones", "Device_TableHead_CustomProps": "Propiedades / Acciones", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "Favorito", "Device_TableHead_FirstSession": "1ra. sesión", "Device_TableHead_GUID": "GUID", @@ -598,6 +599,8 @@ "Presence_Shortcut_Favorites": "Favorito(s)", "Presence_Shortcut_NewDevices": "Nuevo(s)", "Presence_Title": "Historial por dispositivo", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_APPRISE_description": "Habilitar el envío de notificaciones a través de Apprise.", "REPORT_APPRISE_name": "Habilitar Apprise", "REPORT_DASHBOARD_URL_description": "Esta URL se utiliza como base para generar enlaces en los correos electrónicos. Ingrese la URL completa que comienza con http://, incluido el número de puerto (sin barra inclinada al final /).", @@ -821,4 +824,4 @@ "settings_update_item_warning": "Actualice el valor a continuación. Tenga cuidado de seguir el formato anterior. O la validación no se realiza.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Guarda tus cambios antes de probar nuevos ajustes." -} +} \ No newline at end of file diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json index d6acf8c9..e64cb380 100755 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -211,6 +211,7 @@ "Device_TableHead_AlertDown": "Alerter si En panne", "Device_TableHead_Connected_Devices": "Connexions", "Device_TableHead_CustomProps": "Champs / Actions", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "Favori", "Device_TableHead_FirstSession": "Première session", "Device_TableHead_GUID": "GUID", @@ -559,6 +560,8 @@ "Presence_Shortcut_Favorites": "Favoris", "Presence_Shortcut_NewDevices": "Nouveaux appareils", "Presence_Title": "Présence par appareil", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_DASHBOARD_URL_description": "Cette URL est utilisée comme base pour générer les liens des rapports HTML (par ex. les courriels). Renseignez l'adresse complète, commençant par http:// et incluznt le numero de port (sans slash / à la fin).", "REPORT_DASHBOARD_URL_name": "URL de NetAlertX", "REPORT_ERROR": "La page que vous cherchez est temporairement indisponible. Merci de réessayer dans quelques secondes", @@ -742,4 +745,4 @@ "settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. Il n'y a pas de pas de contrôle.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage." -} +} \ No newline at end of file diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json index 68995994..d7d82050 100755 --- a/front/php/templates/language/it_it.json +++ b/front/php/templates/language/it_it.json @@ -211,6 +211,7 @@ "Device_TableHead_AlertDown": "Avviso disconnessione", "Device_TableHead_Connected_Devices": "Connessioni", "Device_TableHead_CustomProps": "Proprietà/Azioni", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "Preferito", "Device_TableHead_FirstSession": "Prima sessione", "Device_TableHead_GUID": "GUID", @@ -559,6 +560,8 @@ "Presence_Shortcut_Favorites": "Preferiti", "Presence_Shortcut_NewDevices": "Nuovi dispositivi", "Presence_Title": "Presenza per dispositivo", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_DASHBOARD_URL_description": "Questo URL viene utilizzato come base per generare collegamenti nei report HTML (ad esempio: e-mail). Inserisci l'URL completo che inizia con http:// incluso il numero di porta (nessuna barra finale /).", "REPORT_DASHBOARD_URL_name": "URL NetAlertX", "REPORT_ERROR": "La pagina che stai cercando è momentaneamente non disponibile, riprova tra qualche secondo", @@ -742,4 +745,4 @@ "settings_update_item_warning": "Aggiorna il valore qui sotto. Fai attenzione a seguire il formato precedente. La convalida non viene eseguita.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Salva le modifiche prima di provare le nuove impostazioni." -} +} \ No newline at end of file diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json index 3b4eaa6f..1421c0e5 100755 --- a/front/php/templates/language/nb_no.json +++ b/front/php/templates/language/nb_no.json @@ -211,6 +211,7 @@ "Device_TableHead_AlertDown": "", "Device_TableHead_Connected_Devices": "Tilkoblinger", "Device_TableHead_CustomProps": "", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "Favoritt", "Device_TableHead_FirstSession": "Første Økt", "Device_TableHead_GUID": "GUID", @@ -559,6 +560,8 @@ "Presence_Shortcut_Favorites": "Favoritter", "Presence_Shortcut_NewDevices": "Nye enheter", "Presence_Title": "Tilstedeværelse etter enhet", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_DASHBOARD_URL_description": "Denne URL-en brukes som base for å generere lenker i HTML-rapporter (f.eks.: E -post). Skriv inn full URL som starter med http:// inkludert portnummeret (ingen etterfølgende slash /).", "REPORT_DASHBOARD_URL_name": "NetAlertX URL", "REPORT_ERROR": "Siden du leter etter er midlertidig utilgjengelig, prøv igjen etter noen sekunder", diff --git a/front/php/templates/language/pl_pl.json b/front/php/templates/language/pl_pl.json index 6c0376df..8e667608 100755 --- a/front/php/templates/language/pl_pl.json +++ b/front/php/templates/language/pl_pl.json @@ -211,6 +211,7 @@ "Device_TableHead_AlertDown": "", "Device_TableHead_Connected_Devices": "Połączenia", "Device_TableHead_CustomProps": "", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "Ulubione", "Device_TableHead_FirstSession": "Pierwsza Sesja", "Device_TableHead_GUID": "GUID", @@ -559,6 +560,8 @@ "Presence_Shortcut_Favorites": "Ulubione", "Presence_Shortcut_NewDevices": "Nowe Urządzenia", "Presence_Title": "Obecność Urządzenia", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_DASHBOARD_URL_description": "Link jest używany jako podstawa do generowania linków dla zgłoszeń HTML (np. e-maile). Wprowadź pełen adres zaczynając od http:// oraz dodając numer portu (bez zakańczania ukośnikiem /).", "REPORT_DASHBOARD_URL_name": "Link NetAlertX", "REPORT_ERROR": "Strona której szukasz jest tymczasowo niedostępna, spróbuj ponownie za kilka sekund", diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json index 8366a56d..b7d9a72e 100755 --- a/front/php/templates/language/pt_br.json +++ b/front/php/templates/language/pt_br.json @@ -211,6 +211,7 @@ "Device_TableHead_AlertDown": "Alerta em baixo", "Device_TableHead_Connected_Devices": "Conexões", "Device_TableHead_CustomProps": "", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "Favorito", "Device_TableHead_FirstSession": "Primeira sessão", "Device_TableHead_GUID": "GUID", @@ -559,6 +560,8 @@ "Presence_Shortcut_Favorites": "", "Presence_Shortcut_NewDevices": "", "Presence_Title": "", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_DASHBOARD_URL_description": "", "REPORT_DASHBOARD_URL_name": "", "REPORT_ERROR": "", @@ -742,4 +745,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "Guarde as alterações antes de testar as definições." -} +} \ No newline at end of file diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json index 006f60ec..14052e80 100755 --- a/front/php/templates/language/ru_ru.json +++ b/front/php/templates/language/ru_ru.json @@ -211,6 +211,7 @@ "Device_TableHead_AlertDown": "Оповещение о сост. ВЫКЛ", "Device_TableHead_Connected_Devices": "Соединения", "Device_TableHead_CustomProps": "Свойства / Действия", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "Избранное", "Device_TableHead_FirstSession": "Первый сеанс", "Device_TableHead_GUID": "GUID", @@ -559,6 +560,8 @@ "Presence_Shortcut_Favorites": "Избранные", "Presence_Shortcut_NewDevices": "Новые устройства", "Presence_Title": "Присутствие по устройству", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_DASHBOARD_URL_description": "Этот URL-адрес используется в качестве основы для создания ссылок в отчетах HTML (например, в электронных письмах). Введите полный URL-адрес, начинающийся с http://, включая номер порта (без косой черты /).", "REPORT_DASHBOARD_URL_name": "NetAlertX URL", "REPORT_ERROR": "Страница, которую вы ищете, временно недоступна, повторите попытку через несколько секунд", @@ -742,4 +745,4 @@ "settings_update_item_warning": "Обновить значение ниже. Будьте осторожны, следуя предыдущему формату. Проверка не выполняется.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Сначала сохраните изменения, прежде чем проверять настройки." -} +} \ No newline at end of file diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json index a29a9d75..b9424fdd 100755 --- a/front/php/templates/language/tr_tr.json +++ b/front/php/templates/language/tr_tr.json @@ -211,6 +211,7 @@ "Device_TableHead_AlertDown": "Çalışmama Alarmı", "Device_TableHead_Connected_Devices": "Bağlantılar", "Device_TableHead_CustomProps": "Özellikler / Eylemler", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "Favori", "Device_TableHead_FirstSession": "İlk Oturum", "Device_TableHead_GUID": "GUID", @@ -559,6 +560,8 @@ "Presence_Shortcut_Favorites": "Favoriler", "Presence_Shortcut_NewDevices": "Yeni Cihazlar", "Presence_Title": "", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_DASHBOARD_URL_description": "", "REPORT_DASHBOARD_URL_name": "", "REPORT_ERROR": "", @@ -742,4 +745,4 @@ "settings_update_item_warning": "", "test_event_icon": "", "test_event_tooltip": "" -} +} \ No newline at end of file diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json index e2dd3cef..0a4f5741 100755 --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -211,6 +211,7 @@ "Device_TableHead_AlertDown": "Сповіщення вниз", "Device_TableHead_Connected_Devices": "Зв'язки", "Device_TableHead_CustomProps": "Реквізит / дії", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "улюблений", "Device_TableHead_FirstSession": "Перша сесія", "Device_TableHead_GUID": "GUID", @@ -559,6 +560,8 @@ "Presence_Shortcut_Favorites": "Вибране", "Presence_Shortcut_NewDevices": "Нові пристрої", "Presence_Title": "Присутність за пристроєм", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_DASHBOARD_URL_description": "Ця URL-адреса використовується як основа для створення посилань у звітах HTML (наприклад, електронних листах). Введіть повну URL-адресу, починаючи з http://, включаючи номер порту (без скісної риски /).", "REPORT_DASHBOARD_URL_name": "URL-адреса NetAlertX", "REPORT_ERROR": "Сторінка, яку ви шукаєте, тимчасово недоступна, спробуйте ще раз через кілька секунд", @@ -742,4 +745,4 @@ "settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. Перевірка не виконана.", "test_event_icon": "fa-vial-circle- check", "test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни." -} +} \ No newline at end of file diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json index ee9e2da4..761ea688 100755 --- a/front/php/templates/language/zh_cn.json +++ b/front/php/templates/language/zh_cn.json @@ -211,6 +211,7 @@ "Device_TableHead_AlertDown": "", "Device_TableHead_Connected_Devices": "链接", "Device_TableHead_CustomProps": "", + "Device_TableHead_FQDN": "", "Device_TableHead_Favorite": "收藏", "Device_TableHead_FirstSession": "加入", "Device_TableHead_GUID": "GUID", @@ -559,6 +560,8 @@ "Presence_Shortcut_Favorites": "收藏夹", "Presence_Shortcut_NewDevices": "新设备", "Presence_Title": "按设备显示状态", + "REFRESH_FQDN_description": "", + "REFRESH_FQDN_name": "", "REPORT_DASHBOARD_URL_description": "此 URL 用作生成 HTML 报告(例如电子邮件)中链接的基础。输入以 http:// 开头的完整 URL,包括端口号(无尾部斜杠 /)。", "REPORT_DASHBOARD_URL_name": "NetAlertX 网址", "REPORT_ERROR": "您正在浏览的页面暂时不可用,请稍后重试", @@ -742,4 +745,4 @@ "settings_update_item_warning": "更新下面的值。请注意遵循先前的格式。未执行验证。", "test_event_icon": "", "test_event_tooltip": "在测试设置之前,请先保存更改。" -} +} \ No newline at end of file diff --git a/front/plugins/_publisher_apprise/README.md b/front/plugins/_publisher_apprise/README.md index 769be945..8db547b4 100755 --- a/front/plugins/_publisher_apprise/README.md +++ b/front/plugins/_publisher_apprise/README.md @@ -11,3 +11,31 @@ You need to bring your own separate Apprise instance to use this publisher gatew - Go to settings and fill in relevant details. - Use the Apprise container's URL in the `APPRISE_HOST` setting. +## Examples + +### Telegram + +![Telegram config](apprise_telegram.png) + +#### Troubleshooting + +1. Replace `` and `` with your values. + +2. Test telegram notification in browser + +``` +https://api.telegram.org/bot/sendMessage?chat_id=&text=%40%40TEXT%40%40 +``` +3. Test apprise notification in console (replace `192.168.1.2:9999` with your apprise ip and port) + +``` +curl -X POST -d '{"urls":"tgram:///","body":"test body from curl","title":"test title from curl"}' -H "Content-Type: application/json" "http://192.168.1.2:9999/notify/" +``` + +4. Test from the docker apprise container console +``` +apprise -vv -t "Test Message from apprise console" -b "Test Message from apprise console" \ + tgram://// +``` + + diff --git a/front/plugins/_publisher_apprise/apprise_telegram.png b/front/plugins/_publisher_apprise/apprise_telegram.png new file mode 100755 index 0000000000000000000000000000000000000000..62ad0b6a866eee28561acd5f9b5f9ffc96a5910b GIT binary patch literal 142275 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�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 0: + if len(devices) > 0: # ensure service is running ensure_avahi_running() - for device in unknown_devices: + for device in devices: domain_name = execute_name_lookup(device['devLastIP'], timeout) # check if found and not a timeout ('to') diff --git a/front/plugins/dig_scan/README.md b/front/plugins/dig_scan/README.md new file mode 100755 index 00000000..d20121e1 --- /dev/null +++ b/front/plugins/dig_scan/README.md @@ -0,0 +1,7 @@ +## Overview + +Plugin for device name discovery via the [nbtscan](https://linuxcommandlibrary.com/man/nbtscan) network utility supporting NetBIOS. + +### Usage + +- Check the Settings page for details. diff --git a/front/plugins/dig_scan/config.json b/front/plugins/dig_scan/config.json new file mode 100755 index 00000000..8e64cf3a --- /dev/null +++ b/front/plugins/dig_scan/config.json @@ -0,0 +1,385 @@ +{ + "code_name": "dig_scan", + "unique_prefix": "DIGSCAN", + "plugin_type": "other", + "enabled": true, + "data_source": "script", + "execution_order" : "Layer_7", + "show_ui": true, + "data_filters": [ + { + "compare_column": "Object_PrimaryID", + "compare_operator": "==", + "compare_field_id": "txtMacFilter", + "compare_js_template": "'{value}'.toString()", + "compare_use_quotes": true + } + ], + "localized": ["display_name", "description", "icon"], + "display_name": [ + { + "language_code": "en_us", + "string": "Dig (Name resolution)" + } + ], + "icon": [ + { + "language_code": "en_us", + "string": "" + } + ], + "description": [ + { + "language_code": "en_us", + "string": "A plugin to resolve device names via Dig." + } + ], + "params": [ + { + "name": "ips", + "type": "sql", + "value": "SELECT devLastIP from DEVICES order by devMac", + "timeoutMultiplier": true + } + ], + "settings": [ + { + "function": "RUN", + "events": ["run"], + "type": { + "dataType": "string", + "elements": [ + { "elementType": "select", "elementOptions": [], "transformers": [] } + ] + }, + "default_value": "before_name_updates", + "options": [ + "disabled", + "before_name_updates", + "on_new_device", + "once", + "schedule", + "always_after_scan" + ], + "localized": ["name", "description"], + "name": [ + { + "language_code": "en_us", + "string": "When to run" + }, + { + "language_code": "es_es", + "string": "Cuándo ejecutar" + }, + { + "language_code": "de_de", + "string": "Wann laufen" + } + ], + "description": [ + { + "language_code": "en_us", + "string": "When the plugin should be executed. If enabled this will execute the scan until there are no (unknown) or (name not found) devices. Setting this to before_name_updates is recommended.

Depends on the
SCAN_SUBNETS setting." + } + ] + }, + { + "function": "CMD", + "type": { + "dataType": "string", + "elements": [ + { + "elementType": "input", + "elementOptions": [{ "readonly": "true" }], + "transformers": [] + } + ] + }, + "default_value": "python3 /app/front/plugins/dig_scan/digscan.py", + "options": [], + "localized": ["name", "description"], + "name": [ + { + "language_code": "en_us", + "string": "Command" + }, + { + "language_code": "es_es", + "string": "Comando" + }, + { + "language_code": "de_de", + "string": "Befehl" + } + ], + "description": [ + { + "language_code": "en_us", + "string": "Command to run. This can not be changed" + }, + { + "language_code": "es_es", + "string": "Comando a ejecutar. Esto no se puede cambiar" + }, + { + "language_code": "de_de", + "string": "Befehl zum Ausführen. Dies kann nicht geändert werden" + } + ] + }, + { + "function": "RUN_SCHD", + "type": { + "dataType": "string", + "elements": [ + { + "elementType": "span", + "elementOptions": [ + { + "cssClasses": "input-group-addon validityCheck" + }, + { + "getStringKey": "Gen_ValidIcon" + } + ], + "transformers": [] + }, + { + "elementType": "input", + "elementOptions": [ + { + "onChange": "validateRegex(this)" + }, + { + "base64Regex": "Xig/OlwqfCg/OlswLTldfFsxLTVdWzAtOV18WzAtOV0rLVswLTldK3xcKi9bMC05XSspKVxzKyg/OlwqfCg/OlswLTldfDFbMC05XXwyWzAtM118WzAtOV0rLVswLTldK3xcKi9bMC05XSspKVxzKyg/OlwqfCg/OlsxLTldfFsxMl1bMC05XXwzWzAxXXxbMC05XSstWzAtOV0rfFwqL1swLTldKykpXHMrKD86XCp8KD86WzEtOV18MVswLTJdfFswLTldKy1bMC05XSt8XCovWzAtOV0rKSlccysoPzpcKnwoPzpbMC02XXxbMC02XS1bMC02XXxcKi9bMC05XSspKSQ=" + } + ], + "transformers": [] + } + ] + }, + "default_value": "*/30 * * * *", + "options": [], + "localized": ["name", "description"], + "name": [ + { + "language_code": "en_us", + "string": "Schedule" + }, + { + "language_code": "es_es", + "string": "Schedule" + }, + { + "language_code": "de_de", + "string": "Schedule" + } + ], + "description": [ + { + "language_code": "en_us", + "string": "Only enabled if you select schedule in the NBTSCAN_RUN setting. Make sure you enter the schedule in the correct cron-like format (e.g. validate at crontab.guru). For example entering 0 4 * * * will run the scan after 4 am in the TIMEZONE you set above. Will be run NEXT time the time passes." + }, + { + "language_code": "es_es", + "string": "Solo está habilitado si selecciona schedule en la configuración NBTSCAN_RUN. Asegúrese de ingresar la programación en el formato similar a cron correcto (por ejemplo, valide en crontab.guru). Por ejemplo, ingresar 0 4 * * * ejecutará el escaneo después de las 4 a.m. en el TIMEZONE que configuró arriba. Se ejecutará la PRÓXIMA vez que pase el tiempo." + }, + { + "language_code": "de_de", + "string": "Nur aktiviert, wenn Sie schedule in der NBTSCAN_RUN-Einstellung auswählen. Stellen Sie sicher, dass Sie den Zeitplan im richtigen Cron-ähnlichen Format eingeben (z. B. validieren unter crontab.guru). Wenn Sie beispielsweise 0 4 * * * eingeben, wird der Scan nach 4 Uhr morgens in der TIMEZONE den Sie oben festgelegt haben. Wird das NÄCHSTE Mal ausgeführt, wenn die Zeit vergeht." + } + ] + }, + { + "function": "RUN_TIMEOUT", + "type": { + "dataType": "integer", + "elements": [ + { + "elementType": "input", + "elementOptions": [{ "type": "number" }], + "transformers": [] + } + ] + }, + "default_value": 5, + "options": [], + "localized": ["name", "description"], + "name": [ + { + "language_code": "en_us", + "string": "Run timeout" + }, + { + "language_code": "es_es", + "string": "Tiempo límite de ejecución" + }, + { + "language_code": "de_de", + "string": "Zeitüberschreitung" + } + ], + "description": [ + { + "language_code": "en_us", + "string": "Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted." + }, + { + "language_code": "es_es", + "string": "Tiempo máximo en segundos para esperar a que finalice el script. Si se supera este tiempo, el script se cancela." + }, + { + "language_code": "de_de", + "string": "Maximale Zeit in Sekunden, die auf den Abschluss des Skripts gewartet werden soll. Bei Überschreitung dieser Zeit wird das Skript abgebrochen." + } + ] + } + ], + "database_column_definitions": [ + { + "column": "Index", + "css_classes": "col-sm-2", + "show": true, + "type": "none", + "default_value": "", + "options": [], + "localized": ["name"], + "name": [ + { + "language_code": "en_us", + "string": "Index" + } + ] + }, + { + "column": "Object_PrimaryID", + "css_classes": "col-sm-2", + "show": true, + "type": "device_name_mac", + "default_value": "", + "options": [], + "localized": ["name"], + "name": [ + { + "language_code": "en_us", + "string": "MAC (name)" + }, + { + "language_code": "es_es", + "string": "MAC" + } + ] + }, + { + "column": "Object_SecondaryID", + "css_classes": "col-sm-2", + "show": true, + "type": "label", + "default_value": "", + "options": [], + "localized": ["name"], + "name": [ + { + "language_code": "en_us", + "string": "IP" + }, + { + "language_code": "es_es", + "string": "IP" + } + ] + }, + { + "column": "Watched_Value1", + "css_classes": "col-sm-2", + "show": true, + "type": "label", + "default_value": "", + "options": [], + "localized": ["name"], + "name": [ + { + "language_code": "en_us", + "string": "Server" + } + ] + }, + { + "column": "Watched_Value2", + "css_classes": "col-sm-2", + "show": true, + "type": "label", + "default_value": "", + "options": [], + "localized": ["name"], + "name": [ + { + "language_code": "en_us", + "string": "Name" + } + ] + }, + { + "column": "DateTimeCreated", + "css_classes": "col-sm-2", + "show": true, + "type": "label", + "default_value": "", + "options": [], + "localized": ["name"], + "name": [ + { + "language_code": "en_us", + "string": "Created" + } + ] + }, + { + "column": "DateTimeChanged", + "css_classes": "col-sm-2", + "show": true, + "type": "label", + "default_value": "", + "options": [], + "localized": ["name"], + "name": [ + { + "language_code": "en_us", + "string": "Changed" + } + ] + }, + { + "column": "Status", + "css_classes": "col-sm-1", + "show": true, + "type": "replace", + "default_value": "", + "options": [ + { + "equals": "watched-not-changed", + "replacement": "
" + }, + { + "equals": "watched-changed", + "replacement": "
" + }, + { + "equals": "new", + "replacement": "
" + }, + { + "equals": "missing-in-last-scan", + "replacement": "
" + } + ], + "localized": ["name"], + "name": [ + { + "language_code": "en_us", + "string": "Status" + } + ] + } + ] +} diff --git a/front/plugins/dig_scan/digscan.py b/front/plugins/dig_scan/digscan.py new file mode 100755 index 00000000..46266282 --- /dev/null +++ b/front/plugins/dig_scan/digscan.py @@ -0,0 +1,133 @@ +#!/usr/bin/env python + +import os +import pathlib +import sys +import json +import sqlite3 +import subprocess + +# Define the installation path and extend the system path for plugin imports +INSTALL_PATH = "/app" +sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) + +from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 +from plugin_utils import get_plugins_configs +from logger import mylog, Logger +from const import pluginsPath, fullDbPath, logPath +from helper import timeNowTZ, get_setting_value +from messaging.in_app import write_notification +from database import DB +from models.device_instance import DeviceInstance +import conf +from pytz import timezone + +# Make sure the TIMEZONE for logging is correct +conf.tz = timezone(get_setting_value('TIMEZONE')) + +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + +pluginName = 'DIGSCAN' + +# Define the current path and log file paths +LOG_PATH = logPath + '/plugins' +LOG_FILE = os.path.join(LOG_PATH, f'script.{pluginName}.log') +RESULT_FILE = os.path.join(LOG_PATH, f'last_result.{pluginName}.log') + +# Initialize the Plugin obj output file +plugin_objects = Plugin_Objects(RESULT_FILE) + + +def main(): + mylog('verbose', [f'[{pluginName}] In script']) + + timeout = get_setting_value('DIGSCAN_RUN_TIMEOUT') + + # Create a database connection + db = DB() # instance of class DB + db.open() + + # Initialize the Plugin obj output file + plugin_objects = Plugin_Objects(RESULT_FILE) + + # Create a DeviceInstance instance + device_handler = DeviceInstance(db) + + # Retrieve devices + if get_setting_value("REFRESH_FQDN"): + devices = device_handler.getUnknown() + else: + devices = device_handler.getAll() + + mylog('verbose', [f'[{pluginName}] Devices count: {len(devices)}']) + + # TEST - below is a WINDOWS host IP + # execute_name_lookup('192.168.1.121', timeout) + + for device in devices: + domain_name, dns_server = execute_name_lookup(device['devLastIP'], timeout) + + if domain_name != '': + plugin_objects.add_object( + # "MAC", "IP", "Server", "Name" + primaryId = device['devMac'], + secondaryId = device['devLastIP'], + watched1 = dns_server, + watched2 = domain_name, + watched3 = '', + watched4 = '', + extra = '', + foreignKey = device['devMac']) + + plugin_objects.write_result_file() + + + mylog('verbose', [f'[{pluginName}] Script finished']) + + return 0 + +#=============================================================================== +# Execute scan +#=============================================================================== +def execute_name_lookup (ip, timeout): + """ + Execute the DIG command on IP. + """ + + args = ['dig', '+short', '-x', ip] + + # Execute command + output = "" + + try: + mylog('verbose', [f'[{pluginName}] DEBUG CMD :', args]) + + # try runnning a subprocess with a forced (timeout) in case the subprocess hangs + output = subprocess.check_output (args, universal_newlines=True, stderr=subprocess.STDOUT, timeout=(timeout), text=True).strip() + + mylog('verbose', [f'[{pluginName}] DEBUG OUTPUT : {output}']) + + domain_name = output + dns_server = '' + + mylog('verbose', [f'[{pluginName}] Domain Name: {domain_name}']) + + return domain_name, dns_server + + except subprocess.CalledProcessError as e: + mylog('verbose', [f'[{pluginName}] ⚠ ERROR - {e.output}']) + + except subprocess.TimeoutExpired as timeErr: + mylog('verbose', [f'[{pluginName}] TIMEOUT - the process forcefully terminated as timeout reached']) + + if output == "": # check if the subprocess failed + mylog('verbose', [f'[{pluginName}] Scan: FAIL - check logs']) + else: + mylog('verbose', [f'[{pluginName}] Scan: SUCCESS']) + + return '', '' + +if __name__ == '__main__': + main() + diff --git a/front/plugins/nbtscan_scan/config.json b/front/plugins/nbtscan_scan/config.json index 51fd3a13..50691f12 100755 --- a/front/plugins/nbtscan_scan/config.json +++ b/front/plugins/nbtscan_scan/config.json @@ -52,7 +52,7 @@ { "elementType": "select", "elementOptions": [], "transformers": [] } ] }, - "default_value": "disabled", + "default_value": "before_name_updates", "options": [ "disabled", "before_name_updates", diff --git a/front/plugins/nbtscan_scan/nbtscan.py b/front/plugins/nbtscan_scan/nbtscan.py index 60261a46..003aad33 100755 --- a/front/plugins/nbtscan_scan/nbtscan.py +++ b/front/plugins/nbtscan_scan/nbtscan.py @@ -57,14 +57,17 @@ def main(): device_handler = DeviceInstance(db) # Retrieve devices - unknown_devices = device_handler.getUnknown() + if get_setting_value("REFRESH_FQDN"): + devices = device_handler.getUnknown() + else: + devices = device_handler.getAll() - mylog('verbose', [f'[{pluginName}] Unknown devices count: {len(unknown_devices)}']) + mylog('verbose', [f'[{pluginName}] Devices count: {len(devices)}']) # TEST - below is a WINDOWS host IP # execute_name_lookup('192.168.1.121', timeout) - for device in unknown_devices: + for device in devices: domain_name, dns_server = execute_name_lookup(device['devLastIP'], timeout) if domain_name != '': diff --git a/front/plugins/newdev_template/config.json b/front/plugins/newdev_template/config.json index c0a2f609..93162224 100755 --- a/front/plugins/newdev_template/config.json +++ b/front/plugins/newdev_template/config.json @@ -1629,6 +1629,42 @@ "string": "Custom device properties to store additional data or to perform an action on the device. Check the documentation on Custom Properties for additional details." } ] + }, + { + "function": "devFQDN", + "type": { + "dataType": "string", + "elements": [ + { + "elementType": "input", + "elementOptions": [ + { + "readonly": "true" + } + ], + "transformers": [] + } + ] + }, + "maxLength": 50, + "default_value": "", + "options": [], + "localized": [ + "name", + "description" + ], + "name": [ + { + "language_code": "en_us", + "string": "FQDN" + } + ], + "description": [ + { + "language_code": "en_us", + "string": "Fully Qualified Domain Name - Autodetected and Uneditable. Can be auto-refreshed by enabling the REFRESH_FQDN setting." + } + ] } ], "required": [], diff --git a/front/plugins/nslookup_scan/nslookup.py b/front/plugins/nslookup_scan/nslookup.py index 3ec2fe2e..dc403250 100755 --- a/front/plugins/nslookup_scan/nslookup.py +++ b/front/plugins/nslookup_scan/nslookup.py @@ -59,11 +59,17 @@ def main(): device_handler = DeviceInstance(db) # Retrieve devices - unknown_devices = device_handler.getUnknown() + if get_setting_value("REFRESH_FQDN"): + devices = device_handler.getUnknown() + else: + devices = device_handler.getAll() - mylog('verbose', [f'[{pluginName}] Unknown devices count: {len(unknown_devices)}']) + mylog('verbose', [f'[{pluginName}] Devices count: {len(devices)}']) + + # TEST - below is a WINDOWS host IP + # execute_name_lookup('192.168.1.121', timeout) - for device in unknown_devices: + for device in devices: domain_name, dns_server = execute_nslookup(device['devLastIP'], timeout) if domain_name != '': diff --git a/front/plugins/ui_settings/config.json b/front/plugins/ui_settings/config.json index c46fa376..ce5e21c9 100755 --- a/front/plugins/ui_settings/config.json +++ b/front/plugins/ui_settings/config.json @@ -377,7 +377,8 @@ "Device_TableHead_SourcePlugin", "Device_TableHead_PresentLastScan", "Device_TableHead_AlertDown", - "Device_TableHead_CustomProps" + "Device_TableHead_CustomProps", + "Device_TableHead_FQDN" ], "localized": ["name", "description"], "name": [ diff --git a/front/workflowsCore.php b/front/workflowsCore.php index b7aeed26..5cba7801 100755 --- a/front/workflowsCore.php +++ b/front/workflowsCore.php @@ -44,7 +44,7 @@ let fieldOptions = [ "devLastIP", "devStaticIP", "devScan", "devLogEvents", "devAlertEvents", "devAlertDown", "devSkipRepeated", "devLastNotification", "devPresentLastScan", "devIsNew", "devLocation", "devIsArchived", "devParentMAC", "devParentPort", - "devIcon", "devSite", "devSSID", "devSyncHubNode", "devSourcePlugin" + "devIcon", "devSite", "devSSID", "devSyncHubNode", "devSourcePlugin", "devFQDN" ]; let triggerTypes = [ diff --git a/scripts/db_empty/README.md b/scripts/db_empty/README.md new file mode 100755 index 00000000..4656d22b --- /dev/null +++ b/scripts/db_empty/README.md @@ -0,0 +1,19 @@ +# Overview + +A script for deleting all data from the database. + +# Usage + +1. **Run the Script** + +`python ./db_empty.py` + +### Other info + +- Version: 1.0 +- Release Date: 01-Jun-2025 +- Author: [jokob-sk](https://github.com/jokob-sk) + + +> [!NOTE] +> This is a community supplied script and not maintained. \ No newline at end of file diff --git a/scripts/db_empty/db_empty.py b/scripts/db_empty/db_empty.py new file mode 100755 index 00000000..95ef6da0 --- /dev/null +++ b/scripts/db_empty/db_empty.py @@ -0,0 +1,26 @@ +import sqlite3 + +# Connect to the database +conn = sqlite3.connect("/app/db/app.db") +cursor = conn.cursor() + +# Get the names of all tables (excluding SQLite internal tables) +cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%';") +tables = cursor.fetchall() + +# Disable foreign key constraints temporarily +cursor.execute("PRAGMA foreign_keys = OFF;") + +# Delete all rows from each table +for (table_name,) in tables: + cursor.execute(f"DELETE FROM {table_name};") + +# Commit changes and re-enable foreign keys +conn.commit() +cursor.execute("PRAGMA foreign_keys = ON;") + +# Vacuum to shrink database file +cursor.execute("VACUUM;") + +# Close connection +conn.close() diff --git a/server/__main__.py b/server/__main__.py index 653e155b..74d10761 100755 --- a/server/__main__.py +++ b/server/__main__.py @@ -153,7 +153,7 @@ def main (): # Resolve devices names mylog('debug','[Main] Resolve devices names') - update_devices_names(db) + update_devices_names(db) # Check if new devices found sql.execute (sql_new_devices) diff --git a/server/const.py b/server/const.py index 9663c7ec..8ad0ab11 100755 --- a/server/const.py +++ b/server/const.py @@ -60,6 +60,7 @@ sql_devices_all = """ IFNULL(devSyncHubNode, '') AS devSyncHubNode, IFNULL(devSourcePlugin, '') AS devSourcePlugin, IFNULL(devCustomProps, '') AS devCustomProps, + IFNULL(devFQDN, '') AS devFQDN, CASE WHEN devIsNew = 1 THEN 'New' WHEN devPresentLastScan = 1 THEN 'On-line' diff --git a/server/database.py b/server/database.py index 0db5a05b..36576bbe 100755 --- a/server/database.py +++ b/server/database.py @@ -80,370 +80,10 @@ class DB(): """ Check the current tables in the DB and upgrade them if neccessary """ - - self.sql.execute(""" - CREATE TABLE IF NOT EXISTS "Online_History" ( - "Index" INTEGER, - "Scan_Date" TEXT, - "Online_Devices" INTEGER, - "Down_Devices" INTEGER, - "All_Devices" INTEGER, - "Archived_Devices" INTEGER, - "Offline_Devices" INTEGER, - PRIMARY KEY("Index" AUTOINCREMENT) - ); - """) - # ------------------------------------------------------------------- - # DevicesNew - cleanup after 6/6/2025 - need to update also DB in the source code! - - # check if migration already done based on devMac - devMac_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Devices') WHERE name='devMac' - """).fetchone()[0] == 0 - - if devMac_missing: - - # ------------------------------------------------------------------------- - # Alter Devices table - # ------------------------------------------------------------------------- - # dev_Network_Node_MAC_ADDR column - dev_Network_Node_MAC_ADDR_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Devices') WHERE name='dev_Network_Node_MAC_ADDR' - """).fetchone()[0] == 0 - - if dev_Network_Node_MAC_ADDR_missing : - mylog('verbose', ["[upgradeDB] Adding dev_Network_Node_MAC_ADDR to the Devices table"]) - self.sql.execute(""" - ALTER TABLE "Devices" ADD "dev_Network_Node_MAC_ADDR" TEXT - """) - - # dev_Network_Node_port column - dev_Network_Node_port_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Devices') WHERE name='dev_Network_Node_port' - """).fetchone()[0] == 0 - - if dev_Network_Node_port_missing : - mylog('verbose', ["[upgradeDB] Adding dev_Network_Node_port to the Devices table"]) - self.sql.execute(""" - ALTER TABLE "Devices" ADD "dev_Network_Node_port" INTEGER - """) - - # dev_Icon column - dev_Icon_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Devices') WHERE name='dev_Icon' - """).fetchone()[0] == 0 - - if dev_Icon_missing : - mylog('verbose', ["[upgradeDB] Adding dev_Icon to the Devices table"]) - self.sql.execute(""" - ALTER TABLE "Devices" ADD "dev_Icon" TEXT - """) - - # dev_GUID column - dev_GUID_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Devices') WHERE name='dev_GUID' - """).fetchone()[0] == 0 - - if dev_GUID_missing : - mylog('verbose', ["[upgradeDB] Adding dev_GUID to the Devices table"]) - self.sql.execute(""" - ALTER TABLE "Devices" ADD "dev_GUID" TEXT - """) - - # dev_NetworkSite column - dev_NetworkSite_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Devices') WHERE name='dev_NetworkSite' - """).fetchone()[0] == 0 - - if dev_NetworkSite_missing : - mylog('verbose', ["[upgradeDB] Adding dev_NetworkSite to the Devices table"]) - self.sql.execute(""" - ALTER TABLE "Devices" ADD "dev_NetworkSite" TEXT - """) - - # dev_SSID column - dev_SSID_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Devices') WHERE name='dev_SSID' - """).fetchone()[0] == 0 - - if dev_SSID_missing : - mylog('verbose', ["[upgradeDB] Adding dev_SSID to the Devices table"]) - self.sql.execute(""" - ALTER TABLE "Devices" ADD "dev_SSID" TEXT - """) - - # SQL query to update missing dev_GUID - self.sql.execute(f''' - UPDATE Devices - SET dev_GUID = {sql_generateGuid} - WHERE dev_GUID IS NULL - ''') - - # dev_SyncHubNodeName column - dev_SyncHubNodeName_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Devices') WHERE name='dev_SyncHubNodeName' - """).fetchone()[0] == 0 - - if dev_SyncHubNodeName_missing : - mylog('verbose', ["[upgradeDB] Adding dev_SyncHubNodeName to the Devices table"]) - self.sql.execute(""" - ALTER TABLE "Devices" ADD "dev_SyncHubNodeName" TEXT - """) - - # dev_SourcePlugin column - dev_SourcePlugin_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Devices') WHERE name='dev_SourcePlugin' - """).fetchone()[0] == 0 - - if dev_SourcePlugin_missing : - mylog('verbose', ["[upgradeDB] Adding dev_SourcePlugin to the Devices table"]) - self.sql.execute(""" - ALTER TABLE "Devices" ADD "dev_SourcePlugin" TEXT - """) - - # SQL to create Devices table with indexes - sql_create_devices_new_tmp = """ - CREATE TABLE IF NOT EXISTS Devices_tmp ( - devMac STRING (50) PRIMARY KEY NOT NULL COLLATE NOCASE, - devName STRING (50) NOT NULL DEFAULT "(unknown)", - devOwner STRING (30) DEFAULT "(unknown)" NOT NULL, - devType STRING (30), - devVendor STRING (250), - devFavorite BOOLEAN CHECK (devFavorite IN (0, 1)) DEFAULT (0) NOT NULL, - devGroup STRING (10), - devComments TEXT, - devFirstConnection DATETIME NOT NULL, - devLastConnection DATETIME NOT NULL, - devLastIP STRING (50) NOT NULL COLLATE NOCASE, - devStaticIP BOOLEAN DEFAULT (0) NOT NULL CHECK (devStaticIP IN (0, 1)), - devScan INTEGER DEFAULT (1) NOT NULL, - devLogEvents BOOLEAN NOT NULL DEFAULT (1) CHECK (devLogEvents IN (0, 1)), - devAlertEvents BOOLEAN NOT NULL DEFAULT (1) CHECK (devAlertEvents IN (0, 1)), - devAlertDown BOOLEAN NOT NULL DEFAULT (0) CHECK (devAlertDown IN (0, 1)), - devSkipRepeated INTEGER DEFAULT 0 NOT NULL, - devLastNotification DATETIME, - devPresentLastScan BOOLEAN NOT NULL DEFAULT (0) CHECK (devPresentLastScan IN (0, 1)), - devIsNew BOOLEAN NOT NULL DEFAULT (1) CHECK (devIsNew IN (0, 1)), - devLocation STRING (250) COLLATE NOCASE, - devIsArchived BOOLEAN NOT NULL DEFAULT (0) CHECK (devIsArchived IN (0, 1)), - devParentMAC TEXT, - devParentPort INTEGER, - devIcon TEXT, - devGUID TEXT, - devSite TEXT, - devSSID TEXT, - devSyncHubNode TEXT, - devSourcePlugin TEXT - ); - - CREATE INDEX IF NOT EXISTS IDX_dev_PresentLastScan ON Devices_tmp (devPresentLastScan); - CREATE INDEX IF NOT EXISTS IDX_dev_FirstConnection ON Devices_tmp (devFirstConnection); - CREATE INDEX IF NOT EXISTS IDX_dev_AlertDeviceDown ON Devices_tmp (devAlertDown); - CREATE INDEX IF NOT EXISTS IDX_dev_StaticIP ON Devices_tmp (devStaticIP); - CREATE INDEX IF NOT EXISTS IDX_dev_ScanCycle ON Devices_tmp (devScan); - CREATE INDEX IF NOT EXISTS IDX_dev_Favorite ON Devices_tmp (devFavorite); - CREATE INDEX IF NOT EXISTS IDX_dev_LastIP ON Devices_tmp (devLastIP); - CREATE INDEX IF NOT EXISTS IDX_dev_NewDevice ON Devices_tmp (devIsNew); - CREATE INDEX IF NOT EXISTS IDX_dev_Archived ON Devices_tmp (devIsArchived); - """ - - # Execute the creation of the Devices table and indexes - self.sql.executescript(sql_create_devices_new_tmp) - - - # copy over data - sql_copy_from_devices = """ - INSERT OR IGNORE INTO Devices_tmp ( - devMac, - devName, - devOwner, - devType, - devVendor, - devFavorite, - devGroup, - devComments, - devFirstConnection, - devLastConnection, - devLastIP, - devStaticIP, - devScan, - devLogEvents, - devAlertEvents, - devAlertDown, - devSkipRepeated, - devLastNotification, - devPresentLastScan, - devIsNew, - devLocation, - devIsArchived, - devParentMAC, - devParentPort, - devIcon, - devGUID, - devSite, - devSSID, - devSyncHubNode, - devSourcePlugin - ) - SELECT - dev_MAC AS devMac, - dev_Name AS devName, - dev_Owner AS devOwner, - dev_DeviceType AS devType, - dev_Vendor AS devVendor, - dev_Favorite AS devFavorite, - dev_Group AS devGroup, - dev_Comments AS devComments, - dev_FirstConnection AS devFirstConnection, - dev_LastConnection AS devLastConnection, - dev_LastIP AS devLastIP, - dev_StaticIP AS devStaticIP, - dev_ScanCycle AS devScan, - dev_LogEvents AS devLogEvents, - dev_AlertEvents AS devAlertEvents, - dev_AlertDeviceDown AS devAlertDown, - dev_SkipRepeated AS devSkipRepeated, - dev_LastNotification AS devLastNotification, - dev_PresentLastScan AS devPresentLastScan, - dev_NewDevice AS devIsNew, - dev_Location AS devLocation, - dev_Archived AS devIsArchived, - dev_Network_Node_MAC_ADDR AS devParentMAC, - dev_Network_Node_port AS devParentPort, - dev_Icon AS devIcon, - dev_GUID AS devGUID, - dev_NetworkSite AS devSite, - dev_SSID AS devSSID, - dev_SyncHubNodeName AS devSyncHubNode, - dev_SourcePlugin AS devSourcePlugin - FROM Devices; - """ - - self.sql.execute(sql_copy_from_devices) - - - self.sql.execute(""" DROP TABLE Devices;""") - # SQL to create Devices table with indexes - sql_create_devices_new = """ - CREATE TABLE IF NOT EXISTS Devices ( - devMac STRING (50) PRIMARY KEY NOT NULL COLLATE NOCASE, - devName STRING (50) NOT NULL DEFAULT "(unknown)", - devOwner STRING (30) DEFAULT "(unknown)" NOT NULL, - devType STRING (30), - devVendor STRING (250), - devFavorite BOOLEAN CHECK (devFavorite IN (0, 1)) DEFAULT (0) NOT NULL, - devGroup STRING (10), - devComments TEXT, - devFirstConnection DATETIME NOT NULL, - devLastConnection DATETIME NOT NULL, - devLastIP STRING (50) NOT NULL COLLATE NOCASE, - devStaticIP BOOLEAN DEFAULT (0) NOT NULL CHECK (devStaticIP IN (0, 1)), - devScan INTEGER DEFAULT (1) NOT NULL, - devLogEvents BOOLEAN NOT NULL DEFAULT (1) CHECK (devLogEvents IN (0, 1)), - devAlertEvents BOOLEAN NOT NULL DEFAULT (1) CHECK (devAlertEvents IN (0, 1)), - devAlertDown BOOLEAN NOT NULL DEFAULT (0) CHECK (devAlertDown IN (0, 1)), - devSkipRepeated INTEGER DEFAULT 0 NOT NULL, - devLastNotification DATETIME, - devPresentLastScan BOOLEAN NOT NULL DEFAULT (0) CHECK (devPresentLastScan IN (0, 1)), - devIsNew BOOLEAN NOT NULL DEFAULT (1) CHECK (devIsNew IN (0, 1)), - devLocation STRING (250) COLLATE NOCASE, - devIsArchived BOOLEAN NOT NULL DEFAULT (0) CHECK (devIsArchived IN (0, 1)), - devParentMAC TEXT, - devParentPort INTEGER, - devIcon TEXT, - devGUID TEXT, - devSite TEXT, - devSSID TEXT, - devSyncHubNode TEXT, - devSourcePlugin TEXT - ); - - CREATE INDEX IF NOT EXISTS IDX_dev_PresentLastScan ON Devices (devPresentLastScan); - CREATE INDEX IF NOT EXISTS IDX_dev_FirstConnection ON Devices (devFirstConnection); - CREATE INDEX IF NOT EXISTS IDX_dev_AlertDeviceDown ON Devices (devAlertDown); - CREATE INDEX IF NOT EXISTS IDX_dev_StaticIP ON Devices (devStaticIP); - CREATE INDEX IF NOT EXISTS IDX_dev_ScanCycle ON Devices (devScan); - CREATE INDEX IF NOT EXISTS IDX_dev_Favorite ON Devices (devFavorite); - CREATE INDEX IF NOT EXISTS IDX_dev_LastIP ON Devices (devLastIP); - CREATE INDEX IF NOT EXISTS IDX_dev_NewDevice ON Devices (devIsNew); - CREATE INDEX IF NOT EXISTS IDX_dev_Archived ON Devices (devIsArchived); - """ - - # Execute the creation of the Devices table and indexes - self.sql.executescript(sql_create_devices_new) - - # copy over data - sql_copy_from_devices_tmp = """ - INSERT OR IGNORE INTO Devices ( - devMac, - devName, - devOwner, - devType, - devVendor, - devFavorite, - devGroup, - devComments, - devFirstConnection, - devLastConnection, - devLastIP, - devStaticIP, - devScan, - devLogEvents, - devAlertEvents, - devAlertDown, - devSkipRepeated, - devLastNotification, - devPresentLastScan, - devIsNew, - devLocation, - devIsArchived, - devParentMAC, - devParentPort, - devIcon, - devGUID, - devSite, - devSSID, - devSyncHubNode, - devSourcePlugin - ) - SELECT - devMac, - devName, - devOwner, - devType, - devVendor, - devFavorite, - devGroup, - devComments, - devFirstConnection, - devLastConnection, - devLastIP, - devStaticIP, - devScan, - devLogEvents, - devAlertEvents, - devAlertDown, - devSkipRepeated, - devLastNotification, - devPresentLastScan, - devIsNew, - devLocation, - devIsArchived, - devParentMAC, - devParentPort, - devIcon, - devGUID, - devSite, - devSSID, - devSyncHubNode, - devSourcePlugin - FROM Devices_tmp; - """ - - self.sql.execute(sql_copy_from_devices_tmp) - self.sql.execute(""" DROP TABLE Devices_tmp;""") - + # ------------------------------------------------------------------------- + # Alter Devices table + # ------------------------------------------------------------------------- # VIEWS @@ -477,17 +117,19 @@ class DB(): # add fields if missing - - # devCustomProps column - devCustomProps_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Devices') WHERE name='devCustomProps' + + # devFQDN missing? + devFQDN_missing = self.sql.execute (""" + SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Devices') WHERE name='devFQDN' """).fetchone()[0] == 0 + + if devFQDN_missing: - if devCustomProps_missing : - mylog('verbose', ["[upgradeDB] Adding devCustomProps to the Devices table"]) + mylog('verbose', ["[upgradeDB] Adding devFQDN to the Devices table"]) self.sql.execute(""" - ALTER TABLE "Devices" ADD "devCustomProps" TEXT + ALTER TABLE "Devices" ADD "devFQDN" TEXT """) + # ------------------------------------------------------------------------- # Settings table setup @@ -564,48 +206,6 @@ class DB(): ); """ self.sql.execute(sql_Plugins_Objects) - # ----------------------------------------- - # REMOVE after 6/6/2025 - START - # ----------------------------------------- - # syncHubNodeName column - plug_SyncHubNodeName_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Plugins_Objects') WHERE name='SyncHubNodeName' - """).fetchone()[0] == 0 - - if plug_SyncHubNodeName_missing : - mylog('verbose', ["[upgradeDB] Adding SyncHubNodeName to the Plugins_Objects table"]) - self.sql.execute(""" - ALTER TABLE "Plugins_Objects" ADD "SyncHubNodeName" TEXT - """) - - # helper columns HelpVal1-4 - plug_HelpValues_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Plugins_Objects') WHERE name='HelpVal1' - """).fetchone()[0] == 0 - - if plug_HelpValues_missing : - mylog('verbose', ["[upgradeDB] Adding HelpVal1-4 to the Plugins_Objects table"]) - self.sql.execute('ALTER TABLE "Plugins_Objects" ADD COLUMN "HelpVal1" TEXT') - self.sql.execute('ALTER TABLE "Plugins_Objects" ADD COLUMN "HelpVal2" TEXT') - self.sql.execute('ALTER TABLE "Plugins_Objects" ADD COLUMN "HelpVal3" TEXT') - self.sql.execute('ALTER TABLE "Plugins_Objects" ADD COLUMN "HelpVal4" TEXT') - - # plug_ObjectGUID_missing column - plug_ObjectGUID_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Plugins_Objects') WHERE name='ObjectGUID' - """).fetchone()[0] == 0 - - if plug_ObjectGUID_missing : - mylog('verbose', ["[upgradeDB] Adding ObjectGUID to the Plugins_Objects table"]) - self.sql.execute(""" - ALTER TABLE "Plugins_Objects" ADD "ObjectGUID" TEXT - """) - - - # ----------------------------------------- - # REMOVE after 6/6/2025 - END - # ----------------------------------------- - # Plugin execution results sql_Plugins_Events = """ CREATE TABLE IF NOT EXISTS Plugins_Events( "Index" INTEGER, @@ -631,49 +231,6 @@ class DB(): ); """ self.sql.execute(sql_Plugins_Events) - # ----------------------------------------- - # REMOVE after 6/6/2025 - START - # ----------------------------------------- - - # syncHubNodeName column - plug_SyncHubNodeName_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Plugins_Events') WHERE name='SyncHubNodeName' - """).fetchone()[0] == 0 - - if plug_SyncHubNodeName_missing : - mylog('verbose', ["[upgradeDB] Adding SyncHubNodeName to the Plugins_Events table"]) - self.sql.execute(""" - ALTER TABLE "Plugins_Events" ADD "SyncHubNodeName" TEXT - """) - - # helper columns HelpVal1-4 - plug_HelpValues_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Plugins_Events') WHERE name='HelpVal1' - """).fetchone()[0] == 0 - - if plug_HelpValues_missing : - mylog('verbose', ["[upgradeDB] Adding HelpVal1-4 to the Plugins_Events table"]) - self.sql.execute('ALTER TABLE "Plugins_Events" ADD COLUMN "HelpVal1" TEXT') - self.sql.execute('ALTER TABLE "Plugins_Events" ADD COLUMN "HelpVal2" TEXT') - self.sql.execute('ALTER TABLE "Plugins_Events" ADD COLUMN "HelpVal3" TEXT') - self.sql.execute('ALTER TABLE "Plugins_Events" ADD COLUMN "HelpVal4" TEXT') - - # plug_ObjectGUID_missing column - plug_ObjectGUID_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Plugins_Events') WHERE name='ObjectGUID' - """).fetchone()[0] == 0 - - if plug_ObjectGUID_missing : - mylog('verbose', ["[upgradeDB] Adding ObjectGUID to the Plugins_Events table"]) - self.sql.execute(""" - ALTER TABLE "Plugins_Events" ADD "ObjectGUID" TEXT - """) - - # ----------------------------------------- - # REMOVE after 6/6/2025 - END - # ----------------------------------------- - - # Plugin execution history sql_Plugins_History = """ CREATE TABLE IF NOT EXISTS Plugins_History( "Index" INTEGER, @@ -699,48 +256,6 @@ class DB(): ); """ self.sql.execute(sql_Plugins_History) - # ----------------------------------------- - # REMOVE after 6/6/2025 - START - # ----------------------------------------- - - # syncHubNodeName column - plug_SyncHubNodeName_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Plugins_History') WHERE name='SyncHubNodeName' - """).fetchone()[0] == 0 - - if plug_SyncHubNodeName_missing : - mylog('verbose', ["[upgradeDB] Adding SyncHubNodeName to the Plugins_History table"]) - self.sql.execute(""" - ALTER TABLE "Plugins_History" ADD "SyncHubNodeName" TEXT - """) - - # helper columns HelpVal1-4 - plug_HelpValues_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Plugins_History') WHERE name='HelpVal1' - """).fetchone()[0] == 0 - - if plug_HelpValues_missing : - mylog('verbose', ["[upgradeDB] Adding HelpVal1-4 to the Plugins_History table"]) - self.sql.execute('ALTER TABLE "Plugins_History" ADD COLUMN "HelpVal1" TEXT') - self.sql.execute('ALTER TABLE "Plugins_History" ADD COLUMN "HelpVal2" TEXT') - self.sql.execute('ALTER TABLE "Plugins_History" ADD COLUMN "HelpVal3" TEXT') - self.sql.execute('ALTER TABLE "Plugins_History" ADD COLUMN "HelpVal4" TEXT') - - - # plug_ObjectGUID_missing column - plug_ObjectGUID_missing = self.sql.execute (""" - SELECT COUNT(*) AS CNTREC FROM pragma_table_info('Plugins_History') WHERE name='ObjectGUID' - """).fetchone()[0] == 0 - - if plug_ObjectGUID_missing : - mylog('verbose', ["[upgradeDB] Adding ObjectGUID to the Plugins_History table"]) - self.sql.execute(""" - ALTER TABLE "Plugins_History" ADD "ObjectGUID" TEXT - """) - - # ----------------------------------------- - # REMOVE after 6/6/2025 - END - # ----------------------------------------- # ------------------------------------------------------------------------- # Plugins_Language_Strings table setup @@ -845,21 +360,6 @@ class DB(): # Init the AppEvent database table AppEvent_obj(self) - # ------------------------------------------------------------------------- - # DELETING OBSOLETE TABLES - to remove with updated db file after 9/9/2024 - # ------------------------------------------------------------------------- - - # Deletes obsolete ScanCycles - self.sql.execute(""" DROP TABLE IF EXISTS ScanCycles;""") - self.sql.execute(""" DROP TABLE IF EXISTS DHCP_Leases;""") - self.sql.execute(""" DROP TABLE IF EXISTS PiHole_Network;""") - - self.commitDB() - - # ------------------------------------------------------------------------- - # DELETING OBSOLETE TABLES - to remove with updated db file after 9/9/2024 - # ------------------------------------------------------------------------- - #------------------------------------------------------------------------------- def get_table_as_json(self, sqlQuery): diff --git a/server/graphql_server/graphql_schema.py b/server/graphql_server/graphql_schema.py index 83bff5a6..d5c93a6e 100755 --- a/server/graphql_server/graphql_schema.py +++ b/server/graphql_server/graphql_schema.py @@ -73,6 +73,7 @@ class Device(ObjectType): devParentChildrenCount = Int() devIpLong = Int() devFilterStatus = String() + devFQDN = String() class DeviceResult(ObjectType): @@ -180,7 +181,7 @@ class Query(ObjectType): searchable_fields = [ "devName", "devMac", "devOwner", "devType", "devVendor", "devLastIP", "devGroup", "devComments", "devLocation", "devStatus", - "devSSID", "devSite", "devSourcePlugin", "devSyncHubNode" + "devSSID", "devSite", "devSourcePlugin", "devSyncHubNode", "devFQDN" ] search_term = options.search.lower() diff --git a/server/helper.py b/server/helper.py index 6b402b2b..e8c570a9 100755 --- a/server/helper.py +++ b/server/helper.py @@ -18,6 +18,7 @@ import hashlib import random import string import ipaddress +import dns.resolver import conf from const import * @@ -427,211 +428,6 @@ def check_IP_format (pIP): # Return IP return IP.group(0) -#------------------------------------------------------------------------------- -def get_device_name_mdns(db, pMAC, pIP): - - nameNotFound = "(name not found)" - - sql = db.sql - - name = nameNotFound - - # get names from the AVAHISCAN plugin entries vased on MAC - sql.execute( - f""" - SELECT Watched_Value2 FROM Plugins_Objects - WHERE - Plugin = 'AVAHISCAN' AND - Object_PrimaryID = '{pMAC}' - """ - ) - nameEntry = sql.fetchall() - db.commitDB() - - if len(nameEntry) != 0: - name = cleanDeviceName(nameEntry[0][0], False) - - return name - - # get names from the AVAHISCAN plugin entries based on IP - sql.execute( - f""" - SELECT Watched_Value2 FROM Plugins_Objects - WHERE - Plugin = 'AVAHISCAN' AND - Object_SecondaryID = '{pIP}' - """ - ) - nameEntry = sql.fetchall() - db.commitDB() - - if len(nameEntry) != 0: - name = cleanDeviceName(nameEntry[0][0], True) - - return name - - return name - -#------------------------------------------------------------------------------- -def get_device_name_nslookup(db, pMAC, pIP): - - nameNotFound = "(name not found)" - - sql = db.sql - - name = nameNotFound - - # get names from the NSLOOKUP plugin entries vased on MAC - sql.execute( - f""" - SELECT Watched_Value2 FROM Plugins_Objects - WHERE - Plugin = 'NSLOOKUP' AND - Object_PrimaryID = '{pMAC}' - """ - ) - nameEntry = sql.fetchall() - db.commitDB() - - if len(nameEntry) != 0: - name = cleanDeviceName(nameEntry[0][0], False) - - return name - - # get names from the NSLOOKUP plugin entries based on IP - sql.execute( - f""" - SELECT Watched_Value2 FROM Plugins_Objects - WHERE - Plugin = 'NSLOOKUP' AND - Object_SecondaryID = '{pIP}' - """ - ) - nameEntry = sql.fetchall() - db.commitDB() - - if len(nameEntry) != 0: - name = cleanDeviceName(nameEntry[0][0], True) - - return name - - return name - -#------------------------------------------------------------------------------- -def get_device_name_nbtlookup(db, pMAC, pIP): - - nameNotFound = "(name not found)" - - sql = db.sql - - name = nameNotFound - - # get names from the NBTSCAN plugin entries vased on MAC - sql.execute( - f""" - SELECT Watched_Value2 FROM Plugins_Objects - WHERE - Plugin = 'NBTSCAN' AND - Object_PrimaryID = '{pMAC}' - """ - ) - nameEntry = sql.fetchall() - db.commitDB() - - if len(nameEntry) != 0: - name = cleanDeviceName(nameEntry[0][0], False) - - return name - - # get names from the NSLOOKUP plugin entries based on IP - sql.execute( - f""" - SELECT Watched_Value2 FROM Plugins_Objects - WHERE - Plugin = 'NBTSCAN' AND - Object_SecondaryID = '{pIP}' - """ - ) - nameEntry = sql.fetchall() - db.commitDB() - - if len(nameEntry) != 0: - name = cleanDeviceName(nameEntry[0][0], True) - - return name - - return name - - -#------------------------------------------------------------------------------- -def resolve_device_name_dig (pMAC, pIP): - - nameNotFound = "(name not found)" - - dig_args = ['dig', '+short', '-x', pIP] - - # Execute command - try: - # try runnning a subprocess - newName = subprocess.check_output (dig_args, universal_newlines=True) - - # Check returns - newName = newName.strip() - - if len(newName) == 0 : - return nameNotFound - - # Cleanup - newName = cleanDeviceName(newName, True) - - if newName == "" or len(newName) == 0 or newName == '-1' or newName == -1 or "communications error" in newName or 'malformed message packet' in newName : - return nameNotFound - - # all checks passed - mylog('debug', [f'[resolve_device_name_dig] Found a new name: "{newName}"']) - - return newName - - except subprocess.CalledProcessError as e: - # An error occured, handle it - mylog('none', ['[resolve_device_name_dig] ⚠ ERROR: ', e.output]) - # newName = "Error - check logs" - return nameNotFound - - -#------------------------------------------------------------------------------- -# DNS record (Name resolution) cleanup methods -#------------------------------------------------------------------------------- - -import dns.resolver - -def cleanDeviceName(str, match_IP): - - mylog('debug', ["[cleanDeviceName] input: " + str]) - - # add matching info - if match_IP: - str = str + " (IP match)" - - # Applying cleanup REGEXEs - mylog('debug', ["[Name cleanup] Using old cleanDeviceName(" + str + ")"]) - - regexes = get_setting_value('NEWDEV_NAME_CLEANUP_REGEX') - - for rgx in regexes: - mylog('trace', ["[cleanDeviceName] applying regex : " + rgx]) - mylog('trace', ["[cleanDeviceName] name before regex : " + str]) - str = re.sub(rgx, "", str) - mylog('trace', ["[cleanDeviceName] name after regex : " + str]) - - # str = re.sub(r'\.\b', '', str) # trailing dot after words - str = re.sub(r'\.$', '', str) # trailing dot at the end of the string - str = str.replace(". (IP match)", " (IP match)") # Remove dot if (IP match) is added - - mylog('debug', ["[cleanDeviceName] output: " + str]) - - return str - #------------------------------------------------------------------------------- # String manipulation methods #------------------------------------------------------------------------------- diff --git a/server/initialise.py b/server/initialise.py index fac42004..3a321f02 100755 --- a/server/initialise.py +++ b/server/initialise.py @@ -168,6 +168,7 @@ def importConfigs (db, all_plugins): conf.HRS_TO_KEEP_NEWDEV = ccd('HRS_TO_KEEP_NEWDEV', 0 , c_d, 'Keep new devices for', '{"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]}', "[]", 'General') conf.HRS_TO_KEEP_OFFDEV = ccd('HRS_TO_KEEP_OFFDEV', 0 , c_d, 'Keep offline devices for', '{"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]}', "[]", 'General') conf.CLEAR_NEW_FLAG = ccd('CLEAR_NEW_FLAG', 0 , c_d, 'Clear new flag', '{"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]}', "[]", 'General') + conf.REFRESH_FQDN = ccd('REFRESH_FQDN', False , c_d, 'Refresh FQDN', """{"dataType": "boolean","elements": [{"elementType": "input","elementOptions": [{ "type": "checkbox" }],"transformers": []}]}""", '[]', 'General') conf.API_CUSTOM_SQL = ccd('API_CUSTOM_SQL', 'SELECT * FROM Devices WHERE devPresentLastScan = 0' , c_d, 'Custom endpoint', '{"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]}', '[]', 'General') conf.VERSION = ccd('VERSION', '' , c_d, 'Version', '{"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{ "readonly": "true" }] ,"transformers": []}]}', '', 'General') conf.NETWORK_DEVICE_TYPES = ccd('NETWORK_DEVICE_TYPES', ['AP', 'Gateway', 'Firewall', 'Hypervisor', 'Powerline', 'Switch', 'WLAN', 'PLC', 'Router','USB LAN Adapter', 'USB WIFI Adapter', 'Internet'] , c_d, 'Network device types', '{"dataType":"array","elements":[{"elementType":"input","elementOptions":[{"placeholder":"Enter value"},{"suffix":"_in"},{"cssClasses":"col-sm-10"},{"prefillValue":"null"}],"transformers":[]},{"elementType":"button","elementOptions":[{"sourceSuffixes":["_in"]},{"separator":""},{"cssClasses":"col-xs-12"},{"onClick":"addList(this,false)"},{"getStringKey":"Gen_Add"}],"transformers":[]},{"elementType":"select", "elementHasInputValue":1,"elementOptions":[{"multiple":"true"},{"readonly":"true"},{"editable":"true"}],"transformers":[]},{"elementType":"button","elementOptions":[{"sourceSuffixes":[]},{"separator":""},{"cssClasses":"col-xs-6"},{"onClick":"removeAllOptions(this)"},{"getStringKey":"Gen_Remove_All"}],"transformers":[]},{"elementType":"button","elementOptions":[{"sourceSuffixes":[]},{"separator":""},{"cssClasses":"col-xs-6"},{"onClick":"removeFromList(this)"},{"getStringKey":"Gen_Remove_Last"}],"transformers":[]}]}', '[]', 'General') @@ -445,46 +446,6 @@ replacements = { r'\bREPORT_TO\b': 'SMTP_REPORT_TO', r'\bSYNC_api_token\b': 'API_TOKEN', r'\bAPI_TOKEN=\'\'': f'API_TOKEN=\'t_{generate_random_string(20)}\'', - r'\bREPORT_FROM\b': 'SMTP_REPORT_FROM', - r'\bPIALERT_WEB_PROTECTION\b': 'SETPWD_enable_password', - r'\bPIALERT_WEB_PASSWORD\b': 'SETPWD_password', - r'REPORT_MAIL=True': "SMTP_RUN='on_notification'", - r'REPORT_APPRISE=True': "APPRISE_RUN='on_notification'", - r'REPORT_NTFY=True': "NTFY_RUN='on_notification'", - r'REPORT_WEBHOOK=True': "WEBHOOK_RUN='on_notification'", - r'REPORT_PUSHSAFER=True': "PUSHSAFER_RUN='on_notification'", - r'REPORT_MQTT=True': "MQTT_RUN='on_notification'", - # r'PIHOLE_CMD=': 'PIHOLE_CMD_OLD=', - r'\bINCLUDED_SECTIONS\b': 'NTFPRCS_INCLUDED_SECTIONS', - r'\bDIG_GET_IP_ARG\b': 'INTRNT_DIG_GET_IP_ARG', - r'dev_MAC': 'devMac', - r'dev_Name': 'devName', - r'dev_Favorite': 'devFavorite', - r'dev_Group': 'devGroup', - r'dev_Comments': 'devComments', - r'dev_FirstConnection': 'devFirstConnection', - r'dev_LastConnection': 'devLastConnection', - r'dev_LastIP': 'devLastIP', - r'dev_StaticIP': 'devStaticIP', - r'dev_ScanCycle': 'devScan', - r'dev_LogEvents': 'devLogEvents', - r'dev_AlertEvents': 'devAlertEvents', - r'dev_AlertDeviceDown': 'devAlertDown', - r'dev_SkipRepeated': 'devSkipRepeated', - r'dev_LastNotification': 'devLastNotification', - r'dev_PresentLastScan': 'devPresentLastScan', - r'dev_NewDevice': 'devIsNew', - r'dev_Location': 'devLocation', - r'dev_Archived': 'devIsArchived', - r'dev_Network_Node_MAC_ADDR': 'devParentMAC', - r'dev_Network_Node_port': 'devParentPort', - r'dev_Icon': 'devIcon', - r'dev_GUID': 'devGUID', - r'dev_NetworkSite': 'devSite', - r'dev_SSID': 'devSSID', - r'dev_SyncHubNodeName': 'devSyncHubNode', - r'dev_SourcePlugin': 'devSourcePlugin', - r'/home/pi/pialert\b': '/app' } diff --git a/server/scan/device_handling.py b/server/scan/device_handling.py index 948ab52d..636b47ce 100755 --- a/server/scan/device_handling.py +++ b/server/scan/device_handling.py @@ -8,10 +8,11 @@ import subprocess import conf import os import re -from helper import timeNowTZ, get_setting, get_setting_value, list_to_where, resolve_device_name_dig, get_device_name_nbtlookup, get_device_name_nslookup, get_device_name_mdns, check_IP_format, sanitize_SQL_input +from helper import timeNowTZ, get_setting, get_setting_value, list_to_where, check_IP_format, sanitize_SQL_input from logger import mylog from const import vendorsPath, vendorsPathNewest, sql_generateGuid from models.device_instance import DeviceInstance +from scan.name_resolution import NameResolver #------------------------------------------------------------------------------- # Removing devices from the CurrentScan DB table which the user chose to ignore by MAC or IP @@ -481,88 +482,109 @@ def update_devices_data_from_scan (db): mylog('debug','[Update Devices] Update devices end') #------------------------------------------------------------------------------- -def update_devices_names (db): - sql = db.sql #TO-DO - # Initialize variables - recordsToUpdate = [] - recordsNotFound = [] +def update_devices_names(db): + sql = db.sql + resolver = NameResolver(db) + device_handler = DeviceInstance(db) nameNotFound = "(name not found)" - ignored = 0 - notFound = 0 + # Define resolution strategies in priority order + strategies = [ + (resolver.resolve_dig, 'dig'), + (resolver.resolve_mdns, 'mdns'), + (resolver.resolve_nslookup, 'nslookup'), + (resolver.resolve_nbtlookup, 'nbtlookup') + ] - foundDig = 0 - foundmDNSLookup = 0 - foundNsLookup = 0 - foundNbtLookup = 0 + def resolve_devices(devices, resolve_both_name_and_fqdn=True): + """ + Attempts to resolve device names and/or FQDNs using available strategies. + + Parameters: + devices (list): List of devices to resolve. + resolve_both_name_and_fqdn (bool): If True, resolves both name and FQDN. + If False, resolves only FQDN. + + Returns: + recordsToUpdate (list): List of [newName, newFQDN, devMac] or [newFQDN, devMac] for DB update. + recordsNotFound (list): List of [nameNotFound, devMac] for DB update. + foundStats (dict): Number of successes per strategy. + notFound (int): Number of devices not resolved. + """ + recordsToUpdate = [] + recordsNotFound = [] + foundStats = {label: 0 for _, label in strategies} + notFound = 0 - # Gen unknown devices - device_handler = DeviceInstance(db) - # Retrieve devices + for device in devices: + newName = nameNotFound + newFQDN = '' + + # Attempt each resolution strategy in order + for resolve_fn, label in strategies: + resolved = resolve_fn(device['devMac'], device['devLastIP']) + + # Only use name if resolving both name and FQDN + newName = resolved.cleaned if resolve_both_name_and_fqdn else None + newFQDN = resolved.raw + + # If a valid result is found, record it and stop further attempts + if newFQDN not in [nameNotFound, '', 'localhost.'] and ' communications error to ' not in newFQDN: + foundStats[label] += 1 + + if resolve_both_name_and_fqdn: + recordsToUpdate.append([newName, newFQDN, device['devMac']]) + else: + recordsToUpdate.append([newFQDN, device['devMac']]) + break + + # If no name was resolved, queue device for "(name not found)" update + if resolve_both_name_and_fqdn and newName == nameNotFound: + notFound += 1 + if device['devName'] != nameNotFound: + recordsNotFound.append([nameNotFound, device['devMac']]) + + return recordsToUpdate, recordsNotFound, foundStats, notFound + + # --- Step 1: Update device names for unknown devices --- unknownDevices = device_handler.getUnknown() + if unknownDevices: + mylog('verbose', f'[Update Device Name] Trying to resolve devices without name. Unknown devices count: {len(unknownDevices)}') - # skip checks if no unknown devices - if len(unknownDevices) == 0: - return + # Try resolving both name and FQDN + recordsToUpdate, recordsNotFound, foundStats, notFound = resolve_devices(unknownDevices) - # Devices without name - mylog('verbose', f'[Update Device Name] Trying to resolve devices without name. Unknown devices count: {len(unknownDevices)}') + # Log summary + mylog('verbose', f"[Update Device Name] Names Found (DiG/mDNS/NSLOOKUP/NBTSCAN): {len(recordsToUpdate)} ({foundStats['dig']}/{foundStats['mdns']}/{foundStats['nslookup']}/{foundStats['nbtlookup']})") + mylog('verbose', f'[Update Device Name] Names Not Found : {notFound}') - for device in unknownDevices: - newName = nameNotFound - - # Resolve device name with DiG - newName = resolve_device_name_dig (device['devMac'], device['devLastIP']) - - # count - if newName != nameNotFound: - foundDig += 1 - - # Resolve device name with AVAHISCAN plugin data - if newName == nameNotFound: - newName = get_device_name_mdns(db, device['devMac'], device['devLastIP']) + # Apply updates to database + sql.executemany("UPDATE Devices SET devName = ? WHERE devMac = ?", recordsNotFound) + sql.executemany("UPDATE Devices SET devName = ?, devFQDN = ? WHERE devMac = ?", recordsToUpdate) - if newName != nameNotFound: - foundmDNSLookup += 1 + # --- Step 2: Optionally refresh FQDN for all devices --- + if get_setting_value("REFRESH_FQDN"): + allDevices = device_handler.getAll() + if allDevices: + mylog('verbose', f'[Update FQDN] Trying to resolve FQDN. Devices count: {len(allDevices)}') - # Resolve device name with NSLOOKUP plugin data - if newName == nameNotFound: - newName = get_device_name_nslookup(db, device['devMac'], device['devLastIP']) + # Try resolving only FQDN + recordsToUpdate, _, foundStats, notFound = resolve_devices(allDevices, resolve_both_name_and_fqdn=False) - if newName != nameNotFound: - foundNsLookup += 1 - - # Resolve device name with NBTLOOKUP plugin data - if newName == nameNotFound: - newName = get_device_name_nbtlookup(db, device['devMac'], device['devLastIP']) + # Log summary + mylog('verbose', f"[Update FQDN] Names Found (DiG/mDNS/NSLOOKUP/NBTSCAN): {len(recordsToUpdate)} ({foundStats['dig']}/{foundStats['mdns']}/{foundStats['nslookup']}/{foundStats['nbtlookup']})") + mylog('verbose', f'[Update FQDN] Names Not Found : {notFound}') - if newName != nameNotFound: - foundNbtLookup += 1 - - # if still not found update name so we can distinguish the devices where we tried already - if newName == nameNotFound : + # Apply FQDN-only updates + sql.executemany("UPDATE Devices SET devFQDN = ? WHERE devMac = ?", recordsToUpdate) - notFound += 1 - - # if devName is the same as what we will change it to, take no action - # this mitigates a race condition which would overwrite a users edits that occured since the select earlier - if device['devName'] != nameNotFound: - recordsNotFound.append (["(name not found)", device['devMac']]) - else: - # name was found - recordsToUpdate.append ([newName, device['devMac']]) - - # Print log - mylog('verbose', [f'[Update Device Name] Names Found (DiG/mDNS/NSLOOKUP/NBTSCAN): {len(recordsToUpdate)} ({foundDig}/{foundmDNSLookup}/{foundNsLookup}/{foundNbtLookup})'] ) - mylog('verbose', [f'[Update Device Name] Names Not Found : {notFound}'] ) - - # update not found devices with (name not found) - sql.executemany ("UPDATE Devices SET devName = ? WHERE devMac = ? ", recordsNotFound ) - # update names of devices which we were bale to resolve - sql.executemany ("UPDATE Devices SET devName = ? WHERE devMac = ? ", recordsToUpdate ) + # Commit all database changes db.commitDB() + + + #------------------------------------------------------------------------------- # Check if the variable contains a valid MAC address or "Internet" def check_mac_or_internet(input_str): diff --git a/server/scan/name_resolution.py b/server/scan/name_resolution.py new file mode 100755 index 00000000..4e057696 --- /dev/null +++ b/server/scan/name_resolution.py @@ -0,0 +1,83 @@ +import sys +import re +import subprocess +import socket +import dns.resolver + +# Register NetAlertX directories +INSTALL_PATH = "/app" +sys.path.extend([f"{INSTALL_PATH}/server"]) + +import conf +from const import * +from logger import mylog +from helper import get_setting_value + +class ResolvedName: + def __init__(self, raw: str = "(name not found)", cleaned: str = "(name not found)"): + self.raw = raw + self.cleaned = cleaned + + def __str__(self): + return self.cleaned + +class NameResolver: + def __init__(self, db): + self.db = db + + def resolve_from_plugin(self, plugin: str, pMAC: str, pIP: str) -> ResolvedName: + sql = self.db.sql + nameNotFound = ResolvedName() + + # Check by MAC + sql.execute(f""" + SELECT Watched_Value2 FROM Plugins_Objects + WHERE Plugin = '{plugin}' AND Object_PrimaryID = '{pMAC}' + """) + result = sql.fetchall() + self.db.commitDB() + if result: + raw = result[0][0] + return ResolvedName(raw, self.clean_device_name(raw, False)) + + # Check by IP + sql.execute(f""" + SELECT Watched_Value2 FROM Plugins_Objects + WHERE Plugin = '{plugin}' AND Object_SecondaryID = '{pIP}' + """) + result = sql.fetchall() + self.db.commitDB() + if result: + raw = result[0][0] + return ResolvedName(raw, self.clean_device_name(raw, True)) + + return nameNotFound + + def resolve_mdns(self, pMAC, pIP) -> ResolvedName: + return self.resolve_from_plugin("AVAHISCAN", pMAC, pIP) + + def resolve_nslookup(self, pMAC, pIP) -> ResolvedName: + return self.resolve_from_plugin("NSLOOKUP", pMAC, pIP) + + def resolve_nbtlookup(self, pMAC, pIP) -> ResolvedName: + return self.resolve_from_plugin("NBTSCAN", pMAC, pIP) + + def resolve_dig(self, pMAC, pIP) -> ResolvedName: + return self.resolve_from_plugin("DIGSCAN", pMAC, pIP) + + def clean_device_name(self, name: str, match_ip: bool) -> str: + mylog('debug', [f"[cleanDeviceName] input: {name}"]) + + if match_ip: + name += " (IP match)" + + regexes = get_setting_value('NEWDEV_NAME_CLEANUP_REGEX') or [] + for rgx in regexes: + mylog('trace', [f"[cleanDeviceName] applying regex: {rgx}"]) + name = re.sub(rgx, "", name) + + name = re.sub(r'\.$', '', name) + name = name.replace(". (IP match)", " (IP match)") + + mylog('debug', [f"[cleanDeviceName] output: {name}"]) + return name diff --git a/server/workflows/app_events.py b/server/workflows/app_events.py index 364fb791..2d89fe98 100755 --- a/server/workflows/app_events.py +++ b/server/workflows/app_events.py @@ -170,7 +170,7 @@ class AppEvent_obj: END; """ - mylog("verbose", [query]) + # mylog("verbose", [query]) self.db.sql.execute(query) diff --git a/test/test_helper.py b/test/test_helper.py index 576b8601..f1493acf 100755 --- a/test/test_helper.py +++ b/test/test_helper.py @@ -86,9 +86,10 @@ def insert_devices(db_path, num_entries=1): devSSID, devSyncHubNode, devSourcePlugin, - devCustomProps + devCustomProps, + devFQDN ) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?); + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?); """ # List of device types, vendors, groups, locations @@ -130,6 +131,7 @@ def insert_devices(db_path, num_entries=1): dev_sync_hub_node = "" # Left as NULL dev_source_plugin = "" # Left as NULL dev_devCustomProps = "" # Left as NULL + dev_devFQDN = "" # Left as NULL # Execute the insert query cursor.execute(insert_query, ( @@ -163,7 +165,8 @@ def insert_devices(db_path, num_entries=1): dev_ssid, dev_sync_hub_node, dev_source_plugin, - dev_devCustomProps + dev_devCustomProps, + dev_devFQDN )) # Commit after every 1000 rows to improve performance From b4addd96304b79083156b75195f2fd6b29acb628 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 1 Jun 2025 14:27:09 +1000 Subject: [PATCH 091/667] github wf --- .github/workflows/code_checks.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/code_checks.yml b/.github/workflows/code_checks.yml index 7dda0c13..68553a69 100755 --- a/.github/workflows/code_checks.yml +++ b/.github/workflows/code_checks.yml @@ -19,12 +19,13 @@ jobs: - name: Check for absolute path URLs run: | - if grep -r -E "\burl:\s*['\"]\/php" --include=\*.{js,php} .; then + if grep -rE "['\"]\/php\/" --include=\*.{js,php} .; then echo "❌ Found absolute path URLs starting with '/php/'. Please use relative paths." exit 1 else echo "✅ No absolute path URLs found." fi + - name: Check Python syntax run: | set -e From 7fa76346b405cd8639d701de89b9b21617d24bf2 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 1 Jun 2025 14:32:39 +1000 Subject: [PATCH 092/667] github wf --- .github/workflows/code_checks.yml | 14 ++++++++++---- front/php/templates/language/zh_cn.json | 0 2 files changed, 10 insertions(+), 4 deletions(-) mode change 100644 => 100755 front/php/templates/language/zh_cn.json diff --git a/.github/workflows/code_checks.yml b/.github/workflows/code_checks.yml index 68553a69..39324990 100755 --- a/.github/workflows/code_checks.yml +++ b/.github/workflows/code_checks.yml @@ -17,15 +17,21 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Check for absolute path URLs + - name: Check for invalid relative 'php/' URLs in frontend code run: | - if grep -rE "['\"]\/php\/" --include=\*.{js,php} .; then - echo "❌ Found absolute path URLs starting with '/php/'. Please use relative paths." + echo "🔍 Checking for relative 'php/' URLs that should be './php/' or '/php/'..." + + MATCHES=$(grep -rE "['\"]php\/" --include=\*.{js,php,html} . | grep -E "\.get|\.post|\.ajax|fetch|url\s*:") || true + + if [ -n "$MATCHES" ]; then + echo "$MATCHES" + echo "❌ Found improperly relative 'php/' URLs. Use './php/' or '/php/' or a base path." exit 1 else - echo "✅ No absolute path URLs found." + echo "✅ No bad relative 'php/' URLs found." fi + - name: Check Python syntax run: | set -e diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json old mode 100644 new mode 100755 From 75fc11f008f3a423c6d2332dc5ae5af2069351c5 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 1 Jun 2025 14:44:05 +1000 Subject: [PATCH 093/667] github wf --- .github/workflows/code_checks.yml | 11 ++++++----- front/css/app.css | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/code_checks.yml b/.github/workflows/code_checks.yml index 39324990..794545ce 100755 --- a/.github/workflows/code_checks.yml +++ b/.github/workflows/code_checks.yml @@ -17,21 +17,22 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Check for invalid relative 'php/' URLs in frontend code + - name: Check for incorrect absolute '/php/' URLs in frontend code run: | - echo "🔍 Checking for relative 'php/' URLs that should be './php/' or '/php/'..." + echo "🔍 Checking for incorrect absolute '/php/' URLs (should be 'php/' or './php/')..." - MATCHES=$(grep -rE "['\"]php\/" --include=\*.{js,php,html} . | grep -E "\.get|\.post|\.ajax|fetch|url\s*:") || true + MATCHES=$(grep -rE "['\"]\/php\/" --include=\*.{js,php,html} ./front | grep -E "\.get|\.post|\.ajax|fetch|url\s*:") || true if [ -n "$MATCHES" ]; then echo "$MATCHES" - echo "❌ Found improperly relative 'php/' URLs. Use './php/' or '/php/' or a base path." + echo "❌ Found incorrectly absolute '/php/' URLs. Use 'php/' or './php/' for relative paths." exit 1 else - echo "✅ No bad relative 'php/' URLs found." + echo "✅ No bad '/php/' URLs found." fi + - name: Check Python syntax run: | set -e diff --git a/front/css/app.css b/front/css/app.css index 39cfb9fe..202bab03 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -1098,7 +1098,7 @@ height: 50px; input[readonly] { /* Apply styles to the readonly input */ background-color: #646566 !important; - color: #000; + color: #e6e6e6; cursor: not-allowed; } From 415394fce208ca7872f56a1e6bfc7a7e3d5a0349 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 1 Jun 2025 14:54:49 +1000 Subject: [PATCH 094/667] reverse proxy fixes --- front/appEventsCore.php | 2 +- front/deviceDetailsEdit.php | 2 +- front/multiEditCore.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/front/appEventsCore.php b/front/appEventsCore.php index 729ec9ce..14316240 100755 --- a/front/appEventsCore.php +++ b/front/appEventsCore.php @@ -19,7 +19,7 @@ showSpinner() $(document).ready(function() { // Load JSON data from the provided URL - $.getJSON('/php/server/query_json.php?file=table_appevents.json', function(data) { + $.getJSON('php/server/query_json.php?file=table_appevents.json', function(data) { // Process the JSON data and generate UI dynamically processData(data) diff --git a/front/deviceDetailsEdit.php b/front/deviceDetailsEdit.php index 12f598d4..26680816 100755 --- a/front/deviceDetailsEdit.php +++ b/front/deviceDetailsEdit.php @@ -63,7 +63,7 @@ // some race condition, need to implement delay setTimeout(() => { - $.get('/php/server/query_json.php', { file: 'table_settings.json', nocache: Date.now() }, function(res) { + $.get('php/server/query_json.php', { file: 'table_settings.json', nocache: Date.now() }, function(res) { settingsData = res["data"]; diff --git a/front/multiEditCore.php b/front/multiEditCore.php index dbada439..f5eb327f 100755 --- a/front/multiEditCore.php +++ b/front/multiEditCore.php @@ -77,7 +77,7 @@ // some race condition, need to implement delay setTimeout(() => { - $.get('/php/server/query_json.php', { file: 'table_settings.json', nocache: Date.now() }, function(res) { + $.get('php/server/query_json.php', { file: 'table_settings.json', nocache: Date.now() }, function(res) { settingsData = res["data"]; From 503027c06e45c340a808a0344a1c7e4e801eb263 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 1 Jun 2025 15:40:17 +1000 Subject: [PATCH 095/667] debug Online_History #1020 --- server/helper.py | 21 +++++++++++++++++++++ server/scan/session_events.py | 20 +++++++++++++------- 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/server/helper.py b/server/helper.py index e8c570a9..0f729f4b 100755 --- a/server/helper.py +++ b/server/helper.py @@ -634,6 +634,27 @@ def collect_lang_strings(json, pref, stringSqlParams): # Misc #------------------------------------------------------------------------------- +#------------------------------------------------------------------------------- +def print_table_schema(db, table): + sql = db.sql + sql.execute(f"PRAGMA table_info({table})") + result = sql.fetchall() + + if not result: + mylog('none', f'[Schema] Table "{table}" not found or has no columns.') + return + + mylog('debug', f'[Schema] Structure for table: {table}') + header = f"{'cid':<4} {'name':<20} {'type':<10} {'notnull':<8} {'default':<10} {'pk':<2}" + mylog('debug', header) + mylog('debug', '-' * len(header)) + + for row in result: + # row = (cid, name, type, notnull, dflt_value, pk) + line = f"{row[0]:<4} {row[1]:<20} {row[2]:<10} {row[3]:<8} {str(row[4]):<10} {row[5]:<2}" + mylog('debug', line) + + #------------------------------------------------------------------------------- def checkNewVersion(): mylog('debug', [f"[Version check] Checking if new version available"]) diff --git a/server/scan/session_events.py b/server/scan/session_events.py index cb3811c5..842c2815 100755 --- a/server/scan/session_events.py +++ b/server/scan/session_events.py @@ -6,11 +6,14 @@ sys.path.extend([f"{INSTALL_PATH}/server"]) import conf from scan.device_handling import create_new_devices, print_scan_stats, save_scanned_devices, update_devices_data_from_scan, exclude_ignored_devices -from helper import timeNowTZ -from logger import mylog +from helper import timeNowTZ, print_table_schema, get_setting_value +from logger import mylog, Logger from messaging.reporting import skip_repeated_notifications +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + #=============================================================================== # SCAN NETWORK #=============================================================================== @@ -248,7 +251,7 @@ def insertOnlineHistory(db): # Query to fetch all relevant device counts in one go query = """ SELECT - COUNT(*) AS allDevics, + COUNT(*) AS allDevices, SUM(CASE WHEN devIsArchived = 1 THEN 1 ELSE 0 END) AS archivedDevices, SUM(CASE WHEN devPresentLastScan = 1 THEN 1 ELSE 0 END) AS onlineDevices, SUM(CASE WHEN devPresentLastScan = 0 AND devAlertDown = 1 THEN 1 ELSE 0 END) AS downDevices @@ -257,12 +260,12 @@ def insertOnlineHistory(db): deviceCounts = db.read(query)[0] # Assuming db.read returns a list of rows, take the first (and only) row - allDevics = deviceCounts['allDevics'] + allDevices = deviceCounts['allDevices'] archivedDevices = deviceCounts['archivedDevices'] onlineDevices = deviceCounts['onlineDevices'] downDevices = deviceCounts['downDevices'] - offlineDevices = allDevics - archivedDevices - onlineDevices + offlineDevices = allDevices - archivedDevices - onlineDevices # Prepare the insert query using parameterized inputs insert_query = """ @@ -270,10 +273,13 @@ def insertOnlineHistory(db): VALUES (?, ?, ?, ?, ?, ?) """ - mylog('debug', f'[Presence graph] Sql query: {insert_query} with values: {scanTimestamp}, {onlineDevices}, {downDevices}, {allDevics}, {archivedDevices}, {offlineDevices}') + mylog('debug', f'[Presence graph] Sql query: {insert_query} with values: {scanTimestamp}, {onlineDevices}, {downDevices}, {allDevices}, {archivedDevices}, {offlineDevices}') + + # Debug output + print_table_schema(db, "Online_History") # Insert the gathered data into the history table - sql.execute(insert_query, (scanTimestamp, onlineDevices, downDevices, allDevics, archivedDevices, offlineDevices)) + sql.execute(insert_query, (scanTimestamp, onlineDevices, downDevices, allDevices, archivedDevices, offlineDevices)) db.commitDB() From f3aeaa6344c1b2af530d6e0dd6cb25b880188631 Mon Sep 17 00:00:00 2001 From: Sylvain Pichon Date: Sun, 1 Jun 2025 06:51:28 +0200 Subject: [PATCH 096/667] Translated using Weblate (French) Currently translated at 100.0% (746 of 746 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/fr/ --- front/php/templates/language/fr_fr.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) mode change 100755 => 100644 front/php/templates/language/fr_fr.json diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100755 new mode 100644 index e64cb380..558c69d0 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -211,7 +211,7 @@ "Device_TableHead_AlertDown": "Alerter si En panne", "Device_TableHead_Connected_Devices": "Connexions", "Device_TableHead_CustomProps": "Champs / Actions", - "Device_TableHead_FQDN": "", + "Device_TableHead_FQDN": "Nom de domaine FQDN", "Device_TableHead_Favorite": "Favori", "Device_TableHead_FirstSession": "Première session", "Device_TableHead_GUID": "GUID", @@ -560,8 +560,8 @@ "Presence_Shortcut_Favorites": "Favoris", "Presence_Shortcut_NewDevices": "Nouveaux appareils", "Presence_Title": "Présence par appareil", - "REFRESH_FQDN_description": "", - "REFRESH_FQDN_name": "", + "REFRESH_FQDN_description": "Rescanne tous les appareils et met à jour leur nom de domaine complètement qualifié (FQDN). Si désactivé, seul les appareils sans nom connu sont scannés, pour améliorer les performances. Dans ce cas, les noms de domaine FQDN sont mis à jour uniquement durant la découverte initiale des appareils.", + "REFRESH_FQDN_name": "Rafraîchir les noms de domaine FQDN", "REPORT_DASHBOARD_URL_description": "Cette URL est utilisée comme base pour générer les liens des rapports HTML (par ex. les courriels). Renseignez l'adresse complète, commençant par http:// et incluznt le numero de port (sans slash / à la fin).", "REPORT_DASHBOARD_URL_name": "URL de NetAlertX", "REPORT_ERROR": "La page que vous cherchez est temporairement indisponible. Merci de réessayer dans quelques secondes", @@ -745,4 +745,4 @@ "settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. Il n'y a pas de pas de contrôle.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage." -} \ No newline at end of file +} From a282d2ff08c7afab48e75c1fa55dd414be50a4e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Sun, 1 Jun 2025 06:40:39 +0200 Subject: [PATCH 097/667] Translated using Weblate (Ukrainian) Currently translated at 100.0% (746 of 746 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/uk/ --- front/php/templates/language/uk_ua.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) mode change 100755 => 100644 front/php/templates/language/uk_ua.json diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100755 new mode 100644 index 0a4f5741..fdecfca5 --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -211,7 +211,7 @@ "Device_TableHead_AlertDown": "Сповіщення вниз", "Device_TableHead_Connected_Devices": "Зв'язки", "Device_TableHead_CustomProps": "Реквізит / дії", - "Device_TableHead_FQDN": "", + "Device_TableHead_FQDN": "FQDN", "Device_TableHead_Favorite": "улюблений", "Device_TableHead_FirstSession": "Перша сесія", "Device_TableHead_GUID": "GUID", @@ -560,8 +560,8 @@ "Presence_Shortcut_Favorites": "Вибране", "Presence_Shortcut_NewDevices": "Нові пристрої", "Presence_Title": "Присутність за пристроєм", - "REFRESH_FQDN_description": "", - "REFRESH_FQDN_name": "", + "REFRESH_FQDN_description": "Повторно сканує всі пристрої та оновлює їхнє повністю кваліфіковане доменне ім'я (FQDN). Якщо вимкнено, для покращення продуктивності скануються лише пристрої без відомого імені. У цьому випадку повне доменне ім'я (FQDN) оновлюється лише під час початкового виявлення пристрою.", + "REFRESH_FQDN_name": "Оновити FQDN", "REPORT_DASHBOARD_URL_description": "Ця URL-адреса використовується як основа для створення посилань у звітах HTML (наприклад, електронних листах). Введіть повну URL-адресу, починаючи з http://, включаючи номер порту (без скісної риски /).", "REPORT_DASHBOARD_URL_name": "URL-адреса NetAlertX", "REPORT_ERROR": "Сторінка, яку ви шукаєте, тимчасово недоступна, спробуйте ще раз через кілька секунд", @@ -745,4 +745,4 @@ "settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. Перевірка не виконана.", "test_event_icon": "fa-vial-circle- check", "test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни." -} \ No newline at end of file +} From 71a36f2fe612e38176ae83c7fe1fb2ae4fe26fe6 Mon Sep 17 00:00:00 2001 From: Massimo Pissarello Date: Mon, 2 Jun 2025 02:51:51 +0200 Subject: [PATCH 098/667] Translated using Weblate (Italian) Currently translated at 100.0% (746 of 746 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/it/ --- front/php/templates/language/it_it.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) mode change 100755 => 100644 front/php/templates/language/it_it.json diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json old mode 100755 new mode 100644 index d7d82050..f4fce602 --- a/front/php/templates/language/it_it.json +++ b/front/php/templates/language/it_it.json @@ -211,7 +211,7 @@ "Device_TableHead_AlertDown": "Avviso disconnessione", "Device_TableHead_Connected_Devices": "Connessioni", "Device_TableHead_CustomProps": "Proprietà/Azioni", - "Device_TableHead_FQDN": "", + "Device_TableHead_FQDN": "FQDN", "Device_TableHead_Favorite": "Preferito", "Device_TableHead_FirstSession": "Prima sessione", "Device_TableHead_GUID": "GUID", @@ -560,8 +560,8 @@ "Presence_Shortcut_Favorites": "Preferiti", "Presence_Shortcut_NewDevices": "Nuovi dispositivi", "Presence_Title": "Presenza per dispositivo", - "REFRESH_FQDN_description": "", - "REFRESH_FQDN_name": "", + "REFRESH_FQDN_description": "Esegue nuovamente la scansione di tutti i dispositivi e aggiorna il loro nome di dominio completo (FQDN). Se disabilitato, vengono scansionati solo i dispositivi senza nome noto per migliorare le prestazioni. In questo caso, l'FQDN viene aggiornato solo durante la rilevazione iniziale del dispositivo.", + "REFRESH_FQDN_name": "Aggiorna FQDN", "REPORT_DASHBOARD_URL_description": "Questo URL viene utilizzato come base per generare collegamenti nei report HTML (ad esempio: e-mail). Inserisci l'URL completo che inizia con http:// incluso il numero di porta (nessuna barra finale /).", "REPORT_DASHBOARD_URL_name": "URL NetAlertX", "REPORT_ERROR": "La pagina che stai cercando è momentaneamente non disponibile, riprova tra qualche secondo", @@ -745,4 +745,4 @@ "settings_update_item_warning": "Aggiorna il valore qui sotto. Fai attenzione a seguire il formato precedente. La convalida non viene eseguita.", "test_event_icon": "fa-vial-circle-check", "test_event_tooltip": "Salva le modifiche prima di provare le nuove impostazioni." -} \ No newline at end of file +} From 10e8c08ce3657103cd273ae213be32aef248a19a Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 5 Jun 2025 13:38:43 +1000 Subject: [PATCH 099/667] initCheck #1065 --- back/app.conf | 2 +- docker-compose.yml | 1 + docs/INITIAL_SETUP.md | 107 +++++++++++++++----- docs/NAME_RESOLUTION.md | 6 ++ docs/REVERSE_DNS.md | 5 + front/css/app.css | 38 +++++++ front/devices.php | 4 +- front/initCheck.php | 52 ++++++++++ front/js/common.js | 71 ++++++++----- front/js/tests.js | 128 ++++++++++++++++++++++++ front/maintenance.php | 70 +++++++++---- front/multiEditCore.php | 4 - front/php/templates/header.php | 3 + front/php/templates/language/ar_ar.json | 5 + front/php/templates/language/ca_ca.json | 5 + front/php/templates/language/cs_cz.json | 5 + front/php/templates/language/de_de.json | 5 + front/php/templates/language/en_us.json | 5 + front/php/templates/language/es_es.json | 5 + front/php/templates/language/fr_fr.json | 5 + front/php/templates/language/it_it.json | 5 + front/php/templates/language/nb_no.json | 5 + front/php/templates/language/pl_pl.json | 5 + front/php/templates/language/pt_br.json | 5 + front/php/templates/language/ru_ru.json | 5 + front/php/templates/language/tr_tr.json | 5 + front/php/templates/language/uk_ua.json | 5 + front/php/templates/language/zh_cn.json | 5 + front/plugins/csv_backup/config.json | 4 +- 29 files changed, 491 insertions(+), 79 deletions(-) create mode 100755 front/initCheck.php diff --git a/back/app.conf b/back/app.conf index b00fa6f2..b966ea84 100755 --- a/back/app.conf +++ b/back/app.conf @@ -18,7 +18,7 @@ # SCAN_SUBNETS = [ '192.168.1.0/24 --interface=eth1', '192.168.1.0/24 --interface=eth0' ] DISCOVER_PLUGINS=True -SCAN_SUBNETS=['192.168.1.0/24 --interface=eth0'] +SCAN_SUBNETS=['--localnet'] TIMEZONE='Europe/Berlin' LOADED_PLUGINS=['ARPSCAN','CSVBCKP','DBCLNP', 'DIGSCAN', 'INTRNT','MAINT','NEWDEV', 'NBTSCAN', 'NSLOOKUP','NTFPRCS', 'AVAHISCAN', 'SETPWD','SMTP', 'SYNC', 'VNDRPDT', 'WORKFLOWS', 'UI'] diff --git a/docker-compose.yml b/docker-compose.yml index 296f79cd..06e06851 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -53,6 +53,7 @@ services: - ${DEV_LOCATION}/front/plugins.php:/app/front/plugins.php - ${DEV_LOCATION}/front/pluginsCore.php:/app/front/pluginsCore.php - ${DEV_LOCATION}/front/index.php:/app/front/index.php + - ${DEV_LOCATION}/front/initCheck.php:/app/front/initCheck.php - ${DEV_LOCATION}/front/maintenance.php:/app/front/maintenance.php - ${DEV_LOCATION}/front/network.php:/app/front/network.php - ${DEV_LOCATION}/front/presence.php:/app/front/presence.php diff --git a/docs/INITIAL_SETUP.md b/docs/INITIAL_SETUP.md index 8ede12eb..d5fa8afd 100755 --- a/docs/INITIAL_SETUP.md +++ b/docs/INITIAL_SETUP.md @@ -1,42 +1,99 @@ -# ⚙ Initial Setup +# ⚡ Quick Start Guide -## 📁 Configuration Files +Get **NetAlertX** up and running in a few simple steps. -- On first run, the app generates a default `app.conf` and `app.db` if unavailable. -- Preferred method: Use the **Settings UI**. -- If the UI is inaccessible, manually edit [`app.conf`](https://github.com/jokob-sk/NetAlertX/tree/main/back) in `/app/config/`. +> [!TIP] +> Enable additional plugins under **Settings → `LOADED_PLUGINS`**. +> Make sure to **save** your changes and **reload the page** to activate them. +> ![Loaded plugins settings](./img/PLUGINS/loaded_plugins_setting.png) --- -## 🖥️ Setting Up Scanners +### 1. Configure Scanner Plugin(s) -- Define networks to scan by entering accessible subnets. -- Default plugin: **ARPSCAN** → Requires at least one valid subnet + interface in `SCAN_SUBNETS`. -- 📖 [Subnet & VLAN setup guide](./SUBNETS.md) (for troubleshooting and advanced scenarios). +**Initial configuration**: `ARPSCAN`, `INTRNT` -### 🔄 PiHole Sync -- If using **PiHole**, devices can be synced automatically. -- 📖 [PiHole configuration guide](./PIHOLE_GUIDE.md). - -### 📦 Bulk Import -> [!NOTE] -> You can bulk-import devices via the [CSV import method](./DEVICES_BULK_EDITING.md). +> [!NOTE] +> `ARPSCAN` and `INTRNT` scan the current network. You can complement them with other `🔍 dev scanner` plugins like `NMAPDEV`, or import devices using `📥 importer` plugins. +> See the [Subnet & VLAN Setup Guide](./SUBNETS.md) and [Remote Networks](./REMOTE_NETWORKS.md) for advanced configurations. --- -## 🌍 Community Guides +### 2. Choose a Publisher Plugin -- Various community-written configuration guides in **Chinese, Korean, German, French**. -- 📖 [Community Guides](./COMMUNITY_GUIDES.md) +**Initial configuration**: `SMTP` -> ⚠️ **Note:** These guides may be outdated. Always refer to the official documentation first. +> [!NOTE] +> Configure your SMTP settings or enable additional `▶️ publisher` plugins to send alerts. +> For more flexibility, try [📚 `_publisher_apprise`](/front/plugins/_publisher_apprise/), which supports over 80 notification services. --- -## 🛠️ Common Issues +### 3. Set Up a Network Topology Diagram -Before creating a new issue: +**Initial configuration**: The app auto-selects a root node (MAC `internet`) and attempts to identify other network devices by vendor or name. -- Check if a similar issue was [already resolved](https://github.com/jokob-sk/NetAlertX/issues?q=is%3Aissue+is%3Aclosed). -- Review [common debugging tips](./DEBUG_TIPS.md). -- Check [Common Issues](./COMMON_ISSUES.md) +> [!NOTE] +> Visualize and manage your network using the [Network Guide](./NETWORK_TREE.md). +> Some plugins (e.g., `UNFIMP`) build the topology automatically, or you can use [Custom Workflows](./WORKFLOWS.md) to generate it based on your own rules. + +--- + +### 4. Configure Notifications + +**Initial configuration**: Notifies on `new_devices`, `down_devices`, and `events` as defined in `NTFPRCS_INCLUDED_SECTIONS`. + +> [!NOTE] +> Notification settings support global, plugin-specific, and per-device rules. +> For fine-tuning, refer to the [Notification Guide](./NOTIFICATIONS.md). + +--- + +### 5. Set Up Workflows + +**Initial configuration**: N/A + +> [!NOTE] +> Automate responses to device status changes, group management, topology updates, and more. +> See the [Workflows Guide](./WORKFLOWS.md) to simplify your network operations. + +--- + +### 6. Backup Your Configuration + +**Initial configuration**: The `CSVBCKP` plugin creates a daily backup to `/config/devices.csv`. + +> [!NOTE] +> For a complete backup strategy, follow the [Backup Guide](./BACKUPS.md). + +--- + +### 7. (Optional) Create Custom Plugins + +**Initial configuration**: N/A + +> [!NOTE] +> Build your own scanner, importer, or publisher plugin. +> See the [Plugin Development Guide](./PLUGINS_DEV.md) and included video tutorials. + +--- + +## 📁 Recommended Guides + +* 📘 [PiHole Setup Guide](./PIHOLE_GUIDE.md) +* 📘 [CSV Import Method](./DEVICES_BULK_EDITING.md) +* 📘 [Community Guides (Chinese, Korean, German, French)](./COMMUNITY_GUIDES.md) + +--- + +## 🛠️ Troubleshooting & Help + +Before opening a new issue: + +* 📘 [Common Issues](./COMMON_ISSUES.md) +* 🧰 [Debugging Tips](./DEBUG_TIPS.md) +* ✅ [Browse resolved GitHub issues](https://github.com/jokob-sk/NetAlertX/issues?q=is%3Aissue+is%3Aclosed) + +--- + +Let me know if you want a condensed README version, separate pages for each section, or UI copy based on this! diff --git a/docs/NAME_RESOLUTION.md b/docs/NAME_RESOLUTION.md index 0f788703..a726c68e 100755 --- a/docs/NAME_RESOLUTION.md +++ b/docs/NAME_RESOLUTION.md @@ -2,6 +2,12 @@ Name resolution in NetAlertX relies on multiple plugins to resolve device names from IP addresses. If you are seeing `(name not found)` as device names, follow these steps to diagnose and fix the issue. +> [!TIP] +> Before proceeding, make sure [Reverse DNS](./REVERSE_DNS.md) is enabled on your network. +> You can control how names are handled and cleaned using the `NEWDEV_NAME_CLEANUP_REGEX` setting. +> To auto-update Fully Qualified Domain Names (FQDN), enable the `REFRESH_FQDN` setting. + + ## Required Plugins For best results, ensure the following name resolution plugins are enabled: diff --git a/docs/REVERSE_DNS.md b/docs/REVERSE_DNS.md index 4f0f1fc5..1f4b3db3 100755 --- a/docs/REVERSE_DNS.md +++ b/docs/REVERSE_DNS.md @@ -2,6 +2,11 @@ If you are running a DNS server, such as **AdGuard**, set up **Private reverse DNS servers** for a better name resolution on your network. Enabling this setting will enable NetAlertX to execute dig and nslookup commands to automatically resolve device names based on their IP addresses. +> [!TIP] +> Before proceeding, ensure that [name resolution plugins](./NAME_RESOLUTION.md) are enabled. +> You can customize how names are cleaned using the `NEWDEV_NAME_CLEANUP_REGEX` setting. +> To auto-update Fully Qualified Domain Names (FQDN), enable the `REFRESH_FQDN` setting. + > Example 1: Reverse DNS `disabled` > diff --git a/front/css/app.css b/front/css/app.css index 202bab03..3b90b3ee 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -695,6 +695,39 @@ body /* maintenance buttons */ +#file-check-list{ + display: block; +} + +.file-checking .icon-wrap{ + width: 200px; + overflow: hidden; + text-overflow: ellipsis; + display: block; +} + +.file-checking .icon-wrap i{ + position: absolute; + font-size: xx-large; + right: 0; + top: 0; + opacity: 0.2; +} + +.file-checking .file-name-wrap{ + overflow: hidden; + text-overflow: ellipsis; + display: flex; + padding: 5px; +} + +.file-checking{ + display: block; + overflow: hidden; + text-overflow: ellipsis; +} + + .dbtools-button { display: inline-block; width: 160px; @@ -1418,6 +1451,11 @@ input[readonly] { cursor: default; } +.small-box:hover +{ + color: inherit; +} + /* ----------------------------------------------------------------- */ /* Device details */ /* ----------------------------------------------------------------- */ diff --git a/front/devices.php b/front/devices.php index e4c917c6..16c01952 100755 --- a/front/devices.php +++ b/front/devices.php @@ -768,8 +768,8 @@ function initializeDatatable (status) { {width: '30px', targets: [mapIndx(3), mapIndx(10), mapIndx(13), mapIndx(18)] }, {orderData: [mapIndx(12)], targets: mapIndx(8) }, - // Device Name - {targets: [mapIndx(0)], + // Device Name and FQDN + {targets: [mapIndx(0), mapIndx(27)], 'createdCell': function (td, cellData, rowData, row, col) { // console.log(cellData) diff --git a/front/initCheck.php b/front/initCheck.php new file mode 100755 index 00000000..5d1c9dd9 --- /dev/null +++ b/front/initCheck.php @@ -0,0 +1,52 @@ + + +
+
+
+
+ +
+
+ + +
+
+
+
+
+
+
+

+
+
+
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/front/js/common.js b/front/js/common.js index 2fe35796..7bbaaa11 100755 --- a/front/js/common.js +++ b/front/js/common.js @@ -113,7 +113,7 @@ function deleteAllCookies() { function cacheSettings() { return new Promise((resolve, reject) => { - if(!getCache('completedCalls').includes('cacheSettings')) + if(!getCache('cacheSettings_completed') === true) { $.get('php/server/query_json.php', { file: 'table_settings.json', nocache: Date.now() }, function(resSet) { @@ -211,8 +211,18 @@ function getSetting (key) { function cacheStrings() { return new Promise((resolve, reject) => { - // Create a promise for each language - languagesToLoad = ['en_us', getLangCode()] + // Create a promise for each language (include en_us by default as fallback) + languagesToLoad = ['en_us'] + + additionalLanguage = getLangCode() + + if(additionalLanguage != 'en_us') + { + languagesToLoad.push(additionalLanguage) + } + + console.log(languagesToLoad); + const languagePromises = languagesToLoad.map((language_code) => { return new Promise((resolveLang, rejectLang) => { // Fetch core strings and translations @@ -235,7 +245,7 @@ function cacheStrings() { }); // Handle successful completion of language processing - handleSuccess(`cacheStrings[${language_code}]`, resolveLang); + handleSuccess(`cacheStrings`, resolveLang); }) .fail((pluginError) => { // Handle failure in plugin strings fetching @@ -356,9 +366,11 @@ function getLangCode() { function localizeTimestamp(result) { - // contains TZ in format Europe/Berlin tz = getSetting("TIMEZONE") + + // set default if not available or app still loading + tz == "" ? tz = 'Europe/Berlin' : tz = tz; const date = new Date(result); // Assumes result is a timestamp or ISO string const formatter = new Intl.DateTimeFormat('default', { @@ -1366,8 +1378,8 @@ function restartBackend() { const sessionStorageKey = "myScriptExecuted_common_js"; var completedCalls = [] var completedCalls_final = ['cacheSettings', 'cacheStrings', 'cacheDevices']; -var completedCallsCount = 0; -var completedCallsCount_final; +var lang_completedCalls = 0; + // ----------------------------------------------------------------------------- // Clearing all the caches @@ -1453,12 +1465,27 @@ async function isGraphQLServerRunning() { // Check if the code has been executed before by checking sessionStorage function isAppInitialized() { - completedCalls = parseInt(getCache("completedCallsCount")); - shouldBeCompletedCalls = getLangCode() == 'en_us' ? 3 : 4; + lang_shouldBeCompletedCalls = getLangCode() == 'en_us' ? 1 : 2; - return ( - completedCalls >= shouldBeCompletedCalls - ); + // check if each ajax call completed succesfully + $.each(completedCalls_final, function(index, call_name){ + + if(getCache(call_name + "_completed") != "true") + { + console.log(`[isAppInitialized] AJAX call ${call_name} unsuccesful: ${getCache(call_name + "_completed")}`) + return false; + } + + }); + + // check if all required languages chached + if(parseInt(getCache("cacheStringsCountCompleted")) != lang_shouldBeCompletedCalls) + { + console.log(`[isAppInitialized] AJAX call cacheStrings unsuccesful: ${getCache("cacheStringsCountCompleted")} out of ${lang_shouldBeCompletedCalls}`) + return false; + } + + return true; } // ----------------------------------------------------------------------------- @@ -1489,27 +1516,25 @@ async function executeOnce() { // Function to handle successful completion of an AJAX call const handleSuccess = (callName) => { console.log(`AJAX call successful: ${callName}`); - // completedCalls.push(callName); - // setCache('completedCalls', mergeUniqueArrays(getCache('completedCalls').split(','), [callName])); - val = getCache('completedCallsCount'); - - if(val == "") + if(callName.includes("cacheStrings")) { - val = 0; - } else - { - val = parseInt(val) + completed_tmp = getCache("cacheStringsCountCompleted"); + completed_tmp == "" ? completed_tmp = 0 : completed_tmp = completed_tmp; + completed_tmp++; + setCache("cacheStringsCountCompleted", completed_tmp); } - setCache('completedCallsCount', val + 1) + setCache(callName + "_completed", true) }; // ----------------------------------------------------------------------------- // Function to handle failure of an AJAX call const handleFailure = (callName, callback) => { - console.error(`AJAX call ${callName} failed`); + msg = `AJAX call ${callName} failed` + console.error(msg); // Implement retry logic here if needed + write_notification(msg, 'interrupt') }; // ----------------------------------------------------------------------------- diff --git a/front/js/tests.js b/front/js/tests.js index 375031fe..67261ea8 100755 --- a/front/js/tests.js +++ b/front/js/tests.js @@ -26,6 +26,134 @@ function lockDatabase(delay=20) { } +const requiredFiles = [ + 'app_state.json', + 'plugins.json', + 'table_devices.json', + 'table_devices_filters.json', + 'table_devices_tiles.json', + 'table_notifications.json', + 'table_online_history.json', + 'table_appevents.json', + 'table_custom_endpoint.json', + 'table_events_pending_alert.json', + 'table_plugins_events.json', + 'table_plugins_history.json', + 'table_plugins_language_strings.json', + 'table_plugins_objects.json', + 'table_settings.json', + 'user_notifications.json' + ]; + + const internalChecks = ['isAppInitialized', 'isGraphQLServerRunning']; + + const fileStatus = {}; // Track file check results + + function updateFileStatusUI(file, status) { + const item = $(`#file-${file.replace(/[^a-z0-9]/gi, '-')}`); + const icon = item.find('span.icon-wrap'); + + if (status === 'ok') { + icon.html(''); + } else if (status === 'fail') { + icon.html(''); + } else { + icon.html(''); + } + } + + + function checkAppInitializedJson() { + requiredFiles.forEach(file => { + $.get('php/server/query_json.php', { file, nocache: Date.now() }) + .done(() => { + if (fileStatus[file] !== 'ok') { + fileStatus[file] = 'ok'; + updateFileStatusUI(file, 'ok'); + } + }) + .fail(() => { + fileStatus[file] = 'fail'; + updateFileStatusUI(file, 'fail'); + }); + }); + + const allOk = requiredFiles.every(file => fileStatus[file] === 'ok'); + + if (allOk) { + checkInternalStatusAfterFiles(); + } else { + setTimeout(checkAppInitializedJson, 1000); + } + } + + + function checkInternalStatusAfterFiles() { + const promises = [ + waitForAppInitialized().then(() => { + fileStatus['isAppInitialized'] = 'ok'; + updateFileStatusUI('isAppInitialized', 'ok'); + }).catch(() => { + fileStatus['isAppInitialized'] = 'fail'; + updateFileStatusUI('isAppInitialized', 'fail'); + }), + + waitForGraphQLServer().then(() => { + fileStatus['isGraphQLServerRunning'] = 'ok'; + updateFileStatusUI('isGraphQLServerRunning', 'ok'); + }).catch(() => { + fileStatus['isGraphQLServerRunning'] = 'fail'; + updateFileStatusUI('isGraphQLServerRunning', 'fail'); + }) + ]; + + Promise.allSettled(promises).then(() => { + const allPassed = internalChecks.every(key => fileStatus[key] === 'ok'); + if (allPassed) { + $('#check-status').show(); + $('#check-status-plc').hide(); + } else { + setTimeout(checkInternalStatusAfterFiles, 1000); + } + }); + } + function waitForAppInitialized() { + return new Promise((resolve, reject) => { + if (isAppInitialized()) { + resolve(); + } else { + reject(); + } + }); + } + +// Initial UI setup for all items +function checkAppInitializedJsonInit() { + const allItems = [...requiredFiles, ...internalChecks]; + + allItems.forEach(file => { + + + $('#file-check-list').append(` +
+
+
+ ${file} + +
+
+
+ `); + + fileStatus[file] = 'checking'; + }); + + checkAppInitializedJson(); +} + + + + diff --git a/front/maintenance.php b/front/maintenance.php index 34df64d5..810078e1 100755 --- a/front/maintenance.php +++ b/front/maintenance.php @@ -51,7 +51,7 @@ $db->close();

- +

@@ -59,7 +59,7 @@ $db->close();
- +
"> @@ -111,7 +111,7 @@ $db->close();
-
+ + +
+
+
+ + + +
+
+
+ +
+
-
+
- + - + -
-
+ +
+
+ + + + + + + + +
- - - - - -
- + diff --git a/front/multiEditCore.php b/front/multiEditCore.php index f5eb327f..111fc1fd 100755 --- a/front/multiEditCore.php +++ b/front/multiEditCore.php @@ -64,10 +64,6 @@
-
- - - - diff --git a/front/settings.php b/front/settings.php index 0171cff8..bc9a2d08 100755 --- a/front/settings.php +++ b/front/settings.php @@ -514,10 +514,11 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX initListInteractionOptions() // init remove and edit listitem click gestures }, 50); - setupSmoothScrolling() + setupSmoothScrolling(); // try to initialize select2 - initSelect2() - hideSpinner() + initSelect2(); + initHoverNodeInfo(); + hideSpinner(); } From 5b6424d405e0ec36f7988dfa4a16db45328b7217 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Wed, 16 Jul 2025 22:28:40 +1000 Subject: [PATCH 258/667] hover-box in devices lists --- front/css/app.css | 3 --- front/devices.php | 30 +++++++++++++++++++++++------- front/js/ui_components.js | 5 +++++ front/network.php | 2 ++ 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/front/css/app.css b/front/css/app.css index 0932fb05..0f71eaf6 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -1542,14 +1542,11 @@ input[readonly] { display: none; } - - #panDetails #NEWDEV_devCustomProps_label { display: none; } - #deviceDetailsEdit .select2-container--default .select2-selection--multiple .select2-selection__choice a { color: #bec5cb; diff --git a/front/devices.php b/front/devices.php index 0738ce29..52bfa502 100755 --- a/front/devices.php +++ b/front/devices.php @@ -776,17 +776,33 @@ function initializeDatatable (status) { // Device Name and FQDN {targets: [mapIndx(0), mapIndx(27)], - 'createdCell': function (td, cellData, rowData, row, col) { - + 'createdCell': function (td, cellData, rowData, row, col) { + // console.log(cellData) - $(td).html (''+ cellData +''); + $(td).html ( + ` + + ${cellData} + + ` + ); } }, // Connected Devices {targets: [mapIndx(15)], - 'createdCell': function (td, cellData, rowData, row, col) { - - + 'createdCell': function (td, cellData, rowData, row, col) { // check if this is a network device if(getSetting("NETWORK_DEVICE_TYPES").includes(`'${rowData[mapIndx(2)]}'`) ) { @@ -965,7 +981,7 @@ function initializeDatatable (status) { }, debounceTime); }); - + initHoverNodeInfo(); hideSpinner(); }, diff --git a/front/js/ui_components.js b/front/js/ui_components.js index ea443c5b..0227de4f 100755 --- a/front/js/ui_components.js +++ b/front/js/ui_components.js @@ -693,6 +693,7 @@ function initSelect2() { data-mac="${device.devMac}" data-vendor="${device.devVendor}" data-lastseen="${device.devLastConnection}" + data-firstseen="${device.devFirstConnection}" data-relationship="${device.devParentRelType}" data-status="${device.devStatus}" data-present="${device.devPresentLastScan}" @@ -821,6 +822,7 @@ function initHoverNodeInfo() { const mac = $el.data('mac') || 'N/A'; const vendor = $el.data('vendor') || 'Unknown'; const lastseen = $el.data('lastseen') || 'Unknown'; + const firstseen = $el.data('firstseen') || 'Unknown'; const relationship = $el.data('relationship') || 'Unknown'; const badge = getStatusBadgeParts( $el.data('present'), $el.data('alert'), $el.data('mac')) const status =`${badge.iconHtml} ${badge.status}` @@ -842,6 +844,9 @@ function initHoverNodeInfo() {
Vendor: ${vendor}
+
+ First seen: ${firstseen}
+
Last seen: ${lastseen}
diff --git a/front/network.php b/front/network.php index c6e6d442..fd8dc605 100755 --- a/front/network.php +++ b/front/network.php @@ -592,6 +592,7 @@ function getChildren(node, list, path, visited = []) type: node.devType, vendor: node.devVendor, lastseen: node.devLastConnection, + firstseen: node.devFirstConnection, ip: node.devLastIP, status: node.devStatus, presentLastScan: node.devPresentLastScan, @@ -775,6 +776,7 @@ function initTree(myHierarchy) data-mac="${nodeData.data.mac}" data-vendor="${nodeData.data.vendor}" data-lastseen="${nodeData.data.lastseen}" + data-firstseen="${nodeData.data.firstseen}" data-relationship="${nodeData.data.relType}" data-status="${nodeData.data.status}" data-present="${nodeData.data.presentLastScan}" From 5e3365935e413af785d19d85dd0d859b1022606b Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 17 Jul 2025 19:09:56 +1000 Subject: [PATCH 259/667] docs --- docs/HW_INSTALL.md | 2 +- docs/NETWORK_TREE.md | 94 +++++++++++------- docs/NOTIFICATIONS.md | 3 +- .../Device_Details_Network_Type.png | Bin 102339 -> 0 bytes docs/img/NETWORK_TREE/Network_Assign.png | Bin 0 -> 74860 bytes .../NETWORK_TREE/Network_Assigned_Nodes.png | Bin 0 -> 94364 bytes .../NETWORK_TREE/Network_Device_Details.png | Bin 0 -> 98204 bytes .../Network_Device_ParentDropdown.png | Bin 0 -> 43187 bytes docs/img/NETWORK_TREE/Network_Device_type.png | Bin 0 -> 96593 bytes docs/img/NETWORK_TREE/Network_Page.png | Bin 189843 -> 0 bytes .../NETWORK_TREE/Network_Page_2_Levels.png | Bin 90795 -> 0 bytes docs/img/NETWORK_TREE/Network_Sample.png | Bin 0 -> 83058 bytes .../NETWORK_TREE/Network_tree_setup_hover.png | Bin 0 -> 107124 bytes front/css/app.css | 2 +- front/css/dark-patch.css | 30 ++++++ front/devices.php | 1 + front/js/ui_components.js | 5 + front/network.php | 8 +- front/plugins/newdev_template/config.json | 2 +- 19 files changed, 104 insertions(+), 43 deletions(-) delete mode 100755 docs/img/NETWORK_TREE/Device_Details_Network_Type.png create mode 100755 docs/img/NETWORK_TREE/Network_Assign.png create mode 100755 docs/img/NETWORK_TREE/Network_Assigned_Nodes.png create mode 100755 docs/img/NETWORK_TREE/Network_Device_Details.png create mode 100755 docs/img/NETWORK_TREE/Network_Device_ParentDropdown.png create mode 100755 docs/img/NETWORK_TREE/Network_Device_type.png delete mode 100755 docs/img/NETWORK_TREE/Network_Page.png delete mode 100755 docs/img/NETWORK_TREE/Network_Page_2_Levels.png create mode 100755 docs/img/NETWORK_TREE/Network_Sample.png create mode 100755 docs/img/NETWORK_TREE/Network_tree_setup_hover.png diff --git a/docs/HW_INSTALL.md b/docs/HW_INSTALL.md index 68681b27..97c055da 100755 --- a/docs/HW_INSTALL.md +++ b/docs/HW_INSTALL.md @@ -5,7 +5,7 @@ To download and install NetAlertX on the hardware/server directly use the `curl` > [!NOTE] > This is an Experimental feature 🧪 and it relies on community support. > -> 🙏 Looking for maintainers for this installation method 🙂 Curent community volunteers: +> 🙏 Looking for maintainers for this installation method 🙂 Current community volunteers: > - [slammingprogramming](https://github.com/slammingprogramming) > > There is no guarantee that the install script or any other script will gracefully handle other installed software. diff --git a/docs/NETWORK_TREE.md b/docs/NETWORK_TREE.md index 67fb5917..fe113845 100755 --- a/docs/NETWORK_TREE.md +++ b/docs/NETWORK_TREE.md @@ -1,63 +1,87 @@ -## How to setup your Network page +## How to Set Up Your Network Page -Make sure you have a root device with the MAC `Internet` (No other MAC addresses are currently supported as the root node) set to a network device type (e.g.: **Type**:`Router`). +The **Network** page lets you map how devices connect — visually and logically. +It’s especially useful for planning infrastructure, assigning parent-child relationships, and spotting gaps. -> 💡 Tip: You can add dummy devices via the [Create dummy device](./DEVICE_MANAGEMENT.md#dummy-devices) button in the Devices listing page. +To get started, you’ll need to define at least one root node and mark certain devices as network nodes (like Switches or Routers). -> 💡 Tip: Export your configuration of the Network and Devices once in a while via the Export CSV feature under **Maintenance** -> **Backup/Restore** -> **CSV Export**. +--- -## ⚡Quick setup: +Start by creating a root device with the MAC address `Internet`, if the application didn’t create one already. +This is the only MAC currently supported as a root network node. +Set its **Type** to something valid in a networking context — for example: `Router` or `Gateway`. -* Go to a Device you want to use as network device (network nodes, such as a Switch). -* Set the **Type** of such a device to one of the following: AP, Firewall, Gateway, PLC, Powerline, Router, Switch, USB LAN Adapter, USB WIFI Adapter and WLAN (you can create a custom network type device with in Settings -> General -> `NETWORK_DEVICE_TYPES`). -* Save and go to Network where the devices you've marked as network devices (by selecting the Type as mentioned above) will show up as tabs. -* You can now assign the Unassigend devices to the network node. -* If port is empty or 0 a wifi icon is rendered, otherwise a ethernet port icon. +> [!TIP] +> If you don’t have one, use the [Create new device](./DEVICE_MANAGEMENT.md#dummy-devices) button on the **Devices** page to add a root device. +--- -> [!NOTE] -> -> [Bulk-edit devices](./DEVICES_BULK_EDITING.md) by using the _CSV Export_ functionality in the _Maintenance_ section. You can use this to fix `Internet` node assignment issues. +## ⚡ Quick Setup -## 🔍Detailed example: +1. Open the device you want to use as a network node (e.g. a Switch). +2. Set its **Type** to one of the following: + `AP`, `Firewall`, `Gateway`, `PLC`, `Powerline`, `Router`, `Switch`, `USB LAN Adapter`, `USB WIFI Adapter`, `WLAN` + *(Or add custom types under **Settings → General → `NETWORK_DEVICE_TYPES`**.)* +3. Save the device. +4. Go to the **Network** page — supported device types will appear as tabs. +5. Use the **Assign** button to connect unassigned devices to a network node. +6. If the **Port** is `0` or empty, a Wi-Fi icon is shown. Otherwise, an Ethernet icon appears. -In this example you will setup a device named `rapberrypi` as a `Switch` in our network. +![Network tree details](./img/NETWORK_TREE/Network_Sample.png) -### 1. Device details page +> [!NOTE] +> Use [bulk editing](./DEVICES_BULK_EDITING.md) with _CSV Export_ to fix `Internet` root assignments or update many devices at once. -- Go to the `Devices` (1) page: +--- -![Device details](./img/NETWORK_TREE/Device_Details_Network_Type.png) +## Example: Setting up a `raspberrypi` as a Switch -- In the (2) `Details` tab navigate to the the `Type` (3) dropdown and select the type `Switch` (4). +Let’s walk through setting up a device named `raspberrypi` to act as a network Switch that other devices connect through. -> Note: Only the following device types will show up as selectable Network nodes ( = devices you can connect other devices to): -> AP, Firewall, Gateway, Hypervisor, PLC, Powerline, Router, Switch, USB LAN Adapter, USB WIFI Adapter and WLAN. Custom types can be added via the `NETWORK_DEVICE_TYPES` setting. +--- -- Assign a device to your root device from the `Node` (5) dropdown which has the MAC `Internet` (6) (Your name may differ, but the MAC needs to be set to `Internet` - this is done by default). +### 1. Set Device Type and Parent -- Save your changes (7) +- Go to the **Devices** page +- Open the device detail view for `raspberrypi` -### 2. Network page +![Device details](./img/NETWORK_TREE/Network_Device_Details.png) -- Navigate to your `Network` (1) page: +- In the **Type** dropdown, select `Switch` -![Network page](./img/NETWORK_TREE/Network_Page.png) +![Parent Node dropdown](./img/NETWORK_TREE/Network_Device_ParentDropdown.png) -- Notice the newly added `raspberrypi` (2) tab which now represents a network node, also showing up in the tree (3). -- As we asssigned the `raspberrypi` in the previous (1) Device details page section to the `Internet` parent network node in step (6), the link is also showing up in the tree diagram (4) -- We can now assign the device `(AppleTV)` (5) to this `raspberrypi` node, representing a network Switch in this example +- Optionally assign a **Parent Node** (where this device connects to) and the **Relationship type** of the connection. The `nic` relationship type can affect parent notifications — see the setting description and [Notifications documentation](./NOTIFICATIONS.md) for more. -### 3. Network page with 2 levels +> [!NOTE] +> Only certain device types can act as network nodes: +> `AP`, `Firewall`, `Gateway`, `Hypervisor`, `PLC`, `Powerline`, `Router`, `Switch`, `USB LAN Adapter`, `USB WIFI Adapter`, `WLAN` +> You can add custom types via the `NETWORK_DEVICE_TYPES` setting. -- After clicking the `Assign` button in the previous section, the `(AppleTV)` (1) device is now connected to our `raspberrypi` (2). +- Click **Save** -![Network page with 2 levels](./img/NETWORK_TREE/Network_Page_2_Levels.png) +--- -- You can see the `raspberrypi` represents the Network node type `Switch` (3) -- The `(AppleTV)` to `raspberrypi` connection is also displayed in the table of `Connected devices` (4). -- You can also see that our `raspberrypi` node is connected to it's Parent network device node with the MAC `Internet` (5). This connection again shows up in the tree (6) as well. +### 2. Confirm It Appears as a Network Node +- Go to the **Network** page +![Network page](./img/NETWORK_TREE/Network_Assign.png) +- You’ll now see a `raspberrypi` tab — it’s recognized as a network node (Switch) +- You can assign other devices to it +--- + +### 3. Assign Connected Devices + +- Use the **Assign** button to link other devices (e.g. PCs) to `raspberrypi` + +![Assigned nodes](./img/NETWORK_TREE/Network_Assigned_Nodes.png) + +- Once assigned, devices will show as connected to the `raspberrypi` switch node +- Relationship lines may vary in color based on the selected Relationship type. These are editable on the device details. + +![Hover detail](./img/NETWORK_TREE/Network_tree_setup_hover.png) + +Happy with your setup? [Back it up](./BACKUPS.md). diff --git a/docs/NOTIFICATIONS.md b/docs/NOTIFICATIONS.md index 291f1f43..a8b6a8ea 100755 --- a/docs/NOTIFICATIONS.md +++ b/docs/NOTIFICATIONS.md @@ -15,11 +15,12 @@ There are 4 ways how to influence notifications: ![Device notification settings](./img/NOTIFICATIONS/Device-notification-settings.png) -There are 4 settings on the device for influencing notifications. You can: +The following device properties influence notifications. You can: 1. **Alert Events** - Enables alerts of connections, disconnections, IP changes (down and down reconnected notifications are still sent even if this is disabled). 2. **Alert Down** - Alerts when a device goes down. This setting overrides a disabled **Alert Events** setting, so you will get a notification of a device going down even if you don't have **Alert Events** ticked. Disabling this will disable down and down reconnected notifications on the device. 3. **Skip repeated notifications**, if for example you know there is a temporary issue and want to pause the same notification for this device for a given time. +4. **Require NICs Online** - Indicates whether this device should be considered online only if all associated NICs (devices with the `nic` relationship type) are online. If disabled, the device is considered online if any NIC is online. If a NIC is online it sets the parent (this) device's status to online irrespectivelly of the detected device's status. The Relationship type is set on the childern device. > [!NOTE] > Please read through the [NTFPRCS plugin](https://github.com/jokob-sk/NetAlertX/blob/main/front/plugins/notification_processing/README.md) documentation to understand how device and global settings influence the notification processing. diff --git a/docs/img/NETWORK_TREE/Device_Details_Network_Type.png b/docs/img/NETWORK_TREE/Device_Details_Network_Type.png deleted file mode 100755 index e01d3aad3d5a914c80145a47f95875831c98ba52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102339 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 diff --git a/docs/img/NETWORK_TREE/Network_Assign.png b/docs/img/NETWORK_TREE/Network_Assign.png new file mode 100755 index 0000000000000000000000000000000000000000..c21f281060961c144b504d84bd30593402b799f5 GIT binary patch literal 74860 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 Vik{L5r49xl@O1TaS?83{1OSq^BLe^c literal 0 HcmV?d00001 diff --git a/docs/img/NETWORK_TREE/Network_Assigned_Nodes.png b/docs/img/NETWORK_TREE/Network_Assigned_Nodes.png new file mode 100755 index 0000000000000000000000000000000000000000..5092a82e01fdf0aa5ff45b3d4681fc1397f089bf GIT binary patch literal 94364 zcmdqJ^;=YJ*fvUcBPA&k(j}p^bPG}vQVK|S!w@3f0@5HL4bsifEh!yCcX!V0H9X&Y zeDB_W!ak1i7nyZ)tt-x}&YQ6Js&cqk&#@2?5O5Xbr8N)`kRE`4HyCKZ|DX@NOhG`P zLr{>G)b#jtkb&-@sdd*2`I@4jCSRBn{OOrADhj2*L2GGwdFwuCW|@R7ygao0%V8_q zRh65JjKo*^41^b$94|yu#9+t6d7~=43QQj$T?x!zjzl-zIr)wsk91s!uZ3rk1&HVn z|JNtrCqs7bO3Z-o<}Z1Fl>hr_SMm?cB16KAMfks;Zf-;@DEYDhXVm}tqCd*38&BN- z{k2#L9OCSinAN|V6aV)-_}PJ3Gym%};F16T9vCRuj+~*2-l`f?O0&C@F@>CxLLslH z{H-G!zZc;k2t}SQ9J9f|PIKm8c4;Y277p*xYJc2--{Dsii-tpCV4efM9I@Qocqv_Qf&r+!@Lrol%>-{QO@A%gh2K z&rEbaqNc0r=ze^E5<()5&itR;!1)z2oGjy!r)IL9rUEbRoyD*s>b!!*DB%uOBO`$c zOZW5T`8+0}Yb(HR)QHBfohHJAlZ8!(DqivN|9Ge+-AX{;dVoslwO0oEqw`%(-E?@_ zLfvHQXvsG~hsH>QdyslHdj=-G_wRL41YQ30e?XuU`IQwYzEZXx0O$qyRH{mZ`PL7G z?G-EDdL+e|JMN!`E=21?X(r73dvCrbaKGj25RSP@L%*7E{dwJ`cpy(3+;vSEMuXYL zCwj$OdUK0jIy>dZB@zhyMh}z=BIG>c)nm8D>}ARL4->}R&w~Ud(7k@G93!yPD8hds z1HllA&-7zzu~mZs-p4|s;rVxvS?5=>S1Mn7w6~?Frd?+nCYQhJvNTgin#tw6-aMR5 z8JPuqHBzQc{dcgqhbz9e&X`Yq6vGTC3MI(@xV77o`vnXCM?bvQMBvrP@B7963#?!1 z{zUgD=F3Ipr59v(N$NlSPUnPtGzH>u+VJh`%breKx331EA2>z^H znK#cD_UMKcb}E5i=tNOokh1s^v>t1}cD7NF|D{$&v&eU&6T0%0A9D|%72J0U=f2C( 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�>wW>JC^&Q&xoD5E*b2hG%6x*7zEE$q(x=zXSUyL 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 YID7HbVF;`LnSy*7>6_`*={iII1(qp}O8@`> literal 0 HcmV?d00001 diff --git a/docs/img/NETWORK_TREE/Network_Device_Details.png b/docs/img/NETWORK_TREE/Network_Device_Details.png new file mode 100755 index 0000000000000000000000000000000000000000..a81730935e3d6db2012439a4be6c02343c990d84 GIT binary patch literal 98204 zcmd?RRa9Ktwl<2pyF(zsp^)J25FmI6T1b%K1b6oUA!u+2ZUqE)*Wm72xV!TgS$pks z&wtKdkM};@2U?@eHs|PL_VIQ9W`!xgmqAA%L4ksTLYI@3RE2_q2SY)@yhcKRT=`Zl zY6S&F1tljbrtYeLu!QJ}H?@p#!egQ)3&Ijd#VWd>rBcKa!;)0SVpbn3@C}NhDv-ry zAXMh3rt&X{qoX1rPT&6Dw(;-HWro5L4G?0#<&pTO4H?jnIQ*wK`m>a>Bn%oj0x3Bq z>z|~t#clKblXCFrsiA|@M0Mc)6&m^i(kFe1+xbmyR<^3=6O61#`JMW2R@}Zj!9F8?jABam*sr%$}`d(NDnG0IvMhe(3TDep`7Wwr`9U*C#t%=Vo|$T9jeb z{x`=(VFFK2d}-&2B7Mad)Y;CKep%N^%)Vifx170BRBkh#g6?g@&VmkqU`wTw`Ayu7 zu1|L`TcVF{M`MT~-(}COgp7~UaM~HqQ#{6Rh z9-FR&zpE@r@Ej^%Um83A9y=m#bXPXKlKbru<{v|dgM-!@N_Ta!Bb>bYJ!j3z`6S5A zqV4Zh%d*Q-{tGhI&?LJ+<>2)@H?Sb~#6TBU9a44$-z3y83PCUq$BL|p#%0d_Yl1BB$ zX_)E$auA|p$Z(FmG8^vHAGgUpKESGWUw#R$E0fu={C;OR&56Iw{k3Pkd5+L^$_baZ z${cMvo$Hf}r%JJdrTY6POdpEzrpsZkp+qOr5I3PBYR~J$q}qG-ChZo#F#rP1ZXdO0 z!`;_cr0yMp!PQy5q!s1eQ@x{4%pcxsMHZL&+9rk(O^w4R`uqsL^^qoB)KAHmZp+tt zqrq!0f~WHQx@``C|M{A+{V+c28-uN@4bA6Hm>jk$w%K@2Rftux<@?TwyA5%A@A-V> zbY_kE^ysp5lBx3xc!VzS(_TrV-px)gTCJ7DdAx%A|fsy8rDU8Sdo z`-&G&DKgkhnHZd~si{f5)#h_+6VLg_e~9j4u{pe0o?q;#x4ei7uAZ)=(R*X3Cz znM9xNNj@Jcu?0A{u*h6FbeDtdtx7Ysy_+x-=;&924 zHE7e+)k25{s2wv?vQifV!Fwxf`Krsj6$yC~`z?PNir+%}>sO_u7E182wl2yVk0%Jjm_CENZ=ox2tr320=WQWj5uLgJZS+agIzS<#nY^AK!~~cfS}QCU z+sci+aXkXA$0#Ig8}2NMnQttHt=hF9f;KWgz zZ~s{XnpOhQ*iRWHokX?kGVA`!k?=!LIn{*~1!yi${G9lBwnm*g%oPHG`Wy0H4iCwL zRDTe6vA_L!;8}gjrw8{)zJfb(H{%3A*!dO)SaAt8pB322B5Jui=@Vl|Pi(^fHpFWh zN^%|bnI>a(O-ik{1N_GqW>UeJlJ01b4>acHOPD@GE#$us+FPpg6RVwm|Iw5F_?oe) zkw?>6VNzjtJK@!o2b38z2Wmb8JA8vDp`;9lS4|nEp^>bX{ zILqUW#t6Sg^esLwi^cFBxudREyR&B;8sXgG0S@=TI9Gcc4Pjl*=Ybhn*dZs0>+O{6 z;Anw?K8_d?FH#Th^a$&{Wog42>aY2n<2sj;>hEp^97gsqm=(F+9 zM-Bu6!}Zy6=kHD&0%y0Rtn_&)5oz|aj}vLemNhNgIGk)bGPrGx3=;DS4mQvlzv6WT zQufvy&rmVT$Ox$bFXORzBSzY}Vg=WNcSJr=aJW>w(r+u>21R;^LtZMg3%LMx&T}D6 zv!CaZi}w&M>ZfpW1F-KdP!H&uzU?%zuc$yihOqa}wrIM*V_9>YkuUM;v~~w5QGC?= zc7)#`lRgHqRNq}S@}d24Au|Dln0hcCbFzx#3SF&6Zm%H*aWJm;Gd->yZ> zlyCyNzPm=l{Aqu>%3reRuHra#HJ@#xSgHi8om#&P&f?~pt@B#rtt!q-H7Q+5*ib4w;7n4ZCubs6*MXwr{ z%W)a6T`4>HXMCfXx1q}Bn`sU+(&0e!>2rrl5z-Ary~|~(py^E4Q`xyE_};PpYul(l z?uOpe4`wPx6Sz;2!N*YM5xM4cD)aS6t&Hy2Mc~={_%Wk49oIrJ-#VM{Q+ZV*JExKB z8|Pwj{b{dhX|gD?NT~<{4SVZ-B=((>N$XN3Y42+ei@C)%5KX>u{soN_@#1|JJ zmJadkyLb^&VJlWf^0wBpo>zMmp92Y)bh2B~37OPnH+hwb7kdm#(erIq6JS32j!22_ zs3W?STs+52vq@kb9?mSa%jlHN`@NNtE&Xw!XvdUD`N4votlJap*F&&Hl4 z#CNvz0O?GnNZxRCCZ7%;KUg*!1Kc{j8*G}c$e_2otTg*4uS_qCVHcMpk6Tc?n^Bgq zIO=GML~HZXiJo)&&0S{zDVGRB=L49s9T6u;(}H!3-|U?!*55C(VAJ7~%Kb@fr>PC{ zl=acRar=aj21o3#(>U>_7ynjhnNfTcs&N9f)^~Vc3Q2#Ur#wOFQQG~AQjuR_6XdEw z0YoPUeh$xJ8SIX@dN^W7`z(Qe@$`V}coxwerZ`xBL_fMSWJomHMv8gm#d0LTY8G_1 z91f?uSb-xiHP;e#?DN$|tYVhS7>9es4(A#lbu@omF>v^i@(It{>Ri<;=dne)ihaBO z4Q^IvqR|2Qk2CKLp2aJxNWzTsp1G+MyHXSHYwF}Pais>C@n0hYtJDHscrEhqJuJE?MH9^OS>1_oZMF zszpqQKk|q7M;yl52)HqC#$ypR#%Jd(cO{#)jK+?2der-RXcKU1dWd()%h8b4RCg7X z?%y)?U1MfQ;Ws250d}|9YnubW=p=!-zE!w(%^K zn9*}j)o*1z%|ir(GrB{S4_=2NL0d#@Ie=tW8KcB4?cA0cv4g=d%GU0Nb2(83_={Yr*E zwmHPs{XAj#-N0mZAEtL{e!Jy5A0sc|XFo9hotVWS zzjY@CHcy~wd!?MuI_gru)>w$RhGh5TtBnbrl%3&T4Fb$DFD&|;e%X}GZ>bu8MF(pb zPYHG`&*7G<2(S$sk9=7+Cc+ws@OAfdy~T1d;La<-hi>{(U9h^cCp+jxVI77mj&{Am_-d?8;6kdMabMS0x5@C&P2>Z~`>iY&Cq3KGhVQ)Ue^i zVCA|lr23TQIj9mLHH(wJB%tDz0k;2?PNaJcEX`Z!Z0V*uDf+3GuCzaMW}b6!Ln4Ps z^bv1vg_lPX8YNEKFB=ssC3L%DS)d=fvJ}>z0hHD(&Afl-bgD7E!(Be2;-ar140>YG zpsQQVHJZ96{1L)#*}-@!mx{ES!cUD|)+flKr*m9T7F|}f?F0lnF$!;21Do{#iZTLD z^ck9u_qU{y`L}BuFe}QhHv!MQD@jupb2+vIatNz*arxo-UD>IQE-5T?xmuFK$*B zmS&1`ITIVgXg+zEs8;TmkE^kd6V@2PfV&7j%T7#p6l=*|+=|`*xrYg^78x3O?AIGM znamhjT8zTxtof99pdylkp!W!WJoH4fJyu?flyA1;tCPu7+3=fb{1qV&>#4^Tb*!J@ zv-h8rFf$Z>51nvkvq$@KD!tt6F`#)*7cez*&#?~eDrZFa)e6HY$+pjFVi+yU6X8yY zGKl+18?fhey&HB-bQ^Lu6EAfBiT7-&_v6ojg?P0nyA^#Bc{(#W@|`PTLfFaoB=aaw zveI3-KIP!r6+7uT=-+(cwY=1RtO<`I<)^S~S;!higyb=ESxpUyKNXG%!>-DUIg!#8 zE!wz?2b;vd5_oE%h1Q}J+M{ho+>E5A{Djo=nRskf>XBLJpZS+Rx2UUm^=~n|SArzP z6Tcl;M(2ezv}|M^N#@%=a8Fg!VJy%w!-z{lWjqPgtioS7-jYrTM~Z@iKv{b}s!Deu zZo2nVnmiuC3 zymvKUKR6^qbU6K2ks9LLpVg!Ul1rM;t=x0i$hoge-V57nDIz%=|71r67%IUZ@WH)g zHAOEBt2=qCe%6%5EVltF*)2n!A`K-uI?imi#OrXj>b^4G?k3&+ybc3$D(( zwud-NDjj%6!YjZt+aOD5AJai6BZjs(9QG$L(koxU>~R3%FPv`1XGo;#rm1X_i5-DP z0$JdKx$IhP>i6j}KkZ==o#kncc$0EqIYG=6x zxyU1DZM}v#2}JTnNeFUG52dg2wvfSNx(zOtfxU*sY?hrS>iZ%Dkmzob2si3+HQza{ zagmgW;EG=j1{b1jL_9^O>Oj)^ca6ST0SzSlKn$g&GyC@=)StF23ld!s=oOrNEn_VQ)7D4y9Rs`8ip}P2|(u$G00#YJW-s z3K&|54pA3=KHjV=P|-T!!_QRH{)BP+%y+0Ptgg0#H|oisM`F&kEp=bx-bV1*e(A2F zdqr*en^KR%Oy#!LyFbAiuN=(}AzO3K!+gWooEl_NEhv30rZHk*vsW%cMMKV^^_@SC zXS3mR`WaV|DieQ3x#j3oyXf*C3u%m`2mTbgDX~$yCENB>BSm}OQ+%tSa=kTpm+Q?l z1wv=nNCYt$D7nEowuiC71Q4;w)aV|JBn{GmDF53jk z{e&|gqC37cL3#kw-OZMmSj^Pnhq!sv>S$K^*Yg=Nx5)=$zjK>aR(f5#R!6^&oW$n4 zBD3@;hfRFN?wkny7v7+tC&b+@;ko79Q@rvB(m@kgr43wI86QdKB=jdv$g(^sUNzFj zXpiQ4a>;-jB zS2ngMlt&jwc=(}N;Tq?e>3%-#*-5RL_5RmKJ`=7ocLAzhXSDfufTLoQ#H2x&%$d7@ z6E|5VS4+$b{&K_tiu9mkPDHRnw4p318s!exi1JfL84~dV$`6lPgAKp)zJhDoo~9`@ zio_gtm!|>N2s*f>49dttz>G2`Gl*oT`r0xQ>({#FL6OO-CaYc{0S zN^uohh~R6JDRjym4O{vQr?d-v07qVy(iEb53&z_O`?ci1szFDjB)kE{i)V390)&I) zS}a1?`K+;tp|Q$JfpN*9T7aqb%)Rq{SSo*3(@_(j`v48pP%xTAhBW@FO@?0}Vq*Dq zFsXZu;|R&8vKxXJ*yoiD|g!u{a+xP7|)Umb)@b(9@U za5oiWkF%`Z{b z*M8SPrNOE~fV2`;k)7xT zQyFmQTG~FD%hG3Y)wTL$tx{Ve@M+zG8I068185(X-@7|eDq;XVo@tYx+=riT2!pI<#ehBfSF9%KZhRWZO-CSEp z@g#YQX{aFH&a@c!MCyJ_ZFJ_EY)eTiJYv8~qKV#hmqy`$B+$G$pjn$7#^uFcMZ+M0 zk{J>x<7MHvlmBJF3NW;RXJW3qzfN~H$pcQFSq*@*?^A^#J>2dp*hS_)G9le6DH^Iv zoaee3wG(l{_s@6e2?y)>Kq(sAejSy|oNK-sEL_dhej9W7!ZKTlE>{DfLyxzh;jO@NOmmza!mDVxTI z4Ze`VO+@|Ec`IOojXQY!wEr(Z@uz(Xc`ixGH>>HExt{jl!wBU)xKHu(KaW$E#$LC< zzQ6L-ErRzn223;G;%hogwE>(27Y+Y?^NVC(n0m;N;XDV@O8;X@FOlMZ{EHU@C2>pb zzh(NLZ-Fd?26n^v)7$$W&;RRcxU6rMC$^Xa=l>$&za9)e6GZ$+Ia06Nlv_eG>xuub z7y0k2O1P!N{`V{Y{RRD~aSZ5zlB0`g|NZ)3LGIr=$Pyg+zpngu1^xec)B}MH*}wJl z-?j1=0{&lxO|1CsU3CD1%)d@c6dNhE*)A8U=DP=O(=;Kf0MB3PORj?N%&n?(TYcjn za6s(ktYJC@Zy=Fh=!or~kkEz(0r-$_pT>V7^?$)18nywwZ79z6KaSdx#2{u%j8%{F zzbx=?LvtcQ%4=9^O|gFhDVroj-m7=1{||@rKh4|#0W#h*72Ra~ z_YVFyGY)={CmDABk4pGW)uz0R7OD&XkNU)d$P1>or}#%D5JQ|(3Uo~IKjMst8X^zt z&G0{tN!bFRB-}WuzTp3(J|!UXNVB`#{!t00Sdc?TkSzNv7yS>n8iYdRNyPE~)fWE` z`uhJ2R6(q(K-Tin+IIApozaJiZay}`Yo!jpjD7yrb(;nJje>1;NP>VgbTM{$m6?0+ z*#`%U_yh77)>Wq@|`BekME-U(_r6SDY2~ zGr}XHxP-Ee@G0ZxH>?MVJe{2|_e|SO;IS!)y64qSdbk;g_Rjpx1?ar;bx>*JfX^{g zk@x;Et?_H}N_(ACNWyLKA%)4Q)QBFqhr#EP1jF|dxdQ**t}l$QnKZ&vy{j-{cLfJ) z63$0#9!c4eFqi~J2s~7y(H1nu;hDKMhX{(wTk+&$CJLUk32591=NkJWpmF|AzT*Mm9EnoQhpKEXJw?{rKW+98Ameo7~9i37GI8fD1y5Z$uh_O;f>%!M*EmHNs@(EJ z#bcAe1r7`v;;s>>1Bn$43CobzQx&yC_wM)QjS~86e8#y{xyk zBzO_=bMQq3ymrLz{8#f$lN3Y6AN&C8c9-r%S5GyFiAJiZRr;*DY>;DsKi?R~qu+(d zm%qdQbU#G58r=3_X*AbbPyO0O`rRg1>Rc30g}kHKh(X2f7bvx z-|yaVbKbv@c)7%n?E}Ub+8Ac`RB4`iz7y};jSbvk=~~461qSc3iX~P>@^=8q*>yyj2VC9x=Oh_e^VLN~^ zthb*%C}6u5WTF3Uu4qd$r+009IR0bPCAE6znqb5?NXIRGOJ6dsxZVLQOyQv^?gT7V z>Y8}&OupV0pCfxO1@Txdvi0@sC?8WHJBbi@z4ci+edhS+##~NG9a~3E@K4RbZs=ii zf`Ss5Z%ne@38GhLXpsmjv@O+0Mi^dA0m2>iEhI@kH>zv;Z-e;6hB%tGccWOMVc*#>niA>l8#b?U;S-(}7*iX}{Tf`Eg@TXInb^8|C`;y}OL}e$Wlh?!NU;~*K-N7^F2=&~Adh8_KC?5|m$MYG~ z>~OVqO6+H=ViB0o1N1({+R5tfbJJam_w^AfD>??M1rl}=?m(1Z%?Zs%eKmv)s0R?L z(c7lo!b#lvKZx0Dp=`1k94RmNx8ewrIn^Zo2u<>^AAMemx0mT%Jmj+3S91Q^Wv(Pj3ntv3G(BA_gbA(+e`plr zpGrN9>h}%5`Fsh92;*Z$It&Khe&U$m!Aajz9kfkMb&y458uMvsL&d%F#rd|^<8%`< zh?=BZS>Nf?C+fu{I(IUQJGOy|W8;x^^m0lzoI@_y^-zHvCLN7y(P@s);+2O8bs4F)YF~aEgpFKu6As7&rc6-SXDv8}ONpWfOIzD5 zH4Y6o41O~6ImqJ6I54_H>_EzPm_@biI~cv+r4Ds=v;?rXhp~ zP(Xc2ZA)bX)g`6Ny0`wWHBoLpv8m04SdBIZc6<{s2e$-B3&0 zVO6I&6VooEfiLEmm?J&fy;=NVOPEosKD!G`5~S1gk9_@VN9%oCZ$5g67WHogYCrZG zeOy4H|Jh)O{cQHL2@s~~J>-lW@8Rj|l8zai-&};|EBJ=Yqa`D3D8CZ0I-R5hsqqe# z!sJz`M4)3OY`mC`i2Q$~G11(0*aR-AjjU39bsl1TbvS9^S-mFy7c#47D!3375B#+2 zR|s~N(y5Q&5{75#^`S|HwbnVkPJ_;Bl%y+>S~c&YY>*D>?ya5 z?@zF|#1ma9c#~)4!;F>|x}pp>1v_ONNXHjuUpK0o>kBHkGEo#{@P?`KJc@XcT6sFS&|Wq-QLcgL8r}!n zS4Wb*1fxSaJL!sWwY)x5EQ4hgZ*=CUuX*i5zHaaLV0)JWo zEnV7Z$wZ=){hsv+xRx?bvGV)SOHy1(F7v@t=^3kR3X49WT3Ml;{feYmQ+MQofcStJ zN1Q%<^#Y6DX@YHw`5>noj<@7a0lMF?eK2IA%m|k*cezP$^-Hq6`)1}yyJ>V6xna*G zA{u0E*U~u}V4JUe=Hd5)?-_XJ%?w|2XN>y1GNuRC^#)nyiy9)mWc4waM>O=&6pKL> zie=~hFsi(*Qxm8gjIu&YUsJ#6?$a7aC{lW|m5{^aS}x_5&XNI%odgfDysQw*CW*tp znW`>b5gjD6Bd6G!$J@sAuJ;W9%C~emVUOT*#syHi(w9Q3*+*6%F~F6r$)KcPsqc@* z?dPs37_gD;08A}-eNB-|X3b+2a?XmkOsZxr+{;GIa=dTKPPZ+uJNGYj4S$AqAMwSO zSFeX8O@V01Bx6DZ8WRnd0U7MDHhJWM|?=ML-=kkPjXWj z187?6N9f~?k$yql{p4FQe0@_z;^-JGH|Q*pr_hOHQ<7V=&N&8ya9_DsF8ZXZkb$sE zR5#8Lluk9U)0I7n4(-N+Gv|@ET5}1Z6SYLj__<>ai7VT<^^NcZA!NA0+QMarqj~uC zbxxu^fzUF?>Fl(gZrfYTS+SkRTR2BN%$9JwvDiaV6Hl)4mcBDid&5qg*N*Jeaf!oZ z`Pw@V%T$h-SHTK;jrw0vB9fSVjOMag>bgajzqNwIfAmf&w^(eqyEYtnku9AFl;wJ4 ze_1da%c+d!EtSL!pZusRT#24#hAA7jgwbI0{M*WN!9rg@HUN8$5-=b61Ut)Md8oxTyxH9K(tb~M`ENejeZMx$l zM*Dg*pTzCRkqdsV4r3_dD%=B$_)VlH>DrLis{(-jG96i36lK~9e)DWj@6!FOupy&( zZW(wW{RScMjNf=vj$**xlJ)cT*NjLVrD!q4Ld>?(NFtYdWYg`rbj7;m)p)Wrm@nu! ziA-^}QSA=FVt3iV7(0UfgtDGBORZ>6K8zTplq{kvRa|xFp(Dv}KO7OCA8HhqBtWiF z=7!c9JaLINoT6~&<5fo)O|5b!^uUiYf&00lYse4ww=l4`9UCm8$+rBwtG~|hPos++ zOS$aEIY*1dUm*ZnD{nmzg#=i>(>cB35 zOfIV8BQGd4OfYWrp|s@BC?ol+#2?o(43p;9Jizc*WszE1_%RQRMlh}{@v3AP0;^Kod17~6W zL1)w#Zl3TdExJ(~0|WBGA!h^1t$XOqKc0T7G@EkCWM7fSvX|$U+8<*8^}1j+OB4xnf>%FgrN;ubhB0pRW1&50U{USd*FJ z*=lM1#5GSz$8}{XX!Ma< z88naF+-(+#sq`4E#}hDG=%MDixDYVp0orB$h+eAiLEwG;)N$p-W2mzY-!!?1Tk8Vq zRTP|45om^F?&`5Nf-LDZJ+Z`-bY96D)(a`fT!J`qd zF~lWKAJMyW%*pG4y$omW-ptm268Cmy7{>>6RESBPiaNr4eohUvjx{X5#{QMNBzc#9 zxz1@6kdl`=28mKVhho?xhvzx_wQt)RYtIau!p#%Z)x5b7Hi`3L@`_e0g+k>y ziAV;v`9>|#o9?>JtK$7{8n?0aN^4x>X?iaeDc42@CelaKm30fohWeECt9UYr-LLi| zF}OUb7%#v8P8HHTI)Rk+{_}Pg08)^(5l6i@AmC7Djt0tF!T)rD3szfJ=-B9?M7y==vC0!_L%7YlcWV< zX4!MugZMK&#%lu#DIX5~oMmp>%vK~<_>&WR z(ZGtr;sYc7xo2G0*I^Ob0+&!FD2sw$V2)T)OufQe7C(o(a_%yjejVN;p7}Cq)Wpy{ z{$3!0^2)=|R}8i}c~PD9qa+N3_1+-VM5Dyg$-3Jj$N4#A^4c=fBszbM@ElY8xrNz1 zb8vNO$F0h(h)h>^DoVa@sK?)zs84`R<~1w)ULfD6293V2B|R z^=pq`hRb@?PC?m0_puYMhxa_qoihx0zB$T_se3(x(p$zemcm?9?_&DFgK1dA+}CWy z0;BO)@#zdhVMya7Y%B66U4rol-{;5dUXMo26Dzk>Xk(&6J58p3dJ#L>LG2l288@!^XZ|RfD__KR~hOIp6ZRU`kRoV^w z6Pxve;RZ%{(6CqS9q((m8nz-Qn+imgr#rHr32VP0&9hU~a!h39A>H{Wq7`weK2CYq`XXte%~BSxE~)<+zhje2{7J2i?=)A z#9gW`1}x2oRYY)c@uAJCnP7c{t>s~D3*g=uWw55B4FkuMhh7GrDK&G!+rq7M=gDQu zv_cneGvkfoC-FJZ)>zGjcZOhsZ#0TOl#cx}!~9Avz)hGe_p0^_OW8@uPN|u)=B^8P z?6g$hd=)}S`B(>^e@Rh<_F86H;`@_*=eb}VZ8eYPEs09eK`XHQ;@)^2S%s_cot_+* zWNuhiQ@@YiT-F1DC+-9RC0FdSV<_T8{PpQ?tfBm!4g0J$#|wI<$hJzLS3B-$&e^Y; zck3+o#$>=>2%nc$#F&&$habnJ9-3T*ST)?>UkOQ(YpbN#TrUDnw^?FS`r#v#+v1e< zEz+Hp+?FbBmP_xlTnapN0MdV|}ir;QZJ^{R!=-gMfcNlDcUvVMM zqdNf)BJOwtR%(L8>TN3<%&#q&ZcuAQp85S0#ssP&3J~4SqciN*#jw+<7UQN+litK> z>K6h-Bw+0$WrYK(^s=j>%Bp<=p(P@gurx9A1G+@o4y*Tw6bn2 z+c4`s5FYGJ`dOMX+E8Ew)V>`phVZ^Jp_2s5ns21VC2wU~JDXT|Vq(Z*H}-4krs6b@ zVk%{xe-%Kn*IDI}5o>yX5c0iu^b+?NAJss+C=$w3EK_dj4EZ<;N;u0sia(ry^nGzJ zj#PfaC6^e4|~l*-9PYFWXLw{0wa|Q~gv}atv2+?HmtXc!AgC zXf_848fwBN^#yz@!@vh&^cnGO;}kWYz|i-K<2*onBcN%pOV4CtafFW&A=h?mclHv; zWXU0l+a6cyB#BI3PP&egg^QTP?I9;?)^Klj)PvjS^8PbEivh$dl1NPL*|n}{)QVjr zt)`oHwklbqZZmnzOp{QgEg_{8^%mOlYof2_c*SUQ#<^{P{aoK!2<@?nMt9$_d-aKB z&BK8yk3}R0<%mzEP1cVPi1#K+3aa%B7)7`Ki&VX%ogEtjCPg;dUaj>)f@LHmF*9O8 zM^x&xFPZdAKq3HC4L+$D2Qi97=#zWetHEu#Sngw7 z>;=0E-DjmQ`5--lzqwK-dVH~&CvD!#E7pgiSK=STJ)0VygKoH>Svup;E{4=D7=Wr$ zS_|}fannS<0=0$HnIGotGQLRHjalyRh-#j(qwgB_CvDzEU6R&%fh}}(GUYSe`*<&# zZ`MVZF=r=*ALQt>-9+b6s-0!9v3u-qj*-?fFonBuT0(E|x;yw|Vl&Pcy$F#ps5 z>c6d2K%Z^s7JX`~V(o{_)p$qu=8H9Q_8lQ@eIV9{3c7U6a(svG^|lB5*|<5}R{;%~ zd5K7UxkF*g`_b7Wh6|NJbqjJz^nmr7gyYCw-@ElYzz{&G`-dXsYNODcwZ^jTP9X!} zvQMN+c5iAs!Y0Ez=x9KYmwcOB_VP$$aL{6FDjl`}>pNr#VJDx@XUdKk>Rv_B3hX`o zLZoo;?qalum6MAXA5&Lqhz6yOp_hw^?7i(j{25!iW{dvXe67&zfv9m#q2a-EHq!FgLzYIsT46x-0YQC;;ILg1# zh<6KPaG}S{|3GvHrlRk43u260VM%XIMkkK)R)kfNb{Kj;#>z(sndN%Een;=xq3;%x zNW(cn@a1$)Y@LCjwl0TxiL=SU$+Zx0hjKb+I(aK{a+oa=2UOPCS6@~3J}}bN4BnKR z6_$a!*mw)u9NxYn74{=|Y$5(tlOx5Pi#H{(Mo}YpcNo$w!XLA~xHpe2IU)yK#5qZF8Roa_+Z_?yjT8fT<=1ShqWnpl--aUXH z7#O%Z03Q5UYg2k-D|Zw#qJUE0?cSWe8?x*)B{WFhq>}4jP>N3(l~Up6Xk*V3Vc#_z^|d-Qiq&-760(RS$>2Gd@^14*+1cw>wMFV}P_{#Essd$yZClO$)zj zXHE`{%#kI!VP~&RyNK+Y@w*Sx#;w>nqyr-LGQyJWZ%oXif896@syNwxrMp%a$xSnB z4FAH_Owzvf0Dxo~#y4EY{#QX((GA(KPqr!cM_K8adX10L7jYvMUYGoF z0D^Rw;Ya40+$YTPqPS>_Hlag?+q?Hxb0Z_lUqvSBCG}ypkigb^t%xB-(cdc0ZD&JC zu>=ww`$m{$?k-(bY`p~!9`TiR@8#4*CMXOC%Z)pfm)YosrT*sSoFb`Xy?XdFuP6Ya z#@ukrZ~4xF2aH2Pmi@Q8C(Lc8iUgF*Wd7y?!2QM^ptQ4!6vOq%T#t8fJy92OWkO6> zzf4XTt&1q#04x*8sHq$eRzc`AiD3A!09MfpMC?+i8tVx_d-!23wZw`P!R> zD~i&_t{ob7uC5i{9iMjIxH9Y2pzZG7HSQ(heJQ>k7A}94JaZWm;K4S}g&SZEA$_(C zA{!l4Tk_tFaDnAn^OHwbcL%7cm{zd#EbpoQv_oOP+mQF1%J13rA+f~H7efly;EfTt z=T3?-p%vkB&R{ejg7g_l{e)#=FVgb7ChQRZU#e|v(C0yC>Dh!2^5zHl5wQzWAgAW* z9Hpb%bdO9;C!%yu9Fd@K9M*bgIkb-XR`Q3Vr#AzAi@)zmmy^%@VtC8-CsSwiLpT%= z-4zt~V^@_W-Ye0=5n?phNgn8Q&ncP~SN%^K~=Xo^-cS3KO=<@8Fg@ z+vNkwCVRHhcS|g*v>fL?MU*Y#fo&f&KE%HnK2m^H<`GHRP1q)UTzEvOBZ>qD?wXH# z+tK(fPqM!>Tpn5POut0rincLlHQA{q6n&=d>_m&n1ICHpauA)&6&H}V;KxeN5iJ!) zh6#a}^ofGx4!dT{IJXQF8_b<1vVg1cD2bn>eeifqa=q(YoLMb_oTqfbBRBRjh4*OOZWqit3 zANK9BtIJUv&$Xbtu+f43pUr}H9muIyN!PM+#W>qAU8Ul^vGmkluRn4!bm3Ev3k@3; zpV(yp361U}vuD`2kxA5oO3(okX*TPzqB3bXLS;r+^XWrtv33+b&rWbEKWylAx-sQ6 z%V>_}5k?$QhyVtv^vCni7-`xa(hjgOS5QA>T4kiG8aj+cm3ZHRP*0hY9l}NYtC~Gx z?kl*CojK!po|3*G|IJrHQ4xhZXnuaZ(s$^@@(xKqh_|}WN zg`Tb=eD%P;l-jOxHBq`nEx6m`ZCd*1IrX@Jd9$0*SPojmn>rX-Td|DJLK`m*+^B_o zwVfJ(CTAafai9?rAN6c7e6Ui<-#8aR^%ODO!h62)_F)H?8iDdka&~X`W^Pu!vb>`H zN%f5ZekyX0LxdJ!fSxEZ#)Z?tvCM}1a0|rqs8E=6R;>E#7 z^8WmUFzti+MrH&%YX*eVf+JYEMunUn{f;#ejI|b5O|04Xkb`c^9dps_UIQnQTbv-@bYfgER(GBp?w9(3mhl_ED2~=R3B@_Zwtt8TiwkUo@WM0dth7Jd z1dJdLe{6t*SnV5X8HoRFHKeBqd!D&2lAWXjY``z%bs7Np$7v2}$FEC5=np?nb}28@ zv;Lv$ys*1OU!hDAUJJ$^2W=FpKk~dKOiPtqx(VlH+Us@57F9t`Vu>R}zrtyr?X5w@ zB41R`5?qZAe$BwFyRltay`jkmxd zy?h5_LXR*9VcVg8Zu%YO&az`*t6qCA)+&|ptoK8z{>+q zZvg2RhMXZBeH&8iq(Tjq=xNW0#MsPL{J0Lk*rvB_^*592W0-G70gvF;lTg!*vYw@c zS!?#eA$zSAl=ta{^i_V~hsyIs^aw&WuDIG8a${Hq<=-!T$N}z|w!w|y%%H>;^3jX8 zn%8kNJQ3>%HDB*B#_M`}6!NNPu-luL+lw!|Gs|vmnDJertvdG7ijr@F-zVHCj3_UU z{_MR)(SUG;vd+GM@ycEOIxxVfC8M9}i+_2=`5 z^40(eH{)UcVVxpKD=)FAb0`h+n;($rupq;~X_2BeqC;_b3Smex#?8iCP%~0UB5%s6 zJ9KsXrJ*BU2twE)ev#$kFDnuc5I%e|R=V{k{eu2qB+EA+AsR#$cD3UFJKC7yyK?fQ z;2!N$7IE}X6Rd(;?iWP3;n82y+CVLj4E_ z{_BfKI0CcWe`z1Wa?GJP(<##%Z}i!3@~UWSC8G$3)`QeU<1YlHd2BQBUEra6fnzm8g-Q8sf9^47;?(P!Y-2w^j0|d7q z!6mr61qcZif_t#wE@zYEzMt=X>ibTes`KakI90o-VZ+Q`-K$sk)z|7?WA+x9*UIBO z*EEnx7*Og%UBk=xkCa->Y=V1`%aQ)UcP|O8(ir1~j>xn+x)%BNpG6=YO7t`Jd9GJ; zQvg12DABG~3=m$+Tct%FhfNF^F{Vyd%73akgQ4(%TF2#HG=xlZuHSD15&r*g`~Qea zenS0jVhpB5mRRnx8yPqM@$d2h%v8l5%D@!m!uphZfHBKL-u z@TVt>Gq6YGyJvaN>A?LMSL+Lu#mxpqw1oeU2?{2AcE-&ADpC~adLLTl>-+Lqv%W_o z%TNT8o>*b1yY>6SHnuWL-+S7js0z)22Fgn?D~pfg|Fj5@67X3AA157tx03>utGanx ze%HPx;>|L51fAICA}e7qTaTVY((=9qQP;+iLwIKEQ50=zX2u-s%3Y^Ir3Iy5#Abn$la5aVTPg)SGKOeD~6RHw%2{Gbzq z%oj@bRTL^Y`{IZi0YTsKxv>0?N$75UcGhzzo6CP~jY%qR`M3qa7DVNv5Bn0=3xodz z`97a%#4Jw5s3Gpu%;BmLt&b-XR2xe~SvcyZKCW;tA!OI60VPkS|AY&>_Ed&_ z+M)V)2_MvQ#`d6bKdVS!e5T^yYT>rgcLB_x=Yy)^81dXVkxM9n06Uao_fJ&$6H}R< z3l=TO$s6PTEG-o=SfbU7^k0P`)F!_`(scIDPIm~HIr6W(r-0V)VEvimS+$?<=gsya zk7zCfjFe&Q_y-ujy8P;sNFfSm zaiI&zZ8lddg|hxw6}lEGQD@BZ<<>9Ub#lev%7ran5~-LYwQg zMyL0l><|B(|2YF!-SvQ^m+GZetsEzP)mvlw)3v{gqOqLmF_2g!UJtEg$~fN-*7gCt z#%_?tV4oko&n~hF?PCdBP%e+uB?3-Y{i}>cOtjI#kwjl7k<`xy;nBL;r`cazr|sKy z^$kUg?gK9~#AO)15rs;Bdh2>2Gth!sSnKV?e!j`NeijZimxa2y{ZIRs1VVIEL|?bm zbz1Tp6s6}sGHFwsJ{pcWWWhF8{3$)k94@M+KG%R~<-)bJe_3t1M8C3XQlelF;t?{)F8O&j8A+$i_aKhAqsh7vOm@ChWI_I4S#`oLYY?azP!MTRi?*>L9KCo zs6A-hFQn8%m!izpl|-kyLn97%f?djw3OZnt-*xl6yIe1u*^ z2yY`^>xUf^S9AAf){ChayNfCF@{@}2cQK0jFa&nR|8BXKE1zljj*K(Y$DOU z`ana{tT722k!oqnsnj9f7DxQWyDJIHDQ1ziUP<1$N+vN+>-h+@1HvX{>H?{N>nOfo za${y-t$Egq`N1|XkqEE&J!G>kh1X@y*6%}izw`&c7bcq4q+10hN`MLY0=>Eee z@RBvii9!0!Az(@8K!H8aY5TDcEKue7ZkpWCOHQ~RDVOO|3+=0(W2nwGOvvymvLSiN@~&z>5@0M$b^z36$7w7gw)b~ym`cG@2aisNEIiO3iYzrAntdm4Xpt@@A@1fCTdOOf1gGIbgOEqP@q4DM=rp3%0IWLe4aXyoQwQ6 zRajAabLuSed;iqTMN{{^+-M!!koLj5orHs&Q|utd_(XLhsTu|F+mlsK_npwnIx~%q9WN>)6;bfW*1i9a7!Trrb49#i`P! zS-Z}N)baU1cdLxv!$DS1?7xm!VQ|WtL-Yuz7ZGYw8wh#iVc zU5$;FiX@gilC|MnVUCm}h1Q|h;6vIhkXzmZRuKI}Py-8C`!ev_$Me4x(?8{c)iAyD z5&Ej;?fd5SnAfHrvY8MkBG~Z{Z)&21PW*#4(CF~sx8wVYKLe${)396}2SwNVFw3rj zQNrO4V|eS1^g=>gk|Zmq9VY}TD~6iMhTvqr`k&DLP4sP*qbf#Rmu0?5)EjH0B=e0> z#ON~BNc}W3o_~*H16@_dS+|Sa zu%LuoppEA~?D|fP5$L>_Ci4Z(tdRrqu^TLx_wzD;v7#o@|JqIDZCfc&^kaVYpEUhP z#adtG*Ea%|Er14@ujXqkfmj24SXeIX#Ef3ynVZ8@-fLan62b17peysCU*XO?AH#mV zhvm%8Z-*s;;Ra6k8diTkS@!qtA9Z2&|Vkq1;KUfZibC)F|OMa+FH0N;S4Kx3jz|b#%48A zi`5dI`o#wD_0Bl+a7Zc?tk0{Q=O2VrBk_ORu|o7U3mdi$_H&vSa3rn|5Epgo05E}{rHnb$!|Ioi^cfgIda+$!L5hflzXu|yN`OHyK zjUQt<{fY{D_qbtIx8$BiYC%W@oDj)F4bs6@Rns;G9i+%Z!6q8+-^#w>-~1`ru$oW% z+67nf<{Aaw5Z7*-{jBx22 ze?#V-)_#gl@l?O@SD4UAPcx)Z?v1dX{EUaAQ%_rcon zGxs8XJCOJ@Qw=BK#ibxn)SC{9ODz2ZE{Q_3m<$tHGwDe7*TVXo>_q0VQv{T^dgk%W z+-3tr#FtpaIw~4W2x>4eo?R_%(JTSqq42$ruKc=k50=yU&P2q~&KBJ!-TQVNHBE`1 zaGo3uvU|MWDezJ2lTMWyJAHEg)LpLMR%5lJ*#DE?AX|eolE&eeN%RoY_1;3R@D-uz zuRKt7JoNlK7#WIk1QqaH0{2@`^bcsX>}C}tBB zfVsT#7*d|pF#>HluW0|{nEr?d=u(W0?$j4B9rWu?&_q^K+E4+fCG*%IBPNKtLg8$+ z(8&bD{JC7ALZnm^-{0<1zCcVAZrFcQ%JCGcP6(re&t}g*ayh48*xGlN8Ly(NF{%o8 z*wdfeL@79q`4X!&ndjgQyL@YptpB~v!BWr#B#ED5&j(K>HgOadhif?bctY;%Px{st zc6KPbU*IoJqkTk91}498|4b`QGpKGhE4!iDpNsH?m%L#*B@Cy8#QG8qA?bt4%@=j5 zX42$(hlVVWhN<;#3A~#_@GC{%pq8z*7S#q#qvw*UQrc z?A=>^rtZ>_s&eEYp(=cJo612QvM3r{;O}@$wId2e^ZW7%4Q}yj`7DsX$uR( zN!E%`=EiRrx=)Hjs8}F)v;svC+C)Z7 z<<*DnSsVV>ES;rQAIYDt3AU?*Lw4VcvpZWb%3ulif4eCs9_qcTDc)2}Whz*g3uJNhhs7b;o|5eO3OAoO zWF#f3c3L3F8qOdQA9aMxgeM}gIC4Vydk3`Yo3y2sNPM%Z|>GNT$Sxn~R2z zf~<;U{p8!P^q}wGw;xo@SLgDcVU1_nq?B}+#hyAEo6m<&)YMOd5KpR|?N(lT%hOtF zT&CikarO~Q25zdO7K+Bqudt?Pr_N#oFEOI`ndZS~l%K=Vf(x7)a4_TK^@DnnLeWO# zP6Ra`7G=QOwQTCWf+vBNI8bOzgT0lu;3nCgZ$!*ePf?vI%)#^W89X;XdfZfMWgLXCrYm_wc&QbZ6&t|za#YP{M_;&iWFizY{bhyH{r zKK7At`oowg_-Vt+@BGSH+5uBAg*D!!u@wD@!o`8tvxjG6Nu@Ga3-zXHUrLY@VLp=3 z&5N35e^#xEII_UM%8h|u0;(knLh{C7OGyb>_rS8GAVxT72?%}T&+R;CIed3>x+Yyx z$Lm0i>os#CSJ(9jDe&2MeV?*YRS#hhv59BxhX@v%g{RXr22p_js-w4I>6?6^7u`sh zynI)zo5TejK_aom4+BPv6Hu)8m%UwsCf?jh8pjwObq1y$hZp@{>(#_alMa79)se^Y z9kC3DdkdZ$hLG+e#a}Ab^b;GTVeKNt`RYT9a1Z0lKQf0v9yL(np0qT%(QwZzDH+?< z;PSi>cQHMa5_A$qAy35-k-mxKIGrevO@c>xt=ic_V@4y`H!@!CJYxwGB$7Ep99U~v zF;y3R5u-i^cDlt4{AsNInE@{?HGU8Y`RC5wn>D+v3qAOA#h|Qju_fmIV`l4=VlYZi zEo4*KLQ_DHfpP3H>6?dlkwRLi5$;I@ig3K*M^c52d8`Mxi|#v1 z$<)C0)5v(S)wh*8t@pgJKF~o$=eS$QV7p*`t`~*&vih5TfoS_rEv2>nNCQNHVcavM zCJu?g&D!XzUb_@fMQ-u^nYdgFO|K4XYf#_*Qv zCTFd;EPFjRwtoys@^yoBW^iie@ISQxzDhN<;K$n-$>D5lUiVWpoUP14adrH}BFa88cEBFD*@t+2FkV=Qcj~O`8@AY3HfTpxJ!;0A)|hVV1LT zn;7KG#cRu61l7=%Cl4*HBlK>IuE} zFXb-s=AepRg^}2N?0BVY7C;X zatuhsaxL4kBQjrYr!4cmaH^{A*Yih;f4v^Qd-hQf1tWZmj?kKmjQbJlSM+PKsJ3;= zNQ^bgl>LXAFz@DL(F?jh1_#ENJg;5mQSD!`kq`T8TaPC?NmCyiarw>W@heqo6JW8R z&{yeyg+|P}jL@}Ic9fJRnS|GuTbYcZcGs0+A0SImZ@QGKWO^q;AZ|(lVSvj>Q5l@3 zq?%^rQm!Y_Zj4JFty2$GRx+0a67ipS1@?L%=@7AxaDDrs;sU1qbR~Mg=n8cLtS#g) zx0OVO2Ts`A?2wx8FnNFqX4%-R^*hJk+RrQKAeGbhdKJmWT-#!=?`~&Iri$ORvC8b% zzEZ^eV$f*t($HGD&E+k4m>ixvl4NXHC5g^E-BOlQ`_!Q3fSEY>XzAFR%+ULDeHfb9lXy zKWJL}YS#&p<3J*|H_X`$?-Zg>Wo{uTWYd=<#B8U*taDCqblk~be}t})>qA-&WWrao z$`<)1R@ld3Y$eCI!BNI$cJpbXFUq!UcR~6}Yek#_<$u!ENFnpL-_)*)0#j=pyKF`z zZsd+udJ4Y^F{Rf+dU@=JcmdP?K1uX(dspBRns;$IW`*Y=ZKAL4-uclT=2inWWO7lH zH*F#aA2e!5lG+HW4#c|80j*SdHxsK{FG-isC3RT{2} z7qWLh;P|J(JX^kID?hQnXoIz{^vD#2JtVh=y$bwKQjeTHeBX%&k&4y0%Uf!n+t`M; z31>Q=_^9cVgvqSrt69`BUB?_T#AFzXh#Qs@AAk3xN`G&Rf7oe{63tldyjlRRWRW;~ zM9t&vLJ6-b?#ZtrzMXE8)dnluRbdbwcM$8WpSB)0v!GgkgCX^sl{inw<$aNJ8?6nk zQs%+>$qh^S5j(2SC>nc?7BL~%5e5K5gOShbc*Yw*NEHdG5ZU$U9M;HQI`aTn8lMt-#%zzH|Qid3%?WdG1wpF(p*@zFMznwusn2aL->shi`041A+P$jxqAXxe;0r3 zO3+GNxQl88!W5Dx02y5r8<)&oRhL^a4J60A=bOYl)-@_sZu%yt`Y*}Q9Qk9cZ82mR z7Nb9(30JOR_@d`?Z>f|e@Zqqty4+2(7@)w&HSC2nT1plVxAZluHgoZ}No;&B4szzP zl}z_4Bvc1WTXMQNg%^bUklb$fhEi?hT3pcVXY8Vm`1tTDDIEX%wlkUn6kiMgKS;LO zGUWdO$zajKQW=GSbBvU)yed~>J!02AA5owxG=CND2Nkt;IWkRzsz;rzZksN2j$T`h z(mUf7*=&&CnI&F9>P(kHW`+?girmoIo-XNHGr4==S(>e^E^HSy8&rzi&NixBj>5}q z*;UE+x)bBzi-hOs#=r_3QFjhte7@N=n4L%2YXo%wUW{jDo?4PT>}xcPBdG=ABQCbS5TM?fr%g7RXj0}IE_{)FAv7AKjO57 z<4{O`pPx7nyb^xlkGz0k^NRxk%mtM3ZKW<)LezI8C)m2h%92znKBv* z`Jf$IR&-R*4o!qkg3?shScA1?K@A*&*Hwv1MweRcViS|oA+RP?@}@>*kn;Rem`T@# zq=Dv@(Z0fZTR7gj{Z!6%X(~06e)=oIE2OzAmcG59fhu81*{r?Y8^a(@BwW;-;wKZa2W*h#nYi#%|am`Vw)xXQ+nE$J$~n zS@Q(L8%MIctoE}k%P0|LkF@6qzF8cSDX!G?96)h~## z4LZ4mUuzQ1vW2He3g#Fu#zLp5eURu1M`aU&z7)eQDOU!U(pXC1hsA8{BWZ ztKFCBU$u_QWVJIu9G-`%#Z@OLKbE6VldX|g?(Z! zF+Y-mVFl|(!&{27YUZ@$NO^iw#3Wc)Mh6tcC*@Mb-gd=z1?7bFNlMr*K$5PhO{>)h zX|G;H1D$W~gl28yQe7Fa13Pky3){4pXV53FzP~ZMq8Wj3iQs5bOJPJvlJLo0x4E5> zIImQf2Q!HKZlYgxho$uBt-d~@Mh$oc8r zSm|BIW&Wo&t|Fh8r3|d3D2&^191YA-yA&k1ZrqJV3gRfr>R|j|LS6)+J{@Jz@F?r~ zVWmOU6MJ(Oqa^}y)I_L2#v)FS!>Me6_0DgIyKkRWL^WZqIjyR||L2kUi3c{a!BQt& zPX{B0o;n)03j&3i*6qAJ!xF7pwLW#jspDZF))_F59$cqOVjT~lV~w{rpOH_oWTH+DlxPy*APb{U zYs7D~4!`8JcVG+-KvtmV^wbq#Q#EjGIlQe|E~1Qjm(wS*9z0*_-kz*g+#ZlX;~zck z?V>yVM36hvAk}@M5Bgdm{JF{jd&|yDwZKLC(?`>2YwOua*O#^*Mv19Lqx}=iE<_~8 z^omr54MIvw&@pVaF=wgNA7u;}n`dCE99E*rtJP9(*51$n3_&b_BbIniSbkf?vr$yg zs)!~+Oj;|SSPr{wssl;ScU%XnxTh57?$dQNZ}Y08cAs>x=nG3r6w>NLn-jWMv?twE zP(vEw+j68CCM3{@(~98gNTcK~(a^Lzc3q2#ax~2uyf5VP;hnSn-wa=4lC3wd%u*Mx zg}%=Q@>~g`b)Ud_-V}+Sct-@F(bh6FC&|-3^KTR25|C5g#`i231x1QTwk}A4FNhDC zw07=e3Cf)D1??Y62Oiy+AUC26ZBOu#Q%b<|PUrn2t((2$Vkvj<7zK0sqc&&`i#z?rx z(~(7^I@(sxvWPDm(wK9i(+g=6v`T>;XfjO(%5jD=oWQUof(zOsyX*A-Q61z10s>^G zpAKkHFdzo&s#&WIL42d>QTFWG>PXc*4eopR{nquHh zpNMXr#!~H^f_6-U5f&NIK$vBuGoo)V8HVL6L8D`nm7iqjU}9KC_4)G68r~qZ5C)f0 zaeevZz`-jeOKZSFeOpNpgg@j--b;PRgCNg62=CBOcmWyiyn3J9opgQ*8?&iUoli?&dwG%`s*5CUTpYSazSoH zZqW*7zOy|f(Zp71Z+(Y)7Sz|})Kof1Jfsumj=e>k_bWcPz&C;a%+SNudNe#B1PFTr zp`^*RrxtQ!pCoT~NTtox^og^KInXn!BP)Cl`}ETpoS2&G$gvX8LnKVe(gB0Z0#?aQ zb5iPXOmJX9yOf1eDk2%}j9QlggrXjg)PUKIDNDA{@%hWRyPP5UL`>s`Zzh~f3}yIH z2Ur}6u_B1!Wrixa?oPUx%|Qe~or1i1(C-6}j?~?;Vdrw|$nPeE8%}iiBhPb0Z2dSFroX*C{7f31noW{VHtO`H{v{_pJZ2s! zH#AF9UG@)YNs)#H!o&}E>4~4Z(6lMz@OQM0yrCtn9j}`Ip|{hx)VrP8=so%1=C4->I{Jv_TN$TJ=N~!P9H(ga*!x!6Y;vgviK*I1EaA&i zgXE2jYUbmQE1_%I)T`y))dhRR43aq&An8QxgavIW9Qe}=QBhdx^bRj2~?c$;$ zs=~jH*AxJ`>e2vHI@p?=`bS1q?BNm>lP}TM1h@BuNFZDWmHtSHLXkuH?y-EDf^kjh z{8OqBCi=Wg5bNhrW9;nk3kkQsh-BHEM&m`ia|(#H)9V?lh)4)Y6YE5NsGm=J#oOS- zd})BBtf$^-<91HEjM(5H=~LXSjc|@GT}veCERVJ26cI|%=2zg9tOlaEjqvx!y<*;r zY?8k;Z!fisk1}L`?TpMTl@&f$q3EsB!Px2Ighp@2K_e)DSnVTl3>rgp6$K<#$I1ga z$+aE`NMi$&SGXj-Axkm${Bqy$Gh))8G$EJ?(H%$k#5^=N&wVjd<4{1O8NrG-RZ6Av zzV1`5)D|fefApyjJfgK66b%J6kX&1CqGV990x!0<(DlTjXcEAHrB@+fv1JA0?E5?? zAHfEQg2<`bMiuhzoW+8Oy?zCO{;%f@DSMR}4DqayzYpUw9FCd;*~$)kxLYetLLb0( zOq!wrqct^&DoEA+Ayw@%qK+^GJ6qeB z3xK3~ilR!j!c#232Nc#(h^iXlIp$#kL$w7+ugRiUQ15_&E;+wD2mw$eC(Pz2RaQLm z@MNAR`Io9)Z{BJYy*}D%;zotIl!KC@=;n2Ti8ug+>b8K{#Mx&U&HOxmphFI*^&)?e z8~9LNNkA7`iQBv_=@2~oE#KR+h!HpKptC;gSe>!PY`va26Wow13nu;gIcVxhWCh* z1*AfT7<7>aGR zwHh^&?RE#|T5%{a8gKuI*N7KoH}CR_wm{WidT4Zr?ZN8~~zXddA)IY;G65qT3@Q%BdZzL*FfLG($-*ogjlTMGx+V8t-3f%RYLj2kklrZ_p;yXxX1jcj zZfkyeDUy{XUl>8ux##QZ4p&^+l}4B$)sdFzQMhhl4NQ|1&GR&2mJC(NP{;#I-5Svf zO$;zzddS~a>dT)z9wQH+tAA|+@N%*_vxlpEZ9K0xq1U0GdKOc(RXT?#+*xej&HH7t zo!x}%ye|f=5Q*cRzv{RTK8<7z%xOea21I(fc6;?ramw00sNIQi`sW<}+QT7vb4L1O zjCb`}9v=a9QPq&aVD&~?k4Sw$3FT<{t%Je2gA=P$R5)Qd^px`=0%wyS&#-)#I}*xiU&OEMy-W1 zAot+28%$Q*>3L_|sz4+O=Y{sf5Zvza=32ZT47{0JYl4XCCKv z1x}t6kQ1#pi*q@OTP$-_vkA%RGQwErN}l3LzlIO(y;mI0_lxgW#eiQ)*I{Z;0X(KW z;;>6$P7wqz0U|*Nu*5Ja>X3mYmW=sliM{ly-}sD?0LA+pN3jw(Lack@H|=vi+uNbW zuiWNW4TH7c84td$w&Xn%l}Ayc8l4zI))dy_%hulM1%ZrjFJ%(LHQE*sYf8@Fr!-Gx z_&4M8eAkYC1-UfUUz=B>xx^xTAadWZ%Cq_8&)}=2v|TJ<7HDUbzw*V%W=}(uxr}k+ zV+}%cqU>4*G@Ye=@TlWQoB^hwy~ML zJpDx;`&_N>y?@rIup-%F#n{0dcpG5h+GzpH*CD zr-N&l5b!q7d|mJeB909w!Nwhrlx#{yg{Z^rr9EPoZjDgM(dcbCi}>1<=x87MpS_*nS@)#K)1XEB_(!s%QtHV2 z{2_KXUyRmv=E{0vBm6QGn|P!eEZuW@Nn?C{`63hhqMqY^Cv2@pZPY$E&fs&|;ggp4 zkEI;j&215P8!nU94EHb4MRSo-sSsDtId~-3LuZRrDFBL$q)}qdiNCPm?e5Q6xEKRx zgu@|3Q==C}Ya+? z=|XDd$XNkWqrLjIsw#rgHsrU#yU=Ie$QWg4@HYKvej{4dAz_sRe}5u6pSp9IKX0;LF5hmfa)@~iz3!HNRuEBMEc31xUElrizh?}0cBMDHq-nW5g#j z!TyQR6X(0Ur0c7;Pe*Ci9VZ)g(GlMy!P59Kx?fRoCD1WP&{=2js?bS86f?O&lpu9yPh3YO2cbA5VK7io2LSu;eMSwi}NUSy|Oa_?XAO zp;8xCR5iL76g|!0&LI1>7#6hkT6X7s2q@P^K140WgnlAf^4v`j5zmQkc=M|~xOxs< za6%?;jYo<#gy(1#XoSi_aipjvCv)#$IeQW!tu^nGGI0Big< zU_P*@DNZ9k>=x$R2n;?kTJ1Q8h0VHG}VVur0iDI8%wDi-Tq%@fl z&5uOkqmyCMq#x&f**ulAqc+BqX490bR>~y(4i$Wu{obIN#%l_=C#jwH#hENz?H{u| zwe#{TWuP zT*HaaH)NWoZ2sOzU=67Y2pSBtl9bH8R>^wwgXPYxl`3JUK7J+Z0=E53>rGzwwj@)- zKnRPzefHJbQ6yf0Rr~4BSNF%?9Ngu~i~ak#Ds(+aXnj#6r0IW}%tPFBd9cKV+0@Fg z806yVUZ}U_Ck^YwV>c`fRgR!fGURsaa>fT8L`yEio2VAT*<+bGKW*ybs7IcbWpFgt z*}}%nUxi8g(W?$Upx!qr4#=T&Pb-&EV^ zHc~WK^Uf6!}Hu?j^o%xRnTwc<{n5q>tQDl9LwVt7Hn8J!ko zi01KjxqO-RZhQcL=EFDFKIgqj%jOvqgw9gx<|r2EPw2iWztm*R(uE8BcWUdWUdS<0 z8`3u7_tr|ftrb=(%jX8=b;lt_yQmRqdKmlk3-gDhjCrlgjz1F26=n=KYa?%!sqrW> zIeXj@-Fv7C{&IdI$<PTzn|-`KoZ!OCH<1sfBcq*?|!*CfVUL zGwD?07gdU0t!Y)_T(3Me@W_Hj&L57CduO5{ihlb~Ex^H!$I135JsV|XFnk7T=3B>Y z_?Xo6T=7(taT>@DgwHub!~&iN{UgcrNuQi%EBIPH-1@FhHq_7MRgGAu?Ir#V7!Ux= zhwC<1|7#Ec--{68%B3j$K(dqxep^|Dv96i+FOsf)DF=3t#n~EKs}?g}vrc3;616~w zzqJ>0KI>#a_tmtdi`F}`+Dqd3m)oAUSf|fOl;dvUzcbvUASuBMibt&$3EK&db7pw` zktMHC<1Yt~N#>Doq`4!@IMB5Bs}R%Mo_4!3ZFFC!u>Hr}v2*2{01p8PsMU+XlfU+T-CpLc0@iL6R=pTs%xDTy!DvcHx^69)`03frGVwlHI(Rl85Rj2bm4k}6*qHyL+g zzNTYtHSDAf&7zgaL#0!iI6A)T47lrQd9CT~=U1NL>+9S5bm>r`--L(s*1J3NpaA$f zx8C-&zp+rJn*i`X#GzDof7}u9lMNFPfetEjYiW;qv;<(F_Mj_nTpD=Yua>qbMyLGs zg=C~vjj|bxA5I+aue&xf6mC)pt^@GF7jx9=MlTD$n<)I!!U-%X{8E9qnq1+Is)F88 zaxOKFVf44)@i2mEs}bcVuv^ZnLeRjWP8!g@4N5=||=Kue8B?_!KTn;iwd zp>_#%>&Ri~U`yL{ZXMhIdl6lf(3eVoMfu6^yA|`Hh|%$zsaxGXzoGjJ4Ve^5RztNx ze+>7w5PA)ePfXQcub;m!Qn`GB@{^O8Sgh zL9>4!hn>BmT@%8{?j(J~jkd;H?~m8Gl&~%mjdNw-Q;u!@KWCJL;klHf*UldIE zjDl%_1pFUZOk?5-bsKrwnxXj{$AzwH)a`m4_IBTC(7F?aneHpguch7RhfoHTFXMsY zlI!tSDY$&ZW$Ks_Kgb3b2;#&4U185Sy^8Xt#+(f3kD*W$y)?lDJcve*~IvtjF?4@GN^j)(@#& z_EJovr^8sGE0muR4gf{`6`<2{_CxN&G)|f?-Z6Ain|hDaMNuV0Xd< z2QY%zH;LJQoC)yL;tfDJD|D|{{zs3ZP`3cnUQN!^_)HcE0gJWR`ZMOghLZ$Px|6t+ z$WULUvhklaG@RaDzbfs@9p9K3d;km}ts~lo0&!Cpc+^?NKA#IU)@sgj1lxC9Aj6bJ z7#4gTdn6U-q>>SZWOFik2ZZOIBdXcD{tj%J6{*sZvj z8sIqi8xPU}j>Gvc$8p8z#|8xn=S(eXfe%PdM@=yV;aE3PXa4M+27R$ZESrGaaM%D( zMnEY*0m(MuhWT66U=nj7NguxI_ktG0(B5RO+$C~QdTlsL2V2Ii>l-75TU_j5>WqSv@^NWCnEXEiD=cne|8+k|h;f zD_jEXY$u5>Q+D&_dijs1XZ#-tO@i)Nh(tqRRPSSe=Qoegjm61!OTZB9E5f8M0o*!) zLa@uSN!UR!j85k}J3x1$voM z36rs_p47asKt&!8V2Av{W_d&wW<6Cf!q^8q7gyOWhbDmoV2pt=Bz@v%#Ri@`w!E__ zE4uv5zaNt8SxZ29z^&3xT7jxCH*sC2B0{*3^lXJy-mNxY!Bli5-LMnxa7@N911qI2 z?vI@~Jn{TPo=z52o6c;Gc{}+UPctN3o6=0MkjLT%>NYu__R65F`t*!tQ6p{wY%Izu zUm6|rWI3Skv$7pNC#(b!z>;q6BJhYpMP1x8IH4W4mWzf(_ykGi*$6}$nJ+vc2112^ zUD-wjda9Qb#C_5SfJf-oc-DFSD{ysmV7+u+OJx`zLR*Q_+xT-&jUB}6zRIj?X&NQ( z*gid>oX?{Ze%rgeuysYoxmQT~2Ac=t#w7!kiN)|N&$a;tz?Rmgj{s}xU zX%g(8I=RXO1iNk!Qr@nXqkLukwveYgOBj>eRTljwV(>;I`TmoH59oMvS1{4WOCPS_ zzO7%voZVi;k-=9k@>h=loBxC(bHxHm|Bwr?H)krO_2WY3GI%S_2p!a1!eawl&ki`x zNPr?$&UGm8Po@fft1F08VD){?C%JZp_Kst#vY#9ex&K?B+qjrYKkP=rm6Xoq1Dpd^ zbk!@wr)=tza&%=suI*pQ(9P_&btwE`g}1=XTB=!9TD7yC;6*MKn)gQh%*M`!6o_mclq>eKI;d=))6&DZFDnalSusSDEg-uPVZB9P^Zu4J)U|i#)ugloM~C0OCMHZwSiBv2MNg2`>Hii6S32#@%Zt z9hY@3B+e%+bAA4gzoIa!T_aZmqB7c5gM0vw8kL;=3^&rBJ!)df@X^0vPe#-W>SM&| zg&=-+p{H=|NLP3V{P>qkL$se9dKLvx*@S!;NNFZ71GTNBXhx$qMOSA= zT68jloa;`x;%qpFp^s4I3-bouCC{m|7FuEK;^nz~DpV^cy-{p6;b6J=->T^_wu-;s zi@ntc{kr6O7qE*WAn$SLDd~=Z_Q0oKDQ{!^^Cb>Cs+7Hizi(sdf_%{$Q@?+O27mZV zNVa+f{+P?m$1RDG<&y%7>esKUt4$wz4G~0f{RQjr_hcs3`xSCX9waaDURkjo{p663 zxdJF-3tC9Nqo4KK;Gi267ux8kV2sFbLjaY-SXt744HK%DCKWR8$LlOEayupO%&2sv zviiPWusahkqj*vgtpJQ|G+HNe+-3IAdRvty7bN%hQG-d3$UKCB=MD~b{Yc7!YA@qwZ&wy56Pm-04ENSk6VH3C3ICA`uCG2(qe%z`-a4{r^OtRks%m@x zN8E31;IigR0T#zvRhZ*z^s~78+g64e~dA+hWi7oR79Wb z_=jIbu3VNJzGsiwAo2$q5=l8cjP+jVYa@ntm#E7#;Hxx={nP=8uEgeMAL=SiFX^rY zZZ`GKuxjtVAnWf_?>CO#_(u$huN3KAeL@wyn-()Q{mw`^`sCe|z30bx@*tF3bX+b7 z5%2;bMX(p0gT5LsWxt`yozSuS*W|+54|jW2ZDN(V3+=F+f%TtHeKRtO-0fhP8w#Hr zqLXwWMBfC0^zf967wtaFdAndm2kJ#;`qEI2dMW1~b}@54LkT!wN3>+pNcAy<6%F4u zUaJ5cOLah45hj`oWTG=6%rjFyt7$e&q-ewp9daIciXZyS8lYnLaG7Pl#jAC_)>OLN z@eqBgChCDhJYHdnJPzIuTbXJIL->hKoA{)Xv}L;D%J$BG5n{_>8MZ8JIGnd5;N$ks zW)v-T7LHe)kOs>I{vD4Zy-PQ^XskK$0qAbu3s&7_M5UgAgJoEFF#wDHT$@}_A4$~8 zG&*0se+pzeSqKr0EoCI-*Xz8oCRo=)yn!uj69|t`t9c#Lo^;K(eJXdKdnKD_L7$Su zOx=I%OoB;uUmSdUZ5Btr7a_G~ZDk@JvL?&1ptULr5Q{sas17oQ8DT zzkXk)s#DCL&IJUo)`3^Sj=Ct;?U)BlUFw}8rW>Ha{aLqZy) z5$P0=4oPW{5^0d`25IR=K|nydk?!s;kq$}e?uI+BanAYf`ro_OS*~aCp68jFJv)DU z&ulHDxQaWscL?kxT=-ThmYwZkTz>QOfluipp0Jn09{|T2L@0s36f#5KeoIgJ(6XeR z$|0#vR(60orQA#Tx|D+c!T$l7O}3u)k6;Dsnf%yZ5HFX92!$ZNmi!jPQ z9TBa=5~10mOp0@Yq!R0ol-!RbMO{hfa%Ttz7bYwwlcjUttk|5=R(%fhoGm3)C2f$s`MN=UZv25| zb6pV6Gs4ibSFyuY3)Y}ox)%8Sz>YEXq2py4z6<*P%u>vhz+O7bh3N{}xN(gva~q|G zJ4EG?BU-cUC8<>8*pT1w+w7aOn}ZD<3BJ$rE#cwG2LeeC)zr{ZK6*lFGRD{Y-2_H` z99Jk+pd8xgK@sys%Uw5l0&49~Pqv;rF=;?G8>egQtq$SO<4X?z$Hh&>%3CA z{!o1Fe2{zg7%I(QQG1*T>Vpq;iCt|Z4N?Zi>LLEQBJ`?dVF&H$hZ-+C{@7c4iJMD` z)9sMEluBWo!!PPL=CEI8-wWQ|$-7UIkd$jFF0QG(RxW}==tr31U&S?(8NJ&f*z=DS z_22jfOCKI()$~E&?}o^pTP2&+j_S=Rcx5}hs!8>r!lfZs0SNqg&i=lpaIndc!{O0q~X@_yh1KYhHH!uLphY7n_RjLVsZJjDew4G|g zt9xk_K-^lfKe;4{sp!ce$K&x~=h|W7MP0f(8w#%awdw4~cv@?38tb1=^B0nv7C89Jm2)j7@N5qs}XSnuZ81%ttG?W6;tccZR8`JMyz*};XVsZ(KQC+kJ}}xBsQ;k zSzV`L982W6{B;_to>b_{j@bvdW{o;4$UU{tSn2KLe|>&VE2_L5IO1XUWZs%}&8kv$ zGN#%yp#0vV<7~88A#33!N-l9ER_MC!`U(J+dQowFJr1w!4kbia$S>-o6*WIL)#u=@ z(g)k44_UtU8;pAbml%_Rb7z80RsBkLVaK0~@*~ukU^51E6DNrzI?DHoT@o?ZMpZ(> z4?=5@xXIWP*W#b7B&e65h)PZc&HZrectcTkIBTk0X_?fvBbzG4RO|40gbLhc;SP^y z8EmfQexDuSRyd6GDDAm^z+g7!Eh`-MGKeQspCI_CIE%F)m{qKI<_BBJ&0F?m5#dL- zPIa_w!@Hfn-lj!{V}Z$LXaOGIyl}-iN>x6MaF;u=7L5}H`0V3&YAD@V7;L60BOKlm z&K+K&)_=WjDfb{yG|;9YpvdrYilWc@L$QX&lqBu+T&pgf zZ!yV-aVz1dSL`x`VpB0AtKmOqH&|IvwF3<^7Lv7ha&qd^#wu0fYYzj=uvM1T3yr7v zTnUCYS(vPUm91+b0>_>CA;8Z>*Y|VMLzNRz_3|g{oMs|hE|MJ;WE}NtF+*x#F&MO7bXIx3FTyMiWl zjCEc9)Jzk?8zWXQ?=jMGgc&<96^i_%d!>Cj($-|<@r5=zXr9xIdL>yl7@FRmi*)he zRkQP<-jT0%s8d%DQlYNnI}Fc<`yrb}&$;q2m$K%~(kFj1E9`;lk#lF2PoVkm6_w2G zaf1;%C_(;No=(iF@2(L~n&|I;FT~*#$O(XPA_ma+GW82mv1KB<6pPZlU%^MM=oa2z zYXA4?}fO(MipFBYi znbN#O*k!wJO{{8M?+am;v*CLZuWM>dsVt(f${z81*9Xe$4Q8UQI%%@(kAFg)2V^NK z6i$d>+#=>wF^wcKum4j=A&H|vM&3#U0jq5k={oJDRqDFiE0IIq_QBuazdk zCaWyH=sus6*-(d*`Dj95F}}$cYkvO*VcxKI43O!9!+g~;tCkl;(g6X$f$#BwC})sp zE_r4GbMkPpSIkvbNNqfP!FQvNG`-o)J|-N4VE?!%Rcc|zWw)O29=NziKyDKUeY2h*tYhmO(c`FA%O>S(*YprA5B(zDg!cu0-I`^ZP zN$ZK0nW6yW?5qAv&H;1_S-?#^V7)e1poa2S#^LwBKY?8EH@kK8PTJ+RbFI>1Zg}6ZA!Rlzh{KGSRRlkF8N(k@M1vsu%cGcNN&4X0pkj53ao5 z5@NCd)`hphl8M&(Q(62w2JqH~Ewh&|j%$UaK%;VgQ&2#j@x`Uwb6%Jl22odp4=RFf zI8Sdmb!QT!t%;vLoc&pEVM2iPmf+WJCGsHvl=i>7h4^+oIe7@Og+5__zW1c~@S1@< z>I)QKz5o6@n4Gj~X#r7$lrEnA-Fz4`tm2(2M(L#C7ca>W9s$Q_7;4Id;$Lq#N{9r! z>UPEVK7JG&aAEQO&CY*H@nC8WUzbsX39S6WZ0;DQpZw?52S^(d-fr)1Yf1sYE;R8d zY9%=t)G%KpXS@~ihDwt51JT+LBrIAT2(9`jYY2j)pN!CRqw9=b_EnToqkmSBQ<$!4 z#th@aQIp7bHelpHT zLAypm-kU#$HvW4e0s@wi0pDn}f1IrX#1OWZQ@~@+ppAxiP^@!1wqyg=5dR53#_< zIH8oCKvA(SJH+;gClc{e_*hVWOZ5~vxf~!qJL_~PTkZ^vn<_DVGNi+oGkW`<&zeI% z%aO#53?$7H65!_06sIsx_w~R6WC$hZ2Lu`V1VM%rse6WAk|iRdkRIVQ5pZ)UW!zWU z5Zt}q`jq#)0puBeGkZ$~ECBBqbtvjln%s)jd2~U>gtM{0mT^I8&|ttpz}ej|HWC*{l8Y08>K&*$W6U z+ui#n!~sZaMH#gN?vQAqgpgDAnWB>vw7Lw)VdBE9+x$T-bt%AJBqB1@KLy-|{AX&N zl{*~@&?t)mm~Y(xw<&?@<_Das?$ew|Z*d@5XR(BpKYZYAiew{i{ibQ>3mAswkEjmh zSXfem*TtcGtpEjNgdygJ5{u(aj^l{+87N4Vo=JPggk60GjxG%)2C>b&&U1LHg<1qt zmmVMsO_DP2E!&-f|NPA_bh<1*GN_-Pwf8!+M2D?g7$CyGFwzRrYHa@g;FOG^#mU3| zMdmwGl_JzR1P2MM?)N1u(eD%}mQD?l=Br@MQ7ijP)O*u8#9Y;De8m6GyA`q{zcMX&W=! zt>MvpNXl}3>FyGx=)siv_F>`Vh>TOzjuS8@Avs)J*3YWoH^};Uom%6Ae<;wBMjf2! ze7!LsUEK1qT4ltzwjo?AtTUMj#0nVXk$$5TGmJSv1jO_g*T~2LVUB*X_5e%;{R~O?S)3qvM^Ws zLs=Qpuxal~p$J*5ULXoY&%?i@R+^tN5a8Qh#S6KCvH1M#VH0^a2OIU7oT32ryYT0K zSWQR@aEHALAX*OqLVp?72K}Qb%U2KnK>bt@s6S~i`m-f~M9&&oYy;?}kfcQ-hFU7x z4ZrOo+iRI3#>Ib@`$W@% zQ4GHMtq41GWMN0cY45Ws6>uatPJClqA?Tho!odDsxQTo-_$cR_Nf%AUBXL^Ny%rk9 zc`Dal68bo8{LK-xPY+GI)HoUi>>KA)+` zs)4j!%G5`p{ts7&2bD+F;}DXkr8~g8Cl8M z|CW}Ezuu`QqvKADV;=X&^a9;>Ek4+MuixbIRZQFmHWQ%m{^Dhj2ccNVQ7gk-?ni(A z{u2k=E+MRo!Tvf= z5}&|+tR<+ZO(%#IdR!o`H%)8%py1IAUd<;Af}gx$2$z1E1SmLaOyg-Qzc>x7b>bV|~KM z6ot90b~WJlzqkT1H27u{M#90av~7L&{$8*5NbuQzRQ=!W0LNkexv}fl2K_{amh7Jl zr^eui zLOpWO7;y1*-IzwPO`zQ^i!fQxD;PC#Vx=wXAJl>hXP&{zC5-gfLh zKM@*}an*m0g6e#@gEcDENI}04L6>y@p66=f+O1~AsEBk*Fj)-qi=ESK3ZBo1S2TEo z7*05AR*ngs)X#m4ub&A+<6+kI=-(?6&D9AJHJDNLjcCr-z_&8OryCF`I*V)GnUb6& zuq%>FaoFEXUY!S@-%9(;+xnqUw z6g@c=j9EPI@{uSvPsi1*Z#E2khXc-9t|R<))4o^X{4HbKQ+vQD9?@#dv7?)JB}dzY z1Kl*HO2=3}M8w~PF6u^Y?s$nW#-~5X*vX&%Dy%5Ip=Po#i;xe&!B1LI+EGvnPP@4# zL`xcP>18VJ4K@hFW>4rp-0H|XURWfgHyDMr>Np4$E>8&Cs0}~;ZAVe7^F5)@1LSCE z`WADWB!h&%^*Y8kpM8zm`gP9kze)o*hN@s~_65e=zs_g?+3Vqe{WuYm0#2Y5eI}s( zZ>`R6dPJQ=&fU2QtcU%PUa~-l;%O%mxBq{MGhn6f;6ze#|39@ZLTeDlntQ?ipIVnc z%twX=elmu}wFb`3KN{fwdJqA_bNZ3Y{!h5@ziaxX4yhp1gk_iq2N3_+$p7mh0MsN| zBl1`MGcF*&*PZRO)o#mgHLu{XC1{}ck~^1n18wLjsU`1OqgB1Gw`-wl#mS7^aByV4|q$!)KPrY~o zAubss^zeI947nmo1)?uhgWejo&a_AJX!6~dC|!}3(v4qAms?3>Zd?i5?4QEO{U_=} zdD6n)sCP4!0Q^O8n63(V*4FP*>|u!!UqbOwQN0P|Jw9Wcn1EA$&_lQ4D5Ux}h860^ ze$+(t9CXdzgz@B;KRM7Z3g7rx;rL0?pxjD3%n_g+X-DT>q3>+ysi_`8&WIhTS#Y}V zsp3=}${+4`jdPjDggo0_tj*;#(=g@wZ-qd$Cj#>xk7{Imq|&s1^vb^+;2j2BTV{jx zZ|s01zaop|hf2600C2R2@i+RxCF%S@rR!@Cje&TuGXOoetvsCOOvB%i2pYWfAdE-) zaD5bOICZwnk3uqsX2=L7_KidaLw%i`;Bzc+5F9_hm)uR#r3&fSoH;;^CF#$F(Q4ZN zb$=rF;Y1Bt(o6|S!S1^t1n5tdJT<U!KcB^a0(AVnwyC!b|vbj&{{?EUrBE1r_DPTqBGBs!Ml<~(G;6h!0og;-24DwYG) ze|ZHI>VPaDeexQgB$+X&3rk_U6)!0FegIQr6-ArA)fJrHV3kyp?64xLsO>Bl?EL2U zL9rmxcH0|HTcIt-LCy&ZdXE>JF?fPa0_)+y@&ee?8{a=u7`bHhM7pni_dxF869{-( zKDlIcow;g05i7g9?l9B+t3(+8ERAi4Vf?8B_Q(salXVM=#)~3Pxmtly)+R?ukQ92h z^LT=J&i{dOYxfhkG`Sa>B2PgQ8xB;n4Dq2<{mbt@d_vwJ^j>@`_W{<91q3?WQ?Bek zDj-|FB8{QKDfeCL?I%|HXMORC%f!I(uG2_4b>=}&@MR6R>}Wy%_{n|bZ5H0grWv25 z`|)=g6jcAYA@57Ft@ZlLn-E1wv%Varz5?li%!#}6$#&N6A8@Kc-T&ligRZzSJma}t zD@)|;)h8uV_5;%mZ4b5R)Y?L$U!ROh&5dQDc}}dX1^uglqIMy)cf$Mj063@)kobN0 zh(oiijEpSuffY=BS!a|WIW&2sh`(P((^ulY*5_V)>B;=!Z!ON2KYj^HfB?qWo@(>t z1j$oz=#Owe@ejQ1rgLM-aUeNF2P0UzT-82Ry9AWZva9&9aJH_b^Vg>NzxAu ziG**?_40}kMveH*B0y2tUj+)8Fn=S1!Z$>~R|J>i5=t_ z;(Z^Xw=YP2K=Ueqo(lbQ%nzu!wCzXkMtEVzoXKPzbu4D8G?93mH;N6~hN3?jBf2pz z^)%)Q92u=z%tt?49EW`s9ZR=laZ#4w(xA>)%hL^R3?x3rTX}0T@uXi>by-hrH6UC; zwGUqI{9SmU@$j;o$r;~nuc|mf+K1_Lu<1bYb`XK124&0TlU$V-8ef}oFK2#7UQtcK zGO`Yw`84~!gett|;~|sJS+S`by2!^LpMsNFHWfJNgew@AKcOh%iJ8~4#Akn-siS95 z80A_sP7<>LpA@rb4wmPMFNm)RyO{&Yn3(N*vulmdlLZp92lap{v_pi%s>e|@*5PIz zO}-N55+BIpc0yd=`xY2c<}oLVOehzzvem=X7!o==c$A{Ai)Fu+TxHYbC-tEc;U&Ks zzBk^NTQsPQ@*+wf&F;iSjf!2XTjv9_#Y zvp(HkvaL|G8diz*I!<(LKb@#0CuX^JF*)6f_2wTloKVv5!{v>53LbB;Tfu76sYQj& zbi5I)VYz#%n90_62(O)qMsPJq!q2i)FiEcB7RmoNJt^6ahdjYQ)zVvnA+O}Ia@{F;3nR{@7-Zu zIajr=rQ8dBG%&2#n8C3mRD~6m*ISPuuEE?4GW&9!+B%q0I_vPcpI5#n3m}T%-eGNu;^OZBV*Z z93#*^F;-8y?V(Hc0ytf|S5I4Az0?m{ZjARvrQHa_&YxnP-_6)OI$qs_^@-w8To_kHE2bCj<%7M`+Lb2tuTyWA4#nc@ zj);)LX>^Z_-#t0|l#~7dZs0dbF#D=oW*1N->`e!`S7ZH-&8e3hRtWIt$n59ccQ&)| zn}23rYN_LX)90RR*)?75mc_p zwlWnw`jqBQ5+_8G=57X^Ov#%bV;*d=Z$M)mvXIr5tQ5g{(00~(aqX6N>7BMQp8r_t zlY$_74mJ5v9~8sAEunB$84H~Mk=Iyz3_5RW*@@rn2EGw#q4(k48;+j^xR16Fw0x`Y z-SC&x2=~smx=&6-`D$ti7no9f3H22t>R5l#64bl9 zl*L^|fjvtt-)$vVN1tA`XC2qh*0@)=nv9+5U5V6l_<5c(%{}l?dPMqNc7&i$Emkaf z$2T?M@Vg5K{rUkyhwmbDh;FbF%%sZWcXb++&GS|pX+7H)+08z@Z8^ib>`he|UdkIG zPVy5=am}J%th=i=<{9Cy?;T!rKW9SJCPl%Dkr>uxGo{&|hW8C{5JKIw|4O}HvfO|t zZkz4S6z8y)=05QGQ@m>_Efu;&*emsU!$Q!`I05wz{|ldRiPMs}-%lmgg(5xDhRIQc z57*6I2?p5(&7=gj!^&P_M-6}1uOMUut?gp_)8xcr2Z?%oeO@65eSy?Oz}?vkM+D~P z@N14z*UsrlM_|pxH66pOCl0gWFl-Fz*ks>#39&7#8#j0Q_o}45uR^j{r#kVKhqW7v zY1FVt-XHud%hk?EQq7ye)_hIs-HBk>Wz;&zddt=bw^C*f?$-YR?k_Ju3Mc8~d>l|L z&L3HpKps{b!np0();t{E9mv=b!a^X(`8^O;tSN?J{{bM}q)0K;=_4~Gm|gzmg9B3} zu575yJak+7E;tS;@x^^u>Kd!LkSA0>ISpwRET$Yz&Pv7X+LSU`V}{r1dZ=RrCt*`i ztlmFUpSSExyD8~iPO$T%xMFy}R@l!GUu`~xM~Z6lzU+B#P2Dd2SI|bFt=Y%L?5`4` zNyW^au;!tvprxOP3+W72IWFN(;}1ABM~pi$xvACV?SpmqLo>8Y4Z1~;Ubhy}uTR4t zYk>=iUx_~-lw~wLOGY4aG?70|P zcxAdbKk^C+u5}tlZF3u*C8K(do#-h*dADhrFc_2Op6D&)aE8`7gcPbmDpTSvOM>U) zL_-?htj5^E9JgGyw>^Vt9ljlKHS|5QkRvAUYA^UXR7R)cCpVU2;+}<>Y6S*-BGUvN zK3i3w(PRT!vHtW)qR~BtCcxUolv|oT6kImL#W=iSgtjw1&GS1FJR-JIdetzF z{%Pca%&m-dMZ}RPkWzJIAf?(=pw!~WblQ^xqjD*mQkAFco59Yu4(${-N4Xr(0Zx9_ zro4x=4O7^8K}gfSq_~o&CMulQbj#gUw3{|#W1+Hjfs3EYOD@BdOH^l)zS->%9pZ30 z-d-HE$Cq!>U~0Wt*=1#>U0@#n++5f?>GOVI{Z#T$e3P5zxrTc#?l0iHt1I0cf^ zz{UP^jkF3btEr;%gHxx|@^_Ys$!7+N$*Pyun=VNU4G%QLWannIx>9vu)C}prikiMn1L)T;4UVsmo~~zMM_EkcU891b3ElbiO4qbyx`f=F(-hKLT@m zZ;pUer+9nOd*0=J(Uv?pdUnspVJQX;ijMbYH&*FwN7)Y($c@;I6KVJ7(b@%Fh%1SY zYZ-9RZC!eac3usev97^c@X*H=)823yqpqp#;d)J;t9<&(dWzyItMk(ZhPi=l;l&?% zgXR>HExm-E83IC+JVkxh$@Jfo7rU0iUzeZ4-eFDGdQ=u6UM!-HIf6TOE2cEKN)%`j$@T%f^oo2-;@}-9g*AXUDyuxkrC9gx2zqX<3yxmg6P!_%R#ol}e0ND}fGw{|&MR ztdraoLK9oreCBbX+Wt5^Ou$*kLlrGH>-oGxME*tsY2Pv?lJ?N)8tCjMpV`asF0Ns$ zsiOn#6RY+2O7`pe#bvL=VNR0A;Lw`y!v>wK7k%I4upZ}lg@tA~J|Be}to1ue*K*oJ z{g&x!ShGs^(VI6%Zpo-(6L&2p;ZsZuw{bTYOq?4{ij6tx#6n@953`EDkvg4<+gFe5 z1|#KXzOLi)Ke50KZy#1r=eQ=>hX3}AdjNNYYg051^<#eLJzhax`(?-W6cHCf>v`6B zjOZ#_BTI>rv`f8I^vd_nw>89ly*8Hath#$$P6QYVf( znx&7fiw+47x|*zHfr8k%J8}mK!WCl1wc*p;Ve5WgZB}QiCSjlZ>x~AfE2!f1zB1oq z;gi6jh?&%6w!&Fb(RN4nhV7V(_;!`>#Z^locI-{`Ldy@{wDbPB!%!OKjd?>B?b=4P z<{)dcmQuL7hC6KDs${t2?O>*zc?8t3%Z~D>DD0ywZ68mdo(+^#B_9c z!6wb>*(=HT`J;=`6n2<}wzxa50F)Pkhxa!p{Zds^t;q|lcwRjMVY@uqNb&ZA@!a)K zSl)XkamBs*dww6s=~`uFKFhmdM)c4G9A?*1%HGLX=SLg^&%j$9@i%2|3@g5H!VZUE za!gAP<$`-6ANdmc`r1?Jt)Q0nU3(K;WXcj8mfs@_D$O%6VQpJvZdxx!931Y48j}!r zE3Tip6n{Zz6WN1O*=kv8qhR3O4wYlhHdsgy(eEW2wFDyg5P5YwZ8EdfMEi|7`Rh?u z+F=Wxf(iU*S}}cnJj4Q|;U-Cl3I2?e;pj#@88=s3h}4S6?6mXj3ne`ThJZeV_aRFJ z|FjGAmTH-A7a35&Gc?LbAB&!QY#_8~QV}av7r5KzawzMd=zv?Qxb@~}%UkPB)#<`+ zyKT{n)-?AC>s~J(Eyc08a_`NQ&DF2%RiGnQHg41kTO*3_rD4mWI{vl0>0zEL!_Zfq z5RW3}W&g6}0!zI}h4MH-chQ z1?8b!=URvr@BB$zMvLk8tgmnrnWWiPHS`y2&TMYnuvGVJnPOp{?;7KY3$cBLy*w0Av`$$xW*Z&@kEPLru*zV+mS5#j2eX=pfrvVv=tJb?Z z!C9>%x%U(JC`HU38n+}>^2rf7BF9LpUWgsE3(l-%mK_cYsAaV5WYj~G6W!r{ z9?CH5kXD6(hM9%lL@Aqw7=3{)51Au~!jr@KmnaKio>ZN5xN$YPB0U$a5^DJtalmLv zE$miG`w9cA3_*}#Cg59U62}^FX3i)k&v%aMeB9E5y^Prlm7$+5Tj>omx7N@{OV(4N zDrymCtbmNJJGZHv43owy%7}gBHi5jINR;Q%Z+cVj>)3t7>uB=MfCkY#pRkwz$6-@w zfF44vH+Z=aH`3CMRJHYSFXY5!?$(Vh7WRw3TQzXcnn?PB5!}c7^-CxHY;GzIkyJ@* zQ@VwVE6dnleYk?XCs_zd9oM`sbdeZlk%*pTYt*~y$pCF<*67K)jo(H49j)>DS=6S% zy1-1z#**h-$t65exw_BJZ7z1Bm#wERrv7oe3Vv%mos0h6@lfcO!3e-v1fTM7bpU;X zOdx99m`109b+tZJ(wo!f2N^;7)>?;xHYc^Vd>yxGQBDtH=@2aEKg)uAgDmht%BHI# z2wLrMb!nK_NAzZ8=voMCtZq;g9Ssrm#{Sj<*z402Ct`t#B;ogM?{)D1BPpO?rIPpX z$prV_4hP%-q@!J_uU;?aBR@*eyJ87c$mgR)(~dS~Nl9pv3-{rC-GHqO2C@AR4tto$T3i za#CV9MBx7kh+5u)RmqAELp)X<&@gclD!3kk5B#f!|31b?g2@~c&{xGkPe7WfK9>06 zk^PUd{`-G{cX1iOukR7!v@*QmAT1cZU%bWp+kokRKMU!Hd~62(_7l9KJ(TfF7ybPb zIJUXnjUN_^00s$p;cecH4MTyhHx8y-`0irb6}d+nY~)U05NhVXlVI`lJ}J>Ika86v zO6Z3CU4hak(U}x9k^X>qX@m@VY%xP4D+mpNkF4_XSp27ju6HY-7~!AM!19`cyxn=> zKp!wyZFpcKlE6&+T^**L|A#ewAszDY8PR2+kg*lP5ExLGPRO8f6bFRZnqYDR2tkAY zY0t?L2ENu_bCe4_ni23lydO~#sSk|%jvxPjQy{IO)x=d7$W9QLawuX?wUQ7Z>AK;s z{RBfKNd#K{cZhf}gzv~v3m5_eG6Y7Hbq-_=FklS>kTtk_Px1X-1A}NwFHF;JeTGN* zo7`PAz6K90YV`Y%C+q1^`s7;d)mC7A)ffhDw7UEdsvCcuR%%DG$!=J(aD5A=v;mot zRnL=u*v01tu0dO@MWXRgMl#Xjn)cvlA9FmvmteYyi34cEB~HDL1Z0vJOk*3d^9M~7 zgrT%a{x9k>2&J-K4dVMhC)pCx{_x(9vZZ&Lq^fV8_Tb=xLPpDV2>QxQTMI~)_6j&x z)RF-9PGi)hyf^?eYVY_z-2OGecxARESXh-&-{2n>^iGD(s*`UWh?w7cpiM-%OeTO1 zEiPk)&OFG9lQt#b%Hw2T*O1(I)fk@E;A!O!Iu7f)fawQtt`YqGMh{(!Lb4j{U*prs z@Qr|!X%m@rGuPI*^z9Kv5>ENJN5D{5AmdyIdV7g!2Lr5gLeTzgfh6zJM*87v50aAN z2{dc8&4~3zO$A}@X)T|Mf3&iWF0V#}R@jTvo$+gss#zjOlxGUv;^=FoUHL&3D}`M%SMEp`bZ2I^;R27)JFW#bLlV%0X1u)gJI~#qnlU!EECYY?Y8(vqvB5EY zpV7N{b&{X8se{}mSJXND!tk5KF}crG)~~QVE{)j5-4c+ffdmk!7RW%{c29}cpSkqo zfPJbpFjwVYNoO(Q(6nHH1N{XU8z?L#C4=F)Jr&XDy2bQDzLT~$tKsyyg<^4M<~)!W zDKTr~9lTC+4ODO3R(sl5qBw@xF9LbZn1n zjb~YY|A6TM!>i^V=rJkkL1bF+gEYl+4o$o7JLe&|@B*qTAc)kNz}FL1^HY7M1c~tC z7)N>#8m9rE5oh-EVbEd@8?@kd*Q=;u{)d^!f%f6Tb`7I=2-4JsN9x-wvu*EmA;HXl%BW&;DT~EC|ua1?0cbLWB=6G^F)*5!9}NCwVO8S(o2) zLtO(U;hU6P!)SAwX0$38=x^V}8r+?!y9Q=r`_qdkEY1monu<9@IMiq@;Tnu(C3Q7^=t>p*}um2bl!=$t;xZs-FB^i|3_Fg{0Ex-`SvzJG0^0oWGKDz4$U z0*Ly;2a^N+y6fP}0*<05UC78vnB9px+KQ|6mnJnuE)Qu2go}qzul06%&T<)`&;81O zg)!356+KPBH1_Bj=FsS306}Kd$Dc;}t(d*lfnk|+tV!ZqoNeNr;Vkf<*-KB@-A&|j zy-*|K#{1MSBcO%ecgqf5b7chD7redsxCgf{^y+|wU$C9MnXW{|>6q$yc)b6j9M)l@ z7suf`7m*e_NdallxyN@L4l$RMvxSt`hqv04RfIkt7^R?qyzQqy$&YgsY71wavMa@y zC%%Wz4^a^K00c#o4>&&hkZzc-v%q2th@6}fep5sD72txp1GmNy@5py6pFbwlRU~l! ztM?ta(aw7zoh_Lmoh{QEo@&8xi@0)Cwv`kI2-OaOs~&G$Tjs0j15n?=q4smPL>Qk%YD517@cPP*3FRjS)TD zE`6*mMgxf;ek3s!pIbwTxHfKHh$Fv-So%-`DJMT@h&EjJ2jEE$P|*#V5&^qFT|>;s z>mu)9VOMIG>*hcV&&nmM;(VruVmz38DQ#DzaZ6(!m)_Mx_4vM9(*=Z-edB(CWPG&@ z`I9sVIblZGi)~jA7zAiioDwyp0h`VSl{RA2c!CvmTK7G9B_s!CyvqKogM2C@kd;Xw zD_}%GqApw(Nt%6fqZF@^()@Uj_*ZHj(^KZ6i1JuQUc3@@GI8Cjk#8b(xwwi1`F z#waWO>XDNjqbC}juYh!2n?!*R`D~!U9us%P6yGe6K)&wq!fYX1uuNt-S&~p_h_o;_ zv+9L{AwK~!Xe0f#N%$HquxSmiH!SBLvD-fQE>f-6xAVn?;e7HW=|C-~MdK{)Gvf#m zJe7(*68ATLE#YboGaBVsBA3Fpw#LX1`upowz%jm3n1@4Hs z5||_`63c(m4-!BZY3@0}7xOw&vnzH3Olq+qitvZj2cxxHE(L|`BK(-VaRE#ION9z@ zy%(_EaU`O(dRmGqP@<%teH@4OL#B5OJIpC8xSKHwGPFB3&T#a6UlU=mO>w%odrwXMdem)f)&%KKA&Qxk7Q?TuDb+mL#`RhdGqF_4^h0MGE{aak3D{%^^&GBRAs#xfNN8irZw2lWQ@kc5u_GFQN1R{m{IxgsBa~=pg zdh;p?!2<~~WI?om2K|5ksBxM)5O)1?XIn5~Pdth^9To`sq}zA`j_fBN_>Qky+%>wO z3pmmR$ggJ(a^8UBcE?o*acvRZ80rSr8L z*Q74gI~5G1yXXuGKOKLTRg2pz{X2J}yQEXR25KiU*;4E8wKx|phozcDFs9kJe@x@J zjN2xRcg)82RINVwnU(>W&X^9#d`l=@&$&{|4ctki>pDpveH1<(I zJG_T(y0KtwgLYF>CdjY-A=(<>$mx3vh+;WeSkUF6*f74G*Uo?YVL-!-L=SVg7KPmG zxBCuV$9fWWMwZpY>A@Q*N6WUVr61FgF_r6t(=euon>Nam*3}=L9ma^Zs0?Vx*M>YL zWe{#C+j9f@TUfM-vTyk%)~3D1E5?iV1EO)9@lNwnYCL_rZ?*14Fw`+$RgtWg$9@}D zmZlm{Q-CKkNs&m}vlqt%A@zq;*T*2d5?WY)C*mBM*6^wZZvM`QE7_6GC2ca+0M8&w*{Ev-9w|>~ ztodA_GW+GEbd4~%oonZka9Scag({HK!5$ZdRY6eSCbTsw{aUhnP0`x}-Dhp}r0eWe%R5L&GW@zc2V6zZ*7z%8ijVeg8a@r!dm;kLTLNkH z*v6X!%DS$9_)3@VI2hho`w4E0o^H9%au-Ss0$&JUj(vlP zC#WE`?VSm97QHOWIIyKxgqNM+QkoAdqI^F75wf!HCS}anB@94o#BwC>gquRN#$)H? zPtbON1jW}u_+DvhhO?QEcb^=b(Vs4D(qKB9DrGM9eleJ;aL17|%`S60>7r)4AuGHM ziGe6iq6DU$P-9U^!bL%%cn-Kk>(JC3Zw1dircL*KJwF}Gn%RP(oR{()zM=Jpx9ON0 z-Jg%@bXehMqB(6~T8~PwSw46d7NTCAlafuqgwS?~w>`JDGHsT2QDRy{a1nCy#0-S#u5nuK zl!Tff=9KsO#Mm>pNGg-jLgF`LUnA^-y23SbY;3moYmBH2?Js4lW!31frFE$ z;Zy}fcj5h#Y(_&GYZE<^1q(PA7|z)=gLc}eV()^20=s~Q3Q4xLm6es_Ih}<>XOL0H zmix+$7&z4Ut-_&7$u66(_ziNrC@`s#Q?9RoHADcr%R^?1*N(*g_&qbso3tdJD0z8F z(T}-Ii~7ZPJ`~6jxbht{#{uTTwnU$YPdd|j3=|-`38FlQ3I5*%z)tiAL-fQ%a&Gz&p#i8_w#%o2t5rsUWtt z`O?E3LBa`EZzb>h0pWMJ(;wd--A(dX@Y#_L;h3ktuZQ`VvA^Ug`ZWU8ivWsXdo8#c zTsi72OcAA7_1G-VzK<`!F1*o|t7t`0wv;esQ#NhL{*{pDFH2lU4d7GG5#i#1?6t!| zSpX&46S7vtL3c8zo)6BJLh*#}1Q;2{6nL*UKmF02CQECk;hhqDk9}KUG46DAIVTE{ z!?B2RcY9)Vx8!TP!jt;(<#sf4QKv-cozSmJk%T#tQq=vS`8$4;n$)v_sPq%5orOTh0ef7Em4{5?LcguJl!M7W`!nJc-RPW^YJ*ej@XdQ(B@^|g7A`(IA$pm zPa^v^6H-m=sS!RWpuL;y+)3dWq#<)tv*sIZ!y|zktdw^3E1Xj z9~}vi#TlK|T8dgXG-p4BWzcvK+!l%u@nS6~Y@;5-|6u_p|pNZORRtD9( zD3?A1Zu5=vH9muVg11mJU0>Iadjt6FAD%Ee=tT%_lq)Hu0&R7EJKb_(GCd?WB_@Qz zR$i(r-dye@n*T%1XYedNBlGmvERp`e1eyM$uOW^+|R<`fs2>K*eJVU7af@y!0dfofv;##taTyl`Sd8+HAKe9RFl4I9;Ml_VLo zMc&t_jI|yyIRLFTu2xJP@yT5e&Z!Qq>)xyYPpGjGYeB#y{5&!E@rfyC$<~U!Nj@zz z7D?FCdha4%-qd{JgOe+su$2Ax=j?`h-$|D)jy7LA(&2vIMeAPRq)%5zWqr!F`uzDI zc9vdd*~Obg`(wR$mKr#^DM`zh60bU3cPazr7u6el$Yvm z=#ievM;soppp8PWC1!XF1|Y#)$9XAd_y~V8z&ySw3Kg$kz4JKiU8L%{_^#ly zjtnW2vCV9`edY|3hWsFuKp}JHND@-CS`0A9i3DgkzLHRJV)ci|G~I+XAL@oi6;h{Q zGu`-qrFHCZg2HO3C$oFYv}P)&&q-+gC*OR+tUWcDtHy(BG%00Qx;qYF2X3(332tNIy;S-5R zs>EYdb)6TVw?{UE8>u8H)0xla8k1vt|6#MD$hYYnhMn;g5up$7bE6tx=O}S*X zoIce^b1=n=u_@~uoyv*Fa>b~R;x^Dm{%IUaa8yaJEQBP%OUW0~+0l)67%8hM&YSFY z=X$a+0;A`=r#sT-Paueng3^)IA6K%KqjD7Z_93nA8uUB<$#slA`j5+x)WF$owmbc? zMF3D8_k){Dq9L1Nw}mhZDh)Q6Qzr*C?niO9z5uT8?ELaKJyv4l!|*V>$qTbdf1<89 ze#4UfPF{4YPr>u)l`#{1;-CoK?ooaBhD92mLjJljXdH*VEhv^0uT;#inaN75e9EM;e-9#th{quid;dIVMTT6O~AmF8VR9!l1)lB_LFhx zM($OnN7LQIpp?X*JI&28Z|acPBE=o|RCGf}>&N7r@Fhd&(%N^gyaxFQS$D+6O_eue zALYg7Zdp1KUf>sRiU9SoO*h9<{8p*vlbtZqI_68yq%d{#VFTuLGPon1+3VEooE*fT z#8DR;NZH+*o#eA$v&`8+F;VuoU~!j!C|=AUD8F3tA}@6-!~C{gD-fx0H_?QINXPnE z$1yjdFcO4_92*v4t`D(K;jQKyjkf{CB!6-C21pelCFG?2Nj$YMz?S(PQDCEg*h+8S zfFk_Rmy-h>Im{rcE5nHaZZy9WU1|ABJN1==RdXxTPH&81)w~1U{G>YvYqmwpZ%r-_ zi6Sww#ZghGF(h|)&xCr=DzaNp-{{7Pl(wOmZ2pn2Z=d>wP$d-Gfg~ZV%{{Y0w!7mY zwXBERX42=h259*^X<=G)+r_c%*Bp8z5ynU@(&?Ee30y$UUHQ9<+$Vucut`~d{_rZt z-wG0rv&Cgw>)e9+f7tuWs4CYld=!=jK|+vjq@<-A=}r-l1}W+8 zl9Uu(bfgl@lzPwTXu&dw!!j%(t7E1_SCX8)#mB{Ad;RkqAP!=u5tJPu%BU zuk3Q%dY+0xn5AEzN#g^NbCt$w)Q#=VW*0e-gQM7M@tpIAp^t3HNDp2j!p0;i{fDKC zw=$R0;Ci3#jF3fmtG7iV<}HQU&eg6>SLN!wUMSYI zcG=yEMZ=|A-;6dGI+@J|GiaU8rBPnvq^Cir-Qt^!kCPG()NeuAU?P2Ko8oz-h;3xn zGrupsK>TnK-fICIjR;X)lpPj&^b0{Wr}{txA}Bk>=Is1@A;-PmJ@3H?B7o}b_%=}+ z$;zBJ&J{iEVHk}&IDmI!)(@A+U+T)s-c{2a$4;#M8oq>cJ|p0P*xwu8Ga6CUb|Y$T z#2C6dR$J`A1%(JiCEqo{TH|}kpT+3EcHVi}6};1q1tH#kJu6Htv_W5Cy8s>LC#(_%rS6^R-dn3^%&(hY}cACgXfnfb$)*NHyt8VBvFI4R$iz z&ARQx5)CdXVQRUCDU1WDmiDc}c!{hAUAG8VYE5poW{Qf>e z^d+KDJ$)*9a#k1{3p*2gxaGbx9hXZ0sCSEG#>}WN_dTlDKJvtVPH27-S{T+;lh}@| zVJQarlAdf$PA$7I57f zXU@0HGnEy++HVafg=;xZq5GN`GgjnG@1b?n1C*1%d6Iuw9)vd=wuIh$`DlB2Yn9N*PZ^8Mimkk z$NtjeTzy|0frz+tnoO-g;A&%_E*YtyA{_c-z?pp!^u7F--n$3<#uBxrO#*#g zUmler>dMIENr`rZ7S4HSg31mUw$XG6v~c=mn1U`4cuc64ZFEmnTTFXnEZMeN6`+>l zo#H?WfdMC!8@+SmmA}C=dzt~z{!DckDwOG&!i+<105_T}ZCV}?Y?N*wDK>WKCWzyw z>%E=^N-5QGNO)Q|-cD;FpyTyEnr~BDUjc421oTbUBOZrTt}tNvX{C_M*7ek0(gR-%H;Zh^KRjJDcs8z>F z`1pYd91#p}Z`kJ9aRODFxKt$migElk2LJ^H`gkTLY~9SXL@?-RXcB#6GLfXb+oYSc zoQSQUdUp{rIH5YJ&wS4C?gEq~>vOzGtW3q<$yBFmz^NDd75y zMtjJ<0F2jBXFY{E)OzsFGOP&(28^=hgKSZUl~tr_QeK`E_->Z0CFf=upT=0pOzFK! zrpgy`_3qaMrStB%MM!(84M6~Pj0i$t@}Qw)1u?=2fmg4@10YhgCBa_;ns!Va;EqR+ zIcJ3YdsG3x2mRh|&nQFKXw(d@*7fA0D=^A_{$WUmT;kyd0l${icXhK53?1j1Djih< z7mn@GYxjhT5ybUNJ+{A`Qt2jU&z$S~ulvjlI7CE$dC`scUUW}kHNhVnoK)iu6umlQcuqJEt<~`0ur;dSozS&Uwkfm4xj>n zyJTaa^F0%V(gLnwBJ)%Aleznl%0EmZBYk+ON6<2b$maY2DBuE5`PvXcw(YwAJZ&!2GuI93%`X6*ohi|J1S*WYokzovN~ z2?GWQU44ljS?zaG_Xs10*`CIyb$smxV0eEJ8#?@eHz;^_5n8h-vYTtuEPu6b#;|r5= zfq^=ca--XDN_e7^zI1yJ9|C}+hO+E?%Ksj%|98GTz%>k}OnzXyM7EncA#Urwyz-mA z5Q67Ss>Epr%!!j+h$kJs`zdfDlPEn2|Bv;0fb@pNs5u)vRf2k6$eY1v^~p8>&%+5y z(4Wytq4tGbpzkdZ-smG%ISqxsyyq^;MDPFd$^O{$wt2)-E|7hcAE$J7beO;gtvpI9 zGzX{JurepaCmtR?I0fZG7Ite^wYvaxUMtZXssZ2?04_~JizWFV>l}qt`W(bI;rr0s z?f4bSfr$$>=IRlpQP=wE!6-(;uQa+uUI?^Lb&;W82o0D8Ktr1B?CklIc=^u&RTbf- zv7mxch7kreFuR-Fdj`+9O3v|L46tZy=-Unn>P&#nEZi>hZw(V@Hb|)SX+(toQL=|kn7e$GG zkx8q+k~f-k%qKp$3^e}jV z!+&D*CPZ=Kw#v$bz$w=%Jae%4Qx3Ev11!2BlcSoa0IQf?1Fk`Mtd9v)A&hDmW&Ox~ zdU-KJ4)ywk3Vf;5``K0=f#tvZYx>Gf z>K}S`40Ur__;4rF!N4r1?1&!MuLygCgwUY9K|mRm*e2?yBtE{BHJR&Me<*@c7{d5v2Al9O)HxF2`z}@uM z^0h$##j#k29OTJF;^vkJZ%*T|dn!Dm^c6_sh;`cJa-|c9$JOy#xATEb7=Mks-J!ZA zZFywM#@z*fm!duzGfm=MX~Q(Ud&9e|4=>x)f)J!T5hV6rgMXyG>y1}e%B z4w#-AcdRZ`r>VBqP5L-Lmgb6XzsCiiUQy|7FGJykhs#q0NxSP_jAlr$O~x5ks`KS< zxeEk=`v#jI3#H-WJR#Q?+I8~5yyM*vG|h@iNA!N7+)F@<^18S~0- zCaOA4?635^!JPzZTFkRSo8HlZAJ5G-=QQo!+cg`!z-8l|o|B!L^G#c5!b~lnY|pCN z{ZMO-IeD!CiX5OUHFs9^mGGRXVG{vQxT3RM?=whv>N_@2{43P~+<;!L>ru1FWHb^1 zZjkCI%{^|Yf@|ixWHP33ojt57ri16iN*+>@Cng)$ryNOej&YlF79p)vVP%-{B#8Jf>g`7aYrot1^f~&4w*=ausG>#L9Af zQ*5XA$=<4rBN!kdY`v{_XGay?#X(&x8)=?GmtAba)@7wD5x;nDG4aDqV!aIAVIAo zOn7+Csyuf9-fU754M=Mu%pF$-vy+0pFQ@EPnaA#!us{R$r=UTolP_QPn;LnCPv&!? zXfki`Iz2S5AO9qPM1J5J#)1x(b!b_$5tYxFlS2}B_>e!%HLdK!TU?UFs7}!k*fUgI zZiq))iy94X%&86(_`O>a(GM4OO773#1`)8h9d|a331r>p9XH%Q+ab?7_9a5b55B`9))&M>_?r`Fu0pzU zpnkPH%F9awW*t9CJ=ZN5H)?My1J?fN=_(1S6-qNeBw~OXUF(9VDQQcWtv8ggWZ*UsUT4iW>1a$ z&iHnu3Nmkdt}m{`46pSCA%g|yU2?vy)!_!uBp;Di5h}z z23jk+_eslRRR_Xw*uc?N3)_^pFdk+@e^RV3NJsqQo@dI0oQJg2cQx2c*IQBKxM4Zn zpKN}7bLuWC1y{&k5kO0b%wY=F0p|Goik^%BRpbqmLY@r|zzi@t_K^KUDy;9hE(5tk zEgC?kBOntP(2-UBe)3sFYVs!lzRT;6n{Vy*o@fW6YEaCW87df-XuNQfKseciBOm#N zbA%q>bSvf`1hv5!NHxW0U5tHvvfatTB8Qm!8JqUby6dfOp&VBTM)-*Bjb6}01K!h*+=Ec@={rBAjO$v5K8ff8u6h+!m(?{)1mZOghQ4tYvE;2 zzxSwG-SmPw<`9d7ew~Yj*YkzbxcgZ45u53TCKs99n%vNIYR9d*lj+MT({XZkWQh#9 zZZ)e@7Y}QU;wu=#CV|J(3uXYPbu z)G)2YI*#>jr}}0fp`EW_Pou~(ZRwJeN3W3X?N@gR-yd)09~!*N%8eh<>f_KPgG_}t zMf;Lyt)2NRtU*`yS8F1&r>~*vLOU5{d(E#H*q;4-!$d{Xqov^_Eil!BCnV_e)T`03 zvefB4+i znHd_CjA?C#7bQofnTu5CIZBgViHHqDNd|Z36k9P20ekL-PDew`&fgOe8QEm6c9+j> z$1UNCm&X-D-T(mfi95-ms0psdPYV6T zcMa&LOcL&Y#hgcRTK3$wrpA8bxH(Z=yq*s?NgyR&YoQTrEunk1nGz@JwX)!5iltj@ zj5B8R%nc098j0zM8S_s}hCyB&vb(C}qy2lx=k{TE9STL6G_w&f!U{UuUXWR=6YFs? z_uOUgdPdUdByHcjs$wk6$CdsG=j>t{kGm&upF9%{V!gRu#w~g)5pzR)+PNMWec-TU zq5Zg2p2FF1vnES*k*p#rJzPtlt7bf(rfBJt1L4?@r4H*E{E7jQTp<8pN2|yr2_Cu} z2U<)RF4wCVi+jr8jQR%-+I@aW1s>-zYh_y75yt^d#fe|Q_}F5aHZs$uTx&#dIf~sZ zW9(6<8+h9k7M9u+Tp{iJyEw|FshK(&2G-eHKf_0~YAG!j&?Xtm67{yC%IXWa# zFIcu08(n_FGX@y82%%C@QORRaP*8wxPF2lRTLB!8RID2ZLc>p7w=ai|B(uEv(N=5< z$5J21f%Ql9v;1)dZ@?+si~Q95`L~sgj0dCz6Z=)P1ov<=wecT{&eyvTdix1Rcha=bE#$YJN zEhyMqfN{~`917b?UK_>OezeI7?@>0&GWz0cO!G-m@mD3+Cd>KeD?-c(A60$@hKiF# zy{&nGpI9Qo<&oRZ&z#zVUu^l(yHEJ*5XS7#>P${3>~;0ZSt6SvLxr90&mCL8(n})= zetfepKHsvNEnb}b%(vIUARBq%`q zoG^ZX{XgaCA|!b(GSN!B^C4>N1%=Ut+zAPQXE9j%H36oFV8_4$x#P%d4NMqDz!4VI z-ZMfKvNH)@zq1swKQj{ zDlp`xs*GnzNxuv?Hex_8?xB@$I`>@u+%bHb7P0`k z(O$?;xq9a}{2Qghxhb@4wm=jck86tT7!8`Pi`5&<`owX67{64|1I-cJwe6}o@D97bmOJS{RbpJqQH;(Yki*{a+FgWv6GF!3t1*)YXhqaRDNf^TDNxs5GO7U5& zX}3xf&K9ini~i6ummf&Jkpbb-ss5`ct6xjrY0*x&u1U65QGrjj@z_YyrM^vi13Up~ z7kq6r3d3AMvAaK6QO>bq^II&3m9+3pbX4ew-Ba^syGVVLsv(-ypwPiJ=`5*B{+;Qs z2%p8*x;h#c4hGv27@Td%3T}LOWLnd}nrj+s09V5gg<2TU7r8g87l(2-+AX+=kM&gh z>?x6X!aG8{tsS86Aq5(jc8b?49~y3-;d?jf>+8pJuIDSIa8OWWHlO=%0PV;@L!X&| z__1%Ar`T_!$Y=qc<=~XJb7WpA_rrhGV3OqA9{$n=P&6k!zVPBzasdcP0#DA43c&gU zB6T(E)-F3idjr-TV@iniCi#GGd&Sq}PR5fS)$f|EwHqQ(9o!e+w9?7Jl5K#je$4df zd)3`a*Ca(H(;}8>STkzHwExSR4q@Fat);2quD(a7JSMF&?v6hDZ+Ap=b#z(^UdSVU zRL}}&YJN1j+Ue*L$=4&LIcl$^pqW$PW;J3U^)SbtqGv1qN-~Sh-0Z3~_I60?U8+9u zDs{zjMh=zFCm1R;-;{eN)ZP25*psQps(C^^(FZTjJ$j)S(0trTo~tuIB$na?d|Uix zZ{lcO8NYUjFRv6MzRb%*k|;Q~3DsI1&(cnk@d{|#O@#&n#Tnsu<$Ni_t|XzBnBBev z35@p)?Mn~R;k|N|q%5ZMBD!C(1?NbPdC9&EgB4C8?YGVl$EOABuX8Y8nq%2W&Ry0V zhK2==5AjJZ@=^C=Qhmu%HP9JqCCVA+{;~V4u8U-0Hb;lnolm}6Q~eXplT-T1;+y!J z(Q?H+pBq9yoo0Gd4sEOJOIPdnjTx-iW#65e;fAvBe)ujsI^pAA7wAxCP5Vieu8LiT z!XWli;4Hmh$RHdt`*~?)$((K@nHv6d7iTAf5&$Y%c+dhKAn=;KDox{Z^w@qN*WMN%1!zjGY|Hi*QDC^GdzvE(%RrdE@_7y9_1d0YV`kI0Lnci)?6KIsd^qKrENP$LD8yhP^w!nJ8Ey& zsmCzc5_&Zu4fzVT8SoS5pVk0Gs&D+n{&Ju?|&Nk=iL~wTZg;#u+>Pt??|}7@7t(BXbS+@^ytjTG=qAmO8SY(`ud24b^3&LV z`KyesP^Oy3t$>%`1&#pdiM2&{dhgpq+r`kk?Vy5HPPp#ePSiB7hXXYRhBZ5=&(6r+ zYcWM)VUK6~gug1vX!Uy?*`*9;sjHsG*`#Fw7Hy|+O?OrniMvd3FcmcK zpJ5bnsq9w*619%<{XFsu(8=}ZgN6Nj3msEdCv=?|o*L3Pg_$m)6 z^YRDk@8bwSPO5bPyeDd*_yv)`mFy>i``^NzRDR#pdAhVQ3oN})?a($soUSG7LW>S)O0^sRz zzA;t0@9?1UH2t7r)Zx@<8UEhVe%YA}L(YW;0^<3X5mNc!-|9oR7x@0t{V`bOk!(FR z;*1<~!q?`{-@bBu@OX%UfWLeATKpm;+=o&3A{p%SRs141GJ&e9E(yo*HCNlDw5G50 zLns?Jp6ieN)iX!FXCm0zz6RHyPs1K)*>`-lo1Cf+g%ON+yf1u`X-#5R+&8xl%h8qc zh)>M9y|2LZjbYamP9oicAOa7fRU?&ChMTcC9ircxpCa}g4VwBYPdmMTK{(L?ybEO0_0$EN@3*TjO>NX9kBoOSPxi;yHz7fca275PM$z0?pfEdXzP=&@Hg9Rz6numjkG zU*R3?2(e^L)N?S_Rs`|k_iXPf=FJBt#F*{Vevc^Qom&6SYYo58A>LrpG`6;&q24FF z&d(^y@MjPu?Njevi6pO)`kDdcZz{Il#!Uq!wDBZxP zmlWRZdH`2qrZ38kIpVSuN00%|6;=XULvSb!@~Y>dap0GNYpt^p{z^9Dh++N1a}WcE zGuc4cNq4nbo@pVz*CP@kbkj_>vQkff^Bd~YR$Zi)Ckm9%6}hyraz}f{wGs=_2x3U) zq6>;B7%nv!~d zr7Cs`T+L>pk~Uc*h+p51$$Gk8w2vxY=rp8>#Bw!-Q@P_T*>TZjgu`z<`{1s00Y-4! zO@Z+*+0Pnf0D(Az_cpx0F4|CR2fJx9iOZHKWO8No8bWA+Y;5mBE3fJM0=LGo62co- z3a(0AHj%+nEJIZWQTIgLt<&2FL32}LRvgtjo;%~c^|kIq`1Y+S4V7dISTDo4U2YS_CEiHb|SbFD3r2IZ=sm03Q=lGSbM+t$YCWE@M z=_k6=rV>__wU7-7ndJfV_+^;?=^z4o#9P}=dvWo{sB*HF*&(V(d3BNUGR%~y+SsZ% zFY%fqLa1w(Lf<{A4{&-S$qFA4KphU$$_MZpVHfydY|p)8OB`4{f;2e2QvE8 zC|}C?kyeCaTDxwnRyzU$k1l+M=RdFNB+rX#&VR}y2+ik#H0itt#Vh=&VT-*ZLhD8` z!LdK17SkasUFuZFYy#}=AQ+~Y3GQQd5jc6zwILiDW;=KRq6+fz>$SBHr$>AjYY9KY zSW_qGqn|BAhq3N48sCYCx0NXip0&qoIo+z!QElFi99-E_t7|B6L!+N=FhYITuYx;) zhF^adBX^(<93S758^e0Xf<5(`d$0h@oTi;2%KIKR9U7%a3)013^9mRjNoTD&4 znay$T)y0XoD`xaBQ^Pv8RKt|JdS!C5G4}0Y^ow|ymLsg*DsI|`SN_5WrwR_u10E1D zl_c7pO&@r3Dtp~msfa!eG9e&Cn~$&!c%A}28;IuuNyz)84KVw7eJmT!H?6ONn4Kym zYuwKlXZ!jTFXDivxT3P3pw=$=w(~52sF7vb*Z!6?K;907;gvtZ;Prnd_>LS+%FeSZ zcv8Z1>eDdN3T2)7otN_4!=oS1g`_H^{t+pRRiGo*C&JRc!= zoS7Zg`H@O^aRhlvK~5w&3wP6-;&fSvbqXGlq1x2yJI!R$rBt(+Bt)Ua2l?P1gJd*p z%y3QOi%-`yc@6BAQDm>6xSvAmieH1vBnK@z5C!^*Cr3y{O#Ag}?qD-=(ud=6fy9DvB25QY z@C{=S^r&2;^2NZ(4LW=swv26x#2tS4+dg_-$kg;}j7fc>BM=NpB%~hUSF;{q1OZq$ z2Yif62js`LdW)wR`m=#ZOl}v$JC217bA@pG)VAL(HY7dE z!g(Woq4^!}ZI$@FQ8qq1^g3jj@=(DAJ$4W)Or>E1Z);(I8^WWZfpU*ga>NT~W^)@QcPKihb)Bf`agf`w-FPy*%V^`rvS7d7)dNzZT`vi!jD zr#yXEg)+A)eD29qY)`>3?miGlCT&acs|83ofm#MZ|2P56DZrfgp%eJsSJx%Qqi=(h zsvdo|0$yrob%pjQC>mL7R&QE8MMWzo7+!?vEdN0DHY?=m zN!38^Jw!*xj2SntK0mUE_#${l`|GIvrSmFifxW5G=nISs(8A6Fokdu!Q|>$-{`Mvn zGXKomKv%=S*XEL#kT85SUtINh;nR2U3OT{rQBpJW3?-2sXaV$((CX6ztiRTz8>i&^ zm`l@*j@qx9&noG)#=Sd^axp_GiSisn-xB39^BHW~SbMT*5;*ty9o+wPy9$`X0lvAB z5gH)dR)VSu@t$yTVsAiQkEhKH`@p+v{upL#Y^GXkgJ@S^LCwjedtv<@MDGL$RxBMQ z=bFNK>TLoBb0Cw}<2aDZKyh$%{wVlW|2AZ*5W95B$93BbB^IbPq4ICT1EBMP6fkYW zm+$5?5oNRZ&{QD=^!lf}e(-MjV7%>=1Lk)Iz6(#+nE;%l?IUfR6K7|-+~MAjZ>X|u zD5$7xvCALfWLrIP30B$g<@+@tS8eY*sQztW@&L^P5zrp7Np#3^@FEJp##?+|L_xNz zbBV51j9xa9`4$!u62W}oFfZG80H;j~w4n@;&w8mE@GYVB*)821&e17>PrPq^Bft)e z`M2@NU+rIbffr{y0VW_#C&p;MK4WYnMYF7$;G=8~u6?6qWc1*fR*bY0M9KUcfh~SL zFPaA_Tr!8DK;F~A4B@b27e}>0y<%w{gjYInJTlEc8m3D|qiAh}_7IKQez$`F9t>Up zgJvp-3!;SkM?SXK5S$ql3_fvGyy^SFyhn^f9;2Qw(GCA0Sp@TACq3NKQ|zZ(eM|Kj zQC%fkEYyon*W>-2C7U;@&lmN2=qjWPlNpCNqyJ}t zfZjXmi!9Tgs(^5y0529qjTjIL51h=Ft6lf?Fo&2`4juw;wML|jswIKaiEU|J}itxWm~ce!dq8#b4$$>}{B)BM8B*W} zUR{rW2-~RGIAb;uA*tdvafnvWu)sq*=L&o-4xtdmu_&j>bg%V^aj*NtV*lkxWZ+W} z{r?<$t;bm)cUoI=pc80T7N8f=<)e0^7251(h`U=#{JCPCzd+;b2GkAw%H$aB=RM8e zJYA-SSBFsGsvDR$GTrIKSE?z@Fw`!*J=F5`&^w=y!tLq&-!mQhAYVuY1(-1nZWf3a zw!>cg4#y!EHtIRl3hp zHyQZFdqHX1_>}u+pQZyAzyfLEULs{d^B}&zrc*h3tTO{r^RIi9QY*bCo|T;UM3bPn zM|zflK8OF{#YW>(243U%$_D64`m5>5{Sl&}%opOl-&OYKfq-(vc#>h*teg4_+R_jw z7Kloy3OU<8L#3waGuaw1f~c+^nGdAA4&{D3&H#95Uq!uk>S;?1YD+XZ@hPIntgV=k zT4xQGV*B4|g*16liILO)+|p#$`})nU09;$yK?w{V zD~&7k&mOJ6$M@S|qU2D6(VHFkpge#+4In!x{`0OP~(pwdqYR?JOr- zjN*E1J5X(=!^}=`uvYhFU=Yd^ zDiND$_QF`G_iVq%OstP6)k?%is|rzNKXn79g_;gS|7sVNhCjazed9yp4Hj;@CeLEbY=O{vOGR> z^h(?S;szD1&e947|D>p5jD5*l;cFz-9#c^_w@BWxyo?RpR|jZ4!++|xe}>y81`P2L z7ZEvb1Y91t495LTR3;DnY;(f*&8bi3Vsm`TLArpex;%vMi)9ICJ~&FMENq|S2Rs5T z96fL&x<8h^?+5-{B7Q#@dEA@enbZi#mJW<;@1dG4(&n8du4{eLk_^-atnm@-8r_eVhl(6021WJ)jPDg6Rg-Tu z4r9MWGBgwP74=%#XJ)K8ElKEBi`6eNFEumPj^*Pee2Rwm@j<>1RlDO~hv}Do{H-oy zX#f+$QNuhSKv)c79nvVTXqc)mf6ny&eZohM(=QVzCyORp%nNYlVRrJf7QUU2E3a8+wbYBA{B`7AiB26bbR{SJ1>4>qj3I}#HPuP10r8#==Ft1s_5IV6_`Tu|m~iqJ?;LDyn0v6S zVxDh_FnY5eMWM1o*l=2|wA4dp6#=>=@fJLWONQ2wBkxGl6wJ{1J}x=jHQT zmGgxKMCSY8VvwE**|D*_Ypo>BT}-uyFvOAt)JfOLJiT_gSlpPJlul>%vI~ywNm`z3fV-qcve(mI^U^*`<%}E{( z?0Kn;Zq<99gsF*Mh}L28wW%kw0Zy#-WO#ecI0jAh$0}eY>XXD?N)n|BIAi+x`5l~{ z5y+frkeB#(Yg|OY^h9{>XfjFy-q=l@V!pV(;AAc6==`(a_wQBp zpn*$N@O1G)`*b-GC~9ZY+rM(|Wy;;|G;dTjZv;@)MyMKJYn`PwlvZmUlkLeRbx0IiPr60=hwn;6D^*0HRMw zz;?dRLAuB7r!ZBS(x?=$ra4H)czRt%bqID%Y2tNDGBmG=f&)i4k{<6wT+&JwhBUX$ z2(^D54&$Z$QjM)Tx&&fRjt?e77is?*FaASj>3w$RRhFD&z)xYuxOkM_eyDZM$lGtK z$JRPX`TcIfOi&CS)}+vx?V)7I0v8U{uFG2|Fc4C%HQs-=3_vY=I9$&wj=a2XB>T^| zk;U!&Noi&^dD1zHuGp=|e@t)YD;um7%_K4IGu@Re^T}m-+?(obfA#bJtqp%a7?Hx4 zC&Gr!dhUn=wU8%dDD8~;Kyl|HTeMO8S}H!T}9Bes7@FI(A6S;qO z=G(NsvpxE;vbsC8%&N0-b7}6w^OlUb_3UAzY zCAhT~k{C)03EJ1S_`YnSKODbd!Nz^Yil0>1zpin9^|=CM<6W@`_|slq{Ctlc2mnLE zJ?@9&e_Voq@2k|tqE23ga4@;)hDuQ4M@NgC1=c>}-tN)^v#)$n&ya4ie2e*k>D(IP z-WDK~cWts9m@(1K`aNe?wto@H+Dg;~D@AcTggB?0yU(OlNwF7?){#>3&LVLRoskVP zwVc;5AAQ4!R`e1Vhidf(6v^j)n^N*)P`Ec22MX!&O`0_mJ~uQX87heezfuu-w}JEJ0oW>g>Qj(N#{tjE zYNgyX*OkJK)j0+-FI#R2qY9(_86p4(Le5y%0AKGOr_mhy-u|cb{eE75(Ppboo^H^Q z=l7`VUAc*1^Zi}G#?>(Y4rlCWiEy@z2ZDUbRPn|le|a^-?A!#R<1ztC`A!QBaWR~- zd0^lPMlcaqWU4Z^uxJ}%(;)BCi=iVf3&oIXP0&<@j0=BJA2eEfXC*J}u}yruDh{VY zVSTU5?)#ob1Oit(hnQL7e;Na!PnSg)?PW#3{qDm0TTcKF z%gMkEF6_KGPr#iIzM4Mz_H?-$_)W8i6aRhJ(f{*@>3$?sr1Z<-A7p9^iSn*-bO+aL z%nXm554A-S@7|*n>d+wH8=Em}Cmg2O_~aQSzN5{8XY9YY023wWMmySJSKljE>K)ha z9i5$}R?*gid*e1M9Pz9A;?R%^h)m-yLclbKI2oqrY2;NZqH#vnG?YqX3=FuaO>7l$(+82|J*9M8f+hts!FbeWe=RRoV^d5B}V!F4U&YuAX z+A#g1BWg}e-EXZxNxK=+xY`Oj(Rz%_0c7KMM6phZfMCk)-;`zBsDQP>GE4Iln)(k279ORPtu7 z?`&MjHuto`UtffR$A<9n>H^5zEFt*RXSq$b?L8m~>8N8?`V-yFxfD`0yM}9@ z17z46KcCy)Yz}$&Uq9B9)}O!gXIm-Xe9$D*CqMH(xs#qmV%eP{noaWBYex0uOF!4l z7wfwP{>{@#{Il}dM|~#si7p4Uzd!6 zgTF18Q$wd1WuKVYT;tYKUrpkKhqL5Mrn|mDX02G#8pmF+GfJf-eFEJq)IzEh6l@mYoJseRfzUW+~E;g%Sl^1n<_ z7RaR{(fgT{FCw116bybFNyF82$`zLna9`z9Enj-76;H&`B)pJ4tHXZX4x-L%`T0n% zX#^kcr+1v1A0>6F<|~7tn7c=biRE00k*;}$wSS`z?DvNvcQ6WP?Rh`aOPV?)LgzuIEG(O)?{OtW@^G!i7c7eqC_jlkc zZcM&o1+&FoPPu^GbH_~??I*9%9?hLd?>D8=2wY*~$6OJX48FhVcD!mm!Qzu z^j}lkbyGn*_atUo$g=1N%`MD2*iQJ$%PujKi5X+NYU;t81mUD!cK@hIBf|Uef|~FF zOt4v%$qJ<{lzJ%>tSoo_y9=_?KfmYm6(NfDmXiP=RZ|w!_@DViJ{svT*UjyP&4&9xR z;rsyjn!_cvLeaH&(fEx#SIv~_2D*dNbD3U>@}5H?HAKxBXOG`D5b_(>e5-PXy&_d_xt0ju8F|gzmQbC)fBUc~4gvdh{>#D9&hM#?X17?Y z84rF%$ypc z%?I~pE|3PK-Vfdr9wrPv!uP77g$6op-fo0#syR}a3*YhcMv~*K*kzLg?_EdGxuSnJ==X%JvF zi^8W@l2f#BpwmN3XuH^kVj~PQSkSA?XtrU-Z$igk7!{>W%zPPQ>B(Q3geoLG`UOwK zBc>%VE?w$GQH+uXCb(MIL{al0+ae3aT%}6VP!}SOYOt<-+e#byS?H#+T4XSwR;HL$ zI7cn=3G3!PKj#~rCLxi#ZISm_8P*6k8BtT8Qz285HQpFOdv@=W3b8@oWZR)*x`%yr z)s@|8vK3MMZwdV7$RhB|N+L5EB|TddP%4dJlGj!=Ga`vbT7DVfT``*8*t2<0O!|`j zHl~|B9v74eg}GJu1m3!GOI_kBiT0+cLax4cvOqh!Rk(^|!7hl_8;YHX#k{s#gGfe zcph!croEK+WD}g?Crt#b26uiZ6ijU)05eK}wXvx9MG)xbo8EMdBvq@>LrGHo4{t4y zMN(=|j0c)>HR6NL{chdzQbW97L99w|{GQ|Q#)y@?kT|r=#U|B0$E3Su?P?U!XgM_X zI9ho){l$T2a!*O7IgsYyWr=LswJk;uOY!^mOp%cPi?6qUigN4zfCcH425FG)Mq&U- z3F(fJMpC*COSA8M?oRd%f@fzVGMvt;KSUFi)I)&e>zhIiLF?ZxF6N_rx-@V+ecvk5q8)^(e}{8 zo5v5BbXNv|wv_f0d!&L*n6{Ee2h0zOx{yU}J| zdFeZ{RLMV@$E

6Ff~{cnXv`@3s5#x$43TE8tNldwQm|DNKGfb#v`QhEkOM#nry_ zx9pFD=N~<5-}!HlJYfg-`@rKfUF`pMMwWRIhm+vE>%7JOcQ3JarXLYWU(;|woQ(Jh zma2%dW;QVA5I)3uEDMTVToBk$Fj<_BjC$F*$%pRV;5faw?DjF8ZUfy_(aYUe#mQo#pQ~UyI0bXz;Pl6bSGIv~y`c zMCsciwgx(9P`~o`VoF5M|@G#uPr&F3vUEonP%_b z>Nisr5aQA1cXxX3CWtPH%fw_#>Z(zNM3uksGtIfO2bSI+8XRWz@;g5Gclux9Fi4wl zB;_^ef>TFWV8))0;R=iQvygpcFb_~Y!WZ18k+2*R?TMEz;R1A+PCYiqC6sRl+4`%! zD;P0HtlGU6ZUtvU$6F{D_I9F)-SZx)vmyomD2p-N&!X&y-|s?T+P`TB}P zrSs>KQM~&8kbGi5siJ_a&E_H+3s__`qkLOIq6zJJ;C}X7p`Rr~pY9h?*A%+2F0_n4 z>|>`j&1Dqwd>K-aS>s?Rmw*w(4{rw6AP95yWN;)qCeCy+q*4GSETpF_7xkvUmU_40 z?RRVV`~vEAH~?yb_29Q1jE+1d*>@*da9ye>y7TT9QSjBc{mZh|&@}WX-`>O?4cvKM zhdKQwivBLJ-L`Wa z?$ntS=P7!tAD+agg1UoBTY21F@O@&iI^4=09|;~H%XLY}jHeLQo7E=bFZ89N{sZBV zMVlA0a@1iOxq4i26y zw*!`X+|$P3iMedo^v4SGCwzkX9CAA6UJlPMx*A4SLZnoJ9eDZtYk!LE57rk)EPlQ+ z&XpZHFXG|p3WrQB5j!%#%vI9%rDnlzWt+*_Sh$|4Ii@9i&UvW&{gVkJapx^4#hCND zshR0_NSQP$Xe{5)jg23DE-qs>i=d8di|-kvb)+;#dB3rT()z+5g3@p$1frNGWg%x; z9!m4Ac&qP!n>EIHZ15H?FpKX4l)uC!EcT0g_u^6Cv%jJdYCFIvVkoOqDY|F@P!Ox_ zPpdL>9csJIXdxK&sKRZss_lI^Qj7D=CWAFbgcM>J-6JBZXie+k&m$wa0k^k>RZwss zY|wM2CidDjSSh{ajn{f@eI{S&hD0! zn%G2Wmb{1m_F!WC%Z1ojr~y;76{jaibUUiNDdhd#BGb9_g~P&Ss)g7k6^bq>_97<5 z>}&?jjZBcD-PV|I!n(pb5$-bDaB+7}+ zCk46Y`{}z;9U@SbJ5ydw-G*lA-h|XfO0~*o$t_(nRO_Zx>C+RtQo{q!J+~E}>|9fU zhYi9)qiaHq#Ct}vg4;R3eRhqOFMC(1KaJL$`;eZF1d?^icRJo3bwYHY`=M)??JYXc zya$-=kB^j1wf;7sdx6wrN7Gjy!%hf%Q814J7oGHe0p=8TQz$ztdb_ugDYR!sVnztA z_0Pn-exmQcU;xc3Uc_s^S_%`?&QoK3q|oVs05oWd)9;KyULX7-zOv3^p;I0Yms)-N zr65V~YRuxg4)&p>yV#f8URjl&)t_o$F%We?@$5@&g1hX3OYXe#ECa<-8@bS9&u42& z8z0~s+{&13DFg-1CXedPhsyfMoJ&awe#?pQEg+{hVVl=jvtkD{d$vZDurKS6IaX_p z{cxO&K&Ub6&#DxSTxh3ryvog0WWv7U!U>H)?L?h^qL_x20zC^MS2@zVE|F*$l7-hs zw|2CJ0iDQX-u}0S6Og4>mrYJ*q$mpu7}cvs?J{z#oSCy`BH_(g@!NLLbVi1MIcjQ; zp0~VyR0h~(E=&tydR-;fu7BGnAwU8~=&KAV2usnsTNUr&u`yx>XYX3|7?V0ZOvFm3 zBG{>{*NX!9tN9CkXGoRvrGf+J@m6f!djQHI@@C)U1}pH#H_?ZzSAPd+xX}=bo_mMH zMwtE%Q3Vy{5awR(EgQKQDoWtuH-}p@o0*_6iM|P z_ZA4QTw3uDW_LRYu{#BV<$adi!U~p$3FN

V^3q*Ie)}+AW3F`nPLt9uT(Dj*Q>` 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 D2(0Z> literal 0 HcmV?d00001 diff --git a/docs/img/NETWORK_TREE/Network_Device_ParentDropdown.png b/docs/img/NETWORK_TREE/Network_Device_ParentDropdown.png new file mode 100755 index 0000000000000000000000000000000000000000..5481665ce03abb9599b01d9d335924ff62bb0d25 GIT binary patch literal 43187 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�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 literal 0 HcmV?d00001 diff --git a/docs/img/NETWORK_TREE/Network_Device_type.png b/docs/img/NETWORK_TREE/Network_Device_type.png new file mode 100755 index 0000000000000000000000000000000000000000..dcd1a7753e037a83ccb40ce5d63fcff22d03fbc3 GIT binary patch literal 96593 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 literal 0 HcmV?d00001 diff --git a/docs/img/NETWORK_TREE/Network_Page.png b/docs/img/NETWORK_TREE/Network_Page.png deleted file mode 100755 index 790bb40cf169b7c87ddd87988ae9059297bd94d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189843 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 QFu?dMCMQ}Vtnc@K01Xo_NB{r; diff --git a/docs/img/NETWORK_TREE/Network_Page_2_Levels.png b/docs/img/NETWORK_TREE/Network_Page_2_Levels.png deleted file mode 100755 index af558523b73aa199df2f66eca479b1a2b3345b34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90795 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 z 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

Fe<%_I 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 diff --git a/docs/img/NETWORK_TREE/Network_Sample.png b/docs/img/NETWORK_TREE/Network_Sample.png new file mode 100755 index 0000000000000000000000000000000000000000..69214478282b281a07c68e69738496171f89058e GIT binary patch literal 83058 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 CR~wB0 literal 0 HcmV?d00001 diff --git a/docs/img/NETWORK_TREE/Network_tree_setup_hover.png b/docs/img/NETWORK_TREE/Network_tree_setup_hover.png new file mode 100755 index 0000000000000000000000000000000000000000..49334f4b80649832aa879a00fb95f16b677fa9ee GIT binary patch literal 107124 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 literal 0 HcmV?d00001 diff --git a/front/css/app.css b/front/css/app.css index 0f71eaf6..e3f7c8fa 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -1549,7 +1549,7 @@ input[readonly] { #deviceDetailsEdit .select2-container--default .select2-selection--multiple .select2-selection__choice a { - color: #bec5cb; + color: #fff; } #deviceDetailsEdit .iconPreview svg diff --git a/front/css/dark-patch.css b/front/css/dark-patch.css index 700e56da..3929bf9a 100755 --- a/front/css/dark-patch.css +++ b/front/css/dark-patch.css @@ -732,6 +732,36 @@ input[type="password"]::-webkit-caps-lock-indicator { background-color: #000 !important; } + +.select2-container--default .select2-selection--single { + color: initial !important; + background-color: #353c42 !important; +} + +/* Chevron color */ +.select2-container .select2-selection__arrow::after { + color: #bec5cb; +} + +/* Chevron color */ +.select2-selection .select2-selection--single { + color: #bec5cb; +} + +.select2-container--default .select2-selection--multiple, .select2-container--default .select2-selection--single { + border-color: #3d444b !important; +} + +.select2-container--default .select2-selection--single .select2-selection__rendered .custom-chip +{ + color: #bec5cb; +} + +#hover-box +{ + background-color: #353c42 !important; +} + .callout code { background-color: #fff !important; color:#000 !important; diff --git a/front/devices.php b/front/devices.php index 52bfa502..4d954ead 100755 --- a/front/devices.php +++ b/front/devices.php @@ -785,6 +785,7 @@ function initializeDatatable (status) { data-ip="${rowData[mapIndx(8)]}" data-mac="${rowData[mapIndx(11)]}" data-vendor="${rowData[mapIndx(17)]}" + data-type="${rowData[mapIndx(2)]}" data-firstseen="${rowData[mapIndx(6)]}" data-lastseen="${rowData[mapIndx(7)]}" data-relationship="${rowData[mapIndx(28)]}" diff --git a/front/js/ui_components.js b/front/js/ui_components.js index 0227de4f..fc7b63de 100755 --- a/front/js/ui_components.js +++ b/front/js/ui_components.js @@ -692,6 +692,7 @@ function initSelect2() { data-ip="${device.devLastIP}" data-mac="${device.devMac}" data-vendor="${device.devVendor}" + data-type="${device.devType}" data-lastseen="${device.devLastConnection}" data-firstseen="${device.devFirstConnection}" data-relationship="${device.devParentRelType}" @@ -821,6 +822,7 @@ function initHoverNodeInfo() { const ip = $el.data('ip') || 'N/A'; const mac = $el.data('mac') || 'N/A'; const vendor = $el.data('vendor') || 'Unknown'; + const type = $el.data('type') || 'Unknown'; const lastseen = $el.data('lastseen') || 'Unknown'; const firstseen = $el.data('firstseen') || 'Unknown'; const relationship = $el.data('relationship') || 'Unknown'; @@ -844,6 +846,9 @@ function initHoverNodeInfo() {

+
+ Type: ${type}
+
First seen: ${firstseen}
diff --git a/front/network.php b/front/network.php index fd8dc605..3cd00cc2 100755 --- a/front/network.php +++ b/front/network.php @@ -476,7 +476,7 @@ `select *, CASE WHEN devAlertDown !=0 AND devPresentLastScan=0 THEN "Down" WHEN devPresentLastScan=1 THEN "On-line" ELSE "Off-line" END as devStatus - from Devices`))}`; + from Devices where devIsArchived = 0 `))}`; $.get(apiUrl, function (data) { @@ -727,7 +727,6 @@ function initTree(myHierarchy) myTree = Treeviz.create({ htmlId: "networkTree", renderNode: nodeData => { - (!emptyArr.includes(nodeData.data.port )) ? port = nodeData.data.port : port = ""; @@ -744,7 +743,7 @@ function initTree(myHierarchy) style="width:${emSize}em;height:${emSize}em"> ${portHtml}
+ style="margin-left:-${emSize*0.7}em;"> ${portBckgIcon}
`; collapseExpandIcon = nodeData.data.hiddenChildren ? @@ -768,13 +767,14 @@ function initTree(myHierarchy) return result = `
Date: Sat, 19 Jul 2025 20:45:46 +1000 Subject: [PATCH 260/667] network topology refactor --- docs/NETWORK_TREE.md | 49 +- front/css/app.css | 17 + front/js/ui_components.js | 12 +- front/network.php | 825 ++++++++++-------------- front/php/templates/language/ar_ar.json | 2 + front/php/templates/language/ca_ca.json | 2 + front/php/templates/language/cs_cz.json | 2 + front/php/templates/language/de_de.json | 2 + front/php/templates/language/en_us.json | 3 +- front/php/templates/language/es_es.json | 2 + front/php/templates/language/fr_fr.json | 7 +- front/php/templates/language/it_it.json | 7 +- front/php/templates/language/nb_no.json | 2 + front/php/templates/language/pl_pl.json | 2 + front/php/templates/language/pt_br.json | 2 + front/php/templates/language/ru_ru.json | 4 +- front/php/templates/language/tr_tr.json | 2 + front/php/templates/language/uk_ua.json | 7 +- front/php/templates/language/zh_cn.json | 2 + 19 files changed, 429 insertions(+), 522 deletions(-) diff --git a/docs/NETWORK_TREE.md b/docs/NETWORK_TREE.md index fe113845..e6914264 100755 --- a/docs/NETWORK_TREE.md +++ b/docs/NETWORK_TREE.md @@ -3,13 +3,15 @@ The **Network** page lets you map how devices connect — visually and logically. It’s especially useful for planning infrastructure, assigning parent-child relationships, and spotting gaps. +![Network tree details](./img/NETWORK_TREE/Network_Sample.png) + To get started, you’ll need to define at least one root node and mark certain devices as network nodes (like Switches or Routers). --- Start by creating a root device with the MAC address `Internet`, if the application didn’t create one already. -This is the only MAC currently supported as a root network node. -Set its **Type** to something valid in a networking context — for example: `Router` or `Gateway`. +This special MAC address (`Internet`) is required for the root network node — no other value is currently supported. +Set its **Type** to a valid network type — such as `Router` or `Gateway`. > [!TIP] > If you don’t have one, use the [Create new device](./DEVICE_MANAGEMENT.md#dummy-devices) button on the **Devices** page to add a root device. @@ -19,7 +21,7 @@ Set its **Type** to something valid in a networking context — for example: `Ro ## ⚡ Quick Setup 1. Open the device you want to use as a network node (e.g. a Switch). -2. Set its **Type** to one of the following: +2. Set its **Type** to one of the following: `AP`, `Firewall`, `Gateway`, `PLC`, `Powerline`, `Router`, `Switch`, `USB LAN Adapter`, `USB WIFI Adapter`, `WLAN` *(Or add custom types under **Settings → General → `NETWORK_DEVICE_TYPES`**.)* 3. Save the device. @@ -27,8 +29,6 @@ Set its **Type** to something valid in a networking context — for example: `Ro 5. Use the **Assign** button to connect unassigned devices to a network node. 6. If the **Port** is `0` or empty, a Wi-Fi icon is shown. Otherwise, an Ethernet icon appears. -![Network tree details](./img/NETWORK_TREE/Network_Sample.png) - > [!NOTE] > Use [bulk editing](./DEVICES_BULK_EDITING.md) with _CSV Export_ to fix `Internet` root assignments or update many devices at once. @@ -44,14 +44,12 @@ Let’s walk through setting up a device named `raspberrypi` to act as a network - Go to the **Devices** page - Open the device detail view for `raspberrypi` +- In the **Type** dropdown, select `Switch` ![Device details](./img/NETWORK_TREE/Network_Device_Details.png) -- In the **Type** dropdown, select `Switch` - -![Parent Node dropdown](./img/NETWORK_TREE/Network_Device_ParentDropdown.png) - -- Optionally assign a **Parent Node** (where this device connects to) and the **Relationship type** of the connection. The `nic` relationship type can affect parent notifications — see the setting description and [Notifications documentation](./NOTIFICATIONS.md) for more. +- Optionally assign a **Parent Node** (where this device connects to) and the **Relationship type** of the connection. + The `nic` relationship type can affect parent notifications — see the setting description and [Notifications documentation](./NOTIFICATIONS.md) for more. > [!NOTE] > Only certain device types can act as network nodes: @@ -64,24 +62,41 @@ Let’s walk through setting up a device named `raspberrypi` to act as a network ### 2. Confirm It Appears as a Network Node -- Go to the **Network** page +You can confirm that `raspberrypi` now acts as a network device in two places: + +- Navigate to a different device and verify that `raspberrypi` now appears as an option for a **Parent Node**: + +![Parent Node dropdown](./img/NETWORK_TREE/Network_Device_ParentDropdown.png) + +- Go to the **Network** page — you'll now see a `raspberrypi` tab, meaning it's recognized as a network node (Switch): ![Network page](./img/NETWORK_TREE/Network_Assign.png) -- You’ll now see a `raspberrypi` tab — it’s recognized as a network node (Switch) -- You can assign other devices to it +- You can now assign other devices to it. --- ### 3. Assign Connected Devices -- Use the **Assign** button to link other devices (e.g. PCs) to `raspberrypi` +- Use the **Assign** button to link other devices (e.g. PCs) to `raspberrypi`. +- After assigning, connected devices will appear beneath the `raspberrypi` switch node. ![Assigned nodes](./img/NETWORK_TREE/Network_Assigned_Nodes.png) -- Once assigned, devices will show as connected to the `raspberrypi` switch node -- Relationship lines may vary in color based on the selected Relationship type. These are editable on the device details. +- Relationship lines may vary in color based on the selected Relationship type. These are editable on the device details page where you assign a parent node. ![Hover detail](./img/NETWORK_TREE/Network_tree_setup_hover.png) -Happy with your setup? [Back it up](./BACKUPS.md). +> Hovering over devices in the tree reveals connection details and tooltips for quick inspection. + +--- + +## ✅ Summary + +To configure devices on the **Network** page: + +- Ensure a device with MAC `Internet` is set up as the root +- Assign valid **Type** values to switches, routers, and other supported nodes that represent network devices +- Use the **Assign** button to connect devices logically to their parent node + +Need to reset or undo changes? [Use backups](./BACKUPS.md) or [bulk editing](./DEVICES_BULK_EDITING.md) to manage devices at scale. You can also automate device assignment with [Workflows](./WORKFLOWS.md). diff --git a/front/css/app.css b/front/css/app.css index e3f7c8fa..ef7feb7c 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -340,6 +340,11 @@ body width: 100%; } +.networkTable .nav-tabs-custom +{ + margin-bottom: 0px; +} + .pa-small-box-2 .inner h3 { margin-left: 0em; margin-bottom: 1.3em; @@ -1785,6 +1790,16 @@ input[readonly] { /* margin-left: 0.2em; */ } +.networkNodeTabHeaders .icon i +{ + padding-top: 8px !important; + padding-left: 6px !important; +} + +.networkTable .box-body { + padding-top: 5px; +} + .networkTable .networkNodeTabHeaders a { display: block; height: 3em; @@ -1813,6 +1828,8 @@ input[readonly] { text-wrap: nowrap; } + + @media (max-width: 767px) { .networkNodeTabHeaders .node-name diff --git a/front/js/ui_components.js b/front/js/ui_components.js index fc7b63de..cd7da334 100755 --- a/front/js/ui_components.js +++ b/front/js/ui_components.js @@ -568,23 +568,23 @@ function getColumnNameFromLangString(headStringKey) { //-------------------------------------------------------------- // Generating the device status chip -function getStatusBadgeParts(tmp_devPresentLastScan, tmp_devAlertDown, macAddress, statusText = '') { +function getStatusBadgeParts(devPresentLastScan, devAlertDown, devMac, statusText = '') { let css = 'bg-gray text-white statusUnknown'; let icon = ''; let status = 'unknown'; let cssText = ''; - if (tmp_devPresentLastScan == 1) { + if (devPresentLastScan == 1) { css = 'bg-green text-white statusOnline'; cssText = 'text-green'; icon = ''; status = 'online'; - } else if (tmp_devAlertDown == 1) { + } else if (devAlertDown == 1) { css = 'bg-red text-white statusDown'; cssText = 'text-red'; icon = ''; status = 'down'; - } else if (tmp_devPresentLastScan != 1) { + } else if (devPresentLastScan != 1) { css = 'bg-gray text-white statusOffline'; cssText = 'text-gray50'; icon = ''; @@ -592,13 +592,13 @@ function getStatusBadgeParts(tmp_devPresentLastScan, tmp_devAlertDown, macAddres } const cleanedText = statusText.replace(/-/g, ''); - const url = `deviceDetails.php?mac=${encodeURIComponent(macAddress)}`; + const url = `deviceDetails.php?mac=${encodeURIComponent(devMac)}`; return { cssClass: css, cssText: cssText, iconHtml: icon, - mac: macAddress, + mac: devMac, text: cleanedText, status: status, url: url diff --git a/front/network.php b/front/network.php index 3cd00cc2..a7a0bdeb 100755 --- a/front/network.php +++ b/front/network.php @@ -2,476 +2,337 @@ require 'php/templates/header.php'; require 'php/templates/notification.php'; - - // online / offline badges HTML snippets - define('badge_online', '
Online
'); - define('badge_offline', '
Offline
'); - define('sortable_column', ' '); ?> + + - +
+ + + + + - - - -
+
+ +
- - - ' // _id is added so it doesn't conflict with AdminLTE tab behavior - .'
'.$decoded_icon.'
'.$node_name.'' .$str_port. - '
- '; - - echo $str_tab_header; - - } - - // Create pane content (displayed inside of the tabs) - function createPane($node_mac, $node_name, $node_status, $node_type, $node_ports_count, $node_parent_mac, $activetab){ - - // online/offline status circle (red/green) - $node_badge = ""; - if($node_status == 1) // 1 means online, 0 offline - { - $node_badge = badge_online; - } else - { - $node_badge = badge_offline; - } - - $idFromMac = str_replace(":", "_", $node_mac); - $idParentMac = str_replace(":", "_", $node_parent_mac); - $str_tab_pane = '
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
- '.lang('Network_Node').' - - - '.$node_name.' - -
- MAC - ' - .$node_mac. - '
- '.lang('Device_TableHead_Type').' - - ' .$node_type. ' -
- '.lang('Network_Table_State').' - ' - .$node_badge. - '
- '.lang('Network_Parent').' - - - - '.$node_parent_mac.' - - - -
-
- - '; - - $str_table = ' - - - - - - - - - - - - - '; - - // Prepare Array for Devices with Port value - // If no Port is set, the Port number is set to 0 - if ($node_ports_count == "") { - $node_ports_count = 0; - } - - // Get all leafs connected to a node based on the node_mac - $func_sql = 'SELECT devParentPort as port, - devMac as mac, - devPresentLastScan as online, - devName as name, - devType as type, - devLastIP as last_ip, - (select devType from Devices a where devMac = "'.$node_mac.'") as node_type - FROM Devices WHERE devParentMAC = "'.$node_mac.'" and devIsArchived = 0 order by port, name asc'; - - global $db; - $func_result = $db->query($func_sql); - - // array - $tableData = array(); - while ($row = $func_result -> fetchArray (SQLITE3_ASSOC)) { - // Push row data - $tableData[] = array( 'port' => $row['port'], - 'mac' => $row['mac'], - 'online' => $row['online'], - 'name' => $row['name'], - 'type' => $row['type'], - 'last_ip' => $row['last_ip'], - 'node_type' => $row['node_type']); - } - - // Control no rows - if (empty($tableData)) { - $tableData = []; - } - - $str_table_rows = ""; - - foreach ($tableData as $row) { - - if ($row['online'] == 1) { - $port_state = badge_online; - } else { - $port_state = badge_offline; - } - - // prepare HTML for the port table column cell - $port_content = "N/A"; - - if (($row['node_type'] == "WLAN" || $row['node_type'] == "AP" ) && ($row['port'] == NULL || $row['port'] == "") ){ - $port_content = ''; - } elseif ($row['node_type'] == "Powerline") - { - $port_content = ''; - } elseif ($row['port'] != NULL && $row['port'] != "") - { - $port_content = $row['port']; - } - - $str_table_rows = $str_table_rows. - ' - - - - - - '; - - } - - $str_table_close = ' -
Port'.lang('Network_Table_State').''.lang('Network_Table_Hostname').sortable_column.''.lang('Network_Table_IP').sortable_column.''.lang('Network_ManageLeaf').'
- '.$port_content.' - ' - .$port_state. - ' - - '.$row['name'].' - - ' - .$row['last_ip']. - ' - -
'; - - // no connected device - don't render table, just display some info - if($str_table_rows == "") - { - $str_table = "
-
- ".lang("Network_NoAssignedDevices")." -
-
"; - $str_table_close = ""; - } - - $str_close_pane = '
-
'; - - // write the HTML - echo ''.$str_tab_pane. - $str_table. - $str_table_rows. - $str_table_close. - $str_close_pane; - } - - - // Create Top level tabs (List of network devices), explanation of the terminology below: - // - // Switch 1 (node) - // /(p1) \ (p2) <----- port numbers - // / \ - // Smart TV (leaf) Switch 2 (node (for the PC) and leaf (for Switch 1)) - // \ - // PC (leaf) <------- leafs are not included in this SQL query - - $networkDeviceTypes = str_replace("]", "",(str_replace("[", "", getSettingValue("NETWORK_DEVICE_TYPES")))); - - $sql = "SELECT node_name, node_mac, online, node_type, node_ports_count, parent_mac, node_icon, node_alert - FROM - ( - SELECT a.devName as node_name, - a.devMac as node_mac, - a.devPresentLastScan as online, - a.devType as node_type, - a.devParentMAC as parent_mac, - a.devIcon as node_icon, - a.devAlertDown as node_alert - FROM Devices a - WHERE a.devType in (".$networkDeviceTypes.") - AND devIsArchived = 0 - ) t1 - LEFT JOIN - ( - SELECT b.devParentMAC as node_mac_2, - count() as node_ports_count - FROM Devices b - WHERE b.devParentMAC NOT NULL group by b.devParentMAC - ) t2 - ON (t1.node_mac = t2.node_mac_2); - "; - - $result = $db->query($sql); - - // array - $tableData = array(); - while ($row = $result -> fetchArray (SQLITE3_ASSOC)) { - // Push row data - $tableData[] = array( 'node_mac' => $row['node_mac'], - 'node_name' => $row['node_name'], - 'online' => $row['online'], - 'node_type' => $row['node_type'], - 'parent_mac' => $row['parent_mac'], - 'node_icon' => $row['node_icon'], - 'node_ports_count' => $row['node_ports_count'], - 'node_alert' => $row['node_alert'] - ); - } - - // Control no rows - if (empty($tableData)) { - $tableData = []; - } - - echo '
- - - query($func_sql); - - // array - $tableData = array(); - while ($row = $func_result -> fetchArray (SQLITE3_ASSOC)) { - // Push row data - $tableData[] = array( 'mac' => $row['mac'], - 'online' => $row['online'], - 'name' => $row['name'], - 'last_ip' => $row['last_ip']); - } - - // Don't do anything if empty - if (!(empty($tableData))) { - $str_table_header = ' -
-
-
-

- '.lang('Network_UnassignedDevices').' -

- - - - - - - - - - - - - - '; - - $str_table_rows = ""; - - foreach ($tableData as $row) { - - if ($row['online'] == 1) { - $state = badge_online; - } else { - $state = badge_offline; - } - - $str_table_rows = $str_table_rows. - ' - - - - - - - '; - } - - $str_table_close = ' -
'.lang('Network_Table_State').''.lang('Network_Table_Hostname').sortable_column.''.lang('Network_Table_IP').sortable_column.''.lang('Network_Assign').'
' - .$state. - ' - - '.$row['name'].' - - ' - .$row['last_ip']. - ' - -
-
-
-
'; - - // write the html - echo $str_table_header.$str_table_rows.$str_table_close; - } - - - ?> - -
- - + +
+ +
+ +
+ +
+ +
+ - - - diff --git a/front/php/templates/language/ar_ar.json b/front/php/templates/language/ar_ar.json index 5edc4541..0fcf202e 100755 --- a/front/php/templates/language/ar_ar.json +++ b/front/php/templates/language/ar_ar.json @@ -528,6 +528,8 @@ "Network_Root": "الجذر", "Network_Root_Not_Configured": "الجذر غير مكون", "Network_Root_Unconfigurable": "الجذر غير قابل للتكوين", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "اسم المضيف", "Network_Table_IP": "عنوان IP", "Network_Table_State": "الحالة", diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json index 69355fb5..27a4ebf0 100755 --- a/front/php/templates/language/ca_ca.json +++ b/front/php/templates/language/ca_ca.json @@ -528,6 +528,8 @@ "Network_Root": "Node arrel", "Network_Root_Not_Configured": "Seleccioneu un tipus de dispositiu de xarxa, per exemple un tipus Gateway, al camp Tipusdel dispositiu arrel d'Internet per començar a configurar aquesta pantalla.

. Podeu trobar més documentació a la Guia de com configurar la vostra pàgina de xarxa", "Network_Root_Unconfigurable": "Arrel no configurable", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "Hostname", "Network_Table_IP": "IP", "Network_Table_State": "Estat", diff --git a/front/php/templates/language/cs_cz.json b/front/php/templates/language/cs_cz.json index b586eb26..34a5a9c6 100755 --- a/front/php/templates/language/cs_cz.json +++ b/front/php/templates/language/cs_cz.json @@ -528,6 +528,8 @@ "Network_Root": "", "Network_Root_Not_Configured": "", "Network_Root_Unconfigurable": "", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "", "Network_Table_IP": "", "Network_Table_State": "", diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json index c18ca9b0..0a7ab0ad 100755 --- a/front/php/templates/language/de_de.json +++ b/front/php/templates/language/de_de.json @@ -565,6 +565,8 @@ "Network_Root": "Wurzelknoten", "Network_Root_Not_Configured": "", "Network_Root_Unconfigurable": "Nicht konfigurierbare Wurzel", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "Gerätename", "Network_Table_IP": "IP", "Network_Table_State": "Status", diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json index f573b069..5c679c9c 100755 --- a/front/php/templates/language/en_us.json +++ b/front/php/templates/language/en_us.json @@ -528,6 +528,8 @@ "Network_Root": "Root node", "Network_Root_Not_Configured": "Select a network device type, for example a Gateway, in the Type field of the the Internet root device to start configuring this screen.

More documentation can be found in the How to setup your Network page guide", "Network_Root_Unconfigurable": "Unconfigurable root", + "Network_ShowArchived": "Show Archived", + "Network_ShowOffline": "Show Offline", "Network_Table_Hostname": "Hostname", "Network_Table_IP": "IP", "Network_Table_State": "State", diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json index 39471333..48ae02c4 100755 --- a/front/php/templates/language/es_es.json +++ b/front/php/templates/language/es_es.json @@ -563,6 +563,8 @@ "Network_Root": "Nodo principal", "Network_Root_Not_Configured": "Seleccione un tipo de dispositivo de red, por ejemplo un Gateway, en el campo Tipo del dispositivo principal de Internet para empezar a configurar esta pantalla.

Puede encontrar más documentación en la guía ¿Cómo configurar su página de Red?", "Network_Root_Unconfigurable": "Root no configurable", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "Nombre de host", "Network_Table_IP": "Dirección IP", "Network_Table_State": "Estado", diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json index 0b79605f..95d36f91 100755 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -528,6 +528,8 @@ "Network_Root": "Noeud racine", "Network_Root_Not_Configured": "Pour commencer la configuration de cet écran, sélectionner un type d'appareil réseau, par exemple une Gateway, dans le champ Type de l'appareil racine pour Internet

Plus d'informations dans le guide Comment configurer votre page Réseau", "Network_Root_Unconfigurable": "Racine non configurable", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "Nom de hôte", "Network_Table_IP": "IP", "Network_Table_State": "État", diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json index fff9ff42..b8336552 100755 --- a/front/php/templates/language/it_it.json +++ b/front/php/templates/language/it_it.json @@ -528,6 +528,8 @@ "Network_Root": "Nodo radice", "Network_Root_Not_Configured": "Seleziona un tipo di dispositivo di rete, ad esempio un Gateway, nel campo Tipo del dispositivo root Internet per iniziare a configurare questa schermata.

Ulteriore documentazione è disponibile nella guida Come impostare la tua pagina di rete", "Network_Root_Unconfigurable": "Radice non configurabile", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "Nome host", "Network_Table_IP": "IP", "Network_Table_State": "Stato", diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json index 5384030e..cc561acb 100755 --- a/front/php/templates/language/nb_no.json +++ b/front/php/templates/language/nb_no.json @@ -528,6 +528,8 @@ "Network_Root": "Rotnode", "Network_Root_Not_Configured": "Velg en nettverksenhetstype, for eksempel Gateway, i Type -feltet til Internet Root -enheten for å begynne å konfigurere på denne siden.

Mer dokumentasjon finner du i Hvordan konfigurere nettverkssiden din guide", "Network_Root_Unconfigurable": "Ukonfigurerbar rot", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "Vertsnavn", "Network_Table_IP": "IP", "Network_Table_State": "Tilstand", diff --git a/front/php/templates/language/pl_pl.json b/front/php/templates/language/pl_pl.json index da5f6b05..8a6d931b 100755 --- a/front/php/templates/language/pl_pl.json +++ b/front/php/templates/language/pl_pl.json @@ -528,6 +528,8 @@ "Network_Root": "Węzeł główny", "Network_Root_Not_Configured": "Wybierz typ urządzenia sieciowego, na przykład Brama, w polu Typ pole formularza urządzenia głównego Internetu aby rozpocząć konfigurację tego widoku.

Więcej informacji znajdziesz w przewodniku Jak skonfigurować stronę Sieć ", "Network_Root_Unconfigurable": "Niekonfigurowalny węzeł główny", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "Nazwa hosta", "Network_Table_IP": "Adres IP", "Network_Table_State": "Stan", diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json index 4f6c91c2..92aa3cb4 100755 --- a/front/php/templates/language/pt_br.json +++ b/front/php/templates/language/pt_br.json @@ -528,6 +528,8 @@ "Network_Root": "", "Network_Root_Not_Configured": "", "Network_Root_Unconfigurable": "", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "", "Network_Table_IP": "", "Network_Table_State": "", diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json index eede267a..bf48023f 100755 --- a/front/php/templates/language/ru_ru.json +++ b/front/php/templates/language/ru_ru.json @@ -528,6 +528,8 @@ "Network_Root": "Корневой узел", "Network_Root_Not_Configured": "Выберите тип сетевого устройства, например Шлюз, в поле Тип корневого Интернет-устройства, чтобы начать настройку этого экрана.

Дополнительную документацию можно найти в руководстве Как настроить свою сетевую страницу", "Network_Root_Unconfigurable": "Ненастраиваемый ROOT", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "Имя хоста", "Network_Table_IP": "IP", "Network_Table_State": "Состояние", diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json index 6c133306..f28323c1 100755 --- a/front/php/templates/language/tr_tr.json +++ b/front/php/templates/language/tr_tr.json @@ -528,6 +528,8 @@ "Network_Root": "", "Network_Root_Not_Configured": "", "Network_Root_Unconfigurable": "", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "", "Network_Table_IP": "", "Network_Table_State": "", diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json index 405a856a..c4d3c06d 100755 --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -528,6 +528,8 @@ "Network_Root": "Кореневий вузол", "Network_Root_Not_Configured": "Виберіть тип мережевого пристрою, наприклад Шлюз, у полі Тип кореневого Інтернет-пристрою, щоб розпочати налаштування цього екрана.

Додаткову документацію можна знайти в Посібник із налаштування сторінки мережі", "Network_Root_Unconfigurable": "Ненастроюваний root", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "Ім'я хоста", "Network_Table_IP": "IP", "Network_Table_State": "Держава", diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json index d31600cf..997b62a3 100755 --- a/front/php/templates/language/zh_cn.json +++ b/front/php/templates/language/zh_cn.json @@ -528,6 +528,8 @@ "Network_Root": "根节点", "Network_Root_Not_Configured": "在Internet 根设备类型字段中选择一个网络设备类型,例如网关,以开始配置此屏幕。

更多文档可在如何设置您的网络页面指南中找到", "Network_Root_Unconfigurable": "无法配置根", + "Network_ShowArchived": "", + "Network_ShowOffline": "", "Network_Table_Hostname": "主机名", "Network_Table_IP": "IP", "Network_Table_State": "状态", From b470b985e9e7bcf430ab17eff4a123249e9046cb Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 20 Jul 2025 08:31:50 +1000 Subject: [PATCH 262/667] network page refactor --- front/css/app.css | 22 +++++- front/deviceDetailsEdit.php | 2 +- front/js/settings_utils.js | 2 +- front/network.php | 119 ++++++++++++++++++--------------- front/php/templates/header.php | 2 +- front/systeminfo.php | 2 +- 6 files changed, 90 insertions(+), 59 deletions(-) diff --git a/front/css/app.css b/front/css/app.css index 97d5df3b..61ceee5d 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -16,6 +16,7 @@ --color-green: #00a65a; --color-yellow: #f39c12; --color-red: #dd4b39; + --color-gray: #8c8c8c; } .input-group .checkbox @@ -1729,7 +1730,6 @@ input[readonly] { width: auto; } - #hover-box { background-color: #ffffff;; @@ -1773,11 +1773,31 @@ input[readonly] { right: 0; margin-right: -3px; } + +/* var(--color-aqua); +--color-aqua: #00c0ef; +--color-blue: #0060df; +--color-green: #00a65a; +--color-yellow: #f39c12; +--color-red: #dd4b39; */ + +#networkTree .node-inner.node-network-device:hover +{ + box-shadow: var(--color-aqua) 0px 0px 20px; +} + +#networkTree .node-inner.node-standard-device:hover +{ + box-shadow: var(--color-gray) 0px 0px 10px; +} + #networkTree .highlightedNode { /* border: solid; */ border-color:#3c8dbc; + box-shadow: #3c8dbc 0px 0px 20px; } + #networkTree .netStatus-Off-line i, #networkTree .netStatus-Off-line svg { diff --git a/front/deviceDetailsEdit.php b/front/deviceDetailsEdit.php index 860abd8c..a3ebf405 100755 --- a/front/deviceDetailsEdit.php +++ b/front/deviceDetailsEdit.php @@ -96,7 +96,7 @@ DevDetail_MainInfo_Network_Title: { data: ["devParentMAC", "devParentRelType", "devParentPort", "devSSID", "devSite", "devSyncHubNode"], docs: "https://github.com/jokob-sk/NetAlertX/blob/main/docs/NETWORK_TREE.md", - iconClass: "fa fa-network-wired", + iconClass: "fa fa-sitemap fa-rotate-270", inputGroupClasses: "field-group network-group col-lg-4 col-sm-6 col-xs-12", labelClasses: "col-sm-4 col-xs-12 control-label", inputClasses: "col-sm-8 col-xs-12 input-group" diff --git a/front/js/settings_utils.js b/front/js/settings_utils.js index ec1caae4..118ed2ba 100755 --- a/front/js/settings_utils.js +++ b/front/js/settings_utils.js @@ -1209,7 +1209,7 @@ if (eventsList.length > 0) { eventIcon = "fa-square-up-right"; break; case "go_to_node": - eventIcon = "fa-network-wired"; + eventIcon = "fa-sitemap fa-rotate-270"; break; case "run": eventIcon = "fa-play"; diff --git a/front/network.php b/front/network.php index 9ba65479..17c9b46b 100755 --- a/front/network.php +++ b/front/network.php @@ -80,9 +80,6 @@ // Smart TV (leaf) Switch 2 (node (for the PC) and leaf (for Switch 1)) // \ // PC (leaf) <------- leafs are not included in this SQL query - - - const networkDeviceTypes = getSetting("NETWORK_DEVICE_TYPES").replace("[", "").replace("]", ""); const rawSql = ` SELECT node_name, node_mac, online, node_type, node_ports_count, parent_mac, node_icon, node_alert FROM ( @@ -162,35 +159,55 @@ const badgeHtml = `${badge.iconHtml} ${badge.status}`; const parentId = node.parent_mac.replace(/:/g, '_'); - const paneHtml = ` -
- - - - - - - - - - -
${getString('Network_Node')}${node.node_name}
MAC${node.node_mac}
${getString('Device_TableHead_Type')}${node.node_type}
${getString('Network_Table_State')}${badgeHtml}
${getString('Network_Parent')} - - ${node.parent_mac} - - -
-
- - -
-
-
+ isRootNode = node.parent_mac == ""; + + const paneHtml = ` +
+ + +
+ + +
+ +
+ +
${node.node_mac}
+
+ +
+ +
${node.node_type}
+
+ +
+ +
${badgeHtml}
+
+ + + +
+ +
+
+
+ `; -
`; $('.tab-content').append(paneHtml); loadConnectedDevices(node.node_mac); @@ -305,7 +322,7 @@
-

${getString('Network_UnassignedDevices')}

+

${getString('Network_UnassignedDevices')}

@@ -348,8 +365,11 @@ }); } + // ----------------------------------------------------------- // INIT + // ----------------------------------------------------------- + const networkDeviceTypes = getSetting("NETWORK_DEVICE_TYPES").replace("[", "").replace("]", ""); const showArchived = getCache('showArchived') == "true"; const showOffline = getCache('showOffline') == "true"; @@ -378,7 +398,12 @@ WHEN devAlertDown != 0 AND devPresentLastScan = 0 THEN "Down" WHEN devPresentLastScan = 1 THEN "On-line" ELSE "Off-line" - END as devStatus + END as devStatus, + CASE + WHEN devType IN (${networkDeviceTypes}) + THEN 1 + ELSE 0 + END as devIsNetworkNodeDynamic FROM Devices a ${whereClause} `; @@ -500,6 +525,7 @@ function getChildren(node, list, path, visited = []) parentMac: node.devParentMAC, icon: node.devIcon, type: node.devType, + devIsNetworkNodeDynamic: node.devIsNetworkNodeDynamic, vendor: node.devVendor, lastseen: node.devLastConnection, firstseen: node.devFirstConnection, @@ -623,7 +649,7 @@ function initTree(myHierarchy) return; } - // handle if only a few nodes + // handle canvas and node size if only a few nodes emSize > 1 ? emSize = 1 : emSize = emSize; let nodeHeightPx = emToPx(emSize*1); @@ -671,12 +697,14 @@ function initTree(myHierarchy) selectedNodeMac = $(".nav-tabs-custom .active a").attr('data-mytabmac') highlightedCss = nodeData.data.mac == selectedNodeMac ? - " highlightedNode" : ""; + " highlightedNode " : ""; + cssNodeType = nodeData.data.devIsNetworkNodeDynamic ? + " node-network-device " : " node-standard-device "; const badgeConf = getStatusBadgeParts(nodeData.data.presentLastScan, nodeData.data.alertDown, nodeData.data.mac, statusText = '') return result = `
  • - +
  • diff --git a/front/systeminfo.php b/front/systeminfo.php index 5c71fdb4..096dd57e 100755 --- a/front/systeminfo.php +++ b/front/systeminfo.php @@ -151,7 +151,7 @@ echo '
    // Network Hardware ---------------------------------------------------------- echo '
    -

    ' . lang('Systeminfo_Network_Hardware') . '

    +

    ' . lang('Systeminfo_Network_Hardware') . '

    From 31d7d0c143893254e19f075241f3a7ebaf1a05dd Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 20 Jul 2025 22:45:17 +1000 Subject: [PATCH 263/667] docs and refactor --- docs/NETWORK_TREE.md | 6 +- .../NETWORK_TREE/Network_Device_Details.png | Bin 98204 -> 59514 bytes .../Network_Device_Details_Parent.png | Bin 0 -> 34918 bytes .../NETWORK_TREE/Network_tree_setup_hover.png | Bin 107124 -> 86133 bytes front/css/app.css | 16 +++- front/network.php | 15 ++-- front/pluginsCore.php | 81 +++++++++++------- 7 files changed, 77 insertions(+), 41 deletions(-) create mode 100755 docs/img/NETWORK_TREE/Network_Device_Details_Parent.png diff --git a/docs/NETWORK_TREE.md b/docs/NETWORK_TREE.md index e6914264..465b9a11 100755 --- a/docs/NETWORK_TREE.md +++ b/docs/NETWORK_TREE.md @@ -51,6 +51,8 @@ Let’s walk through setting up a device named `raspberrypi` to act as a network - Optionally assign a **Parent Node** (where this device connects to) and the **Relationship type** of the connection. The `nic` relationship type can affect parent notifications — see the setting description and [Notifications documentation](./NOTIFICATIONS.md) for more. +![Device details](./img/NETWORK_TREE/Network_Device_Details_Parent.png) + > [!NOTE] > Only certain device types can act as network nodes: > `AP`, `Firewall`, `Gateway`, `Hypervisor`, `PLC`, `Powerline`, `Router`, `Switch`, `USB LAN Adapter`, `USB WIFI Adapter`, `WLAN` @@ -60,7 +62,7 @@ Let’s walk through setting up a device named `raspberrypi` to act as a network --- -### 2. Confirm It Appears as a Network Node +### 2. Confirm The Device Appears as a Network Node You can confirm that `raspberrypi` now acts as a network device in two places: @@ -83,7 +85,7 @@ You can confirm that `raspberrypi` now acts as a network device in two places: ![Assigned nodes](./img/NETWORK_TREE/Network_Assigned_Nodes.png) -- Relationship lines may vary in color based on the selected Relationship type. These are editable on the device details page where you assign a parent node. +- Relationship lines may vary in color based on the selected Relationship type. These are editable on the device details page where you can also assign a parent node. ![Hover detail](./img/NETWORK_TREE/Network_tree_setup_hover.png) diff --git a/docs/img/NETWORK_TREE/Network_Device_Details.png b/docs/img/NETWORK_TREE/Network_Device_Details.png index a81730935e3d6db2012439a4be6c02343c990d84..d009636f3b1409bb5768d81c4d3148a862a33757 100755 GIT binary patch literal 59514 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 VJfH6IcO|Wq1IskiD7Z1Tmm5x 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 literal 98204 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%0AKGOr_mhy-u|cb{eE75(Ppboo^H^Q z=l7`VUAc*1^Zi}G#?>(Y4rlCWiEy@z2ZDUbRPn|le|a^-?A!#R<1ztC`A!QBaWR~- zd0^lPMlcaqWU4Z^uxJ}%(;)BCi=iVf3&oIXP0&<@j0=BJA2eEfXC*J}u}yruDh{VY zVSTU5?)#ob1Oit(hnQL7e;Na!PnSg)?PW#3{qDm0TTcKF z%gMkEF6_KGPr#iIzM4Mz_H?-$_)W8i6aRhJ(f{*@>3$?sr1Z<-A7p9^iSn*-bO+aL z%nXm554A-S@7|*n>d+wH8=Em}Cmg2O_~aQSzN5{8XY9YY023wWMmySJSKljE>K)ha z9i5$}R?*gid*e1M9Pz9A;?R%^h)m-yLclbKI2oqrY2;NZqH#vnG?YqX3=FuaO>7l$(+82|J*9M8f+hts!FbeWe=RRoV^d5B}V!F4U&YuAX z+A#g1BWg}e-EXZxNxK=+xY`Oj(Rz%_0c7KMM6phZfMCk)-;`zBsDQP>GE4Iln)(k279ORPtu7 z?`&MjHuto`UtffR$A<9n>H^5zEFt*RXSq$b?L8m~>8N8?`V-yFxfD`0yM}9@ z17z46KcCy)Yz}$&Uq9B9)}O!gXIm-Xe9$D*CqMH(xs#qmV%eP{noaWBYex0uOF!4l z7wfwP{>{@#{Il}dM|~#si7p4Uzd!6 zgTF18Q$wd1WuKVYT;tYKUrpkKhqL5Mrn|mDX02G#8pmF+GfJf-eFEJq)IzEh6l@mYoJseRfzUW+~E;g%Sl^1n<_ z7RaR{(fgT{FCw116bybFNyF82$`zLna9`z9Enj-76;H&`B)pJ4tHXZX4x-L%`T0n% zX#^kcr+1v1A0>6F<|~7tn7c=biRE00k*;}$wSS`z?DvNvcQ6WP?Rh`aOPV?)LgzuIEG(O)?{OtW@^G!i7c7eqC_jlkc zZcM&o1+&FoPPu^GbH_~??I*9%9?hLd?>D8=2wY*~$6OJX48FhVcD!mm!Qzu z^j}lkbyGn*_atUo$g=1N%`MD2*iQJ$%PujKi5X+NYU;t81mUD!cK@hIBf|Uef|~FF zOt4v%$qJ<{lzJ%>tSoo_y9=_?KfmYm6(NfDmXiP=RZ|w!_@DViJ{svT*UjyP&4&9xR z;rsyjn!_cvLeaH&(fEx#SIv~_2D*dNbD3U>@}5H?HAKxBXOG`D5b_(>e5-PXy&_d_xt0ju8F|gzmQbC)fBUc~4gvdh{>#D9&hM#?X17?Y z84rF%$ypc z%?I~pE|3PK-Vfdr9wrPv!uP77g$6op-fo0#syR}a3*YhcMv~*K*kzLg?_EdGxuSnJ==X%JvF zi^8W@l2f#BpwmN3XuH^kVj~PQSkSA?XtrU-Z$igk7!{>W%zPPQ>B(Q3geoLG`UOwK zBc>%VE?w$GQH+uXCb(MIL{al0+ae3aT%}6VP!}SOYOt<-+e#byS?H#+T4XSwR;HL$ zI7cn=3G3!PKj#~rCLxi#ZISm_8P*6k8BtT8Qz285HQpFOdv@=W3b8@oWZR)*x`%yr z)s@|8vK3MMZwdV7$RhB|N+L5EB|TddP%4dJlGj!=Ga`vbT7DVfT``*8*t2<0O!|`j zHl~|B9v74eg}GJu1m3!GOI_kBiT0+cLax4cvOqh!Rk(^|!7hl_8;YHX#k{s#gGfe zcph!croEK+WD}g?Crt#b26uiZ6ijU)05eK}wXvx9MG)xbo8EMdBvq@>LrGHo4{t4y zMN(=|j0c)>HR6NL{chdzQbW97L99w|{GQ|Q#)y@?kT|r=#U|B0$E3Su?P?U!XgM_X zI9ho){l$T2a!*O7IgsYyWr=LswJk;uOY!^mOp%cPi?6qUigN4zfCcH425FG)Mq&U- z3F(fJMpC*COSA8M?oRd%f@fzVGMvt;KSUFi)I)&e>zhIiLF?ZxF6N_rx-@V+ecvk5q8)^(e}{8 zo5v5BbXNv|wv_f0d!&L*n6{Ee2h0zOx{yU}J| zdFeZ{RLMV@$E

    6Ff~{cnXv`@3s5#x$43TE8tNldwQm|DNKGfb#v`QhEkOM#nry_ zx9pFD=N~<5-}!HlJYfg-`@rKfUF`pMMwWRIhm+vE>%7JOcQ3JarXLYWU(;|woQ(Jh zma2%dW;QVA5I)3uEDMTVToBk$Fj<_BjC$F*$%pRV;5faw?DjF8ZUfy_(aYUe#mQo#pQ~UyI0bXz;Pl6bSGIv~y`c zMCsciwgx(9P`~o`VoF5M|@G#uPr&F3vUEonP%_b z>Nisr5aQA1cXxX3CWtPH%fw_#>Z(zNM3uksGtIfO2bSI+8XRWz@;g5Gclux9Fi4wl zB;_^ef>TFWV8))0;R=iQvygpcFb_~Y!WZ18k+2*R?TMEz;R1A+PCYiqC6sRl+4`%! zD;P0HtlGU6ZUtvU$6F{D_I9F)-SZx)vmyomD2p-N&!X&y-|s?T+P`TB}P zrSs>KQM~&8kbGi5siJ_a&E_H+3s__`qkLOIq6zJJ;C}X7p`Rr~pY9h?*A%+2F0_n4 z>|>`j&1Dqwd>K-aS>s?Rmw*w(4{rw6AP95yWN;)qCeCy+q*4GSETpF_7xkvUmU_40 z?RRVV`~vEAH~?yb_29Q1jE+1d*>@*da9ye>y7TT9QSjBc{mZh|&@}WX-`>O?4cvKM zhdKQwivBLJ-L`Wa z?$ntS=P7!tAD+agg1UoBTY21F@O@&iI^4=09|;~H%XLY}jHeLQo7E=bFZ89N{sZBV zMVlA0a@1iOxq4i26y zw*!`X+|$P3iMedo^v4SGCwzkX9CAA6UJlPMx*A4SLZnoJ9eDZtYk!LE57rk)EPlQ+ z&XpZHFXG|p3WrQB5j!%#%vI9%rDnlzWt+*_Sh$|4Ii@9i&UvW&{gVkJapx^4#hCND zshR0_NSQP$Xe{5)jg23DE-qs>i=d8di|-kvb)+;#dB3rT()z+5g3@p$1frNGWg%x; z9!m4Ac&qP!n>EIHZ15H?FpKX4l)uC!EcT0g_u^6Cv%jJdYCFIvVkoOqDY|F@P!Ox_ zPpdL>9csJIXdxK&sKRZss_lI^Qj7D=CWAFbgcM>J-6JBZXie+k&m$wa0k^k>RZwss zY|wM2CidDjSSh{ajn{f@eI{S&hD0! zn%G2Wmb{1m_F!WC%Z1ojr~y;76{jaibUUiNDdhd#BGb9_g~P&Ss)g7k6^bq>_97<5 z>}&?jjZBcD-PV|I!n(pb5$-bDaB+7}+ zCk46Y`{}z;9U@SbJ5ydw-G*lA-h|XfO0~*o$t_(nRO_Zx>C+RtQo{q!J+~E}>|9fU zhYi9)qiaHq#Ct}vg4;R3eRhqOFMC(1KaJL$`;eZF1d?^icRJo3bwYHY`=M)??JYXc zya$-=kB^j1wf;7sdx6wrN7Gjy!%hf%Q814J7oGHe0p=8TQz$ztdb_ugDYR!sVnztA z_0Pn-exmQcU;xc3Uc_s^S_%`?&QoK3q|oVs05oWd)9;KyULX7-zOv3^p;I0Yms)-N zr65V~YRuxg4)&p>yV#f8URjl&)t_o$F%We?@$5@&g1hX3OYXe#ECa<-8@bS9&u42& z8z0~s+{&13DFg-1CXedPhsyfMoJ&awe#?pQEg+{hVVl=jvtkD{d$vZDurKS6IaX_p z{cxO&K&Ub6&#DxSTxh3ryvog0WWv7U!U>H)?L?h^qL_x20zC^MS2@zVE|F*$l7-hs zw|2CJ0iDQX-u}0S6Og4>mrYJ*q$mpu7}cvs?J{z#oSCy`BH_(g@!NLLbVi1MIcjQ; zp0~VyR0h~(E=&tydR-;fu7BGnAwU8~=&KAV2usnsTNUr&u`yx>XYX3|7?V0ZOvFm3 zBG{>{*NX!9tN9CkXGoRvrGf+J@m6f!djQHI@@C)U1}pH#H_?ZzSAPd+xX}=bo_mMH zMwtE%Q3Vy{5awR(EgQKQDoWtuH-}p@o0*_6iM|P z_ZA4QTw3uDW_LRYu{#BV<$adi!U~p$3FN

    V^3q*Ie)}+AW3F`nPLt9uT(Dj*Q>` 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 D2(0Z> diff --git a/docs/img/NETWORK_TREE/Network_Device_Details_Parent.png b/docs/img/NETWORK_TREE/Network_Device_Details_Parent.png new file mode 100755 index 0000000000000000000000000000000000000000..a44725e639ac55a8d5a98d7dc4fa66909751e8c0 GIT binary patch literal 34918 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 literal 0 HcmV?d00001 diff --git a/docs/img/NETWORK_TREE/Network_tree_setup_hover.png b/docs/img/NETWORK_TREE/Network_tree_setup_hover.png index 49334f4b80649832aa879a00fb95f16b677fa9ee..1a020a5d8e98fd649a97b7295247684c1947d73b 100755 GIT binary patch delta 39803 zcmce;bySsaw>ByWQUcN-DF{f53P^`EN_R?2cf)!>MM}CPMY>_zXN z`Nl3t-itAospw$Tl2ju#(w>w-lDVk4cNyy@kP%@@S7yIPtGtEFs3jqhI!Y|1aIp7# zC?my!CFSAM_^)#^qQqMVvc=+ZO4E+`*}A>XEjp{VVx zIzV{`V|;Y)ou~6h!Vs2ixdpf}Y`?Qc#Ir6I_DOHrfwNi|{OEXKiu{>gvFEk=1 zDP8l)tG-#Cq*H{9s;2of>}q5M6S|RXv`jRm2Iuo-isr_(rvQz3au{-#b4{mZKV{E_ zS^UFA`<=Cr^9SN%6g~(j!;f1BbLi*H@QyPxZX|bqhxUa~iwWh?V`EsWUP>z&**X)) z7B)WwL8t8$UGFPeG5_k*lXCGH>3(9Hd=n-a%#`QACRX#+M8R`)I2(fYvCGY(i${Zy z!-EyTA5EqC3zUP~Dg;b$~rhZef!h37~; zaywEgxXDwr>YJtU{hOIn%muxZ+e5|KUoGpxXKE__;&DD5I|JWrc;Kc7S3fHc{dTTX z7mqk^rbVUvsvaL!XKKK@4$8pWqMGMGheG0rk(QZnVY%dzU-8i0L z($tsy8|yn`{LKDD0~1cnEu5(rSr0qx?3}_YQWUcQ2D6=SlqIG*Re9D{49ik)dn=U9 z)b+5|JjkdVIov)NustBBa(wi}exq2~v&M0e+sF07hOuoczlW5_>?9!7|1)W}-9-c#cIYsCuNiA%ekYlNG0j85Xf>Qc+dwrrjrWVSQDKV93=5*^aMdKz#QK~0 z!AS8ik#<~~0qZTF+UwZyEb=GR6H<^*^x?Y=rXLavF*1jw+qUk$->YfN!`pO=H@a z9FcZ;Wy`r3_jYEm(Nqx9E#5x*NSQ47aNX_9~YR^@ZYJ`dO=YB?PD^m`mF_9 zgJMi{IS@cR3^*c}f)ECYNA6$g?U3^n_wHev{Jtd%7(J(X1WW9wfw)PJl#x<;F`yCu zNRiNckdMK!wt$|mEKM7RUXmBfZk0Xyd3Csp$zUSr>^+ynf}Q{wkt2&+aGJsq=Lsb| zf3qTI61q-f9frZ7)=$hfq#li6;Zn*RPS~hD0LF8W7h{>pJ?JMYt=bA3+je9zS|%mK z^kc`x4^vLlxA;6>>W9aftZK`x36$3$FFo2q`vOMf0~SnM=d}@O42ZPNO?cw8c%H^X z;_?!x=m7^}+fTCl<<ugoG4%)pkmFMbU+?tC|dZjjivMDg(mso<-mTF2cyg=bG>v z;0?ZR??IOXba|v6^0aRDnoh(|jsjyKSw>E0^~QRV0oq9_;-kVdrWT-lK?W7M5vO@3 zBNM=6PQ>|{W{s7VVbCgfEOtK?LxJ(?YsstGZBc2;cBDehS*u~z zf23-db6U<@9YRYbJ~v5@MxQc4LQ2!I3B?P+f=>oNo+d@5M~uV?$z$1|9A;cY8p4`s zHmz6ZQvEW9H8G{z2LTF%Z<&SsgQbJVVOEUYuVg|y-7|%E*(OaG&ej`AAfbTW_&pD# zy-^KMs<9t+xeYOc(NO&FzWY(?1jhC|5&>+aB5PB5V$Anb?YnO3n8gVD)=Hq4N<@VGGi zhb_0WrP|VWPPPxsHa{>iFFC{36d8#azrB+Fkk&7LG9{heS=&;=6EF)TPFhWCxAq>K zuu6^8yttb?r&?YAe!M#gSw+~V=ISc}9%eF%a0^S&>LPEJe#En?`4NSle#Xh9Xa zj>DCUHmy&`)XukWPWt8FRA=xYKU&lKQ1@^geCnb*9dLRVrm`94BaGa|&xxl#zf3&IHIfk*rHsfaHU?|Yj~ zYPC-5KmOQdlDMdiCOKn7`IERX2;(g}`aO=Kj1P+I=o=B|Ea@r|`J@WPHU@>*F6LU& zN)MmQ-i#+=yOfG_`@Wf}5%rIN*SGXKrI4O>Z+h)u*Whbw6%4)pNw~Esk{j%ZNSos$ zwsGi?v3JW2OssqhXgfNvxifc_yJp{3TeC|z_AQCBV;i~n0y%u8cBOb(?d@V3NT?j? zbmv85rp++GkSk;I5oS&*6wE<2+}*CSzLMzVtEsBmpDDcDE0%=tqnVAK=t&&ZeE3Xm zot{T>oA2kVu8Lv?SduG`&HS0Xe!Y2G3t|@Ce0}iSEqLoR&{Vk@#53|TPr|N!@wV;} zl%jH)RH8m%F~=_|+f?rBwZ4k{mu+DeN(Q;9z_#FY*38)z57u9MK*L~T(mTGWW2S0 zO$ry>qSATK$TQdQOTG7?Z^o^dQrq}b@vS`*&hBlG-`_Zm7-4xKFVrBo1Oe5Qc;e!Z zMil%kq3M!jG!YG#m4!@FPII_19!E4onL?)KQO-qU!1{*r$~IP>dKLeqH;-pdOXyeI zoIAZxHu&^rV>hD?bL{J#G3%YN^^HTFXe{36`bO?gJP&RQ)jpNodj#{mSy^$EMNdL- z*bK8Dq#$-u+a)hN@a5{HP`-G$w2Z;HhA*9Q*sHiGQOFmh!m4=R{mVvyL1^B|(-T87fqPwU`;hHNoSpxTm;dEF zLApZoBfn2c;>Bh&ZkfIIR`K`P^x-*qg4R8l02v+>POYgVUEE&{lMWgeFBBUpYpt|nyOLGgS0=CC@7!52 z8-DZtpqXKS%F=e{s@Ml+T%22*Y48;j+Mihy(u8NMC+o!&vPvJl_))v~eo8;()s*O<`elLrLr(m4SiAqa!L zTeLAIxWsIsUFLsO2j3fd{+??#((b1aY`T1tMsV9jgtsQsg8GvNHYc3ok;)KP z4)jP|ERuEMX;K|-qTOe&78hfOt-L6IgVPt2l=P$-*Hkc?Dy{LEsAtZAMt^nq6*&)u z<=au4%K_p(?bYI3*Sf**As3+Yx2PB?{#x9i&R{R}m}$pVOx<9+FlmiQ6=KAH_tAg# z32~6Bo-l8tXF{o}#?kKNT8%~QYim199iG_GW)c5dho{Z2BE~5CsSB6q{h0ddS1hxN z>nCj+)ARs{Qn9E8glj*X34wPJ^BT$2Aji1QPOg{WMgVh|d4F3ngE!lnlxX0lN9qP&7w>Wt>TD+ zm7XtW*Mz2qJFguUd{InQABIOYc=b9)NLJL#5n##;u&26VcOwItaveQA^pdJOI(RH8 zqQ(seo9dT}gokZV5g0U^(*<3z+ia}F#$V@APy@%%rgKdp zek=>QzP`Q08ceNs*zeJ~^dxyP&fjLj{=hy-MQ0VzYB7L(q_B&D#MHl(C+2rBp1RUR@gZ@|ToD-kMJ4k%Q0e`~{(V z4ovS9FSQe*6XFdH`{KNg>{7A-ckFUXF#>>kjOyeaem-+jgzBf{53ss`ATRCfz-s>F zr*$zVY01>lt9>pp@6o3%zGlmXsRWKlKu&Q5qR?F>;_xTO4>h6=AkloUkgnIx}lMJd>UEagK8^?C*4s3EaY;EU^CMi{YBnN)`V{oNF9MPCD8GdVUK&{|J0uAns=t#W0~$wZ zg4u?ZiOM#!1~eg&Y{LmA$+=YDovRBx_Pv#gim3UL3KC`!bmc1LCQqgw#H)Apyiq$Hhd zRdwVrm3T)I!0tEjtL2od`m4yESd}R)%>7{nhcNrpnn~$px3u;11LV}rx*6WHJQPsMQ}AeJMI|vA6A&B4N=uEP$~VI6)mq- zthl&3@|krwG~*uaTqHv2!o#`O*$WjD4M^;<_a}i(`45**TAE57qx6S$%1-RQPW$d> zo@P`sadrTmj-?9zWf)VO9Wj8%i~!Yk|Cr;ED(1v@K7%&0rz&+gO;aysCU~a$Xr0XK+Q8 zWoEH(y^Nn%wwt2s5!<*>tF7pwLmI4lTlQ=LxLtb!j0?4`JLu>>&#ygL8QP!m;jX@w zEDzxw!TZaJjxlyWW2Hy_3_E%h^R>v={;ao3R>Q)FY2a1aV#&mjmVpm=Ni^*pGy_Mc zfhsxZ075RaDKY8wK&G|~q{Ov!W7KRIv|l7L&_f2eBwn`6^Yxl%>*s+_8kt9KJopo; zQGvzOMATH~J-%(2^3Um`U+NY2BpR3#O=;y}XoDqb;(*Ty-UszHD#I$Bz^t3=4t@UH zhS*x?bo_XR-NZXWM+4EUTrCI2C||ln*R~|i#MP-fgbn5!&0DAPC$~j{LhtDj0=nyy z+M3d8d159B;om9Lxf?(BXkeY0_g=(}!7=o>S7r6;b;=g)qLIFKY(EX|aSULk)Sq~m z9lqf(@BfweRZodW=4`ZipqZVxPywTV8=F}ddL?&}hur3?o8tbH@Y)#YG9o*&UF|&u zD<^@~GS7z7l>&=#jS}~4+4O-E^`dMo+ZN+mM<`rdZB1vdU;e9i6$%A)qJERoe zDNB6F}sP)M1dEf0E2nUgBCWEb?QSJ6(lTd_wBSW8!wc zGDACoGTx(tLud}5y9d;l{%q2i*zu5sH1%G#IrR#)C(RxY>c7@93~0Jq`zoxh`B3R( z#-d>YAk6d=+@%6*OeE{;%I(-KeftRKu>8m9yTxhBpc@cCsyxHdoDYqVKZZg5-nWs} z9{cdem{YZ0Nhnm?3pKMtfu00<7lywK!;ZrJn$J*^U`<@Sh#2Q(&e5koIr6-IA9Yd! zmlj75TO;FIF{pk)Jv*2UINCdyB_8hvXZ=p@FTq&`IrieM_f><=`vE1A?kL$bZLZ3r z0M8ybmN^l41+(#jbz| zq=QZ$cXF?^M1d~@8V7po6F{3QL{pFNjYo`PkXT7}8)K&}wf7B8reMQlamzH^UT5M@39y=QvpB$L~a4} z<8>r`QgairT(kmtl=en(?iAV2&n05_AHfn9i=!Fq{=E9b*8*sXcZ^s?h?gIjK8Y?_ z!Oc|kCwZl|#Ozm>W2A3;4WS;?kixsvCah=x7<9G|9=odoV_~IbmIVn7JeX5j0`E}qHm++X{5ReR?qTC% zOB-hBo}Zs<`fAE*-${a0;+py}lVy(obENf}P8oga1QEYeG2%FeE`VJ)5v!RyLRPPA z(C*`TY67K-*eT#0aHLLNj|dd*;s)PtiX|%?cs>8r;|ZOgx@Doa7DJoiO>YXXG?;fn zPaVDQ{)Kxy>_}FXU>XTFXd-@yk*@dP3=BX~UdLo70hzV(g zOKZO*si_aJ`J7q_ZyRuSBD%6CjoU=e#Mh>i+ZRwleTrcWTLx_Z}TnHdQ*f^sUy zojdSk#7?-&H-1#m1!5FSNc1_?$X9%cdsI=6ZFn9my_sRel2kCmwqFm7S@%QdpO<;&BGn-o z)Pf@6C_l@$m0^rk$;X=360z7_`3fG^+g*hJ9(TUrll6Uvj{YO>h28rQs!4w3;oi2e z_yQOHBbqo3joA3aNU0KzTFyYr^s^?{>Dgq>HLu+%m(97afJTaoE<@3QTr^!f0?rW= zuc3a=VTx}u%jvV2b_#}#jg4--BW<0-?D{Y7OmU#q)85pSXd%FhjezEPVSv*#EKg~1 zBD4M^{o>oY=gs8~52s;6MT0n(L0#LXS`N{Da&4rcBm~WKcP=Pe{HEb0%%I*exG%oo z&G5lYE%gBmfK|=eQS;f7HhLYDw?LLVFh#C*tF^C`Ka0^u-sc<5oUJs+(k|1_3)t%w zOusX5o5uj18DUp^Vz}IFLf+zPk);Zu^}fA~t-BA-PXEA^@4Z95^K515hf=$`)Vdk4 z8YIDe-we{e{vSDZLNzv|Q$n?!KWbkHpI_dOi3L)^j9_~`eHsO2!#W~8lgM9iX4sC* z>*0uIkF8NMMe=bgw%857K=TZ{^8>;7%s`Awlgld0GyADqWd^me*5QZkSoFQMyLH=jOlFrqUJ!oq z+yiF1=pVJ*bW@)npC7H9a(*qce@kKFPZSmwmSAFi2RFJh?G}8}QIp_69)(IGZ@m8` zF>2;=cy>IQB#ZltC+)^=x@i<4?9ySRP9;QNw8bW`tP&hf?7ME2FuA+?vL@l##;JqB zYHy`@rQdnE&}>avtNC7amqwhm=h?k1kp?){*S5DvQrc^&e>fzrtfpn%dd@ z=Y0vEDQABzt&3B6N2@^FRC@2o>@T+1VxVb}g48Tz47Y9?Y#{8un%9wb_xJWoS$S%^ z#B!=MIFnfp3=h0W;)LhcecF7))ivGV(|PY6qfJH7Az>jV;B;(|BDL1%VbRaK6*rV- z?r9NEDa-`B^Nvsoc=3X$loAVz>G?y-+BIHjb{9JntUC&gPH5^6ZBrA{KPIe^z8Z_u zh>LYsOUjC~`(eky6Ws9YxbuV2yHB5VFS3~ERm3iGjnKE`KP!!9YOQ>w82$P45P3Yj znxE##tvuk#vgh-ymgz^miAfoUU90Z9S7`#%<6M65$tQ5VJOIGzYtcL#d~!0)3ETd* ze)jQz+m9j`@g=sUXx!5yRX8>f69h=HtS~75{&$<n(URcBLywe`FyX^vrYb z{sO})4yA>%v#v8`hm=&=1a|pL2p3OjMd7^^#*SijcUf%~&5_dWnebemts=Jk4z2Dp zzXdd+P#`Ko)|(4B*B`r4&$eIqXhK~gO0jPB0KTI4jWu7gtDZJ-ktLGad?~A4|7X=@ zf_%AJAS09Az+^X7x0u+1ys~oQQ}XP>ENtTiV^_zMQ~`wL9{glya(S&!qwzJT3dH*R zr=UiU9or3mpxvrFCTn^=&3q#NXZGGGZ5t zGzzkPj@R}5*xv^5vh|fa&T_!m;ev*^eU=uvt7}^tZ)Wq$CR#1G-L`71Pa0FHo2>>Z zz{&mo9WU1pfh@4I1t(&YgB2;A_5R^?el}Rt&pZ%CY3cby-u`u#IZmOt-2=%7*Z>6% z!MzJ-X^4`EW~(%AB8IiXGc8ea`S(AK43e-FGWA;V+e71gGI`ruyKja1kf06n^u~{E zif9chz8oXGG3yc&t4dyP%V&kz#|AIJZG7%@uIA_Y*S>OfW%M5pm1z$SV6-iH?czXF-|zW-0aZ z?F7p!qUB}mSb3k;+zEOS=UaQi?mv`QKO*(RH#jvet3?CqE#IMyYK}J zp?pp$m-f?GiBBApF3Jpm5#5qk(VDJ){7W>WA7-s%I$iE_l(ZHJ!iF3bKWIIB&MKg@j=%9hu2p-n39{f!G#VHG3^*y9 zzZbdlfvJsVi|hLf*=@{pVLu|9E}ub`5k8Yo^*rb=cCwT$DBoU>2X${LyV2bwcY@8p z9Rgh3QGGG5{q$T@z?zYrE(OtSIY3@S10k;eNR@LkUbS7Fha5_IiWLorT^5oWAIFa!abhT@*33MD zHQqfKXjEf{t+Kq5tgv7yBpmyA3{jdu@^yk@+>xmi3WmjOy)pifLy5=-6%NN<+5u(Z z$Rw{3MTpz6%zL-QdmEHpx~Zg+ zAtD28z17J-Xt~Wq#8EVAx>D>$m$~%`S!Wj_*5bGNEsO*^!6O(f?6rmYpFh*DtgO`h zEcPj!tv~p&PAL$x=`MxTBWj%~q}CyvybJ4gK-lRW7C$?_I)E)M3⪻goyBSYp)AY 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 : portBckgIcon = ``; - portHtml = (port == "" || port == 0 || port == 'None' ) ? "" : port; + portHtml = (port == "" || port == 0 || port == 'None' ) ? "   " : port; // Build HTML for individual nodes in the network diagram deviceIcon = (!emptyArr.includes(nodeData.data.icon )) ? @@ -688,7 +688,7 @@ function initTree(myHierarchy) // generate +/- icon if node has children nodes collapseExpandHtml = nodeData.data.hasChildren ? `

    @@ -701,6 +701,10 @@ function initTree(myHierarchy) cssNodeType = nodeData.data.devIsNetworkNodeDynamic ? " node-network-device " : " node-standard-device "; + networkHardwareIcon = nodeData.data.devIsNetworkNodeDynamic ? ` + + ` : ""; + const badgeConf = getStatusBadgeParts(nodeData.data.presentLastScan, nodeData.data.alertDown, nodeData.data.mac, statusText = '') return result = `
    ${devicePort} ${deviceIcon} ${nodeData.data.name} + ${networkHardwareIcon}
    @@ -743,11 +748,9 @@ function initTree(myHierarchy) idKey: "mac", hasFlatData: false, relationnalField: "children", - linkWidth: (nodeData) => 3, + linkWidth: (nodeData) => 2, linkColor: (nodeData) => { - relConf = getRelationshipConf(nodeData.data.relType) - return relConf.color; } // onNodeClick: (nodeData) => handleNodeClick(nodeData), @@ -798,8 +801,6 @@ function initTab() } - - // --------------------------------------------------------------------------- function initSelectedNodeHighlighting() { diff --git a/front/pluginsCore.php b/front/pluginsCore.php index 5633d950..5a53eb63 100755 --- a/front/pluginsCore.php +++ b/front/pluginsCore.php @@ -4,12 +4,6 @@ require_once $_SERVER['DOCUMENT_ROOT'] . '/php/templates/security.php'; ?> - - - - - -
    - - From 4e46fcb9e6629a3b2bd7b21ce1194cdbba1887d0 Mon Sep 17 00:00:00 2001 From: Sylvain Pichon Date: Sat, 19 Jul 2025 18:46:08 +0200 Subject: [PATCH 264/667] Translated using Weblate (French) Currently translated at 100.0% (754 of 754 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/fr/ --- front/php/templates/language/fr_fr.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) mode change 100755 => 100644 front/php/templates/language/fr_fr.json diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100755 new mode 100644 index 95d36f91..77fc2178 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -491,7 +491,7 @@ "Navigation_Workflows": "Flux de travail", "Network_Assign": "Se connecter à ce nœud réseau", "Network_Cant_Assign": "Impossible d'assigner le noeud racine Internet comme enfant d'un noeud.", - "Network_Cant_Assign_No_Node_Selected": "", + "Network_Cant_Assign_No_Node_Selected": "Impossible d'assigner, aucun noeud parent sélectionné.", "Network_Configuration_Error": "Erreur de configuration", "Network_Connected": "Appareils connectés", "Network_ManageAdd": "Ajouter un appareil", @@ -528,8 +528,8 @@ "Network_Root": "Noeud racine", "Network_Root_Not_Configured": "Pour commencer la configuration de cet écran, sélectionner un type d'appareil réseau, par exemple une Gateway, dans le champ Type de
    l'appareil racine pour Internet

    Plus d'informations dans le guide Comment configurer votre page Réseau", "Network_Root_Unconfigurable": "Racine non configurable", - "Network_ShowArchived": "", - "Network_ShowOffline": "", + "Network_ShowArchived": "Montrer les archivés", + "Network_ShowOffline": "Montrer les hors ligne", "Network_Table_Hostname": "Nom de hôte", "Network_Table_IP": "IP", "Network_Table_State": "État", @@ -753,4 +753,4 @@ "settings_system_label": "Système", "settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. Il n'y a pas de pas de contrôle.", "test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage." -} \ No newline at end of file +} From a669abd47e45312f909273af6866ef9ea6432d95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Sat, 19 Jul 2025 16:46:55 +0200 Subject: [PATCH 265/667] Translated using Weblate (Ukrainian) Currently translated at 100.0% (754 of 754 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/uk/ --- front/php/templates/language/uk_ua.json | 74 ++++++++++++------------- 1 file changed, 37 insertions(+), 37 deletions(-) mode change 100755 => 100644 front/php/templates/language/uk_ua.json diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100755 new mode 100644 index c4d3c06d..c5a0de51 --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -75,21 +75,21 @@ "DevDetail_EveandAl_AlertAllEvents": "Повідомлення про події", "DevDetail_EveandAl_AlertDown": "Сповіщення вниз", "DevDetail_EveandAl_Archived": "Архівовано", - "DevDetail_EveandAl_NewDevice": "Новий пристрій", + "DevDetail_EveandAl_NewDevice": "Новий пристроїв", "DevDetail_EveandAl_NewDevice_Tooltip": "Відображатиме новий статус для пристрою та включатиме його до списків, коли фільтр нових пристроїв активний. Не впливає на сповіщення.", "DevDetail_EveandAl_RandomMAC": "Випадковий MAC", - "DevDetail_EveandAl_ScanCycle": "скануючий пристрій", + "DevDetail_EveandAl_ScanCycle": "Скануючий пристрій", "DevDetail_EveandAl_ScanCycle_a": "Пристрій сканування", "DevDetail_EveandAl_ScanCycle_z": "Не сканувати пристрій", "DevDetail_EveandAl_Skip": "Пропустити повторні сповіщення для", "DevDetail_EveandAl_Title": "Конфігурація сповіщень", "DevDetail_Events_CheckBox": "Приховати події підключення", "DevDetail_GoToNetworkNode": "Перейдіть на сторінку Мережа даного вузла.", - "DevDetail_Icon": "значок", + "DevDetail_Icon": "Значок", "DevDetail_Icon_Descr": "Введіть чудову назву значка шрифту без префікса fa- або з повним класом, наприклад: fa fa-бренди fa-яблуко.", "DevDetail_Loading": "Завантаження…", "DevDetail_MainInfo_Comments": "Коментарі", - "DevDetail_MainInfo_Favorite": "улюблений", + "DevDetail_MainInfo_Favorite": "Улюблений", "DevDetail_MainInfo_Group": "Група", "DevDetail_MainInfo_Location": "Розташування", "DevDetail_MainInfo_Name": "Ім'я", @@ -136,7 +136,7 @@ "DevDetail_SessionTable_Disconnection": "Відключення", "DevDetail_SessionTable_Duration": "Тривалість", "DevDetail_SessionTable_IP": "IP", - "DevDetail_SessionTable_Order": "порядок", + "DevDetail_SessionTable_Order": "Порядок", "DevDetail_Shortcut_CurrentStatus": "Поточний статус", "DevDetail_Shortcut_DownAlerts": "Сповіщення про падіння", "DevDetail_Shortcut_Presence": "Присутність", @@ -156,7 +156,7 @@ "DevDetail_Tab_NmapTableService": "Сервіс", "DevDetail_Tab_NmapTableState": "Держава", "DevDetail_Tab_NmapTableText": "Налаштуйте розклад у Settings", - "DevDetail_Tab_NmapTableTime": "час", + "DevDetail_Tab_NmapTableTime": "Час", "DevDetail_Tab_Plugins": "Плагіни", "DevDetail_Tab_Presence": "Присутність", "DevDetail_Tab_Sessions": "Сеанси", @@ -193,7 +193,7 @@ "DevDetail_button_OverwriteIcons_Tooltip": "Перезаписати піктограми всіх пристроїв одним типом пристрою", "DevDetail_button_OverwriteIcons_Warning": "Ви впевнені, що бажаєте перезаписати всі піктограми всіх пристроїв тим самим типом пристрою, що й поточний тип пристрою?", "DevDetail_button_Reset": "Скинути зміни", - "DevDetail_button_Save": "зберегти", + "DevDetail_button_Save": "Зберегти", "DeviceEdit_ValidMacIp": "Введіть дійсну адресу Mac та IP.", "Device_MultiEdit": "Мультиредагування", "Device_MultiEdit_Backup": "Обережно, введення неправильних значень нижче призведе до порушення роботи налаштувань. Спочатку створіть резервну копію бази даних або конфігурації пристроїв (натисніть, щоб завантажити ). Прочитайте, як відновити пристрої з цього файлу, у документації щодо резервних копій. Щоб застосувати зміни, натисніть значок Зберегти у кожному полі, яке потрібно оновити.", @@ -215,11 +215,11 @@ "Device_TableHead_Connected_Devices": "Зв'язки", "Device_TableHead_CustomProps": "Реквізит / дії", "Device_TableHead_FQDN": "FQDN", - "Device_TableHead_Favorite": "улюблений", + "Device_TableHead_Favorite": "Улюблений", "Device_TableHead_FirstSession": "Перша сесія", "Device_TableHead_GUID": "GUID", "Device_TableHead_Group": "Група", - "Device_TableHead_Icon": "значок", + "Device_TableHead_Icon": "Значок", "Device_TableHead_LastIP": "Останній IP", "Device_TableHead_LastIPOrder": "Останнє замовлення IP", "Device_TableHead_LastSession": "Останній офлайн", @@ -230,7 +230,7 @@ "Device_TableHead_NetworkSite": "Мережевий сайт", "Device_TableHead_Owner": "Власник", "Device_TableHead_ParentRelType": "Тип зв'язку", - "Device_TableHead_Parent_MAC": "Узел родительской сети", + "Device_TableHead_Parent_MAC": "Батьківський мережевий вузол", "Device_TableHead_Port": "Порт", "Device_TableHead_PresentLastScan": "Присутність", "Device_TableHead_ReqNicsOnline": "Вимагати мережевих карт онлайн", @@ -247,7 +247,7 @@ "Device_Table_nav_next": "Далі", "Device_Table_nav_prev": "Попередній", "Device_Tablelenght": "Показати записи _МЕНЮ_", - "Device_Tablelenght_all": "все", + "Device_Tablelenght_all": "Все", "Device_Title": "Пристрої", "Devices_Filters": "Фільтри", "ENABLE_PLUGINS_description": "Вмикає функції плагінів. Завантаження плагінів вимагає більше апаратних ресурсів, тому ви можете вимкнути їх у системі з низьким енергоспоживанням.", @@ -273,26 +273,26 @@ "Events_TableHead_AdditionalInfo": "Додаткова Інформація", "Events_TableHead_Connection": "Підключення", "Events_TableHead_Date": "Дата", - "Events_TableHead_Device": "пристрій", + "Events_TableHead_Device": "Пристрій", "Events_TableHead_Disconnection": "Відключення", "Events_TableHead_Duration": "Тривалість", "Events_TableHead_DurationOrder": "Порядок тривалості", "Events_TableHead_EventType": "Тип Події", "Events_TableHead_IP": "IP", "Events_TableHead_IPOrder": "Замовлення IP", - "Events_TableHead_Order": "порядок", + "Events_TableHead_Order": "Порядок", "Events_TableHead_Owner": "Власник", "Events_TableHead_PendingAlert": "Сповіщення в очікуванні", "Events_Table_info": "Показано від _START_ до _END_ із _TOTAL_ записів", "Events_Table_nav_next": "Далі", "Events_Table_nav_prev": "Попередній", "Events_Tablelenght": "Показати записи _МЕНЮ_", - "Events_Tablelenght_all": "все", + "Events_Tablelenght_all": "Все", "Events_Title": "Події", "GRAPHQL_PORT_description": "Номер порту сервера GraphQL. Переконайтеся, що порт є унікальним для всіх ваших програм на цьому хості та екземплярах NetAlertX.", "GRAPHQL_PORT_name": "Порт GraphQL", "Gen_Action": "Дія", - "Gen_Add": "додати", + "Gen_Add": "Додати", "Gen_AddDevice": "Додати пристрій", "Gen_Add_All": "Додати все", "Gen_All_Devices": "Усі пристрої", @@ -300,13 +300,13 @@ "Gen_Backup": "Запустіть резервне копіювання", "Gen_Cancel": "Скасувати", "Gen_Change": "Зміна", - "Gen_Copy": "бігти", + "Gen_Copy": "Запустити", "Gen_DataUpdatedUITakesTime": "Добре. Оновлення інтерфейсу може зайняти деякий час, якщо сканування виконується.", "Gen_Delete": "Видалити", "Gen_DeleteAll": "Видалити все", - "Gen_Description": "опис", + "Gen_Description": "Опис", "Gen_Error": "Помилка", - "Gen_Filter": "фільтр", + "Gen_Filter": "Фільтр", "Gen_Generate": "Генерувати", "Gen_LockedDB": "ПОМИЛКА – БД може бути заблоковано – перевірте F12 Інструменти розробника -> Консоль або спробуйте пізніше.", "Gen_Offline": "Офлайн", @@ -319,7 +319,7 @@ "Gen_Reset": "Скинути", "Gen_Restore": "Запустіть Restore", "Gen_Run": "бігти", - "Gen_Save": "зберегти", + "Gen_Save": "Зберегти", "Gen_Saved": "Збережено", "Gen_Search": "Пошук", "Gen_Select": "Виберіть", @@ -329,12 +329,12 @@ "Gen_Switch": "Перемикач", "Gen_Upd": "Оновлено успішно", "Gen_Upd_Fail": "Не вдалося оновити", - "Gen_Update": "оновлення", + "Gen_Update": "Оновлення", "Gen_Update_Value": "Оновити значення", "Gen_ValidIcon": "", - "Gen_Warning": "УВАГА", + "Gen_Warning": "Попередження", "Gen_Work_In_Progress": "Робота триває, час залишити відгук на https://github.com/jokob-sk/NetAlertX/issues", - "Gen_create_new_device": "новий пристрій", + "Gen_create_new_device": "Новий пристрій", "Gen_create_new_device_info": "Пристрої зазвичай виявляють за допомогою плагінів. Однак у деяких випадках може знадобитися додати пристрої вручну. Щоб дослідити конкретні сценарії, перегляньте документацію щодо віддалених мереж.", "General_display_name": "Загальний", "General_icon": "", @@ -357,7 +357,7 @@ "Login_Psw_run": "Щоб змінити пароль, запустіть:", "Login_Remember": "Пам'ятайте", "Login_Remember_small": "(дійсний 7 днів)", - "Login_Submit": "авторизуватися", + "Login_Submit": "Авторизуватися", "Login_Toggle_Alert_headline": "Захист пароля!", "Login_Toggle_Info": "Інформація про пароль", "Login_Toggle_Info_headline": "Інформація про пароль", @@ -473,7 +473,7 @@ "Maintenance_version": "Оновлення програми", "NETWORK_DEVICE_TYPES_description": "Які типи пристроїв дозволено використовувати як мережеві пристрої в поданні мережі. Тип пристрою має точно відповідати налаштуванню Тип на певному пристрої в Деталях пристрою. Додайте його на пристрій за допомогою кнопки +. Не видаляйте існуючі типи, лише додайте нові.", "NETWORK_DEVICE_TYPES_name": "Типи мережевих пристроїв", - "Navigation_About": "про", + "Navigation_About": "Про", "Navigation_AppEvents": "События приложения", "Navigation_Devices": "Пристрої", "Navigation_Donations": "Пожертви", @@ -491,7 +491,7 @@ "Navigation_Workflows": "Робочі процеси", "Network_Assign": "Підключіться до зазначеного вище вузла мережі", "Network_Cant_Assign": "Неможливо призначити кореневий вузол Інтернету як дочірній кінцевий вузол.", - "Network_Cant_Assign_No_Node_Selected": "", + "Network_Cant_Assign_No_Node_Selected": "Неможливо призначити, не вибрано батьківський вузол.", "Network_Configuration_Error": "Помилка конфігурації", "Network_Connected": "Підключені пристрої", "Network_ManageAdd": "Додати пристрій", @@ -514,7 +514,7 @@ "Network_ManageEdit_Name": "Нова назва пристрою", "Network_ManageEdit_Name_text": "Назва без спеціальних символів", "Network_ManageEdit_Port": " Нова кількість портів", - "Network_ManageEdit_Port_text": "залиште порожнім для wifi та powerline", + "Network_ManageEdit_Port_text": "залиште порожнім для Wi-Fi та Powerline", "Network_ManageEdit_Submit": "Зберегти зміни", "Network_ManageEdit_Type": "Новий тип пристрою", "Network_ManageEdit_Type_text": "-- Виберіть тип --", @@ -528,8 +528,8 @@ "Network_Root": "Кореневий вузол", "Network_Root_Not_Configured": "Виберіть тип мережевого пристрою, наприклад Шлюз, у полі Тип кореневого Інтернет-пристрою, щоб розпочати налаштування цього екрана.

    Додаткову документацію можна знайти в Посібник із налаштування сторінки мережі", "Network_Root_Unconfigurable": "Ненастроюваний root", - "Network_ShowArchived": "", - "Network_ShowOffline": "", + "Network_ShowArchived": "Показати архівовані", + "Network_ShowOffline": "Показати офлайн", "Network_Table_Hostname": "Ім'я хоста", "Network_Table_IP": "IP", "Network_Table_State": "Держава", @@ -580,7 +580,7 @@ "REPORT_ERROR": "Сторінка, яку ви шукаєте, тимчасово недоступна, спробуйте ще раз через кілька секунд", "REPORT_MAIL_description": "Якщо ввімкнено, електронною поштою буде надіслано список змін, на які ви підписалися. Будь ласка, також заповніть усі інші налаштування, пов’язані з налаштуванням SMTP нижче. Якщо виникли проблеми, установіть LOG_LEVEL на debug і перевірте журнал помилок.", "REPORT_MAIL_name": "Увімкнути електронну пошту", - "REPORT_TITLE": "звіт", + "REPORT_TITLE": "Звіт", "RandomMAC_hover": "Автоматично визначено – вказує, чи пристрій рандомізує свою MAC-адресу. Ви можете виключити певні MAC-адреси за допомогою параметра UI_NOT_RANDOM_MAC. Натисніть, щоб дізнатися більше.", "Reports_Sent_Log": "Журнал надісланих звітів", "SCAN_SUBNETS_description": "Більшість мережевих сканерів (ARP-SCAN, NMAP, NSLOOKUP, DIG) покладаються на сканування конкретних мережевих інтерфейсів і підмереж. Перегляньте документацію підмереж, щоб отримати допомогу щодо цього налаштування, особливо VLAN, які VLAN підтримуються або як визначити маску мережі та ваш інтерфейс.

    Альтернативою мережевим сканерам є ввімкнення деяких інших сканерів/імпортерів пристроїв, які не покладаються на доступ NetAlertX до мережі (UNIFI, dhcp.leases , PiHole тощо).

    Примітка. Сам час сканування залежить від кількості IP-адрес, які потрібно перевірити, тому ретельно налаштуйте це за допомогою відповідної маски мережі та інтерфейсу.", @@ -597,7 +597,7 @@ "Systeminfo_CPU_Cores": "Ядра ЦП:", "Systeminfo_CPU_Name": "Назва ЦП:", "Systeminfo_CPU_Speed": "Швидкість ЦП:", - "Systeminfo_CPU_Temp": "температура процесора:", + "Systeminfo_CPU_Temp": "Температура ЦП:", "Systeminfo_CPU_Vendor": "Постачальник ЦП:", "Systeminfo_Client_Resolution": "Роздільна здатність браузера:", "Systeminfo_Client_User_Agent": "Агент користувача:", @@ -647,23 +647,23 @@ "Systeminfo_Services_Description": "Опис послуги", "Systeminfo_Services_Name": "Назва служби", "Systeminfo_Storage": "Зберігання", - "Systeminfo_Storage_Device": "пристрій:", + "Systeminfo_Storage_Device": "Пристрій:", "Systeminfo_Storage_Mount": "Точка монтування:", "Systeminfo_Storage_Size": "Розмір:", "Systeminfo_Storage_Type": "Тип:", "Systeminfo_Storage_Usage": "Використання сховища", - "Systeminfo_Storage_Usage_Free": "безкоштовно:", + "Systeminfo_Storage_Usage_Free": "Безкоштовно:", "Systeminfo_Storage_Usage_Mount": "Точка монтування:", "Systeminfo_Storage_Usage_Total": "Всього:", - "Systeminfo_Storage_Usage_Used": "б/в:", - "Systeminfo_System": "система", + "Systeminfo_Storage_Usage_Used": "Використано:", + "Systeminfo_System": "Система", "Systeminfo_System_AVG": "Середнє навантаження:", "Systeminfo_System_Architecture": "Архітектура:", "Systeminfo_System_Kernel": "Ядро:", "Systeminfo_System_OSVersion": "Операційна система:", "Systeminfo_System_Running_Processes": "Запущені процеси:", - "Systeminfo_System_System": "система:", - "Systeminfo_System_Uname": "ім'я:", + "Systeminfo_System_System": "Система:", + "Systeminfo_System_Uname": "Перейменувати:", "Systeminfo_System_Uptime": "Час роботи:", "Systeminfo_This_Client": "Цей клієнт", "Systeminfo_USB_Devices": "USB-пристрої", @@ -753,4 +753,4 @@ "settings_system_label": "Система", "settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. Перевірка не виконана.", "test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни." -} \ No newline at end of file +} From 0444e338ec5a2502131352cb829cdceb7e64cabe Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Mon, 21 Jul 2025 09:15:40 +1000 Subject: [PATCH 266/667] indexes 4 the win --- front/deviceDetailsEdit.php | 6 +- front/network.php | 4 +- front/php/server/devices.php | 142 +++++++++++++++++------------------ server/database.py | 5 +- server/db/db_upgrade.py | 55 ++++++++++++++ 5 files changed, 133 insertions(+), 79 deletions(-) diff --git a/front/deviceDetailsEdit.php b/front/deviceDetailsEdit.php index a3ebf405..fb827894 100755 --- a/front/deviceDetailsEdit.php +++ b/front/deviceDetailsEdit.php @@ -63,7 +63,11 @@ // some race condition, need to implement delay setTimeout(() => { - $.get('php/server/query_json.php', { file: 'table_settings.json', nocache: Date.now() }, function(res) { + $.get('php/server/query_json.php', { + file: 'table_settings.json', + // nocache: Date.now() + }, + function(res) { settingsData = res["data"]; diff --git a/front/network.php b/front/network.php index fd2ab907..9cb2e4c5 100755 --- a/front/network.php +++ b/front/network.php @@ -1,8 +1,6 @@ From 9ada27cf7edf27e43ea47beb54e8640abb02a7f2 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Mon, 21 Jul 2025 17:56:49 +1000 Subject: [PATCH 268/667] sync plugin, plugins UI css fixes --- front/css/app.css | 33 +++++++++++++++- front/plugins/_publisher_mqtt/config.json | 6 +-- front/plugins/icmp_scan/config.json | 2 +- front/plugins/sync/sync.py | 45 +++++++++++----------- front/pluginsCore.php | 47 +++++++++++++++-------- 5 files changed, 88 insertions(+), 45 deletions(-) diff --git a/front/css/app.css b/front/css/app.css index 6fd5a099..d8bef07f 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -885,6 +885,10 @@ height: 50px; margin: 10px; padding: 10px; } +#notifications .notification-box{ + min-height: 90vh; +} + #notificationData textarea{ width: 100%; @@ -1669,6 +1673,10 @@ input[readonly] { } /* AdminLTE overrides */ +.content-wrapper { + min-height: calc(100vh - 31px) !important; +} + #networkTree .box { border-width:1px; @@ -1905,7 +1913,10 @@ input[readonly] { /* PLUGINS page */ /* ----------------------------------------------------------------- */ - +#tabs-location +{ + padding-right: 0px; +} .plugin-filters { @@ -1920,9 +1931,25 @@ input[readonly] { padding-bottom: 0px; } -.plugin-content .left-nav{ +.plugin-content .nav-tabs li a +{ + border-right-width: 0px; +} + +#tabs-content-location-wrap +{ + min-height: 90vh; +} + +#tabs-content-location textarea { width: 100%; +} + +.plugin-content .left-nav{ + width: calc(100%); padding-right: 0px; + z-index: 2; + background-color: inherit !important; } .plugin-content #tabs-content-location @@ -1996,6 +2023,8 @@ input[readonly] { .pluginBadge { float: right; + margin-right: 3px; + opacity: 0.6; } .pluginBadgeWrap diff --git a/front/plugins/_publisher_mqtt/config.json b/front/plugins/_publisher_mqtt/config.json index 77443db6..2f8e2f2b 100755 --- a/front/plugins/_publisher_mqtt/config.json +++ b/front/plugins/_publisher_mqtt/config.json @@ -147,7 +147,7 @@ { "column": "Watched_Value1", "css_classes": "col-sm-3", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], @@ -177,7 +177,7 @@ { "column": "Watched_Value3", "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], @@ -193,7 +193,7 @@ "column": "Watched_Value4", "css_classes": "col-sm-2", "show": true, - "type": "device_mac", + "type": "device_name_mac", "default_value": "", "options": [], "localized": ["name"], diff --git a/front/plugins/icmp_scan/config.json b/front/plugins/icmp_scan/config.json index ef5466c9..02895cf2 100755 --- a/front/plugins/icmp_scan/config.json +++ b/front/plugins/icmp_scan/config.json @@ -311,7 +311,7 @@ "column": "Watched_Value2", "css_classes": "col-sm-2", "show": true, - "type": "label", + "type": "textarea_readonly", "default_value": "", "options": [], "localized": [ diff --git a/front/plugins/sync/sync.py b/front/plugins/sync/sync.py index 61a1459e..00197b37 100755 --- a/front/plugins/sync/sync.py +++ b/front/plugins/sync/sync.py @@ -176,32 +176,31 @@ def main(): # only process received .log files, skipping the one logging the progress of this plugin if file_name != 'last_result.log': mylog('verbose', [f'[{pluginName}] Processing: "{file_name}"']) - - # Store e.g. Node_1 from last_result.encoded.Node_1.1.log - tmp_SyncHubNodeName = '' - if len(file_name.split('.')) > 2: - tmp_SyncHubNodeName = file_name.split('.')[1] - - - file_path = f"{LOG_PATH}/{file_name}" - with open(file_path, 'r') as f: - data = json.load(f) - for device in data['data']: - if device['devMac'] not in unique_mac_addresses: - device['devSyncHubNode'] = tmp_SyncHubNodeName - unique_mac_addresses.add(device['devMac']) - device_data.append(device) - - # Rename the file to "processed_" + current name - new_file_name = f"processed_{file_name}" - new_file_path = os.path.join(LOG_PATH, new_file_name) + # make sure the file has teh correct name (e.g last_result.encoded.Node_1.1.log) to skip any otehr plugin files + if len(file_name.split('.')) > 2: + # Store e.g. Node_1 from last_result.encoded.Node_1.1.log + syncHubNodeName = file_name.split('.')[1] - # Overwrite if the new file already exists - if os.path.exists(new_file_path): - os.remove(new_file_path) + file_path = f"{LOG_PATH}/{file_name}" + + with open(file_path, 'r') as f: + data = json.load(f) + for device in data['data']: + if device['devMac'] not in unique_mac_addresses: + device['devSyncHubNode'] = syncHubNodeName + unique_mac_addresses.add(device['devMac']) + device_data.append(device) + + # Rename the file to "processed_" + current name + new_file_name = f"processed_{file_name}" + new_file_path = os.path.join(LOG_PATH, new_file_name) - os.rename(file_path, new_file_path) + # Overwrite if the new file already exists + if os.path.exists(new_file_path): + os.remove(new_file_path) + + os.rename(file_path, new_file_path) if len(device_data) > 0: # Retrieve existing devMac values from the Devices table diff --git a/front/pluginsCore.php b/front/pluginsCore.php index 5a53eb63..8945ddbe 100755 --- a/front/pluginsCore.php +++ b/front/pluginsCore.php @@ -17,8 +17,10 @@ -
    - +
    +
    + +
    @@ -35,7 +37,14 @@ function initMacFilter() { const mac = urlParams.get('mac'); // Set the MAC in the input field - $("#txtMacFilter").val(mac); + if(mac) + { + $("#txtMacFilter").val(mac); + } + else + { + $("#txtMacFilter").val("--"); + } return mac; } @@ -52,7 +61,6 @@ function initFields() { // - different from what's already displayed if (currentVal != "--" && currentVal !== lastMac) { - // Update the lastMac so we don't reload unnecessarily lastMac = currentVal; @@ -315,16 +323,19 @@ function createTabHeader(pluginObj, stats) { // Determine the active class for the first tab const activeClass = pluginDefinitions.indexOf(pluginObj) === 0 ? 'active' : ''; - // Append the tab header to the tabs location - $('#tabs-location').append(` -
  • - - ${getString(`${prefix}_icon`)} ${getString(`${prefix}_display_name`)} - - - ${stats.objectDataCount > 0 ? `
    ${stats.objectDataCount}
    ` : ""} -
  • - `); + if(stats.objectDataCount > 0) + { + // Append the tab header to the tabs location + $('#tabs-location').append(` +
  • + + ${getString(`${prefix}_icon`)} ${getString(`${prefix}_display_name`)} + + + ${stats.objectDataCount > 0 ? `
    ${stats.objectDataCount}
    ` : ""} +
  • + `); + } } function createTabContent(pluginObj) { @@ -477,9 +488,13 @@ function shouldBeShown(entry, pluginObj) compare_operator = dataFilters[i].compare_operator; compare_js_template = dataFilters[i].compare_js_template; compare_use_quotes = dataFilters[i].compare_use_quotes; - compare_field_id_value = $(`#${compare_field_id}`).val(); + compare_field_id_value = $(`#${compare_field_id}`).val(); + + // console.log(compare_field_id_value); + // console.log(compare_field_id); + - // apply filter i sthe filter field has a valid value + // apply filter if the filter field has a valid value if(compare_field_id_value != undefined && compare_field_id_value != '--') { // valid value From 70443942ffc4dcc7ea92a9bd126603bd07117572 Mon Sep 17 00:00:00 2001 From: Massimo Pissarello Date: Mon, 21 Jul 2025 05:11:51 +0200 Subject: [PATCH 269/667] Translated using Weblate (Italian) Currently translated at 100.0% (754 of 754 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/it/ --- front/php/templates/language/it_it.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) mode change 100755 => 100644 front/php/templates/language/it_it.json diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json old mode 100755 new mode 100644 index b8336552..0f7f0462 --- a/front/php/templates/language/it_it.json +++ b/front/php/templates/language/it_it.json @@ -491,7 +491,7 @@ "Navigation_Workflows": "Workflow", "Network_Assign": "Connetti al nodo di rete sopra", "Network_Cant_Assign": "Impossibile assegnare il nodo Internet root come nodo foglia figlio.", - "Network_Cant_Assign_No_Node_Selected": "", + "Network_Cant_Assign_No_Node_Selected": "Impossibile assegnare, nessun nodo padre selezionato.", "Network_Configuration_Error": "Errore di configurazione", "Network_Connected": "Dispositivi connessi", "Network_ManageAdd": "Aggiungi dispositivo", @@ -528,8 +528,8 @@ "Network_Root": "Nodo radice", "Network_Root_Not_Configured": "Seleziona un tipo di dispositivo di rete, ad esempio un Gateway, nel campo Tipo del dispositivo root Internet per iniziare a configurare questa schermata.

    Ulteriore documentazione è disponibile nella guida Come impostare la tua pagina di rete", "Network_Root_Unconfigurable": "Radice non configurabile", - "Network_ShowArchived": "", - "Network_ShowOffline": "", + "Network_ShowArchived": "Mostra archiviati", + "Network_ShowOffline": "Mostra offline", "Network_Table_Hostname": "Nome host", "Network_Table_IP": "IP", "Network_Table_State": "Stato", @@ -753,4 +753,4 @@ "settings_system_label": "Sistema", "settings_update_item_warning": "Aggiorna il valore qui sotto. Fai attenzione a seguire il formato precedente. La convalida non viene eseguita.", "test_event_tooltip": "Salva le modifiche prima di provare le nuove impostazioni." -} \ No newline at end of file +} From 10a0921e357eeee5d43b8300b106ce25aab45c06 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Wed, 23 Jul 2025 22:25:35 +1000 Subject: [PATCH 270/667] plugins columns cleanup, devDetail cleanup, better icon selector CUSTPROP --- front/css/app.css | 17 ++++++---- front/deviceDetails.php | 2 +- front/deviceDetailsEdit.php | 15 ++------- front/js/settings_utils.js | 3 ++ front/js/ui_components.js | 18 +++++++--- front/network.php | 11 ++++--- front/php/templates/language/ar_ar.json | 1 + front/php/templates/language/ca_ca.json | 1 + front/php/templates/language/cs_cz.json | 1 + front/php/templates/language/de_de.json | 1 + front/php/templates/language/en_us.json | 1 + front/php/templates/language/es_es.json | 1 + front/php/templates/language/fr_fr.json | 3 +- front/php/templates/language/it_it.json | 1 + front/php/templates/language/nb_no.json | 1 + front/php/templates/language/pl_pl.json | 1 + front/php/templates/language/pt_br.json | 1 + front/php/templates/language/ru_ru.json | 1 + front/php/templates/language/tr_tr.json | 1 + front/php/templates/language/uk_ua.json | 3 +- front/php/templates/language/zh_cn.json | 1 + front/plugins/__template/config.json | 2 +- front/plugins/_publisher_apprise/config.json | 2 +- front/plugins/_publisher_email/config.json | 2 +- front/plugins/_publisher_ntfy/config.json | 2 +- front/plugins/_publisher_pushover/config.json | 2 +- .../plugins/_publisher_pushsafer/config.json | 2 +- front/plugins/_publisher_telegram/config.json | 2 +- front/plugins/_publisher_webhook/config.json | 6 ++-- front/plugins/arp_scan/config.json | 2 +- front/plugins/asuswrt_import/config.json | 2 +- front/plugins/avahi_scan/config.json | 2 +- front/plugins/custom_props/config.json | 3 ++ front/plugins/ddns_update/config.json | 2 +- front/plugins/freebox/config.json | 2 +- front/plugins/icmp_scan/config.json | 2 +- front/plugins/internet_ip/config.json | 2 +- front/plugins/ipneigh/config.json | 2 +- front/plugins/luci_import/config.json | 2 +- front/plugins/nbtscan_scan/config.json | 2 +- front/plugins/newdev_template/config.json | 7 ++-- front/plugins/nmap_dev_scan/config.json | 2 +- front/plugins/nslookup_scan/config.json | 2 +- front/plugins/omada_sdn_imp/config.json | 2 +- front/plugins/pihole_scan/config.json | 2 +- front/plugins/snmp_discovery/config.json | 2 +- front/plugins/sync/config.json | 2 +- front/plugins/ui_settings/config.json | 3 +- front/plugins/unifi_import/config.json | 2 +- front/plugins/vendor_update/config.json | 2 +- front/pluginsCore.php | 33 ++++++++++++++----- 51 files changed, 115 insertions(+), 72 deletions(-) mode change 100644 => 100755 front/php/templates/language/fr_fr.json mode change 100644 => 100755 front/php/templates/language/uk_ua.json diff --git a/front/css/app.css b/front/css/app.css index d8bef07f..df98467e 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -1042,7 +1042,7 @@ height: 50px; .myhidden { - display:none; + display:none !important; } .center @@ -1364,6 +1364,7 @@ input[readonly] { .iconPreview { min-width: 40px; + /* display: inherit; */ } .iconPreview svg{ @@ -1469,6 +1470,11 @@ input[readonly] { text-align: left; } +#panDetails .input-group { + + min-height: 40px; +} + #devicePageInfoPlc { display: none; @@ -1547,10 +1553,6 @@ input[readonly] { } /* #panDetails .dataTables_wrapper .bottom .paging_simple_numbers */ -#panDetails #NEWDEV_devIcon -{ - display: none; -} #panDetails #NEWDEV_devCustomProps_label { @@ -2023,8 +2025,9 @@ input[readonly] { .pluginBadge { float: right; - margin-right: 3px; + margin-right: 10px; opacity: 0.6; + margin-top: 4px; } .pluginBadgeWrap @@ -2033,7 +2036,7 @@ input[readonly] { display: ruby; z-index: 1; position: sticky; - margin-top: 1px; + margin-top: 4px; } /* ----------------------------------------------------------------------------- diff --git a/front/deviceDetails.php b/front/deviceDetails.php index cd19221c..e46f9281 100755 --- a/front/deviceDetails.php +++ b/front/deviceDetails.php @@ -447,7 +447,7 @@ async function renderSmallBoxes() { "labelLang": "DevDetail_Shortcut_Presence", "iconId": "deviceEventsIcon", "iconClass": "fa fa-calendar", - "dataValue": `${deviceData.devPresenceHours}h` + "dataValue": `${deviceData.devPresenceHours ?? 0}h` }, { "onclickEvent": "$('#tabEvents').trigger('click');", diff --git a/front/deviceDetailsEdit.php b/front/deviceDetailsEdit.php index fb827894..150d787d 100755 --- a/front/deviceDetailsEdit.php +++ b/front/deviceDetailsEdit.php @@ -126,9 +126,9 @@ // Group for Children. DevDetail_Children_Title: { data: ["devChildrenDynamic"], - docs: "https://github.com/jokob-sk/NetAlertX/blob/main/docs/CUSTOM_PROPERTIES.md", + docs: "https://github.com/jokob-sk/NetAlertX/blob/main/docs/NETWORK_TREE.md", iconClass: "fa fa-list", - inputGroupClasses: "field-group cutprop-group col-lg-12 col-sm-12 col-xs-12", + inputGroupClasses: "field-group cutprop-group col-lg-6 col-sm-12 col-xs-12", labelClasses: "col-sm-12 col-xs-12 control-label", inputClasses: "col-sm-12 col-xs-12 input-group" }, @@ -137,7 +137,7 @@ data: ["devCustomProps"], docs: "https://github.com/jokob-sk/NetAlertX/blob/main/docs/CUSTOM_PROPERTIES.md", iconClass: "fa fa-list", - inputGroupClasses: "field-group cutprop-group col-lg-12 col-sm-12 col-xs-12", + inputGroupClasses: "field-group cutprop-group col-lg-6 col-sm-12 col-xs-12", labelClasses: "col-sm-12 col-xs-12 control-label", inputClasses: "col-sm-12 col-xs-12 input-group" } @@ -212,15 +212,6 @@ `; } - - // handle generate IP for new device - if (setting.setKey == "NEWDEV_devIcon") { - inlineControl += ` - - `; - } // handle devChildrenDynamic or NEWDEV_devChildrenNicsDynamic - selected values and options are the same if ( diff --git a/front/js/settings_utils.js b/front/js/settings_utils.js index 118ed2ba..715af297 100755 --- a/front/js/settings_utils.js +++ b/front/js/settings_utils.js @@ -1198,6 +1198,9 @@ if (eventsList.length > 0) { let eventIcon = "fa-play"; switch (event) { + case "select_icon": + eventIcon = "fa-chevron-down"; + break; case "add_icon": case "add_option": eventIcon = "fa-square-plus"; diff --git a/front/js/ui_components.js b/front/js/ui_components.js index cd7da334..b201606d 100755 --- a/front/js/ui_components.js +++ b/front/js/ui_components.js @@ -323,8 +323,12 @@ function execute_settingEvent(element) { () => addIconAsBase64(element), // Wrap in an arrow function feSourceId // triggered by id ); - } else if (["copy_icons"].includes(feEvent)) { + } else if (["select_icon"].includes(feEvent)) { + showIconSelection(feSetKey) + // myparam-setkey + + } else if (["copy_icons"].includes(feEvent)) { // Ask overwrite icon types showModalWarning ( @@ -449,10 +453,11 @@ function addIconAsBase64 (el) { } +// ----------------------------------------------- +// modal pop up for icon selection +function showIconSelection(setKey) { - -function showIconSelection() { - const selectElement = document.getElementById('NEWDEV_devIcon'); + const selectElement = document.getElementById(setKey); const modalId = 'dynamicIconModal'; // Create modal HTML dynamically @@ -560,7 +565,10 @@ function getColumnNameFromLangString(headStringKey) { "Device_TableHead_SourcePlugin": "devSourcePlugin", "Device_TableHead_PresentLastScan": "devPresentLastScan", "Device_TableHead_AlertDown": "devAlertDown", - "Device_TableHead_CustomProps": "devCustomProps" + "Device_TableHead_CustomProps": "devCustomProps", + "Device_TableHead_FQDN": "devFQDN", + "Device_TableHead_ParentRelType": "devParentRelType", + "Device_TableHead_ReqNicsOnline": "devReqNicsOnline" }; return columnNameMap[headStringKey] || ""; diff --git a/front/network.php b/front/network.php index be171430..78536068 100755 --- a/front/network.php +++ b/front/network.php @@ -167,7 +167,7 @@ const paneHtml = `
    - +
    ${getString('Network_Node')}
    @@ -201,12 +201,13 @@ ${isRootNode ? '' : ``}
    - +
    -
    ${getString('Network_Connected')} -
    + +
    @@ -326,7 +327,7 @@
    -

    ${getString('Network_UnassignedDevices')}

    +
    ${getString('Network_UnassignedDevices')}
    diff --git a/front/php/templates/language/ar_ar.json b/front/php/templates/language/ar_ar.json index 0fcf202e..c01f65d4 100755 --- a/front/php/templates/language/ar_ar.json +++ b/front/php/templates/language/ar_ar.json @@ -726,6 +726,7 @@ "report_select_format": "اختر تنسيق التقرير", "report_time": "وقت التقرير", "run_event_tooltip": "تلميح تشغيل الحدث", + "select_icon_event_tooltip": "", "settings_core_icon": "أيقونة الإعدادات الأساسية", "settings_core_label": "تسمية الإعدادات الأساسية", "settings_device_scanners": "ماسحات الأجهزة", diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json index 27a4ebf0..0149c13c 100755 --- a/front/php/templates/language/ca_ca.json +++ b/front/php/templates/language/ca_ca.json @@ -726,6 +726,7 @@ "report_select_format": "Seleccioneu Format:", "report_time": "Data de recepció:", "run_event_tooltip": "Habiliteu la configuració i deseu els canvis al principi abans d'executar-lo.", + "select_icon_event_tooltip": "", "settings_core_icon": "fa-solid fa-gem", "settings_core_label": "Nucli", "settings_device_scanners": "Escàners de dispositius utilitzats per descobrir dispositius que escriuen a la taula de base de dades CurrentScan.", diff --git a/front/php/templates/language/cs_cz.json b/front/php/templates/language/cs_cz.json index 34a5a9c6..0358d467 100755 --- a/front/php/templates/language/cs_cz.json +++ b/front/php/templates/language/cs_cz.json @@ -726,6 +726,7 @@ "report_select_format": "", "report_time": "", "run_event_tooltip": "", + "select_icon_event_tooltip": "", "settings_core_icon": "", "settings_core_label": "", "settings_device_scanners": "", diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json index 0a7ab0ad..82527434 100755 --- a/front/php/templates/language/de_de.json +++ b/front/php/templates/language/de_de.json @@ -807,6 +807,7 @@ "report_select_format": "Format auswählen:", "report_time": "Benachrichtigungszeit:", "run_event_tooltip": "Aktiviere die Einstellung und speichere deine Änderungen, bevor du sie ausführst.", + "select_icon_event_tooltip": "", "settings_core_icon": "", "settings_core_label": "Kern", "settings_device_scanners": "", diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json index 5c679c9c..5f4830ad 100755 --- a/front/php/templates/language/en_us.json +++ b/front/php/templates/language/en_us.json @@ -726,6 +726,7 @@ "report_select_format": "Select Format:", "report_time": "Notification time:", "run_event_tooltip": "Enable the setting and save your changes at first before you run it.", + "select_icon_event_tooltip": "Select icon", "settings_core_icon": "fa-solid fa-gem", "settings_core_label": "Core", "settings_device_scanners": "Device scanners used to discover devices that write into the CurrentScan database table.", diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json index 48ae02c4..7dd1de4a 100755 --- a/front/php/templates/language/es_es.json +++ b/front/php/templates/language/es_es.json @@ -805,6 +805,7 @@ "report_select_format": "Selecciona el formato:", "report_time": "Hora de la notificación:", "run_event_tooltip": "Activa el ajuste y guarda tus cambios antes de ejecutarlo.", + "select_icon_event_tooltip": "", "settings_core_icon": "fa-solid fa-gem", "settings_core_label": "Núcleo", "settings_device_scanners": "Los escáneres de los dispositivos se utilizan para descubrir dispositivos que escriben en la tabla de base de datos de CurrentScan.", diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100644 new mode 100755 index 77fc2178..e29c84b2 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -726,6 +726,7 @@ "report_select_format": "Sélectionner un format :", "report_time": "Heure de la notification :", "run_event_tooltip": "Activez le paramètre et enregistrez vos changements avant de le lancer.", + "select_icon_event_tooltip": "", "settings_core_icon": "fa-solid fa-gem", "settings_core_label": "Principal", "settings_device_scanners": "Les scanners d'appareils utilisés pour découvrir des appareils, qui écrivent dans la table CurrentScan (scan actuel) de la base de données.", @@ -753,4 +754,4 @@ "settings_system_label": "Système", "settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. Il n'y a pas de pas de contrôle.", "test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage." -} +} \ No newline at end of file diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json index b8336552..683ed006 100755 --- a/front/php/templates/language/it_it.json +++ b/front/php/templates/language/it_it.json @@ -726,6 +726,7 @@ "report_select_format": "Seleziona formato:", "report_time": "Orario notifica:", "run_event_tooltip": "Abilita l'impostazione e salva le modifiche prima di eseguirla.", + "select_icon_event_tooltip": "", "settings_core_icon": "fa-solid fa-gem", "settings_core_label": "Core", "settings_device_scanners": "Scanner dei dispositivi utilizzati per rilevare i dispositivi che scrivono nella tabella del database CurrentScan.", diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json index cc561acb..4956dd51 100755 --- a/front/php/templates/language/nb_no.json +++ b/front/php/templates/language/nb_no.json @@ -726,6 +726,7 @@ "report_select_format": "Velg format:", "report_time": "Notifikasjonstid:", "run_event_tooltip": "Aktiver innstillingen og lagre endringene først før du kjører den.", + "select_icon_event_tooltip": "", "settings_core_icon": "fa-solid fa-gem", "settings_core_label": "Core", "settings_device_scanners": "Enhets-skannere som brukes til å oppdage enheter som skrives inn i CurrentScan databasetabellen.", diff --git a/front/php/templates/language/pl_pl.json b/front/php/templates/language/pl_pl.json index 8a6d931b..609a40da 100755 --- a/front/php/templates/language/pl_pl.json +++ b/front/php/templates/language/pl_pl.json @@ -726,6 +726,7 @@ "report_select_format": "Wybierz format:", "report_time": "Czas powiadomienia:", "run_event_tooltip": "Najpierw włącz to ustawienie i zapisz zmiany, zanim je uruchomisz.", + "select_icon_event_tooltip": "", "settings_core_icon": "fa-solid fa-gem", "settings_core_label": "Główne", "settings_device_scanners": "Skanery urządzeń używane do wykrywania urządzeń, które zapisują dane w tabeli bazy danych CurrentScan.", diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json index 92aa3cb4..36a29d58 100755 --- a/front/php/templates/language/pt_br.json +++ b/front/php/templates/language/pt_br.json @@ -726,6 +726,7 @@ "report_select_format": "", "report_time": "", "run_event_tooltip": "", + "select_icon_event_tooltip": "", "settings_core_icon": "", "settings_core_label": "", "settings_device_scanners": "", diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json index bf48023f..45b83d59 100755 --- a/front/php/templates/language/ru_ru.json +++ b/front/php/templates/language/ru_ru.json @@ -726,6 +726,7 @@ "report_select_format": "Выбрать формат:", "report_time": "Время уведомления:", "run_event_tooltip": "Включите настройку и сначала сохраните изменения, прежде чем запускать ее.", + "select_icon_event_tooltip": "", "settings_core_icon": "fa-solid fa-gem", "settings_core_label": "Основные", "settings_device_scanners": "Сканеры устройств, используемые для обнаружения устройств, записывающих данные в таблицу базы данных CurrentScan.", diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json index f28323c1..85c84cf1 100755 --- a/front/php/templates/language/tr_tr.json +++ b/front/php/templates/language/tr_tr.json @@ -726,6 +726,7 @@ "report_select_format": "", "report_time": "Bildirim zamanı:", "run_event_tooltip": "", + "select_icon_event_tooltip": "", "settings_core_icon": "", "settings_core_label": "", "settings_device_scanners": "", diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100644 new mode 100755 index c5a0de51..260983be --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -726,6 +726,7 @@ "report_select_format": "Виберіть формат:", "report_time": "Час сповіщення:", "run_event_tooltip": "Увімкніть налаштування та збережіть зміни, перш ніж запускати його.", + "select_icon_event_tooltip": "", "settings_core_icon": "фа-твердий фа-самоцвіт", "settings_core_label": "Ядро", "settings_device_scanners": "Сканери пристроїв, які використовуються для виявлення пристроїв, які записують дані в таблицю бази даних CurrentScan.", @@ -753,4 +754,4 @@ "settings_system_label": "Система", "settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. Перевірка не виконана.", "test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни." -} +} \ No newline at end of file diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json index 997b62a3..fc479a91 100755 --- a/front/php/templates/language/zh_cn.json +++ b/front/php/templates/language/zh_cn.json @@ -726,6 +726,7 @@ "report_select_format": "选择格式:", "report_time": "通知时间:", "run_event_tooltip": "在运行之前,请先启用设置并保存更改。", + "select_icon_event_tooltip": "", "settings_core_icon": "", "settings_core_label": "核", "settings_device_scanners": "设备扫描器用于发现写入当前扫描数据库表的设备。", diff --git a/front/plugins/__template/config.json b/front/plugins/__template/config.json index fbc5188b..8eb8dba0 100755 --- a/front/plugins/__template/config.json +++ b/front/plugins/__template/config.json @@ -453,7 +453,7 @@ "value": "Example Plugin" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/_publisher_apprise/config.json b/front/plugins/_publisher_apprise/config.json index 0025b5c1..fb500de2 100755 --- a/front/plugins/_publisher_apprise/config.json +++ b/front/plugins/_publisher_apprise/config.json @@ -134,7 +134,7 @@ }, { "column": "Watched_Value1", - "css_classes": "col-sm-2", + "css_classes": "col-sm-1", "show": true, "type": "eval", "default_value": "", diff --git a/front/plugins/_publisher_email/config.json b/front/plugins/_publisher_email/config.json index 42aff9d3..69fabbbf 100755 --- a/front/plugins/_publisher_email/config.json +++ b/front/plugins/_publisher_email/config.json @@ -134,7 +134,7 @@ }, { "column": "Watched_Value1", - "css_classes": "col-sm-2", + "css_classes": "col-sm-1", "show": true, "type": "eval", "default_value": "", diff --git a/front/plugins/_publisher_ntfy/config.json b/front/plugins/_publisher_ntfy/config.json index 317300cc..7afb93e6 100755 --- a/front/plugins/_publisher_ntfy/config.json +++ b/front/plugins/_publisher_ntfy/config.json @@ -96,7 +96,7 @@ }, { "column": "Watched_Value1", - "css_classes": "col-sm-3", + "css_classes": "col-sm-1", "show": true, "type": "eval", "default_value": "", diff --git a/front/plugins/_publisher_pushover/config.json b/front/plugins/_publisher_pushover/config.json index 4de0c282..7fbc2b2a 100755 --- a/front/plugins/_publisher_pushover/config.json +++ b/front/plugins/_publisher_pushover/config.json @@ -96,7 +96,7 @@ }, { "column": "Watched_Value1", - "css_classes": "col-sm-3", + "css_classes": "col-sm-1", "show": true, "type": "eval", "default_value": "", diff --git a/front/plugins/_publisher_pushsafer/config.json b/front/plugins/_publisher_pushsafer/config.json index 20bfa864..a7826942 100755 --- a/front/plugins/_publisher_pushsafer/config.json +++ b/front/plugins/_publisher_pushsafer/config.json @@ -96,7 +96,7 @@ }, { "column": "Watched_Value1", - "css_classes": "col-sm-3", + "css_classes": "col-sm-1", "show": true, "type": "eval", "default_value": "", diff --git a/front/plugins/_publisher_telegram/config.json b/front/plugins/_publisher_telegram/config.json index 76ba69ea..9b6cbb65 100755 --- a/front/plugins/_publisher_telegram/config.json +++ b/front/plugins/_publisher_telegram/config.json @@ -130,7 +130,7 @@ }, { "column": "Watched_Value1", - "css_classes": "col-sm-2", + "css_classes": "col-sm-1", "show": true, "type": "eval", "default_value": "", diff --git a/front/plugins/_publisher_webhook/config.json b/front/plugins/_publisher_webhook/config.json index aa7fc8c7..1850ed89 100755 --- a/front/plugins/_publisher_webhook/config.json +++ b/front/plugins/_publisher_webhook/config.json @@ -96,7 +96,7 @@ }, { "column": "Watched_Value1", - "css_classes": "col-sm-3", + "css_classes": "col-sm-1", "show": true, "type": "eval", "default_value": "", @@ -116,7 +116,7 @@ }, { "column": "Watched_Value2", - "css_classes": "col-sm-2", + "css_classes": "col-sm-3", "show": true, "type": "textarea_readonly", "default_value": "", @@ -131,7 +131,7 @@ }, { "column": "Watched_Value3", - "css_classes": "col-sm-2", + "css_classes": "col-sm-3", "show": true, "type": "textarea_readonly", "default_value": "", diff --git a/front/plugins/arp_scan/config.json b/front/plugins/arp_scan/config.json index 231c152c..11542ee9 100755 --- a/front/plugins/arp_scan/config.json +++ b/front/plugins/arp_scan/config.json @@ -468,7 +468,7 @@ "value": "ARPSCAN" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/asuswrt_import/config.json b/front/plugins/asuswrt_import/config.json index adc267ca..5d3b3f57 100755 --- a/front/plugins/asuswrt_import/config.json +++ b/front/plugins/asuswrt_import/config.json @@ -492,7 +492,7 @@ "value": "ASUSWRT" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/avahi_scan/config.json b/front/plugins/avahi_scan/config.json index 66c02c91..bb227662 100755 --- a/front/plugins/avahi_scan/config.json +++ b/front/plugins/avahi_scan/config.json @@ -284,7 +284,7 @@ { "column": "Watched_Value1", "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/custom_props/config.json b/front/plugins/custom_props/config.json index 68c78319..5d053f00 100755 --- a/front/plugins/custom_props/config.json +++ b/front/plugins/custom_props/config.json @@ -28,6 +28,9 @@ "settings": [ { "function": "icon", + "events": [ + "select_icon" + ], "type": { "dataType": "array", "elements": [ diff --git a/front/plugins/ddns_update/config.json b/front/plugins/ddns_update/config.json index 3f8463af..4872820e 100755 --- a/front/plugins/ddns_update/config.json +++ b/front/plugins/ddns_update/config.json @@ -607,7 +607,7 @@ "value": "DDNS" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/freebox/config.json b/front/plugins/freebox/config.json index ddc3380a..4287f832 100755 --- a/front/plugins/freebox/config.json +++ b/front/plugins/freebox/config.json @@ -437,7 +437,7 @@ "value": "Freebox" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/icmp_scan/config.json b/front/plugins/icmp_scan/config.json index 02895cf2..abbc47fc 100755 --- a/front/plugins/icmp_scan/config.json +++ b/front/plugins/icmp_scan/config.json @@ -365,7 +365,7 @@ "value": "ICMP" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/internet_ip/config.json b/front/plugins/internet_ip/config.json index 8fb53e09..f81640b8 100755 --- a/front/plugins/internet_ip/config.json +++ b/front/plugins/internet_ip/config.json @@ -548,7 +548,7 @@ "value": "INTRNT" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/ipneigh/config.json b/front/plugins/ipneigh/config.json index f0cb34cc..8e9103ca 100755 --- a/front/plugins/ipneigh/config.json +++ b/front/plugins/ipneigh/config.json @@ -335,7 +335,7 @@ "value": "IPNEIGH" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/luci_import/config.json b/front/plugins/luci_import/config.json index ffb22812..f02b7c4c 100755 --- a/front/plugins/luci_import/config.json +++ b/front/plugins/luci_import/config.json @@ -491,7 +491,7 @@ "value": "LUCIRPC" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/nbtscan_scan/config.json b/front/plugins/nbtscan_scan/config.json index 51fd3a13..dfff76c9 100755 --- a/front/plugins/nbtscan_scan/config.json +++ b/front/plugins/nbtscan_scan/config.json @@ -292,7 +292,7 @@ { "column": "Watched_Value1", "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/newdev_template/config.json b/front/plugins/newdev_template/config.json index 6984ad7b..fbb6f547 100755 --- a/front/plugins/newdev_template/config.json +++ b/front/plugins/newdev_template/config.json @@ -562,7 +562,8 @@ "function": "devIcon", "events": [ "copy_icons", - "add_icon" + "add_icon", + "select_icon" ], "type": { "dataType": "string", @@ -587,7 +588,7 @@ "elementHasInputValue": 1, "elementOptions": [ { - "cssClasses": "iconInputVal" + "cssClasses": "iconInputVal myhidden" }, { "onChange": "updateIconPreview(this)" @@ -1624,7 +1625,7 @@ "elementHasInputValue": 1, "elementOptions": [ { - "cssClasses": "iconInputVal" + "cssClasses": "iconInputVal myhidden" }, { "onChange": "updateIconPreview(this)" diff --git a/front/plugins/nmap_dev_scan/config.json b/front/plugins/nmap_dev_scan/config.json index e229ab6b..2eeb6d9b 100755 --- a/front/plugins/nmap_dev_scan/config.json +++ b/front/plugins/nmap_dev_scan/config.json @@ -508,7 +508,7 @@ "value": "NMAPDEV" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/nslookup_scan/config.json b/front/plugins/nslookup_scan/config.json index bb2c2473..06a93d8c 100755 --- a/front/plugins/nslookup_scan/config.json +++ b/front/plugins/nslookup_scan/config.json @@ -284,7 +284,7 @@ { "column": "Watched_Value1", "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/omada_sdn_imp/config.json b/front/plugins/omada_sdn_imp/config.json index 27da38fc..babd584d 100755 --- a/front/plugins/omada_sdn_imp/config.json +++ b/front/plugins/omada_sdn_imp/config.json @@ -620,7 +620,7 @@ "value": "OMDSDN" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/pihole_scan/config.json b/front/plugins/pihole_scan/config.json index 9360b3ab..5b9f4aaf 100755 --- a/front/plugins/pihole_scan/config.json +++ b/front/plugins/pihole_scan/config.json @@ -426,7 +426,7 @@ "value": "PIHOLE" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/snmp_discovery/config.json b/front/plugins/snmp_discovery/config.json index 9349c02b..6efe1f97 100755 --- a/front/plugins/snmp_discovery/config.json +++ b/front/plugins/snmp_discovery/config.json @@ -279,7 +279,7 @@ "value": "SNMPDSC" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/sync/config.json b/front/plugins/sync/config.json index 10bbe6ce..0f97305c 100755 --- a/front/plugins/sync/config.json +++ b/front/plugins/sync/config.json @@ -587,7 +587,7 @@ "value": "sync" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/plugins/ui_settings/config.json b/front/plugins/ui_settings/config.json index 3ee90937..0db907a1 100755 --- a/front/plugins/ui_settings/config.json +++ b/front/plugins/ui_settings/config.json @@ -456,7 +456,8 @@ "Device_TableHead_SyncHubNodeName", "Device_TableHead_NetworkSite", "Device_TableHead_SSID", - "Device_TableHead_SourcePlugin" + "Device_TableHead_SourcePlugin", + "Device_TableHead_ParentRelType" ], "localized": ["name", "description"], "name": [ diff --git a/front/plugins/unifi_import/config.json b/front/plugins/unifi_import/config.json index e9413083..e0d5e911 100755 --- a/front/plugins/unifi_import/config.json +++ b/front/plugins/unifi_import/config.json @@ -355,7 +355,7 @@ } ], "options": [], - "show": true, + "show": false, "type": "label" }, { diff --git a/front/plugins/vendor_update/config.json b/front/plugins/vendor_update/config.json index bd313cf6..d1868d07 100755 --- a/front/plugins/vendor_update/config.json +++ b/front/plugins/vendor_update/config.json @@ -462,7 +462,7 @@ "value": "VNDRPDT" }, "css_classes": "col-sm-2", - "show": true, + "show": false, "type": "label", "default_value": "", "options": [], diff --git a/front/pluginsCore.php b/front/pluginsCore.php index 8945ddbe..1c273f69 100755 --- a/front/pluginsCore.php +++ b/front/pluginsCore.php @@ -523,12 +523,14 @@ function shouldBeShown(entry, pluginObj) plugPrefix = '' dbTable = '' +// -------------------------------------------------------- function purgeAll(callback) { plugPrefix = arguments[0]; // plugin prefix dbTable = arguments[1]; // DB table - // Ask - showModalWarning('' + ' ' + plugPrefix + ' ' + dbTable , '', - '', '', "purgeAllExecute"); + + // Ask for confirmation + showModalWarning(`${getString('Gen_Purge')} ${plugPrefix} ${dbTable}`, `${getString('Gen_AreYouSure')}`, + `${getString('Gen_Cancel')}`, `${getString('Gen_Okay')}`, "purgeAllExecute"); } // -------------------------------------------------------- @@ -544,22 +546,37 @@ function purgeAllExecute() { } // -------------------------------------------------------- -function deleteListed(plugPrefix, dbTable) { +function deleteListed(plugPrefixArg, dbTableArg) { + plugPrefix = plugPrefixArg; + dbTable = dbTableArg; - idArr = $(`#${plugPrefix} table[data-my-dbtable="${dbTable}"] tr[data-my-index]`).map(function(){return $(this).attr("data-my-index");}).get(); + // Collect selected IDs + idArr = $(`#${plugPrefix} table[data-my-dbtable="${dbTable}"] tr[data-my-index]`) + .map(function() { + return $(this).attr("data-my-index"); + }).get(); - console.log(idArr); + if (idArr.length === 0) { + showModalOk('Nothing to delete', 'No items are selected for deletion.'); + return; + } + // Ask for confirmation + showModalWarning(`${getString('Gen_Purge')} ${plugPrefix} ${dbTable}`, `${getString('Gen_AreYouSure')} (${idArr.length})`, + `${getString('Gen_Cancel')}`, `${getString('Gen_Okay')}`, "deleteListedExecute"); +} + +// -------------------------------------------------------- +function deleteListedExecute() { $.ajax({ method: "POST", url: "php/server/dbHelper.php", data: { action: "delete", dbtable: dbTable, columnName: 'Index', id:idArr.toString() }, success: function(data, textStatus) { updateApi("plugins_objects") - showModalOk ('Result', data ); + showModalOk('Result', data); } }) - } From b08bca5ce49acee4fe886b342982e1ae69ac5c13 Mon Sep 17 00:00:00 2001 From: Fuad <26776550+fuad00@users.noreply.github.com> Date: Wed, 23 Jul 2025 17:59:57 +0300 Subject: [PATCH 271/667] hotfix: invalid volume variable --- docs/DOCKER_COMPOSE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DOCKER_COMPOSE.md b/docs/DOCKER_COMPOSE.md index 37dc42b5..ecde2533 100755 --- a/docs/DOCKER_COMPOSE.md +++ b/docs/DOCKER_COMPOSE.md @@ -69,7 +69,7 @@ services: network_mode: "host" restart: unless-stopped volumes: - - ${APP_DATA_LOCATION}/netalertx/config:/app/config + - ${APP_CONFIG_LOCATION}/netalertx/config:/app/config - ${APP_DATA_LOCATION}/netalertx/db/:/app/db/ # (optional) useful for debugging if you have issues setting up the container - ${LOGS_LOCATION}:/app/log From a111ed929bed22d9a27a88c0d771673519648042 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 24 Jul 2025 12:53:24 +1000 Subject: [PATCH 272/667] nnetwork and link tweaks --- front/css/app.css | 51 ++++- front/css/system-dark-patch.css | 10 +- front/devices.php | 10 +- front/multiEditCore.php | 6 +- front/network.php | 288 ++++++++++++++---------- front/php/templates/language/en_us.json | 2 +- front/php/templates/language/it_it.json | 0 7 files changed, 230 insertions(+), 137 deletions(-) mode change 100644 => 100755 front/php/templates/language/it_it.json diff --git a/front/css/app.css b/front/css/app.css index df98467e..5fed0d7e 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -12,6 +12,7 @@ ----------------------------------------------------------------------------- */ :root { --color-aqua: #00c0ef; + --color-lightblue: #3c8dbc; --color-blue: #0060df; --color-green: #00a65a; --color-yellow: #f39c12; @@ -29,6 +30,45 @@ h5 font-size: medium; } +a[target="_blank"] { + position: relative; + display: inline-block; /* Needed for positioning */ + padding-right: 0.6em; /* Space for the icon */ + } + + a[target="_blank"]::after { + content: '↗'; + position: absolute; + top: 0; + right: 0; + font-size: 0.75em; + line-height: 1; + } + + .select2 .hover-node-info::after { + padding-left: 1px ; + } + + /* .node-standard-device .netNodeText::after + { + right: -7px; + top: 1px; + } */ + +/* .select2-container--default .select2-selection--multiple .select2-selection__choice +{ + padding-right: 15px !important; +} */ + +.hoverHighlight +{ + opacity: 0.7; +} +.hoverHighlight:hover +{ + opacity: 1; +} + /* ----------------------------------------------------------------------------- Helper Classes ----------------------------------------------------------------------------- */ @@ -49,6 +89,7 @@ h5 float: inline-end; } + /* ----------------------------------------------------------------------------- Text Classes ----------------------------------------------------------------------------- */ @@ -480,7 +521,7 @@ body } .bottom-border-primary { - border-bottom-color: #3c8dbc; + border-bottom-color: var(--color-lightblue); border-bottom-style: solid; border-bottom-width: 3px } @@ -1666,7 +1707,7 @@ input[readonly] { #toggleFilters { display: block; - position: absolute; + position: fixed; padding-left: 32px; padding-top: 10px; background-color: inherit; @@ -1813,8 +1854,8 @@ input[readonly] { #networkTree .highlightedNode { /* border: solid; */ - border-color:#3c8dbc; - box-shadow: #3c8dbc 0px 0px 20px; + border-color:var(--color-lightblue); + box-shadow: var(--color-lightblue) 0px 0px 20px; } #networkTree .netStatus-Off-line i, @@ -1843,6 +1884,8 @@ input[readonly] { .networkTable { padding-bottom: 1px; + z-index: 3; + position: relative; } .networkNodeTabHeaders .icon i diff --git a/front/css/system-dark-patch.css b/front/css/system-dark-patch.css index 3468637b..50088f78 100755 --- a/front/css/system-dark-patch.css +++ b/front/css/system-dark-patch.css @@ -651,8 +651,14 @@ border-color: #888888; } .table-hover tbody tr:hover td, .table-hover tbody tr:hover th { - background-color: rgb(189,192,198); - color: #444; + background-color: var(--datatable-bgcolor); + color: var(--fbc-white); + } + + table.dataTable tbody tr.selected, table.dataTable tbody tr .selected + { + background-color: var(--datatable-bgcolor); + color: var(--fbc-white); } .db_info_table_cell:nth-child(1) {background: #272c30} diff --git a/front/devices.php b/front/devices.php index 4d954ead..01e76953 100755 --- a/front/devices.php +++ b/front/devices.php @@ -780,7 +780,9 @@ function initializeDatatable (status) { // console.log(cellData) $(td).html ( - ` + - + data-icon="${rowData[mapIndx(3)]}"> ${cellData} ` @@ -845,7 +845,7 @@ function initializeDatatable (status) { ${cellData} - + diff --git a/front/multiEditCore.php b/front/multiEditCore.php index ca6b7c04..a80992d9 100755 --- a/front/multiEditCore.php +++ b/front/multiEditCore.php @@ -28,9 +28,9 @@
    -
    - - +
    + +
    diff --git a/front/network.php b/front/network.php index 78536068..5d2c59aa 100755 --- a/front/network.php +++ b/front/network.php @@ -170,9 +170,9 @@
    ${getString('Network_Node')}
    - +
    @@ -195,7 +195,7 @@
    ${isRootNode ? '' : ``} - + ${isRootNode ? getString('Network_Root') : getNameByMacAddress(node.parent_mac)} ${isRootNode ? '' : ``} @@ -208,7 +208,7 @@ ${getString('Network_Connected')} -
    +
    `; @@ -239,6 +239,30 @@ const $table = $(`#${tableId}`); const columns = [ + { + title: assignMode ? getString('Network_ManageAssign') : getString('Network_ManageUnassign'), + data: 'devMac', + orderable: false, + width: '5%', + render: function (mac) { + const label = assignMode ? 'assign' : 'unassign'; + const btnClass = assignMode ? 'btn-primary' : 'btn-primary bg-red'; + const btnText = assignMode ? getString('Network_ManageAssign') : getString('Network_ManageUnassign'); + return ``; + } + }, + { + title: getString('Device_TableHead_Name'), + data: 'devName', + width: '15%', + render: function (name, type, device) { + return ` + ${name || '-'} + `; + } + }, { title: getString('Network_Table_State'), data: 'devStatus', @@ -252,16 +276,6 @@ return `${badge.iconHtml} ${badge.status}`; } }, - { - title: getString('Device_TableHead_Name'), - data: 'devName', - width: '15%', - render: function (name, type, device) { - return ` - ${name || '-'} - `; - } - }, { title: 'MAC', data: 'devMac', @@ -277,21 +291,7 @@ title: getString('Device_TableHead_Vendor'), data: 'devVendor', width: '20%' - }, - { - title: assignMode ? getString('Network_ManageAssign') : getString('Network_ManageUnassign'), - data: 'devMac', - orderable: false, - width: '5%', - render: function (mac) { - const label = assignMode ? 'assign' : 'unassign'; - const btnClass = assignMode ? 'btn-primary' : 'btn-primary bg-red'; - const btnText = assignMode ? getString('Network_ManageAssign') : getString('Network_ManageUnassign'); - return ``; - } - } + } ].filter(Boolean); @@ -302,7 +302,10 @@ order: assignMode ? [[2, 'asc']] : [], responsive: true, autoWidth: false, - searching: true + searching: true, + createdRow: function (row, data) { + $(row).attr('data-mac', data.devMac); + } } if ($.fn.DataTable.isDataTable($table)) { @@ -325,7 +328,7 @@ const wrapperHtml = `
    -
    +
    ${getString('Network_UnassignedDevices')}
    @@ -357,7 +360,7 @@ const id = node_mac.replace(/:/g, '_'); const wrapperHtml = ` - +
    `; @@ -375,98 +378,98 @@ // ----------------------------------------------------------- const networkDeviceTypes = getSetting("NETWORK_DEVICE_TYPES").replace("[", "").replace("]", ""); -const showArchived = getCache('showArchived') === "true"; -const showOffline = getCache('showOffline') === "true"; + const showArchived = getCache('showArchived') === "true"; + const showOffline = getCache('showOffline') === "true"; -console.log('showArchived:', showArchived); -console.log('showOffline:', showOffline); + console.log('showArchived:', showArchived); + console.log('showOffline:', showOffline); -// Always get all devices -const rawSql = ` - SELECT *, - CASE - WHEN devAlertDown != 0 AND devPresentLastScan = 0 THEN "Down" - WHEN devPresentLastScan = 1 THEN "On-line" - ELSE "Off-line" - END AS devStatus, - CASE - WHEN devType IN (${networkDeviceTypes}) THEN 1 - ELSE 0 - END AS devIsNetworkNodeDynamic - FROM Devices a -`; + // Always get all devices + const rawSql = ` + SELECT *, + CASE + WHEN devAlertDown != 0 AND devPresentLastScan = 0 THEN "Down" + WHEN devPresentLastScan = 1 THEN "On-line" + ELSE "Off-line" + END AS devStatus, + CASE + WHEN devType IN (${networkDeviceTypes}) THEN 1 + ELSE 0 + END AS devIsNetworkNodeDynamic + FROM Devices a + `; -const apiUrl = `php/server/dbHelper.php?action=read&rawSql=${btoa(encodeURIComponent(rawSql))}`; + const apiUrl = `php/server/dbHelper.php?action=read&rawSql=${btoa(encodeURIComponent(rawSql))}`; -$.get(apiUrl, function (data) { + $.get(apiUrl, function (data) { - console.log(data); - - const parsed = JSON.parse(data); - const allDevices = parsed; + console.log(data); + + const parsed = JSON.parse(data); + const allDevices = parsed; - console.log(allDevices); - + console.log(allDevices); + - if (!allDevices || allDevices.length === 0) { - showModalOK(getString('Gen_Warning'), getString('Network_NoDevices')); - return; - } - - // Count totals for UI - let archivedCount = 0; - let offlineCount = 0; - - allDevices.forEach(device => { - if (parseInt(device.devIsArchived) === 1) archivedCount++; - if (parseInt(device.devPresentLastScan) === 0 && parseInt(device.devIsArchived) === 0) offlineCount++; - }); - - if(archivedCount > 0) - { - $('#showArchivedNumber').text(`(${archivedCount})`); - } - - if(offlineCount > 0) - { - $('#showOfflineNumber').text(`(${offlineCount})`); - } - - // Now apply UI filter based on toggles - const filteredDevices = allDevices.filter(device => { - if (!showArchived && parseInt(device.devIsArchived) === 1) return false; - if (!showOffline && parseInt(device.devPresentLastScan) === 0) return false; - return true; - }); - - // Sort filtered devices - const orderTopologyBy = createArray(getSetting("UI_TOPOLOGY_ORDER")); - const devicesSorted = filteredDevices.sort((a, b) => { - const parsePort = (port) => { - const parsed = parseInt(port, 10); - return isNaN(parsed) ? Infinity : parsed; - }; - - switch (orderTopologyBy[0]) { - case "Name": - const nameCompare = a.devName.localeCompare(b.devName); - return nameCompare !== 0 ? nameCompare : parsePort(a.devParentPort) - parsePort(b.devParentPort); - case "Port": - return parsePort(a.devParentPort) - parsePort(b.devParentPort); - default: - return a.rowid - b.rowid; + if (!allDevices || allDevices.length === 0) { + showModalOK(getString('Gen_Warning'), getString('Network_NoDevices')); + return; } + + // Count totals for UI + let archivedCount = 0; + let offlineCount = 0; + + allDevices.forEach(device => { + if (parseInt(device.devIsArchived) === 1) archivedCount++; + if (parseInt(device.devPresentLastScan) === 0 && parseInt(device.devIsArchived) === 0) offlineCount++; + }); + + if(archivedCount > 0) + { + $('#showArchivedNumber').text(`(${archivedCount})`); + } + + if(offlineCount > 0) + { + $('#showOfflineNumber').text(`(${offlineCount})`); + } + + // Now apply UI filter based on toggles + const filteredDevices = allDevices.filter(device => { + if (!showArchived && parseInt(device.devIsArchived) === 1) return false; + if (!showOffline && parseInt(device.devPresentLastScan) === 0) return false; + return true; + }); + + // Sort filtered devices + const orderTopologyBy = createArray(getSetting("UI_TOPOLOGY_ORDER")); + const devicesSorted = filteredDevices.sort((a, b) => { + const parsePort = (port) => { + const parsed = parseInt(port, 10); + return isNaN(parsed) ? Infinity : parsed; + }; + + switch (orderTopologyBy[0]) { + case "Name": + const nameCompare = a.devName.localeCompare(b.devName); + return nameCompare !== 0 ? nameCompare : parsePort(a.devParentPort) - parsePort(b.devParentPort); + case "Port": + return parsePort(a.devParentPort) - parsePort(b.devParentPort); + default: + return a.rowid - b.rowid; + } + }); + + setCache('devicesListNew', JSON.stringify(devicesSorted)); + deviceListGlobal = devicesSorted; + + // Render filtered result + initTree(getHierarchy()); + loadNetworkNodes(); + attachTreeEvents(); }); - setCache('devicesListNew', JSON.stringify(devicesSorted)); - deviceListGlobal = devicesSorted; - - // Render filtered result - initTree(getHierarchy()); - loadNetworkNodes(); - attachTreeEvents(); -}); - @@ -589,23 +592,63 @@ function attachTreeEvents() // Handle network node click - select correct tab in the bottom table function handleNodeClick(el) { - const targetTabMAC = $(el).attr("data-mytreemacmain"); - // handle network node + isNetworkDevice = $(el).data("devisnetworknodedynamic") == 1; + targetTabMAC = "" + thisDevMac= $(el).data("mac"); + + if (isNetworkDevice == false) + { + targetTabMAC = $(el).data("parentmac"); + } else + { + targetTabMAC = thisDevMac; + } + var targetTab = $(`a[data-mytabmac="${targetTabMAC}"]`); if (targetTab.length) { // Simulate a click event on the target tab targetTab.click(); + + } + + if (isNetworkDevice) { // Smooth scroll to the tab content $('html, body').animate({ scrollTop: targetTab.offset().top - 50 }, 500); // Adjust the duration as needed - } else - { - // handle regular device - open in new tab - goToDevice($(el).data("mac"), true) + } else { + $("tr.selected").removeClass("selected"); + $(`tr[data-mac="${thisDevMac}"]`).addClass("selected"); + + const tableId = "table_leafs_" + targetTabMAC.replace(/:/g, '_'); + const $table = $(`#${tableId}`).DataTable(); + + // Find the row index (in the full data set) that matches + const rowIndex = $table + .rows() + .eq(0) + .filter(function(idx) { + return $table.row(idx).node().getAttribute("data-mac") === thisDevMac; + }); + + if (rowIndex.length > 0) { + // Change to the page where this row is + $table.page(Math.floor(rowIndex[0] / $table.page.len())).draw(false); + + // Delay needed so the row is in the DOM after page draw + setTimeout(() => { + const rowNode = $table.row(rowIndex[0]).node(); + $(rowNode).addClass("selected"); + + // Smooth scroll to the row + $('html, body').animate({ + scrollTop: $(rowNode).offset().top - 50 + }, 500); + }, 0); + } } } @@ -712,7 +755,8 @@ function initTree(myHierarchy) class="node-inner hover-node-info box pointer ${highlightedCss} ${cssNodeType}" style="height:${nodeHeightPx}px;font-size:${nodeHeightPx-5}px;" onclick="handleNodeClick(this)" - data-mytreemacmain="${nodeData.data.mac}" + data-mac="${nodeData.data.mac}" + data-parentMac="${nodeData.data.parentMac}" data-name="${nodeData.data.name}" data-ip="${nodeData.data.ip}" data-mac="${nodeData.data.mac}" @@ -818,7 +862,7 @@ function initSelectedNodeHighlighting() $(selNode).attr('class', $(selNode).attr('class').replace('highlightedNode')) } - newSelNode = $("#networkTree div[data-mytreemacmain='"+currentNodeMac+"']")[0] + newSelNode = $("#networkTree div[data-mac='"+currentNodeMac+"']")[0] console.log(newSelNode) diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json index 5f4830ad..b27ee045 100755 --- a/front/php/templates/language/en_us.json +++ b/front/php/templates/language/en_us.json @@ -107,7 +107,7 @@ "DevDetail_Network_Node_hover": "Select the parent network device the current device is connected to, to populate the Network tree.", "DevDetail_Network_Port_hover": "The port this device is connected to on the parent network device. If left empty a wifi icon is displayed in the Network tree.", "DevDetail_Nmap_Scans": "Manual Nmap Scans", - "DevDetail_Nmap_Scans_desc": "Here you can execute manual NMAP scans. You can also schedule regular automatic NMAP scans via the Services & Ports (NMAP) plugin. Head to Settings to find out more", + "DevDetail_Nmap_Scans_desc": "Here you can execute manual NMAP scans. You can also schedule regular automatic NMAP scans via the Services & Ports (NMAP) plugin. Head to Settings to find out more", "DevDetail_Nmap_buttonDefault": "Default Scan", "DevDetail_Nmap_buttonDefault_text": "Default Scan: Nmap scans the top 1,000 ports for each scan protocol requested. This catches roughly 93% of the TCP ports and 49% of the UDP ports. (about 5 seconds)", "DevDetail_Nmap_buttonDetail": "Detailed Scan", diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json old mode 100644 new mode 100755 From 9bba3c9e5060643d68e3e783b26f48a0c57e3b98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Wed, 23 Jul 2025 22:31:03 +0200 Subject: [PATCH 273/667] Translated using Weblate (Ukrainian) Currently translated at 100.0% (755 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/uk/ --- front/php/templates/language/uk_ua.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) mode change 100755 => 100644 front/php/templates/language/uk_ua.json diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100755 new mode 100644 index 260983be..953b091d --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -726,7 +726,7 @@ "report_select_format": "Виберіть формат:", "report_time": "Час сповіщення:", "run_event_tooltip": "Увімкніть налаштування та збережіть зміни, перш ніж запускати його.", - "select_icon_event_tooltip": "", + "select_icon_event_tooltip": "Виберіть значок", "settings_core_icon": "фа-твердий фа-самоцвіт", "settings_core_label": "Ядро", "settings_device_scanners": "Сканери пристроїв, які використовуються для виявлення пристроїв, які записують дані в таблицю бази даних CurrentScan.", @@ -754,4 +754,4 @@ "settings_system_label": "Система", "settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. Перевірка не виконана.", "test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни." -} \ No newline at end of file +} From 6cb252c0edafc8bd72dee715798b5738d7e1ba32 Mon Sep 17 00:00:00 2001 From: "Norbert (Noschvie)" Date: Thu, 24 Jul 2025 04:54:36 +0200 Subject: [PATCH 274/667] Translated using Weblate (German) Currently translated at 88.8% (671 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/de/ --- front/php/templates/language/de_de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/de_de.json diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json old mode 100755 new mode 100644 index 82527434..567e93d7 --- a/front/php/templates/language/de_de.json +++ b/front/php/templates/language/de_de.json @@ -835,4 +835,4 @@ "settings_system_label": "System", "settings_update_item_warning": "", "test_event_tooltip": "Speichere die Änderungen, bevor Sie die Einstellungen testen." -} \ No newline at end of file +} From 3c68b0151d5f0b8bfa2774b9f79b68e1b6e99efb Mon Sep 17 00:00:00 2001 From: Deleted User Date: Thu, 24 Jul 2025 04:54:37 +0200 Subject: [PATCH 275/667] Translated using Weblate (Spanish) Currently translated at 95.8% (724 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/es/ --- front/php/templates/language/es_es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/es_es.json diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json old mode 100755 new mode 100644 index 7dd1de4a..c6f7ff73 --- a/front/php/templates/language/es_es.json +++ b/front/php/templates/language/es_es.json @@ -833,4 +833,4 @@ "settings_system_label": "Sistema", "settings_update_item_warning": "Actualice el valor a continuación. Tenga cuidado de seguir el formato anterior. O la validación no se realiza.", "test_event_tooltip": "Guarda tus cambios antes de probar nuevos ajustes." -} \ No newline at end of file +} From 8c708f2c9637f623876c43d1d3de4dd0ea12dfcd Mon Sep 17 00:00:00 2001 From: Sylvain Pichon Date: Thu, 24 Jul 2025 04:54:38 +0200 Subject: [PATCH 276/667] Translated using Weblate (French) Currently translated at 99.7% (753 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/fr/ --- front/php/templates/language/fr_fr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/fr_fr.json diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100755 new mode 100644 index e29c84b2..117b2ac0 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -754,4 +754,4 @@ "settings_system_label": "Système", "settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. Il n'y a pas de pas de contrôle.", "test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage." -} \ No newline at end of file +} From 774078df9c44c78919a5aaabad262c34cc5c9732 Mon Sep 17 00:00:00 2001 From: Marcus Isdahl Date: Thu, 24 Jul 2025 04:54:39 +0200 Subject: [PATCH 277/667] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 79.8% (603 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/nb_NO/ --- front/php/templates/language/nb_no.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/nb_no.json diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json old mode 100755 new mode 100644 index 4956dd51..b60cbded --- a/front/php/templates/language/nb_no.json +++ b/front/php/templates/language/nb_no.json @@ -754,4 +754,4 @@ "settings_system_label": "System", "settings_update_item_warning": "Oppdater verdien nedenfor. Pass på å følge forrige format. Validering etterpå utføres ikke.", "test_event_tooltip": "Lagre endringene først, før du tester innstillingene dine." -} \ No newline at end of file +} From d1d49572e206bd2fbf9d4b6c418d493b5b509ed1 Mon Sep 17 00:00:00 2001 From: Safeguard Date: Thu, 24 Jul 2025 04:54:40 +0200 Subject: [PATCH 278/667] Translated using Weblate (Russian) Currently translated at 98.5% (744 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ru/ --- front/php/templates/language/ru_ru.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/ru_ru.json diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json old mode 100755 new mode 100644 index 45b83d59..736f8edd --- a/front/php/templates/language/ru_ru.json +++ b/front/php/templates/language/ru_ru.json @@ -754,4 +754,4 @@ "settings_system_label": "Система", "settings_update_item_warning": "Обновить значение ниже. Будьте осторожны, следуя предыдущему формату. Проверка не выполняется.", "test_event_tooltip": "Сначала сохраните изменения, прежде чем проверять настройки." -} \ No newline at end of file +} From b0e079aeb28b6126bea71b8f0645b8d079f54706 Mon Sep 17 00:00:00 2001 From: Massimo Pissarello Date: Thu, 24 Jul 2025 04:54:38 +0200 Subject: [PATCH 279/667] Translated using Weblate (Italian) Currently translated at 99.7% (753 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/it/ --- front/php/templates/language/it_it.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/it_it.json diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json old mode 100755 new mode 100644 From dd6ccf830c448dbf758f78c88588a72c94373f94 Mon Sep 17 00:00:00 2001 From: GoldBull3t Date: Thu, 24 Jul 2025 04:54:39 +0200 Subject: [PATCH 280/667] Translated using Weblate (Portuguese (Brazil)) Currently translated at 57.0% (431 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/pt_BR/ --- front/php/templates/language/pt_br.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/pt_br.json diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json old mode 100755 new mode 100644 index 36a29d58..c1ee8b74 --- a/front/php/templates/language/pt_br.json +++ b/front/php/templates/language/pt_br.json @@ -754,4 +754,4 @@ "settings_system_label": "", "settings_update_item_warning": "", "test_event_tooltip": "Guarde as alterações antes de testar as definições." -} \ No newline at end of file +} From 771db9fa0e462bf6910be80d7a9d8b3974ae318c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Sta=C5=84czyk?= Date: Thu, 24 Jul 2025 04:54:39 +0200 Subject: [PATCH 281/667] Translated using Weblate (Polish) Currently translated at 98.5% (744 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/pl/ --- front/php/templates/language/pl_pl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/pl_pl.json diff --git a/front/php/templates/language/pl_pl.json b/front/php/templates/language/pl_pl.json old mode 100755 new mode 100644 index 609a40da..064e7d4c --- a/front/php/templates/language/pl_pl.json +++ b/front/php/templates/language/pl_pl.json @@ -754,4 +754,4 @@ "settings_system_label": "System", "settings_update_item_warning": "Zaktualizuj wartość poniżej. Uważaj, aby zachować poprzedni format. Walidacja nie jest wykonywana.", "test_event_tooltip": "Najpierw zapisz swoje zmiany, zanim przetestujesz ustawienia." -} \ No newline at end of file +} From c41fbab8ee5fa7a35f3c3950355a8d4673433f13 Mon Sep 17 00:00:00 2001 From: Ptsa Daniel Date: Thu, 24 Jul 2025 04:54:42 +0200 Subject: [PATCH 282/667] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 81.1% (613 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/zh_Hans/ --- front/php/templates/language/zh_cn.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/zh_cn.json diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json old mode 100755 new mode 100644 index fc479a91..dded1256 --- a/front/php/templates/language/zh_cn.json +++ b/front/php/templates/language/zh_cn.json @@ -754,4 +754,4 @@ "settings_system_label": "系统", "settings_update_item_warning": "更新下面的值。请注意遵循先前的格式。未执行验证。", "test_event_tooltip": "在测试设置之前,请先保存更改。" -} \ No newline at end of file +} From b00dbd560fa48e46af82b41a154975dde7ebfa79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bekir=20Kayra=20=C3=87i=C4=9Fdem?= Date: Thu, 24 Jul 2025 04:54:41 +0200 Subject: [PATCH 283/667] Translated using Weblate (Turkish) Currently translated at 65.6% (496 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/tr/ --- front/php/templates/language/tr_tr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/tr_tr.json diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json old mode 100755 new mode 100644 index 85c84cf1..038b84a5 --- a/front/php/templates/language/tr_tr.json +++ b/front/php/templates/language/tr_tr.json @@ -754,4 +754,4 @@ "settings_system_label": "Sistem", "settings_update_item_warning": "", "test_event_tooltip": "" -} \ No newline at end of file +} From 97567ad4726863938650872d072d5a950c167143 Mon Sep 17 00:00:00 2001 From: HAMAD ABDULLA Date: Thu, 24 Jul 2025 04:54:35 +0200 Subject: [PATCH 284/667] Translated using Weblate (Arabic) Currently translated at 96.9% (732 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ar/ --- front/php/templates/language/ar_ar.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/ar_ar.json diff --git a/front/php/templates/language/ar_ar.json b/front/php/templates/language/ar_ar.json old mode 100755 new mode 100644 index c01f65d4..825d8f75 --- a/front/php/templates/language/ar_ar.json +++ b/front/php/templates/language/ar_ar.json @@ -754,4 +754,4 @@ "settings_system_label": "تسمية النظام", "settings_update_item_warning": "تحذير تحديث العنصر", "test_event_tooltip": "تلميح اختبار الحدث" -} \ No newline at end of file +} From b4916cd3b6b7f63f2ec1298d39d908b029172750 Mon Sep 17 00:00:00 2001 From: anton garcias Date: Thu, 24 Jul 2025 04:54:35 +0200 Subject: [PATCH 285/667] Translated using Weblate (Catalan) Currently translated at 96.9% (732 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ca/ --- front/php/templates/language/ca_ca.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/ca_ca.json diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json old mode 100755 new mode 100644 index 0149c13c..a8425fe8 --- a/front/php/templates/language/ca_ca.json +++ b/front/php/templates/language/ca_ca.json @@ -754,4 +754,4 @@ "settings_system_label": "Sistema", "settings_update_item_warning": "Actualitza el valor sota. Sigues curós de seguir el format anterior. No hi ha validació.", "test_event_tooltip": "Deseu els canvis primer abans de comprovar la configuració." -} \ No newline at end of file +} From 89864f7070d2062b6b42be0cf6bbd0f48c749d17 Mon Sep 17 00:00:00 2001 From: Sylvain Pichon Date: Thu, 24 Jul 2025 08:26:09 +0200 Subject: [PATCH 286/667] Translated using Weblate (French) Currently translated at 100.0% (755 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/fr/ --- front/php/templates/language/fr_fr.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json index 117b2ac0..1c332fd0 100644 --- a/front/php/templates/language/fr_fr.json +++ b/front/php/templates/language/fr_fr.json @@ -107,7 +107,7 @@ "DevDetail_Network_Node_hover": "Sélectionner l'appareil du réseau principal auquel cet appareil est connecté afin de compléter l'arborescence du Réseau.", "DevDetail_Network_Port_hover": "Le port auquel cet appareil est connecté sur l'appareil du réseau principal. Si vide, une icône Wifi est affichée dans l'arborescence du Réseau.", "DevDetail_Nmap_Scans": "Scans manuels via Nmap", - "DevDetail_Nmap_Scans_desc": "Vous pouvez lancer des scans NMAP manuels. Vous pouvez aussi programmer des sans réguliers via le plugin Services & Ports (NMAP). Aller dans les Paramètres pour plus de details", + "DevDetail_Nmap_Scans_desc": "Vous pouvez lancer des scans NMAP manuels. Vous pouvez aussi programmer des sans réguliers via le plugin Services & Ports (NMAP). Aller dans les Paramètres pour plus de details", "DevDetail_Nmap_buttonDefault": "Scan par défaut", "DevDetail_Nmap_buttonDefault_text": "Scan par défaut : NMAP scanne les 1 000 premiers ports pour chaque demande de scan de protocole. Cela couvre environ 93% des ports TCP et 49% des ports UDP (environ 5 secondes)", "DevDetail_Nmap_buttonDetail": "Scan détaillé", @@ -726,7 +726,7 @@ "report_select_format": "Sélectionner un format :", "report_time": "Heure de la notification :", "run_event_tooltip": "Activez le paramètre et enregistrez vos changements avant de le lancer.", - "select_icon_event_tooltip": "", + "select_icon_event_tooltip": "Sélectionner l'icône", "settings_core_icon": "fa-solid fa-gem", "settings_core_label": "Principal", "settings_device_scanners": "Les scanners d'appareils utilisés pour découvrir des appareils, qui écrivent dans la table CurrentScan (scan actuel) de la base de données.", From 54c7c820b81e3edc66d6ee0990d50afebf627b2b Mon Sep 17 00:00:00 2001 From: Massimo Pissarello Date: Thu, 24 Jul 2025 11:17:02 +0200 Subject: [PATCH 287/667] Translated using Weblate (Italian) Currently translated at 100.0% (755 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/it/ --- front/php/templates/language/it_it.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json index 1934b021..7c13f34f 100644 --- a/front/php/templates/language/it_it.json +++ b/front/php/templates/language/it_it.json @@ -107,7 +107,7 @@ "DevDetail_Network_Node_hover": "Seleziona il dispositivo di rete principale a cui è connesso il dispositivo corrente per popolare la struttura di rete.", "DevDetail_Network_Port_hover": "La porta a cui è connesso questo dispositivo sul dispositivo di rete principale. Se lasciato vuoto, verrà visualizzata un'icona Wi-Fi nella struttura di rete.", "DevDetail_Nmap_Scans": "Scansioni Nmap manuali", - "DevDetail_Nmap_Scans_desc": "Qui puoi eseguire scansioni manuali NMAP. Puoi anche pianificare scansioni automatiche NMAP attraverso il plugin Servizi e porte (NMAP). Vai alle Impostazioni per scoprire di più", + "DevDetail_Nmap_Scans_desc": "Qui puoi eseguire scansioni manuali NMAP. Puoi anche pianificare scansioni automatiche NMAP attraverso il plugin Servizi e porte (NMAP). Vai alle Impostazioni per scoprire di più", "DevDetail_Nmap_buttonDefault": "Scansione predefinita", "DevDetail_Nmap_buttonDefault_text": "Scansione predefinita: Nmap scansiona 1000 porte per ogni protocollo richiesto. Questo dovrebbe coprire circa il 93% delle porte TCP e il 49% delle porte UDP (circa 5 secondi)", "DevDetail_Nmap_buttonDetail": "Scansione dettagliata", @@ -726,7 +726,7 @@ "report_select_format": "Seleziona formato:", "report_time": "Orario notifica:", "run_event_tooltip": "Abilita l'impostazione e salva le modifiche prima di eseguirla.", - "select_icon_event_tooltip": "", + "select_icon_event_tooltip": "Seleziona icona", "settings_core_icon": "fa-solid fa-gem", "settings_core_label": "Core", "settings_device_scanners": "Scanner dei dispositivi utilizzati per rilevare i dispositivi che scrivono nella tabella del database CurrentScan.", From 415f589716909ec0ad17b170e2284bec1e90ea2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Thu, 24 Jul 2025 06:27:20 +0200 Subject: [PATCH 288/667] Translated using Weblate (Ukrainian) Currently translated at 100.0% (755 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/uk/ --- front/php/templates/language/uk_ua.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json index 953b091d..605e9283 100644 --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -107,7 +107,7 @@ "DevDetail_Network_Node_hover": "Виберіть батьківський мережевий пристрій, до якого підключено поточний пристрій, щоб заповнити дерево мережі.", "DevDetail_Network_Port_hover": "Порт, до якого підключено цей пристрій на батьківському мережевому пристрої. Якщо залишити пустим, у дереві мережі відобразиться значок Wi-Fi.", "DevDetail_Nmap_Scans": "Сканування Nmap вручну", - "DevDetail_Nmap_Scans_desc": "Тут ви можете виконувати сканування NMAP вручну. Ви також можете запланувати регулярне автоматичне сканування NMAP за допомогою плагіна Services & Ports (NMAP). Перейдіть до Налаштувань, щоб дізнатися більше", + "DevDetail_Nmap_Scans_desc": "Тут ви можете виконувати ручне сканування NMAP. Ви також можете запланувати регулярне автоматичне сканування NMAP за допомогою плагіна «Служби та порти» (NMAP). Щоб дізнатися більше, перейдіть до розділу Налаштування", "DevDetail_Nmap_buttonDefault": "Сканування за замовчуванням", "DevDetail_Nmap_buttonDefault_text": "Сканування за замовчуванням: Nmap сканує 1000 найпопулярніших портів для кожного запитуваного протоколу сканування. Це перехоплює приблизно 93% портів TCP і 49% портів UDP. (приблизно 5 секунд)", "DevDetail_Nmap_buttonDetail": "Детальне сканування", From 618bafa51475f31e02d10232150796cbf9155a6c Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 24 Jul 2025 21:05:33 +1000 Subject: [PATCH 289/667] miss match work #1119 --- docs/PLUGINS.md | 89 ++++++++++++----------- front/css/app.css | 4 ++ front/network.php | 96 +++++++++++++++++++++---- front/php/templates/language/en_us.json | 2 +- server/scan/session_events.py | 65 ++++++++++------- 5 files changed, 171 insertions(+), 85 deletions(-) diff --git a/docs/PLUGINS.md b/docs/PLUGINS.md index c4f8bd97..dfa52ac0 100755 --- a/docs/PLUGINS.md +++ b/docs/PLUGINS.md @@ -43,51 +43,50 @@ NetAlertX supports additional plugins to extend its functionality, each with its Device-detecting plugins insert values into the `CurrentScan` database table. The plugins that are not required are safe to ignore, however, it makes sense to have at least some device-detecting plugins enabled, such as `ARPSCAN` or `NMAPDEV`. - -| ID | Type | Description | Features | Required | Data source | Detailed docs | -|---------------|---------|--------------------------------------------|----------|----------|--------------|---------------------------------------------------------------------| -| `APPRISE` | ▶️ | Apprise notification proxy | | | Script | [_publisher_apprise](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_apprise/) | -| `ARPSCAN` | 🔍 | ARP-scan on current network | | | Script | [arp_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/arp_scan/) | -| `AVAHISCAN` | 🆎 | Avahi (mDNS-based) name resolution | | | Script | [avahi_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/avahi_scan/) | -| `ASUSWRT` | 🔍 | Import connected devices from AsusWRT | | | Script | [asuswrt_import](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/asuswrt_import/) | -| `CSVBCKP` | ⚙ | CSV devices backup | | | Script | [csv_backup](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/csv_backup/) | -| `CUSTPROP` | ⚙ | Managing custom device properties values | | Yes | Template | [custom_props](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/custom_props/) | -| `DBCLNP` | ⚙ | Database cleanup | | Yes* | Script | [db_cleanup](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/db_cleanup/) | -| `DDNS` | ⚙ | DDNS update | | | Script | [ddns_update](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/ddns_update/) | -| `DHCPLSS` | 🔍/📥/🆎| Import devices from DHCP leases | | | Script | [dhcp_leases](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dhcp_leases/) | -| `DHCPSRVS` | ♻ | DHCP servers | | | Script | [dhcp_servers](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dhcp_servers/) | -| `DIGSCAN` | 🆎 | Dig (DNS) Name resolution | | | Script | [dig_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dig_scan/) | -| `FREEBOX` | 🔍/♻/🆎| Pull data and names from Freebox/Iliadbox | | | Script | [freebox](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/freebox/) | -| `ICMP` | ♻ | ICMP (ping) status checker | | | Script | [icmp_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/icmp_scan/) | -| `INTRNT` | 🔍 | Internet IP scanner | | | Script | [internet_ip](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/internet_ip/) | -| `INTRSPD` | ♻ | Internet speed test | | | Script | [internet_speedtest](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/internet_speedtest/) | -| `IPNEIGH` | 🔍 | Scan ARP (IPv4) and NDP (IPv6) tables | | | Script | [ipneigh](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/ipneigh/) | -| `LUCIRPC` | 🔍 | Import connected devices from OpenWRT | | | Script | [luci_import](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/luci_import/) | -| `MAINT` | ⚙ | Maintenance of logs, etc. | | | Script | [maintenance](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/maintenance/) | -| `MQTT` | ▶️ | MQTT for synching to Home Assistant | | | Script | [_publisher_mqtt](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_mqtt/) | -| `NBTSCAN` | 🆎 | Nbtscan (NetBIOS-based) name resolution | | | Script | [nbtscan_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/nbtscan_scan/) | -| `NEWDEV` | ⚙ | New device template | | Yes | Template | [newdev_template](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/newdev_template/) | -| `NMAP` | ♻ | Nmap port scanning & discovery | | | Script | [nmap_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/nmap_scan/) | -| `NMAPDEV` | 🔍 | Nmap dev scan on current network | | | Script | [nmap_dev_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/nmap_dev_scan/) | -| `NSLOOKUP` | 🆎 | NSLookup (DNS-based) name resolution | | | Script | [nslookup_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/nslookup_scan/) | -| `NTFPRCS` | ⚙ | Notification processing | | Yes | Template | [notification_processing](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/notification_processing/)| -| `NTFY` | ▶️ | NTFY notifications | | | Script | [_publisher_ntfy](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_ntfy/) | -| `OMDSDN` | 📥/🆎 ❌ | UNMAINTAINED use `OMDSDNOPENAPI` | 🖧 🔄 | | Script | [omada_sdn_imp](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/omada_sdn_imp/) | -| `OMDSDNOPENAPI`| 📥/🆎 | OMADA TP-Link import via OpenAPI | 🖧 | | Script | [omada_sdn_openapi](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/omada_sdn_openapi/) | -| `PIHOLE` | 🔍/🆎/📥| Pi-hole device import & sync | | | SQLite DB | [pihole_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/pihole_scan/) | -| `PUSHSAFER` | ▶️ | Pushsafer notifications | | | Script | [_publisher_pushsafer](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_pushsafer/) | -| `PUSHOVER` | ▶️ | Pushover notifications | | | Script | [_publisher_pushover](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_pushover/) | -| `SETPWD` | ⚙ | Set password | | Yes | Template | [set_password](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/set_password/) | -| `SMTP` | ▶️ | Email notifications | | | Script | [_publisher_email](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_email/) | -| `SNMPDSC` | 🔍/📥 | SNMP device import & sync | | | Script | [snmp_discovery](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/snmp_discovery/) | -| `SYNC` | 🔍/⚙/📥| Sync & import from NetAlertX instances | 🖧 🔄 | Yes | Script | [sync](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/sync/) | -| `TELEGRAM` | ▶️ | Telegram notifications | | | Script | [_publisher_telegram](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_telegram/) | -| `UI` | ♻ | UI specific settings | | Yes | Template | [ui_settings](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/ui_settings/) | -| `UNFIMP` | 🔍/📥/🆎| UniFi device import & sync | 🖧 | | Script | [unifi_import](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/unifi_import/) | -| `VNDRPDT` | ⚙ | Vendor database update | | | Script | [vendor_update](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/vendor_update/) | -| `WEBHOOK` | ▶️ | Webhook notifications | | | Script | [_publisher_webhook](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_webhook/) | -| `WEBMON` | ♻ | Website down monitoring | | | Script | [website_monitor](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/website_monitor/) | -| `WOL` | ♻ | Automatic wake-on-lan | | | Script | [wake_on_lan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/wake_on_lan/) | +| ID | Plugin docs | Type | Description | Features | Required | +| --------------- | ------------------------------------------------------------------------------------------------------------------ | -------- | ----------------------------------------- | -------- | -------- | +| `APPRISE` | [_publisher_apprise](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_apprise/) | ▶️ | Apprise notification proxy | | | +| `ARPSCAN` | [arp_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/arp_scan/) | 🔍 | ARP-scan on current network | | | +| `AVAHISCAN` | [avahi_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/avahi_scan/) | 🆎 | Avahi (mDNS-based) name resolution | | | +| `ASUSWRT` | [asuswrt_import](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/asuswrt_import/) | 🔍 | Import connected devices from AsusWRT | | | +| `CSVBCKP` | [csv_backup](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/csv_backup/) | ⚙ | CSV devices backup | | | +| `CUSTPROP` | [custom_props](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/custom_props/) | ⚙ | Managing custom device properties values | | Yes | +| `DBCLNP` | [db_cleanup](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/db_cleanup/) | ⚙ | Database cleanup | | Yes\* | +| `DDNS` | [ddns_update](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/ddns_update/) | ⚙ | DDNS update | | | +| `DHCPLSS` | [dhcp_leases](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dhcp_leases/) | 🔍/📥/🆎 | Import devices from DHCP leases | | | +| `DHCPSRVS` | [dhcp_servers](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dhcp_servers/) | ♻ | DHCP servers | | | +| `DIGSCAN` | [dig_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/dig_scan/) | 🆎 | Dig (DNS) Name resolution | | | +| `FREEBOX` | [freebox](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/freebox/) | 🔍/♻/🆎 | Pull data and names from Freebox/Iliadbox | | | +| `ICMP` | [icmp_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/icmp_scan/) | ♻ | ICMP (ping) status checker | | | +| `INTRNT` | [internet_ip](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/internet_ip/) | 🔍 | Internet IP scanner | | | +| `INTRSPD` | [internet_speedtest](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/internet_speedtest/) | ♻ | Internet speed test | | | +| `IPNEIGH` | [ipneigh](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/ipneigh/) | 🔍 | Scan ARP (IPv4) and NDP (IPv6) tables | | | +| `LUCIRPC` | [luci_import](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/luci_import/) | 🔍 | Import connected devices from OpenWRT | | | +| `MAINT` | [maintenance](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/maintenance/) | ⚙ | Maintenance of logs, etc. | | | +| `MQTT` | [_publisher_mqtt](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_mqtt/) | ▶️ | MQTT for synching to Home Assistant | | | +| `NBTSCAN` | [nbtscan_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/nbtscan_scan/) | 🆎 | Nbtscan (NetBIOS-based) name resolution | | | +| `NEWDEV` | [newdev_template](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/newdev_template/) | ⚙ | New device template | | Yes | +| `NMAP` | [nmap_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/nmap_scan/) | ♻ | Nmap port scanning & discovery | | | +| `NMAPDEV` | [nmap_dev_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/nmap_dev_scan/) | 🔍 | Nmap dev scan on current network | | | +| `NSLOOKUP` | [nslookup_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/nslookup_scan/) | 🆎 | NSLookup (DNS-based) name resolution | | | +| `NTFPRCS` | [notification_processing](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/notification_processing/) | ⚙ | Notification processing | | Yes | +| `NTFY` | [_publisher_ntfy](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_ntfy/) | ▶️ | NTFY notifications | | | +| `OMDSDN` | [omada_sdn_imp](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/omada_sdn_imp/) | 📥/🆎 ❌ | UNMAINTAINED use `OMDSDNOPENAPI` | 🖧 🔄 | | +| `OMDSDNOPENAPI` | [omada_sdn_openapi](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/omada_sdn_openapi/) | 📥/🆎 | OMADA TP-Link import via OpenAPI | 🖧 | | +| `PIHOLE` | [pihole_scan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/pihole_scan/) | 🔍/🆎/📥 | Pi-hole device import & sync | | | +| `PUSHSAFER` | [_publisher_pushsafer](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_pushsafer/) | ▶️ | Pushsafer notifications | | | +| `PUSHOVER` | [_publisher_pushover](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_pushover/) | ▶️ | Pushover notifications | | | +| `SETPWD` | [set_password](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/set_password/) | ⚙ | Set password | | Yes | +| `SMTP` | [_publisher_email](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_email/) | ▶️ | Email notifications | | | +| `SNMPDSC` | [snmp_discovery](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/snmp_discovery/) | 🔍/📥 | SNMP device import & sync | | | +| `SYNC` | [sync](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/sync/) | 🔍/⚙/📥 | Sync & import from NetAlertX instances | 🖧 🔄 | Yes | +| `TELEGRAM` | [_publisher_telegram](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_telegram/) | ▶️ | Telegram notifications | | | +| `UI` | [ui_settings](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/ui_settings/) | ♻ | UI specific settings | | Yes | +| `UNFIMP` | [unifi_import](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/unifi_import/) | 🔍/📥/🆎 | UniFi device import & sync | 🖧 | | +| `VNDRPDT` | [vendor_update](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/vendor_update/) | ⚙ | Vendor database update | | | +| `WEBHOOK` | [_publisher_webhook](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/_publisher_webhook/) | ▶️ | Webhook notifications | | | +| `WEBMON` | [website_monitor](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/website_monitor/) | ♻ | Website down monitoring | | | +| `WOL` | [wake_on_lan](https://github.com/jokob-sk/NetAlertX/tree/main/front/plugins/wake_on_lan/) | ♻ | Automatic wake-on-lan | | | > \* The database cleanup plugin (`DBCLNP`) is not _required_ but the app will become unusable after a while if not executed. diff --git a/front/css/app.css b/front/css/app.css index 5fed0d7e..d3d85e97 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -1704,6 +1704,10 @@ input[readonly] { /* NETWORK page */ /* ----------------------------------------------------------------- */ +.hide-node-names .node-name { + display: none; + } + #toggleFilters { display: block; diff --git a/front/network.php b/front/network.php index 5d2c59aa..77af4110 100755 --- a/front/network.php +++ b/front/network.php @@ -107,6 +107,7 @@ const nodes = JSON.parse(data); renderNetworkTabs(nodes); loadUnassignedDevices(); + checkTabsOverflow(); }); } @@ -187,7 +188,7 @@
    - +
    ${badgeHtml}
    @@ -195,7 +196,7 @@
    ${isRootNode ? '' : ``} - + ${isRootNode ? getString('Network_Root') : getNameByMacAddress(node.parent_mac)} ${isRootNode ? '' : ``} @@ -264,16 +265,17 @@ } }, { - title: getString('Network_Table_State'), + title: getString('Device_TableHead_Status'), data: 'devStatus', width: '15%', render: function (_, type, device) { const badge = getStatusBadgeParts( device.devPresentLastScan, device.devAlertDown, - device.devMac + device.devMac, + device.devStatus ); - return `${badge.iconHtml} ${badge.status}`; + return `${badge.iconHtml} ${badge.text}`; } }, { @@ -287,6 +289,11 @@ data: 'devLastIP', width: '5%' }, + { + title: getString('Device_TableHead_Port'), + data: 'devParentPort', + width: '5%' + }, { title: getString('Device_TableHead_Vendor'), data: 'devVendor', @@ -319,7 +326,7 @@ // ---------------------------------------------------- function loadUnassignedDevices() { const sql = ` - SELECT devMac, devPresentLastScan, devName, devLastIP, devVendor, devAlertDown + SELECT devMac, devPresentLastScan, devName, devLastIP, devVendor, devAlertDown, devParentPort FROM Devices WHERE (devParentMAC IS NULL OR devParentMAC IN ("", " ", "undefined", "null")) AND devMac NOT LIKE "%internet%" @@ -348,14 +355,17 @@ // ---------------------------------------------------- function loadConnectedDevices(node_mac) { const sql = ` - SELECT devName, devMac, devLastIP, devVendor, devPresentLastScan, devAlertDown, - CASE - WHEN devAlertDown != 0 AND devPresentLastScan = 0 THEN "Down" - WHEN devPresentLastScan = 1 THEN "On-line" - ELSE "Off-line" - END as devStatus + SELECT devName, devMac, devLastIP, devVendor, devPresentLastScan, devAlertDown, devParentPort, + CASE + WHEN devIsNew = 1 THEN 'New' + WHEN devPresentLastScan = 1 THEN 'On-line' + WHEN devPresentLastScan = 0 AND devAlertDown != 0 THEN 'Down' + WHEN devIsArchived = 1 THEN 'Archived' + WHEN devPresentLastScan = 0 THEN 'Off-line' + ELSE 'Unknown status' + END AS devStatus FROM Devices - WHERE devIsArchived = 0 AND devParentMac = '${node_mac}'`; + WHERE devParentMac = '${node_mac}'`; const id = node_mac.replace(/:/g, '_'); @@ -895,6 +905,66 @@ function updateLeaf(leafMac, action) { } } +// --------------------------------------------------------------------------- +// showing icons or device names in tabs depending on available screen size +function checkTabsOverflow() { + const $ul = $('.nav-tabs'); + const $lis = $ul.find('li'); + + // First measure widths with current state + let totalWidth = 0; + $lis.each(function () { + totalWidth += $(this).outerWidth(true); + }); + + const ulWidth = $ul.width(); + const isOverflowing = totalWidth > ulWidth; + + if (isOverflowing) { + if (!$ul.hasClass('hide-node-names')) { + $ul.addClass('hide-node-names'); + + // Re-check: did hiding fix it? + requestAnimationFrame(() => { + let newTotal = 0; + $lis.each(function () { + newTotal += $(this).outerWidth(true); + }); + + if (newTotal > $ul.width()) { + // Still overflowing — do nothing, keep class + } + }); + } + } else { + if ($ul.hasClass('hide-node-names')) { + $ul.removeClass('hide-node-names'); + + // Re-check: did un-hiding break it? + requestAnimationFrame(() => { + let newTotal = 0; + $lis.each(function () { + newTotal += $(this).outerWidth(true); + }); + + if (newTotal > $ul.width()) { + // Oops, that broke it — re-hide + $ul.addClass('hide-node-names'); + } + }); + } + } +} + +let resizeTimeout; +$(window).on('resize', function () { + clearTimeout(resizeTimeout); + resizeTimeout = setTimeout(() => { + checkTabsOverflow(); + }, 100); +}); + + // init pop up hover boxes for device details initHoverNodeInfo(); diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json index b27ee045..50b2f765 100755 --- a/front/php/templates/language/en_us.json +++ b/front/php/templates/language/en_us.json @@ -107,7 +107,7 @@ "DevDetail_Network_Node_hover": "Select the parent network device the current device is connected to, to populate the Network tree.", "DevDetail_Network_Port_hover": "The port this device is connected to on the parent network device. If left empty a wifi icon is displayed in the Network tree.", "DevDetail_Nmap_Scans": "Manual Nmap Scans", - "DevDetail_Nmap_Scans_desc": "Here you can execute manual NMAP scans. You can also schedule regular automatic NMAP scans via the Services & Ports (NMAP) plugin. Head to Settings to find out more", + "DevDetail_Nmap_Scans_desc": "Here you can execute manual NMAP scans. You can also schedule regular automatic NMAP scans via the Services & Ports (NMAP) plugin. Head to Docs to find out more", "DevDetail_Nmap_buttonDefault": "Default Scan", "DevDetail_Nmap_buttonDefault_text": "Default Scan: Nmap scans the top 1,000 ports for each scan protocol requested. This catches roughly 93% of the TCP ports and 49% of the UDP ports. (about 5 seconds)", "DevDetail_Nmap_buttonDetail": "Detailed Scan", diff --git a/server/scan/session_events.py b/server/scan/session_events.py index bd0b166a..2ab3c304 100755 --- a/server/scan/session_events.py +++ b/server/scan/session_events.py @@ -131,38 +131,51 @@ def void_ghost_disconnections (db): #------------------------------------------------------------------------------- def pair_sessions_events (db): + # db.commitDB() + sql = db.sql #TO-DO - + mylog('debug', '[Pair Session] - START') - # Pair Connection / New Device events - mylog('debug','[Pair Session] - 1 Connections / New Devices') - sql.execute ("""UPDATE Events - SET eve_PairEventRowid = - (SELECT ROWID - FROM Events AS EVE2 - WHERE EVE2.eve_EventType IN ('New Device', 'Connected', 'Down Reconnected', - 'Device Down', 'Disconnected') - AND EVE2.eve_MAC = Events.eve_MAC - AND EVE2.eve_Datetime > Events.eve_DateTime - ORDER BY EVE2.eve_DateTime ASC LIMIT 1) - WHERE eve_EventType IN ('New Device', 'Connected', 'Down Reconnected') - AND eve_PairEventRowid IS NULL - """ ) + # Step 1: Pair connection-related events with future unpaired disconnections + mylog('debug', '[Pair Session] - 1: Pair Connections → Disconnections') + sql.execute(""" + UPDATE Events + SET eve_PairEventRowid = ( + SELECT E2.ROWID + FROM Events AS E2 + WHERE E2.eve_EventType IN ('Disconnected', 'Device Down') + AND E2.eve_MAC = Events.eve_MAC + AND E2.eve_PairEventRowid IS NULL + AND E2.eve_DateTime > Events.eve_DateTime + ORDER BY E2.eve_DateTime ASC + LIMIT 1 + ) + WHERE eve_EventType IN ('New Device', 'Connected', 'Down Reconnected') + AND eve_PairEventRowid IS NULL + """) - # Pair Disconnection / Device Down - mylog('debug','[Pair Session] - 2 Disconnections') - sql.execute ("""UPDATE Events - SET eve_PairEventRowid = - (SELECT ROWID - FROM Events AS EVE2 - WHERE EVE2.eve_PairEventRowid = Events.ROWID) - WHERE eve_EventType IN ('Device Down', 'Disconnected') - AND eve_PairEventRowid IS NULL - """ ) - mylog('debug','[Pair Session] Pair session end') + # Step 2: Pair disconnection-related events with previous unpaired connections + mylog('debug', '[Pair Session] - 2: Pair Disconnections → Connections') + sql.execute(""" + UPDATE Events + SET eve_PairEventRowid = ( + SELECT E2.ROWID + FROM Events AS E2 + WHERE E2.eve_EventType IN ('New Device', 'Connected', 'Down Reconnected') + AND E2.eve_MAC = Events.eve_MAC + AND E2.eve_PairEventRowid IS NULL + AND E2.eve_DateTime < Events.eve_DateTime + ORDER BY E2.eve_DateTime DESC + LIMIT 1 + ) + WHERE eve_EventType IN ('Disconnected', 'Device Down') + AND eve_PairEventRowid IS NULL + """) + mylog('debug', '[Pair Session] - END') db.commitDB() + #------------------------------------------------------------------------------- def create_sessions_snapshot (db): sql = db.sql #TO-DO From 266d7c25da8178492c519d4bc0fd9a6b54c7caf5 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 24 Jul 2025 21:06:17 +1000 Subject: [PATCH 290/667] weblate --- front/php/templates/language/ar_ar.json | 0 front/php/templates/language/ca_ca.json | 0 front/php/templates/language/de_de.json | 0 front/php/templates/language/es_es.json | 0 front/php/templates/language/fr_fr.json | 0 front/php/templates/language/it_it.json | 0 front/php/templates/language/nb_no.json | 0 front/php/templates/language/pl_pl.json | 0 front/php/templates/language/pt_br.json | 0 front/php/templates/language/ru_ru.json | 0 front/php/templates/language/tr_tr.json | 0 front/php/templates/language/uk_ua.json | 0 front/php/templates/language/zh_cn.json | 0 13 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 front/php/templates/language/ar_ar.json mode change 100644 => 100755 front/php/templates/language/ca_ca.json mode change 100644 => 100755 front/php/templates/language/de_de.json mode change 100644 => 100755 front/php/templates/language/es_es.json mode change 100644 => 100755 front/php/templates/language/fr_fr.json mode change 100644 => 100755 front/php/templates/language/it_it.json mode change 100644 => 100755 front/php/templates/language/nb_no.json mode change 100644 => 100755 front/php/templates/language/pl_pl.json mode change 100644 => 100755 front/php/templates/language/pt_br.json mode change 100644 => 100755 front/php/templates/language/ru_ru.json mode change 100644 => 100755 front/php/templates/language/tr_tr.json mode change 100644 => 100755 front/php/templates/language/uk_ua.json mode change 100644 => 100755 front/php/templates/language/zh_cn.json diff --git a/front/php/templates/language/ar_ar.json b/front/php/templates/language/ar_ar.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/pl_pl.json b/front/php/templates/language/pl_pl.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json old mode 100644 new mode 100755 From 3035b5b6b2511e58687d742447d7043ef398762e Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 24 Jul 2025 21:15:36 +1000 Subject: [PATCH 291/667] double-bars work #1119 --- front/index.php | 12 ------- server/scan/device_handling.py | 62 ++++++++++++++++++++++------------ 2 files changed, 40 insertions(+), 34 deletions(-) diff --git a/front/index.php b/front/index.php index 2fa50823..2e347326 100755 --- a/front/index.php +++ b/front/index.php @@ -99,18 +99,6 @@ if (isset ($_SESSION["login"]) == FALSE || $_SESSION["login"] != 1) - - -'; - break; - case "System": - echo ''; - break; -} -?> diff --git a/server/scan/device_handling.py b/server/scan/device_handling.py index ee9d14fc..bb8fdfc5 100755 --- a/server/scan/device_handling.py +++ b/server/scan/device_handling.py @@ -354,32 +354,50 @@ def create_new_devices (db): sql = db.sql # TO-DO startTime = timeNowTZ() - # Insert events for new devices from CurrentScan - mylog('debug','[New Devices] New devices - 1 Events') + # Insert events for new devices from CurrentScan (not yet in Devices) + mylog('debug', '[New Devices] Insert "New Device" Events') - query = f"""INSERT INTO Events (eve_MAC, eve_IP, eve_DateTime, - eve_EventType, eve_AdditionalInfo, - eve_PendingAlertEmail) - SELECT cur_MAC, cur_IP, '{startTime}', 'New Device', cur_Vendor, 1 - FROM CurrentScan - WHERE NOT EXISTS (SELECT 1 FROM Devices - WHERE devMac = cur_MAC) - """ + query_new_device_events = f""" + INSERT INTO Events ( + eve_MAC, eve_IP, eve_DateTime, + eve_EventType, eve_AdditionalInfo, + eve_PendingAlertEmail + ) + SELECT cur_MAC, cur_IP, '{startTime}', 'New Device', cur_Vendor, 1 + FROM CurrentScan + WHERE NOT EXISTS ( + SELECT 1 FROM Devices + WHERE devMac = cur_MAC + ) + """ - - mylog('debug',f'[New Devices] Log Events Query: {query}') - - sql.execute(query) + mylog('debug', f'[New Devices] Log Events Query: {query_new_device_events}') + sql.execute(query_new_device_events) - mylog('debug',f'[New Devices] Insert Connection into session table') + + # Insert session rows for known devices that are now (re)connected + mylog('debug', '[New Devices] Insert "Connected" Sessions (only for known devices)') - sql.execute (f"""INSERT INTO Sessions (ses_MAC, ses_IP, ses_EventTypeConnection, ses_DateTimeConnection, - ses_EventTypeDisconnection, ses_DateTimeDisconnection, ses_StillConnected, ses_AdditionalInfo) - SELECT cur_MAC, cur_IP,'Connected','{startTime}', NULL , NULL ,1, cur_Vendor - FROM CurrentScan - WHERE NOT EXISTS (SELECT 1 FROM Sessions - WHERE ses_MAC = cur_MAC) - """) + query_connected_sessions = f""" + INSERT INTO Sessions ( + ses_MAC, ses_IP, ses_EventTypeConnection, ses_DateTimeConnection, + ses_EventTypeDisconnection, ses_DateTimeDisconnection, + ses_StillConnected, ses_AdditionalInfo + ) + SELECT cur_MAC, cur_IP, 'Connected', '{startTime}', NULL, NULL, 1, cur_Vendor + FROM CurrentScan + WHERE EXISTS ( + SELECT 1 FROM Devices + WHERE devMac = cur_MAC + ) + AND NOT EXISTS ( + SELECT 1 FROM Sessions + WHERE ses_MAC = cur_MAC + ) + """ + + mylog('debug', f'[New Devices] Log Sessions Query: {query_connected_sessions}') + sql.execute(query_connected_sessions) # Create new devices from CurrentScan mylog('debug','[New Devices] 2 Create devices') From a53b41071376ed21c56bec2b43b602cf99129c5e Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 24 Jul 2025 21:44:23 +1000 Subject: [PATCH 292/667] double-bars work #1119 --- front/css/app.css | 1 + server/scan/device_handling.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/front/css/app.css b/front/css/app.css index d3d85e97..888bfac4 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -1717,6 +1717,7 @@ input[readonly] { background-color: inherit; z-index: 3; width: 190px; + box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1); } /* AdminLTE overrides */ diff --git a/server/scan/device_handling.py b/server/scan/device_handling.py index bb8fdfc5..7750977a 100755 --- a/server/scan/device_handling.py +++ b/server/scan/device_handling.py @@ -392,7 +392,7 @@ def create_new_devices (db): ) AND NOT EXISTS ( SELECT 1 FROM Sessions - WHERE ses_MAC = cur_MAC + WHERE ses_MAC = cur_MAC AND ses_StillConnected = 1 ) """ From 0265c416122a0d69e1ebf43fdbdada85f8774b85 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 24 Jul 2025 22:13:19 +1000 Subject: [PATCH 293/667] partial rollback #1119 --- front/userNotifications.php | 4 ++- server/scan/device_handling.py | 62 ++++++++++++---------------------- 2 files changed, 25 insertions(+), 41 deletions(-) diff --git a/front/userNotifications.php b/front/userNotifications.php index c53b9d9d..17c8a548 100755 --- a/front/userNotifications.php +++ b/front/userNotifications.php @@ -117,7 +117,8 @@ require 'php/templates/header.php'; var guid = data.split(":")[1].trim(); return `Go to Report`; } else { - return data; + // clear quotes (") if wrapped in them + return (data.startsWith('"') && data.endsWith('"')) ? data.slice(1, -1) : data; } } }, @@ -208,6 +209,7 @@ require 'php/templates/header.php'; }); + Date: Thu, 24 Jul 2025 13:07:40 +0200 Subject: [PATCH 294/667] Translated using Weblate (German) Currently translated at 88.8% (671 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/de/ --- front/php/templates/language/de_de.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/de_de.json diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json old mode 100755 new mode 100644 From 3a8634844fd65a2e211d178ff1ddefe17ae8b382 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 24 Jul 2025 13:07:40 +0200 Subject: [PATCH 295/667] Translated using Weblate (Spanish) Currently translated at 95.8% (724 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/es/ --- front/php/templates/language/es_es.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/es_es.json diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json old mode 100755 new mode 100644 From 56a93ee75ba5c04e48cf3f123f0be91daeeffcdc Mon Sep 17 00:00:00 2001 From: Sylvain Pichon Date: Thu, 24 Jul 2025 13:07:41 +0200 Subject: [PATCH 296/667] Translated using Weblate (French) Currently translated at 99.8% (754 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/fr/ --- front/php/templates/language/fr_fr.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/fr_fr.json diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100755 new mode 100644 From 74f5933627210f27fa3ce47a1b51f9683b9f9d0c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 24 Jul 2025 13:07:42 +0200 Subject: [PATCH 297/667] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 79.8% (603 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/nb_NO/ --- front/php/templates/language/nb_no.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/nb_no.json diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json old mode 100755 new mode 100644 From 29f120e66b0d47dd64ea281b7ff8b3e6189a4bc9 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 24 Jul 2025 13:07:43 +0200 Subject: [PATCH 298/667] Translated using Weblate (Russian) Currently translated at 98.5% (744 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ru/ --- front/php/templates/language/ru_ru.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/ru_ru.json diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json old mode 100755 new mode 100644 From 5fd709ed3541d7bbf7e60770dc32b0bddd19bab0 Mon Sep 17 00:00:00 2001 From: Massimo Pissarello Date: Thu, 24 Jul 2025 13:07:41 +0200 Subject: [PATCH 299/667] Translated using Weblate (Italian) Currently translated at 99.8% (754 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/it/ --- front/php/templates/language/it_it.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/it_it.json diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json old mode 100755 new mode 100644 From a92d66c981c3e1f4399a0c5892eb2e7762c30523 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 24 Jul 2025 13:07:43 +0200 Subject: [PATCH 300/667] Translated using Weblate (Portuguese (Brazil)) Currently translated at 57.0% (431 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/pt_BR/ --- front/php/templates/language/pt_br.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/pt_br.json diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json old mode 100755 new mode 100644 From caac65f4f9cb6d8d4e9e1068ea67719570472347 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 24 Jul 2025 13:07:42 +0200 Subject: [PATCH 301/667] Translated using Weblate (Polish) Currently translated at 98.5% (744 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/pl/ --- front/php/templates/language/pl_pl.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/pl_pl.json diff --git a/front/php/templates/language/pl_pl.json b/front/php/templates/language/pl_pl.json old mode 100755 new mode 100644 From da8ea98c2861141d5e227673c2289058d3598a81 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 24 Jul 2025 13:07:45 +0200 Subject: [PATCH 302/667] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 81.1% (613 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/zh_Hans/ --- front/php/templates/language/zh_cn.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/zh_cn.json diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json old mode 100755 new mode 100644 From 2b70e1c2e57b4ebcdef88362dfa1ae663bd3de84 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 24 Jul 2025 13:07:44 +0200 Subject: [PATCH 303/667] Translated using Weblate (Turkish) Currently translated at 65.6% (496 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/tr/ --- front/php/templates/language/tr_tr.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/tr_tr.json diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json old mode 100755 new mode 100644 From d40ad8bd09c893e4eaa4c409def17001eee652e5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 24 Jul 2025 13:07:38 +0200 Subject: [PATCH 304/667] Translated using Weblate (Arabic) Currently translated at 96.9% (732 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ar/ --- front/php/templates/language/ar_ar.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/ar_ar.json diff --git a/front/php/templates/language/ar_ar.json b/front/php/templates/language/ar_ar.json old mode 100755 new mode 100644 From 1c1c5bd32bf684f883f334c69325eee8dc8fda31 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Thu, 24 Jul 2025 13:07:39 +0200 Subject: [PATCH 305/667] Translated using Weblate (Catalan) Currently translated at 96.9% (732 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/ca/ --- front/php/templates/language/ca_ca.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 front/php/templates/language/ca_ca.json diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json old mode 100755 new mode 100644 From 6fe865e1157ce7277f59827c630890f1ab5ca70c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Thu, 24 Jul 2025 16:37:13 +0200 Subject: [PATCH 306/667] Translated using Weblate (Ukrainian) Currently translated at 100.0% (755 of 755 strings) Translation: NetAlertX/core Translate-URL: https://hosted.weblate.org/projects/pialert/core/uk/ --- front/php/templates/language/uk_ua.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 front/php/templates/language/uk_ua.json diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100755 new mode 100644 index 605e9283..a8ddf4c8 --- a/front/php/templates/language/uk_ua.json +++ b/front/php/templates/language/uk_ua.json @@ -107,7 +107,7 @@ "DevDetail_Network_Node_hover": "Виберіть батьківський мережевий пристрій, до якого підключено поточний пристрій, щоб заповнити дерево мережі.", "DevDetail_Network_Port_hover": "Порт, до якого підключено цей пристрій на батьківському мережевому пристрої. Якщо залишити пустим, у дереві мережі відобразиться значок Wi-Fi.", "DevDetail_Nmap_Scans": "Сканування Nmap вручну", - "DevDetail_Nmap_Scans_desc": "Тут ви можете виконувати ручне сканування NMAP. Ви також можете запланувати регулярне автоматичне сканування NMAP за допомогою плагіна «Служби та порти» (NMAP). Щоб дізнатися більше, перейдіть до розділу Налаштування", + "DevDetail_Nmap_Scans_desc": "Тут ви можете виконувати ручні сканування NMAP. Ви також можете запланувати регулярні автоматичні сканування NMAP за допомогою плагіна Services & Ports (NMAP). Щоб дізнатися більше, перейдіть до Документації", "DevDetail_Nmap_buttonDefault": "Сканування за замовчуванням", "DevDetail_Nmap_buttonDefault_text": "Сканування за замовчуванням: Nmap сканує 1000 найпопулярніших портів для кожного запитуваного протоколу сканування. Це перехоплює приблизно 93% портів TCP і 49% портів UDP. (приблизно 5 секунд)", "DevDetail_Nmap_buttonDetail": "Детальне сканування", From 170a3c0ae143332eaedf8dbad5781ad1700585da Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sat, 26 Jul 2025 08:45:07 +1000 Subject: [PATCH 307/667] presence rework #1119, plugin history filter --- front/deviceDetails.php | 28 ++++---- front/deviceDetailsEvents.php | 65 ++++++++++++++---- front/js/common.js | 72 ++++++++++++++++---- front/php/server/events.php | 38 ----------- front/pluginsCore.php | 8 +-- server/scan/device_handling.py | 50 +++++++++----- server/scan/session_events.py | 121 +++++++-------------------------- 7 files changed, 186 insertions(+), 196 deletions(-) diff --git a/front/deviceDetails.php b/front/deviceDetails.php index e46f9281..8411e69c 100755 --- a/front/deviceDetails.php +++ b/front/deviceDetails.php @@ -286,21 +286,21 @@ function main () { - // Events tab toggle conenction events - $('input').on('ifToggled', function(event){ - // Hide / Show Events - if (event.currentTarget.id == 'chkHideConnectionEvents') { - getDeviceEvents(); - } else { - // Activate save & restore - // activateSaveRestoreData(); + // // Events tab toggle conenction events + // $('input').on('ifToggled', function(event){ + // // Hide / Show Events + // if (event.currentTarget.id == 'chkHideConnectionEvents') { + // getDeviceEvents(); + // } else { + // // Activate save & restore + // // activateSaveRestoreData(); - // Ask skip notifications - // if (event.currentTarget.id == 'chkArchived' ) { - // askSkipNotifications(); - // } - } - }); + // // Ask skip notifications + // // if (event.currentTarget.id == 'chkArchived' ) { + // // askSkipNotifications(); + // // } + // } + // }); } diff --git a/front/deviceDetailsEvents.php b/front/deviceDetailsEvents.php index 401c7641..6e6d7f82 100755 --- a/front/deviceDetailsEvents.php +++ b/front/deviceDetailsEvents.php @@ -7,11 +7,11 @@ -
    -