FLS2     flarispm                                ܾP":xL                k   #tyIeQyd湁K{Ʒy1ŝHΌCwhTAjsӳ} cLZUr1N!!              L W       Dpe*2{
   PM_VERSION    gƌnA<   0.3.0    V-   MANIFEST     /ZoO   flaris.json    xLbǦv   flaris_packages    LO   PKG_DIR    :O;   flaris_packages/.src    7ap   SRC_DIR                                                                             8MQ5/   _userLibsDir   y        2$   flarispm.fls    8MQ5/   _userLibsDir    r I   FLARIS_LIBS    Q7F        bm,   HOME    Q7F        !)P[   /.flaris/libs    1O35   USERPROFILE    Q7F        K"ն~   \.flaris\libs    xLbǦv   flaris_packages    E r3  F4' 4  ) ' h  G r3 H5' 5  ) ' 5 e I r3 J6' 6  ) ' 6 	e K 
eg     8MQ5/   _userLibsDir                                                                        A8ҭ2   _ok           2$   flarispm.fls    A8ҭ2   _ok    !   [✓]     P 4rg     A8ҭ2   _ok                                                                        $,	ɓ   _info           2$   flarispm.fls    $,	ɓ   _info       [·]     Q 4rg     $,	ɓ   _info                                                                        }g   _warn           2$   flarispm.fls    }g   _warn    ~D   [!]     R 4rg     }g   _warn                                                                        >ml|   _err           2$   flarispm.fls    >ml|   _err    72zY   [✗]     S 4rg     >ml|   _err                                                                             GŀVo   readManifest   @        2$   flarispm.fls    GŀVo   readManifest     /ZoO   flaris.json        /ZoO   flaris.json       X ; r'  X e Y ; r3  Z4'  e [4r eg     GŀVo   readManifest                                                                        G*g   writeManifest   #        2$   flarispm.fls    G*g   writeManifest     /ZoO   flaris.json    _4s3 ` ;  `5sg     G*g   writeManifest                                                                             NSB	$   defaultManifest  
 D        2$   flarispm.fls    NSB	$   defaultManifest    myJ.{_l   name    ɱi(   version    ޳   0.1.0    v|T   description    Q7F        E`aw|   author    Q7F           dependencies    dq
r3  k  f4  g   h   i  	 j]  ] eg     NSB	$   defaultManifest                                                                             L   ensureManifest   $        2$   flarispm.fls    L   ensureManifest    GŀVo   readManifest    NSB	$   defaultManifest    o0 ` 3  p4' h  q0 d  g     L   ensureManifest                                                                        Fg!   urlToRepoName   C        2$   flarispm.fls    Fg!   urlToRepoName    nh
6   .git    r֜   /    x43 y5 s	
'  z5 5r	!At	 3 |5 s	3 }6|AHeg     Fg!   urlToRepoName                                                                        ar   urlToSrcSlug   m        2$   flarispm.fls    ar   urlToSrcSlug    ,/5QӉB   https://    Q7F        ݯ保   http://    Q7F        r֜   /    4f   _    IUT x   :    4f   _    nh
6   .git    43 5  t	3 5  t	3 5  t	3 5  	t	3 5 
s	
'  5 5r	!At	 3 hg     ar   urlToSrcSlug                                                                             pUZ_;b   findVm   b        2$   flarispm.fls    pUZ_;b   findVm    4m.F?b   FLARISVM    EY_C4   which    <;O6   flarisvm    &   Exit    0^+U
p   Stdout    <;O6   flarisvm     r3  4' 
4r	! #) ' h    ^   s3 5' 
5B  ) ' 5B r	e  eg     pUZ_;b   findVm                                                                ~   gitClone          2$   flarispm.fls    ~   gitClone    a^   --branch    0]	   --depth=1    Uˊˠ   clone    i@[s   git    &   Exit    7h*   main    YgX5   master    n@   latest    i@[s   git    0]	   --depth=1    Uˊˠ   clone    &   Exit     ;D>   Stderr     ;D>   Stderr    >ml|   _err     ;D>   Stderr     ;D>   Stderr    >ml|   _err    645   ^   3  7s3 2' 2B  ) ' e 5 ( 5 ) ( 5 	) 3 2' c  
64  ^   s3 2' 2B  ) ' e 2' 2B r	! #) '  2B r	0 ` e 2' 2B r	! #) '  2B r	0 ` eg     ~   gitClone                                                                        ԺMl   gitPull   5        2$   flarispm.fls    ԺMl   gitPull    i@[s   git    0]	   --depth=1    D0t   pull    b$#(   -C    &   Exit       4 ^   s3 5' 
5B  ) eg     ԺMl   gitPull                                                                             𺎥[   gitCheckInstalled   .        2$   flarispm.fls    𺎥[   gitCheckInstalled    i@[s   git    >~	   --version    &   Exit      ^   s3  4' 
4B  ) eg     𺎥[   gitCheckInstalled                                                            5CL7Q
   compileFls           2$   flarispm.fls    5CL7Q
   compileFls    xF*   -c    @~/M\
   --version=    &   Exit    't_
   --libs=    LO   PKG_DIR    &   Exit     ;D>   Stderr    ;4U&   Compile error:      ;D>   Stderr    }g   _warn    65 ^   3 7' 
7r	! #) '  2 7s  42s3 2' 2B  ) ' e 2 0 s 3 42s3 2' 2B  ) ' e 2' 2B r	! #) '   	2B 
r	0 ` eg     5CL7Q
   compileFls                                                                E
8   compileSourceDir          2$   flarispm.fls    E
8   compileSourceDir        /ZoO   flaris.json    ɱi(   version    ɱi(   version    ov   .fls    LO   PKG_DIR    2KRWg   .flx    怘my
   Compiling     <&    ...    $,	ɓ   _info    5CL7Q
   compileFls    ߡxȨ   recordIntegrity    y\}   Skipped (compile failed):     }g   _warn     3 5 s 3 2r' , 2rr 3 2' 2 s ) ' 2B 3 5r3  3   322|!'  G3	 2	 s	
' r 52	s 3
 2	r3 0 2 s 3  	2	 
0 ` 42
270 `'  >  620 `)    2	0 ` > *  hg     E
8   compileSourceDir                                                                        ?>2   computeSha256           2$   flarispm.fls    ?>2   computeSha256    }Ă!   shasum    @.:?   256    ,   -a    &   Exit    0^+U
p   Stdout    8~	   sha256sum    &   Exit    0^+U
p   Stdout        4  ^   s3 5' 
5B  ) ' " 5B r	3 6r	!@$' 	6 @t	 e  4^   s3 7' 
7B  ) ' ! 7B 	r	:6r	!@$' 	6 @t	 e 
eg     ?>2   computeSha256                                                                    ߡxȨ   recordIntegrity           2$   flarispm.fls    ߡxȨ   recordIntegrity    ?>2   computeSha256    GŀVo   readManifest    NSB	$   defaultManifest    asg	   integrity    asg	   integrity    asg	   integrity    asg	   integrity    asg	   integrity    vVVQ   sha256:    G*g   writeManifest   50 `36' g	0 ` 3
7' 0 ` 37 s ' 7]  C 7B 4s ' 	7B 4]  E5r37B 	4D2 
6E70 `g     ߡxȨ   recordIntegrity                                                                    U)!h   checkIntegrity  	         2$   flarispm.fls    U)!h   checkIntegrity    GŀVo   readManifest    asg	   integrity    asg	   integrity    asg	   integrity    ?>2   computeSha256    vVVQ   sha256:    asg	   integrity   0 ` 36( 6 s ) ' e6B 4s ' e5r36B 4D7s ' e50 `32' e 26B 4D7Deg     U)!h   checkIntegrity                                                                    >9`k
   flxSigInfo           2$   flarispm.fls    >9`k
   flxSigInfo    /aY
   --sig-info    &   Exit       0^+U
p   Stdout    \8ba,   unsigned    F}{oz   signed    TAf   verdict    Q7F        `.	*|   pubkey    Q7F        M7   signer    Q7F        |!4M   |    F}{oz   signed       Q7F        F}{oz   signed    TAf   verdict    `.	*|   pubkey    M7   signer   $45 ^   s3%6( 
6B   ) '  e&6B r	3'7 '    	 
   ] e(7 s	3)2|!( 
F   ) '  e*2|$' F)  3+  F F 2] eg     >9`k
   flxSigInfo                                                                        U   pinnedPublisher   I        2$   flarispm.fls    U   pinnedPublisher    GŀVo   readManifest    l 
   publishers       l 
   publishers       l 
   publishers   00 ` 315( 5 s ) '  e25B 4s '  e35B 4Deg     U   pinnedPublisher                                                                    F)   downloadFlx           2$   flarispm.fls    F)   downloadFlx    E*Bso   curl    `3NS{   -o    )',   -fsSL    &   Exit    @ga)   wget    T{Y> ]8   -O    u&   -q    &   Exit     ;D>   Stderr     ;D>   Stderr    >ml|   _err   9 45  ^   s3:6' 
6B  ) ' e; 45  ^   s3<7' 
7B 	 ) ' e=6' 6B 
r	! #) ' >6B r	0 `@eg     F)   downloadFlx                                                                        Q   installFlxUrl  5        2$   flarispm.fls    Q   installFlxUrl    LO   PKG_DIR    r֜   /    LO   PKG_DIR    U)!h   checkIntegrity    }Ui   Integrity mismatch for     I xD    - re-downloading    }g   _warn    4|   Already installed:     'Itغ    (integrity ok)    $,	ɓ   _info    6_   Downloading     <&    ...    $,	ɓ   _info    F)   downloadFlx    (㣺X(y   Download failed:     >ml|   _err    pUZ_;b   findVm    >9`k
   flxSigInfo    F}{oz   signed    TAf   verdict    <!j)7   invalid    hi6k   Signature INVALID for     &*r6&    - file tampered or corrupt. Refusing.    >ml|   _err    U   pinnedPublisher    F}{oz   signed    >h(qI   Publisher pinned for this package but the download is unsigned. Refusing.    >ml|   _err    4C-VbwD   key    	K|Z   ed25519:    `.	*|   pubkey    a[i(\t   Publisher key changed for     IUT x   :    >ml|   _err    P
     pinned:     4C-VbwD   key    >ml|   _err    ۹9o     got:    ed25519:    `.	*|   pubkey    >ml|   _err    &݃uUF   Re-add with 'flarispm add <url> --key <pubkey>' to accept the new key.    >ml|   _err    /H   Publisher verified:     M7   signer    Q7F        M7   signer    `.	*|   pubkey    A8ҭ2   _ok    ߡxȨ   recordIntegrity    >v$d
   Installed     A8ҭ2   _ok   D0 rE4 s	3F5|AH3G0 6s 3I7r' EJ470 `' K 6 0 `L7r) MN 	6 
0 `OeS 6 0 `T470 `' U 40 `Ve[0 ` 3\270 `3]2' 2B ) ' 2B  ) ' ^ 6 0 `_7r`eb40 `3c2' d2( 	2B ) ' e 0 `f7rgei2B  2B   ' Oj !6 "0 #`k $2B %0 &`l '2B (0 )`m *0 +`n7roeq ,2B - . ' 2B /) 2B 00 1`t470 2`u 360 4`veg     Q   installFlxUrl                                                                    zMӗ>
   installOne           2$   flarispm.fls    zMӗ>
   installOne    pUZ_;b   findVm    ar   urlToSrcSlug    7ap   SRC_DIR    LO   PKG_DIR    7ap   SRC_DIR    s,~FG   Using cached source:     $,	ɓ   _info    gO   Cloning     =ֿ7~    @     <&    ...    $,	ɓ   _info    ~   gitClone    l]S;RX   Clone failed:     >ml|   _err    E
8   compileSourceDir    w\   No .fls files compiled in     >ml|   _err    >v$d
   Installed     Fg!   urlToRepoName    6!SGR    (    T.ς    module(s))    A8ҭ2   _ok   }0 ` 3~40 `30 7s 30 r0 r2r '  70 `) > 	4 
5 0 `4520 `'  40 `e6240 `32 '  40 `e 40 ` 2 0 `eg     zMӗ>
   installOne                                                                               1>:   cmdInit   O        2$   flarispm.fls     1>:   cmdInit     /ZoO   flaris.json    y!z[+   flaris.json already exists - nothing to do.    }g   _warn    NSB	$   defaultManifest    G*g   writeManifest    @7   Created flaris.json    A8ҭ2   _ok    ,:z;   Edit it, then run 'flarispm add <git-url>' to add packages.    $,	ɓ   _info    ; r'  0 `g0 ` 0 ` 0 ` 	0 
`g      1>:   cmdInit    	                                                            |B͹   cmdAdd  H        2$   flarispm.fls    |B͹   cmdAdd    1D4   Usage: flarispm add <url> [version] [--key <pubkey>]    >ml|   _err    2KRWg   .flx    Q   installFlxUrl    r֜   /    LO   PKG_DIR    pUZ_;b   findVm    >9`k
   flxSigInfo    F}{oz   signed    $u16   --key was given but the package is unsigned. Refusing.    >ml|   _err    `.	*|   pubkey    mI ."   Publisher key mismatch - refusing:    >ml|   _err    d@pYݪ     expected (--key):     >ml|   _err    9`D<c     actual signer   :     `.	*|   pubkey    >ml|   _err    jFx8^P%   Verified: publisher key matches --key    A8ҭ2   _ok    L   ensureManifest       dependencies       dependencies       dependencies    ;y   direct    F}{oz   signed    l 
   publishers    l 
   publishers    l 
   publishers    4C-VbwD   key    	K|Z   ed25519:    `.	*|   pubkey    M7   signer    M7   signer    tP"51   Pinned publisher:     M7   signer    Q7F        M7   signer    `.	*|   pubkey    A8ҭ2   _ok    TAf   verdict    '_ۏh   trusted    Z\㘇   Signer is in your trusted_keys.    $,	ɓ   _info    .Bs2͒6   Package is unsigned - pinned by sha256 integrity only.    }g   _warn    G*g   writeManifest    ;S   Registered in flaris.json    A8ҭ2   _ok    c   Installed to     LO   PKG_DIR    O]|i9    - flarisvm resolves it automatically (no --libs needed).    $,	ɓ   _info    7h*   main    𺎥[   gitCheckInstalled    V`a}?6   'git' not found in PATH. Please install git and retry.    >ml|   _err    zMӗ>
   installOne    L   ensureManifest       dependencies       dependencies       dependencies    G*g   writeManifest    ;S   Registered in flaris.json    A8ҭ2   _ok    c   Installed to     LO   PKG_DIR    O]|i9    - flarisvm resolves it automatically (no --libs needed).    $,	ɓ   _info   4( 
4r	! ) '  0 `g4 s	
'40 `' g4 s	37|AH30 2s 30 ` 3220 	`36' 
6r	! #) ' 2( 	2B 
) '  0 `2rg2B r	6r	 ' < 0 ` 6r	0 ` 2B 0 `2rg 0 `0 ` 32 s ' 2]  C 2B 4 E2' 2B ) ' y2 s ' 2]  C 2B 4   !2B " #2B $] E %2B & ' ' 2B () 2B )0 *`2B + ,' 	 -0 .`) Џ /0 0`20 1` 20 3` 40 5 60 7`g5( 
5r	! ) '  830 9` '  :0 ;`g450 <`' g0 =` 32 >s ' 2]  C ?2B @45E20 A` B0 C` D0 E F0 G`g     |B͹   cmdAdd                                                                             `N_
   cmdInstall   q       2$   flarispm.fls    `N_
   cmdInstall    GŀVo   readManifest    (zn0   No flaris.json found. Run 'flarispm init' first.    >ml|   _err       dependencies    /]!s   No dependencies listed.    $,	ɓ   _info       dependencies    /]!s   No dependencies listed.    $,	ɓ   _info    2KRWg   .flx    𺎥[   gitCheckInstalled    V`a}?6   'git' not found in PATH. Please install git and retry.    >ml|   _err    @9dR   Installing     e    package(s)...    $,	ɓ   _info       dependencies    2KRWg   .flx    Q   installFlxUrl    zMӗ>
   installOne    Q7F        ƅśձ    /     U%rRt    package(s) installed.    A8ҭ2   _ok    c   Installed to     LO   PKG_DIR    O]|i9    - flarisvm resolves it automatically (no --libs needed).    $,	ɓ   _info   0 ` 3 4'  0 `g4 s '  0 `g4B r 35| '  	0 
`g3  375|!' G s	
' 3 > * $6' 	0 ` ) '  0 `g 5| 0 `	 3
 ;75|!' MG34B 2D32 s	
' 
20 `) 	220 `32' > 
> * T r2 5| 0 ` 0  0 `g     `N_
   cmdInstall                                                                        ߑ(	   cmdRemove  + $       2$   flarispm.fls    ߑ(	   cmdRemove    [3    Usage: flarispm remove <git-url>    >ml|   _err    GŀVo   readManifest    Y]{4   No flaris.json found.    >ml|   _err       dependencies       dependencies    UE^#   Package not found in dependencies:     }g   _warn    2KRWg   .flx    r֜   /    LO   PKG_DIR    sҖ(@   Deleted     $,	ɓ   _info    asg	   integrity    asg	   integrity    asg	   integrity       dependencies    G*g   writeManifest    Sc   Removed     VqJҢ    from      /ZoO   flaris.json    A8ҭ2   _ok    7ap   SRC_DIR    ar   urlToSrcSlug    ov   .fls    LO   PKG_DIR    2KRWg   .flx    sҖ(@   Deleted     2KRWg   .flx    $,	ɓ   _info    asg	   integrity    asg	   integrity    asg	   integrity       dependencies    G*g   writeManifest    Sc   Removed     Fg!   urlToRepoName    VqJҢ    from      /ZoO   flaris.json    A8ҭ2   _ok   4( 
4r	! ) '  0 `g0 ` 35' 
 0 `g5 s ( 5B 4s ) '   	40 
`!g%4 s	
' &4 s	3'6|AH3(0 7s 3)2r' *2r+ 70 `-5 s ' 5B 4s ) ' .5B 4s 05B 4s 150 `2 7  ; 20 `3g70 40 `s 382r ' 92r3D: 322|!' b;G3<2 s	
' B=2r3	>0 2	 s 3
?2
r' @2
rA 2	 0  `:> * kG5 !s ' 5B "4s ) ' H5B #4s J5B $4s K50 %`L &40 '` ( ; )L0 *`g     ߑ(	   cmdRemove     	                                                                        (   cmdList   
       2$   flarispm.fls    (   cmdList    GŀVo   readManifest    PkѲ$   No flaris.json in current directory.    $,	ɓ   _info       dependencies    V-   No dependencies.    $,	ɓ   _info       dependencies    V-   No dependencies.    $,	ɓ   _info    x.   Packages in flaris.json:       dependencies    Fg!   urlToRepoName    ar   urlToSrcSlug    7ap   SRC_DIR    	   installed    ;
   not cloned    lS>         =ֿ7~    @     	 -b     [    ppc   ]    #@Y          P0 ` 3 Q4' R 0 `SgV4 s ' W 0 `Xg[4B r 3\5| ' ] 	0 
`^ga rkb 365|!' cG3d4B 7D3e70 `3f70 `3g0 2s 3h2r '  )  3i 2 2 2 rj 7rb> * g     (   cmdList    	                                                                    #HI#	   cmdUpdate  #        2$   flarispm.fls    #HI#	   cmdUpdate    GŀVo   readManifest    Y]{4   No flaris.json found.    >ml|   _err       dependencies    56Gs   No dependencies to update.    $,	ɓ   _info       dependencies    H   Package not in flaris.json:     >ml|   _err       dependencies    𺎥[   gitCheckInstalled    ~lڷ   'git' not found in PATH.    >ml|   _err    pUZ_;b   findVm    ar   urlToSrcSlug    7ap   SRC_DIR    Fg!   urlToRepoName    B\*    not cloned - run 'flarispm install' first    }g   _warn    3	   Updating     Fg!   urlToRepoName    <&    ...    $,	ɓ   _info    ԺMl   gitPull    E
8   compileSourceDir    !:!   Updated     Fg!   urlToRepoName    6!SGR    (    8-N    module(s) recompiled)    A8ҭ2   _ok    Үr   git pull failed for     Fg!   urlToRepoName    >ml|   _err   o0 ` 3p5' 
 0 `gr5 s ' s 0 `tgw^    3x4' 
4r	! #) ' -y5B 4s ' z 	40 
`{g}64s ) ~5B r 30 ` '  0 `g0 ` 3 326|!' G320 `30 2s 32r ' 20 ` 0 `) p 20 ` 0 `20 `' 17220 `3 20 ` 2 0 `)   20 !`0 "`> * g     #HI#	   cmdUpdate                                                                              gL
   cmdVersion           2$   flarispm.fls    gL
   cmdVersion    ƴ   flarispm 0.3.0    rg     gL
   cmdVersion                                                                              +-W.M
   printUsage  ! =       2$   flarispm.fls    +-W.M
   printUsage    ˠOj~1'   flarispm 0.3.0 - Flaris Package Manager    Q7F        U
*wSG   USAGE    .u(     flarisvm flarispm.flx <command> [args]    Q7F        Kb   COMMANDS    f#-     init                     Create flaris.json     sR&     add <url> [version] [--key <pubkey>]     Dy@                              Add a package (git repo or .flx URL).    Nm-H                              --key verifies a signed .flx's publisher key.    zO-?S3     install                  Install all dependencies    ^@p+     remove <url>             Remove a package    &M2     list                     Show installed packages    (a6     update [url]             Update all (or one) package    8+ga|(     version                  Print version    Q7F        p2R   EXAMPLES    jF֑     flarispm init    4[e,     flarispm add https://github.com/user/mylib    O)gOX3     flarispm add https://github.com/user/mylib v1.2.0    l_',     flarispm add https://example.com/mylib.flx    `g*yno     flarispm install    '.i     flarispm update    Q7F        g2@<   SHA-256 hashes are recorded in flaris.json under 'integrity'    n9poX.!>   and verified on subsequent installs. Signed .flx packages also    o+pNH)=   pin the publisher's Ed25519 key under 'publishers'; a changed    Q/   key blocks install until you re-add with --key.    Q7F        4{IL3   Packages install to ~/.flaris/libs and are resolved    (-   automatically - just run:  flarisvm myapp.fls    r r r r r r r 	r 
r r r r r r r r r r r r r r r r r r r r r r  rg     +-W.M
   printUsage                                                                             ܾP":x   Main  !        2$   flarispm.fls    ܾP":x   Main    LO   PKG_DIR    8MQ5/   _userLibsDir    7ap   SRC_DIR    LO   PKG_DIR    ҙaI   .src       YIU3   --key    +-W.M
   printUsage    #T   init     1>:   cmdInit    @Qr   add          |B͹   cmdAdd       install    `N_
   cmdInstall     
Xk   remove       ߑ(	   cmdRemove    6]   list    (   cmdList    (ߠ   update       #HI#	   cmdUpdate    ɱi(   version    gL
   cmdVersion    ۯ^   Unknown command: '    yV   '    >ml|   _err    Q7F        +-W.M
   printUsage   0 ` 1 0  s 1 q3 ^    3 3 374|!' HG  ' 
7A 4|!) ' 7A H 3> ) я5G s > * O5| ' 0 	` gF 32 
' 0 ` )2 ' =5|$' F)  35|$' F)  32260 `) я2 ' 0 ` ) 2 ' $5|$' F)  320 `) 2 ' 0 ` ) q2 ' $5|$' F)  320 `) A2 ' 0 ` ) ) 2 0 ` r0  ` g     ܾP":x   Main : /   ; /  A /  B /  Di / 	 Pi 
/  Qi /  Ri /  Si /  Wi /  ^i /  ci /  ni /  vi /  i /  i /  i  / ! i "/ # i $/ % i &/ ' i (/ ) i */ +i ,/ -i ./ / i 0/ 1.i 2/ 38i 4/ 5Ci 6/ 7{i 8/ 9i :/ ;i </ =i >/ ?i @/ AOi B/ Cni D/ Ei F/ Gi H/ Ii J/ Kf 