Update architecture documentation and remove obsolete frontends
This commit is contained in:
parent
57aa906e5f
commit
e51a1d4ff7
252
README.md
252
README.md
|
|
@ -1,179 +1,73 @@
|
|||
| `client/` |#| `client/` | | `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |O| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` | | `client/` |i| `client/` |s| `client/` | | `client/` |a| `client/` |n| `client/` | | `client/` |A| `client/` |I| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` |.| `client/` | | `client/` |A| `client/` | | `client/` |s| `client/` |i| `client/` |n| `client/` |g| `client/` |l| `client/` |e| `client/` | | `client/` |b| `client/` |i| `client/` |n| `client/` |a| `client/` |r| `client/` |y| `client/` | | `client/` |(| `client/` |`| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` |)| `client/` | | `client/` |e| `client/` |x| `client/` |p| `client/` |o| `client/` |s| `client/` |e| `client/` |s| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |s| `client/` |
|
||||
| `client/` |o| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |a| `client/` | | `client/` |s| `client/` |i| `client/` |n| `client/` |g| `client/` |l| `client/` |e| `client/` | | `client/` |s| `client/` |u| `client/` |r| `client/` |f| `client/` |a| `client/` |c| `client/` |e| `client/` |:| `client/` | | `client/` |a| `client/` | | `client/` |*| `client/` |*| `client/` |9| `client/` |P| `client/` |2| `client/` |0| `client/` |0| `client/` |0| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` |*| `client/` |*| `client/` |.| `client/` | | `client/` |T| `client/` |h| `client/` |e| `client/` | | `client/` |c| `client/` |o| `client/` |r| `client/` |e| `client/` | | `client/` |i| `client/` |s| `client/` | | `client/` |d| `client/` |e| `client/` |l| `client/` |i| `client/` |b| `client/` |e| `client/` |r| `client/` |a| `client/` |t| `client/` |e| `client/` |l| `client/` |y| `client/` | | `client/` |m| `client/` |i| `client/` |n| `client/` |i| `client/` |m| `client/` |a| `client/` |l| `client/` |;| `client/` |
|
||||
| `client/` |c| `client/` |a| `client/` |p| `client/` |a| `client/` |b| `client/` |i| `client/` |l| `client/` |i| `client/` |t| `client/` |i| `client/` |e| `client/` |s| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |e| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |m| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |p| `client/` |o| `client/` |s| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |s| `client/` |m| `client/` |a| `client/` |l| `client/` |l| `client/` | | `client/` |p| `client/` |i| `client/` |e| `client/` |c| `client/` |e| `client/` |s| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |a| `client/` |b| `client/` |l| `client/` |e| `client/` |s| `client/` |,| `client/` | | `client/` |s| `client/` |k| `client/` |i| `client/` |l| `client/` |l| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |,| `client/` |
|
||||
| `client/` |m| `client/` |e| `client/` |t| `client/` |a| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` | | `client/` |s| `client/` |i| `client/` |d| `client/` |e| `client/` |c| `client/` |a| `client/` |r| `client/` |s| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |r| `client/` |a| `client/` |t| `client/` |h| `client/` |e| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |a| `client/` |n| `client/` | | `client/` |b| `client/` |u| `client/` |i| `client/` |l| `client/` |d| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |a| `client/` | | `client/` |m| `client/` |o| `client/` |n| `client/` |o| `client/` |l| `client/` |i| `client/` |t| `client/` |h| `client/` |i| `client/` |c| `client/` | | `client/` |f| `client/` |r| `client/` |a| `client/` |m| `client/` |e| `client/` |w| `client/` |o| `client/` |r| `client/` |k| `client/` |.| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |#| `client/` |#| `client/` | | `client/` |B| `client/` |u| `client/` |i| `client/` |l| `client/` |d| `client/` |i| `client/` |n| `client/` |g| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |`| `client/` |`| `client/` |`| `client/` |s| `client/` |h| `client/` |
|
||||
| `client/` |g| `client/` |i| `client/` |t| `client/` | | `client/` |c| `client/` |l| `client/` |o| `client/` |n| `client/` |e| `client/` | | `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |s| `client/` |:| `client/` |/| `client/` |/| `client/` |g| `client/` |i| `client/` |t| `client/` |.| `client/` |l| `client/` |n| `client/` |e| `client/` |e| `client/` |l| `client/` |y| `client/` |.| `client/` |d| `client/` |e| `client/` |/| `client/` |l| `client/` |k| `client/` |n| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |.| `client/` |g| `client/` |i| `client/` |t| `client/` |
|
||||
| `client/` |c| `client/` |d| `client/` | | `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |
|
||||
| `client/` |j| `client/` |u| `client/` |s| `client/` |t| `client/` |
|
||||
| `client/` |`| `client/` |`| `client/` |`| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |R| `client/` |e| `client/` |q| `client/` |u| `client/` |i| `client/` |r| `client/` |e| `client/` |s| `client/` | | `client/` |[| `client/` |j| `client/` |u| `client/` |s| `client/` |t| `client/` |]| `client/` |(| `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |s| `client/` |:| `client/` |/| `client/` |/| `client/` |g| `client/` |i| `client/` |t| `client/` |h| `client/` |u| `client/` |b| `client/` |.| `client/` |c| `client/` |o| `client/` |m| `client/` |/| `client/` |c| `client/` |a| `client/` |s| `client/` |e| `client/` |y| `client/` |/| `client/` |j| `client/` |u| `client/` |s| `client/` |t| `client/` |)| `client/` |:| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |`| `client/` |`| `client/` |`| `client/` |s| `client/` |h| `client/` |
|
||||
| `client/` |c| `client/` |a| `client/` |r| `client/` |g| `client/` |o| `client/` | | `client/` |i| `client/` |n| `client/` |s| `client/` |t| `client/` |a| `client/` |l| `client/` |l| `client/` | | `client/` |j| `client/` |u| `client/` |s| `client/` |t| `client/` |
|
||||
| `client/` |`| `client/` |`| `client/` |`| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |S| `client/` |e| `client/` |e| `client/` | | `client/` |[| `client/` |`| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |u| `client/` |s| `client/` |a| `client/` |g| `client/` |e| `client/` |.| `client/` |m| `client/` |d| `client/` |`| `client/` |]| `client/` |(| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |u| `client/` |s| `client/` |a| `client/` |g| `client/` |e| `client/` |.| `client/` |m| `client/` |d| `client/` |)| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |u| `client/` |s| `client/` |a| `client/` |g| `client/` |e| `client/` | | `client/` |i| `client/` |n| `client/` |s| `client/` |t| `client/` |r| `client/` |u| `client/` |c| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |s| `client/` |.| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |#| `client/` |#| `client/` | | `client/` |C| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |u| `client/` |r| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |#| `client/` |#| `client/` |#| `client/` | | `client/` |B| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |s| `client/` |:| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |s| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |`| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |`| `client/` |`| `client/` |`| `client/` |i| `client/` |n| `client/` |i| `client/` |
|
||||
| `client/` |#| `client/` | | `client/` |D| `client/` |e| `client/` |f| `client/` |a| `client/` |u| `client/` |l| `client/` |t| `client/` | | `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |n| `client/` |e| `client/` |w| `client/` | | `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |s| `client/` |
|
||||
| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` | | `client/` |=| `client/` | | `client/` |o| `client/` |p| `client/` |e| `client/` |n| `client/` |r| `client/` |o| `client/` |u| `client/` |t| `client/` |e| `client/` |r| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |[| `client/` |o| `client/` |p| `client/` |e| `client/` |n| `client/` |r| `client/` |o| `client/` |u| `client/` |t| `client/` |e| `client/` |r| `client/` |]| `client/` |
|
||||
| `client/` |k| `client/` |e| `client/` |y| `client/` | | `client/` |=| `client/` | | `client/` |s| `client/` |k| `client/` |-| `client/` |o| `client/` |r| `client/` |-| `client/` |v| `client/` |1| `client/` |-| `client/` |.| `client/` |.| `client/` |.| `client/` |
|
||||
| `client/` |m| `client/` |o| `client/` |d| `client/` |e| `client/` |l| `client/` | | `client/` |=| `client/` | | `client/` |q| `client/` |w| `client/` |e| `client/` |n| `client/` |/| `client/` |q| `client/` |w| `client/` |e| `client/` |n| `client/` |3| `client/` |-| `client/` |2| `client/` |3| `client/` |5| `client/` |b| `client/` |-| `client/` |a| `client/` |2| `client/` |2| `client/` |b| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |[| `client/` |a| `client/` |n| `client/` |t| `client/` |h| `client/` |r| `client/` |o| `client/` |p| `client/` |i| `client/` |c| `client/` |]| `client/` |
|
||||
| `client/` |k| `client/` |e| `client/` |y| `client/` | | `client/` |=| `client/` | | `client/` |s| `client/` |k| `client/` |-| `client/` |a| `client/` |n| `client/` |t| `client/` |-| `client/` |.| `client/` |.| `client/` |.| `client/` |
|
||||
| `client/` |m| `client/` |o| `client/` |d| `client/` |e| `client/` |l| `client/` | | `client/` |=| `client/` | | `client/` |c| `client/` |l| `client/` |a| `client/` |u| `client/` |d| `client/` |e| `client/` |-| `client/` |s| `client/` |o| `client/` |n| `client/` |n| `client/` |e| `client/` |t| `client/` |-| `client/` |4| `client/` |-| `client/` |2| `client/` |0| `client/` |2| `client/` |5| `client/` |0| `client/` |5| `client/` |1| `client/` |4| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |[| `client/` |o| `client/` |l| `client/` |l| `client/` |a| `client/` |m| `client/` |a| `client/` |]| `client/` |
|
||||
| `client/` |h| `client/` |o| `client/` |s| `client/` |t| `client/` | | `client/` |=| `client/` | | `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |:| `client/` |/| `client/` |/| `client/` |l| `client/` |o| `client/` |c| `client/` |a| `client/` |l| `client/` |h| `client/` |o| `client/` |s| `client/` |t| `client/` |:| `client/` |1| `client/` |1| `client/` |4| `client/` |3| `client/` |4| `client/` |
|
||||
| `client/` |m| `client/` |o| `client/` |d| `client/` |e| `client/` |l| `client/` | | `client/` |=| `client/` | | `client/` |q| `client/` |w| `client/` |e| `client/` |n| `client/` |3| `client/` |:| `client/` |l| `client/` |a| `client/` |t| `client/` |e| `client/` |s| `client/` |t| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |[| `client/` |k| `client/` |i| `client/` |r| `client/` |o| `client/` |]| `client/` |
|
||||
| `client/` |#| `client/` | | `client/` |k| `client/` |e| `client/` |y| `client/` | | `client/` |a| `client/` |u| `client/` |t| `client/` |o| `client/` |-| `client/` |d| `client/` |e| `client/` |t| `client/` |e| `client/` |c| `client/` |t| `client/` |e| `client/` |d| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |m| `client/` | | `client/` |K| `client/` |i| `client/` |r| `client/` |o| `client/` | | `client/` |C| `client/` |L| `client/` |I| `client/` | | `client/` |i| `client/` |f| `client/` | | `client/` |u| `client/` |n| `client/` |s| `client/` |e| `client/` |t| `client/` |
|
||||
| `client/` |`| `client/` |`| `client/` |`| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |E| `client/` |a| `client/` |c| `client/` |h| `client/` | | `client/` |s| `client/` |e| `client/` |c| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |u| `client/` |r| `client/` |e| `client/` |s| `client/` | | `client/` |a| `client/` | | `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |.| `client/` | | `client/` |T| `client/` |h| `client/` |e| `client/` | | `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |s| `client/` |e| `client/` |l| `client/` |e| `client/` |c| `client/` |t| `client/` |s| `client/` | | `client/` |w| `client/` |h| `client/` |i| `client/` |c| `client/` |h| `client/` | | `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |u| `client/` |s| `client/` |e| `client/` | | `client/` |v| `client/` |i| `client/` |a| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |`| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |`| `client/` | | `client/` |t| `client/` |o| `client/` |p| `client/` |-| `client/` |l| `client/` |e| `client/` |v| `client/` |e| `client/` |l| `client/` | | `client/` |s| `client/` |e| `client/` |t| `client/` |t| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |o| `client/` |r| `client/` | | `client/` |p| `client/` |e| `client/` |r| `client/` |-| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |`| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |=| `client/` |`| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |c| `client/` |f| `client/` |g| `client/` |.| `client/` | | `client/` |S| `client/` |e| `client/` |e| `client/` | | `client/` |`| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` |/| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |s| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |`| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |f| `client/` |u| `client/` |l| `client/` |l| `client/` | | `client/` |t| `client/` |e| `client/` |m| `client/` |p| `client/` |l| `client/` |a| `client/` |t| `client/` |e| `client/` |.| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |E| `client/` |v| `client/` |e| `client/` |r| `client/` |y| `client/` |t| `client/` |h| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |l| `client/` |i| `client/` |v| `client/` |e| `client/` |s| `client/` | | `client/` |u| `client/` |n| `client/` |d| `client/` |e| `client/` |r| `client/` | | `client/` |`| `client/` |$| `client/` |X| `client/` |D| `client/` |G| `client/` |_| `client/` |C| `client/` |O| `client/` |N| `client/` |F| `client/` |I| `client/` |G| `client/` |_| `client/` |H| `client/` |O| `client/` |M| `client/` |E| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |`| `client/` | | `client/` |(| `client/` |d| `client/` |e| `client/` |f| `client/` |a| `client/` |u| `client/` |l| `client/` |t| `client/` |:| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |`| `client/` |)| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |/| `client/` |`| `client/` |,| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` |,| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |s| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` |,| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |s| `client/` |k| `client/` |i| `client/` |l| `client/` |l| `client/` |s| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |s| `client/` |k| `client/` |i| `client/` |l| `client/` |l| `client/` |s| `client/` |/| `client/` |`| `client/` |.| `client/` | | `client/` |P| `client/` |e| `client/` |r| `client/` |s| `client/` |i| `client/` |s| `client/` |t| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |m| `client/` |e| `client/` |m| `client/` |o| `client/` |r| `client/` |y| `client/` | | `client/` |i| `client/` |s| `client/` | | `client/` |m| `client/` |a| `client/` |n| `client/` |a| `client/` |g| `client/` |e| `client/` |d| `client/` | | `client/` |d| `client/` |i| `client/` |r| `client/` |e| `client/` |c| `client/` |t| `client/` |l| `client/` |y| `client/` | | `client/` |b| `client/` |y| `client/` | | `client/` |O| `client/` |p| `client/` |t| `client/` |M| `client/` |e| `client/` |m| `client/` | | `client/` |a| `client/` |t| `client/` | | `client/` |`| `client/` |$| `client/` |X| `client/` |D| `client/` |G| `client/` |_| `client/` |D| `client/` |A| `client/` |T| `client/` |A| `client/` |_| `client/` |H| `client/` |O| `client/` |M| `client/` |E| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |o| `client/` |p| `client/` |t| `client/` |m| `client/` |e| `client/` |m| `client/` |`| `client/` | | `client/` |(| `client/` |d| `client/` |e| `client/` |f| `client/` |a| `client/` |u| `client/` |l| `client/` |t| `client/` |:| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |l| `client/` |o| `client/` |c| `client/` |a| `client/` |l| `client/` |/| `client/` |s| `client/` |h| `client/` |a| `client/` |r| `client/` |e| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |o| `client/` |p| `client/` |t| `client/` |m| `client/` |e| `client/` |m| `client/` |`| `client/` |)| `client/` |.| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |#| `client/` |#| `client/` | | `client/` |W| `client/` |h| `client/` |a| `client/` |t| `client/` | | `client/` |y| `client/` |o| `client/` |u| `client/` | | `client/` |c| `client/` |a| `client/` |n| `client/` | | `client/` |d| `client/` |o| `client/` |
|
||||
| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |C| `client/` |a| `client/` |p| `client/` |a| `client/` |b| `client/` |i| `client/` |l| `client/` |i| `client/` |t| `client/` |y| `client/` | | `client/` ||| `client/` | | `client/` |H| `client/` |o| `client/` |w| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |C| `client/` |L| `client/` |I| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |o| `client/` |`| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |u| `client/` |n| `client/` |i| `client/` |f| `client/` |i| `client/` |e| `client/` |d| `client/` | | `client/` |n| `client/` |a| `client/` |m| `client/` |e| `client/` |s| `client/` |p| `client/` |a| `client/` |c| `client/` |e| `client/` | | `client/` |C| `client/` |L| `client/` |I| `client/` |:| `client/` | | `client/` |`| `client/` |r| `client/` |e| `client/` |a| `client/` |d| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |w| `client/` |r| `client/` |i| `client/` |t| `client/` |e| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |l| `client/` |s| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |n| `client/` |e| `client/` |w| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |c| `client/` |t| `client/` |l| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |t| `client/` |u| `client/` |i| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |e| `client/` |n| `client/` |v| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |g| `client/` |e| `client/` |n| `client/` |e| `client/` |r| `client/` |a| `client/` |t| `client/` |e| `client/` |`| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |T| `client/` |e| `client/` |r| `client/` |m| `client/` |i| `client/` |n| `client/` |a| `client/` |l| `client/` | | `client/` |T| `client/` |U| `client/` |I| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |o| `client/` | | `client/` |t| `client/` |u| `client/` |i| `client/` |`| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |t| `client/` |m| `client/` |u| `client/` |x| `client/` | | `client/` |l| `client/` |a| `client/` |y| `client/` |o| `client/` |u| `client/` |t| `client/` |,| `client/` | | `client/` |n| `client/` |o| `client/` | | `client/` |w| `client/` |i| `client/` |d| `client/` |g| `client/` |e| `client/` |t| `client/` |s| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |O| `client/` |n| `client/` |e| `client/` |-| `client/` |s| `client/` |h| `client/` |o| `client/` |t| `client/` | | `client/` |L| `client/` |L| `client/` |M| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |o| `client/` | | `client/` |g| `client/` |e| `client/` |n| `client/` |e| `client/` |r| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |"| `client/` |e| `client/` |x| `client/` |p| `client/` |l| `client/` |a| `client/` |i| `client/` |n| `client/` | | `client/` |m| `client/` |o| `client/` |n| `client/` |a| `client/` |d| `client/` |s| `client/` |"| `client/` |`| `client/` | | `client/` |o| `client/` |r| `client/` | | `client/` |`| `client/` |e| `client/` |c| `client/` |h| `client/` |o| `client/` | | `client/` |"| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |"| `client/` | | `client/` |\| `client/` ||| `client/` | | `client/` |o| `client/` | | `client/` |g| `client/` |e| `client/` |n| `client/` |e| `client/` |r| `client/` |a| `client/` |t| `client/` |e| `client/` |`| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |R| `client/` |u| `client/` |n| `client/` | | `client/` |a| `client/` |n| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |C| `client/` |r| `client/` |e| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |a| `client/` | | `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |+| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |v| `client/` |i| `client/` |a| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` |n| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |n| `client/` |e| `client/` |c| `client/` |t| `client/` | | `client/` |w| `client/` |i| `client/` |t| `client/` |h| `client/` | | `client/` |a| `client/` |n| `client/` |y| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |n| `client/` |d| `client/` | | `client/` |(| `client/` |[| `client/` |e| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |]| `client/` |(| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |e| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |.| `client/` |m| `client/` |d| `client/` |)| `client/` |,| `client/` | | `client/` |K| `client/` |D| `client/` |E| `client/` | | `client/` |(| `client/` |G| `client/` |U| `client/` |I| `client/` |/| `client/` |K| `client/` |R| `client/` |u| `client/` |n| `client/` |n| `client/` |e| `client/` |r| `client/` |/| `client/` |K| `client/` |a| `client/` |t| `client/` |e| `client/` |)| `client/` |,| `client/` | | `client/` |a| `client/` |c| `client/` |m| `client/` |e| `client/` |,| `client/` | | `client/` |`| `client/` |o| `client/` | | `client/` |t| `client/` |u| `client/` |i| `client/` |`| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |P| `client/` |a| `client/` |i| `client/` |r| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |g| `client/` |r| `client/` |a| `client/` |m| `client/` |m| `client/` |i| `client/` |n| `client/` |g| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |W| `client/` |i| `client/` |r| `client/` |e| `client/` | | `client/` |a| `client/` |n| `client/` | | `client/` |o| `client/` |b| `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |y| `client/` |o| `client/` |u| `client/` |r| `client/` | | `client/` |c| `client/` |o| `client/` |d| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |v| `client/` |i| `client/` |a| `client/` | | `client/` |`| `client/` |f| `client/` |e| `client/` |e| `client/` |d| `client/` |`| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |r| `client/` |e| `client/` |a| `client/` |l| `client/` |-| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` | | `client/` |o| `client/` |b| `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |s| `client/` | | `client/` |a| `client/` |s| `client/` | | `client/` |y| `client/` |o| `client/` |u| `client/` | | `client/` |w| `client/` |o| `client/` |r| `client/` |k| `client/` | | `client/` |(| `client/` |[| `client/` |d| `client/` |o| `client/` |c| `client/` |]| `client/` |(| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |u| `client/` |s| `client/` |a| `client/` |g| `client/` |e| `client/` |.| `client/` |m| `client/` |d| `client/` |#| `client/` |p| `client/` |a| `client/` |i| `client/` |r| `client/` |-| `client/` |p| `client/` |r| `client/` |o| `client/` |g| `client/` |r| `client/` |a| `client/` |m| `client/` |m| `client/` |i| `client/` |n| `client/` |g| `client/` |-| `client/` |-| `client/` |o| `client/` |b| `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` |-| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |)| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |R| `client/` |e| `client/` |m| `client/` |o| `client/` |t| `client/` |e| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |e| `client/` |t| `client/` | | `client/` |`| `client/` |r| `client/` |e| `client/` |m| `client/` |o| `client/` |t| `client/` |e| `client/` |=| `client/` |u| `client/` |s| `client/` |e| `client/` |r| `client/` |@| `client/` |h| `client/` |o| `client/` |s| `client/` |t| `client/` |`| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |B| `client/` |a| `client/` |c| `client/` |k| `client/` |g| `client/` |r| `client/` |o| `client/` |u| `client/` |n| `client/` |d| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |c| `client/` |e| `client/` |s| `client/` |s| `client/` |e| `client/` |s| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |P| `client/` |a| `client/` |s| `client/` |s| `client/` | | `client/` |`| `client/` |"| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |g| `client/` |r| `client/` |o| `client/` |u| `client/` |n| `client/` |d| `client/` |"| `client/` |:| `client/` | | `client/` |t| `client/` |r| `client/` |u| `client/` |e| `client/` |`| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |a| `client/` |n| `client/` |y| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` |s| `client/` | | `client/` |w| `client/` |i| `client/` |t| `client/` |h| `client/` | | `client/` |n| `client/` |o| `client/` | | `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` |o| `client/` |u| `client/` |t| `client/` |,| `client/` | | `client/` |o| `client/` |u| `client/` |t| `client/` |p| `client/` |u| `client/` |t| `client/` | | `client/` |p| `client/` |u| `client/` |s| `client/` |h| `client/` |e| `client/` |d| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |o| `client/` |n| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |p| `client/` |l| `client/` |e| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |P| `client/` |a| `client/` |r| `client/` |a| `client/` |l| `client/` |l| `client/` |e| `client/` |l| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |N| `client/` |o| `client/` |n| `client/` |-| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |l| `client/` |i| `client/` |c| `client/` |t| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |c| `client/` |a| `client/` |l| `client/` |l| `client/` |s| `client/` | | `client/` |w| `client/` |i| `client/` |t| `client/` |h| `client/` |i| `client/` |n| `client/` | | `client/` |a| `client/` | | `client/` |t| `client/` |u| `client/` |r| `client/` |n| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |p| `client/` |a| `client/` |r| `client/` |a| `client/` |l| `client/` |l| `client/` |e| `client/` |l| `client/` | | `client/` |(| `client/` |s| `client/` |c| `client/` |o| `client/` |p| `client/` |e| `client/` |-| `client/` |b| `client/` |a| `client/` |s| `client/` |e| `client/` |d| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |l| `client/` |i| `client/` |c| `client/` |t| `client/` | | `client/` |s| `client/` |c| `client/` |h| `client/` |e| `client/` |d| `client/` |u| `client/` |l| `client/` |i| `client/` |n| `client/` |g| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |S| `client/` |u| `client/` |b| `client/` |-| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |s| `client/` |u| `client/` |b| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |_| `client/` |s| `client/` |p| `client/` |a| `client/` |w| `client/` |n| `client/` |`| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |d| `client/` |e| `client/` |l| `client/` |e| `client/` |g| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |w| `client/` |o| `client/` |r| `client/` |k| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |a| `client/` | | `client/` |t| `client/` |r| `client/` |a| `client/` |n| `client/` |s| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |w| `client/` |i| `client/` |t| `client/` |h| `client/` | | `client/` |a| `client/` |n| `client/` | | `client/` |i| `client/` |n| `client/` |d| `client/` |e| `client/` |p| `client/` |e| `client/` |n| `client/` |d| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |x| `client/` |t| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` |.| `client/` | | `client/` |T| `client/` |h| `client/` |e| `client/` | | `client/` |c| `client/` |h| `client/` |i| `client/` |l| `client/` |d| `client/` | | `client/` |r| `client/` |e| `client/` |c| `client/` |e| `client/` |i| `client/` |v| `client/` |e| `client/` |s| `client/` | | `client/` |a| `client/` | | `client/` |o| `client/` |n| `client/` |e| `client/` |-| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` | | `client/` |s| `client/` |n| `client/` |a| `client/` |p| `client/` |s| `client/` |h| `client/` |o| `client/` |t| `client/` | | `client/` |o| `client/` |f| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |p| `client/` |a| `client/` |r| `client/` |e| `client/` |n| `client/` |t| `client/` |'| `client/` |s| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |v| `client/` |e| `client/` |r| `client/` |s| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |h| `client/` |i| `client/` |s| `client/` |t| `client/` |o| `client/` |r| `client/` |y| `client/` |,| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` |n| `client/` | | `client/` |r| `client/` |e| `client/` |t| `client/` |u| `client/` |r| `client/` |n| `client/` |s| `client/` | | `client/` |o| `client/` |n| `client/` |l| `client/` |y| `client/` | | `client/` |i| `client/` |t| `client/` |s| `client/` | | `client/` |f| `client/` |i| `client/` |n| `client/` |a| `client/` |l| `client/` | | `client/` |r| `client/` |e| `client/` |p| `client/` |l| `client/` |y| `client/` |;| `client/` | | `client/` |i| `client/` |t| `client/` | | `client/` |c| `client/` |a| `client/` |n| `client/` |n| `client/` |o| `client/` |t| `client/` | | `client/` |m| `client/` |u| `client/` |t| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |p| `client/` |a| `client/` |r| `client/` |e| `client/` |n| `client/` |t| `client/` |'| `client/` |s| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |x| `client/` |t| `client/` |.| `client/` | | `client/` |M| `client/` |u| `client/` |l| `client/` |t| `client/` |i| `client/` |p| `client/` |l| `client/` |e| `client/` | | `client/` |s| `client/` |p| `client/` |a| `client/` |w| `client/` |n| `client/` |s| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |p| `client/` |a| `client/` |r| `client/` |a| `client/` |l| `client/` |l| `client/` |e| `client/` |l| `client/` |.| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |A| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |W| `client/` |r| `client/` |i| `client/` |t| `client/` |e| `client/` | | `client/` |a| `client/` | | `client/` |J| `client/` |S| `client/` |O| `client/` |N| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` |w| `client/` |i| `client/` |t| `client/` |h| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |T| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |D| `client/` |r| `client/` |o| `client/` |p| `client/` | | `client/` |a| `client/` |n| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |a| `client/` |b| `client/` |l| `client/` |e| `client/` | | `client/` |+| `client/` | | `client/` |`| `client/` |.| `client/` |m| `client/` |e| `client/` |t| `client/` |a| `client/` |`| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |l| `client/` |o| `client/` |a| `client/` |d| `client/` | | `client/` |a| `client/` |t| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` | | `client/` |v| `client/` |i| `client/` |a| `client/` | | `client/` |`| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |_| `client/` |l| `client/` |o| `client/` |a| `client/` |d| `client/` |`| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |T| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |d| `client/` |e| `client/` |f| `client/` |i| `client/` |n| `client/` |i| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |s| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |D| `client/` |e| `client/` |f| `client/` |i| `client/` |n| `client/` |e| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` | | `client/` |w| `client/` |i| `client/` |t| `client/` |h| `client/` | | `client/` |`| `client/` |.| `client/` |m| `client/` |e| `client/` |t| `client/` |a| `client/` |`| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` | | `client/` |o| `client/` |n| `client/` |l| `client/` |y| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |n| `client/` |o| `client/` | | `client/` |w| `client/` |r| `client/` |a| `client/` |p| `client/` |p| `client/` |e| `client/` |r| `client/` | | `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` | | `client/` |n| `client/` |e| `client/` |e| `client/` |d| `client/` |e| `client/` |d| `client/` | | `client/` |(| `client/` |[| `client/` |d| `client/` |o| `client/` |c| `client/` |]| `client/` |(| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |-| `client/` |d| `client/` |e| `client/` |f| `client/` |i| `client/` |n| `client/` |i| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |s| `client/` |.| `client/` |m| `client/` |d| `client/` |)| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |D| `client/` |o| `client/` |m| `client/` |a| `client/` |i| `client/` |n| `client/` | | `client/` |s| `client/` |k| `client/` |i| `client/` |l| `client/` |l| `client/` |s| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |L| `client/` |o| `client/` |a| `client/` |d| `client/` | | `client/` |m| `client/` |a| `client/` |r| `client/` |k| `client/` |d| `client/` |o| `client/` |w| `client/` |n| `client/` | | `client/` |s| `client/` |k| `client/` |i| `client/` |l| `client/` |l| `client/` | | `client/` |m| `client/` |o| `client/` |d| `client/` |u| `client/` |l| `client/` |e| `client/` |s| `client/` | | `client/` |a| `client/` |t| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |#| `client/` |#| `client/` | | `client/` |R| `client/` |e| `client/` |p| `client/` |o| `client/` |s| `client/` |i| `client/` |t| `client/` |o| `client/` |r| `client/` |y| `client/` | | `client/` |l| `client/` |a| `client/` |y| `client/` |o| `client/` |u| `client/` |t| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |S| `client/` |i| `client/` |n| `client/` |g| `client/` |l| `client/` |e| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` |m| `client/` |o| `client/` |d| `client/` |u| `client/` |l| `client/` |e| `client/` |.| `client/` | | `client/` |K| `client/` |D| `client/` |E| `client/` | | `client/` |i| `client/` |n| `client/` |t| `client/` |e| `client/` |g| `client/` |r| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |l| `client/` |i| `client/` |v| `client/` |e| `client/` |s| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |`| `client/` |k| `client/` |d| `client/` |e| `client/` |/| `client/` |`| `client/` | | `client/` |d| `client/` |i| `client/` |r| `client/` |e| `client/` |c| `client/` |t| `client/` |o| `client/` |r| `client/` |y| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |i| `client/` |s| `client/` | | `client/` |b| `client/` |u| `client/` |i| `client/` |l| `client/` |t| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |m| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |s| `client/` |a| `client/` |m| `client/` |e| `client/` | | `client/` |r| `client/` |e| `client/` |p| `client/` |o| `client/` |s| `client/` |i| `client/` |t| `client/` |o| `client/` |r| `client/` |y| `client/` |.| `client/` |
|
||||
| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |D| `client/` |i| `client/` |r| `client/` |e| `client/` |c| `client/` |t| `client/` |o| `client/` |r| `client/` |y| `client/` | | `client/` ||| `client/` | | `client/` |L| `client/` |a| `client/` |n| `client/` |g| `client/` |u| `client/` |a| `client/` |g| `client/` |e| `client/` | | `client/` ||| `client/` | | `client/` |D| `client/` |e| `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |T| `client/` |h| `client/` |e| `client/` | | `client/` |m| `client/` |a| `client/` |i| `client/` |n| `client/` | | `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |b| `client/` |i| `client/` |n| `client/` |a| `client/` |r| `client/` |y| `client/` | | `client/` |(| `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |/| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |n| `client/` |a| `client/` |m| `client/` |e| `client/` |s| `client/` |p| `client/` |a| `client/` |c| `client/` |e| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |T| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |(| `client/` |s| `client/` |e| `client/` |p| `client/` |a| `client/` |r| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` |,| `client/` | | `client/` |s| `client/` |a| `client/` |n| `client/` |d| `client/` |b| `client/` |o| `client/` |x| `client/` |e| `client/` |d| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |-| `client/` |9| `client/` |p| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |C| `client/` |L| `client/` |I| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |T| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |l| `client/` |i| `client/` |b| `client/` |r| `client/` |a| `client/` |r| `client/` |y| `client/` | | `client/` |+| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |d| `client/` |i| `client/` |s| `client/` |c| `client/` |o| `client/` |v| `client/` |e| `client/` |r| `client/` |y| `client/` | | `client/` |(| `client/` |9| `client/` |P| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |v| `client/` |i| `client/` |r| `client/` |t| `client/` |f| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |F| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` | | `client/` |d| `client/` |e| `client/` |c| `client/` |l| `client/` |a| `client/` |r| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |E| `client/` |D| `client/` |S| `client/` |L| `client/` | | `client/` |(| `client/` |g| `client/` |e| `client/` |n| `client/` |e| `client/` |r| `client/` |i| `client/` |c| `client/` |,| `client/` | | `client/` |r| `client/` |e| `client/` |u| `client/` |s| `client/` |a| `client/` |b| `client/` |l| `client/` |e| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |t| `client/` |o| `client/` |c| `client/` |o| `client/` |l| `client/` | | `client/` |l| `client/` |i| `client/` |b| `client/` |r| `client/` |a| `client/` |r| `client/` |y| `client/` | | `client/` |+| `client/` | | `client/` |n| `client/` |a| `client/` |t| `client/` |i| `client/` |v| `client/` |e| `client/` | | `client/` |C| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |/| `client/` |l| `client/` |s| `client/` |p| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |L| `client/` |S| `client/` |P| `client/` | | `client/` |b| `client/` |r| `client/` |i| `client/` |d| `client/` |g| `client/` |e| `client/` | | `client/` |d| `client/` |a| `client/` |e| `client/` |m| `client/` |o| `client/` |n| `client/` | | `client/` |+| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |l| `client/` |i| `client/` |b| `client/` |r| `client/` |a| `client/` |r| `client/` |y| `client/` | | `client/` |(| `client/` |g| `client/` |o| `client/` |p| `client/` |l| `client/` |s| `client/` |,| `client/` | | `client/` |c| `client/` |l| `client/` |a| `client/` |n| `client/` |g| `client/` |d| `client/` |,| `client/` | | `client/` |i| `client/` |n| `client/` |t| `client/` |e| `client/` |l| `client/` |e| `client/` |p| `client/` |h| `client/` |e| `client/` |n| `client/` |s| `client/` |e| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |e| `client/` |n| `client/` |v| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |E| `client/` |n| `client/` |v| `client/` |i| `client/` |r| `client/` |o| `client/` |n| `client/` |m| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |v| `client/` |a| `client/` |r| `client/` |i| `client/` |a| `client/` |b| `client/` |l| `client/` |e| `client/` | | `client/` |d| `client/` |e| `client/` |f| `client/` |a| `client/` |u| `client/` |l| `client/` |t| `client/` |s| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |f| `client/` |o| `client/` |r| `client/` |m| `client/` |a| `client/` |t| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |O| `client/` |u| `client/` |t| `client/` |p| `client/` |u| `client/` |t| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` |m| `client/` |a| `client/` |t| `client/` |t| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |l| `client/` |o| `client/` |g| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |t| `client/` |r| `client/` |u| `client/` |c| `client/` |t| `client/` |u| `client/` |r| `client/` |e| `client/` |d| `client/` | | `client/` |l| `client/` |o| `client/` |g| `client/` |g| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |p| `client/` |a| `client/` |t| `client/` |h| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |X| `client/` |D| `client/` |G| `client/` | | `client/` |p| `client/` |a| `client/` |t| `client/` |h| `client/` | | `client/` |r| `client/` |e| `client/` |s| `client/` |o| `client/` |l| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |k| `client/` |d| `client/` |e| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |C| `client/` |+| `client/` |+| `client/` |/| `client/` |Q| `client/` |t| `client/` |6| `client/` | | `client/` ||| `client/` | | `client/` |K| `client/` |D| `client/` |E| `client/` | | `client/` |G| `client/` |U| `client/` |I| `client/` |,| `client/` | | `client/` |K| `client/` |a| `client/` |t| `client/` |e| `client/` |,| `client/` | | `client/` |K| `client/` |I| `client/` |O| `client/` |,| `client/` | | `client/` |K| `client/` |R| `client/` |u| `client/` |n| `client/` |n| `client/` |e| `client/` |r| `client/` |,| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |D| `client/` |o| `client/` |l| `client/` |p| `client/` |h| `client/` |i| `client/` |n| `client/` | | `client/` |i| `client/` |n| `client/` |t| `client/` |e| `client/` |g| `client/` |r| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |o| `client/` |n| `client/` |t| `client/` |r| `client/` |i| `client/` |b| `client/` |/| `client/` |e| `client/` |l| `client/` |i| `client/` |s| `client/` |p| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |E| `client/` |m| `client/` |a| `client/` |c| `client/` |s| `client/` | | `client/` |L| `client/` |i| `client/` |s| `client/` |p| `client/` | | `client/` ||| `client/` | | `client/` |e| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |.| `client/` |e| `client/` |l| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |E| `client/` |m| `client/` |a| `client/` |c| `client/` |s| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |n| `client/` |d| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` |/| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |J| `client/` |S| `client/` |O| `client/` |N| `client/` | | `client/` ||| `client/` | | `client/` |A| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |s| `client/` | | `client/` |(| `client/` |i| `client/` |n| `client/` |s| `client/` |t| `client/` |a| `client/` |l| `client/` |l| `client/` |e| `client/` |d| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` |/| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |M| `client/` |a| `client/` |r| `client/` |k| `client/` |d| `client/` |o| `client/` |w| `client/` |n| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |t| `client/` |e| `client/` |m| `client/` |p| `client/` |l| `client/` |a| `client/` |t| `client/` |e| `client/` |s| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |M| `client/` |i| `client/` |x| `client/` |e| `client/` |d| `client/` | | `client/` ||| `client/` | | `client/` |T| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |a| `client/` |b| `client/` |l| `client/` |e| `client/` |s| `client/` | | `client/` |(| `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |s| `client/` | | `client/` |+| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |p| `client/` |i| `client/` |l| `client/` |e| `client/` |d| `client/` |)| `client/` | | `client/` |+| `client/` | | `client/` |`| `client/` |.| `client/` |m| `client/` |e| `client/` |t| `client/` |a| `client/` |`| `client/` | | `client/` |s| `client/` |i| `client/` |d| `client/` |e| `client/` |c| `client/` |a| `client/` |r| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` |/| `client/` |s| `client/` |k| `client/` |i| `client/` |l| `client/` |l| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |M| `client/` |a| `client/` |r| `client/` |k| `client/` |d| `client/` |o| `client/` |w| `client/` |n| `client/` | | `client/` ||| `client/` | | `client/` |D| `client/` |o| `client/` |m| `client/` |a| `client/` |i| `client/` |n| `client/` | | `client/` |k| `client/` |n| `client/` |o| `client/` |w| `client/` |l| `client/` |e| `client/` |d| `client/` |g| `client/` |e| `client/` | | `client/` |m| `client/` |o| `client/` |d| `client/` |u| `client/` |l| `client/` |e| `client/` |s| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` |/| `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |h| `client/` |e| `client/` |l| `client/` |l| `client/` | | `client/` ||| `client/` | | `client/` |C| `client/` |L| `client/` |I| `client/` | | `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |s| `client/` | | `client/` |(| `client/` |`| `client/` |o| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |-| `client/` |r| `client/` |e| `client/` |m| `client/` |o| `client/` |u| `client/` |n| `client/` |t| `client/` |`| `client/` |,| `client/` | | `client/` |a| `client/` |c| `client/` |m| `client/` |e| `client/` | | `client/` |h| `client/` |e| `client/` |l| `client/` |p| `client/` |e| `client/` |r| `client/` |s| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |M| `client/` |a| `client/` |r| `client/` |k| `client/` |d| `client/` |o| `client/` |w| `client/` |n| `client/` | | `client/` ||| `client/` | | `client/` |A| `client/` |r| `client/` |c| `client/` |h| `client/` |i| `client/` |t| `client/` |e| `client/` |c| `client/` |t| `client/` |u| `client/` |r| `client/` |e| `client/` | | `client/` |d| `client/` |o| `client/` |c| `client/` |s| `client/` |,| `client/` | | `client/` |u| `client/` |s| `client/` |a| `client/` |g| `client/` |e| `client/` | | `client/` |g| `client/` |u| `client/` |i| `client/` |d| `client/` |e| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |#| `client/` |#| `client/` |#| `client/` | | `client/` |I| `client/` |n| `client/` |t| `client/` |e| `client/` |r| `client/` |n| `client/` |a| `client/` |l| `client/` | | `client/` |p| `client/` |a| `client/` |c| `client/` |k| `client/` |a| `client/` |g| `client/` |e| `client/` |s| `client/` | | `client/` |(| `client/` |n| `client/` |o| `client/` |t| `client/` | | `client/` |i| `client/` |m| `client/` |p| `client/` |o| `client/` |r| `client/` |t| `client/` |a| `client/` |b| `client/` |l| `client/` |e| `client/` | | `client/` |o| `client/` |u| `client/` |t| `client/` |s| `client/` |i| `client/` |d| `client/` |e| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` |i| `client/` |r| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |m| `client/` |a| `client/` |n| `client/` |d| `client/` |)| `client/` |
|
||||
| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |P| `client/` |a| `client/` |c| `client/` |k| `client/` |a| `client/` |g| `client/` |e| `client/` | | `client/` ||| `client/` | | `client/` |P| `client/` |a| `client/` |r| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` ||| `client/` | | `client/` |D| `client/` |e| `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |A| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |l| `client/` |o| `client/` |o| `client/` |p| `client/` |,| `client/` | | `client/` |h| `client/` |i| `client/` |s| `client/` |t| `client/` |o| `client/` |r| `client/` |y| `client/` |,| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |r| `client/` |e| `client/` |s| `client/` |o| `client/` |l| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |,| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |x| `client/` |t| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |p| `client/` |a| `client/` |c| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |L| `client/` |L| `client/` |M| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |v| `client/` |i| `client/` |d| `client/` |e| `client/` |r| `client/` |s| `client/` | | `client/` |(| `client/` |A| `client/` |n| `client/` |t| `client/` |h| `client/` |r| `client/` |o| `client/` |p| `client/` |i| `client/` |c| `client/` |,| `client/` | | `client/` |O| `client/` |p| `client/` |e| `client/` |n| `client/` |A| `client/` |I| `client/` |/| `client/` |O| `client/` |p| `client/` |e| `client/` |n| `client/` |R| `client/` |o| `client/` |u| `client/` |t| `client/` |e| `client/` |r| `client/` |,| `client/` | | `client/` |O| `client/` |l| `client/` |l| `client/` |a| `client/` |m| `client/` |a| `client/` |,| `client/` | | `client/` |G| `client/` |e| `client/` |m| `client/` |i| `client/` |n| `client/` |i| `client/` |,| `client/` | | `client/` |C| `client/` |o| `client/` |p| `client/` |i| `client/` |l| `client/` |o| `client/` |t| `client/` |,| `client/` | | `client/` |K| `client/` |i| `client/` |r| `client/` |o| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |l| `client/` |i| `client/` |f| `client/` |e| `client/` |c| `client/` |y| `client/` |c| `client/` |l| `client/` |e| `client/` |,| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |,| `client/` | | `client/` |p| `client/` |e| `client/` |r| `client/` |s| `client/` |i| `client/` |s| `client/` |t| `client/` |e| `client/` |n| `client/` |c| `client/` |e| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |f| `client/` |s| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` | | `client/` |t| `client/` |r| `client/` |e| `client/` |e| `client/` | | `client/` |(| `client/` |v| `client/` |i| `client/` |r| `client/` |t| `client/` |f| `client/` |s| `client/` |-| `client/` |d| `client/` |e| `client/` |c| `client/` |l| `client/` |a| `client/` |r| `client/` |e| `client/` |d| `client/` | | `client/` |n| `client/` |a| `client/` |m| `client/` |e| `client/` |s| `client/` |p| `client/` |a| `client/` |c| `client/` |e| `client/` |,| `client/` | | `client/` |c| `client/` |t| `client/` |l| `client/` | | `client/` |d| `client/` |i| `client/` |s| `client/` |p| `client/` |a| `client/` |t| `client/` |c| `client/` |h| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |b| `client/` |y| `client/` |p| `client/` |a| `client/` |s| `client/` |s| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |B| `client/` |y| `client/` |p| `client/` |a| `client/` |s| `client/` |s| `client/` | | `client/` |b| `client/` |r| `client/` |o| `client/` |k| `client/` |e| `client/` |r| `client/` | | `client/` |(| `client/` |s| `client/` |a| `client/` |n| `client/` |d| `client/` |b| `client/` |o| `client/` |x| `client/` | | `client/` |e| `client/` |s| `client/` |c| `client/` |a| `client/` |p| `client/` |e| `client/` | | `client/` |a| `client/` |p| `client/` |p| `client/` |r| `client/` |o| `client/` |v| `client/` |a| `client/` |l| `client/` |)| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |p| `client/` |a| `client/` |w| `client/` |n| `client/` |s| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |n| `client/` |e| `client/` |c| `client/` |t| `client/` |s| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |s| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |P| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |t| `client/` |e| `client/` |m| `client/` |p| `client/` |l| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |r| `client/` |e| `client/` |s| `client/` |o| `client/` |l| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |r| `client/` |e| `client/` |g| `client/` |i| `client/` |s| `client/` |t| `client/` |r| `client/` |y| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |P| `client/` |e| `client/` |r| `client/` |-| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |r| `client/` |e| `client/` |g| `client/` |i| `client/` |s| `client/` |t| `client/` |r| `client/` |y| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |a| `client/` |n| `client/` |d| `client/` |b| `client/` |o| `client/` |x| `client/` |e| `client/` |d| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |s| `client/` |a| `client/` |n| `client/` |d| `client/` |b| `client/` |o| `client/` |x| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |L| `client/` |a| `client/` |n| `client/` |d| `client/` |l| `client/` |o| `client/` |c| `client/` |k| `client/` | | `client/` |s| `client/` |a| `client/` |n| `client/` |d| `client/` |b| `client/` |o| `client/` |x| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |w| `client/` |r| `client/` |a| `client/` |p| `client/` |p| `client/` |e| `client/` |r| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` ||| `client/` | | `client/` |`| `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` | | `client/` |+| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |c| `client/` | | `client/` |m| `client/` |a| `client/` |n| `client/` |a| `client/` |g| `client/` |e| `client/` |m| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` ||| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |#| `client/` |#| `client/` | | `client/` |A| `client/` |r| `client/` |c| `client/` |h| `client/` |i| `client/` |t| `client/` |e| `client/` |c| `client/` |t| `client/` |u| `client/` |r| `client/` |e| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |`| `client/` |`| `client/` |`| `client/` |m| `client/` |e| `client/` |r| `client/` |m| `client/` |a| `client/` |i| `client/` |d| `client/` |
|
||||
| `client/` |g| `client/` |r| `client/` |a| `client/` |p| `client/` |h| `client/` | | `client/` |T| `client/` |B| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |s| `client/` |u| `client/` |b| `client/` |g| `client/` |r| `client/` |a| `client/` |p| `client/` |h| `client/` | | `client/` |"| `client/` |F| `client/` |r| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |n| `client/` |d| `client/` |s| `client/` | | `client/` |(| `client/` |a| `client/` |l| `client/` |l| `client/` | | `client/` |u| `client/` |s| `client/` |e| `client/` | | `client/` |o| `client/` | | `client/` |/| `client/` | | `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |-| `client/` |9| `client/` |p| `client/` |)| `client/` |"| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |T| `client/` |U| `client/` |I| `client/` |[| `client/` |"| `client/` |o| `client/` | | `client/` |t| `client/` |u| `client/` |i| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |(| `client/` |t| `client/` |m| `client/` |u| `client/` |x| `client/` | | `client/` |+| `client/` | | `client/` |o| `client/` | | `client/` |r| `client/` |e| `client/` |a| `client/` |d| `client/` |/| `client/` |c| `client/` |t| `client/` |l| `client/` |)| `client/` |"| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |K| `client/` |D| `client/` |E| `client/` |[| `client/` |K| `client/` |D| `client/` |E| `client/` | | `client/` |G| `client/` |U| `client/` |I| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |-| `client/` |9| `client/` |p| `client/` | | `client/` |n| `client/` |a| `client/` |t| `client/` |i| `client/` |v| `client/` |e| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |K| `client/` |A| `client/` |T| `client/` |E| `client/` |[| `client/` |K| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |p| `client/` |l| `client/` |u| `client/` |g| `client/` |i| `client/` |n| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |E| `client/` |M| `client/` |A| `client/` |C| `client/` |S| `client/` |[| `client/` |E| `client/` |m| `client/` |a| `client/` |c| `client/` |s| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |e| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |.| `client/` |e| `client/` |l| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |-| `client/` |9| `client/` |p| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |A| `client/` |C| `client/` |M| `client/` |E| `client/` |[| `client/` |P| `client/` |l| `client/` |a| `client/` |n| `client/` | | `client/` |9| `client/` | | `client/` |a| `client/` |c| `client/` |m| `client/` |e| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |S| `client/` |C| `client/` |R| `client/` |I| `client/` |P| `client/` |T| `client/` |S| `client/` |[| `client/` |S| `client/` |h| `client/` |e| `client/` |l| `client/` |l| `client/` | | `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |s| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |o| `client/` | | `client/` |r| `client/` |e| `client/` |a| `client/` |d| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |o| `client/` | | `client/` |c| `client/` |t| `client/` |l| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |o| `client/` | | `client/` |w| `client/` |r| `client/` |i| `client/` |t| `client/` |e| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |e| `client/` |n| `client/` |d| `client/` |
|
||||
| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |s| `client/` |u| `client/` |b| `client/` |g| `client/` |r| `client/` |a| `client/` |p| `client/` |h| `client/` | | `client/` |"| `client/` |o| `client/` | | `client/` |C| `client/` |L| `client/` |I| `client/` |"| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |O| `client/` |[| `client/` |"| `client/` |o| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |p| `client/` |a| `client/` |t| `client/` |h| `client/` | | `client/` |r| `client/` |e| `client/` |s| `client/` |o| `client/` |l| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |c| `client/` |t| `client/` |l| `client/` | | `client/` |d| `client/` |i| `client/` |s| `client/` |p| `client/` |a| `client/` |t| `client/` |c| `client/` |h| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |R| `client/` |E| `client/` |P| `client/` |L| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |T| `client/` |U| `client/` |I| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |p| `client/` |o| `client/` |s| `client/` |i| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |"| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |e| `client/` |n| `client/` |d| `client/` |
|
||||
| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |s| `client/` |u| `client/` |b| `client/` |g| `client/` |r| `client/` |a| `client/` |p| `client/` |h| `client/` | | `client/` |"| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |"| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |P| `client/` |9| `client/` |[| `client/` |9| `client/` |P| `client/` | | `client/` |F| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |/| `client/` | | `client/` |n| `client/` |a| `client/` |m| `client/` |e| `client/` |s| `client/` |p| `client/` |a| `client/` |c| `client/` |e| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |S| `client/` |E| `client/` |S| `client/` |S| `client/` |[| `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |.| `client/` |S| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |n| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |p| `client/` |e| `client/` |r| `client/` |s| `client/` |i| `client/` |s| `client/` |t| `client/` |e| `client/` |n| `client/` |c| `client/` |e| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |A| `client/` |G| `client/` |[| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |.| `client/` |A| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |l| `client/` |o| `client/` |o| `client/` |p| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |p| `client/` |a| `client/` |c| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |a| `client/` |s| `client/` |s| `client/` |e| `client/` |m| `client/` |b| `client/` |l| `client/` |y| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |e| `client/` |n| `client/` |d| `client/` |
|
||||
| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |s| `client/` |u| `client/` |b| `client/` |g| `client/` |r| `client/` |a| `client/` |p| `client/` |h| `client/` | | `client/` |"| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` | | `client/` |(| `client/` |s| `client/` |e| `client/` |p| `client/` |a| `client/` |r| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |c| `client/` |e| `client/` |s| `client/` |s| `client/` |)| `client/` |"| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |T| `client/` |O| `client/` |O| `client/` |L| `client/` |S| `client/` |[| `client/` |9| `client/` |P| `client/` | | `client/` |F| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |c| `client/` |t| `client/` |l| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |c| `client/` |/| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |E| `client/` |X| `client/` |E| `client/` |C| `client/` |[| `client/` |T| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |S| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |s| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |e| `client/` |n| `client/` |d| `client/` |
|
||||
| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |s| `client/` |u| `client/` |b| `client/` |g| `client/` |r| `client/` |a| `client/` |p| `client/` |h| `client/` | | `client/` |"| `client/` |L| `client/` |L| `client/` |M| `client/` | | `client/` |B| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |s| `client/` |"| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |O| `client/` |L| `client/` |L| `client/` |[| `client/` |O| `client/` |l| `client/` |l| `client/` |a| `client/` |m| `client/` |a| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |O| `client/` |A| `client/` |I| `client/` |[| `client/` |O| `client/` |p| `client/` |e| `client/` |n| `client/` |A| `client/` |I| `client/` | | `client/` |/| `client/` | | `client/` |O| `client/` |p| `client/` |e| `client/` |n| `client/` |R| `client/` |o| `client/` |u| `client/` |t| `client/` |e| `client/` |r| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |A| `client/` |N| `client/` |T| `client/` |[| `client/` |A| `client/` |n| `client/` |t| `client/` |h| `client/` |r| `client/` |o| `client/` |p| `client/` |i| `client/` |c| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |C| `client/` |O| `client/` |P| `client/` |[| `client/` |C| `client/` |o| `client/` |p| `client/` |i| `client/` |l| `client/` |o| `client/` |t| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |K| `client/` |I| `client/` |R| `client/` |O| `client/` |[| `client/` |K| `client/` |i| `client/` |r| `client/` |o| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |G| `client/` |E| `client/` |M| `client/` |[| `client/` |G| `client/` |e| `client/` |m| `client/` |i| `client/` |n| `client/` |i| `client/` |]| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |e| `client/` |n| `client/` |d| `client/` |
|
||||
| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |T| `client/` |U| `client/` |I| `client/` | | `client/` |&| `client/` | | `client/` |S| `client/` |C| `client/` |R| `client/` |I| `client/` |P| `client/` |T| `client/` |S| `client/` | | `client/` |&| `client/` | | `client/` |A| `client/` |C| `client/` |M| `client/` |E| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` | | `client/` |O| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |O| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` | | `client/` |P| `client/` |9| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |K| `client/` |D| `client/` |E| `client/` | | `client/` |&| `client/` | | `client/` |K| `client/` |A| `client/` |T| `client/` |E| `client/` | | `client/` |&| `client/` | | `client/` |E| `client/` |M| `client/` |A| `client/` |C| `client/` |S| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` | | `client/` |P| `client/` |9| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |P| `client/` |9| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` | | `client/` |S| `client/` |E| `client/` |S| `client/` |S| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |S| `client/` |E| `client/` |S| `client/` |S| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` | | `client/` |A| `client/` |G| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |S| `client/` |E| `client/` |S| `client/` |S| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` ||| `client/` |9| `client/` |P| `client/` | | `client/` |o| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |U| `client/` |n| `client/` |i| `client/` |x| `client/` | | `client/` |s| `client/` |o| `client/` |c| `client/` |k| `client/` |e| `client/` |t| `client/` ||| `client/` | | `client/` |T| `client/` |O| `client/` |O| `client/` |L| `client/` |S| `client/` |
|
||||
| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |A| `client/` |G| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` ||| `client/` |s| `client/` |t| `client/` |r| `client/` |e| `client/` |a| `client/` |m| `client/` |i| `client/` |n| `client/` |g| `client/` ||| `client/` | | `client/` |O| `client/` |L| `client/` |L| `client/` | | `client/` |&| `client/` | | `client/` |O| `client/` |A| `client/` |I| `client/` | | `client/` |&| `client/` | | `client/` |A| `client/` |N| `client/` |T| `client/` | | `client/` |&| `client/` | | `client/` |C| `client/` |O| `client/` |P| `client/` | | `client/` |&| `client/` | | `client/` |K| `client/` |I| `client/` |R| `client/` |O| `client/` | | `client/` |&| `client/` | | `client/` |G| `client/` |E| `client/` |M| `client/` |
|
||||
| `client/` |
|
||||
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |T| `client/` |O| `client/` |O| `client/` |L| `client/` |S| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` | | `client/` |E| `client/` |X| `client/` |E| `client/` |C| `client/` |
|
||||
| `client/` |`| `client/` |`| `client/` |`| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |`| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` |e| `client/` |x| `client/` |p| `client/` |o| `client/` |s| `client/` |e| `client/` |s| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` | | `client/` |o| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |a| `client/` | | `client/` |s| `client/` |i| `client/` |n| `client/` |g| `client/` |l| `client/` |e| `client/` | | `client/` |s| `client/` |u| `client/` |r| `client/` |f| `client/` |a| `client/` |c| `client/` |e| `client/` |:| `client/` | | `client/` |a| `client/` | | `client/` |9| `client/` |P| `client/` |2| `client/` |0| `client/` |0| `client/` |0| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` |.| `client/` |
|
||||
| `client/` |`| `client/` |o| `client/` |`| `client/` | | `client/` |i| `client/` |s| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |C| `client/` |L| `client/` |I| `client/` | | `client/` |l| `client/` |a| `client/` |y| `client/` |e| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |a| `client/` |t| `client/` | | `client/` |a| `client/` |l| `client/` |l| `client/` | | `client/` |t| `client/` |e| `client/` |x| `client/` |t| `client/` |-| `client/` |b| `client/` |a| `client/` |s| `client/` |e| `client/` |d| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |n| `client/` |d| `client/` |s| `client/` | | `client/` |b| `client/` |u| `client/` |i| `client/` |l| `client/` |d| `client/` | | `client/` |o| `client/` |n| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |i| `client/` |t| `client/` | | `client/` |h| `client/` |a| `client/` |n| `client/` |d| `client/` |l| `client/` |e| `client/` |s| `client/` | | `client/` |p| `client/` |a| `client/` |t| `client/` |h| `client/` |
|
||||
| `client/` |r| `client/` |e| `client/` |s| `client/` |o| `client/` |l| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |,| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |x| `client/` |t| `client/` |,| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |c| `client/` |t| `client/` |l| `client/` | | `client/` |d| `client/` |i| `client/` |s| `client/` |p| `client/` |a| `client/` |t| `client/` |c| `client/` |h| `client/` |.| `client/` | | `client/` |T| `client/` |h| `client/` |e| `client/` | | `client/` |K| `client/` |D| `client/` |E| `client/` | | `client/` |G| `client/` |U| `client/` |I| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |K| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |p| `client/` |l| `client/` |u| `client/` |g| `client/` |i| `client/` |n| `client/` | | `client/` |u| `client/` |s| `client/` |e| `client/` | | `client/` |`| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |-| `client/` |9| `client/` |p| `client/` |`| `client/` |
|
||||
| `client/` |(| `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |n| `client/` |a| `client/` |t| `client/` |i| `client/` |v| `client/` |e| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` |)| `client/` | | `client/` |d| `client/` |i| `client/` |r| `client/` |e| `client/` |c| `client/` |t| `client/` |l| `client/` |y| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |p| `client/` |e| `client/` |r| `client/` |f| `client/` |o| `client/` |r| `client/` |m| `client/` |a| `client/` |n| `client/` |c| `client/` |e| `client/` |.| `client/` | | `client/` |F| `client/` |o| `client/` |r| `client/` | | `client/` |a| `client/` | | `client/` |d| `client/` |e| `client/` |e| `client/` |p| `client/` | | `client/` |d| `client/` |i| `client/` |v| `client/` |e| `client/` | | `client/` |i| `client/` |n| `client/` |t| `client/` |o| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` |
|
||||
| `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` |,| `client/` | | `client/` |s| `client/` |e| `client/` |e| `client/` | | `client/` |[| `client/` |`| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |9| `client/` |p| `client/` |.| `client/` |m| `client/` |d| `client/` |`| `client/` |]| `client/` |(| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |9| `client/` |p| `client/` |.| `client/` |m| `client/` |d| `client/` |)| `client/` |.| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |#| `client/` |#| `client/` | | `client/` |C| `client/` |r| `client/` |e| `client/` |d| `client/` |i| `client/` |t| `client/` |s| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |-| `client/` | | `client/` |[| `client/` |P| `client/` |l| `client/` |a| `client/` |n| `client/` | | `client/` |9| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |m| `client/` | | `client/` |B| `client/` |e| `client/` |l| `client/` |l| `client/` | | `client/` |L| `client/` |a| `client/` |b| `client/` |s| `client/` |]| `client/` |(| `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |s| `client/` |:| `client/` |/| `client/` |/| `client/` |9| `client/` |f| `client/` |a| `client/` |n| `client/` |s| `client/` |.| `client/` |n| `client/` |e| `client/` |t| `client/` |)| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |v| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |e| `client/` |v| `client/` |e| `client/` |r| `client/` |y| `client/` |t| `client/` |h| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |s| `client/` |h| `client/` |o| `client/` |u| `client/` |l| `client/` |d| `client/` | | `client/` |b| `client/` |e| `client/` | | `client/` |a| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |
|
||||
| `client/` |-| `client/` | | `client/` |D| `client/` |e| `client/` |n| `client/` |n| `client/` |i| `client/` |s| `client/` | | `client/` |R| `client/` |i| `client/` |t| `client/` |c| `client/` |h| `client/` |i| `client/` |e| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |t| `client/` |r| `client/` |a| `client/` |c| `client/` |t| `client/` |
|
||||
| `client/` |-| `client/` | | `client/` |K| `client/` |e| `client/` |n| `client/` | | `client/` |T| `client/` |h| `client/` |o| `client/` |m| `client/` |p| `client/` |s| `client/` |o| `client/` |n| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |
|
||||
| `client/` |-| `client/` | | `client/` |R| `client/` |o| `client/` |b| `client/` | | `client/` |P| `client/` |i| `client/` |k| `client/` |e| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |n| `client/` |e| `client/` |t| `client/` |w| `client/` |o| `client/` |r| `client/` |k| `client/` | | `client/` |(| `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |e| `client/` |d| `client/` |i| `client/` |t| `client/` |o| `client/` |r| `client/` |)| `client/` |
|
||||
| `client/` |-| `client/` | | `client/` |[| `client/` |S| `client/` |u| `client/` |c| `client/` |k| `client/` |l| `client/` |e| `client/` |s| `client/` |s| `client/` |]| `client/` |(| `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |s| `client/` |:| `client/` |/| `client/` |/| `client/` |s| `client/` |u| `client/` |c| `client/` |k| `client/` |l| `client/` |e| `client/` |s| `client/` |s| `client/` |.| `client/` |o| `client/` |r| `client/` |g| `client/` |)| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |v| `client/` |i| `client/` |c| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |t| `client/` |h| `client/` |a| `client/` |t| `client/` | | `client/` |g| `client/` |o| `client/` |o| `client/` |d| `client/` | | `client/` |s| `client/` |o| `client/` |f| `client/` |t| `client/` |w| `client/` |a| `client/` |r| `client/` |e| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |e| `client/` |s| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |m| `client/` | | `client/` |s| `client/` |u| `client/` |b| `client/` |t| `client/` |r| `client/` |a| `client/` |c| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |,| `client/` | | `client/` |n| `client/` |o| `client/` |t| `client/` | | `client/` |a| `client/` |d| `client/` |d| `client/` |i| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |
|
||||
| `client/` |-| `client/` | | `client/` |[| `client/` |@| `client/` |s| `client/` |i| `client/` |m| `client/` |o| `client/` |n| `client/` |f| `client/` |x| `client/` |r| `client/` |]| `client/` |(| `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |s| `client/` |:| `client/` |/| `client/` |/| `client/` |g| `client/` |i| `client/` |t| `client/` |h| `client/` |u| `client/` |b| `client/` |.| `client/` |c| `client/` |o| `client/` |m| `client/` |/| `client/` |s| `client/` |i| `client/` |m| `client/` |o| `client/` |n| `client/` |f| `client/` |x| `client/` |r| `client/` |)| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |a| `client/` |s| `client/` |k| `client/` |s| `client/` | | `client/` |"| `client/` |w| `client/` |h| `client/` |a| `client/` |t| `client/` | | `client/` |i| `client/` |f| `client/` |"| `client/` | | `client/` |t| `client/` |h| `client/` |r| `client/` |o| `client/` |u| `client/` |g| `client/` |h| `client/` | | `client/` |i| `client/` |m| `client/` |p| `client/` |l| `client/` |e| `client/` |m| `client/` |e| `client/` |n| `client/` |t| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |;| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |o| `client/` |b| `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |,| `client/` | | `client/` |f| `client/` |e| `client/` |e| `client/` |d| `client/` | | `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` |,| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |h| `client/` |a| `client/` |l| `client/` |f| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |g| `client/` |o| `client/` |o| `client/` |d| `client/` | | `client/` |i| `client/` |d| `client/` |e| `client/` |a| `client/` |s| `client/` | | `client/` |t| `client/` |r| `client/` |a| `client/` |c| `client/` |e| `client/` | | `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |h| `client/` |i| `client/` |s| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |t| `client/` |o| `client/` |t| `client/` |y| `client/` |p| `client/` |e| `client/` |s| `client/` |
|
||||
| `client/` |-| `client/` | | `client/` |[| `client/` |@| `client/` |a| `client/` |w| `client/` |s| `client/` |/| `client/` |a| `client/` |m| `client/` |a| `client/` |z| `client/` |o| `client/` |n| `client/` |-| `client/` |q| `client/` |-| `client/` |d| `client/` |e| `client/` |v| `client/` |e| `client/` |l| `client/` |o| `client/` |p| `client/` |e| `client/` |r| `client/` |-| `client/` |c| `client/` |l| `client/` |i| `client/` |]| `client/` |(| `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |s| `client/` |:| `client/` |/| `client/` |/| `client/` |g| `client/` |i| `client/` |t| `client/` |h| `client/` |u| `client/` |b| `client/` |.| `client/` |c| `client/` |o| `client/` |m| `client/` |/| `client/` |a| `client/` |w| `client/` |s| `client/` |/| `client/` |a| `client/` |m| `client/` |a| `client/` |z| `client/` |o| `client/` |n| `client/` |-| `client/` |q| `client/` |-| `client/` |d| `client/` |e| `client/` |v| `client/` |e| `client/` |l| `client/` |o| `client/` |p| `client/` |e| `client/` |r| `client/` |-| `client/` |c| `client/` |l| `client/` |i| `client/` |)| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |a| `client/` | | `client/` |s| `client/` |o| `client/` |l| `client/` |i| `client/` |d| `client/` | | `client/` |o| `client/` |p| `client/` |e| `client/` |n| `client/` |-| `client/` |s| `client/` |o| `client/` |u| `client/` |r| `client/` |c| `client/` |e| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |i| `client/` |m| `client/` |p| `client/` |l| `client/` |e| `client/` |m| `client/` |e| `client/` |n| `client/` |t| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |b| `client/` |u| `client/` |i| `client/` |l| `client/` |d| `client/` | | `client/` |o| `client/` |n| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |#| `client/` |#| `client/` | | `client/` |L| `client/` |i| `client/` |c| `client/` |e| `client/` |n| `client/` |s| `client/` |e| `client/` |
|
||||
| `client/` |
|
||||
| `client/` |G| `client/` |P| `client/` |L| `client/` |v| `client/` |3| `client/` |
|
||||
# Ollie
|
||||
|
||||
Ollie is an AI agent runtime built around a 9P virtual filesystem. The runtime service, `olliesrv`, exposes sessions, agents, prompts, state, history, tools, and control operations as files. Frontends remain thin clients of that interface.
|
||||
|
||||
```text
|
||||
frontends (shell, Acme, KDE, scripts)
|
||||
│ 9P
|
||||
▼
|
||||
olliesrv
|
||||
┌──────┼──────┐
|
||||
sessions agents fs tree
|
||||
│
|
||||
agent loop
|
||||
│
|
||||
provider backends
|
||||
│
|
||||
toolsrv (9P)
|
||||
┌────┴────┐
|
||||
tools sandbox
|
||||
│
|
||||
bypass broker
|
||||
```
|
||||
|
||||
## Runtime model
|
||||
|
||||
- `olliesrv` owns the in-memory 9P tree and session collection.
|
||||
- Each session owns one or more agents. Agents maintain configuration, state, prompts, chat history, rendered context, usage, and cost.
|
||||
- The agent loop sends context to the configured provider, dispatches tool calls, updates history, and repeats until completion or cancellation.
|
||||
- Child agents are ordinary agents created through the session namespace and communicate through prompt/result files.
|
||||
|
||||
The 9P namespace is the API:
|
||||
|
||||
```text
|
||||
session/
|
||||
├── new create a session by writing key=value arguments
|
||||
├── idx tab-separated session index
|
||||
└── {session}/
|
||||
├── plan persistent Markdown checklist
|
||||
├── env session environment
|
||||
└── agent/{agent}/
|
||||
├── cfg configuration
|
||||
├── ctl control commands
|
||||
├── state current state
|
||||
├── statewait block until state changes
|
||||
├── prompt submit a prompt
|
||||
├── chat conversation history
|
||||
├── context rendered model context
|
||||
├── systemprompt rendered system prompt
|
||||
├── tools tool discovery and loading
|
||||
├── usage token statistics
|
||||
├── cost cost estimate
|
||||
└── proc/ detached process output
|
||||
```
|
||||
|
||||
## Providers, tools, and security
|
||||
|
||||
Provider backends are the model-facing boundary; the agent loop is independent of vendor APIs. Tools are external executable programs served by the separate `toolsrv` 9P process. Their metadata is discovered and loaded lazily, so the model sees only the capabilities needed for a task.
|
||||
|
||||
Tool execution uses the configured Landlock/landrun sandbox. Operations requiring an approved escape use the bypass namespace and broker, which applies policy and approval controls rather than providing an unrestricted escape.
|
||||
|
||||
Persistent memory is provided by OptMem through `memory_recall` and `memory_remember`; Ollie does not maintain a second memory-file format. History management renders context, tracks usage and cost, caps oversized tool output, and compacts older material when necessary.
|
||||
|
||||
## Frontends
|
||||
|
||||
Shell scripts, Acme, KDE components, and other clients create sessions, write prompts, and read files such as `chat`, `statewait`, `context`, and `feed`. They do not embed provider, tool, or agent-loop logic.
|
||||
|
||||
See [`doc/architecture.md`](doc/architecture.md) for component boundaries and [`doc/evolution.md`](doc/evolution.md) for the design history. See [`doc/usage.md`](doc/usage.md) for setup.
|
||||
|
||||
## Build
|
||||
|
||||
```sh
|
||||
just
|
||||
```
|
||||
|
|
|
|||
|
|
@ -634,6 +634,16 @@ func (ag *Agent) SetRuntime(rt *Runtime) {
|
|||
ag.runtime = rt
|
||||
}
|
||||
|
||||
// SetCompactionModel sets the model used for context compaction.
|
||||
func (ag *Agent) SetCompactionModel(model string) {
|
||||
ag.runtime.CompactionModel = model
|
||||
}
|
||||
|
||||
// CompactionModel returns the configured context compaction model.
|
||||
func (ag *Agent) CompactionModel() string {
|
||||
return ag.runtime.CompactionModel
|
||||
}
|
||||
|
||||
// Queue pushes a prompt onto the agent's FIFO.
|
||||
func (ag *Agent) Queue(prompt string) {
|
||||
ag.fifo.Push(prompt)
|
||||
|
|
|
|||
|
|
@ -21,6 +21,10 @@ func (ag *Agent) HandleCommand(_ context.Context, input string) bool {
|
|||
if rest == "" {
|
||||
return false
|
||||
}
|
||||
if strings.HasPrefix(rest, "compactionmodel ") {
|
||||
value := strings.TrimSpace(strings.TrimPrefix(rest, "compactionmodel"))
|
||||
rest = "compactionmodel=" + value
|
||||
}
|
||||
ns := os.Getenv("NAMESPACE")
|
||||
if ns == "" {
|
||||
ns = p9client.Namespace()
|
||||
|
|
|
|||
|
|
@ -621,6 +621,14 @@ func buildAgentChildren(a *agent.Agent, s *session.Session) []virtfs.FsNodeDecl
|
|||
}
|
||||
return []byte("ok\n"), nil
|
||||
},
|
||||
"compactionmodel": func(args []string) ([]byte, error) {
|
||||
model := strings.TrimSpace(strings.Join(args, " "))
|
||||
if model == "" {
|
||||
return []byte(a.CompactionModel() + "\n"), nil
|
||||
}
|
||||
a.SetCompactionModel(model)
|
||||
return []byte(model + "\n"), nil
|
||||
},
|
||||
"clear": func(_ []string) ([]byte, error) {
|
||||
if err := a.Clear(); err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
|
|
@ -28,11 +28,17 @@ func dispatch(handlers map[string]func([]string) ([]byte, error), data []byte) (
|
|||
return nil, nil
|
||||
}
|
||||
parts := strings.Fields(input)
|
||||
h, ok := handlers[parts[0]]
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("unknown ctl command: %s", parts[0])
|
||||
command := parts[0]
|
||||
args := parts[1:]
|
||||
if name, value, ok := strings.Cut(command, "="); ok {
|
||||
command = name
|
||||
args = append([]string{value}, args...)
|
||||
}
|
||||
return h(parts[1:])
|
||||
h, ok := handlers[command]
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("unknown ctl command: %s", command)
|
||||
}
|
||||
return h(args)
|
||||
}
|
||||
|
||||
// stripMarkers removes [[[...]]] marker lines and source fence delimiter lines
|
||||
|
|
|
|||
|
|
@ -64,8 +64,6 @@ filesystem:
|
|||
- "{XDG_STATE_HOME}/nvim"
|
||||
- "{HOME}/.vimrc"
|
||||
- "{HOME}/.vim"
|
||||
- "{HOME}/.emacs.d"
|
||||
- "{HOME}/.config/emacs"
|
||||
- "/etc"
|
||||
- "/usr/local/etc"
|
||||
- "/dev/urandom"
|
||||
|
|
|
|||
|
|
@ -1,151 +0,0 @@
|
|||
# Default execute_code sandbox configuration.
|
||||
filesystem:
|
||||
ro:
|
||||
- "{XDG_CONFIG_HOME}/git"
|
||||
- "{HOME}/.netrc"
|
||||
- "/etc/gitconfig"
|
||||
- "/etc/gitattributes"
|
||||
- "/etc/ssh/ssh_config"
|
||||
- "/etc/ssh/ssh_known_hosts"
|
||||
- "/etc/magic"
|
||||
- "/var/log"
|
||||
- "/run/systemd"
|
||||
- "/var/log/journal"
|
||||
- "/etc/systemd"
|
||||
- "/proc"
|
||||
- "/sys"
|
||||
- "{HOME}/.jenkins"
|
||||
- "{HOME}/.psqlrc"
|
||||
- "{HOME}/.pgpass"
|
||||
- "{HOME}/.aws"
|
||||
- "{HOME}/.ansible"
|
||||
- "{HOME}/.ansible.cfg"
|
||||
- "{HOME}/.jira.d"
|
||||
- "{HOME}/.my.cnf"
|
||||
- "{HOME}/.mylogin.cnf"
|
||||
- "{XDG_CONFIG_HOME}/gh"
|
||||
- "{XDG_DATA_HOME}/gh/extensions"
|
||||
- "/dev"
|
||||
- "{HOME}/img"
|
||||
- "{XDG_CONFIG_HOME}/ollie"
|
||||
rw:
|
||||
- "{HOME}/.ssh/known_hosts"
|
||||
- "{HOME}/pCloudDrive"
|
||||
- "{HOME}/.pcloud"
|
||||
- "{HOME}/.git-credentials"
|
||||
- "{XDG_CONFIG_HOME}/git/credentials"
|
||||
- "{XDG_RUNTIME_DIR}/git/"
|
||||
- "{HOME}/.mcpt"
|
||||
- "{HOME}/doc"
|
||||
- "{HOME}/.cache/mise"
|
||||
- "{HOME}/.locale/state/mise"
|
||||
- "{HOME}/.gnupg"
|
||||
- "{XDG_DOCUMENTS_DIR}"
|
||||
- "{XDG_CONFIG_HOME}/.jira"
|
||||
- "{HOME}/.m2"
|
||||
- "{HOME}/.gradle"
|
||||
- "/var/run/docker.sock"
|
||||
- "{HOME}/.docker"
|
||||
- "{HOME}/.pnpm-store"
|
||||
- "{XDG_CONFIG_HOME}/yarn"
|
||||
- "{HOME}/.yarnrc.yml"
|
||||
- "{HOME}/.npmrc"
|
||||
- "{HOME}/.ansible/tmp"
|
||||
- "{XDG_RUNTIME_DIR}"
|
||||
- "{XDG_DATA_HOME}/containers"
|
||||
- "{XDG_CONFIG_HOME}/containers"
|
||||
- "{XDG_CONFIG_HOME}/pip"
|
||||
- "{HOME}/.pip"
|
||||
- "{HOME}/.cargo"
|
||||
- "{HOME}/.rustup"
|
||||
- "{XDG_CONFIG_HOME}/nvim"
|
||||
- "{XDG_CONFIG_HOME}/vim"
|
||||
- "{XDG_DATA_HOME}/nvim"
|
||||
- "{XDG_STATE_HOME}/nvim"
|
||||
- "{HOME}/.vimrc"
|
||||
- "{HOME}/.vim"
|
||||
- "{HOME}/.emacs.d"
|
||||
- "{HOME}/.config/emacs"
|
||||
- "/etc"
|
||||
- "/usr/local/etc"
|
||||
- "/dev/urandom"
|
||||
- "/dev/random"
|
||||
- "/dev/null"
|
||||
- "/dev/fuse"
|
||||
- "{XDG_DATA_HOME}/ollie"
|
||||
- "{HOME}/notes"
|
||||
rox:
|
||||
- "/usr"
|
||||
- "/lib"
|
||||
- "/lib64"
|
||||
- "/bin"
|
||||
- "/sbin"
|
||||
- "{HOME}/go/bin"
|
||||
- "{HOME}/env"
|
||||
- "/proc/self/fd"
|
||||
- "/proc/self/cmdline"
|
||||
rwx:
|
||||
- "{CWD}"
|
||||
- "{HOME}/Qt"
|
||||
- "{HOME}/.local/share/pnpm"
|
||||
- "{HOME}/.local/share/pipx"
|
||||
- "{HOME}/.local/share/aqt/"
|
||||
- "{HOME}/prj/aicoder"
|
||||
- "{TMPDIR}"
|
||||
- "{PLAN9}"
|
||||
- "{HOME}/.cache/uv"
|
||||
- "{HOME}/bin"
|
||||
- "{OLLIE}"
|
||||
- "{TMPDIR}/ollie"
|
||||
- "{HOME}/.pyenv"
|
||||
- "{HOME}/.local/bin"
|
||||
- "{HOME}/.sdkman"
|
||||
- "{HOME}/go"
|
||||
- "{HOME}/.cache/go-build"
|
||||
- "{HOME}/opt"
|
||||
- "{HOME}/src"
|
||||
- "{HOME}/prj"
|
||||
- "{HOME}/.nvm"
|
||||
- "{HOME}/.please"
|
||||
- "{HOME}/.npm"
|
||||
- "{HOME}/.mcp-auth"
|
||||
- "{HOME}/.yarn"
|
||||
- "{HOME}/.local/share/mise"
|
||||
- "{PCFS}"
|
||||
- "{XDG_RUNTIME_DIR}/{WAYLAND_DISPLAY}"
|
||||
- "{HOME}/ws"
|
||||
env:
|
||||
- PATH
|
||||
- NAMESPACE
|
||||
- OLLIE
|
||||
- OLLIE_DEFAULT_AGENT
|
||||
- OLLIE_SESSION_ID
|
||||
- OLLIE_ELEVATE_SOCKET
|
||||
- OLLIE_UNAME
|
||||
- OLLIE_LOGSEQ_TOKEN
|
||||
- HOME
|
||||
- TMPDIR
|
||||
- PLAN9
|
||||
- JENKINS_USER_ID
|
||||
- JENKINS_API_TOKEN
|
||||
- JENKINS_MCP_AUTH
|
||||
- JIRA_API_TOKEN
|
||||
- BITBUCKET_ACCESS_TOKEN
|
||||
- BITBUCKET_TOKEN
|
||||
- BITBUCKET_USERNAME
|
||||
- PCLOUD_USER
|
||||
- EDITOR
|
||||
- GIT_SEQUENCE_EDITOR
|
||||
- DISPLAY
|
||||
- DBUS_SESSION_BUS_ADDRESS
|
||||
- PCFS
|
||||
- SSH_AUTH_SOCK
|
||||
- XDG_SESSION_TYPE
|
||||
- XDG_RUNTIME_DIR
|
||||
- XDG_CONFIG_HOME
|
||||
- XDG_DATA_HOME
|
||||
- XDG_STATE_HOME
|
||||
- XDG_CACHE_HOME
|
||||
- WAYLAND_DISPLAY
|
||||
network:
|
||||
unrestricted: true
|
||||
|
|
@ -6,7 +6,7 @@ description: Denote file format conventions for timestamped notes. Use when crea
|
|||
|
||||
# Denote File Format
|
||||
|
||||
Denote is an Emacs structured note-taking system by Protesilaos Stavrou. It uses a strict filename convention to encode metadata.
|
||||
Denote is a structured note-taking system. It uses a strict filename convention to encode metadata.
|
||||
|
||||
## File Naming Convention
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
137
doc/ellie.md
137
doc/ellie.md
|
|
@ -1,137 +0,0 @@
|
|||
# ellie — Emacs front-end for ollie
|
||||
|
||||
ellie talks to an ollie session through the `ollie-9p` CLI tool, which speaks
|
||||
the 9P protocol directly over a Unix socket. No FUSE mount required. The
|
||||
ollie-9p filesystem is the entire API surface — ellie uses nothing but
|
||||
plain file I/O.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
[olliesrv](../README.md) must be running:
|
||||
|
||||
```sh
|
||||
olliesrv
|
||||
```
|
||||
|
||||
## Installation
|
||||
|
||||
Add `ellie.el` to your load path:
|
||||
|
||||
```elisp
|
||||
(add-to-list 'load-path "/path/to/ellie/contrib/elisp")
|
||||
(require 'ellie)
|
||||
```
|
||||
|
||||
Or with `use-package`:
|
||||
|
||||
```elisp
|
||||
(use-package ellie
|
||||
:load-path "/path/to/ellie/contrib/elisp")
|
||||
```
|
||||
|
||||
Optionally set default session options:
|
||||
|
||||
```elisp
|
||||
(setq ellie-default-session-opts '(("backend" . "ollama") ("model" . "qwen3:8b")))
|
||||
```
|
||||
|
||||
## Quick start
|
||||
|
||||
```
|
||||
M-x ellie
|
||||
```
|
||||
|
||||
Opens the session tree (`*ellie-sessions*`), attached to the last-known
|
||||
session for your working directory if it still exists.
|
||||
|
||||
<p align="center">
|
||||
<a href="img/ellie.png"><img src="img/ellie.png" alt="ellie Emacs interface showing the Ollie session tree and chat window" width="75%"></a>
|
||||
</p>
|
||||
|
||||
## Session tree
|
||||
|
||||
The tree shows all sessions organized by active/inactive state:
|
||||
|
||||
```
|
||||
▼ Active
|
||||
▼ myproject (2)
|
||||
default [idle]
|
||||
reviewer [idle]
|
||||
▼ scratch (1)
|
||||
0 [calling: file_read]
|
||||
▶ Inactive
|
||||
```
|
||||
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| `RET` | Expand/collapse header or session; select agent |
|
||||
| `e` | Toggle expand/collapse |
|
||||
| `n` | New session |
|
||||
| `N` | New agent (prompts for profile, cwd) |
|
||||
| `c` | Open chat buffer for selected agent |
|
||||
| `g` | Refresh tree |
|
||||
| `C-c C-c` | Send prompt to selected agent |
|
||||
| `C-c C-q` | Queue prompt for selected agent |
|
||||
| `C-c C-s` | Stop running agent |
|
||||
| `C-c C-k` | Kill session or agent at point |
|
||||
| `C-c C-p` | Show system prompt |
|
||||
| `q` | Quit tree |
|
||||
|
||||
Sessions are addressed by name (`session/{sname}`). Agents within a session
|
||||
are addressed by their auto-generated ID (`session/{sname}/agent/{aname}`).
|
||||
The tree discovers both automatically.
|
||||
|
||||
## Chat buffer
|
||||
|
||||
Once an agent is selected, `c` opens the chat buffer (`*ellie*`):
|
||||
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| `RET` / `SPC` | Open input window to compose a prompt |
|
||||
| `C-c C-q` | Open input window to compose a queued prompt |
|
||||
| `C-c C-c` | Interrupt the running turn |
|
||||
| `C-c C-s` | Stop agent |
|
||||
| `C-c C-k` | Kill the current session |
|
||||
| `C-c C-n` / `n` | New session |
|
||||
| `C-c C-a` | Attach to a different session |
|
||||
| `C-c C-p` | Show the rendered system prompt |
|
||||
| `g` | Force-refresh the chat log |
|
||||
| `q` | Close chat (stop stream, bury buffer) |
|
||||
|
||||
The input window (`*ellie-input*`):
|
||||
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| `C-c C-c` | Submit prompt |
|
||||
| `C-c C-k` | Cancel |
|
||||
|
||||
Queued prompts are held until the current turn finishes. The mode line shows
|
||||
`ellie:session/agent` and the current state.
|
||||
|
||||
## Creating sessions and agents
|
||||
|
||||
Sessions are created by writing `key=value` pairs to `session/new`. The
|
||||
`ellie-new-session` command does this for you, injecting `cwd` from
|
||||
`default-directory`.
|
||||
|
||||
Agents are created by writing to `session/{sname}/agent/new`. The
|
||||
`ellie-new-agent` command prompts for an agent profile and working directory.
|
||||
|
||||
You can also create sessions and agents directly from dired — navigate to
|
||||
`session/` (or use `C-c C-d` if you have a mount), open `new`, write
|
||||
`key=value` lines, and save.
|
||||
|
||||
## Architecture
|
||||
|
||||
The chat log is append-only. ellie polls it on a half-second timer, comparing
|
||||
file sizes. New content is appended to the buffer and ANSI color codes are
|
||||
rendered. State is read from `session/{sname}/agent/{aname}/state`.
|
||||
|
||||
Everything goes through `ollie-9p` — there is no emacs-specific daemon, no
|
||||
IPC protocol, no external processes beyond the CLI tool.
|
||||
|
||||
## Reference
|
||||
|
||||
- README: [/README.md](../README.md)
|
||||
- Usage guide: [/doc/usage.md](usage.md)
|
||||
- Technical whitepaper: [/doc/whitepaper.md](whitepaper.md)
|
||||
1672
doc/evolution.md
1672
doc/evolution.md
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
Before Width: | Height: | Size: 103 KiB |
|
|
@ -70,7 +70,7 @@ Type `/` in the input bar to trigger:
|
|||
|
||||
## Architecture
|
||||
|
||||
ollie-gui is a pure 9P client. It spawns `ollie-9p` as a subprocess and communicates through the 9P filesystem — the same interface the `o` CLI and `ellie.el` use. There is no D-Bus, no FUSE mount, and no intermediate daemon.
|
||||
ollie-gui is a pure 9P client. It spawns `ollie-9p` as a subprocess and communicates through the 9P filesystem — the same interface the `o` CLI and other 9P clients use. There is no D-Bus, no FUSE mount, and no intermediate daemon.
|
||||
|
||||
```
|
||||
┌────────────────┐ ollie-9p read/write ┌──────────────┐
|
||||
|
|
|
|||
|
|
@ -1,51 +0,0 @@
|
|||
# Sample minimal-permission sandbox for execute_code
|
||||
filesystem:
|
||||
ro:
|
||||
- "/etc/alternatives"
|
||||
- "/etc/ld.so.cache"
|
||||
- "/etc/passwd"
|
||||
- "/dev/urandom"
|
||||
rox:
|
||||
- "/usr"
|
||||
- "/lib"
|
||||
- "/lib64"
|
||||
- "/bin"
|
||||
- "{HOME}/go/bin"
|
||||
- "{HOME}/bin"
|
||||
- "{HOME}/.local/bin"
|
||||
- "{HOME}/opt"
|
||||
- "{PLAN9}/bin"
|
||||
- "{HOME}/.pyenv"
|
||||
- "{HOME}/.rbenv"
|
||||
- "{HOME}/.nvm"
|
||||
rw:
|
||||
- "/dev/null"
|
||||
- "/tmp"
|
||||
- "{NAMESPACE}"
|
||||
- "{XDG_RUNTIME_DIR}/ollie"
|
||||
- "{XDG_CONFIG_HOME}/ollie/memory"
|
||||
- "{XDG_DATA_HOME}/ollie"
|
||||
rwx:
|
||||
- "{CWD}"
|
||||
- "{OLLIE}"
|
||||
- "{HOME}/notes"
|
||||
env:
|
||||
- NAMESPACE
|
||||
- OLLIE
|
||||
- OLLIE_SESSION_ID
|
||||
- OLLIE_ELEVATE_SOCKET
|
||||
- OLLIE_UNAME
|
||||
- PATH
|
||||
- HOME
|
||||
- PLAN9
|
||||
- DISPLAY
|
||||
- DBUS_SESSION_BUS_ADDRESS
|
||||
- WAYLAND_DISPLAY
|
||||
- USER
|
||||
- AGENT_ID
|
||||
- XDG_RUNTIME_DIR
|
||||
- XDG_CONFIG_HOME
|
||||
- XDG_DATA_HOME
|
||||
- TMPDIR
|
||||
network:
|
||||
unrestricted: true
|
||||
|
|
@ -1,88 +1,116 @@
|
|||
## Tool registry: zero built-in tools
|
||||
# Tool Registry
|
||||
|
||||
**No tools are compiled into the Go binary.** Every tool — including `shell` and `reasoning_think` — is an external executable loaded dynamically through the 9P filesystem. Tool definitions, schemas, and execution logic live entirely in the filesystem.
|
||||
`toolsrv` owns Ollie's tool registry. No tool registry is compiled into `olliesrv`. The registry is scoped per agent, so each agent can load and unload tools independently while sharing the session's `toolsrv` process.
|
||||
|
||||
### Loading tools
|
||||
## Discovery
|
||||
|
||||
Tools are loaded by writing their name to `session/{sname}/agent/{aname}/tools`:
|
||||
The registry scans the configured tools directory for `*.meta` files:
|
||||
|
||||
```bash
|
||||
# List currently loaded tools
|
||||
ollie-9p read session/{sname}/agent/{aname}/tools
|
||||
|
||||
# Load a tool — becomes a native callable function
|
||||
echo file_glob | ollie-9p write session/{sname}/agent/{aname}/tools
|
||||
|
||||
# Global catalog: all discoverable tools on disk
|
||||
ollie-9p read tools
|
||||
```text
|
||||
$XDG_CONFIG_HOME/ollie/tools/ # default: ~/.config/ollie/tools/
|
||||
├── file_read.meta
|
||||
├── file_read
|
||||
└── custom_tool.meta
|
||||
```
|
||||
|
||||
The `tool_load` tool is itself a bash script that does exactly this — it wraps the 9P write in a callable function so the LLM can load tools during a turn.
|
||||
A valid metadata file is enough for a tool to appear in the catalog. The executable is resolved when the tool is invoked. Invalid metadata is skipped. A tool with variants is unavailable when no variant matches the host.
|
||||
|
||||
### Agent autoLoad configuration
|
||||
The registry reads metadata, resolves the selected command, and passes tool-call arguments as JSON on standard input.
|
||||
|
||||
Agent configs declare which tools to load at startup via `autoLoad`:
|
||||
## Agent operations
|
||||
|
||||
```sh
|
||||
# List tools currently loaded for an agent
|
||||
ollie-9p read session/{session}/agent/{agent}/tools
|
||||
|
||||
# Load a tool
|
||||
echo tool_name | ollie-9p write session/{session}/agent/{agent}/tools
|
||||
|
||||
# Unload a tool
|
||||
echo tool_unload tool_name | ollie-9p write session/{session}/agent/{agent}/ctl
|
||||
|
||||
# List every discoverable tool
|
||||
echo tools_all | ollie-9p write session/{session}/agent/{agent}/ctl
|
||||
```
|
||||
|
||||
`tool_load` and `tool_unload` are also callable agent operations. Loading updates the agent's tool preamble and increments its per-agent registry revision. `toolsrv.loaded` and `toolsrv.rev` expose the loaded set and revision through 9P.
|
||||
|
||||
Agent profiles may specify startup loading with `autoLoad`. Discovery and loading are separate: a discovered tool is not callable until it is loaded.
|
||||
|
||||
## Metadata
|
||||
|
||||
A `.meta` file uses this structure:
|
||||
|
||||
```json
|
||||
{
|
||||
"autoLoad": ["file_read", "file_edit", "file_glob", "file_grep", "file_write", "tool_load"]
|
||||
}
|
||||
```
|
||||
|
||||
Each agent profile (default, copilot, explorer, librarian, navigator, taskmanager, theo) has its own `autoLoad` list. The `allowTools` field provides a secondary security gate.
|
||||
|
||||
### Declarative registration
|
||||
|
||||
Tools are executables in `~/.config/ollie/tools/`. Each one has a `.meta` sidecar
|
||||
file declaring its JSON schema, documentation, concurrency class, tier, and
|
||||
privilege requirements. The registry reads `.meta` files — it never inspects the
|
||||
executable itself.
|
||||
|
||||
This is **declarative tool registration**: write a `.meta` file, drop an
|
||||
executable in `$OLLIE_TOOLS_PATH`, and the tool is live. No server restart,
|
||||
no config file, no code change.
|
||||
|
||||
The `.meta` file (`file_glob.meta`):
|
||||
|
||||
```json
|
||||
{
|
||||
"description": "Find files by glob pattern, sorted by mtime (newest first).",
|
||||
"args": {"type":"object","properties":{"pattern":{"type":"string"}},"required":["pattern"]},
|
||||
"description": "Find files by glob pattern.",
|
||||
"prompt": "Full usage documentation injected when loaded.",
|
||||
"args": {
|
||||
"type": "object",
|
||||
"required": ["pattern"],
|
||||
"properties": {"pattern": {"type": "string"}}
|
||||
},
|
||||
"tier": "cold",
|
||||
"readOnly": true
|
||||
"scope": "read",
|
||||
"outputFormat": "text",
|
||||
"cmd": "file_glob",
|
||||
"resetsCounter": false
|
||||
}
|
||||
```
|
||||
|
||||
Everything is sandboxed by default via Landlock. Tools that need to escape
|
||||
request bypass explicitly (`"bypass": true`).
|
||||
| Field | Meaning |
|
||||
|---|---|
|
||||
| `description` | Short catalog description. |
|
||||
| `prompt` | Documentation added when the tool is loaded. |
|
||||
| `args` | JSON Schema for tool arguments. Defaults to an empty object schema. |
|
||||
| `tier` | Context retention tier. Defaults to `hot`. |
|
||||
| `scope` | Tool scope metadata. |
|
||||
| `outputFormat` | Output format metadata. |
|
||||
| `cmd` | Command used to execute the tool. |
|
||||
| `resetsCounter` | Marks tools that reset the relevant counter. |
|
||||
| `variants` | Host-conditional metadata definitions. |
|
||||
|
||||
### Host-conditional variants
|
||||
`readOnly` and `bypass` are not current metadata fields. Sandbox and privilege behavior is configured by the execution service and its policies.
|
||||
|
||||
A single `.meta` file can describe a tool that works differently on different
|
||||
hosts. Variants are gated by match conditions (`binary`, `file`, `os`, `arch`,
|
||||
`env`, `nenv`). The first matching variant determines the tool's schema,
|
||||
documentation, and executable. If no variant matches, the tool is hidden from
|
||||
the registry — it doesn't exist on this host.
|
||||
## Command resolution
|
||||
|
||||
For a tool named `name`, toolsrv resolves the command in this order:
|
||||
|
||||
1. `$XDG_CONFIG_HOME/ollie/tools/name` if the local file exists.
|
||||
2. The resolved `.meta` `cmd` field, returned as a shell command string.
|
||||
3. `name` found through `$PATH`.
|
||||
|
||||
A `.meta` file can describe a co-located script, a system executable, or a shell command. Metadata-only tools are valid when their `cmd` resolves to an executable command.
|
||||
|
||||
## Variants
|
||||
|
||||
The first variant whose conditions all match is merged over the top-level metadata. Variant values override non-empty top-level values. Supported match keys are:
|
||||
|
||||
- `binary`: an absolute path or executable available through `$PATH`.
|
||||
- `file`: an existing file or directory.
|
||||
- `os`: the current `runtime.GOOS`.
|
||||
- `arch`: the current `runtime.GOARCH`.
|
||||
- `env`: a non-empty environment variable.
|
||||
- `nenv`: an empty or unset environment variable.
|
||||
|
||||
A condition value can be a string or an array; arrays use OR semantics. Multiple condition keys use AND semantics. If no variant matches, the tool is hidden.
|
||||
|
||||
```json
|
||||
{
|
||||
"description": "Read system logs.",
|
||||
"variants": [
|
||||
{
|
||||
"match": {"binary": "journalctl"},
|
||||
"cmd": "system_logs_journald",
|
||||
"args": {"type":"object","properties":{"unit":{"type":"string"},"since":{"type":"string"}}}
|
||||
},
|
||||
{
|
||||
"match": {"file": "/var/log/syslog"},
|
||||
"cmd": "system_logs_syslog",
|
||||
"args": {"type":"object","properties":{"lines":{"type":"string"}}}
|
||||
}
|
||||
{"match": {"binary": "journalctl"}, "cmd": "system_logs_journald", "scope": "read"},
|
||||
{"match": {"file": "/var/log/syslog"}, "cmd": "system_logs_syslog", "scope": "read"}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
On a systemd host the model sees unit filtering and time ranges. On Alpine it
|
||||
sees tail + grep. On a host with neither, the tool doesn't appear. One `.meta`
|
||||
deploys everywhere. See [`doc/writing-tools.md`](doc/writing-tools.md) for the
|
||||
full variant specification.
|
||||
Remote toolsrv deployments receive the metadata and resolve variants on the remote host. The catalog therefore reflects that host's capabilities.
|
||||
|
||||
## Execution contract
|
||||
|
||||
The selected command receives one JSON object on standard input. A successful tool writes its result to standard output and exits with status 0. A failed tool exits non-zero. Structured content may be returned as JSON when required by the tool's output format.
|
||||
|
||||
Normal execution is sandboxed by toolsrv. The `--yolo` server option disables sandbox enforcement for explicit debugging or development. Bypass behavior is controlled by the separate bypass broker and sandbox policy.
|
||||
|
||||
See [`doc/writing-tools.md`](writing-tools.md) for authoring metadata and [`doc/tool-definitions.md`](tool-definitions.md) for metadata-only command definitions.
|
||||
|
|
|
|||
|
|
@ -287,7 +287,7 @@ while :; do git diff HEAD --; sleep 5; done | tee >(o myproj/security write feed
|
|||
|
||||
## Other front-ends
|
||||
|
||||
- **[ellie](ellie.md)** — Emacs session tree, chat, multi-agent
|
||||
- **Session clients** — shell, KDE, and other 9P clients
|
||||
- **[KDE](kde-gui.md)** — plasmoid, standalone GUI, Kate plugin, KRunner
|
||||
- **acme** — Plan 9 editor (scripts in `data/scripts/acme/`)
|
||||
|
||||
|
|
|
|||
6
justfile
6
justfile
|
|
@ -1,7 +1,7 @@
|
|||
# Ollie monorepo build system
|
||||
#
|
||||
# Two variants:
|
||||
# just Default (KF6): core, 9p, kde, emacs
|
||||
# just Default (KF6): core, 9p, kde
|
||||
# just kf5 KF5/Qt5 variant (Plasma 5.27)
|
||||
#
|
||||
# Build and install are separate phases. No sudo.
|
||||
|
|
@ -241,8 +241,6 @@ uninstall:
|
|||
rm -f ~/.config/autostart/org.ollie.olliesrv.desktop
|
||||
# KDE (KF6)
|
||||
just -f kde/justfile uninstall
|
||||
# Emacs
|
||||
rm -rf ~/.config/emacs/ellie
|
||||
# Plasma env
|
||||
rm -f ~/.config/plasma-workspace/env/99-ollie.sh
|
||||
@echo === Uninstall complete ===
|
||||
|
|
@ -259,8 +257,6 @@ uninstall-kf5:
|
|||
rm -f ~/.config/autostart/org.ollie.olliesrv.desktop
|
||||
# KDE (KF5)
|
||||
just -f kde/justfile uninstall-kf5
|
||||
# Emacs
|
||||
rm -rf ~/.config/emacs/ellie
|
||||
# Plasma env
|
||||
rm -f ~/.config/plasma-workspace/env/99-ollie.sh
|
||||
@echo '=== Uninstall complete (KF5) ==='
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Reference in New Issue