From 96ee0b087d72fd26b0fa09a03a16a0c77d5d255d Mon Sep 17 00:00:00 2001 From: mac Date: Wed, 22 Nov 2023 12:34:04 +0700 Subject: [PATCH] go redis --- .DS_Store | Bin 0 -> 6148 bytes .idea/workspace.xml | 64 +++++++++++++++++++++++++ README.md | 33 ------------- application/app.go | 53 +++++++++++++++++++++ application/routes.go | 44 ++++++++++++++++++ go.mod | 16 +++++++ go.sum | 26 +++++++++++ handler/ping.go | 103 ++++++++++++++++++++++++++++++++++++++++ handler/users.go | 73 +++++++++++++++++++++++++++++ img.png | Bin 160374 -> 0 bytes main.go | 19 ++++++++ model/user.go | 11 +++++ repository/redis.go | 106 ++++++++++++++++++++++++++++++++++++++++++ 13 files changed, 515 insertions(+), 33 deletions(-) create mode 100644 .DS_Store create mode 100644 .idea/workspace.xml delete mode 100644 README.md create mode 100644 application/app.go create mode 100644 application/routes.go create mode 100644 go.mod create mode 100644 go.sum create mode 100644 handler/ping.go create mode 100644 handler/users.go delete mode 100644 img.png create mode 100644 main.go create mode 100644 model/user.go create mode 100644 repository/redis.go diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a8bb7038e14641169a92eb600abe23449279ad48 GIT binary patch literal 6148 zcmeHKO>fgc5S>lZ#!-co14unu;#!sTLq&*-o0bDtjNkw$wd<%@INm6BnnM)HXZR2N z1+M&({+FKM&F%)pZn+{<%}Bd%cJ|F$`_}S$h)50R$pKNHh&(jLRuA1h#`E0nSj$Ct zQt=wEGkqCnI>wk66#M@b;Ir${K3!2tW#jx#F}MHAnAyk{cqt_`rl`(T-x|y|MKq8$!gW}o;-c_^3CW=Hp%r@vwu=}%Z)v9xCY+8+w*le%QKx{A;Ro!D665{1btH1 zqs5#}eb?NA<}|5uiO=Hu##wZ+VuaJk&DrS&`$vO~p_nKj3Wx$53b?PCx3duwR}>Hh zL;+TSzYo5{z+q+4d^*sX5&+mi*cg2C>ksrf01O;f77>9dn+mk4%9R+(RSwFgV?J>F z%A!ptWuA<6+>@27P?Re?lyB&y0*lg%0-``&fwmp?`Tl?P_xit{BqLEk6nIbysLpwK zKE#&X-FjzpeAoJD7ietEt1SLWfn%;>aQQ0UMKgxD&kitfSXo2_CO-m32I)kBf2zQ5 DIcJcm literal 0 HcmV?d00001 diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..d586b11 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index bf418f3..0000000 --- a/README.md +++ /dev/null @@ -1,33 +0,0 @@ -Assignment 1: - -Database - -Mỗi bài tập sẽ lưu trên file sol-{number}.sql - -1. Giải bài tập trên leetcode: - -https://leetcode.com/problems/capital-gainloss/description/ (gợi ý: sử dụng CASE) - -https://leetcode.com/problems/count-salary-categories/ (ngoài các cách trên leetcode, hãy nghĩ cách để giúp câu query này nhanh hơn, kể cả thay đổi cấu trúc bản) - -2. Bạn hãy viết một script để tạo các bản cho hệ thống với cấu trúc ở dưới - -![img.png](img.png) - -hệ thống bao gồm: - -- class -- professor: quan hệ one-many với class -- student: quan hệ many-many với class -- course: quan hệ one-many với class -- room: quan hệ one-one với class - -3. Hãy viết câu query để tìm: -- những cặp student-professor có dạy học nhau và số lớp mà họ có liên quan -- những course (distinct) mà 1 professor cụ thể đang dạy -- những course (distinct) mà 1 student cụ thể đang học -- điểm số là A, B, C, D, E, F tương đương với 10, 8, 6, 4, 2, 0 -- điểm số trung bình của 1 học sinh cụ thể (quy ra lại theo chữ cái, và xếp loại học lực (weak nếu avg < 5, average nếu >=5 < 8, good nếu >=8 ) -- điểm số trung bình của các class (quy ra lại theo chữ cái) -- điểm số trung bình của các course (quy ra lại theo chữ cái) - \ No newline at end of file diff --git a/application/app.go b/application/app.go new file mode 100644 index 0000000..758e8c7 --- /dev/null +++ b/application/app.go @@ -0,0 +1,53 @@ +package application + +import ( + "context" + "fmt" + "github.com/redis/go-redis/v9" + "net/http" + "time" +) + +type App struct { + router http.Handler + rbd *redis.Client +} + +func New() *App { + app := &App{rbd: redis.NewClient(&redis.Options{ + Addr: "localhost:6379", + Password: "", // no password set + DB: 0})} + app.loadRoutes() + return app +} + +func (a *App) Start(ctx context.Context) error { + server := &http.Server{ + Addr: ":3000", + Handler: a.router, + } + err := a.rbd.Ping(ctx).Err() + if err != nil { + return fmt.Errorf("Fail to connect redis: %w", err) + } + + fmt.Println("Starting server") + ch := make(chan error, 1) + go func() { + err = server.ListenAndServe() + if err != nil { + ch <- fmt.Errorf("Failed to start server: %w", err) + } + close(ch) + }() + + select { + case err = <-ch: + return err + case <-ctx.Done(): + timeout, cancel := context.WithTimeout(context.Background(), time.Second*10) + defer cancel() + return server.Shutdown(timeout) + } +} diff --git a/application/routes.go b/application/routes.go new file mode 100644 index 0000000..e40285f --- /dev/null +++ b/application/routes.go @@ -0,0 +1,44 @@ +package application + +import ( + "assignment/handler" + "assignment/repository" + "github.com/go-chi/chi/v5" + "github.com/go-chi/chi/v5/middleware" + "net/http" +) + +func (a *App) loadRoutes() { + router := chi.NewRouter() + router.Use(middleware.Logger) + + router.Get("/", func(w http.ResponseWriter, request *http.Request) { + w.WriteHeader(http.StatusOK) + }) + + router.Route("/users", a.loadUserRoutes) + router.Route("/pings", a.loadPingRoutes) + a.router = router +} + +func (a *App) loadPingRoutes(route chi.Router) { + pingHandler := &handler.Ping{ + Repo: repository.RedisRepo{ + Client: a.rbd, + }} + route.Post("/", pingHandler.PingEndPoint) + route.Get("/top_ten", pingHandler.GetTopTenCount) + route.Get("/{username}", pingHandler.GetPingCount) +} + +func (a *App) loadUserRoutes(route chi.Router) { + userHandler := &handler.User{ + Repo: repository.RedisRepo{ + Client: a.rbd, + }} + + route.Post("/", userHandler.SignIn) + route.Get("/", userHandler.List) + route.Get("/user/{username}", userHandler.GetUserById) + route.Get("/session/{session}", userHandler.LoginBySession) +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..a5d7da8 --- /dev/null +++ b/go.mod @@ -0,0 +1,16 @@ +module assignment + +go 1.21 + +require ( + github.com/bsm/redislock v0.9.4 + github.com/go-chi/chi/v5 v5.0.10 + github.com/go-redis/redis_rate/v10 v10.0.1 + github.com/google/uuid v1.4.0 + github.com/redis/go-redis/v9 v9.3.0 +) + +require ( + github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..f5dc490 --- /dev/null +++ b/go.sum @@ -0,0 +1,26 @@ +github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= +github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= +github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= +github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= +github.com/bsm/redislock v0.9.4 h1:X/Wse1DPpiQgHbVYRE9zv6m070UcKoOGekgvpNhiSvw= +github.com/bsm/redislock v0.9.4/go.mod h1:Epf7AJLiSFwLCiZcfi6pWFO/8eAYrYpQXFxEDPoDeAk= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= +github.com/go-chi/chi/v5 v5.0.10 h1:rLz5avzKpjqxrYwXNfmjkrYYXOyLJd37pz53UFHC6vk= +github.com/go-chi/chi/v5 v5.0.10/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/go-redis/redis_rate/v10 v10.0.1 h1:calPxi7tVlxojKunJwQ72kwfozdy25RjA0bCj1h0MUo= +github.com/go-redis/redis_rate/v10 v10.0.1/go.mod h1:EMiuO9+cjRkR7UvdvwMO7vbgqJkltQHtwbdIQvaBKIU= +github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= +github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/redis/go-redis/v9 v9.3.0 h1:RiVDjmig62jIWp7Kk4XVLs0hzV6pI3PyTnnL0cnn0u0= +github.com/redis/go-redis/v9 v9.3.0/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0b/CLO2V2M= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/handler/ping.go b/handler/ping.go new file mode 100644 index 0000000..9ff0114 --- /dev/null +++ b/handler/ping.go @@ -0,0 +1,103 @@ +package handler + +import ( + "assignment/model" + "assignment/repository" + "encoding/json" + "errors" + "fmt" + "github.com/go-chi/chi/v5" + "net/http" +) + +type Ping struct { + Repo repository.RedisRepo +} + +func (p *Ping) PingEndPoint( + w http.ResponseWriter, + r *http.Request, +) { + err := p.Repo.PingEntryPoint(r.Context()) + if errors.Is(err, repository.CannotPingMultiply) { + fmt.Errorf("Cannot ping mutiply times: %w", err) + w.WriteHeader(http.StatusAlreadyReported) + return + } + + var username model.User + if err := json.NewDecoder(r.Body).Decode(&username); err != nil { + w.WriteHeader(http.StatusBadRequest) + return + } + + err = p.Repo.RateLimit(r.Context(), username.Username) + if errors.Is(err, repository.RedisError) { + fmt.Println("redis error:", err) + w.WriteHeader(http.StatusInternalServerError) + return + } + if errors.Is(err, repository.TooManyRequest) { + fmt.Println("Too many request:", err) + w.WriteHeader(http.StatusTooManyRequests) + return + } + + err = p.Repo.CountPing(r.Context(), username.Username) + if err != nil { + fmt.Println("failed to count:", err) + w.WriteHeader(http.StatusInternalServerError) + return + } + + data, err := json.Marshal("Ping successfully!") + if err != nil { + fmt.Println("failed to marshal:", err) + w.WriteHeader(http.StatusInternalServerError) + return + } + w.Write(data) +} + +func (p *Ping) GetTopTenCount( + w http.ResponseWriter, + r *http.Request, +) { + topTen, err := p.Repo.GetTopCount(r.Context()) + if err != nil { + w.WriteHeader(http.StatusInternalServerError) + return + } + data, err := json.Marshal(topTen) + if err != nil { + fmt.Println("failed to marshal:", err) + w.WriteHeader(http.StatusInternalServerError) + return + } + w.Write(data) +} + +func (p *Ping) GetPingCount( + w http.ResponseWriter, + r *http.Request, +) { + username := chi.URLParam(r, "username") + count, err := p.Repo.GetPingCount(r.Context(), username) + if err != nil { + w.WriteHeader(http.StatusInternalServerError) + return + } + if len(count) != 1 { + w.WriteHeader(http.StatusNotFound) + return + } + + data, err := json.Marshal(count) + if err != nil { + fmt.Println("failed to marshal:", err) + w.WriteHeader(http.StatusInternalServerError) + return + } + + w.Write(data) +} diff --git a/handler/users.go b/handler/users.go new file mode 100644 index 0000000..fa65d31 --- /dev/null +++ b/handler/users.go @@ -0,0 +1,73 @@ +package handler + +import ( + "assignment/model" + "assignment/repository" + "encoding/json" + "fmt" + "github.com/go-chi/chi/v5" + "net/http" +) + +type User struct { + Repo repository.RedisRepo +} + +func (u *User) List( + w http.ResponseWriter, + r *http.Request, +) { + data, err := json.Marshal(model.Users) + if err != nil { + fmt.Errorf("error while encode users: %w", err) + w.WriteHeader(http.StatusInternalServerError) + return + } + w.Write(data) +} + +func (u *User) SignIn( + w http.ResponseWriter, + r *http.Request) { + var user *model.User + if err := json.NewDecoder(r.Body).Decode(&user); err != nil { + w.WriteHeader(http.StatusBadRequest) + return + } + session, err := u.Repo.SignIn(r.Context(), user) + if err != nil { + w.WriteHeader(http.StatusInternalServerError) + return + } + + data, err := json.Marshal(session) + if err != nil { + fmt.Println("failed to marshal:", err) + w.WriteHeader(http.StatusInternalServerError) + return + } + + w.Write(data) +} + +func (u *User) LoginBySession(w http.ResponseWriter, r *http.Request) { + session := chi.URLParam(r, "session") + user, err := u.Repo.GetUserBySession(r.Context(), session) + if err != nil { + fmt.Println("Authenticated failed: ", err) + w.WriteHeader(http.StatusUnauthorized) + return + } + + data, err := json.Marshal(user) + if err != nil { + fmt.Println("Failed to marshal: ", err) + w.WriteHeader(http.StatusInternalServerError) + } + w.Write(data) +} + +func (u *User) GetUserById( + w http.ResponseWriter, + r *http.Request) { +} diff --git a/img.png b/img.png deleted file mode 100644 index 71bf231ce0ce6702a69d50aa5e29949fb6d40b16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160374 zcmd43bySq?_dbeBH;Qx(sDKipC|v_cheJpR2uOEJi_`$p2uM1lbPv)XAP5N3F_d&S zGr$n%8Q=K4?{|H^zjOXM>zsdFKCW3$?0esPU)Qy-+c0%iITAuTLM$vS5(Rk~2o@HO zA{G|*8+=^gUw(RRgTW30rmitz|%jmH*C04&ZEwVM} z-j%9zTf{Y1XCCs8;>_)X>_|2dbm)Vft&@7)^Yq=aBgRZAw{%G%mBVv>(j}4i_ZJyR<`&-j{k?91e+SVO z??YkA?+}lW{2jU>M$JNN2qv%)f&bjsL%pC-0Ta%DuF;It|9dwbBF*$U2t$+`OPAVB zR(3Lq`%ILkEc_6dv(+7#%2P?5zPvzh7fLY*yLQ`6e;K?u%9n6^Y~JTMAbR*7-O20s zOB}uRSid?r2Cj=}^7b&DiCK&{WA;C$S;^+Nv6;mt*qmP)U9I<41-VLhN)Y z-hQ<|9d3EA!F}7Aw{Z`=n5>*BKJz0@Xqa24{F76f>FLq18vUy0{zB)@toN>6_44t! z(ZCEIXz2v*vO};h^>@D22P$f*5a#AEvN(T#qWPLV&G8-m6YB&-gGX7(H%9;SeeUHd zVzUV2AkL&oNK znURvNokf~cNa|w?RcnJEg<3_^pQHly#)jR86xi$N9U3b@4_B|XA=6y?t#pm_uP!fU zB6yoEU#LKZn)y~UVnqMFq@35WL1r9m*i0VNPWH<^9}2uoIv&}@-&0W>W!pm34j8x& z%3@yCu70-}-AIvVHlNV#k)V(K6d7k@Az@ zyqhzStoLFG_2nfmi}fTjJqXl#&b2jpkDGL+`xOgCep2!iFxAecr*T~=<$dKcP|B} zcjxUFUy4fW3n^->lG=|RdJ)&u_EtEsJ$vt%Ef?)>k?HH+>r4Z=t@ACCejK98wR@7` zy;FyIwHJLE-eB;5c0VSq^YBT7650p@Xbht*rTK_wp6&F6-C~DBU!JIxn@q0!NYyxI z8NVCSWx7_!9RZt2(XBGCvE3}L>bG9%OMngr;*r${6H&uQa1d}i{X%hl^Ubjm627Mc z*mL_8W>v~Am#3@w8x$bzz{S9B9fO_v%~GXA>AjI&mU{@;vEZ2Y>u>7*BvILhq=AC< zCY|AT&M1$I^=tc6?_r%PJwg6XHv-w9A?C}y&>f?zW25XoYBQBTOXt!Auvt0Z-2j>G z5d`SIXB2s=MYWLm3g@A6bplS%Qv)j2^tT|CHkVAtodfT)i3(G>>>u^#KzNhx-x_|Z z)VKeAv3gilY4q^?Z~(zd^04lfa{?)|cq2$=6WYsX`YmVUC%9%MQef87)}cEFv=c&a zZ~5IL{LD=(Kf}vl2wY}cLy&PdP> zC~FKgZuA_8a^*6 zPYVu~Bz6k@oZBmYG9UQ;fVG0SPIkOlchSCa{~OhFjn&QS$L;8QtOv%Sa9*8q7G3QT zxaih?fbl{uYn7)c#dj+dVoGQ=ZPC8v!X4G~pe$$Xb_{A{g}EkV@hv3*^yDb4?CF_y zzFK#?>ZR-HauR!Qc$CB1|MD`$oNgptXdK(uhIr5K?ol9J$Bh%PBOADwux5ze2Q%-Q{bjFl4jlLBd(T7>Mt0xDd1R z38JMDga__Xe}?a~QIK!@WYC1x+1-Sr4(Dq+j|al8c9PZbVMVOr?ypd0)x=IXN#flE z@N|&;%hx((_{0kS$D=Q1Zjg!2hmbOE+*ajFXvQaYliN{Sa`|yn^{(@+uT__fg9V^h z&_+XtrS918l@p7pK>Z8*S5g+Hu!@sIa35fQB~LHd{z}B_>M`S%tO8K{xfJK1X|(??#TNP1^S?`&qm;hAAK*W6T5 zDkiQg^s)#mp3lI2(u^DJyf-hU&wmSAhMMs(Qeu3B&HT0alCkTX2NT!Ri|hAhZf@;! zd;j-03n>hee2_Rv;EUXyn}gtzd;PlB29YRtyK8k= zO~TEg={Qlp+VVNu-BzG8*~Vfg)NFqMZ6vD`RUu5jd8VGVzJp!VlS1>cvWhMlpSo>m zR=KADl^Jf94z%IBy>{N)`y^thpbp7@cTx%_d`{`xV3u-l^6g%%koL_-4@KHVg1-7) zoaOe+J3xcP$%U*#i=*kD+}FC7W2dX>tK{7v4yx#iUs{t`o znt|B0=dJZy#ky5-W-p9<-K=S&<~Bx)MyKQ?UvC3FIPQM*A&fw%8T4PuRu)jUK7;YG zK_;{Z5R<1K2BcZ3QJ2`fO-GQ3&mm_ZBq)yJaSIy>mb1ZG&o-i#SIbBqQCZ%F=T>6W zBHld$^;i;&vupPw?gWU>$h(%gA9#NP0d7@e$zC!^cD z7%edi;pw=iocyYYP`nui#De_4l<;!!D+i+7S6dSm-0x^ZlJuFp)?mu}19axzMh)&I zC0SC+2rlGFM>3Tn#ci)P9O~+X?^Q}Xbvb-O@hdwGyY`$(78huggUtMyXil-}8 z6My-f0B8mCMArZDL=zzTt#_pLs^87);66ySL%@GfDYOQG-Dy0>wvYg9v+l!oI7|$e z!k5Xp+Y!xWGG$)T#r_TGM#+UlS(p@^Ay>E4<->1p4<#G;F&Ac*tT4Ni^i(F+L|@yo zM)DyzVU5-z?bq#GC$U%Z%{df%#)w!CA5)-scml;E#~~0U@&^II)Q=8aa6Kc`PrugQ zPFXa_A6+>Skd{tP2^93u9Q)xs z6}aV%ggJmzZ~`E5oX(9w(2?aB4Yxz|X%97CU7`yP8a#GY6SwDDTFgXD9GXwfN4y=; z$Zc-7pk(`&GO?EPW!_Qkp$T8~QoPzUP`Sn+a_@m{K42db6BY7bW1=8XZasQm!1Cv( zB`@Tp0(<%r(Cwdjto?+&ZtCS}D9(NPK7c*r4eK$YZZ#uyWOuQ&VMp;p%R=~rI5S|s zzv_KjobLFQUTwq#SqOu>(pG z*)1nyIJI0(``Da+tmXWmS3j|nMlcavK!Y5IXmg0|HXgVWxzIqv*SKQC)bG06<&^U~hq&2e5`06J&ZPW-OZ zE$-V>iH{!sOa-rZQX8e&+U(9YMV=RF~-{>8_46BO#AfbKKG2_@yLNfS}>_I{)fYqrK z%HJ7%0I%=;Y9CFJle|-M+n+)q;(HSIgM|Kckr$)nA;8OMsELjGo~`E>9O!}zqS-Tj z9%;eXzEBLk_;VNKG*Z@om^=S5XS+4W>$gwT0FBW*tSR#?adJ2xmbi#FkdYs6hoOM= znAwSr+rb_Dpl2KS=0zvhdOAi z0oDU$2Cn-t<*jPX-9N!qpf`zEEzItrjJ6?wa_u|AZ|}4Q+;IQEa`sN0FeX(qDO1$b zxw2RwXh^F_J2&KFQD^aj3j?iy^k)V_b^uw^2CCBnAl4K-#?(2k`WfcCGbGMBQ=ql6 zhf97yv#_76G>i1f1s&anxlUDE6&wJdTPaZ&b`*3=)e&e212xxf;C`OcM+7duLXbVz z`)3m7{wx8W)&ZzD5R2bc(6vEAu|5+u=idU_vl`^?RTbTrLG?Wzn7FUE_5fS}um(CJ zZ4MGXnFwoJZ$}1zW0-mXY&q9&uHMZiTNEgjKnXkpN+2h1uzfJF&VInPFc7Gi{w&1B za|m;W|D~tLAMld9^|WtgtQvUlqlzvjr4JH|?;ppRHQh~k2XLSJ$LRUCK>8Mq|GQuu zW6v>1iyp{J2ld@lMeWSkyii(GfgMGO?8tv`kmE=fbTTPCj{!-?nQ3!0oh(Gm0O{*Y z^0nw2T#h;P@qp;#8sbx>U7%i!H~`z55m-b_#l_^xZD9MHV6KUShj>=^y84@HyXrh< z-R%$Q`%2X&jMu7%>&(ms?}!nj#8L& zc_ZkA56rnSXof!Cw1~+0a?tZYV;O+vQ?EbXz84V$k%`$j0MIvP-KxXCryV)HS^n?> z(px@9u7CW0d@mgE@{U1&$;+MTqlPqkmvomT!-eTJoAd_nLYHV>$DPp^Y3OCC26G{J zvEx}FsT6A_!!z933P2JG|;S!Lk7wwn0I!}0rx6dCz13TKT zom2e~%m@fWR7$N&kUxQ*c5>e>#Z14m^~7y(Bc+!<2M(YN$a6CbI={xNXkhG{pae&bE zmSIXBzOADHJRy($hpWw~7yZ6y{U2uRnOoDJcKNfF5RqKD>Uy-l%fxcLnz$1nN`Vz^ z+vk*$c-%4zT^WEjXY+lTK)=PWsgPUcJ+Rm5N5&+)j@Cld-v9t4ghm)(Rf&(Zr>no- zVdWoGotUbznUN+FTjFWhs!a5HWiwW+FlrV&l-` z#U#&^+K}`sPLk~a0h$03&?d5Dn`Y&)|K<6!G9D&d*`VqlQ|R3mhayg#srP5IzO~1u zk2b$J%+%NX3W~GlWJ~z^J?YS-%)r;+w7(2zRkNqv6Ypd^<4PUT?CTBj7^_LJ0H}+0 zr5_b^?9FPr2OYBnpe0%oCt=8pskiI^wjhIhDhO^fUaBc3iw?2Sob4dbApo}6;(S0x z*-Tfu$c2r{;LR(OiHn2W{)@)0fr;vh)d=Hem-d#`Y5$9D^N%p;H2u`ePY!Px@@PuK z(Ux6EUguP%y;bHPHx(tWia)X+zX(n7RNk(i!1e1o$Uu3<3EUotRU<{6Ba6&~iqE62 zcCX4ONiT}quAUE|nFaB#x>2PvjGxIu>aR_OMzd_OZ5)?)BycW9-yGr;-D|zUy^u!3 z%EK4YaKY$~oU}j`LOKX@0U~a=0zc^Ui`F%MH1aSku9GmA?_O4sUG%PC>pUXro{fa9bl5v<-D0(7&Y$ktpxvzO(U`?xav0&xf@x!#1&vGEp+HCL|?pj55g?s zZW}{$I;6x~vqV|>)OMnLdUib-9;TAQ|6N;yuwWNZB^551oTt@<*K?jlBWFD3W)6Rx zbapXus?fqTQDcjGBWs(4s=~sQ2X8HTmicT+Bwedl#YS++n5I9oE$JQ5mX>iLwt+Ub?{>sLxEMUKO>g@Nmj&?XbmA|d7;S&DQ|0wr~ ziWDRsVE#TYFW$KjWxCp1MQ83I6OX*SXI<>SFRUD_W^5OrB2fMV$D`y9nU|sF`nAoY zY3~W$MEQ#*qx^NpxuW4;v=HnlPyPN1 zqUDjvosL|A**ERlqgb)-$&o{)H+r2z$oE&Wl@Y>H9HY3;iL&T8)qv9Ykoc-6y9_^f zt$1J7;`NNjnq)w^wGb76>_WO?0eIPfFQY8p@U^bYCzn&l1S%FXihgS;xVoE0?^ffI zUFKvztL8O!#X5D1;^V-1whLSH>h$;fWt_?(o7tip2 zsrNgK5G|A^D*rXQvYX66$ja+?r8?k!&{g|%Q|#CywFN{+wf&Z(-Zspoo!1(!QcHn2 zV^wUqCZj${W@|InXP$cG==MCU!uj&ILv4c z0+Oh)Z*%iZ$Sli(3;e9wCc8HY`mz~e)#(?*Srj+x5ng*(V8v^9G(yW+%?4ez(D=2g z-vDurzDp(~CtLNXK8sp2Nt&!!ww9!+Wg?%o*X6BA%=QXFF7k`1JpWV}yY%Vmjj1-0GLy7#OIBxikDabu~NsW9EX<^qt!v`f}m>7jXBXr0P7`W&F&2;a^)#=8aXrAxy060?N zkm*9!C&-Fxcq+X*8__q6wvUc>T%2ILzN{r-OZdKJVq>~K!(t{!KOG%-`D2;dU~T%0 zx3qSaQW5lulzwAcLUegLqA0ZhtN)~(&18Lk_i5-twy%phBL!sOY|*@<;8QSU3t?n5 zc)oo+o~FN->=M{-#}luK-G%R|O@UDieE+O6w42G_{625`q};r~uMC1fpB{*GBsRWG z1p%KAJa1O8^&Z))`?xMMW<|D zb$X-@=F%zSA78}&Shh$TWXL1+(%|R}((DG^XHi5}?g}Isr*>!F_v=CcF-(0fH7w#fA;Cr;VQaN|(JP>#u!qyx0=)jf@qqU&_lV6b+>f_RFeD5{) z2y&r033GeTjVOg^!NBI!MN>a`w&7Du^X&nP9>h;>#EJuIAAij9(h9@}x6@)p*uCJ8 zHDph({A6n#B0Q`Q=G-w@f)1g+@Fr>I6Xka6-aiH?R69@9iVi`pm&6%ANx;!30Hdx< zk2r~mAn%H*r?{W_JMRQ9yGOp{NMO3l0)|gmsI&{IOy;Y!qY3ZTNk_CU$)Kh^Wr$@u za?*ctkSVt!tMa3l?gqDpecXAH%*eFBmgs+)koO7t6q%=fmhZnXoqgZzn}~ymz|Pr9 zrNjC2$2f1xO}#Y)J1Zqld{=ia5p2EH>fxH#^`A29hLEP??K<#CC*0qVc;?#a5)Oz- z>wtRrTW9(+YtrI8DRRkW&A#wl*03t;0)YI-RErMZ0RSFUdf3_;_Bw8<-DzQyvmovs z;Mm*p%C->sZ+4~BfwAf6YD6$I7{M?Q_$%=dXqI#+_<`F@uIW3o^)VN|es_-ckY zp6^Y3%TQ9`+U3=L75d$2hX(kd=$&j7 zk_ItTe#5(Z+j^pnN#wi@{o}Ltgp?g~?l#tzk$y?nH8*D832SD*`3h7jd~T{a&-atv zE`_(zR#Wx%Ekr!LseFbBu{`Z9j#!^&vJpvvdpEc=z=diL8CT(`M(lmWqmx!q=>BJw0xWcv|XWFFoL5c0splsJlJAqEgDI;Y%UdAKj;6G7nv` z-4|D9Hcty>344^h&L|Yhj7GCfIVsQR?BM*`DA60|)(q{YKB1 zF0?XZnSJ7wT$&s;tb2Iq^wbNM-%4>#@1Od@>ta*7Ls)6{9Xmf!?gUo6f((3|I*Fnz zf#9LW3!>X>6=KkP5URn<lK969MLI%`t^s0^+WAZZz;hmOUanU)Z``6FyOSN{7x+!-63%uiVk%shBxjR5BVH zjpd}-qn7TqJ1X=`z_Ut#Q@@o#WJsW{tz zi%w4!Z>#gRw+pZO?7b1$Kf~8w$7z~|Mr8Q!Ho{itD*9*qnp|oxy6e7=AB&dD2?^|{ zWY8~{r8g`quG-g6*U|gWPm?4G3n0<`26Hal7e5?VpZO2eJ#SBIF#qi0FV<1_0AR1- zhw12F^BH(3&wgM37?&iUt~!c2_nid?AyiXUIz5uTpX4IX#s8FKHRL?j4 zxr_AJxk4AZ_#?gheOEow(MV1JquQ-r9@VCaY+kwUq_PX6BCn7PyXoi) zBafY;t8aC4n?m+2=-icxV5|#&e~ox?;qFzO|ib)AD!u*Er-QyabkX+={h9tUwg#P`t}j8dQKzqI1J$$H;8#JZge z2|cMsN8zQIpX~ht=4QW^A5~K#0k!pB%O;$JQFz1v7?K6&4HH%e+SU@nDC0H13k#~= ziOL26D1Ah_g%45a2(V|G;qjB9T&4IqCuXw>^B*bCx}pZQ_6NaMpFt88&vxlE7?E|? zMXt^dHLi0O`(Ir~a!iWjWZh%-{#iGCWm@$1naCN^hAHrk_4c?JE=&t?HDY=-NQ13w zLmoykO82#BGri%JqsCsKqtJ>&$^uA6;TpxKfpb%rO11bT&4kDqGlx11#@O;QG5)a<5Tt<>&q#8CX(TE-mQLRNTI0J1(0P- zpLPFFGvQ_f_oWqxlQ&BevA6s1mQ-Fz`@@)|0o{BF&pZYfSF?oox1 zzC+z|;_Df}fN-y+3r-U9dG3D9Ss|bRKKnaX?^ZLs`@QX>L)63JufEo>N;f0O_^Oda ziCnrjtHl@z9DXq2aVIQzS|H{hyMDIp5zQ>ETS;kVkGoDRYb4r2D@5>oM+qn75%e7; znzx4>6ej;YzGdWnnhf@Gng4fR=<%gW^hL`RoYu^9%73knFUn)5<)TcCw_wh7C;F<& zW$s)e4ILk!MvwJtqZUZ^q}0Jw|4VfLMdx_RcEfyhN^FMz@elK*RTQouO2R9{i4FHD zn=}O|T>iPtdsb&kikuf$xh~`9T8}G_>UW>8sdT-!e3lW_P)r-slJx>vTPY1y=1>{hXs+ zT=GRwd&H|ub#rxc%#QY#fsy$7sFO7Fj_vrvH2o7)zu1NRV^-?ex`Fd*+Jc5Hpg5r# zm9)96^Mp_GGmk}~NrI?>-ZcHD={o8c!nJv;o|Qb} zExY|#Q&kQ+>RVuo2l*~P`0*LSbtCe7$}|2X5c5d_BIVW{kN_ukI~QtF%~&(&du zOP#HPOB0|lU8&N{onMSx<*%Mc*{|RRe+r}BDx-IkY1|@#X$}~w{hqoOF#cx)ON)Mfdi+hGgb)BOv+;hJfA_8LaEjdQ ze(#}-xWT~r=|&(YmQ2$3dcBb$H`aqKz#wzK+GEyJZuBJ+rgs#m>b?cd0=xHa!ga;~ z?&rgD(i|jBiCj>oBw=#cM_E8ww3UmQ6@Zoi+jZEkaHCl)k0qa7roQFe3;ybC)PHsQ zakL1kNV=c#Qp-i2-+960q*;R^m{4_P1n^okZ8)!<`GQ_%oHg{5oT)zMWtUM8yVLp8 zv(L8W&0s84V@asC8gJ59(A*?nF5-I!bcrGatf=;ol*n2 zgT~u6B?7VA+Mond+DCVER{_cek5ITKr@XY zsTn?5bvr2Uv8J`MGt+Ce-fCLCOIwY%Mw8R${FskP~Z?<#GS z;QKN!l^JR-KbSK;FZS3K>u)*?j;^%HcOm;>e<|*n?7ujKtUk*?q;2~y55r|JyefSlwSWfRgrK}DVDD&;;#noNz|WzBmLxk8 zWO0nOcPM`eJ?c>BW2vXyl*YaQRQv>=0MROpGi^xxA9Y1yB!c6nVg)02;Vb=SXfG>3 z_++b#`#GT>r?~-@RVA@~=gVSL#_p3VJVaX{-b`+iVM;=9s|!A}Pxw#xF>d8dC76?G zs{7-8Gp8;0tqJ3ZSS$ef*PHbwzV>CLm<|JTc06<)k~ipnP^_V&1K2CJ@>J7PrU!s@ z0fdJ4fK!As!U8<*{JAR@aTemTTP-ef2w-A)3(&v=p!o(>W9Ca3#oCl{IGOBNG&~5h z*M`T;ZyuQBoc#GtqAImw0PwntSuSwGTkNXJJ*_OP1L-2;fX!oed$Oua48RsU0eDRE zjJ!07`X*D_Pbz0bVUz{e%Oy<6lVbu$R5forxH%#J6vJo%#Yr{2J?2nHo1>Hb2>1pZ z`klK!0G%AN-O;S_@lhwYQF9~cXSV4LPJY1qg-rA&Ll+E!*8z5{4^OusH8y)*vVEl2pgM41jZF7Lg%u+>n`QX1f# zI^Gy9IMnC=6_atY4)_+!BQz)tlsrQk3&iKSM2~(-7mza9b$=8w>41j(+=#%(E7C5p z*5w^}4Q_ZekPjpx`{sLkfqtG+?%#vWC82+py;_kxKoB>&{=aP11p}R00@zOJn5F)0*H~BtlqZ{Mk(Pb>7Gr7(u=D&+@89{mo*YL$R%(Fg z_SYM8-eX>CSeCr=`Ta1+rI)O1AdwC4>L*u`~QQ-hX9Ifw;eDYGRD}9 z4W>660ry0tT?=3Uaeq$vdu7+6Z-RX=SiM68D{#Ooz;M95spoz8LqN&j z5%6_)?bM7Lx~Pfn2c?Sp)~8DNH+utq1$r_#D|pJh#Nhe$`2c;mcv?%c8wxPhaYP(y zxt3z}2ak|}KI3~6OA7&*z`99I{Pa$Z=kKz-M3v#?t`*nE{;2b`_LoUad{KK`%2O zGGwy?#WFTQ4jujzrI*+Qn8T#T>sJ6jNvTnbU*zTrK(tgdjNm(5y$v4EQ7KPsru#lV zo&m;%>wrndJc3_vHO++%0gNdZ1EXZA{3L5?*;r zRj@4*a3sHwAvg3|zw0q&m0vRgvzsV4w!b(#b{`G;Yg}}Tq=UU+7x2PVM!1}wjkjbJ zM=ToN`3#JVd=*Yv`S495X2&Wwh~#-i65c* z8b+Zg7sc?=mTbX?gY{V(Aa1KRd;vk%eRbisAGzaLku>R^DF6R4n!jjm&@% zp4$y7#gZoG4S(@we7wDvx5bva7MQ1z-C3sQH3a_d*u$BBXW8k38n#=*+AePN=2viJ z|2x(YGUkk8yf!+?`D!=wNni?XZ|%B+aYep(=_IS9I}yg7k!&mXmV+dgvUfmm@jb^c z!`~hQ@D7^hK)4?)0?%cmN|%%UG_1UF1(-Xx7halNJSWN!+q(uddQJh;Z||R3%mP4Y zVfM`;iGKApBz;#aQxf^Go1)wSpmJ+&PfCu&d2JmEZTc7|yyZsd0}g)P$x`1$gsLN7 zwMd5?dy_PvxC)>8qTFv^qwz*=S=DKSw*$$X)q80#OoB+}nu#DIPwha5R zVqFpm`mS7jUmp`?|IFYm{g0~NH%T#_aiOvMdXHe9ZSS>9 z81RB@Pt|-!0+ys#)ZPJAIjC{!Wltc<^O0u202(eIUfHzOz^kI8GVCK_%?HdCDKNtX(6cN2CIA zb9>SN@Kj(y*MBW40C(`P(x)$(ufPoUN2BrHfYrFR zTqPXeF^~5iIQg*LAURR73?>;cxR!o;LbCgv{O3OJv1P#hB_Cr6z;d{@1NbOHx`*kN zlOKX6nSv}LkGG3|ePPkLmL4LzYYbroX604=!ViQz67OGsSlQeQ-ohLz8F@Ztgl;4A z`;?lr@Zp7_)mFTL-0yQ70DQB4p;A6)0L#OfPWFvhuV(-CyJ{a>&EX!r-Ox5+)Y$Hp zBLCW}PH#B&=33j}5G$eAI{(z9*G}E4-bULE{8$1g@lW2zf?3Vcjxu2z)PxKsf}a*B zvsH=p#Zc2O8p}*Rdu^_=JTvgSN{Rf)f^PCBV?0`fxq?W~rULQMZ+KagOKg&v16iLH zG9Mf82kAwKm;g!!wv0DvB{8!!VCYv2Ag&7uK6+NBQ^Cqfw%YY>(a} z>twt{e-$`?kt94uCUIU~QX0DpNosR+_EENZPTfTl8&f|G__&I#*9~AJv*>cn`4K85 z*zObjcSxGHht-S&_tNMMY6lcLFL)R3ir;*~!Mh2TFGmcTi?FbK>8W=X50;Ify4&l+ zye5cO=>r%V+?_ywG-^N6yE1R8RyHR{DHNH#w<>aoGlH8}UsF_Ea!9V$Z4-Aj(3r5w zuBvmP9WB&S z&=o9Aq4|Z4=pcu1I)pk&_r;hw>VU2<2mI23FqymPe5)=|1hkuDxi-M}<`8lBgn^Ek zydZ}`#>VLmi{{ENmplrmq%J^O(;NGKQ!%2n=|1$f;vg-{cKaoDK(`VwT$ym5aT~we zJBWMgZ+PUq#rJNFbJ;hx+>zn6koc#=4tqg+2vuG-gXwO8I*d{pJC}jM`Q_n>gt*D! z6rFb&=BR_hDR80((HXhMq-&pD>00eH+k6tE$|}QzMp|r)6e!HB;SX8D#CS~viGFu( zXNgeAh!d{U-5k>fd5+FT{-;7;drJ?I+zXH+!SYUHoX3ggB^i2IvDLjs8h zUhc0L4VDUY`yEOo$^}>_ExcD)jOFi0--?=C)Nr}xKk<2rsIwiE5`2h$+2hR)ourH-+FMWckqNWzS1sDjPZXkRb6K*Fu6wD8w?9s;SakZXEn2s&7jP z%=t5x((`&|l;p_Qmbb=xl|F#=H*)SM)G*OhcZJ6IB%?UHO(<#3H01O|W_rT=z6^(K zPE0jp`dzH&*L0=lpH!gevWzRE9w6lsPw$!DWGALN(~Q zO`$WjjjG;%0PcTAup%mriFHI(hBGTSr_oP=?M2>s6i9(@EzJ3dJOq=VTSOXcytbli z0sVHCZ01r>>A*F~IVW<98}Bs7USHSa7-hY6U~<;FwW;IRFSN?vUzV_I11_N2i6!DD z@-><_vxx-QYgFujK|oz zx`P1uBy<%wFcQzFHuB-q-J$1+1Z`GMhffQatpoO7jb6#Vi!gfEMqTUPn1H{-Iw$bFw_x-j@59|OW*p3+ zuBj0Cr}k;oY-BDkey${us%*S%2qagXa7ibGiTNhR^`nLR3SUm2V{~vA;2=c?FA32v zxupM>V2(yHV1uB-Q}dGTx>dIh*TM|my2DxcS*8@|%`2aEd#Snc}z=@3{dM zojYcr@*w0u3G6DH_GLXuv;3vZ^fT|@!0ak zk#>DcC2tH^iq%LS3<;TnzSKrE=bQX6RduXAm z5>~@XijA#S*q4}NsS>s-V?iX8gYmJs@&+4D-eIB1^?Ro??mU)9#|wxT7hFh!I^91| zBU&(l<`;LFsXo#5ZmB|%s2D``eE>6-TMT4qlFIVsm`Yg)&UU>q>KJ+vGz7TN?`>+{ z#nR$V*yvv@elDLQ78RmCWsen-2c+C{i>EYSE!+<#fU`dL+=56Oc)=3X+sLZEDAMrL zod+A$?0<0T&EaN}rGSwVprD#{+;9BERq>Soo5*Nk8#rTghtt$(N){@KH(VEQg21)0 zxPAk)5^PmL8j01VyD?H{5WzsVP3#M(TJ9AMfXO(18QDn&JbPOAfDeYi?^1HsQ8+S! zs)u{+U(>o5-Sd5GET}PyM;F8+WY|oQ-7}p@er3CJ zcPo%96gtIomhn}nP3~33I>D3=xS+YzH+D(*z!=cF-JLcJiTKjugbwt0eg$N%VV;x~@PDD*R=wa2Y%H0^$>NyR9q@PQeuNeOUFPK9iT3v7|Y}?f* z9o>aMfxu~eL1B=KFeBOJYorDT*Egcdmvsnp_gY>vVv}l0je-j@G#?_T;~oMrCY&N@ z{R!lcw93I4kv#ftZ{@wwptazrOs=Y`zRgvW&td?(Ef6l;`d5%)zk>_{6Ei3a=0c$d z%dhT`YKm?^f^wK;I~(!P4$K9bRD z)}3?{SCY|0ERwc2-8Czg{~S%xpWamVs$NcbxBi3k8AIY-*?ZEjIpM;QZ=Z_pQUvSC7*QyK z=DUSGo1KY)!GqrWqDRqOLSF}ODoRaa5v%CJC{ZaS&^_8`cdd`al4``nbV~-d*6v=s ztVRqx@;S6Lk)8j$vHgL+R5AFgkg+b{2Hw*kK^qXIkiO%a8k+0-{difOIemZ`4j{#Q zLve0yszq7wV=7?qbbVWXF)cte^jXAHPzZIc*seHCbCvbOMSQpBMZh2lcpYHIaqx}F zH?m6|PWw%-%y19Yt8P6DW?)-#jDO@w!BNkx%g6-lnAHG4QB*7Olhg&4CBtDM_3ei| zQp^sn#2?InvkD3rdZe}}AlQDOZ>UE>EGtb*F9l*j6^vx>=3`E&4e56KGAKgT>4qvw zaIT3ukbi6jCS;oVh%DKNE$hLKvuxQ<>2HkIre_~!X1-nrBxtJ_Io#WXxx%6T#bjx+ zAHbZ#w~pQ7M%U%17A*;L0cybo@Ix;D68vq{l&c9?1Z<^Sh}rkQM=Yo8iJ|Vy@6uI^ zP4<9#SmWw(XDcl8f}wyaLm627-*6KhpTVO0CRr3zD81qpw~hel5iRPWAcQm#>AL zpNsInS=*Ec6OZ>k+UA(FG|W^d?BEQ<&p&*%aj}gHqg?xJNu2+!xqHs>EtfnusF$L| zG`jYw*!gog%OD1}X*tj51@HPxK0e`$!)fo~le&HIbshZ#nbC7gQI;lXaxqKABWU6m z41}VKDr%5R<}~L1!zu!I{n4yB#~rVWUX;NjG}gYu zkFZH$UHHt^5YoYiZ+_{=w5#^Ku9?hApL?GD>~2fftOmfN#qTeBi2Q<*Q5-rkZm1^w z^j47ry2aFJ=Uo?^WDVcIH~< zs5pTXEGV@BjAib81<-8ngm*u&h?xNd5PZe%)_O2RtJ~2fq7AmP1cHc%5rF;~L>)Pv zh~Ghc)f^W1@Gz4r)Yx1~#5f#_or=N%LIv)DNrytrzzFRpAl^Q%a0a?hvWmXSHPZ1P zqF9KaauCB+iN2ePPQ}M?WA~FcwfMP~WyIg5DRTt%wKZ||D2ZsBL&>CtqP!sa$)?yK zjh=;!Js6u&Iitw;Q1jVFPX*m-l>vSRZ?)4P=})0tQ#mK%)ih-6hWJh6wnyAMponR2 zL2;@yvJ22A!ejcD@LVPpU5o`$%da=~vyHkXqwoFRF7j-e&6M2?u-WbWb2~RNDfXdR zqFJRR)i^>2Sz&D6T!2`R5&dRoftH>%abxZ%&)x+>SKf z6T5C0?=pq1-fb;{+^N-|<=hz1wi8#-(4P^-5k3>{T|IUJrfuXyR%$)JhsFnLTx8qg z*dpnGp7t%am+jl+5HEgX^3hLTV9z}E1x{y6Y%vC47)i%yX4%=x z5PJ{#Syi&oPBU;9+C9N66J!mdijT28it$Oqdl^Bl4N3w2GYYQupf}=+^%zxuou&9?5uzsp?UTCq*wAX}OtklCFDHC_{?6k6sl0mpmI`~eOZ<*@3 z?vX~iK+4CaW>OV{0Vomr)m&IsW0OpW&{bV1iHZT496V=|J z67#z#!@U2 zG7muKS_5=9jRCOh-oizo2ghvDguk*n&huxr+;>vAo^jw{4#Gnu{x8nnGOWt3Ya3NU zQt6Ox79|}nN*7&HN{5uRG}0xFlz=oyNh;EybVv#;q(K_#?%s3ZeLwH>e*4>h_CF2| zSnImx9COYw#~EX^~)dK@k>B>+$8tUenfIY)|bF10QBHRRm*}!QoDqc)nk$gV)&!D(@LZ zXq~W3P0@H^6j5#LeMh9n!D3m2UGLV#S`?Ixb11_Bw#d^^3NGSLRwg>i%2!3=Btjlk zML5Ch;P%S#b>iF@u_bXt32!~Phkvi&w%PxjTV!S1QQs8J6BccMJQ63g#)l)-%$;zw zw5UI8O^a7AaPA6jD&0I@n>{<)#wepQ^0>237)J|>L$0J2xIrZ$+C3g!;#TS*7S5H$ zl-~?d{;eN8P632TC+!HVq-n-rP#$~95a{!W_~8t_`+y=X$OB!$U62-k^rSxe$bse> zHeQ&blEv3P7kzP@@VvK-Q2qdvjv;LEKPCa7Yh7%OeqLQcJ3!Na4$ZL*c~UTcO#-Un zF=PMkGNbw4|y9NGPS6^827__bRJ@tyAry& zu21|D-k?UwQH2glnX*BBz3}SYn^`0zUAwpxgpT*Qae4L<5Q52csSf*2#b0LJKed9u@mjebWG;}GIy6AY=!T4 zN!?fbcb9t;r#e`S-^x~+>A&q-^8q(P_Z{_V^YJ%J20ozdy;+3eK{rqO3vcU%>%V1y z+j=?Ix<(K5Q=qdj!1o}eNQ^t-C0fMPT6H|KUZZf4$q+g|8uZg1{~T{YMsj@Gt>p9>YCROM)R5 z3WboedQLfa0`P}tv{|Mu@00;{aY1RS*!s(|iqlC_%~K%8NBEAkf% ze(=A|Qtf1YkI^Q`_=aQBKkM4;mZyNw=r8;q=qi3dhF`(Ej%SrH55O5=AjY10FZ*n% zy|+hdEcG3gDAfJSc$kp!Uz)>-OAXAo()(3^+QbkZwbj;A8Dl5$|3*{g(37Nycq
MOjt(v#e-jJ9xmZiWS5y8E1pa>;uiNqc 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%0D|nC8DNJMDCy(?oPx{wl8&)}>%pV4jog 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�#*cUhz%} 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 b>a}%~f$ylfmwXJ6_u&-A>}0`-^P&F&V$jgq diff --git a/main.go b/main.go new file mode 100644 index 0000000..7394809 --- /dev/null +++ b/main.go @@ -0,0 +1,19 @@ +package main + +import ( + "assignment/application" + "context" + "fmt" + "os" + "os/signal" +) + +func main() { + app := application.New() + ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt) + defer cancel() + err := app.Start(ctx) + if err != nil { + fmt.Println("failed to start app:", err) + } +} diff --git a/model/user.go b/model/user.go new file mode 100644 index 0000000..5bfd69d --- /dev/null +++ b/model/user.go @@ -0,0 +1,11 @@ +package model + +type User struct { + Username string `json:"username"` + Password string `json:"password"` +} + +var Users = []User{ + {Username: "user", Password: "123456"}, + {Username: "admin", Password: "admin"}, +} diff --git a/repository/redis.go b/repository/redis.go new file mode 100644 index 0000000..d932a56 --- /dev/null +++ b/repository/redis.go @@ -0,0 +1,106 @@ +package repository + +import ( + "assignment/model" + "context" + "errors" + "fmt" + "github.com/bsm/redislock" + "github.com/go-redis/redis_rate/v10" + "github.com/google/uuid" + "github.com/redis/go-redis/v9" + "slices" + "time" +) + +type RedisRepo struct { + Client *redis.Client +} + +var UserIsNotExist = errors.New("user is not exist") + +func (r *RedisRepo) SignIn(ctx context.Context, user *model.User) (string, error) { + index := slices.IndexFunc(model.Users, func(u model.User) bool { + return user.Password == u.Password && user.Username == u.Username + }) + if index == -1 { + return "", UserIsNotExist + } + session := uuid.NewString() + _, err := r.Client.SetNX(ctx, session, model.Users[index].Username, 600*time.Second).Result() + + if err != nil { + return "", fmt.Errorf("failed to set: %w", err) + } + return session, nil +} + +var CannotPingMultiply = errors.New("cannot ping multiply times") + +func (r *RedisRepo) PingEntryPoint(ctx context.Context) error { + redisLocker := redislock.New(r.Client) + lock, err := redisLocker.Obtain(ctx, "ping-api", 10*time.Second, nil) + if errors.Is(err, redislock.ErrNotObtained) { + return CannotPingMultiply + } + //r.Client.PFAdd(ctx) + defer lock.Release(ctx) + + time.Sleep(5 * time.Second) + return nil +} + +var RedisError = errors.New("Redis server is wrong") +var TooManyRequest = errors.New("Two many request") + +func (r *RedisRepo) RateLimit(ctx context.Context, username string) error { + limiter := redis_rate.NewLimiter(r.Client) + res, err := limiter.Allow(ctx, username, redis_rate.PerMinute(2)) + if err != nil { + return RedisError + } + + if res.Allowed == 0 { + return TooManyRequest + } + return nil +} + +func (r *RedisRepo) CountPing(ctx context.Context, username string) error { + err := r.Client.ZIncrBy(ctx, "ping_counter", 1, username).Err() + return err +} + +func (r *RedisRepo) GetPingCount(ctx context.Context, username string) ([]float64, error) { + count, err := r.Client.ZMScore(ctx, "ping_counter", username).Result() + return count, err +} + +func (r *RedisRepo) GetTopCount(ctx context.Context) ([]redis.Z, error) { + usernames, err := r.Client.ZRevRangeWithScores(ctx, "ping_counter", 0, 10).Result() + return usernames, err +} + +func (r *RedisRepo) GetUserBySession(ctx context.Context, session string) (model.User, error) { + value, err := r.Client.Get(ctx, session).Result() + if errors.Is(err, redis.Nil) { + return model.User{}, UserIsNotExist + } else if err != nil { + return model.User{}, fmt.Errorf("get user: %w", err) + } + + index := slices.IndexFunc(model.Users, func(u model.User) bool { + return value == u.Username + }) + user := model.Users[index] + return user, nil +} + +type FindAllPages struct { + Size uint + Offset uint +} + +func (r *RedisRepo) List(ctx context.Context) ([]model.User, error) { + return model.Users, nil +}